@homebound/beam 3.53.0 → 3.55.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 +571 -561
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +69 -65
- package/dist/index.d.ts +69 -65
- package/dist/index.js +551 -540
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -136,7 +136,6 @@ __export(index_exports, {
|
|
|
136
136
|
NavbarLayout: () => NavbarLayout,
|
|
137
137
|
NumberField: () => NumberField,
|
|
138
138
|
OpenModal: () => OpenModal,
|
|
139
|
-
PageHeader: () => PageHeader2,
|
|
140
139
|
PageHeaderLayout: () => PageHeaderLayout,
|
|
141
140
|
Pagination: () => Pagination,
|
|
142
141
|
Palette: () => Palette,
|
|
@@ -4931,6 +4930,7 @@ var Icons = {
|
|
|
4931
4930
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M14 20C13.4477 20 13 19.5523 13 19L13 17C13 16.4477 13.4477 16 14 16L16 16C16.5523 16 17 16.4477 17 17L17 19C17 19.5523 16.5523 20 16 20L14 20Z" })
|
|
4932
4931
|
] }),
|
|
4933
4932
|
move: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M18 11H13V6H16L12 2L8 6H11V11H6V8L2 12L6 16V13H11V18H8L12 22L16 18H13V13H18V16L22 12L18 8V11Z" }),
|
|
4933
|
+
merge: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M6.7059 4.4196L11.9943 9.2277L17.2826 4.4207V2H19.6355V5.4616L13.1765 11.3336V15.742H16.6944L11.9885 21.6244L7.2826 15.742H10.812V11.3336L4.3529 5.4616V2H6.7059V4.4196Z" }),
|
|
4934
4934
|
x: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M16.192 6.34399L11.949 10.586L7.70697 6.34399L6.29297 7.75799L10.535 12L6.29297 16.242L7.70697 17.656L11.949 13.414L16.192 17.656L17.606 16.242L13.364 12L17.606 7.75799L16.192 6.34399Z" }),
|
|
4935
4935
|
loader: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 22C17.421 22 22 17.421 22 12H20C20 16.337 16.337 20 12 20C7.663 20 4 16.337 4 12C4 7.664 7.663 4 12 4V2C6.579 2 2 6.58 2 12C2 17.421 6.579 22 12 22Z" }),
|
|
4936
4936
|
link: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
|
|
@@ -24092,326 +24092,8 @@ function NavbarUserMenu({
|
|
|
24092
24092
|
}, placement: "right", ...tid }) });
|
|
24093
24093
|
}
|
|
24094
24094
|
|
|
24095
|
-
// src/components/Tabs.tsx
|
|
24096
|
-
var import_change_case9 = require("change-case");
|
|
24097
|
-
var import_react138 = require("react");
|
|
24098
|
-
var import_react_aria62 = require("react-aria");
|
|
24099
|
-
var import_react_router = require("react-router");
|
|
24100
|
-
var import_react_router_dom8 = require("react-router-dom");
|
|
24101
|
-
var import_runtime110 = require("@homebound/truss/runtime");
|
|
24102
|
-
var import_jsx_runtime190 = require("react/jsx-runtime");
|
|
24103
|
-
function TabsWithContent(props) {
|
|
24104
|
-
const styles = hideTabs(props) ? {} : {
|
|
24105
|
-
paddingTop: "pt3"
|
|
24106
|
-
};
|
|
24107
|
-
return /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)(import_jsx_runtime190.Fragment, { children: [
|
|
24108
|
-
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)(Tabs, { ...props }),
|
|
24109
|
-
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)(TabContent, { ...props, contentXss: {
|
|
24110
|
-
...styles,
|
|
24111
|
-
...props.contentXss
|
|
24112
|
-
} })
|
|
24113
|
-
] });
|
|
24114
|
-
}
|
|
24115
|
-
function TabContent(props) {
|
|
24116
|
-
const tid = useTestIds(props, "tab");
|
|
24117
|
-
const {
|
|
24118
|
-
tabs,
|
|
24119
|
-
contentXss = {},
|
|
24120
|
-
omitFullBleedPadding = false
|
|
24121
|
-
} = props;
|
|
24122
|
-
const location = (0, import_react_router_dom8.useLocation)();
|
|
24123
|
-
const selectedTab = isRouteTabs(props) ? props.tabs.find((t) => {
|
|
24124
|
-
const paths = Array.isArray(t.path) ? t.path : [t.path];
|
|
24125
|
-
return paths.some((p) => !!(0, import_react_router.matchPath)({
|
|
24126
|
-
path: p,
|
|
24127
|
-
end: true
|
|
24128
|
-
}, location.pathname));
|
|
24129
|
-
}) || tabs[0] : props.tabs.find((tab) => tab.value === props.selected) || tabs[0];
|
|
24130
|
-
const uniqueValue = uniqueTabValue(selectedTab);
|
|
24131
|
-
return (
|
|
24132
|
-
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
24133
|
-
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
24134
|
-
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...(0, import_runtime110.trussProps)(contentXss), children: selectedTab.render() }) })
|
|
24135
|
-
);
|
|
24136
|
-
}
|
|
24137
|
-
function Tabs(props) {
|
|
24138
|
-
const {
|
|
24139
|
-
ariaLabel,
|
|
24140
|
-
tabs,
|
|
24141
|
-
includeBottomBorder,
|
|
24142
|
-
right,
|
|
24143
|
-
...others
|
|
24144
|
-
} = props;
|
|
24145
|
-
const location = (0, import_react_router_dom8.useLocation)();
|
|
24146
|
-
const selected = isRouteTabs(props) ? uniqueTabValue(props.tabs.find((t) => {
|
|
24147
|
-
const paths = Array.isArray(t.path) ? t.path : [t.path];
|
|
24148
|
-
return paths.some((p) => !!(0, import_react_router.matchPath)({
|
|
24149
|
-
path: p,
|
|
24150
|
-
end: true
|
|
24151
|
-
}, location.pathname));
|
|
24152
|
-
}) || props.tabs[0]) : props.selected;
|
|
24153
|
-
const {
|
|
24154
|
-
isFocusVisible,
|
|
24155
|
-
focusProps
|
|
24156
|
-
} = (0, import_react_aria62.useFocusRing)();
|
|
24157
|
-
const tid = useTestIds(others, "tabs");
|
|
24158
|
-
const [active, setActive] = (0, import_react138.useState)(selected);
|
|
24159
|
-
const ref = (0, import_react138.useRef)(null);
|
|
24160
|
-
(0, import_react138.useEffect)(() => setActive(selected), [selected]);
|
|
24161
|
-
function onKeyUp(e) {
|
|
24162
|
-
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
24163
|
-
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
24164
|
-
setActive(nextTabValue);
|
|
24165
|
-
document.getElementById(`${nextTabValue}-tab`)?.focus();
|
|
24166
|
-
}
|
|
24167
|
-
}
|
|
24168
|
-
function onClick(value) {
|
|
24169
|
-
!isRouteTabs(props) && props.onChange(value);
|
|
24170
|
-
}
|
|
24171
|
-
function onBlur(e) {
|
|
24172
|
-
if (!(ref.current && ref.current.contains(e.relatedTarget))) {
|
|
24173
|
-
setActive(selected);
|
|
24174
|
-
}
|
|
24175
|
-
}
|
|
24176
|
-
return /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { ...(0, import_runtime110.trussProps)({
|
|
24177
|
-
...{
|
|
24178
|
-
display: "df",
|
|
24179
|
-
alignItems: "aic",
|
|
24180
|
-
overflow: "oa",
|
|
24181
|
-
whiteSpace: "wsnw",
|
|
24182
|
-
gap: "gap1"
|
|
24183
|
-
},
|
|
24184
|
-
...includeBottomBorder ? {
|
|
24185
|
-
...{
|
|
24186
|
-
borderBottomStyle: "bbs_solid",
|
|
24187
|
-
borderBottomWidth: "bbw_1px",
|
|
24188
|
-
borderColor: "bcGray200"
|
|
24189
|
-
}
|
|
24190
|
-
} : {}
|
|
24191
|
-
}), children: [
|
|
24192
|
-
!hideTabs(props) && /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
24193
|
-
const uniqueValue = uniqueTabValue(tab);
|
|
24194
|
-
return /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
|
|
24195
|
-
}) }),
|
|
24196
|
-
right && /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { className: "mla df aic gap1 pb1", children: right })
|
|
24197
|
-
] });
|
|
24198
|
-
}
|
|
24199
|
-
function TabImpl(props) {
|
|
24200
|
-
const {
|
|
24201
|
-
tab,
|
|
24202
|
-
onClick,
|
|
24203
|
-
active,
|
|
24204
|
-
onKeyUp,
|
|
24205
|
-
onBlur,
|
|
24206
|
-
focusProps,
|
|
24207
|
-
isFocusVisible = false,
|
|
24208
|
-
...others
|
|
24209
|
-
} = props;
|
|
24210
|
-
const {
|
|
24211
|
-
disabled = false,
|
|
24212
|
-
name: label,
|
|
24213
|
-
icon,
|
|
24214
|
-
endAdornment
|
|
24215
|
-
} = tab;
|
|
24216
|
-
const isDisabled = !!disabled;
|
|
24217
|
-
const {
|
|
24218
|
-
hoverProps,
|
|
24219
|
-
isHovered
|
|
24220
|
-
} = (0, import_react_aria62.useHover)({
|
|
24221
|
-
isDisabled
|
|
24222
|
-
});
|
|
24223
|
-
const {
|
|
24224
|
-
baseStyles: baseStyles4,
|
|
24225
|
-
activeStyles: activeStyles3,
|
|
24226
|
-
focusRingStyles: focusRingStyles2,
|
|
24227
|
-
hoverStyles: hoverStyles4,
|
|
24228
|
-
disabledStyles: disabledStyles3,
|
|
24229
|
-
activeHoverStyles
|
|
24230
|
-
} = (0, import_react138.useMemo)(() => getTabStyles(), []);
|
|
24231
|
-
const uniqueValue = uniqueTabValue(tab);
|
|
24232
|
-
const tabProps = {
|
|
24233
|
-
"aria-controls": `${uniqueValue}-tabPanel`,
|
|
24234
|
-
"aria-selected": active,
|
|
24235
|
-
"aria-disabled": isDisabled || void 0,
|
|
24236
|
-
id: `${uniqueValue}-tab`,
|
|
24237
|
-
role: "tab",
|
|
24238
|
-
tabIndex: active ? 0 : -1,
|
|
24239
|
-
...others,
|
|
24240
|
-
...(0, import_runtime110.trussProps)({
|
|
24241
|
-
...baseStyles4,
|
|
24242
|
-
...active && activeStyles3,
|
|
24243
|
-
...isDisabled && disabledStyles3,
|
|
24244
|
-
...isHovered && hoverStyles4,
|
|
24245
|
-
...isHovered && active && activeHoverStyles,
|
|
24246
|
-
...isFocusVisible && active && focusRingStyles2
|
|
24247
|
-
})
|
|
24248
|
-
};
|
|
24249
|
-
const interactiveProps = (0, import_react_aria62.mergeProps)(focusProps, hoverProps, {
|
|
24250
|
-
onKeyUp,
|
|
24251
|
-
onBlur,
|
|
24252
|
-
...isRouteTab(tab) ? {} : {
|
|
24253
|
-
onClick: () => onClick(tab.value)
|
|
24254
|
-
}
|
|
24255
|
-
});
|
|
24256
|
-
const tabLabel = /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)(import_jsx_runtime190.Fragment, { children: [
|
|
24257
|
-
label,
|
|
24258
|
-
(icon || endAdornment) && /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("span", { className: "ml1", children: icon ? /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(Icon, { icon }) : endAdornment })
|
|
24259
|
-
] });
|
|
24260
|
-
return isDisabled ? maybeTooltip({
|
|
24261
|
-
title: resolveTooltip(disabled),
|
|
24262
|
-
placement: "top",
|
|
24263
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { ...tabProps, children: tabLabel })
|
|
24264
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(import_react_router_dom8.Link, { ...(0, import_react_aria62.mergeProps)(tabProps, interactiveProps, {
|
|
24265
|
-
className: "navLink"
|
|
24266
|
-
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("button", { ...{
|
|
24267
|
-
...tabProps,
|
|
24268
|
-
...interactiveProps
|
|
24269
|
-
}, children: tabLabel });
|
|
24270
|
-
}
|
|
24271
|
-
function getTabStyles() {
|
|
24272
|
-
const borderBottomWidthPx = 4;
|
|
24273
|
-
const verticalPaddingPx = 6;
|
|
24274
|
-
const borderBottomStyles = {
|
|
24275
|
-
borderBottomStyle: "bbs_solid",
|
|
24276
|
-
borderBottomWidth: ["borderBottomWidth_var", {
|
|
24277
|
-
"--borderBottomWidth": (0, import_runtime110.maybeCssVar)(`${borderBottomWidthPx}px`)
|
|
24278
|
-
}],
|
|
24279
|
-
paddingBottom: ["pb_var", {
|
|
24280
|
-
"--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
|
|
24281
|
-
}]
|
|
24282
|
-
};
|
|
24283
|
-
return {
|
|
24284
|
-
baseStyles: {
|
|
24285
|
-
display: "df",
|
|
24286
|
-
alignItems: "aic",
|
|
24287
|
-
height: "h_32px",
|
|
24288
|
-
paddingTop: ["py_var", {
|
|
24289
|
-
"--paddingTop": `${verticalPaddingPx}px`
|
|
24290
|
-
}],
|
|
24291
|
-
paddingBottom: ["py_var", {
|
|
24292
|
-
"--paddingBottom": `${verticalPaddingPx}px`
|
|
24293
|
-
}],
|
|
24294
|
-
paddingLeft: "pl1",
|
|
24295
|
-
paddingRight: "pr1",
|
|
24296
|
-
outline: "outline0",
|
|
24297
|
-
color: "gray700",
|
|
24298
|
-
width: "width_fit_content",
|
|
24299
|
-
cursor: "cursorPointer",
|
|
24300
|
-
fontWeight: "fw4",
|
|
24301
|
-
fontSize: "fz_14px",
|
|
24302
|
-
lineHeight: "lh_20px"
|
|
24303
|
-
},
|
|
24304
|
-
activeStyles: {
|
|
24305
|
-
...{
|
|
24306
|
-
borderColor: "bcBlue700",
|
|
24307
|
-
fontWeight: "fw6",
|
|
24308
|
-
fontSize: "fz_14px",
|
|
24309
|
-
lineHeight: "lh_20px",
|
|
24310
|
-
color: "gray900"
|
|
24311
|
-
},
|
|
24312
|
-
...borderBottomStyles
|
|
24313
|
-
},
|
|
24314
|
-
disabledStyles: {
|
|
24315
|
-
color: "gray400",
|
|
24316
|
-
cursor: "cursorNotAllowed"
|
|
24317
|
-
},
|
|
24318
|
-
focusRingStyles: {
|
|
24319
|
-
backgroundColor: "bgBlue50",
|
|
24320
|
-
boxShadow: "bshFocus"
|
|
24321
|
-
},
|
|
24322
|
-
hoverStyles: {
|
|
24323
|
-
...{
|
|
24324
|
-
borderColor: "bcGray400"
|
|
24325
|
-
},
|
|
24326
|
-
...borderBottomStyles
|
|
24327
|
-
},
|
|
24328
|
-
activeHoverStyles: {
|
|
24329
|
-
...{
|
|
24330
|
-
backgroundColor: "bgBlue50",
|
|
24331
|
-
borderColor: "bcBlue700"
|
|
24332
|
-
},
|
|
24333
|
-
...borderBottomStyles
|
|
24334
|
-
}
|
|
24335
|
-
};
|
|
24336
|
-
}
|
|
24337
|
-
function getNextTabValue(selected, key, tabs) {
|
|
24338
|
-
const enabledTabs = tabs.filter((tab) => tab.disabled !== true);
|
|
24339
|
-
const tabsToScan = key === "ArrowRight" ? enabledTabs : enabledTabs.reverse();
|
|
24340
|
-
const currentIndex = tabsToScan.findIndex((tab) => uniqueTabValue(tab) === selected);
|
|
24341
|
-
const nextIndex = currentIndex === tabsToScan.length - 1 ? 0 : currentIndex + 1;
|
|
24342
|
-
return uniqueTabValue(tabsToScan[nextIndex]);
|
|
24343
|
-
}
|
|
24344
|
-
function isRouteTabs(props) {
|
|
24345
|
-
const {
|
|
24346
|
-
tabs
|
|
24347
|
-
} = props;
|
|
24348
|
-
return tabs.length > 0 && isRouteTab(tabs[0]);
|
|
24349
|
-
}
|
|
24350
|
-
function isRouteTab(tab) {
|
|
24351
|
-
return "path" in tab;
|
|
24352
|
-
}
|
|
24353
|
-
function uniqueTabValue(tab) {
|
|
24354
|
-
return isRouteTab(tab) ? (0, import_change_case9.camelCase)(tab.name) : tab.value;
|
|
24355
|
-
}
|
|
24356
|
-
function hideTabs(props) {
|
|
24357
|
-
return props.alwaysShowAllTabs ? false : props.tabs.filter((t) => !t.disabled).length === 1;
|
|
24358
|
-
}
|
|
24359
|
-
|
|
24360
|
-
// src/components/PageHeader.tsx
|
|
24361
|
-
var import_runtime111 = require("@homebound/truss/runtime");
|
|
24362
|
-
var import_jsx_runtime191 = require("react/jsx-runtime");
|
|
24363
|
-
function PageHeader2(props) {
|
|
24364
|
-
const {
|
|
24365
|
-
title,
|
|
24366
|
-
documentTitleSuffix,
|
|
24367
|
-
rightSlot,
|
|
24368
|
-
tabs,
|
|
24369
|
-
breadcrumbs,
|
|
24370
|
-
...otherProps
|
|
24371
|
-
} = props;
|
|
24372
|
-
const tid = useTestIds(otherProps, "pageHeader");
|
|
24373
|
-
useDocumentTitle(title, documentTitleSuffix);
|
|
24374
|
-
return /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)("header", { ...tid, ...(0, import_runtime111.trussProps)({
|
|
24375
|
-
display: "df",
|
|
24376
|
-
flexDirection: "fdc",
|
|
24377
|
-
paddingTop: "pt3",
|
|
24378
|
-
paddingLeft: "pl3",
|
|
24379
|
-
paddingRight: "pr3",
|
|
24380
|
-
borderBottomStyle: "bbs_solid",
|
|
24381
|
-
borderBottomWidth: "bbw_1px",
|
|
24382
|
-
gap: "gap2",
|
|
24383
|
-
borderColor: ["bc_var", {
|
|
24384
|
-
"--borderColor": "var(--b-surface-separator)"
|
|
24385
|
-
}],
|
|
24386
|
-
backgroundColor: ["bgColor_var", {
|
|
24387
|
-
"--backgroundColor": "var(--b-surface)"
|
|
24388
|
-
}]
|
|
24389
|
-
}), children: [
|
|
24390
|
-
/* @__PURE__ */ (0, import_jsx_runtime191.jsxs)("div", { ...(0, import_runtime111.trussProps)({
|
|
24391
|
-
...{
|
|
24392
|
-
display: "df",
|
|
24393
|
-
justifyContent: "jcsb",
|
|
24394
|
-
width: "w100",
|
|
24395
|
-
gap: "gap1"
|
|
24396
|
-
},
|
|
24397
|
-
...{
|
|
24398
|
-
...!tabs ? {
|
|
24399
|
-
marginBottom: "mb2"
|
|
24400
|
-
} : {}
|
|
24401
|
-
}
|
|
24402
|
-
}), children: [
|
|
24403
|
-
/* @__PURE__ */ (0, import_jsx_runtime191.jsxs)("div", { className: "mw0", children: [
|
|
24404
|
-
breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(Breadcrumbs, { ...breadcrumbs }),
|
|
24405
|
-
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)("h1", { ...tid.title, className: "fw6 fz_20px lh_28px", children: title })
|
|
24406
|
-
] }),
|
|
24407
|
-
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)("div", { className: "fs0", children: rightSlot })
|
|
24408
|
-
] }),
|
|
24409
|
-
tabs && /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(Tabs, { ...tabs })
|
|
24410
|
-
] });
|
|
24411
|
-
}
|
|
24412
|
-
|
|
24413
24095
|
// src/components/Pagination.tsx
|
|
24414
|
-
var
|
|
24096
|
+
var import_jsx_runtime190 = require("react/jsx-runtime");
|
|
24415
24097
|
var defaultPage = {
|
|
24416
24098
|
offset: 0,
|
|
24417
24099
|
limit: 100
|
|
@@ -24443,25 +24125,25 @@ function Pagination(props) {
|
|
|
24443
24125
|
}
|
|
24444
24126
|
}
|
|
24445
24127
|
const tid = useTestIds(props, "pagination");
|
|
24446
|
-
return /* @__PURE__ */ (0,
|
|
24447
|
-
/* @__PURE__ */ (0,
|
|
24448
|
-
/* @__PURE__ */ (0,
|
|
24128
|
+
return /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { className: "df bcGray200 bts_solid btw_1px fw4 fz_12px lh_16px gray500 pl2 pr2 pt2", ...tid, children: [
|
|
24129
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { className: "df mta mba mr2", ...tid.pageSizeLabel, children: "Page size:" }),
|
|
24130
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { className: "w_78px", children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(SelectField, { compact: true, label: "Page Size", labelStyle: "hidden", options: pageOptions, value: pageSize, onSelect: (val) => set({
|
|
24449
24131
|
pageNumber: 1,
|
|
24450
24132
|
pageSize: val
|
|
24451
24133
|
}), autoSort: false, ...tid.pageSize }) }),
|
|
24452
|
-
/* @__PURE__ */ (0,
|
|
24453
|
-
/* @__PURE__ */ (0,
|
|
24134
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { className: "mla mta mba df", children: [
|
|
24135
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { className: "df mta mba mr2", ...tid.pageInfoLabel, children: [
|
|
24454
24136
|
first,
|
|
24455
24137
|
" ",
|
|
24456
24138
|
showLast ? `- ${last}` : "",
|
|
24457
24139
|
" of ",
|
|
24458
24140
|
totalCount
|
|
24459
24141
|
] }),
|
|
24460
|
-
/* @__PURE__ */ (0,
|
|
24142
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)(IconButton, { icon: "chevronLeft", color: hasPrevPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */, onClick: () => set({
|
|
24461
24143
|
pageNumber: pageNumber - 1,
|
|
24462
24144
|
pageSize
|
|
24463
24145
|
}), disabled: !hasPrevPage, ...tid.previousIcon }),
|
|
24464
|
-
/* @__PURE__ */ (0,
|
|
24146
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)(IconButton, { icon: "chevronRight", color: hasNextPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */, onClick: () => set({
|
|
24465
24147
|
pageNumber: pageNumber + 1,
|
|
24466
24148
|
pageSize
|
|
24467
24149
|
}), disabled: !hasNextPage, ...tid.nextIcon })
|
|
@@ -24483,10 +24165,10 @@ function toPageNumberSize(page) {
|
|
|
24483
24165
|
}
|
|
24484
24166
|
|
|
24485
24167
|
// src/components/ScrollShadows.tsx
|
|
24486
|
-
var
|
|
24487
|
-
var
|
|
24488
|
-
var
|
|
24489
|
-
var
|
|
24168
|
+
var import_utils158 = require("@react-aria/utils");
|
|
24169
|
+
var import_react138 = require("react");
|
|
24170
|
+
var import_runtime110 = require("@homebound/truss/runtime");
|
|
24171
|
+
var import_jsx_runtime191 = require("react/jsx-runtime");
|
|
24490
24172
|
function ScrollShadows(props) {
|
|
24491
24173
|
const {
|
|
24492
24174
|
children,
|
|
@@ -24502,15 +24184,15 @@ function ScrollShadows(props) {
|
|
|
24502
24184
|
if (!bgColor.includes("rgba")) {
|
|
24503
24185
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
24504
24186
|
}
|
|
24505
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
24506
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
24507
|
-
const scrollRef = (0,
|
|
24508
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
24187
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react138.useState)(false);
|
|
24188
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react138.useState)(false);
|
|
24189
|
+
const scrollRef = (0, import_react138.useRef)(null);
|
|
24190
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react138.useMemo)(() => {
|
|
24509
24191
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
24510
24192
|
const commonStyles = {
|
|
24511
24193
|
position: "absolute",
|
|
24512
24194
|
zIndex: ["z_var", {
|
|
24513
|
-
"--zIndex": (0,
|
|
24195
|
+
"--zIndex": (0, import_runtime110.maybeCssVar)(zIndices.scrollShadow)
|
|
24514
24196
|
}],
|
|
24515
24197
|
pointerEvents: "pointerEvents_none"
|
|
24516
24198
|
};
|
|
@@ -24543,7 +24225,7 @@ function ScrollShadows(props) {
|
|
|
24543
24225
|
...startShadowStyles2,
|
|
24544
24226
|
...{
|
|
24545
24227
|
background: ["background_var", {
|
|
24546
|
-
"--background": (0,
|
|
24228
|
+
"--background": (0, import_runtime110.maybeCssVar)(startGradient)
|
|
24547
24229
|
}]
|
|
24548
24230
|
}
|
|
24549
24231
|
}, {
|
|
@@ -24551,12 +24233,12 @@ function ScrollShadows(props) {
|
|
|
24551
24233
|
...endShadowStyles2,
|
|
24552
24234
|
...{
|
|
24553
24235
|
background: ["background_var", {
|
|
24554
|
-
"--background": (0,
|
|
24236
|
+
"--background": (0, import_runtime110.maybeCssVar)(endGradient)
|
|
24555
24237
|
}]
|
|
24556
24238
|
}
|
|
24557
24239
|
}];
|
|
24558
24240
|
}, [horizontal, bgColor]);
|
|
24559
|
-
const updateScrollProps = (0,
|
|
24241
|
+
const updateScrollProps = (0, import_react138.useCallback)((el) => {
|
|
24560
24242
|
const {
|
|
24561
24243
|
scrollTop,
|
|
24562
24244
|
scrollHeight,
|
|
@@ -24571,15 +24253,15 @@ function ScrollShadows(props) {
|
|
|
24571
24253
|
setShowStartShadow(start > 0);
|
|
24572
24254
|
setShowEndShadow(start + boxSize < end);
|
|
24573
24255
|
}, [horizontal]);
|
|
24574
|
-
const onResize = (0,
|
|
24575
|
-
(0,
|
|
24256
|
+
const onResize = (0, import_react138.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
24257
|
+
(0, import_utils158.useResizeObserver)({
|
|
24576
24258
|
ref: scrollRef,
|
|
24577
24259
|
onResize
|
|
24578
24260
|
});
|
|
24579
|
-
return /* @__PURE__ */ (0,
|
|
24261
|
+
return /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)("div", { ...(0, import_runtime110.trussProps)({
|
|
24580
24262
|
display: "df",
|
|
24581
24263
|
flexDirection: ["fd_var", {
|
|
24582
|
-
"--flexDirection": (0,
|
|
24264
|
+
"--flexDirection": (0, import_runtime110.maybeCssVar)(!horizontal ? "column" : "row")
|
|
24583
24265
|
}],
|
|
24584
24266
|
position: "relative",
|
|
24585
24267
|
overflow: "oh",
|
|
@@ -24592,23 +24274,23 @@ function ScrollShadows(props) {
|
|
|
24592
24274
|
width: width2
|
|
24593
24275
|
}
|
|
24594
24276
|
}), ...tid, children: [
|
|
24595
|
-
/* @__PURE__ */ (0,
|
|
24277
|
+
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)("div", { ...(0, import_runtime110.trussProps)({
|
|
24596
24278
|
...startShadowStyles,
|
|
24597
24279
|
...{
|
|
24598
24280
|
opacity: ["o_var", {
|
|
24599
|
-
"--opacity": (0,
|
|
24281
|
+
"--opacity": (0, import_runtime110.maybeCssVar)(showStartShadow ? 1 : 0)
|
|
24600
24282
|
}]
|
|
24601
24283
|
}
|
|
24602
24284
|
}), "data-chromatic": "ignore" }),
|
|
24603
|
-
/* @__PURE__ */ (0,
|
|
24285
|
+
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)("div", { ...(0, import_runtime110.trussProps)({
|
|
24604
24286
|
...endShadowStyles,
|
|
24605
24287
|
...{
|
|
24606
24288
|
opacity: ["o_var", {
|
|
24607
|
-
"--opacity": (0,
|
|
24289
|
+
"--opacity": (0, import_runtime110.maybeCssVar)(showEndShadow ? 1 : 0)
|
|
24608
24290
|
}]
|
|
24609
24291
|
}
|
|
24610
24292
|
}), "data-chromatic": "ignore" }),
|
|
24611
|
-
/* @__PURE__ */ (0,
|
|
24293
|
+
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)("div", { ...(0, import_runtime110.trussProps)({
|
|
24612
24294
|
...xss,
|
|
24613
24295
|
...{
|
|
24614
24296
|
overflow: "oa",
|
|
@@ -24620,8 +24302,8 @@ function ScrollShadows(props) {
|
|
|
24620
24302
|
}
|
|
24621
24303
|
|
|
24622
24304
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
24623
|
-
var
|
|
24624
|
-
var
|
|
24305
|
+
var import_react139 = require("react");
|
|
24306
|
+
var import_jsx_runtime192 = require("react/jsx-runtime");
|
|
24625
24307
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
24626
24308
|
function loadStoredNavState() {
|
|
24627
24309
|
try {
|
|
@@ -24643,20 +24325,20 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
24643
24325
|
}
|
|
24644
24326
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
24645
24327
|
}
|
|
24646
|
-
var SideNavLayoutContext = (0,
|
|
24328
|
+
var SideNavLayoutContext = (0, import_react139.createContext)(void 0);
|
|
24647
24329
|
function SideNavLayoutProvider(props) {
|
|
24648
|
-
const [navState, setNavStateInternal] = (0,
|
|
24330
|
+
const [navState, setNavStateInternal] = (0, import_react139.useState)(
|
|
24649
24331
|
() => resolveInitialNavState(props.defaultNavState)
|
|
24650
24332
|
);
|
|
24651
24333
|
const bp = useBreakpoint();
|
|
24652
|
-
const prevMdAndUp = (0,
|
|
24653
|
-
(0,
|
|
24334
|
+
const prevMdAndUp = (0, import_react139.useRef)(bp.mdAndUp);
|
|
24335
|
+
(0, import_react139.useEffect)(() => {
|
|
24654
24336
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
24655
24337
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
24656
24338
|
}
|
|
24657
24339
|
prevMdAndUp.current = bp.mdAndUp;
|
|
24658
24340
|
}, [bp.mdAndUp]);
|
|
24659
|
-
const setNavState = (0,
|
|
24341
|
+
const setNavState = (0, import_react139.useCallback)((value2) => {
|
|
24660
24342
|
setNavStateInternal((prev) => {
|
|
24661
24343
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
24662
24344
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -24668,20 +24350,20 @@ function SideNavLayoutProvider(props) {
|
|
|
24668
24350
|
return next;
|
|
24669
24351
|
});
|
|
24670
24352
|
}, []);
|
|
24671
|
-
const value = (0,
|
|
24672
|
-
return /* @__PURE__ */ (0,
|
|
24353
|
+
const value = (0, import_react139.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
24354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
24673
24355
|
}
|
|
24674
24356
|
function useSideNavLayoutContext() {
|
|
24675
|
-
return (0,
|
|
24357
|
+
return (0, import_react139.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
24676
24358
|
} };
|
|
24677
24359
|
}
|
|
24678
24360
|
function useHasSideNavLayoutProvider() {
|
|
24679
|
-
return (0,
|
|
24361
|
+
return (0, import_react139.useContext)(SideNavLayoutContext) !== void 0;
|
|
24680
24362
|
}
|
|
24681
24363
|
|
|
24682
24364
|
// src/components/SideNav/SideNav.tsx
|
|
24683
|
-
var
|
|
24684
|
-
var
|
|
24365
|
+
var import_runtime111 = require("@homebound/truss/runtime");
|
|
24366
|
+
var import_jsx_runtime193 = require("react/jsx-runtime");
|
|
24685
24367
|
function SideNav(props) {
|
|
24686
24368
|
const {
|
|
24687
24369
|
top,
|
|
@@ -24694,8 +24376,8 @@ function SideNav(props) {
|
|
|
24694
24376
|
const tid = useTestIds(props, "sideNav");
|
|
24695
24377
|
const panelCollapsed = navState === "collapse";
|
|
24696
24378
|
const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
|
|
24697
|
-
return /* @__PURE__ */ (0,
|
|
24698
|
-
top !== void 0 && /* @__PURE__ */ (0,
|
|
24379
|
+
return /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)("nav", { className: "df fdc h100 fs0", ...tid, children: [
|
|
24380
|
+
top !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime193.jsx)("div", { ...(0, import_runtime111.trussProps)({
|
|
24699
24381
|
flexShrink: "fs0",
|
|
24700
24382
|
paddingLeft: "pl2",
|
|
24701
24383
|
paddingRight: "pr2",
|
|
@@ -24706,7 +24388,7 @@ function SideNav(props) {
|
|
|
24706
24388
|
paddingBottom: "pb4"
|
|
24707
24389
|
} : {}
|
|
24708
24390
|
}), ...tid.top, children: top }),
|
|
24709
|
-
/* @__PURE__ */ (0,
|
|
24391
|
+
/* @__PURE__ */ (0, import_jsx_runtime193.jsx)("div", { ...(0, import_runtime111.trussProps)({
|
|
24710
24392
|
flexGrow: "fg1",
|
|
24711
24393
|
overflowY: "oya",
|
|
24712
24394
|
display: "df",
|
|
@@ -24718,8 +24400,8 @@ function SideNav(props) {
|
|
|
24718
24400
|
...top === void 0 ? {
|
|
24719
24401
|
paddingTop: "pt5"
|
|
24720
24402
|
} : {}
|
|
24721
|
-
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0,
|
|
24722
|
-
footer !== void 0 && /* @__PURE__ */ (0,
|
|
24403
|
+
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(AppNavItems, { items, panelCollapsed }) }),
|
|
24404
|
+
footer !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime193.jsx)("div", { ...(0, import_runtime111.trussProps)({
|
|
24723
24405
|
flexShrink: "fs0",
|
|
24724
24406
|
paddingLeft: "pl2",
|
|
24725
24407
|
paddingRight: "pr2",
|
|
@@ -24735,10 +24417,10 @@ function SideNav(props) {
|
|
|
24735
24417
|
}
|
|
24736
24418
|
|
|
24737
24419
|
// src/components/Snackbar/useSnackbar.tsx
|
|
24738
|
-
var
|
|
24420
|
+
var import_react140 = require("react");
|
|
24739
24421
|
function useSnackbar() {
|
|
24740
24422
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
24741
|
-
const onClose = (0,
|
|
24423
|
+
const onClose = (0, import_react140.useCallback)(
|
|
24742
24424
|
(noticeId) => {
|
|
24743
24425
|
setNotices((prev) => {
|
|
24744
24426
|
let returnValue = prev;
|
|
@@ -24755,7 +24437,7 @@ function useSnackbar() {
|
|
|
24755
24437
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
24756
24438
|
[]
|
|
24757
24439
|
);
|
|
24758
|
-
const triggerNotice = (0,
|
|
24440
|
+
const triggerNotice = (0, import_react140.useCallback)(
|
|
24759
24441
|
(props) => {
|
|
24760
24442
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
24761
24443
|
let maybeTimeout;
|
|
@@ -24784,8 +24466,8 @@ function useSnackbar() {
|
|
|
24784
24466
|
},
|
|
24785
24467
|
[onClose, setNotices]
|
|
24786
24468
|
);
|
|
24787
|
-
const closeNotice = (0,
|
|
24788
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
24469
|
+
const closeNotice = (0, import_react140.useCallback)((id) => onClose(id), [onClose]);
|
|
24470
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react140.useEffect)(() => {
|
|
24789
24471
|
setOffset({ bottom });
|
|
24790
24472
|
return () => setOffset({});
|
|
24791
24473
|
}, [bottom]);
|
|
@@ -24794,11 +24476,11 @@ function useSnackbar() {
|
|
|
24794
24476
|
var snackbarId = 1;
|
|
24795
24477
|
|
|
24796
24478
|
// src/components/Stepper.tsx
|
|
24479
|
+
var import_react141 = require("react");
|
|
24480
|
+
var import_react_aria62 = require("react-aria");
|
|
24481
|
+
var import_runtime112 = require("@homebound/truss/runtime");
|
|
24482
|
+
var import_jsx_runtime194 = require("react/jsx-runtime");
|
|
24797
24483
|
var import_react142 = require("react");
|
|
24798
|
-
var import_react_aria63 = require("react-aria");
|
|
24799
|
-
var import_runtime114 = require("@homebound/truss/runtime");
|
|
24800
|
-
var import_jsx_runtime196 = require("react/jsx-runtime");
|
|
24801
|
-
var import_react143 = require("react");
|
|
24802
24484
|
var __maybeInc20 = (inc) => {
|
|
24803
24485
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24804
24486
|
};
|
|
@@ -24816,8 +24498,8 @@ function Stepper(props) {
|
|
|
24816
24498
|
const maxStepWidth = 200;
|
|
24817
24499
|
const minStepWidth = 100;
|
|
24818
24500
|
const gap = 8;
|
|
24819
|
-
return /* @__PURE__ */ (0,
|
|
24820
|
-
/* @__PURE__ */ (0,
|
|
24501
|
+
return /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
|
|
24502
|
+
/* @__PURE__ */ (0, import_jsx_runtime194.jsx)("ol", { ...(0, import_runtime112.trussProps)({
|
|
24821
24503
|
padding: "p_0",
|
|
24822
24504
|
margin: "m_0",
|
|
24823
24505
|
listStyle: "lis_none",
|
|
@@ -24827,7 +24509,7 @@ function Stepper(props) {
|
|
|
24827
24509
|
}]
|
|
24828
24510
|
}), children: steps.map((step) => {
|
|
24829
24511
|
const isCurrent = currentStep === step.value;
|
|
24830
|
-
return /* @__PURE__ */ (0,
|
|
24512
|
+
return /* @__PURE__ */ (0, import_react142.createElement)("li", { ...(0, import_runtime112.trussProps)({
|
|
24831
24513
|
display: "df",
|
|
24832
24514
|
flexGrow: "fg1",
|
|
24833
24515
|
flexDirection: "fdc",
|
|
@@ -24837,9 +24519,9 @@ function Stepper(props) {
|
|
|
24837
24519
|
minWidth: ["mw_var", {
|
|
24838
24520
|
"--minWidth": `${minStepWidth}px`
|
|
24839
24521
|
}]
|
|
24840
|
-
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0,
|
|
24522
|
+
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
|
|
24841
24523
|
}) }),
|
|
24842
|
-
/* @__PURE__ */ (0,
|
|
24524
|
+
/* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime112.trussProps)({
|
|
24843
24525
|
marginTop: "mt1",
|
|
24844
24526
|
backgroundColor: "bgGray300",
|
|
24845
24527
|
height: "h_4px",
|
|
@@ -24850,12 +24532,12 @@ function Stepper(props) {
|
|
|
24850
24532
|
"--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
|
|
24851
24533
|
}],
|
|
24852
24534
|
width: "w100"
|
|
24853
|
-
}), children: /* @__PURE__ */ (0,
|
|
24535
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime112.trussProps)({
|
|
24854
24536
|
backgroundColor: "bgBlue600",
|
|
24855
24537
|
transition: "transition_width_200ms",
|
|
24856
24538
|
height: "h100",
|
|
24857
24539
|
width: ["w_var", {
|
|
24858
|
-
"--width": (0,
|
|
24540
|
+
"--width": (0, import_runtime112.maybeCssVar)(__maybeInc20(`${(lastCompletedStep + 1) / steps.length * 100}%`))
|
|
24859
24541
|
}]
|
|
24860
24542
|
}) }) })
|
|
24861
24543
|
] });
|
|
@@ -24872,26 +24554,26 @@ function StepButton(props) {
|
|
|
24872
24554
|
onPress: onClick,
|
|
24873
24555
|
isDisabled: disabled
|
|
24874
24556
|
};
|
|
24875
|
-
const ref = (0,
|
|
24557
|
+
const ref = (0, import_react141.useRef)(null);
|
|
24876
24558
|
const {
|
|
24877
24559
|
buttonProps,
|
|
24878
24560
|
isPressed
|
|
24879
|
-
} = (0,
|
|
24561
|
+
} = (0, import_react_aria62.useButton)(ariaProps, ref);
|
|
24880
24562
|
const {
|
|
24881
24563
|
isFocusVisible,
|
|
24882
24564
|
focusProps
|
|
24883
|
-
} = (0,
|
|
24565
|
+
} = (0, import_react_aria62.useFocusRing)();
|
|
24884
24566
|
const {
|
|
24885
24567
|
hoverProps,
|
|
24886
24568
|
isHovered
|
|
24887
|
-
} = (0,
|
|
24569
|
+
} = (0, import_react_aria62.useHover)(ariaProps);
|
|
24888
24570
|
const focusRingStyles2 = state === "error" ? {
|
|
24889
24571
|
boxShadow: "bshDanger"
|
|
24890
24572
|
} : {
|
|
24891
24573
|
boxShadow: "bshFocus"
|
|
24892
24574
|
};
|
|
24893
24575
|
const tid = useTestIds(props, "stepButton");
|
|
24894
|
-
return /* @__PURE__ */ (0,
|
|
24576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime112.trussProps)({
|
|
24895
24577
|
...{
|
|
24896
24578
|
fontWeight: "fw6",
|
|
24897
24579
|
fontSize: "fz_14px",
|
|
@@ -24943,7 +24625,7 @@ function StepButton(props) {
|
|
|
24943
24625
|
} : {},
|
|
24944
24626
|
...isFocusVisible ? focusRingStyles2 : {}
|
|
24945
24627
|
}), ...tid[defaultTestId(label)], children: [
|
|
24946
|
-
/* @__PURE__ */ (0,
|
|
24628
|
+
/* @__PURE__ */ (0, import_jsx_runtime194.jsx)("span", { className: "fs0 mr_4px", children: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
24947
24629
|
label
|
|
24948
24630
|
] });
|
|
24949
24631
|
}
|
|
@@ -24954,12 +24636,12 @@ function StepIcon({
|
|
|
24954
24636
|
isCurrent = false
|
|
24955
24637
|
}) {
|
|
24956
24638
|
if (state === "error") {
|
|
24957
|
-
return /* @__PURE__ */ (0,
|
|
24639
|
+
return /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(Icon, { icon: "errorCircle" });
|
|
24958
24640
|
}
|
|
24959
24641
|
if (state === "complete") {
|
|
24960
|
-
return /* @__PURE__ */ (0,
|
|
24642
|
+
return /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(Icon, { icon: "check" });
|
|
24961
24643
|
}
|
|
24962
|
-
return /* @__PURE__ */ (0,
|
|
24644
|
+
return /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime112.trussProps)({
|
|
24963
24645
|
width: "w_10px",
|
|
24964
24646
|
height: "h_10px",
|
|
24965
24647
|
borderStyle: "bss",
|
|
@@ -24973,10 +24655,10 @@ function StepIcon({
|
|
|
24973
24655
|
}
|
|
24974
24656
|
|
|
24975
24657
|
// src/components/StepperTabs/StepperTab.tsx
|
|
24976
|
-
var
|
|
24977
|
-
var
|
|
24978
|
-
var
|
|
24979
|
-
var
|
|
24658
|
+
var import_react143 = require("react");
|
|
24659
|
+
var import_react_aria63 = require("react-aria");
|
|
24660
|
+
var import_runtime113 = require("@homebound/truss/runtime");
|
|
24661
|
+
var import_jsx_runtime195 = require("react/jsx-runtime");
|
|
24980
24662
|
function StepperTab(props) {
|
|
24981
24663
|
const {
|
|
24982
24664
|
label,
|
|
@@ -24991,20 +24673,20 @@ function StepperTab(props) {
|
|
|
24991
24673
|
onPress: () => onClick(value),
|
|
24992
24674
|
isDisabled: disabled || collapsed
|
|
24993
24675
|
};
|
|
24994
|
-
const ref = (0,
|
|
24676
|
+
const ref = (0, import_react143.useRef)(null);
|
|
24995
24677
|
const {
|
|
24996
24678
|
buttonProps
|
|
24997
|
-
} = (0,
|
|
24679
|
+
} = (0, import_react_aria63.useButton)(ariaProps, ref);
|
|
24998
24680
|
const {
|
|
24999
24681
|
isFocusVisible,
|
|
25000
24682
|
focusProps
|
|
25001
|
-
} = (0,
|
|
24683
|
+
} = (0, import_react_aria63.useFocusRing)();
|
|
25002
24684
|
const {
|
|
25003
24685
|
hoverProps,
|
|
25004
24686
|
isHovered
|
|
25005
|
-
} = (0,
|
|
24687
|
+
} = (0, import_react_aria63.useHover)(ariaProps);
|
|
25006
24688
|
const tid = useTestIds(props, "stepperTab");
|
|
25007
|
-
return /* @__PURE__ */ (0,
|
|
24689
|
+
return /* @__PURE__ */ (0, import_jsx_runtime195.jsxs)("button", { ref, ...(0, import_react_aria63.mergeProps)(buttonProps, focusProps, hoverProps), "aria-label": label, ...(0, import_runtime113.trussProps)({
|
|
25008
24690
|
...stepperTabStyles.baseStyles,
|
|
25009
24691
|
...getStateStyles(active, completed),
|
|
25010
24692
|
...isHovered && !disabled ? stepperTabStyles.hoverStyles : {},
|
|
@@ -25012,9 +24694,9 @@ function StepperTab(props) {
|
|
|
25012
24694
|
...disabled ? stepperTabStyles.disabledStyles : {},
|
|
25013
24695
|
...isFocusVisible ? stepperTabStyles.focusRingStyles : {}
|
|
25014
24696
|
}), ...tid[defaultTestId(value)], children: [
|
|
25015
|
-
/* @__PURE__ */ (0,
|
|
25016
|
-
completed && /* @__PURE__ */ (0,
|
|
25017
|
-
/* @__PURE__ */ (0,
|
|
24697
|
+
/* @__PURE__ */ (0, import_jsx_runtime195.jsx)("span", { className: "oh d_negwebkit_box wbo_vertical to_ellipsis wlc_1", children: label }),
|
|
24698
|
+
completed && /* @__PURE__ */ (0, import_jsx_runtime195.jsx)("span", { className: "fs0 ml1", children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(Icon, { icon: "check", inc: 2.5, ...tid.check }) }),
|
|
24699
|
+
/* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_react_aria63.VisuallyHidden, { children: completed ? "Complete" : "Not Complete" })
|
|
25018
24700
|
] });
|
|
25019
24701
|
}
|
|
25020
24702
|
function withBorderBottom(color) {
|
|
@@ -25022,7 +24704,7 @@ function withBorderBottom(color) {
|
|
|
25022
24704
|
...{
|
|
25023
24705
|
borderBottomStyle: "bbs_solid",
|
|
25024
24706
|
borderBottomWidth: ["borderBottomWidth_var", {
|
|
25025
|
-
"--borderBottomWidth": (0,
|
|
24707
|
+
"--borderBottomWidth": (0, import_runtime113.maybeCssVar)(`3px`)
|
|
25026
24708
|
}]
|
|
25027
24709
|
},
|
|
25028
24710
|
...color
|
|
@@ -25094,9 +24776,9 @@ var stepperTabStyles = {
|
|
|
25094
24776
|
};
|
|
25095
24777
|
|
|
25096
24778
|
// src/components/StepperTabs/StepperTabs.tsx
|
|
25097
|
-
var
|
|
25098
|
-
var
|
|
25099
|
-
var
|
|
24779
|
+
var import_runtime114 = require("@homebound/truss/runtime");
|
|
24780
|
+
var import_jsx_runtime196 = require("react/jsx-runtime");
|
|
24781
|
+
var import_react144 = require("react");
|
|
25100
24782
|
function StepperTabs(props) {
|
|
25101
24783
|
const {
|
|
25102
24784
|
steps,
|
|
@@ -25108,7 +24790,7 @@ function StepperTabs(props) {
|
|
|
25108
24790
|
sm: collapsed
|
|
25109
24791
|
} = useBreakpoint();
|
|
25110
24792
|
const capWidth = steps.length <= 3;
|
|
25111
|
-
return /* @__PURE__ */ (0,
|
|
24793
|
+
return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("ol", { ...(0, import_runtime114.trussProps)({
|
|
25112
24794
|
padding: "p_0",
|
|
25113
24795
|
margin: "m_0",
|
|
25114
24796
|
listStyle: "lis_none",
|
|
@@ -25122,7 +24804,7 @@ function StepperTabs(props) {
|
|
|
25122
24804
|
borderColor: "bcGray400"
|
|
25123
24805
|
}), children: steps.map((step) => {
|
|
25124
24806
|
const isCurrent = step.value === currentStep;
|
|
25125
|
-
return /* @__PURE__ */ (0,
|
|
24807
|
+
return /* @__PURE__ */ (0, import_react144.createElement)("li", { ...(0, import_runtime114.trussProps)({
|
|
25126
24808
|
display: "df",
|
|
25127
24809
|
flexGrow: "fg1",
|
|
25128
24810
|
flexBasis: "fb_0",
|
|
@@ -25134,7 +24816,7 @@ function StepperTabs(props) {
|
|
|
25134
24816
|
"--maxWidth": `${maxStepWidthPx}px`
|
|
25135
24817
|
}]
|
|
25136
24818
|
} : {}
|
|
25137
|
-
}), key: step.value, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0,
|
|
24819
|
+
}), key: step.value, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(StepperTab, { label: step.label, value: step.value, active: isCurrent, completed: step.completed, disabled: step.disabled, collapsed, onClick: onChange, ...tid.tab }));
|
|
25138
24820
|
}) }) });
|
|
25139
24821
|
}
|
|
25140
24822
|
var maxStepWidthPx = 280;
|
|
@@ -25142,8 +24824,8 @@ var gapPx = 6;
|
|
|
25142
24824
|
|
|
25143
24825
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
25144
24826
|
var import_react_dom7 = require("react-dom");
|
|
25145
|
-
var
|
|
25146
|
-
var
|
|
24827
|
+
var import_runtime115 = require("@homebound/truss/runtime");
|
|
24828
|
+
var import_jsx_runtime197 = require("react/jsx-runtime");
|
|
25147
24829
|
function SuperDrawerHeader(props) {
|
|
25148
24830
|
const {
|
|
25149
24831
|
hideControls
|
|
@@ -25160,20 +24842,20 @@ function SuperDrawerHeader(props) {
|
|
|
25160
24842
|
const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
|
|
25161
24843
|
const isDetail = currentContent !== firstContent;
|
|
25162
24844
|
const tid = useTestIds({}, "superDrawerHeader");
|
|
25163
|
-
return (0, import_react_dom7.createPortal)(/* @__PURE__ */ (0,
|
|
25164
|
-
isStructuredProps(props) ? /* @__PURE__ */ (0,
|
|
25165
|
-
/* @__PURE__ */ (0,
|
|
25166
|
-
/* @__PURE__ */ (0,
|
|
24845
|
+
return (0, import_react_dom7.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime197.jsxs)("div", { className: "df aic jcsb gap3", ...tid, children: [
|
|
24846
|
+
isStructuredProps(props) ? /* @__PURE__ */ (0, import_jsx_runtime197.jsxs)("div", { className: "df jcsb aic gap2 fg1", children: [
|
|
24847
|
+
/* @__PURE__ */ (0, import_jsx_runtime197.jsxs)("div", { className: "fg1 df aic gap2", children: [
|
|
24848
|
+
/* @__PURE__ */ (0, import_jsx_runtime197.jsx)("h1", { className: "fw6 fz_30px lh_36px", children: props.title }),
|
|
25167
24849
|
props.left
|
|
25168
24850
|
] }),
|
|
25169
|
-
props.right && /* @__PURE__ */ (0,
|
|
25170
|
-
] }) : /* @__PURE__ */ (0,
|
|
25171
|
-
!hideControls && /* @__PURE__ */ (0,
|
|
24851
|
+
props.right && /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { className: "fs0", children: props.right })
|
|
24852
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { className: "fg1", children: props.children }),
|
|
24853
|
+
!hideControls && /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { ...(0, import_runtime115.trussProps)({
|
|
25172
24854
|
flexShrink: "fs0",
|
|
25173
24855
|
...isDetail ? {
|
|
25174
24856
|
visibility: "vh"
|
|
25175
24857
|
} : {}
|
|
25176
|
-
}), children: /* @__PURE__ */ (0,
|
|
24858
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(ButtonGroup, { buttons: [{
|
|
25177
24859
|
icon: "chevronLeft",
|
|
25178
24860
|
onClick: () => onPrevClick && onPrevClick(),
|
|
25179
24861
|
disabled: !onPrevClick
|
|
@@ -25189,18 +24871,18 @@ function isStructuredProps(props) {
|
|
|
25189
24871
|
}
|
|
25190
24872
|
|
|
25191
24873
|
// src/components/SuperDrawer/ConfirmCloseModal.tsx
|
|
25192
|
-
var
|
|
24874
|
+
var import_jsx_runtime198 = require("react/jsx-runtime");
|
|
25193
24875
|
function ConfirmCloseModal(props) {
|
|
25194
24876
|
const { onClose, discardText = "Discard Changes", continueText = "Continue Editing" } = props;
|
|
25195
24877
|
const { modalState } = useBeamContext();
|
|
25196
24878
|
function closeModal() {
|
|
25197
24879
|
modalState.current = void 0;
|
|
25198
24880
|
}
|
|
25199
|
-
return /* @__PURE__ */ (0,
|
|
25200
|
-
/* @__PURE__ */ (0,
|
|
25201
|
-
/* @__PURE__ */ (0,
|
|
25202
|
-
/* @__PURE__ */ (0,
|
|
25203
|
-
/* @__PURE__ */ (0,
|
|
24881
|
+
return /* @__PURE__ */ (0, import_jsx_runtime198.jsxs)(import_jsx_runtime198.Fragment, { children: [
|
|
24882
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(ModalHeader, { children: "Are you sure you want to cancel?" }),
|
|
24883
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("p", { children: "Any changes you've made so far will be lost." }) }),
|
|
24884
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsxs)(ModalFooter, { children: [
|
|
24885
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
|
|
25204
24886
|
Button,
|
|
25205
24887
|
{
|
|
25206
24888
|
variant: "quaternary",
|
|
@@ -25211,7 +24893,7 @@ function ConfirmCloseModal(props) {
|
|
|
25211
24893
|
}
|
|
25212
24894
|
}
|
|
25213
24895
|
),
|
|
25214
|
-
/* @__PURE__ */ (0,
|
|
24896
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(Button, { label: continueText, onClick: closeModal })
|
|
25215
24897
|
] })
|
|
25216
24898
|
] });
|
|
25217
24899
|
}
|
|
@@ -25220,8 +24902,8 @@ function ConfirmCloseModal(props) {
|
|
|
25220
24902
|
var import_framer_motion6 = require("framer-motion");
|
|
25221
24903
|
|
|
25222
24904
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
25223
|
-
var
|
|
25224
|
-
var
|
|
24905
|
+
var import_react145 = require("react");
|
|
24906
|
+
var import_jsx_runtime199 = require("react/jsx-runtime");
|
|
25225
24907
|
function useSuperDrawer() {
|
|
25226
24908
|
const {
|
|
25227
24909
|
drawerContentStack: contentStack,
|
|
@@ -25233,7 +24915,7 @@ function useSuperDrawer() {
|
|
|
25233
24915
|
function canCloseDrawerDetails(i, doChange) {
|
|
25234
24916
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
25235
24917
|
if (!canClose(canCloseDrawerDetail)) {
|
|
25236
|
-
openModal({ content: /* @__PURE__ */ (0,
|
|
24918
|
+
openModal({ content: /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
25237
24919
|
return false;
|
|
25238
24920
|
}
|
|
25239
24921
|
}
|
|
@@ -25253,14 +24935,14 @@ function useSuperDrawer() {
|
|
|
25253
24935
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
25254
24936
|
if (!canClose(canCloseDrawer)) {
|
|
25255
24937
|
openModal({
|
|
25256
|
-
content: /* @__PURE__ */ (0,
|
|
24938
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
25257
24939
|
});
|
|
25258
24940
|
return;
|
|
25259
24941
|
}
|
|
25260
24942
|
}
|
|
25261
24943
|
doChange();
|
|
25262
24944
|
}
|
|
25263
|
-
const closeActions = (0,
|
|
24945
|
+
const closeActions = (0, import_react145.useMemo)(
|
|
25264
24946
|
() => {
|
|
25265
24947
|
return {
|
|
25266
24948
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -25295,7 +24977,7 @@ function useSuperDrawer() {
|
|
|
25295
24977
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25296
24978
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
25297
24979
|
);
|
|
25298
|
-
const actions = (0,
|
|
24980
|
+
const actions = (0, import_react145.useMemo)(
|
|
25299
24981
|
() => {
|
|
25300
24982
|
return {
|
|
25301
24983
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -25348,8 +25030,8 @@ function canClose(canCloseCheck) {
|
|
|
25348
25030
|
}
|
|
25349
25031
|
|
|
25350
25032
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
25351
|
-
var
|
|
25352
|
-
var
|
|
25033
|
+
var import_runtime116 = require("@homebound/truss/runtime");
|
|
25034
|
+
var import_jsx_runtime200 = require("react/jsx-runtime");
|
|
25353
25035
|
var SuperDrawerContent = ({
|
|
25354
25036
|
children,
|
|
25355
25037
|
actions
|
|
@@ -25365,95 +25047,360 @@ var SuperDrawerContent = ({
|
|
|
25365
25047
|
} = contentStack.current[contentStack.current.length - 1] ?? {};
|
|
25366
25048
|
const firstContent = contentStack.current[0]?.opts;
|
|
25367
25049
|
const {
|
|
25368
|
-
width: width2 = 1040 /* Normal */
|
|
25369
|
-
} = firstContent ?? {};
|
|
25370
|
-
function wrapWithMotionAndMaybeBack(children2) {
|
|
25371
|
-
if (kind === "open") {
|
|
25372
|
-
return /* @__PURE__ */ (0,
|
|
25373
|
-
} else if (kind === "detail") {
|
|
25374
|
-
return /* @__PURE__ */ (0,
|
|
25375
|
-
overflow: "auto"
|
|
25376
|
-
}, transition: {
|
|
25377
|
-
overflow: {
|
|
25378
|
-
delay: 0.3
|
|
25379
|
-
}
|
|
25380
|
-
}, children: [
|
|
25381
|
-
/* @__PURE__ */ (0,
|
|
25382
|
-
/* @__PURE__ */ (0,
|
|
25383
|
-
x: width2,
|
|
25384
|
-
opacity: 0
|
|
25385
|
-
}, animate: {
|
|
25386
|
-
x: 0,
|
|
25387
|
-
opacity: 1
|
|
25388
|
-
}, transition: {
|
|
25389
|
-
ease: "linear",
|
|
25390
|
-
duration: 0.3,
|
|
25391
|
-
opacity: {
|
|
25392
|
-
delay: 0.15
|
|
25393
|
-
}
|
|
25394
|
-
}, exit: {
|
|
25395
|
-
x: width2,
|
|
25396
|
-
opacity: 0
|
|
25397
|
-
}, className: "pt2", children: children2 })
|
|
25398
|
-
] }, "content");
|
|
25399
|
-
} else {
|
|
25400
|
-
return /* @__PURE__ */ (0,
|
|
25401
|
-
overflow: "auto"
|
|
25402
|
-
}, {
|
|
25403
|
-
paddingTop: "pt3",
|
|
25404
|
-
paddingBottom: "pb3",
|
|
25405
|
-
paddingRight: "pr3",
|
|
25406
|
-
paddingLeft: "pl3",
|
|
25407
|
-
flexGrow: "fg1"
|
|
25408
|
-
}) }, "content");
|
|
25050
|
+
width: width2 = 1040 /* Normal */
|
|
25051
|
+
} = firstContent ?? {};
|
|
25052
|
+
function wrapWithMotionAndMaybeBack(children2) {
|
|
25053
|
+
if (kind === "open") {
|
|
25054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_framer_motion6.motion.div, { className: "pt3 pb3 pr3 pl3 fg1 oa", children: children2 }, "content");
|
|
25055
|
+
} else if (kind === "detail") {
|
|
25056
|
+
return /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(import_framer_motion6.motion.div, { className: "pl3 pr3 pt2 pb3 fg1", animate: {
|
|
25057
|
+
overflow: "auto"
|
|
25058
|
+
}, transition: {
|
|
25059
|
+
overflow: {
|
|
25060
|
+
delay: 0.3
|
|
25061
|
+
}
|
|
25062
|
+
}, children: [
|
|
25063
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
25064
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_framer_motion6.motion.div, { initial: {
|
|
25065
|
+
x: width2,
|
|
25066
|
+
opacity: 0
|
|
25067
|
+
}, animate: {
|
|
25068
|
+
x: 0,
|
|
25069
|
+
opacity: 1
|
|
25070
|
+
}, transition: {
|
|
25071
|
+
ease: "linear",
|
|
25072
|
+
duration: 0.3,
|
|
25073
|
+
opacity: {
|
|
25074
|
+
delay: 0.15
|
|
25075
|
+
}
|
|
25076
|
+
}, exit: {
|
|
25077
|
+
x: width2,
|
|
25078
|
+
opacity: 0
|
|
25079
|
+
}, className: "pt2", children: children2 })
|
|
25080
|
+
] }, "content");
|
|
25081
|
+
} else {
|
|
25082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_framer_motion6.motion.div, { ...(0, import_runtime116.mergeProps)(void 0, {
|
|
25083
|
+
overflow: "auto"
|
|
25084
|
+
}, {
|
|
25085
|
+
paddingTop: "pt3",
|
|
25086
|
+
paddingBottom: "pb3",
|
|
25087
|
+
paddingRight: "pr3",
|
|
25088
|
+
paddingLeft: "pl3",
|
|
25089
|
+
flexGrow: "fg1"
|
|
25090
|
+
}) }, "content");
|
|
25091
|
+
}
|
|
25092
|
+
}
|
|
25093
|
+
return /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(import_jsx_runtime200.Fragment, { children: [
|
|
25094
|
+
wrapWithMotionAndMaybeBack(children),
|
|
25095
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)("footer", { className: "bts_solid btw_1px bcGray200 pt3 pb3 pr3 pl3 df aic jcfe", children: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)("div", { className: "df gap1", children: actions.map((buttonProps, i) => /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(Button, { ...buttonProps }, i)) }) })
|
|
25096
|
+
] });
|
|
25097
|
+
};
|
|
25098
|
+
|
|
25099
|
+
// src/components/Table/cardSlots.ts
|
|
25100
|
+
function cardTitleSlot(text) {
|
|
25101
|
+
return { kind: "title", text };
|
|
25102
|
+
}
|
|
25103
|
+
function cardEyebrowSlot(text) {
|
|
25104
|
+
return { kind: "eyebrow", text };
|
|
25105
|
+
}
|
|
25106
|
+
function cardBadgeSlot(text, tags) {
|
|
25107
|
+
return { kind: "badge", text, tags };
|
|
25108
|
+
}
|
|
25109
|
+
function cardStatusSlot(tag) {
|
|
25110
|
+
return { kind: "status", tag };
|
|
25111
|
+
}
|
|
25112
|
+
function cardDataBlockSlot(props) {
|
|
25113
|
+
return { kind: "dataBlock", ...props };
|
|
25114
|
+
}
|
|
25115
|
+
function cardProgressSlot(value) {
|
|
25116
|
+
return { kind: "progress", value };
|
|
25117
|
+
}
|
|
25118
|
+
|
|
25119
|
+
// src/components/Table/utils/simpleHelpers.ts
|
|
25120
|
+
var simpleHeader = { kind: "header", id: "header", data: void 0 };
|
|
25121
|
+
function simpleDataRows(data = []) {
|
|
25122
|
+
return [simpleHeader, ...data.map((data2) => ({ kind: "data", data: data2, id: data2.id }))];
|
|
25123
|
+
}
|
|
25124
|
+
|
|
25125
|
+
// src/components/Table/utils/visitor.ts
|
|
25126
|
+
function visit(rows, fn) {
|
|
25127
|
+
const todo = [...rows];
|
|
25128
|
+
while (todo.length > 0) {
|
|
25129
|
+
const row = todo.pop();
|
|
25130
|
+
fn(row);
|
|
25131
|
+
if (row.children) {
|
|
25132
|
+
todo.push(...row.children);
|
|
25133
|
+
}
|
|
25134
|
+
}
|
|
25135
|
+
}
|
|
25136
|
+
|
|
25137
|
+
// src/components/Tabs.tsx
|
|
25138
|
+
var import_change_case9 = require("change-case");
|
|
25139
|
+
var import_react146 = require("react");
|
|
25140
|
+
var import_react_aria64 = require("react-aria");
|
|
25141
|
+
var import_react_router = require("react-router");
|
|
25142
|
+
var import_react_router_dom8 = require("react-router-dom");
|
|
25143
|
+
var import_runtime117 = require("@homebound/truss/runtime");
|
|
25144
|
+
var import_jsx_runtime201 = require("react/jsx-runtime");
|
|
25145
|
+
function TabsWithContent(props) {
|
|
25146
|
+
const styles = hideTabs(props) ? {} : {
|
|
25147
|
+
paddingTop: "pt3"
|
|
25148
|
+
};
|
|
25149
|
+
return /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)(import_jsx_runtime201.Fragment, { children: [
|
|
25150
|
+
/* @__PURE__ */ (0, import_jsx_runtime201.jsx)(Tabs, { ...props }),
|
|
25151
|
+
/* @__PURE__ */ (0, import_jsx_runtime201.jsx)(TabContent, { ...props, contentXss: {
|
|
25152
|
+
...styles,
|
|
25153
|
+
...props.contentXss
|
|
25154
|
+
} })
|
|
25155
|
+
] });
|
|
25156
|
+
}
|
|
25157
|
+
function TabContent(props) {
|
|
25158
|
+
const tid = useTestIds(props, "tab");
|
|
25159
|
+
const {
|
|
25160
|
+
tabs,
|
|
25161
|
+
contentXss = {},
|
|
25162
|
+
omitFullBleedPadding = false
|
|
25163
|
+
} = props;
|
|
25164
|
+
const location = (0, import_react_router_dom8.useLocation)();
|
|
25165
|
+
const selectedTab = isRouteTabs(props) ? props.tabs.find((t) => {
|
|
25166
|
+
const paths = Array.isArray(t.path) ? t.path : [t.path];
|
|
25167
|
+
return paths.some((p) => !!(0, import_react_router.matchPath)({
|
|
25168
|
+
path: p,
|
|
25169
|
+
end: true
|
|
25170
|
+
}, location.pathname));
|
|
25171
|
+
}) || tabs[0] : props.tabs.find((tab) => tab.value === props.selected) || tabs[0];
|
|
25172
|
+
const uniqueValue = uniqueTabValue(selectedTab);
|
|
25173
|
+
return (
|
|
25174
|
+
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
25175
|
+
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
25176
|
+
/* @__PURE__ */ (0, import_jsx_runtime201.jsx)(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...(0, import_runtime117.trussProps)(contentXss), children: selectedTab.render() }) })
|
|
25177
|
+
);
|
|
25178
|
+
}
|
|
25179
|
+
function Tabs(props) {
|
|
25180
|
+
const {
|
|
25181
|
+
ariaLabel,
|
|
25182
|
+
tabs,
|
|
25183
|
+
includeBottomBorder,
|
|
25184
|
+
right,
|
|
25185
|
+
...others
|
|
25186
|
+
} = props;
|
|
25187
|
+
const location = (0, import_react_router_dom8.useLocation)();
|
|
25188
|
+
const selected = isRouteTabs(props) ? uniqueTabValue(props.tabs.find((t) => {
|
|
25189
|
+
const paths = Array.isArray(t.path) ? t.path : [t.path];
|
|
25190
|
+
return paths.some((p) => !!(0, import_react_router.matchPath)({
|
|
25191
|
+
path: p,
|
|
25192
|
+
end: true
|
|
25193
|
+
}, location.pathname));
|
|
25194
|
+
}) || props.tabs[0]) : props.selected;
|
|
25195
|
+
const {
|
|
25196
|
+
isFocusVisible,
|
|
25197
|
+
focusProps
|
|
25198
|
+
} = (0, import_react_aria64.useFocusRing)();
|
|
25199
|
+
const tid = useTestIds(others, "tabs");
|
|
25200
|
+
const [active, setActive] = (0, import_react146.useState)(selected);
|
|
25201
|
+
const ref = (0, import_react146.useRef)(null);
|
|
25202
|
+
(0, import_react146.useEffect)(() => setActive(selected), [selected]);
|
|
25203
|
+
function onKeyUp(e) {
|
|
25204
|
+
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
25205
|
+
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
25206
|
+
setActive(nextTabValue);
|
|
25207
|
+
document.getElementById(`${nextTabValue}-tab`)?.focus();
|
|
25208
|
+
}
|
|
25209
|
+
}
|
|
25210
|
+
function onClick(value) {
|
|
25211
|
+
!isRouteTabs(props) && props.onChange(value);
|
|
25212
|
+
}
|
|
25213
|
+
function onBlur(e) {
|
|
25214
|
+
if (!(ref.current && ref.current.contains(e.relatedTarget))) {
|
|
25215
|
+
setActive(selected);
|
|
25216
|
+
}
|
|
25217
|
+
}
|
|
25218
|
+
return /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)("div", { ...(0, import_runtime117.trussProps)({
|
|
25219
|
+
...{
|
|
25220
|
+
display: "df",
|
|
25221
|
+
alignItems: "aic",
|
|
25222
|
+
overflow: "oa",
|
|
25223
|
+
whiteSpace: "wsnw",
|
|
25224
|
+
gap: "gap1"
|
|
25225
|
+
},
|
|
25226
|
+
...includeBottomBorder ? {
|
|
25227
|
+
...{
|
|
25228
|
+
borderBottomStyle: "bbs_solid",
|
|
25229
|
+
borderBottomWidth: "bbw_1px",
|
|
25230
|
+
borderColor: "bcGray200"
|
|
25231
|
+
}
|
|
25232
|
+
} : {}
|
|
25233
|
+
}), children: [
|
|
25234
|
+
!hideTabs(props) && /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
25235
|
+
const uniqueValue = uniqueTabValue(tab);
|
|
25236
|
+
return /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
|
|
25237
|
+
}) }),
|
|
25238
|
+
right && /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { className: "mla df aic gap1 pb1", children: right })
|
|
25239
|
+
] });
|
|
25240
|
+
}
|
|
25241
|
+
function TabImpl(props) {
|
|
25242
|
+
const {
|
|
25243
|
+
tab,
|
|
25244
|
+
onClick,
|
|
25245
|
+
active,
|
|
25246
|
+
onKeyUp,
|
|
25247
|
+
onBlur,
|
|
25248
|
+
focusProps,
|
|
25249
|
+
isFocusVisible = false,
|
|
25250
|
+
...others
|
|
25251
|
+
} = props;
|
|
25252
|
+
const {
|
|
25253
|
+
disabled = false,
|
|
25254
|
+
name: label,
|
|
25255
|
+
icon,
|
|
25256
|
+
endAdornment
|
|
25257
|
+
} = tab;
|
|
25258
|
+
const isDisabled = !!disabled;
|
|
25259
|
+
const {
|
|
25260
|
+
hoverProps,
|
|
25261
|
+
isHovered
|
|
25262
|
+
} = (0, import_react_aria64.useHover)({
|
|
25263
|
+
isDisabled
|
|
25264
|
+
});
|
|
25265
|
+
const {
|
|
25266
|
+
baseStyles: baseStyles4,
|
|
25267
|
+
activeStyles: activeStyles3,
|
|
25268
|
+
focusRingStyles: focusRingStyles2,
|
|
25269
|
+
hoverStyles: hoverStyles4,
|
|
25270
|
+
disabledStyles: disabledStyles3,
|
|
25271
|
+
activeHoverStyles
|
|
25272
|
+
} = (0, import_react146.useMemo)(() => getTabStyles(), []);
|
|
25273
|
+
const uniqueValue = uniqueTabValue(tab);
|
|
25274
|
+
const tabProps = {
|
|
25275
|
+
"aria-controls": `${uniqueValue}-tabPanel`,
|
|
25276
|
+
"aria-selected": active,
|
|
25277
|
+
"aria-disabled": isDisabled || void 0,
|
|
25278
|
+
id: `${uniqueValue}-tab`,
|
|
25279
|
+
role: "tab",
|
|
25280
|
+
tabIndex: active ? 0 : -1,
|
|
25281
|
+
...others,
|
|
25282
|
+
...(0, import_runtime117.trussProps)({
|
|
25283
|
+
...baseStyles4,
|
|
25284
|
+
...active && activeStyles3,
|
|
25285
|
+
...isDisabled && disabledStyles3,
|
|
25286
|
+
...isHovered && hoverStyles4,
|
|
25287
|
+
...isHovered && active && activeHoverStyles,
|
|
25288
|
+
...isFocusVisible && active && focusRingStyles2
|
|
25289
|
+
})
|
|
25290
|
+
};
|
|
25291
|
+
const interactiveProps = (0, import_react_aria64.mergeProps)(focusProps, hoverProps, {
|
|
25292
|
+
onKeyUp,
|
|
25293
|
+
onBlur,
|
|
25294
|
+
...isRouteTab(tab) ? {} : {
|
|
25295
|
+
onClick: () => onClick(tab.value)
|
|
25409
25296
|
}
|
|
25410
|
-
}
|
|
25411
|
-
|
|
25412
|
-
|
|
25413
|
-
|
|
25297
|
+
});
|
|
25298
|
+
const tabLabel = /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)(import_jsx_runtime201.Fragment, { children: [
|
|
25299
|
+
label,
|
|
25300
|
+
(icon || endAdornment) && /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("span", { className: "ml1", children: icon ? /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(Icon, { icon }) : endAdornment })
|
|
25414
25301
|
] });
|
|
25415
|
-
|
|
25416
|
-
|
|
25417
|
-
|
|
25418
|
-
|
|
25419
|
-
|
|
25420
|
-
|
|
25421
|
-
|
|
25422
|
-
|
|
25302
|
+
return isDisabled ? maybeTooltip({
|
|
25303
|
+
title: resolveTooltip(disabled),
|
|
25304
|
+
placement: "top",
|
|
25305
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { ...tabProps, children: tabLabel })
|
|
25306
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(import_react_router_dom8.Link, { ...(0, import_react_aria64.mergeProps)(tabProps, interactiveProps, {
|
|
25307
|
+
className: "navLink"
|
|
25308
|
+
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("button", { ...{
|
|
25309
|
+
...tabProps,
|
|
25310
|
+
...interactiveProps
|
|
25311
|
+
}, children: tabLabel });
|
|
25423
25312
|
}
|
|
25424
|
-
function
|
|
25425
|
-
|
|
25313
|
+
function getTabStyles() {
|
|
25314
|
+
const borderBottomWidthPx = 4;
|
|
25315
|
+
const verticalPaddingPx = 6;
|
|
25316
|
+
const borderBottomStyles = {
|
|
25317
|
+
borderBottomStyle: "bbs_solid",
|
|
25318
|
+
borderBottomWidth: ["borderBottomWidth_var", {
|
|
25319
|
+
"--borderBottomWidth": (0, import_runtime117.maybeCssVar)(`${borderBottomWidthPx}px`)
|
|
25320
|
+
}],
|
|
25321
|
+
paddingBottom: ["pb_var", {
|
|
25322
|
+
"--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
|
|
25323
|
+
}]
|
|
25324
|
+
};
|
|
25325
|
+
return {
|
|
25326
|
+
baseStyles: {
|
|
25327
|
+
display: "df",
|
|
25328
|
+
alignItems: "aic",
|
|
25329
|
+
height: "h_32px",
|
|
25330
|
+
paddingTop: ["py_var", {
|
|
25331
|
+
"--paddingTop": `${verticalPaddingPx}px`
|
|
25332
|
+
}],
|
|
25333
|
+
paddingBottom: ["py_var", {
|
|
25334
|
+
"--paddingBottom": `${verticalPaddingPx}px`
|
|
25335
|
+
}],
|
|
25336
|
+
paddingLeft: "pl1",
|
|
25337
|
+
paddingRight: "pr1",
|
|
25338
|
+
outline: "outline0",
|
|
25339
|
+
color: "gray700",
|
|
25340
|
+
width: "width_fit_content",
|
|
25341
|
+
cursor: "cursorPointer",
|
|
25342
|
+
fontWeight: "fw4",
|
|
25343
|
+
fontSize: "fz_14px",
|
|
25344
|
+
lineHeight: "lh_20px"
|
|
25345
|
+
},
|
|
25346
|
+
activeStyles: {
|
|
25347
|
+
...{
|
|
25348
|
+
borderColor: "bcBlue700",
|
|
25349
|
+
fontWeight: "fw6",
|
|
25350
|
+
fontSize: "fz_14px",
|
|
25351
|
+
lineHeight: "lh_20px",
|
|
25352
|
+
color: "gray900"
|
|
25353
|
+
},
|
|
25354
|
+
...borderBottomStyles
|
|
25355
|
+
},
|
|
25356
|
+
disabledStyles: {
|
|
25357
|
+
color: "gray400",
|
|
25358
|
+
cursor: "cursorNotAllowed"
|
|
25359
|
+
},
|
|
25360
|
+
focusRingStyles: {
|
|
25361
|
+
backgroundColor: "bgBlue50",
|
|
25362
|
+
boxShadow: "bshFocus"
|
|
25363
|
+
},
|
|
25364
|
+
hoverStyles: {
|
|
25365
|
+
...{
|
|
25366
|
+
borderColor: "bcGray400"
|
|
25367
|
+
},
|
|
25368
|
+
...borderBottomStyles
|
|
25369
|
+
},
|
|
25370
|
+
activeHoverStyles: {
|
|
25371
|
+
...{
|
|
25372
|
+
backgroundColor: "bgBlue50",
|
|
25373
|
+
borderColor: "bcBlue700"
|
|
25374
|
+
},
|
|
25375
|
+
...borderBottomStyles
|
|
25376
|
+
}
|
|
25377
|
+
};
|
|
25426
25378
|
}
|
|
25427
|
-
function
|
|
25428
|
-
|
|
25379
|
+
function getNextTabValue(selected, key, tabs) {
|
|
25380
|
+
const enabledTabs = tabs.filter((tab) => tab.disabled !== true);
|
|
25381
|
+
const tabsToScan = key === "ArrowRight" ? enabledTabs : enabledTabs.reverse();
|
|
25382
|
+
const currentIndex = tabsToScan.findIndex((tab) => uniqueTabValue(tab) === selected);
|
|
25383
|
+
const nextIndex = currentIndex === tabsToScan.length - 1 ? 0 : currentIndex + 1;
|
|
25384
|
+
return uniqueTabValue(tabsToScan[nextIndex]);
|
|
25429
25385
|
}
|
|
25430
|
-
function
|
|
25431
|
-
|
|
25386
|
+
function isRouteTabs(props) {
|
|
25387
|
+
const {
|
|
25388
|
+
tabs
|
|
25389
|
+
} = props;
|
|
25390
|
+
return tabs.length > 0 && isRouteTab(tabs[0]);
|
|
25432
25391
|
}
|
|
25433
|
-
function
|
|
25434
|
-
return
|
|
25392
|
+
function isRouteTab(tab) {
|
|
25393
|
+
return "path" in tab;
|
|
25435
25394
|
}
|
|
25436
|
-
|
|
25437
|
-
|
|
25438
|
-
var simpleHeader = { kind: "header", id: "header", data: void 0 };
|
|
25439
|
-
function simpleDataRows(data = []) {
|
|
25440
|
-
return [simpleHeader, ...data.map((data2) => ({ kind: "data", data: data2, id: data2.id }))];
|
|
25395
|
+
function uniqueTabValue(tab) {
|
|
25396
|
+
return isRouteTab(tab) ? (0, import_change_case9.camelCase)(tab.name) : tab.value;
|
|
25441
25397
|
}
|
|
25442
|
-
|
|
25443
|
-
|
|
25444
|
-
function visit(rows, fn) {
|
|
25445
|
-
const todo = [...rows];
|
|
25446
|
-
while (todo.length > 0) {
|
|
25447
|
-
const row = todo.pop();
|
|
25448
|
-
fn(row);
|
|
25449
|
-
if (row.children) {
|
|
25450
|
-
todo.push(...row.children);
|
|
25451
|
-
}
|
|
25452
|
-
}
|
|
25398
|
+
function hideTabs(props) {
|
|
25399
|
+
return props.alwaysShowAllTabs ? false : props.tabs.filter((t) => !t.disabled).length === 1;
|
|
25453
25400
|
}
|
|
25454
25401
|
|
|
25455
25402
|
// src/components/TagGroup.tsx
|
|
25456
|
-
var
|
|
25403
|
+
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
25457
25404
|
function TagGroup(props) {
|
|
25458
25405
|
const {
|
|
25459
25406
|
tags,
|
|
@@ -25461,9 +25408,9 @@ function TagGroup(props) {
|
|
|
25461
25408
|
...otherProps
|
|
25462
25409
|
} = props;
|
|
25463
25410
|
const tid = useTestIds(otherProps, "tagGroup");
|
|
25464
|
-
return /* @__PURE__ */ (0,
|
|
25465
|
-
tags.map((tag) => /* @__PURE__ */ (0,
|
|
25466
|
-
onEdit && /* @__PURE__ */ (0,
|
|
25411
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)("div", { ...tid, className: "df aic fww gap1", children: [
|
|
25412
|
+
tags.map((tag) => /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(Tag, { ...tag, variant: "secondary" }, tag.text)),
|
|
25413
|
+
onEdit && /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("span", { className: "ml1 fw4 fz_14px lh_20px", children: /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(Button, { label: "Edit", variant: "text", onClick: onEdit, ...tid.edit }) })
|
|
25467
25414
|
] });
|
|
25468
25415
|
}
|
|
25469
25416
|
|
|
@@ -25476,15 +25423,15 @@ function useToast() {
|
|
|
25476
25423
|
}
|
|
25477
25424
|
|
|
25478
25425
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
25479
|
-
var
|
|
25480
|
-
var
|
|
25426
|
+
var import_runtime118 = require("@homebound/truss/runtime");
|
|
25427
|
+
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
25481
25428
|
var __maybeInc21 = (inc) => {
|
|
25482
25429
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
25483
25430
|
};
|
|
25484
25431
|
function SideNavLayout(props) {
|
|
25485
25432
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
25486
|
-
if (hasProvider) return /* @__PURE__ */ (0,
|
|
25487
|
-
return /* @__PURE__ */ (0,
|
|
25433
|
+
if (hasProvider) return /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(SideNavLayoutContent, { ...props });
|
|
25434
|
+
return /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(SideNavLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(SideNavLayoutContent, { ...props }) });
|
|
25488
25435
|
}
|
|
25489
25436
|
function SideNavLayoutContent(props) {
|
|
25490
25437
|
const {
|
|
@@ -25506,7 +25453,7 @@ function SideNavLayoutContent(props) {
|
|
|
25506
25453
|
const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
|
|
25507
25454
|
const navTop = bannerAndNavbarChromeTop();
|
|
25508
25455
|
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
25509
|
-
const rail = showRail && /* @__PURE__ */ (0,
|
|
25456
|
+
const rail = showRail && /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("div", { ...(0, import_runtime118.trussProps)({
|
|
25510
25457
|
...{
|
|
25511
25458
|
display: "df",
|
|
25512
25459
|
flexDirection: "fdc",
|
|
@@ -25530,14 +25477,14 @@ function SideNavLayoutContent(props) {
|
|
|
25530
25477
|
position: "sticky",
|
|
25531
25478
|
left: "left0",
|
|
25532
25479
|
zIndex: ["z_var", {
|
|
25533
|
-
"--zIndex": (0,
|
|
25480
|
+
"--zIndex": (0, import_runtime118.maybeCssVar)(zIndices.sideNav)
|
|
25534
25481
|
}],
|
|
25535
25482
|
top: ["top_var", {
|
|
25536
|
-
"--top": (0,
|
|
25483
|
+
"--top": (0, import_runtime118.maybeCssVar)(__maybeInc21(navTop))
|
|
25537
25484
|
}],
|
|
25538
25485
|
alignSelf: "asfs",
|
|
25539
25486
|
height: ["h_var", {
|
|
25540
|
-
"--height": (0,
|
|
25487
|
+
"--height": (0, import_runtime118.maybeCssVar)(__maybeInc21(railViewportHeight))
|
|
25541
25488
|
}],
|
|
25542
25489
|
width: ["w_var", {
|
|
25543
25490
|
"--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
|
|
@@ -25547,11 +25494,11 @@ function SideNavLayoutContent(props) {
|
|
|
25547
25494
|
position: "fixed",
|
|
25548
25495
|
left: "left0",
|
|
25549
25496
|
top: ["top_var", {
|
|
25550
|
-
"--top": (0,
|
|
25497
|
+
"--top": (0, import_runtime118.maybeCssVar)(__maybeInc21(navTop))
|
|
25551
25498
|
}],
|
|
25552
25499
|
bottom: "bottom0",
|
|
25553
25500
|
zIndex: ["z_var", {
|
|
25554
|
-
"--zIndex": (0,
|
|
25501
|
+
"--zIndex": (0, import_runtime118.maybeCssVar)(zIndices.sideNav)
|
|
25555
25502
|
}]
|
|
25556
25503
|
},
|
|
25557
25504
|
...collapsed ? {
|
|
@@ -25563,18 +25510,18 @@ function SideNavLayoutContent(props) {
|
|
|
25563
25510
|
}
|
|
25564
25511
|
}
|
|
25565
25512
|
}), ...tid.sideNav, children: [
|
|
25566
|
-
showCollapseToggle && /* @__PURE__ */ (0,
|
|
25567
|
-
/* @__PURE__ */ (0,
|
|
25513
|
+
showCollapseToggle && /* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { className: "absolute right2 top2 z2", children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
25514
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(SideNav, { ...sideNav }) })
|
|
25568
25515
|
] });
|
|
25569
|
-
return /* @__PURE__ */ (0,
|
|
25516
|
+
return /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("div", { ...(0, import_runtime118.mergeProps)(void 0, {
|
|
25570
25517
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
25571
25518
|
}, {
|
|
25572
25519
|
display: "df",
|
|
25573
25520
|
flexDirection: "fdr",
|
|
25574
25521
|
width: "w100"
|
|
25575
25522
|
}), ...tid, children: [
|
|
25576
|
-
contrastRail ? /* @__PURE__ */ (0,
|
|
25577
|
-
/* @__PURE__ */ (0,
|
|
25523
|
+
contrastRail ? /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(ContrastScope, { children: rail }) : rail,
|
|
25524
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { ...(0, import_runtime118.trussProps)({
|
|
25578
25525
|
display: "df",
|
|
25579
25526
|
flexDirection: "fdc",
|
|
25580
25527
|
flexGrow: "fg1",
|
|
@@ -25590,8 +25537,8 @@ function SideNavLayoutContent(props) {
|
|
|
25590
25537
|
}
|
|
25591
25538
|
|
|
25592
25539
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
|
|
25593
|
-
var
|
|
25594
|
-
var
|
|
25540
|
+
var import_runtime119 = require("@homebound/truss/runtime");
|
|
25541
|
+
var import_jsx_runtime204 = require("react/jsx-runtime");
|
|
25595
25542
|
var __maybeInc22 = (inc) => {
|
|
25596
25543
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
25597
25544
|
};
|
|
@@ -25607,35 +25554,35 @@ function EnvironmentBannerLayout(props) {
|
|
|
25607
25554
|
[beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
|
|
25608
25555
|
};
|
|
25609
25556
|
const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
|
|
25610
|
-
return /* @__PURE__ */ (0,
|
|
25557
|
+
return /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)("div", { ...(0, import_runtime119.mergeProps)(void 0, style, {
|
|
25611
25558
|
display: "df",
|
|
25612
25559
|
flexDirection: "fdc",
|
|
25613
25560
|
width: "wfc",
|
|
25614
25561
|
minWidth: "mw100"
|
|
25615
25562
|
}), ...tid, children: [
|
|
25616
|
-
showBanner && environmentBanner && /* @__PURE__ */ (0,
|
|
25563
|
+
showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime204.jsx)("div", { ...(0, import_runtime119.mergeProps)(void 0, {
|
|
25617
25564
|
height: environmentBannerSizePx
|
|
25618
25565
|
}, {
|
|
25619
25566
|
flexShrink: "fs0",
|
|
25620
25567
|
width: "w100"
|
|
25621
|
-
}), children: /* @__PURE__ */ (0,
|
|
25568
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)("div", { ...(0, import_runtime119.trussProps)({
|
|
25622
25569
|
position: "fixed",
|
|
25623
25570
|
top: "top0",
|
|
25624
25571
|
left: "left0",
|
|
25625
25572
|
zIndex: ["z_var", {
|
|
25626
|
-
"--zIndex": (0,
|
|
25573
|
+
"--zIndex": (0, import_runtime119.maybeCssVar)(zIndices.environmentBanner)
|
|
25627
25574
|
}],
|
|
25628
25575
|
width: ["w_var", {
|
|
25629
|
-
"--width": (0,
|
|
25576
|
+
"--width": (0, import_runtime119.maybeCssVar)(__maybeInc22(innerWidth))
|
|
25630
25577
|
}]
|
|
25631
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0,
|
|
25578
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
|
|
25632
25579
|
children
|
|
25633
25580
|
] }) }) });
|
|
25634
25581
|
}
|
|
25635
25582
|
|
|
25636
25583
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
25637
25584
|
var import_react151 = require("react");
|
|
25638
|
-
var
|
|
25585
|
+
var import_runtime120 = require("@homebound/truss/runtime");
|
|
25639
25586
|
|
|
25640
25587
|
// src/layouts/useAutoHideOnScroll.ts
|
|
25641
25588
|
var import_react148 = require("react");
|
|
@@ -25728,7 +25675,7 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
25728
25675
|
}
|
|
25729
25676
|
|
|
25730
25677
|
// src/layouts/useMeasuredHeight.ts
|
|
25731
|
-
var
|
|
25678
|
+
var import_utils170 = require("@react-aria/utils");
|
|
25732
25679
|
var import_react149 = require("react");
|
|
25733
25680
|
function useMeasuredHeight(ref, enabled) {
|
|
25734
25681
|
const [height, setHeight] = (0, import_react149.useState)(0);
|
|
@@ -25737,7 +25684,7 @@ function useMeasuredHeight(ref, enabled) {
|
|
|
25737
25684
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
25738
25685
|
setHeight((prev) => prev === next ? prev : next);
|
|
25739
25686
|
}, [ref]);
|
|
25740
|
-
(0,
|
|
25687
|
+
(0, import_utils170.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
25741
25688
|
(0, import_react149.useLayoutEffect)(() => {
|
|
25742
25689
|
syncElementHeight();
|
|
25743
25690
|
}, [enabled, syncElementHeight]);
|
|
@@ -25746,17 +25693,17 @@ function useMeasuredHeight(ref, enabled) {
|
|
|
25746
25693
|
|
|
25747
25694
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
25748
25695
|
var import_react150 = require("react");
|
|
25749
|
-
var
|
|
25696
|
+
var import_jsx_runtime205 = require("react/jsx-runtime");
|
|
25750
25697
|
var NavbarLayoutHeightContext = (0, import_react150.createContext)(0);
|
|
25751
25698
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
25752
|
-
return /* @__PURE__ */ (0,
|
|
25699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
25753
25700
|
}
|
|
25754
25701
|
function useNavbarLayoutHeight() {
|
|
25755
25702
|
return (0, import_react150.useContext)(NavbarLayoutHeightContext);
|
|
25756
25703
|
}
|
|
25757
25704
|
|
|
25758
25705
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
25759
|
-
var
|
|
25706
|
+
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
25760
25707
|
var __maybeInc23 = (inc) => {
|
|
25761
25708
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
25762
25709
|
};
|
|
@@ -25785,10 +25732,10 @@ function NavbarLayout(props) {
|
|
|
25785
25732
|
position: "sticky",
|
|
25786
25733
|
left: "left0",
|
|
25787
25734
|
zIndex: ["z_var", {
|
|
25788
|
-
"--zIndex": (0,
|
|
25735
|
+
"--zIndex": (0, import_runtime120.maybeCssVar)(zIndices.navbar)
|
|
25789
25736
|
}],
|
|
25790
25737
|
width: ["w_var", {
|
|
25791
|
-
"--width": (0,
|
|
25738
|
+
"--width": (0, import_runtime120.maybeCssVar)(__maybeInc23(innerWidth))
|
|
25792
25739
|
}]
|
|
25793
25740
|
}
|
|
25794
25741
|
) : (
|
|
@@ -25797,10 +25744,10 @@ function NavbarLayout(props) {
|
|
|
25797
25744
|
position: "fixed",
|
|
25798
25745
|
left: "left0",
|
|
25799
25746
|
zIndex: ["z_var", {
|
|
25800
|
-
"--zIndex": (0,
|
|
25747
|
+
"--zIndex": (0, import_runtime120.maybeCssVar)(zIndices.navbar)
|
|
25801
25748
|
}],
|
|
25802
25749
|
width: ["w_var", {
|
|
25803
|
-
"--width": (0,
|
|
25750
|
+
"--width": (0, import_runtime120.maybeCssVar)(__maybeInc23(innerWidth))
|
|
25804
25751
|
}],
|
|
25805
25752
|
transition: "transitionTop"
|
|
25806
25753
|
}
|
|
@@ -25809,26 +25756,90 @@ function NavbarLayout(props) {
|
|
|
25809
25756
|
const innerStyle = autoHideState !== "static" ? {
|
|
25810
25757
|
top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
|
|
25811
25758
|
} : void 0;
|
|
25812
|
-
const navbarEl = (0, import_react151.useMemo)(() => /* @__PURE__ */ (0,
|
|
25813
|
-
return /* @__PURE__ */ (0,
|
|
25759
|
+
const navbarEl = (0, import_react151.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
25760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime206.jsxs)("div", { ...(0, import_runtime120.mergeProps)(void 0, cssVars, {
|
|
25814
25761
|
display: "df",
|
|
25815
25762
|
flexDirection: "fdc",
|
|
25816
25763
|
width: "wfc",
|
|
25817
25764
|
minWidth: "mw100"
|
|
25818
25765
|
}), ...tid, children: [
|
|
25819
|
-
/* @__PURE__ */ (0,
|
|
25766
|
+
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { ref: spacerRef, ...(0, import_runtime120.mergeProps)(void 0, {
|
|
25820
25767
|
height: navHeight
|
|
25821
25768
|
}, {
|
|
25822
25769
|
flexShrink: "fs0",
|
|
25823
25770
|
width: "w100"
|
|
25824
|
-
}), children: /* @__PURE__ */ (0,
|
|
25825
|
-
/* @__PURE__ */ (0,
|
|
25771
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime120.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
25772
|
+
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
25826
25773
|
] }) }) });
|
|
25827
25774
|
}
|
|
25828
25775
|
|
|
25829
25776
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
25830
25777
|
var import_react152 = require("react");
|
|
25831
25778
|
|
|
25779
|
+
// src/components/Headers/BaseHeader.tsx
|
|
25780
|
+
var import_runtime121 = require("@homebound/truss/runtime");
|
|
25781
|
+
var import_jsx_runtime207 = require("react/jsx-runtime");
|
|
25782
|
+
function BaseHeader(props) {
|
|
25783
|
+
const {
|
|
25784
|
+
title,
|
|
25785
|
+
documentTitleSuffix,
|
|
25786
|
+
rightSlot,
|
|
25787
|
+
breadcrumbs,
|
|
25788
|
+
bottomSlot,
|
|
25789
|
+
...otherProps
|
|
25790
|
+
} = props;
|
|
25791
|
+
const tid = useTestIds(otherProps, "header");
|
|
25792
|
+
useDocumentTitle(title, documentTitleSuffix);
|
|
25793
|
+
return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)("header", { ...tid, ...(0, import_runtime121.trussProps)({
|
|
25794
|
+
display: "df",
|
|
25795
|
+
flexDirection: "fdc",
|
|
25796
|
+
paddingTop: "pt3",
|
|
25797
|
+
borderBottomStyle: "bbs_solid",
|
|
25798
|
+
borderBottomWidth: "bbw_1px",
|
|
25799
|
+
gap: "gap2",
|
|
25800
|
+
borderColor: ["bc_var", {
|
|
25801
|
+
"--borderColor": "var(--b-surface-separator)"
|
|
25802
|
+
}],
|
|
25803
|
+
backgroundColor: ["bgColor_var", {
|
|
25804
|
+
"--backgroundColor": "var(--b-surface)"
|
|
25805
|
+
}]
|
|
25806
|
+
}), children: [
|
|
25807
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsxs)("div", { ...(0, import_runtime121.trussProps)({
|
|
25808
|
+
...{
|
|
25809
|
+
display: "df",
|
|
25810
|
+
justifyContent: "jcsb",
|
|
25811
|
+
width: "w100",
|
|
25812
|
+
gap: "gap1",
|
|
25813
|
+
paddingLeft: "pl3",
|
|
25814
|
+
paddingRight: "pr3"
|
|
25815
|
+
},
|
|
25816
|
+
...{
|
|
25817
|
+
...!bottomSlot ? {
|
|
25818
|
+
marginBottom: "mb2"
|
|
25819
|
+
} : {}
|
|
25820
|
+
}
|
|
25821
|
+
}), children: [
|
|
25822
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsxs)("div", { className: "mw0", children: [
|
|
25823
|
+
breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(Breadcrumbs, { ...breadcrumbs }),
|
|
25824
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsx)("h1", { ...tid.title, className: "fw6 fz_20px lh_28px", children: title })
|
|
25825
|
+
] }),
|
|
25826
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsx)("div", { className: "fs0", children: rightSlot })
|
|
25827
|
+
] }),
|
|
25828
|
+
bottomSlot
|
|
25829
|
+
] });
|
|
25830
|
+
}
|
|
25831
|
+
|
|
25832
|
+
// src/components/Headers/PageHeader.tsx
|
|
25833
|
+
var import_jsx_runtime208 = require("react/jsx-runtime");
|
|
25834
|
+
function PageHeader2(props) {
|
|
25835
|
+
const {
|
|
25836
|
+
tabs,
|
|
25837
|
+
...otherProps
|
|
25838
|
+
} = props;
|
|
25839
|
+
const tid = useTestIds(otherProps, "header");
|
|
25840
|
+
return /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("div", { className: "pl3 pr3", children: /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(Tabs, { ...tabs, ...tid.tabs }) }) });
|
|
25841
|
+
}
|
|
25842
|
+
|
|
25832
25843
|
// src/layouts/useBannerAndNavbarHeight.ts
|
|
25833
25844
|
function useBannerAndNavbarHeight() {
|
|
25834
25845
|
return useEnvironmentBannerLayoutHeight() + useNavbarLayoutHeight();
|
|
@@ -25836,7 +25847,7 @@ function useBannerAndNavbarHeight() {
|
|
|
25836
25847
|
|
|
25837
25848
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
25838
25849
|
var import_runtime122 = require("@homebound/truss/runtime");
|
|
25839
|
-
var
|
|
25850
|
+
var import_jsx_runtime209 = require("react/jsx-runtime");
|
|
25840
25851
|
var __maybeInc24 = (inc) => {
|
|
25841
25852
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
25842
25853
|
};
|
|
@@ -25891,19 +25902,19 @@ function PageHeaderLayout(props) {
|
|
|
25891
25902
|
const innerStyle = autoHideState !== "static" ? {
|
|
25892
25903
|
top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
|
|
25893
25904
|
} : void 0;
|
|
25894
|
-
const pageHeaderEl = (0, import_react152.useMemo)(() => /* @__PURE__ */ (0,
|
|
25895
|
-
return /* @__PURE__ */ (0,
|
|
25905
|
+
const pageHeaderEl = (0, import_react152.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
25906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("div", { ...(0, import_runtime122.mergeProps)(void 0, cssVars, {
|
|
25896
25907
|
display: "df",
|
|
25897
25908
|
flexDirection: "fdc",
|
|
25898
25909
|
width: "w100"
|
|
25899
25910
|
}), ...tid, children: [
|
|
25900
|
-
/* @__PURE__ */ (0,
|
|
25911
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ref: spacerRef, ...(0, import_runtime122.mergeProps)(void 0, {
|
|
25901
25912
|
height: headerHeight
|
|
25902
25913
|
}, {
|
|
25903
25914
|
flexShrink: "fs0",
|
|
25904
25915
|
width: "w100"
|
|
25905
|
-
}), children: /* @__PURE__ */ (0,
|
|
25906
|
-
/* @__PURE__ */ (0,
|
|
25916
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime122.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
25917
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
|
|
25907
25918
|
] }) });
|
|
25908
25919
|
}
|
|
25909
25920
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -26014,7 +26025,6 @@ function PageHeaderLayout(props) {
|
|
|
26014
26025
|
NavbarLayout,
|
|
26015
26026
|
NumberField,
|
|
26016
26027
|
OpenModal,
|
|
26017
|
-
PageHeader,
|
|
26018
26028
|
PageHeaderLayout,
|
|
26019
26029
|
Pagination,
|
|
26020
26030
|
Palette,
|