@homebound/beam 4.51.0 → 4.53.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 +633 -528
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -2
- package/dist/index.d.ts +25 -2
- package/dist/index.js +503 -399
- package/dist/index.js.map +1 -1
- package/dist/truss.css +2 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -16724,7 +16724,8 @@ function ButtonGroup(props) {
|
|
|
16724
16724
|
const {
|
|
16725
16725
|
buttons,
|
|
16726
16726
|
disabled = false,
|
|
16727
|
-
size = "sm"
|
|
16727
|
+
size = "sm",
|
|
16728
|
+
fullWidth = false
|
|
16728
16729
|
} = props;
|
|
16729
16730
|
const tid = useTestIds(props, "buttonGroup");
|
|
16730
16731
|
return (
|
|
@@ -16732,7 +16733,10 @@ function ButtonGroup(props) {
|
|
|
16732
16733
|
/* @__PURE__ */ jsx86("div", { ...tid, ...trussProps56({
|
|
16733
16734
|
...{
|
|
16734
16735
|
display: "df",
|
|
16735
|
-
lineHeight: "lh_0"
|
|
16736
|
+
lineHeight: "lh_0",
|
|
16737
|
+
...fullWidth ? {
|
|
16738
|
+
width: "w100"
|
|
16739
|
+
} : {}
|
|
16736
16740
|
},
|
|
16737
16741
|
...sizeStyles2[size]
|
|
16738
16742
|
}), children: buttons.map(({
|
|
@@ -16740,7 +16744,7 @@ function ButtonGroup(props) {
|
|
|
16740
16744
|
...buttonProps
|
|
16741
16745
|
}, i) => (
|
|
16742
16746
|
// Disable the button if the ButtonGroup is disabled or if the current button is disabled.
|
|
16743
|
-
/* @__PURE__ */ jsx86(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, isFirst: i === 0, isLast: i === buttons.length - 1, ...tid }, i)
|
|
16747
|
+
/* @__PURE__ */ jsx86(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, isFirst: i === 0, isLast: i === buttons.length - 1, fullWidth, ...tid }, i)
|
|
16744
16748
|
)) })
|
|
16745
16749
|
);
|
|
16746
16750
|
}
|
|
@@ -16757,6 +16761,7 @@ function GroupButton(props) {
|
|
|
16757
16761
|
tooltip,
|
|
16758
16762
|
isFirst,
|
|
16759
16763
|
isLast,
|
|
16764
|
+
fullWidth,
|
|
16760
16765
|
...otherProps
|
|
16761
16766
|
} = props;
|
|
16762
16767
|
const ariaProps = {
|
|
@@ -16778,7 +16783,15 @@ function GroupButton(props) {
|
|
|
16778
16783
|
isHovered
|
|
16779
16784
|
} = useHover9(ariaProps);
|
|
16780
16785
|
const tid = useTestIds(props);
|
|
16781
|
-
return /* @__PURE__ */ jsx86("span", { ...trussProps56(
|
|
16786
|
+
return /* @__PURE__ */ jsx86("span", { ...trussProps56({
|
|
16787
|
+
...getButtonStyles2(isFirst, isLast),
|
|
16788
|
+
...{
|
|
16789
|
+
...fullWidth ? {
|
|
16790
|
+
flexGrow: "fg1",
|
|
16791
|
+
flexBasis: "fb0"
|
|
16792
|
+
} : {}
|
|
16793
|
+
}
|
|
16794
|
+
}), children: maybeTooltip({
|
|
16782
16795
|
title: resolveTooltip(disabled, tooltip),
|
|
16783
16796
|
placement: "top",
|
|
16784
16797
|
children: /* @__PURE__ */ jsxs54("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps56({
|
|
@@ -16795,6 +16808,10 @@ function GroupButton(props) {
|
|
|
16795
16808
|
paddingLeft: "pl2",
|
|
16796
16809
|
paddingRight: "pr2",
|
|
16797
16810
|
height: "h100",
|
|
16811
|
+
...fullWidth ? {
|
|
16812
|
+
width: "w100",
|
|
16813
|
+
justifyContent: "jcc"
|
|
16814
|
+
} : {},
|
|
16798
16815
|
color: ["d_color_var", {
|
|
16799
16816
|
"--d_color": "var(--b-text-disabled)"
|
|
16800
16817
|
}],
|
|
@@ -27145,10 +27162,10 @@ function invertSpacing(value) {
|
|
|
27145
27162
|
}
|
|
27146
27163
|
|
|
27147
27164
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
27148
|
-
import React17, { useCallback as
|
|
27165
|
+
import React17, { useCallback as useCallback37, useEffect as useEffect29, useMemo as useMemo50, useRef as useRef66, useState as useState55 } from "react";
|
|
27149
27166
|
|
|
27150
27167
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
27151
|
-
import { memo as memo2, useMemo as useMemo46, useState as
|
|
27168
|
+
import { memo as memo2, useMemo as useMemo46, useState as useState48 } from "react";
|
|
27152
27169
|
|
|
27153
27170
|
// src/components/Pills/SelectionSummaryPill/SelectionSummaryPill.tsx
|
|
27154
27171
|
import { useHover as useHover21 } from "react-aria";
|
|
@@ -27232,7 +27249,14 @@ function EditColumnsButton(props) {
|
|
|
27232
27249
|
disabled,
|
|
27233
27250
|
columns,
|
|
27234
27251
|
api,
|
|
27235
|
-
shareColumnVisibility = false
|
|
27252
|
+
shareColumnVisibility = false,
|
|
27253
|
+
viewToggle
|
|
27254
|
+
} = props;
|
|
27255
|
+
const {
|
|
27256
|
+
sm
|
|
27257
|
+
} = useBreakpoint();
|
|
27258
|
+
const {
|
|
27259
|
+
compact = sm
|
|
27236
27260
|
} = props;
|
|
27237
27261
|
const state = useMenuTriggerState4({
|
|
27238
27262
|
defaultOpen
|
|
@@ -27244,9 +27268,6 @@ function EditColumnsButton(props) {
|
|
|
27244
27268
|
isDisabled: !!disabled
|
|
27245
27269
|
}, state, buttonRef);
|
|
27246
27270
|
const tid = useTestIds(props, "columns");
|
|
27247
|
-
const {
|
|
27248
|
-
sm
|
|
27249
|
-
} = useBreakpoint();
|
|
27250
27271
|
const options = useMemo45(() => buildColumnOptions(columns, shareColumnVisibility), [columns, shareColumnVisibility]);
|
|
27251
27272
|
const selectedValues = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
27252
27273
|
const setSelectedValues = useCallback28((ids) => {
|
|
@@ -27254,7 +27275,7 @@ function EditColumnsButton(props) {
|
|
|
27254
27275
|
api.setVisibleColumns(columns.filter((column2) => column2.canHide ? ids.includes(column2.id) : true).map((c) => c.id));
|
|
27255
27276
|
}, [columns, api]);
|
|
27256
27277
|
const hasHiddenColumn = useMemo45(() => options.some((option) => option.ids.some((id) => !selectedValues.includes(id))), [options, selectedValues]);
|
|
27257
|
-
return /* @__PURE__ */ jsx196(OverlayTrigger, { ...props, trigger:
|
|
27278
|
+
return /* @__PURE__ */ jsx196(OverlayTrigger, { ...props, trigger: compact ? {
|
|
27258
27279
|
icon: hasHiddenColumn ? "columnsBadged" : "columns",
|
|
27259
27280
|
variant: "outline"
|
|
27260
27281
|
} : {
|
|
@@ -27276,6 +27297,7 @@ function EditColumnsButton(props) {
|
|
|
27276
27297
|
maxHeight: "maxh_512px",
|
|
27277
27298
|
boxShadow: "bshBasic h_bshHover"
|
|
27278
27299
|
}), children: [
|
|
27300
|
+
viewToggle && /* @__PURE__ */ jsx196("div", { className: "pt2 pb0 pr2 pl2", children: /* @__PURE__ */ jsx196(ButtonGroup, { ...viewToggle, size: "md", fullWidth: true, ...tid.header }) }),
|
|
27279
27301
|
/* @__PURE__ */ jsx196("div", { className: "dg gtc_1fr_auto g_2 pt2 pb2 pr2 pl2 fg1 mh0 oya", children: options.map((option) => /* @__PURE__ */ jsxs103(Fragment41, { children: [
|
|
27280
27302
|
/* @__PURE__ */ jsxs103("div", { className: "df aic g_4px mw0 pr1", children: [
|
|
27281
27303
|
/* @__PURE__ */ jsx196("span", { className: "fw4 fz_14px lh_20px mw0", children: option.label }),
|
|
@@ -27356,8 +27378,9 @@ function closeMenuOnClickTooltip(tooltip, closeMenu) {
|
|
|
27356
27378
|
|
|
27357
27379
|
// src/components/Table/components/ViewToggleButton.tsx
|
|
27358
27380
|
import { jsx as jsx197 } from "react/jsx-runtime";
|
|
27359
|
-
function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
27381
|
+
function ViewToggleButton({ view, onChange, defaultOpen, ...props }) {
|
|
27360
27382
|
const { sm } = useBreakpoint();
|
|
27383
|
+
const { compact = sm } = props;
|
|
27361
27384
|
const tid = useTestIds({}, "viewToggleButton");
|
|
27362
27385
|
const menuItems = [
|
|
27363
27386
|
{ label: "List", icon: "projects", onClick: () => onChange("list") },
|
|
@@ -27367,7 +27390,7 @@ function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
|
27367
27390
|
return /* @__PURE__ */ jsx197(
|
|
27368
27391
|
ButtonMenu,
|
|
27369
27392
|
{
|
|
27370
|
-
trigger:
|
|
27393
|
+
trigger: compact ? { icon, variant: "outline" } : { icon, label: "", size: "md", variant: "secondaryBlack" },
|
|
27371
27394
|
items: menuItems,
|
|
27372
27395
|
defaultOpen,
|
|
27373
27396
|
...tid
|
|
@@ -27502,6 +27525,37 @@ function filterPillsForKey(key, f, filter) {
|
|
|
27502
27525
|
}];
|
|
27503
27526
|
}
|
|
27504
27527
|
|
|
27528
|
+
// src/components/Layout/GridTableLayout/useToolbarCompact.ts
|
|
27529
|
+
import { useResizeObserver as useResizeObserver9 } from "@react-aria/utils";
|
|
27530
|
+
import { useCallback as useCallback29, useLayoutEffect as useLayoutEffect10, useRef as useRef59, useState as useState47 } from "react";
|
|
27531
|
+
function useToolbarCompact(enabled) {
|
|
27532
|
+
const rowRef = useRef59(null);
|
|
27533
|
+
const leftRef = useRef59(null);
|
|
27534
|
+
const rightRef = useRef59(null);
|
|
27535
|
+
const [compact, setCompact] = useState47(false);
|
|
27536
|
+
const fullSlotsWidth = useRef59(0);
|
|
27537
|
+
const measure = useCallback29(() => {
|
|
27538
|
+
const row = rowRef.current;
|
|
27539
|
+
const left = leftRef.current;
|
|
27540
|
+
const right = rightRef.current;
|
|
27541
|
+
if (!enabled || !row || !left || !right || row.clientWidth === 0) {
|
|
27542
|
+
setCompact(false);
|
|
27543
|
+
return;
|
|
27544
|
+
}
|
|
27545
|
+
if (!compact) {
|
|
27546
|
+
const gap = right.getBoundingClientRect().left - left.getBoundingClientRect().right;
|
|
27547
|
+
fullSlotsWidth.current = row.clientWidth - gap;
|
|
27548
|
+
}
|
|
27549
|
+
setCompact(row.clientWidth - fullSlotsWidth.current < toolbarMinSlotGapPx);
|
|
27550
|
+
}, [enabled, compact]);
|
|
27551
|
+
useLayoutEffect10(measure, [measure]);
|
|
27552
|
+
useResizeObserver9({ ref: rowRef, onResize: measure });
|
|
27553
|
+
useResizeObserver9({ ref: leftRef, onResize: measure });
|
|
27554
|
+
useResizeObserver9({ ref: rightRef, onResize: measure });
|
|
27555
|
+
return { rowRef, leftRef, rightRef, compact };
|
|
27556
|
+
}
|
|
27557
|
+
var toolbarMinSlotGapPx = 40;
|
|
27558
|
+
|
|
27505
27559
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
27506
27560
|
import { trussProps as trussProps116 } from "@homebound/truss/runtime";
|
|
27507
27561
|
import { jsx as jsx200, jsxs as jsxs105 } from "react/jsx-runtime";
|
|
@@ -27522,27 +27576,37 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
27522
27576
|
clearFilters,
|
|
27523
27577
|
searchApi,
|
|
27524
27578
|
actions,
|
|
27579
|
+
viewModeToggle,
|
|
27525
27580
|
selectionSummary = false
|
|
27526
27581
|
} = props;
|
|
27527
27582
|
const testId = useTestIds(props, "gridTableLayoutActions");
|
|
27528
27583
|
const filterTid = useTestIds({}, filterTestIdPrefix);
|
|
27584
|
+
const showEditColumns = !!(hasHideableColumns && view === "list" && columns && api);
|
|
27585
|
+
const hasRightItems = selectionSummary && !!api || !!viewModeToggle?.length || showEditColumns || !!withCardView && view !== void 0 && !!setView || !!actions?.length;
|
|
27529
27586
|
const {
|
|
27530
|
-
sm
|
|
27587
|
+
sm: smBreakpoint
|
|
27531
27588
|
} = useBreakpoint();
|
|
27589
|
+
const {
|
|
27590
|
+
rowRef,
|
|
27591
|
+
leftRef,
|
|
27592
|
+
rightRef,
|
|
27593
|
+
compact
|
|
27594
|
+
} = useToolbarCompact(!smBreakpoint && hasRightItems);
|
|
27595
|
+
const sm = smBreakpoint || compact;
|
|
27532
27596
|
const {
|
|
27533
27597
|
inModal
|
|
27534
27598
|
} = useModalContext();
|
|
27535
27599
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
27536
27600
|
const insetHandled = useContentInsetHandled();
|
|
27537
27601
|
const withPagePadding = inDocumentScrollLayout && !insetHandled;
|
|
27538
|
-
const [showSearch, setShowSearch] =
|
|
27539
|
-
const [showFilters, setShowFilters] =
|
|
27602
|
+
const [showSearch, setShowSearch] = useState48(false);
|
|
27603
|
+
const [showFilters, setShowFilters] = useState48(false);
|
|
27540
27604
|
const [{
|
|
27541
27605
|
search: initialValue
|
|
27542
27606
|
}, setQueryParams] = useQueryParams({
|
|
27543
27607
|
search: StringParam
|
|
27544
27608
|
});
|
|
27545
|
-
const [searchValue, setSearchValue] =
|
|
27609
|
+
const [searchValue, setSearchValue] = useState48(inModal ? "" : initialValue || "");
|
|
27546
27610
|
const handleSearchDebounced = useDebouncedCallback6((value) => {
|
|
27547
27611
|
if (searchProps) {
|
|
27548
27612
|
searchProps.onSearch(value);
|
|
@@ -27556,9 +27620,13 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
27556
27620
|
const hasGroupBy = !!groupBy;
|
|
27557
27621
|
const controlCount = filterCount + (hasGroupBy ? 1 : 0);
|
|
27558
27622
|
const hasFilterControls = controlCount > 0;
|
|
27559
|
-
const
|
|
27623
|
+
const canInline = !inModal && !sm;
|
|
27624
|
+
const groupByInline = canInline && hasGroupBy;
|
|
27625
|
+
const filtersInline = canInline && filterCount > 0 && controlCount <= 2 && !!(filter && setFilter);
|
|
27626
|
+
const showFilterPanel = filterCount > 0 && !filtersInline || hasGroupBy && !groupByInline;
|
|
27560
27627
|
const filterImpls = useMemo46(() => filterDefs ? buildFilterImpls(filterDefs) : {}, [filterDefs]);
|
|
27561
27628
|
const activeFilterCount = useMemo46(() => filter ? getFilterPills(filterImpls, filter).length : 0, [filter, filterImpls]);
|
|
27629
|
+
const viewModeToggleInColumnsMenu = !!viewModeToggle?.length && sm && showEditColumns;
|
|
27562
27630
|
const searchTextField = /* @__PURE__ */ jsx200(TextField, { label: "Search", labelStyle: "hidden", value: searchValue, onChange: (v) => {
|
|
27563
27631
|
setSearchValue(v ?? "");
|
|
27564
27632
|
handleSearchDebounced(v ?? "");
|
|
@@ -27584,7 +27652,7 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
27584
27652
|
paddingBottom: "pb3"
|
|
27585
27653
|
} : {}
|
|
27586
27654
|
}), children: [
|
|
27587
|
-
/* @__PURE__ */ jsxs105("div", { ...trussProps116({
|
|
27655
|
+
/* @__PURE__ */ jsxs105("div", { ref: rowRef, ...trussProps116({
|
|
27588
27656
|
// Holds the row at the 40px button height, so a pill alone in it doesn't shift the table when it appears
|
|
27589
27657
|
...{
|
|
27590
27658
|
display: "df",
|
|
@@ -27596,25 +27664,30 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
27596
27664
|
},
|
|
27597
27665
|
...withPagePadding ? pageContentPaddingX : void 0
|
|
27598
27666
|
}), ...testId.toolbar, children: [
|
|
27599
|
-
/* @__PURE__ */ jsxs105("div", { className: "df g_12px aic", children: [
|
|
27667
|
+
/* @__PURE__ */ jsxs105("div", { ref: leftRef, className: "df fs0 g_12px aic", children: [
|
|
27600
27668
|
!sm && hasSearch && /* @__PURE__ */ jsx200("div", { className: "w_244px", children: searchTextField }),
|
|
27601
27669
|
sm && hasSearch && /* @__PURE__ */ jsx200(IconButton, { variant: "outline", icon: searchValue ? "searchBadged" : "search", label: "Search", onClick: () => setShowSearch(!showSearch), active: showSearch, ...testId.searchButton }),
|
|
27602
27670
|
sm && hasFilterControls && /* @__PURE__ */ jsx200(IconButton, { variant: "outline", icon: activeFilterCount > 0 ? "filterBadged" : "filter", label: "Filter", onClick: () => setShowFilters(!showFilters), active: showFilters, ...testId.filterSmallButton }),
|
|
27603
|
-
|
|
27604
|
-
!sm &&
|
|
27671
|
+
filtersInline && filter && setFilter && buildFilterControls(filterImpls, filter, setFilter, filterTid),
|
|
27672
|
+
!sm && showFilterPanel && /* @__PURE__ */ jsx200(Button, { label: "Filter", icon: "filter", size: "md", endAdornment: /* @__PURE__ */ jsxs105("div", { className: "df aic g_1", children: [
|
|
27605
27673
|
activeFilterCount > 0 && /* @__PURE__ */ jsx200(CountBadge, { count: activeFilterCount }),
|
|
27606
27674
|
/* @__PURE__ */ jsx200(Icon, { icon: showFilters ? "chevronUp" : "chevronDown" })
|
|
27607
|
-
] }), variant: "secondaryBlack", onClick: () => setShowFilters(!showFilters), active: showFilters, ...testId.filterButton })
|
|
27675
|
+
] }), variant: "secondaryBlack", onClick: () => setShowFilters(!showFilters), active: showFilters, ...testId.filterButton }),
|
|
27676
|
+
groupByInline && groupBy && /* @__PURE__ */ jsx200(GroupByField, { ...groupBy }),
|
|
27677
|
+
filtersInline && activeFilterCount > 0 && /* @__PURE__ */ jsx200(Button, { label: "Clear", variant: "tertiary", onClick: () => maybeCall(clearFilters), ...filterTid.clearBtn })
|
|
27608
27678
|
] }),
|
|
27609
|
-
|
|
27679
|
+
hasRightItems && /* @__PURE__ */ jsxs105("div", { ref: rightRef, className: "df fs0 aic g_12px", children: [
|
|
27610
27680
|
selectionSummary && api && /* @__PURE__ */ jsx200(SelectionSummaryAction, { api, numberOnly: sm }),
|
|
27611
|
-
|
|
27612
|
-
|
|
27681
|
+
!!viewModeToggle?.length && !viewModeToggleInColumnsMenu && /* @__PURE__ */ jsx200(ButtonGroup, { size: "md", buttons: viewModeToggle, ...testId.viewModeToggle }),
|
|
27682
|
+
showEditColumns && columns && api && /* @__PURE__ */ jsx200(EditColumnsButton, { columns, api, shareColumnVisibility, tooltip: "Display columns", compact: sm, viewToggle: viewModeToggleInColumnsMenu ? {
|
|
27683
|
+
buttons: viewModeToggle
|
|
27684
|
+
} : void 0 }),
|
|
27685
|
+
withCardView && view !== void 0 && setView && /* @__PURE__ */ jsx200(ViewToggleButton, { view, onChange: setView, compact: sm }),
|
|
27613
27686
|
!!actions?.length && /* @__PURE__ */ jsx200(HeaderActions, { actions, ...testId.actions })
|
|
27614
27687
|
] })
|
|
27615
27688
|
] }),
|
|
27616
27689
|
sm && showSearch && /* @__PURE__ */ jsx200("div", { ...trussProps116(withPagePadding ? pageContentPaddingX : void 0), children: searchTextField }),
|
|
27617
|
-
|
|
27690
|
+
showFilterPanel && /* @__PURE__ */ jsx200(FilterPanel, { isOpen: showFilters, groupBy: groupByInline ? void 0 : groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
|
|
27618
27691
|
] });
|
|
27619
27692
|
}
|
|
27620
27693
|
var _GridTableLayoutActions = memo2(GridTableLayoutActionsComponent);
|
|
@@ -27629,16 +27702,16 @@ function SelectionSummaryAction(props) {
|
|
|
27629
27702
|
}
|
|
27630
27703
|
|
|
27631
27704
|
// src/components/Layout/GridTableLayout/GridTableLayoutHost.tsx
|
|
27632
|
-
import { useResizeObserver as
|
|
27633
|
-
import { useCallback as
|
|
27705
|
+
import { useResizeObserver as useResizeObserver10 } from "@react-aria/utils";
|
|
27706
|
+
import { useCallback as useCallback33, useLayoutEffect as useLayoutEffect14, useRef as useRef64 } from "react";
|
|
27634
27707
|
|
|
27635
27708
|
// src/components/Layout/RightPaneLayout/DocumentScrollOverlayRightPaneLayout.tsx
|
|
27636
|
-
import { useContext as useContext23, useEffect as useEffect27, useLayoutEffect as
|
|
27709
|
+
import { useContext as useContext23, useEffect as useEffect27, useLayoutEffect as useLayoutEffect13, useRef as useRef63, useState as useState51 } from "react";
|
|
27637
27710
|
import { mergeProps as mergeProps33 } from "@homebound/truss/runtime";
|
|
27638
27711
|
|
|
27639
27712
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
27640
27713
|
import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
|
|
27641
|
-
import { useCallback as
|
|
27714
|
+
import { useCallback as useCallback31, useLayoutEffect as useLayoutEffect12, useRef as useRef61, useState as useState50 } from "react";
|
|
27642
27715
|
import { usePreventScroll as usePreventScroll3 } from "react-aria";
|
|
27643
27716
|
import { createPortal as createPortal7 } from "react-dom";
|
|
27644
27717
|
|
|
@@ -27654,11 +27727,11 @@ function useEnvironmentBannerLayoutHeight() {
|
|
|
27654
27727
|
}
|
|
27655
27728
|
|
|
27656
27729
|
// src/layouts/useScrollPinnedViewportBounds.ts
|
|
27657
|
-
import { useCallback as
|
|
27730
|
+
import { useCallback as useCallback30, useLayoutEffect as useLayoutEffect11, useRef as useRef60, useState as useState49 } from "react";
|
|
27658
27731
|
function useScrollPinnedViewportBounds(anchorRef, enabled, getPinTopPx) {
|
|
27659
|
-
const [bounds, setBounds] =
|
|
27660
|
-
const getPinTopPxRef =
|
|
27661
|
-
const syncBounds =
|
|
27732
|
+
const [bounds, setBounds] = useState49();
|
|
27733
|
+
const getPinTopPxRef = useRef60(getPinTopPx);
|
|
27734
|
+
const syncBounds = useCallback30(() => {
|
|
27662
27735
|
const el = anchorRef.current;
|
|
27663
27736
|
if (!el) return;
|
|
27664
27737
|
const rect = el.getBoundingClientRect();
|
|
@@ -27667,10 +27740,10 @@ function useScrollPinnedViewportBounds(anchorRef, enabled, getPinTopPx) {
|
|
|
27667
27740
|
const topPx = isPinned ? pinTopPx : Math.round(rect.top);
|
|
27668
27741
|
setBounds((prev) => prev?.topPx === topPx && prev?.isPinned === isPinned ? prev : { topPx, isPinned });
|
|
27669
27742
|
}, [anchorRef]);
|
|
27670
|
-
|
|
27743
|
+
useLayoutEffect11(() => {
|
|
27671
27744
|
getPinTopPxRef.current = getPinTopPx;
|
|
27672
27745
|
}, [getPinTopPx]);
|
|
27673
|
-
|
|
27746
|
+
useLayoutEffect11(() => {
|
|
27674
27747
|
if (!enabled) {
|
|
27675
27748
|
setBounds(void 0);
|
|
27676
27749
|
return;
|
|
@@ -27851,25 +27924,25 @@ function DocumentScrollRightPane({
|
|
|
27851
27924
|
} = useRightPaneOpenState();
|
|
27852
27925
|
const rightPaneContent = useRightPaneContent();
|
|
27853
27926
|
const tid = useTestIds({}, "rightPaneContent");
|
|
27854
|
-
const paneRef =
|
|
27855
|
-
const [keepPaneLayout, setKeepPaneLayout] =
|
|
27856
|
-
const exitReleasedRef =
|
|
27927
|
+
const paneRef = useRef61(null);
|
|
27928
|
+
const [keepPaneLayout, setKeepPaneLayout] = useState50(false);
|
|
27929
|
+
const exitReleasedRef = useRef61(false);
|
|
27857
27930
|
const bannerHeightPx = useEnvironmentBannerLayoutHeight();
|
|
27858
27931
|
const isFixedOverlay = !mobile;
|
|
27859
|
-
|
|
27932
|
+
useLayoutEffect12(() => {
|
|
27860
27933
|
if (isRightPaneOpen) {
|
|
27861
27934
|
setKeepPaneLayout(true);
|
|
27862
27935
|
exitReleasedRef.current = false;
|
|
27863
27936
|
}
|
|
27864
27937
|
}, [isRightPaneOpen]);
|
|
27865
27938
|
const paneLayoutActive = isRightPaneOpen || keepPaneLayout;
|
|
27866
|
-
const releaseAfterExit =
|
|
27939
|
+
const releaseAfterExit = useCallback31(() => {
|
|
27867
27940
|
if (exitReleasedRef.current) return;
|
|
27868
27941
|
exitReleasedRef.current = true;
|
|
27869
27942
|
clearPane2();
|
|
27870
27943
|
setKeepPaneLayout(false);
|
|
27871
27944
|
}, [clearPane2]);
|
|
27872
|
-
|
|
27945
|
+
useLayoutEffect12(() => {
|
|
27873
27946
|
if (isRightPaneOpen || !keepPaneLayout) return;
|
|
27874
27947
|
return waitForRightPaneExit(releaseAfterExit);
|
|
27875
27948
|
}, [isRightPaneOpen, keepPaneLayout, releaseAfterExit]);
|
|
@@ -27987,10 +28060,10 @@ function DocumentScrollRightPaneLayoutRoot(props) {
|
|
|
27987
28060
|
}
|
|
27988
28061
|
|
|
27989
28062
|
// src/components/Layout/RightPaneLayout/useDocumentScrollRightPaneAnchorRef.ts
|
|
27990
|
-
import { useCallback as
|
|
28063
|
+
import { useCallback as useCallback32, useRef as useRef62 } from "react";
|
|
27991
28064
|
function useDocumentScrollRightPaneAnchorRef() {
|
|
27992
|
-
const ref =
|
|
27993
|
-
const setRef =
|
|
28065
|
+
const ref = useRef62(null);
|
|
28066
|
+
const setRef = useCallback32((node) => {
|
|
27994
28067
|
if (!node && ref.current) {
|
|
27995
28068
|
hideRightPane();
|
|
27996
28069
|
}
|
|
@@ -28025,7 +28098,7 @@ function DocumentScrollOverlayRightPaneLayout({
|
|
|
28025
28098
|
} = useBreakpoint();
|
|
28026
28099
|
const tid = useTestIds({}, "documentScrollRightPaneLayout");
|
|
28027
28100
|
const anchorRef = useDocumentScrollRightPaneAnchorRef();
|
|
28028
|
-
const spacerRef =
|
|
28101
|
+
const spacerRef = useRef63(null);
|
|
28029
28102
|
useEffect27(() => {
|
|
28030
28103
|
if (nestedInLayout && process.env.NODE_ENV !== "production") {
|
|
28031
28104
|
console.warn("DocumentScrollOverlayRightPaneLayout is nested inside another document-scroll right-pane layout. Use a single layout (compose at the body; do not set withRightPane on both a parent and a nested layout).");
|
|
@@ -28060,20 +28133,20 @@ function DocumentScrollOverlayRightPaneHost(props) {
|
|
|
28060
28133
|
isRightPaneOpen
|
|
28061
28134
|
} = useRightPaneOpenState();
|
|
28062
28135
|
const paneWidthCss = documentScrollRightPaneWidthCss(paneWidth);
|
|
28063
|
-
const [keepOverlayChrome, setKeepOverlayChrome] =
|
|
28064
|
-
|
|
28136
|
+
const [keepOverlayChrome, setKeepOverlayChrome] = useState51(isRightPaneOpen);
|
|
28137
|
+
useLayoutEffect13(() => {
|
|
28065
28138
|
if (isRightPaneOpen) {
|
|
28066
28139
|
setKeepOverlayChrome(true);
|
|
28067
28140
|
return;
|
|
28068
28141
|
}
|
|
28069
28142
|
return waitForRightPaneExit(() => setKeepOverlayChrome(false));
|
|
28070
28143
|
}, [isRightPaneOpen]);
|
|
28071
|
-
|
|
28144
|
+
useLayoutEffect13(() => {
|
|
28072
28145
|
const spacer = spacerRef.current;
|
|
28073
28146
|
if (!spacer) return;
|
|
28074
28147
|
spacer.style.width = isRightPaneOpen ? paneWidthCss : "0px";
|
|
28075
28148
|
}, [isRightPaneOpen, paneWidthCss, spacerRef]);
|
|
28076
|
-
|
|
28149
|
+
useLayoutEffect13(() => {
|
|
28077
28150
|
const layoutRoot = anchorRef.current;
|
|
28078
28151
|
if (!layoutRoot) return;
|
|
28079
28152
|
const openPaneWidth = keepOverlayChrome ? paneWidthCss : "0px";
|
|
@@ -28129,8 +28202,8 @@ function GridTableLayoutHost(props) {
|
|
|
28129
28202
|
testIds,
|
|
28130
28203
|
children
|
|
28131
28204
|
} = props;
|
|
28132
|
-
const tableWrapperRef =
|
|
28133
|
-
const tableActionsRef =
|
|
28205
|
+
const tableWrapperRef = useRef64(null);
|
|
28206
|
+
const tableActionsRef = useRef64(null);
|
|
28134
28207
|
const hasActions = actions !== void 0;
|
|
28135
28208
|
useSetTableActionsHeight(tableWrapperRef, tableActionsRef, host.kind !== "scrollable-parent" && hasActions);
|
|
28136
28209
|
const shared = {
|
|
@@ -28233,7 +28306,7 @@ function ActionsBar({
|
|
|
28233
28306
|
return /* @__PURE__ */ jsx205("div", { ref: actionsRef, ...trussProps117(xss), ...testIds.stickyContent, children });
|
|
28234
28307
|
}
|
|
28235
28308
|
function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
28236
|
-
const syncHeightVar =
|
|
28309
|
+
const syncHeightVar = useCallback33(() => {
|
|
28237
28310
|
const tableWrapper = tableWrapperRef.current;
|
|
28238
28311
|
if (!tableWrapper) return;
|
|
28239
28312
|
if (!enabled) {
|
|
@@ -28247,11 +28320,11 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
28247
28320
|
tableWrapper.style.removeProperty(beamTableActionsHeightVar);
|
|
28248
28321
|
}
|
|
28249
28322
|
}, [enabled, tableActionsRef, tableWrapperRef]);
|
|
28250
|
-
|
|
28323
|
+
useResizeObserver10({
|
|
28251
28324
|
ref: tableActionsRef,
|
|
28252
28325
|
onResize: enabled ? syncHeightVar : noop
|
|
28253
28326
|
});
|
|
28254
|
-
|
|
28327
|
+
useLayoutEffect14(() => {
|
|
28255
28328
|
syncHeightVar();
|
|
28256
28329
|
const tableWrapper = tableWrapperRef.current;
|
|
28257
28330
|
return () => {
|
|
@@ -28297,10 +28370,10 @@ function useGridTableLayoutHost() {
|
|
|
28297
28370
|
}
|
|
28298
28371
|
|
|
28299
28372
|
// src/components/Layout/GridTableLayout/usePersistedTableView.ts
|
|
28300
|
-
import { useCallback as
|
|
28373
|
+
import { useCallback as useCallback34, useState as useState52 } from "react";
|
|
28301
28374
|
function usePersistedTableView(defaultView, persist) {
|
|
28302
28375
|
const storageKey = persist ? getGridTableViewStorageKey(window.location.pathname) : void 0;
|
|
28303
|
-
const [view, setView] =
|
|
28376
|
+
const [view, setView] = useState52(() => {
|
|
28304
28377
|
if (!storageKey) return defaultView;
|
|
28305
28378
|
try {
|
|
28306
28379
|
return parseStoredTableView(localStorage.getItem(storageKey)) ?? defaultView;
|
|
@@ -28308,7 +28381,7 @@ function usePersistedTableView(defaultView, persist) {
|
|
|
28308
28381
|
return defaultView;
|
|
28309
28382
|
}
|
|
28310
28383
|
});
|
|
28311
|
-
const setViewAndPersist =
|
|
28384
|
+
const setViewAndPersist = useCallback34(
|
|
28312
28385
|
(next) => {
|
|
28313
28386
|
setView(next);
|
|
28314
28387
|
if (storageKey) {
|
|
@@ -28335,15 +28408,15 @@ function isGridTableProps(props) {
|
|
|
28335
28408
|
}
|
|
28336
28409
|
|
|
28337
28410
|
// src/hooks/useGroupBy.ts
|
|
28338
|
-
import { useMemo as useMemo48, useState as
|
|
28411
|
+
import { useMemo as useMemo48, useState as useState53 } from "react";
|
|
28339
28412
|
|
|
28340
28413
|
// src/hooks/useQueryState.ts
|
|
28341
|
-
import { useCallback as
|
|
28414
|
+
import { useCallback as useCallback35 } from "react";
|
|
28342
28415
|
import { StringParam as StringParam2, useQueryParams as useQueryParams2 } from "use-query-params";
|
|
28343
28416
|
function useQueryState(name, initialValue) {
|
|
28344
28417
|
const [params, setParams] = useQueryParams2({ [name]: StringParam2 });
|
|
28345
28418
|
const value = params[name] || initialValue;
|
|
28346
|
-
const setValue =
|
|
28419
|
+
const setValue = useCallback35((value2) => setParams({ [name]: value2 }, "pushIn"), [name, setParams]);
|
|
28347
28420
|
return [value, setValue];
|
|
28348
28421
|
}
|
|
28349
28422
|
|
|
@@ -28356,7 +28429,7 @@ function useGroupBy(opts) {
|
|
|
28356
28429
|
[]
|
|
28357
28430
|
);
|
|
28358
28431
|
const [queryValue, setQueryValue] = useQueryState("groupBy", options[0].id);
|
|
28359
|
-
const [localValue, setLocalValue] =
|
|
28432
|
+
const [localValue, setLocalValue] = useState53(options[0].id);
|
|
28360
28433
|
return {
|
|
28361
28434
|
value: inModal ? localValue : queryValue,
|
|
28362
28435
|
setValue: inModal ? setLocalValue : setQueryValue,
|
|
@@ -28365,17 +28438,17 @@ function useGroupBy(opts) {
|
|
|
28365
28438
|
}
|
|
28366
28439
|
|
|
28367
28440
|
// src/hooks/usePersistedFilter.ts
|
|
28368
|
-
import { useEffect as useEffect28, useMemo as useMemo49, useRef as
|
|
28441
|
+
import { useEffect as useEffect28, useMemo as useMemo49, useRef as useRef65 } from "react";
|
|
28369
28442
|
|
|
28370
28443
|
// src/hooks/useSessionStorage.ts
|
|
28371
|
-
import { useCallback as
|
|
28444
|
+
import { useCallback as useCallback36, useState as useState54 } from "react";
|
|
28372
28445
|
function useSessionStorage(key, defaultValue) {
|
|
28373
28446
|
let hasSessionStorage = false;
|
|
28374
28447
|
try {
|
|
28375
28448
|
hasSessionStorage = !!window.sessionStorage;
|
|
28376
28449
|
} catch (e) {
|
|
28377
28450
|
}
|
|
28378
|
-
const [state, setState] =
|
|
28451
|
+
const [state, setState] = useState54(() => {
|
|
28379
28452
|
if (!hasSessionStorage) {
|
|
28380
28453
|
return defaultValue;
|
|
28381
28454
|
}
|
|
@@ -28386,7 +28459,7 @@ function useSessionStorage(key, defaultValue) {
|
|
|
28386
28459
|
sessionStorage.setItem(key, JSON.stringify(defaultValue));
|
|
28387
28460
|
return defaultValue;
|
|
28388
28461
|
});
|
|
28389
|
-
const setAndSave =
|
|
28462
|
+
const setAndSave = useCallback36(
|
|
28390
28463
|
(value) => {
|
|
28391
28464
|
if (hasSessionStorage && value) {
|
|
28392
28465
|
sessionStorage.setItem(key, JSON.stringify(value));
|
|
@@ -28502,8 +28575,8 @@ function parseSerializedValue(value) {
|
|
|
28502
28575
|
return value === void 0 ? void 0 : JSON.parse(value);
|
|
28503
28576
|
}
|
|
28504
28577
|
function useStableValue(value) {
|
|
28505
|
-
const stableValue =
|
|
28506
|
-
const stableKey =
|
|
28578
|
+
const stableValue = useRef65(value);
|
|
28579
|
+
const stableKey = useRef65(JSON.stringify(value));
|
|
28507
28580
|
const nextKey = JSON.stringify(value);
|
|
28508
28581
|
if (stableKey.current !== nextKey) {
|
|
28509
28582
|
stableValue.current = value;
|
|
@@ -28519,6 +28592,7 @@ function GridTableLayoutComponent(props) {
|
|
|
28519
28592
|
tableProps,
|
|
28520
28593
|
layoutState,
|
|
28521
28594
|
actions,
|
|
28595
|
+
viewModeToggle,
|
|
28522
28596
|
selectionSummary = false,
|
|
28523
28597
|
hideEditColumns = false,
|
|
28524
28598
|
shareColumnVisibility = false,
|
|
@@ -28544,7 +28618,7 @@ function GridTableLayoutComponent(props) {
|
|
|
28544
28618
|
);
|
|
28545
28619
|
const [view, setView] = usePersistedTableView(defaultView, !!withCardView);
|
|
28546
28620
|
const clientSearch = layoutState?.search === "client" ? layoutState.searchString : void 0;
|
|
28547
|
-
const showTableActions = !!(layoutState?.filterDefs || layoutState?.search || hasHideableColumns || withCardView || actions?.length || // Rendered before anything's selected, so the pill doesn't shift the table
|
|
28621
|
+
const showTableActions = !!(layoutState?.filterDefs || layoutState?.search || hasHideableColumns || withCardView || actions?.length || viewModeToggle?.length || // Rendered before anything's selected, so the pill doesn't shift the table
|
|
28548
28622
|
selectionSummary);
|
|
28549
28623
|
const isVirtualized = tableProps.as === "virtual" || view === "card";
|
|
28550
28624
|
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
@@ -28558,8 +28632,8 @@ function GridTableLayoutComponent(props) {
|
|
|
28558
28632
|
() => layoutState?.search ? { onSearch: layoutState.setSearchString } : void 0,
|
|
28559
28633
|
[layoutState?.search, layoutState?.setSearchString]
|
|
28560
28634
|
);
|
|
28561
|
-
const searchApiRef =
|
|
28562
|
-
const clearFilters =
|
|
28635
|
+
const searchApiRef = useRef66(void 0);
|
|
28636
|
+
const clearFilters = useCallback37(() => {
|
|
28563
28637
|
layoutState?.clearFilters();
|
|
28564
28638
|
searchApiRef.current?.clear();
|
|
28565
28639
|
}, [layoutState]);
|
|
@@ -28585,6 +28659,7 @@ function GridTableLayoutComponent(props) {
|
|
|
28585
28659
|
clearFilters,
|
|
28586
28660
|
searchApi: searchApiRef,
|
|
28587
28661
|
actions,
|
|
28662
|
+
viewModeToggle,
|
|
28588
28663
|
selectionSummary
|
|
28589
28664
|
}
|
|
28590
28665
|
);
|
|
@@ -28652,14 +28727,14 @@ function useGridTableLayoutState({
|
|
|
28652
28727
|
const filterFallback = { filterDefs: {}, storageKey: "unset-filter" };
|
|
28653
28728
|
const { filter, setFilter } = usePersistedFilter(persistedFilter ?? filterFallback);
|
|
28654
28729
|
const groupBy = useGroupBy(maybeGroupBy ?? { none: "none" });
|
|
28655
|
-
const [searchString, setSearchString] =
|
|
28730
|
+
const [searchString, setSearchString] = useState55("");
|
|
28656
28731
|
const columnsFallback = "unset-columns";
|
|
28657
28732
|
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(
|
|
28658
28733
|
persistedColumns?.storageKey ?? columnsFallback,
|
|
28659
28734
|
void 0
|
|
28660
28735
|
);
|
|
28661
28736
|
const filteringActive = getActiveFilterCount(filter) > 0 || !!searchString;
|
|
28662
|
-
const clearFilters =
|
|
28737
|
+
const clearFilters = useCallback37(() => {
|
|
28663
28738
|
setFilter({});
|
|
28664
28739
|
setSearchString("");
|
|
28665
28740
|
}, [setFilter]);
|
|
@@ -28814,12 +28889,12 @@ function RightPaneLayout(props) {
|
|
|
28814
28889
|
}
|
|
28815
28890
|
|
|
28816
28891
|
// src/components/Layout/RightPaneLayout/RightPanePanel.tsx
|
|
28817
|
-
import { createContext as createContext14, useContext as useContext24, useEffect as useEffect31, useState as
|
|
28892
|
+
import { createContext as createContext14, useContext as useContext24, useEffect as useEffect31, useState as useState57 } from "react";
|
|
28818
28893
|
import { createPortal as createPortal8 } from "react-dom";
|
|
28819
28894
|
|
|
28820
28895
|
// src/components/Layout/RightPaneLayout/internal/DeleteAction.tsx
|
|
28821
|
-
import { useResizeObserver as
|
|
28822
|
-
import { useRef as
|
|
28896
|
+
import { useResizeObserver as useResizeObserver11 } from "@react-aria/utils";
|
|
28897
|
+
import { useRef as useRef67, useState as useState56 } from "react";
|
|
28823
28898
|
import { trussProps as trussProps119 } from "@homebound/truss/runtime";
|
|
28824
28899
|
import { jsx as jsx210, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
28825
28900
|
function MaybeDeleteAction(props) {
|
|
@@ -28836,18 +28911,18 @@ function BulkDeleteAction(props) {
|
|
|
28836
28911
|
count,
|
|
28837
28912
|
...buttonProps
|
|
28838
28913
|
} = props;
|
|
28839
|
-
const containerRef =
|
|
28840
|
-
const contentRef =
|
|
28841
|
-
const [overflows, setOverflows] =
|
|
28914
|
+
const containerRef = useRef67(null);
|
|
28915
|
+
const contentRef = useRef67(null);
|
|
28916
|
+
const [overflows, setOverflows] = useState56(false);
|
|
28842
28917
|
const onResize = () => {
|
|
28843
28918
|
if (!containerRef.current || !contentRef.current) return;
|
|
28844
28919
|
setOverflows(contentRef.current.offsetWidth > containerRef.current.clientWidth);
|
|
28845
28920
|
};
|
|
28846
|
-
|
|
28921
|
+
useResizeObserver11({
|
|
28847
28922
|
ref: containerRef,
|
|
28848
28923
|
onResize
|
|
28849
28924
|
});
|
|
28850
|
-
|
|
28925
|
+
useResizeObserver11({
|
|
28851
28926
|
ref: contentRef,
|
|
28852
28927
|
onResize
|
|
28853
28928
|
});
|
|
@@ -28905,7 +28980,7 @@ function RightPanePanel(props) {
|
|
|
28905
28980
|
const {
|
|
28906
28981
|
closeRightPane
|
|
28907
28982
|
} = useRightPaneActions();
|
|
28908
|
-
const [bannerSlot, setBannerSlot] =
|
|
28983
|
+
const [bannerSlot, setBannerSlot] = useState57(null);
|
|
28909
28984
|
const {
|
|
28910
28985
|
openModal
|
|
28911
28986
|
} = useModal();
|
|
@@ -28992,7 +29067,7 @@ function ScrollableFooter(props) {
|
|
|
28992
29067
|
|
|
28993
29068
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
28994
29069
|
import { AnimatePresence as AnimatePresence5, motion as motion5 } from "framer-motion";
|
|
28995
|
-
import { useEffect as useEffect32, useState as
|
|
29070
|
+
import { useEffect as useEffect32, useState as useState58 } from "react";
|
|
28996
29071
|
|
|
28997
29072
|
// src/components/Layout/TableReviewLayout/SidePanel.tsx
|
|
28998
29073
|
import { jsx as jsx213, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
@@ -29032,7 +29107,7 @@ function TableReviewLayout(props) {
|
|
|
29032
29107
|
rightPaneWidth = defaultRightPaneWidth
|
|
29033
29108
|
} = props;
|
|
29034
29109
|
const tid = useTestIds(props, "tableReviewLayout");
|
|
29035
|
-
const [isPanelVisible, setIsPanelVisible] =
|
|
29110
|
+
const [isPanelVisible, setIsPanelVisible] = useState58(!!panelContent);
|
|
29036
29111
|
useEffect32(() => {
|
|
29037
29112
|
setIsPanelVisible(!!panelContent);
|
|
29038
29113
|
}, [panelContent]);
|
|
@@ -29192,29 +29267,29 @@ function HomeboundLogo(props) {
|
|
|
29192
29267
|
}
|
|
29193
29268
|
|
|
29194
29269
|
// src/components/MaxLines.tsx
|
|
29195
|
-
import { useLayoutEffect as
|
|
29196
|
-
import { useCallback as
|
|
29270
|
+
import { useLayoutEffect as useLayoutEffect15, useResizeObserver as useResizeObserver12 } from "@react-aria/utils";
|
|
29271
|
+
import { useCallback as useCallback38, useEffect as useEffect33, useRef as useRef68, useState as useState59 } from "react";
|
|
29197
29272
|
import { trussProps as trussProps124, maybeCssVar as maybeCssVar59 } from "@homebound/truss/runtime";
|
|
29198
29273
|
import { jsx as jsx217, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
29199
29274
|
function MaxLines({
|
|
29200
29275
|
maxLines,
|
|
29201
29276
|
children
|
|
29202
29277
|
}) {
|
|
29203
|
-
const elRef =
|
|
29204
|
-
const [hasMore, setHasMore] =
|
|
29205
|
-
const [expanded, setExpanded] =
|
|
29206
|
-
|
|
29278
|
+
const elRef = useRef68(null);
|
|
29279
|
+
const [hasMore, setHasMore] = useState59(false);
|
|
29280
|
+
const [expanded, setExpanded] = useState59(false);
|
|
29281
|
+
useLayoutEffect15(() => {
|
|
29207
29282
|
if (!elRef.current) return;
|
|
29208
29283
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
29209
29284
|
}, []);
|
|
29210
29285
|
useEffect33(() => {
|
|
29211
29286
|
setExpanded(false);
|
|
29212
29287
|
}, [children]);
|
|
29213
|
-
const onResize =
|
|
29288
|
+
const onResize = useCallback38(() => {
|
|
29214
29289
|
if (!elRef.current) return;
|
|
29215
29290
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
29216
29291
|
}, [expanded]);
|
|
29217
|
-
|
|
29292
|
+
useResizeObserver12({
|
|
29218
29293
|
ref: elRef,
|
|
29219
29294
|
onResize
|
|
29220
29295
|
});
|
|
@@ -29324,8 +29399,8 @@ function toPageNumberSize(page) {
|
|
|
29324
29399
|
}
|
|
29325
29400
|
|
|
29326
29401
|
// src/components/ScrollShadows.tsx
|
|
29327
|
-
import { useResizeObserver as
|
|
29328
|
-
import { useCallback as
|
|
29402
|
+
import { useResizeObserver as useResizeObserver13 } from "@react-aria/utils";
|
|
29403
|
+
import { useCallback as useCallback39, useMemo as useMemo51, useRef as useRef69, useState as useState60 } from "react";
|
|
29329
29404
|
import { trussProps as trussProps126, maybeCssVar as maybeCssVar60 } from "@homebound/truss/runtime";
|
|
29330
29405
|
import { jsx as jsx219, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
29331
29406
|
function ScrollShadows(props) {
|
|
@@ -29343,9 +29418,9 @@ function ScrollShadows(props) {
|
|
|
29343
29418
|
if (!bgColor.includes("rgba")) {
|
|
29344
29419
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
29345
29420
|
}
|
|
29346
|
-
const [showStartShadow, setShowStartShadow] =
|
|
29347
|
-
const [showEndShadow, setShowEndShadow] =
|
|
29348
|
-
const scrollRef =
|
|
29421
|
+
const [showStartShadow, setShowStartShadow] = useState60(false);
|
|
29422
|
+
const [showEndShadow, setShowEndShadow] = useState60(false);
|
|
29423
|
+
const scrollRef = useRef69(null);
|
|
29349
29424
|
const [startShadowStyles, endShadowStyles] = useMemo51(() => {
|
|
29350
29425
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
29351
29426
|
const commonStyles = {
|
|
@@ -29397,7 +29472,7 @@ function ScrollShadows(props) {
|
|
|
29397
29472
|
}
|
|
29398
29473
|
}];
|
|
29399
29474
|
}, [horizontal, bgColor]);
|
|
29400
|
-
const updateScrollProps =
|
|
29475
|
+
const updateScrollProps = useCallback39((el) => {
|
|
29401
29476
|
const {
|
|
29402
29477
|
scrollTop,
|
|
29403
29478
|
scrollHeight,
|
|
@@ -29412,8 +29487,8 @@ function ScrollShadows(props) {
|
|
|
29412
29487
|
setShowStartShadow(start > 0);
|
|
29413
29488
|
setShowEndShadow(start + boxSize < end);
|
|
29414
29489
|
}, [horizontal]);
|
|
29415
|
-
const onResize =
|
|
29416
|
-
|
|
29490
|
+
const onResize = useCallback39(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
29491
|
+
useResizeObserver13({
|
|
29417
29492
|
ref: scrollRef,
|
|
29418
29493
|
onResize
|
|
29419
29494
|
});
|
|
@@ -29464,12 +29539,12 @@ function ScrollShadows(props) {
|
|
|
29464
29539
|
import { camelCase as camelCase7 } from "change-case";
|
|
29465
29540
|
|
|
29466
29541
|
// src/components/AppNav/AppNavGroup.tsx
|
|
29467
|
-
import { useResizeObserver as
|
|
29542
|
+
import { useResizeObserver as useResizeObserver14 } from "@react-aria/utils";
|
|
29468
29543
|
import { camelCase as camelCase6, kebabCase } from "change-case";
|
|
29469
|
-
import { useCallback as
|
|
29544
|
+
import { useCallback as useCallback41, useEffect as useEffect34, useMemo as useMemo53, useState as useState62 } from "react";
|
|
29470
29545
|
|
|
29471
29546
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
29472
|
-
import { useMemo as useMemo52, useRef as
|
|
29547
|
+
import { useMemo as useMemo52, useRef as useRef70 } from "react";
|
|
29473
29548
|
import { mergeProps as mergeProps35, useButton as useButton11, useFocusRing as useFocusRing17, useHover as useHover22 } from "react-aria";
|
|
29474
29549
|
import { trussProps as trussProps127, mergeProps as mergeProps_15 } from "@homebound/truss/runtime";
|
|
29475
29550
|
import { jsx as jsx220, jsxs as jsxs118 } from "react/jsx-runtime";
|
|
@@ -29482,7 +29557,7 @@ function AppNavGroupTrigger(props) {
|
|
|
29482
29557
|
active = false
|
|
29483
29558
|
} = props;
|
|
29484
29559
|
const tid = useTestIds(props, "trigger");
|
|
29485
|
-
const ref =
|
|
29560
|
+
const ref = useRef70(null);
|
|
29486
29561
|
const {
|
|
29487
29562
|
buttonProps,
|
|
29488
29563
|
isPressed
|
|
@@ -29641,7 +29716,7 @@ function entryHasIcons(item) {
|
|
|
29641
29716
|
}
|
|
29642
29717
|
|
|
29643
29718
|
// src/components/AppNav/useAppNavGroupExpanded.ts
|
|
29644
|
-
import { useCallback as
|
|
29719
|
+
import { useCallback as useCallback40, useState as useState61 } from "react";
|
|
29645
29720
|
var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
|
|
29646
29721
|
function loadStored() {
|
|
29647
29722
|
try {
|
|
@@ -29660,13 +29735,13 @@ function persistLabel(label, expanded) {
|
|
|
29660
29735
|
}
|
|
29661
29736
|
function useAppNavGroupExpanded(linkGroup) {
|
|
29662
29737
|
const { label } = linkGroup;
|
|
29663
|
-
const [userExpanded, setUserExpanded] =
|
|
29738
|
+
const [userExpanded, setUserExpanded] = useState61(() => {
|
|
29664
29739
|
const stored = loadStored();
|
|
29665
29740
|
return label in stored ? stored[label] : null;
|
|
29666
29741
|
});
|
|
29667
29742
|
const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
|
|
29668
29743
|
const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
|
|
29669
|
-
const onToggle =
|
|
29744
|
+
const onToggle = useCallback40(() => {
|
|
29670
29745
|
const next = !expanded;
|
|
29671
29746
|
setUserExpanded(next);
|
|
29672
29747
|
persistLabel(label, next);
|
|
@@ -29701,20 +29776,20 @@ function AppNavGroupDisclosure(props) {
|
|
|
29701
29776
|
} = useAppNavGroupExpanded(linkGroup);
|
|
29702
29777
|
const tid = useTestIds(props, "linkGroup");
|
|
29703
29778
|
const navGroupId = `nav-group-${kebabCase(linkGroup.label)}`;
|
|
29704
|
-
const [contentEl, setContentEl] =
|
|
29779
|
+
const [contentEl, setContentEl] = useState62(null);
|
|
29705
29780
|
const contentRef = useMemo53(() => ({
|
|
29706
29781
|
current: contentEl
|
|
29707
29782
|
}), [contentEl]);
|
|
29708
|
-
const [contentHeight, setContentHeight] =
|
|
29783
|
+
const [contentHeight, setContentHeight] = useState62(expanded ? "auto" : "0");
|
|
29709
29784
|
useEffect34(() => {
|
|
29710
29785
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
29711
29786
|
}, [expanded, contentEl]);
|
|
29712
|
-
const onResize =
|
|
29787
|
+
const onResize = useCallback41(() => {
|
|
29713
29788
|
if (contentEl && expanded) {
|
|
29714
29789
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
29715
29790
|
}
|
|
29716
29791
|
}, [expanded, contentEl]);
|
|
29717
|
-
|
|
29792
|
+
useResizeObserver14({
|
|
29718
29793
|
ref: contentRef,
|
|
29719
29794
|
onResize
|
|
29720
29795
|
});
|
|
@@ -29857,12 +29932,12 @@ function AppNavItems(props) {
|
|
|
29857
29932
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
29858
29933
|
import {
|
|
29859
29934
|
createContext as createContext15,
|
|
29860
|
-
useCallback as
|
|
29935
|
+
useCallback as useCallback42,
|
|
29861
29936
|
useContext as useContext25,
|
|
29862
29937
|
useEffect as useEffect35,
|
|
29863
29938
|
useMemo as useMemo54,
|
|
29864
|
-
useRef as
|
|
29865
|
-
useState as
|
|
29939
|
+
useRef as useRef71,
|
|
29940
|
+
useState as useState63
|
|
29866
29941
|
} from "react";
|
|
29867
29942
|
import { jsx as jsx225 } from "react/jsx-runtime";
|
|
29868
29943
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
@@ -29888,18 +29963,18 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
29888
29963
|
}
|
|
29889
29964
|
var SideNavLayoutContext = createContext15(void 0);
|
|
29890
29965
|
function SideNavLayoutProvider(props) {
|
|
29891
|
-
const [navState, setNavStateInternal] =
|
|
29966
|
+
const [navState, setNavStateInternal] = useState63(
|
|
29892
29967
|
() => resolveInitialNavState(props.defaultNavState)
|
|
29893
29968
|
);
|
|
29894
29969
|
const bp = useBreakpoint();
|
|
29895
|
-
const prevMdAndUp =
|
|
29970
|
+
const prevMdAndUp = useRef71(bp.mdAndUp);
|
|
29896
29971
|
useEffect35(() => {
|
|
29897
29972
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
29898
29973
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
29899
29974
|
}
|
|
29900
29975
|
prevMdAndUp.current = bp.mdAndUp;
|
|
29901
29976
|
}, [bp.mdAndUp]);
|
|
29902
|
-
const setNavState =
|
|
29977
|
+
const setNavState = useCallback42((value2) => {
|
|
29903
29978
|
setNavStateInternal((prev) => {
|
|
29904
29979
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
29905
29980
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -29980,7 +30055,7 @@ function SideNav(props) {
|
|
|
29980
30055
|
}
|
|
29981
30056
|
|
|
29982
30057
|
// src/components/Stepper.tsx
|
|
29983
|
-
import { useRef as
|
|
30058
|
+
import { useRef as useRef72 } from "react";
|
|
29984
30059
|
import { useButton as useButton12, useFocusRing as useFocusRing18, useHover as useHover23 } from "react-aria";
|
|
29985
30060
|
import { trussProps as trussProps131, maybeCssVar as maybeCssVar62 } from "@homebound/truss/runtime";
|
|
29986
30061
|
import { jsx as jsx227, jsxs as jsxs122 } from "react/jsx-runtime";
|
|
@@ -30062,7 +30137,7 @@ function StepButton(props) {
|
|
|
30062
30137
|
onPress: onClick,
|
|
30063
30138
|
isDisabled: disabled
|
|
30064
30139
|
};
|
|
30065
|
-
const ref =
|
|
30140
|
+
const ref = useRef72(null);
|
|
30066
30141
|
const {
|
|
30067
30142
|
buttonProps,
|
|
30068
30143
|
isPressed
|
|
@@ -30172,7 +30247,7 @@ function StepIcon({
|
|
|
30172
30247
|
}
|
|
30173
30248
|
|
|
30174
30249
|
// src/components/StepperTabs/StepperTab.tsx
|
|
30175
|
-
import { useRef as
|
|
30250
|
+
import { useRef as useRef73 } from "react";
|
|
30176
30251
|
import { mergeProps as mergeProps36, useButton as useButton13, useFocusRing as useFocusRing19, useHover as useHover24, VisuallyHidden as VisuallyHidden10 } from "react-aria";
|
|
30177
30252
|
import { trussProps as trussProps132 } from "@homebound/truss/runtime";
|
|
30178
30253
|
import { Fragment as Fragment49, jsx as jsx228, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
@@ -30191,7 +30266,7 @@ function StepperTab(props) {
|
|
|
30191
30266
|
onPress: () => onClick(value),
|
|
30192
30267
|
isDisabled: disabled || collapsed
|
|
30193
30268
|
};
|
|
30194
|
-
const ref =
|
|
30269
|
+
const ref = useRef73(null);
|
|
30195
30270
|
const {
|
|
30196
30271
|
buttonProps
|
|
30197
30272
|
} = useButton13(ariaProps, ref);
|
|
@@ -30592,7 +30667,7 @@ function segmentWidth(count, total) {
|
|
|
30592
30667
|
}
|
|
30593
30668
|
|
|
30594
30669
|
// src/components/TableSummary/TableSummary.tsx
|
|
30595
|
-
import { useRef as
|
|
30670
|
+
import { useRef as useRef74 } from "react";
|
|
30596
30671
|
import { mergeProps as mergeProps38, useButton as useButton14, useFocusRing as useFocusRing20, useHover as useHover25 } from "react-aria";
|
|
30597
30672
|
import { trussProps as trussProps137, maybeCssVar as maybeCssVar64 } from "@homebound/truss/runtime";
|
|
30598
30673
|
import { jsx as jsx234, jsxs as jsxs128 } from "react/jsx-runtime";
|
|
@@ -30652,7 +30727,7 @@ function MetricButton(props) {
|
|
|
30652
30727
|
metric,
|
|
30653
30728
|
divider
|
|
30654
30729
|
} = props;
|
|
30655
|
-
const ref =
|
|
30730
|
+
const ref = useRef74(null);
|
|
30656
30731
|
const {
|
|
30657
30732
|
buttonProps
|
|
30658
30733
|
} = useButton14({
|
|
@@ -30729,7 +30804,7 @@ function MetricButton(props) {
|
|
|
30729
30804
|
|
|
30730
30805
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
30731
30806
|
import equal2 from "fast-deep-equal";
|
|
30732
|
-
import { useCallback as
|
|
30807
|
+
import { useCallback as useCallback43, useEffect as useEffect36, useRef as useRef75 } from "react";
|
|
30733
30808
|
|
|
30734
30809
|
// src/utils/inlineStyles.ts
|
|
30735
30810
|
function isInlineStyleValue(value) {
|
|
@@ -30779,13 +30854,13 @@ function DnDGrid(props) {
|
|
|
30779
30854
|
activeItemStyles,
|
|
30780
30855
|
lockAxis
|
|
30781
30856
|
} = props;
|
|
30782
|
-
const gridEl =
|
|
30783
|
-
const dragEl =
|
|
30784
|
-
const cloneEl =
|
|
30785
|
-
const initialOrder =
|
|
30786
|
-
const styleSnapshot =
|
|
30787
|
-
const reorderViaKeyboard =
|
|
30788
|
-
const transformFrom =
|
|
30857
|
+
const gridEl = useRef75(null);
|
|
30858
|
+
const dragEl = useRef75(void 0);
|
|
30859
|
+
const cloneEl = useRef75(void 0);
|
|
30860
|
+
const initialOrder = useRef75(void 0);
|
|
30861
|
+
const styleSnapshot = useRef75(void 0);
|
|
30862
|
+
const reorderViaKeyboard = useRef75(false);
|
|
30863
|
+
const transformFrom = useRef75({
|
|
30789
30864
|
x: 0,
|
|
30790
30865
|
y: 0
|
|
30791
30866
|
});
|
|
@@ -30793,20 +30868,20 @@ function DnDGrid(props) {
|
|
|
30793
30868
|
const activeStyles3 = activeItemStyles ?? {
|
|
30794
30869
|
boxShadow: "bshModal"
|
|
30795
30870
|
};
|
|
30796
|
-
const getGridItems =
|
|
30871
|
+
const getGridItems = useCallback43(() => {
|
|
30797
30872
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
30798
30873
|
}, []);
|
|
30799
|
-
const getGridItemIdOrder =
|
|
30874
|
+
const getGridItemIdOrder = useCallback43(() => {
|
|
30800
30875
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
30801
30876
|
}, [getGridItems]);
|
|
30802
|
-
const initReorder =
|
|
30877
|
+
const initReorder = useCallback43(() => {
|
|
30803
30878
|
if (gridEl.current && dragEl.current) {
|
|
30804
30879
|
initialOrder.current = getGridItemIdOrder();
|
|
30805
30880
|
styleSnapshot.current = snapshotElementStyle(dragEl.current);
|
|
30806
30881
|
applyActiveStyles(dragEl.current, activeStyles3);
|
|
30807
30882
|
}
|
|
30808
30883
|
}, [getGridItemIdOrder, activeStyles3]);
|
|
30809
|
-
const commitReorder =
|
|
30884
|
+
const commitReorder = useCallback43(() => {
|
|
30810
30885
|
if (gridEl.current && dragEl.current) {
|
|
30811
30886
|
const currentOrder = getGridItemIdOrder();
|
|
30812
30887
|
if (!equal2(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -30816,7 +30891,7 @@ function DnDGrid(props) {
|
|
|
30816
30891
|
initialOrder.current = currentOrder;
|
|
30817
30892
|
}
|
|
30818
30893
|
}, [onReorder, getGridItemIdOrder]);
|
|
30819
|
-
const cancelReorder =
|
|
30894
|
+
const cancelReorder = useCallback43(() => {
|
|
30820
30895
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
30821
30896
|
const currentOrder = getGridItemIdOrder();
|
|
30822
30897
|
if (!equal2(currentOrder, initialOrder.current)) {
|
|
@@ -30838,7 +30913,7 @@ function DnDGrid(props) {
|
|
|
30838
30913
|
reorderViaKeyboard.current = false;
|
|
30839
30914
|
}
|
|
30840
30915
|
}, [getGridItemIdOrder, getGridItems]);
|
|
30841
|
-
const onMove =
|
|
30916
|
+
const onMove = useCallback43((e) => {
|
|
30842
30917
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
30843
30918
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
30844
30919
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -30861,7 +30936,7 @@ function DnDGrid(props) {
|
|
|
30861
30936
|
}
|
|
30862
30937
|
}
|
|
30863
30938
|
}, [lockAxis]);
|
|
30864
|
-
const onDragEnd =
|
|
30939
|
+
const onDragEnd = useCallback43((e) => {
|
|
30865
30940
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
30866
30941
|
e.preventDefault();
|
|
30867
30942
|
cloneEl.current.replaceWith(dragEl.current);
|
|
@@ -30872,7 +30947,7 @@ function DnDGrid(props) {
|
|
|
30872
30947
|
removePointerDragListeners(onMove, onDragEnd);
|
|
30873
30948
|
}
|
|
30874
30949
|
}, [commitReorder, onMove]);
|
|
30875
|
-
const onDragStart =
|
|
30950
|
+
const onDragStart = useCallback43((e) => {
|
|
30876
30951
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
30877
30952
|
const rect = dragEl.current.getBoundingClientRect();
|
|
30878
30953
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
@@ -30903,7 +30978,7 @@ function DnDGrid(props) {
|
|
|
30903
30978
|
useEffect36(() => {
|
|
30904
30979
|
return () => removePointerDragListeners(onMove, onDragEnd);
|
|
30905
30980
|
}, [onMove, onDragEnd]);
|
|
30906
|
-
const onDragHandleKeyDown =
|
|
30981
|
+
const onDragHandleKeyDown = useCallback43((e) => {
|
|
30907
30982
|
const moveHandle = e.target;
|
|
30908
30983
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
30909
30984
|
const isSpaceKey = e.key === " ";
|
|
@@ -31805,17 +31880,17 @@ function OpenModal(props) {
|
|
|
31805
31880
|
|
|
31806
31881
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
31807
31882
|
import { AnimatePresence as AnimatePresence6, motion as motion7 } from "framer-motion";
|
|
31808
|
-
import { useEffect as useEffect39, useState as
|
|
31883
|
+
import { useEffect as useEffect39, useState as useState65 } from "react";
|
|
31809
31884
|
import { FocusScope as FocusScope7, usePreventScroll as usePreventScroll4 } from "react-aria";
|
|
31810
31885
|
import { createPortal as createPortal11 } from "react-dom";
|
|
31811
31886
|
import { useLocation } from "react-router-dom";
|
|
31812
31887
|
|
|
31813
31888
|
// src/layouts/NavbarLayout/MobileSubNavContext.tsx
|
|
31814
|
-
import { createContext as createContext18, useContext as useContext29, useLayoutEffect as
|
|
31889
|
+
import { createContext as createContext18, useContext as useContext29, useLayoutEffect as useLayoutEffect16, useMemo as useMemo60, useState as useState64 } from "react";
|
|
31815
31890
|
import { jsx as jsx250 } from "react/jsx-runtime";
|
|
31816
31891
|
var MobileSubNavContext = createContext18(void 0);
|
|
31817
31892
|
function MobileSubNavProvider(props) {
|
|
31818
|
-
const [mobileSubNav, setMobileSubNav] =
|
|
31893
|
+
const [mobileSubNav, setMobileSubNav] = useState64(null);
|
|
31819
31894
|
const value = useMemo60(() => ({ mobileSubNav, setMobileSubNav }), [mobileSubNav]);
|
|
31820
31895
|
return /* @__PURE__ */ jsx250(MobileSubNavContext.Provider, { value, children: props.children });
|
|
31821
31896
|
}
|
|
@@ -31827,11 +31902,11 @@ function useRegisterMobileSubNav(content2) {
|
|
|
31827
31902
|
const setMobileSubNav = ctx?.setMobileSubNav;
|
|
31828
31903
|
const enabled = !useBreakpoint().mdAndUp;
|
|
31829
31904
|
const { top, items, footer } = content2;
|
|
31830
|
-
|
|
31905
|
+
useLayoutEffect16(() => {
|
|
31831
31906
|
if (!setMobileSubNav || !enabled) return;
|
|
31832
31907
|
setMobileSubNav({ top, items, footer });
|
|
31833
31908
|
}, [setMobileSubNav, enabled, top, items, footer]);
|
|
31834
|
-
|
|
31909
|
+
useLayoutEffect16(() => {
|
|
31835
31910
|
if (!setMobileSubNav || !enabled) return;
|
|
31836
31911
|
return () => setMobileSubNav(null);
|
|
31837
31912
|
}, [setMobileSubNav, enabled]);
|
|
@@ -31846,8 +31921,8 @@ function NavbarMobileMenu(props) {
|
|
|
31846
31921
|
items
|
|
31847
31922
|
} = props;
|
|
31848
31923
|
const tid = useTestIds(props, "navbar");
|
|
31849
|
-
const [isOpen2, setIsOpen] =
|
|
31850
|
-
const [level, setLevel] =
|
|
31924
|
+
const [isOpen2, setIsOpen] = useState65(false);
|
|
31925
|
+
const [level, setLevel] = useState65("sub");
|
|
31851
31926
|
const {
|
|
31852
31927
|
pathname,
|
|
31853
31928
|
search
|
|
@@ -32006,12 +32081,12 @@ function NavbarMobileDrawer({
|
|
|
32006
32081
|
}
|
|
32007
32082
|
|
|
32008
32083
|
// src/hooks/useContentOverflow.ts
|
|
32009
|
-
import { useCallback as
|
|
32084
|
+
import { useCallback as useCallback44, useLayoutEffect as useLayoutEffect17, useRef as useRef76, useState as useState66 } from "react";
|
|
32010
32085
|
function useContentOverflow(enabled = true) {
|
|
32011
|
-
const containerRef =
|
|
32012
|
-
const contentRef =
|
|
32013
|
-
const [overflows, setOverflows] =
|
|
32014
|
-
const checkContentOverflow =
|
|
32086
|
+
const containerRef = useRef76(null);
|
|
32087
|
+
const contentRef = useRef76(null);
|
|
32088
|
+
const [overflows, setOverflows] = useState66(false);
|
|
32089
|
+
const checkContentOverflow = useCallback44(() => {
|
|
32015
32090
|
const container = containerRef.current;
|
|
32016
32091
|
const content2 = contentRef.current;
|
|
32017
32092
|
if (!enabled || !container || !content2) {
|
|
@@ -32020,7 +32095,7 @@ function useContentOverflow(enabled = true) {
|
|
|
32020
32095
|
}
|
|
32021
32096
|
setOverflows(content2.offsetWidth > container.clientWidth);
|
|
32022
32097
|
}, [enabled]);
|
|
32023
|
-
|
|
32098
|
+
useLayoutEffect17(() => {
|
|
32024
32099
|
checkContentOverflow();
|
|
32025
32100
|
window.addEventListener("resize", checkContentOverflow);
|
|
32026
32101
|
return () => window.removeEventListener("resize", checkContentOverflow);
|
|
@@ -32107,10 +32182,10 @@ function NavbarUserMenu({
|
|
|
32107
32182
|
}
|
|
32108
32183
|
|
|
32109
32184
|
// src/components/Snackbar/useSnackbar.tsx
|
|
32110
|
-
import { useCallback as
|
|
32185
|
+
import { useCallback as useCallback45, useEffect as useEffect40 } from "react";
|
|
32111
32186
|
function useSnackbar() {
|
|
32112
32187
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
32113
|
-
const onClose =
|
|
32188
|
+
const onClose = useCallback45(
|
|
32114
32189
|
(noticeId) => {
|
|
32115
32190
|
setNotices((prev) => {
|
|
32116
32191
|
let returnValue = prev;
|
|
@@ -32127,7 +32202,7 @@ function useSnackbar() {
|
|
|
32127
32202
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32128
32203
|
[]
|
|
32129
32204
|
);
|
|
32130
|
-
const triggerNotice =
|
|
32205
|
+
const triggerNotice = useCallback45(
|
|
32131
32206
|
(props) => {
|
|
32132
32207
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
32133
32208
|
let maybeTimeout;
|
|
@@ -32156,7 +32231,7 @@ function useSnackbar() {
|
|
|
32156
32231
|
},
|
|
32157
32232
|
[onClose, setNotices]
|
|
32158
32233
|
);
|
|
32159
|
-
const closeNotice =
|
|
32234
|
+
const closeNotice = useCallback45((id) => onClose(id), [onClose]);
|
|
32160
32235
|
const useSnackbarOffset = ({ bottom }) => useEffect40(() => {
|
|
32161
32236
|
setOffset({ bottom });
|
|
32162
32237
|
return () => setOffset({});
|
|
@@ -32206,7 +32281,7 @@ function simpleDataRows(data = []) {
|
|
|
32206
32281
|
|
|
32207
32282
|
// src/components/Tabs.tsx
|
|
32208
32283
|
import { camelCase as camelCase8 } from "change-case";
|
|
32209
|
-
import { useEffect as useEffect41, useMemo as useMemo61, useRef as
|
|
32284
|
+
import { useEffect as useEffect41, useMemo as useMemo61, useRef as useRef77, useState as useState67 } from "react";
|
|
32210
32285
|
import { mergeProps as mergeProps42, useFocusRing as useFocusRing22, useHover as useHover27 } from "react-aria";
|
|
32211
32286
|
import { matchPath } from "react-router";
|
|
32212
32287
|
import { Link as Link7, useLocation as useLocation2 } from "react-router-dom";
|
|
@@ -32286,8 +32361,8 @@ function Tabs(props) {
|
|
|
32286
32361
|
focusProps
|
|
32287
32362
|
} = useFocusRing22();
|
|
32288
32363
|
const tid = useTestIds(others, "tabs");
|
|
32289
|
-
const [active, setActive] =
|
|
32290
|
-
const ref =
|
|
32364
|
+
const [active, setActive] = useState67(selected);
|
|
32365
|
+
const ref = useRef77(null);
|
|
32291
32366
|
useEffect41(() => setActive(selected), [selected]);
|
|
32292
32367
|
function onKeyUp(e) {
|
|
32293
32368
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
@@ -32523,51 +32598,79 @@ function hideTabs(props) {
|
|
|
32523
32598
|
}
|
|
32524
32599
|
|
|
32525
32600
|
// src/components/Toast/useToast.tsx
|
|
32526
|
-
import { useCallback as
|
|
32601
|
+
import { useCallback as useCallback46 } from "react";
|
|
32527
32602
|
function useToast() {
|
|
32528
32603
|
const { setNotice, clear } = useToastContext();
|
|
32529
|
-
const showToast =
|
|
32604
|
+
const showToast = useCallback46((props) => setNotice(props), [setNotice]);
|
|
32530
32605
|
return { showToast, clear };
|
|
32531
32606
|
}
|
|
32532
32607
|
|
|
32533
|
-
// src/illustrations/
|
|
32608
|
+
// src/illustrations/AiTableIllustration.tsx
|
|
32534
32609
|
import { trussProps as trussProps145 } from "@homebound/truss/runtime";
|
|
32535
32610
|
import { jsx as jsx254, jsxs as jsxs136 } from "react/jsx-runtime";
|
|
32611
|
+
function AiTableIllustration(props) {
|
|
32612
|
+
const {
|
|
32613
|
+
width: width2 = 349
|
|
32614
|
+
} = props;
|
|
32615
|
+
return /* @__PURE__ */ jsxs136("svg", { viewBox: "0 0 349 197", xmlns: "http://www.w3.org/2000/svg", fill: "none", "aria-hidden": true, role: "presentation", ...trussProps145({
|
|
32616
|
+
width: ["w_var", {
|
|
32617
|
+
"--width": `${width2}px`
|
|
32618
|
+
}],
|
|
32619
|
+
maxWidth: "maxw100",
|
|
32620
|
+
height: "ha"
|
|
32621
|
+
}), children: [
|
|
32622
|
+
/* @__PURE__ */ jsx254("rect", { x: "136.78", y: "22.45", width: "128.37", height: "126.07", rx: "7.38", stroke: "#C1B2F9", strokeWidth: "2.54", strokeLinecap: "round", strokeDasharray: "3.8 7.72", strokeDashoffset: "3.8" }),
|
|
32623
|
+
/* @__PURE__ */ jsx254("rect", { x: "96.22", y: "41.46", width: "144.5", height: "129.41", rx: "7.95", fill: "white" }),
|
|
32624
|
+
/* @__PURE__ */ jsx254("path", { d: "M96.22 64.17V49.42A7.95 7.95 0 0 1 104.17 41.46H232.77A7.95 7.95 0 0 1 240.72 49.42V64.17Z", fill: "#E2DFF5" }),
|
|
32625
|
+
/* @__PURE__ */ jsx254("circle", { cx: "115.97", cy: "78.34", r: "4.91", fill: "#B6B2E1" }),
|
|
32626
|
+
/* @__PURE__ */ jsx254("circle", { cx: "115.97", cy: "104.77", r: "4.91", fill: "#B6B2E1" }),
|
|
32627
|
+
/* @__PURE__ */ jsx254("circle", { cx: "115.97", cy: "131.19", r: "4.91", fill: "#B6B2E1" }),
|
|
32628
|
+
/* @__PURE__ */ jsx254("path", { d: "M96.22 64.17H240.72M135.63 64.17V170.87M195.78 41.46V170.87M96.22 91.48H240.72M96.22 117.87H240.72M96.22 144.37H240.72", stroke: "#7A7FA8", strokeWidth: "2.54" }),
|
|
32629
|
+
/* @__PURE__ */ jsx254("rect", { x: "96.22", y: "41.46", width: "144.5", height: "129.41", rx: "7.95", stroke: "#7A7FA8", strokeWidth: "2.54" }),
|
|
32630
|
+
/* @__PURE__ */ jsx254("path", { d: "M66.17 20.23L68.14 11.26A1.4 1.4 0 0 1 70.87 11.26L72.85 20.23L81.32 22.16A1.41 1.41 0 0 1 81.32 24.91L72.85 26.84L70.87 35.81A1.4 1.4 0 0 1 68.14 35.81L66.17 26.84L57.69 24.91A1.41 1.41 0 0 1 57.69 22.16Z", fill: "#9357FD" }),
|
|
32631
|
+
/* @__PURE__ */ jsx254("path", { d: "M70.85 70.65L72.08 65.07A0.86 0.86 0 0 1 73.76 65.07L74.99 70.65L80.19 71.84A0.87 0.87 0 0 1 80.19 73.54L74.99 74.74L73.76 80.31A0.86 0.86 0 0 1 72.08 80.31L70.85 74.74L65.64 73.54A0.87 0.87 0 0 1 65.64 71.84Z", fill: "#A475FD" }),
|
|
32632
|
+
/* @__PURE__ */ jsx254("path", { d: "M287.22 122.98L288.89 115.34A1.16 1.16 0 0 1 291.15 115.34L292.82 122.98L299.71 124.58A1.18 1.18 0 0 1 299.71 126.87L292.82 128.47L291.15 136.1A1.16 1.16 0 0 1 288.89 136.1L287.22 128.47L280.33 126.87A1.18 1.18 0 0 1 280.33 124.58Z", fill: "#955BFD" })
|
|
32633
|
+
] });
|
|
32634
|
+
}
|
|
32635
|
+
|
|
32636
|
+
// src/illustrations/DocumentUploadIllustration.tsx
|
|
32637
|
+
import { trussProps as trussProps146 } from "@homebound/truss/runtime";
|
|
32638
|
+
import { jsx as jsx255, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
32536
32639
|
function DocumentUploadIllustration(props) {
|
|
32537
32640
|
const {
|
|
32538
32641
|
width: width2 = 338
|
|
32539
32642
|
} = props;
|
|
32540
|
-
return /* @__PURE__ */
|
|
32643
|
+
return /* @__PURE__ */ jsxs137("svg", { viewBox: "0 0 338.25 270.6", xmlns: "http://www.w3.org/2000/svg", fill: "none", "aria-hidden": true, role: "presentation", ...trussProps146({
|
|
32541
32644
|
width: ["w_var", {
|
|
32542
32645
|
"--width": `${width2}px`
|
|
32543
32646
|
}],
|
|
32544
32647
|
maxWidth: "maxw100",
|
|
32545
32648
|
height: "ha"
|
|
32546
32649
|
}), children: [
|
|
32547
|
-
/* @__PURE__ */
|
|
32548
|
-
/* @__PURE__ */
|
|
32549
|
-
/* @__PURE__ */
|
|
32550
|
-
/* @__PURE__ */
|
|
32551
|
-
/* @__PURE__ */
|
|
32552
|
-
/* @__PURE__ */
|
|
32553
|
-
/* @__PURE__ */
|
|
32554
|
-
/* @__PURE__ */
|
|
32555
|
-
/* @__PURE__ */
|
|
32556
|
-
/* @__PURE__ */
|
|
32557
|
-
/* @__PURE__ */
|
|
32650
|
+
/* @__PURE__ */ jsx255("path", { d: "M256.146 107.294C256.146 107.294 267.377 64.7481 227.738 51.0067C188.1 37.2653 159.572 58.7309 145.026 75.3184C129.963 92.4952 127.849 132.662 96.9308 140.326C66.0126 147.989 59.4329 170.861 62.313 186.571C65.2199 202.426 72.3548 210.618 107.501 210.618H231.174C231.174 210.618 270.548 216.961 278.476 197.406C286.404 177.85 276.362 168.337 259.978 154.596C243.594 140.854 243.594 131.077 249.143 122.356C254.693 113.636 256.146 107.294 256.146 107.294Z", fill: "#F1F4F9" }),
|
|
32651
|
+
/* @__PURE__ */ jsx255("path", { d: "M198.269 73.0502H132.422C125.722 73.0502 120.291 80.558 120.291 89.8194V194.831C120.291 204.092 125.722 211.6 132.422 211.6H211.249C217.949 211.6 223.38 204.092 223.38 194.831V100.978L198.269 73.0502Z", fill: "white" }),
|
|
32652
|
+
/* @__PURE__ */ jsx255("path", { d: "M201.273 78.2404C200.767 78.2404 200.262 78.0337 199.897 77.6275L197.444 74.8999H193.776C192.754 74.8999 191.926 74.0718 191.926 73.0501C191.926 72.0284 192.754 71.2003 193.776 71.2003H198.268C198.793 71.2003 199.293 71.4232 199.644 71.8132L202.648 75.1537C203.331 75.9135 203.269 77.083 202.509 77.7661C202.156 78.0839 201.714 78.2404 201.273 78.2404Z", fill: "#798295" }),
|
|
32653
|
+
/* @__PURE__ */ jsx255("path", { d: "M211.249 213.45H211.111C210.09 213.45 209.261 212.622 209.261 211.6C209.261 210.578 210.09 209.75 211.111 209.75H211.249C214.146 209.75 216.274 208.026 217.55 206.579C218.225 205.813 219.394 205.739 220.161 206.415C220.927 207.091 221.001 208.26 220.325 209.026C217.809 211.879 214.586 213.45 211.249 213.45ZM203.446 213.45H194.459C193.437 213.45 192.609 212.622 192.609 211.6C192.609 210.578 193.437 209.75 194.459 209.75H203.446C204.467 209.75 205.296 210.578 205.296 211.6C205.296 212.622 204.467 213.45 203.446 213.45ZM186.793 213.45H177.806C176.784 213.45 175.956 212.622 175.956 211.6C175.956 210.578 176.784 209.75 177.806 209.75H186.793C187.815 209.75 188.643 210.578 188.643 211.6C188.643 212.622 187.815 213.45 186.793 213.45ZM170.14 213.45H161.153C160.131 213.45 159.303 212.622 159.303 211.6C159.303 210.578 160.131 209.75 161.153 209.75H170.14C171.162 209.75 171.99 210.578 171.99 211.6C171.99 212.622 171.162 213.45 170.14 213.45ZM153.488 213.45H144.5C143.479 213.45 142.651 212.622 142.651 211.6C142.651 210.578 143.479 209.75 144.5 209.75H153.488C154.509 209.75 155.337 210.578 155.337 211.6C155.337 212.622 154.509 213.45 153.488 213.45ZM136.835 213.45H132.422C130.603 213.45 128.835 212.997 127.167 212.104C126.267 211.621 125.928 210.5 126.41 209.599C126.893 208.699 128.014 208.359 128.914 208.842C130.039 209.445 131.219 209.75 132.422 209.75H136.835C137.857 209.75 138.685 210.578 138.685 211.6C138.685 212.622 137.857 213.45 136.835 213.45ZM122.794 206.881C122.144 206.881 121.513 206.538 121.175 205.929C119.662 203.203 118.738 199.971 118.502 196.584C118.431 195.565 119.2 194.681 120.219 194.61C121.236 194.544 122.122 195.308 122.193 196.328C122.391 199.178 123.158 201.877 124.41 204.133C124.905 205.027 124.583 206.153 123.69 206.648C123.406 206.806 123.098 206.881 122.794 206.881ZM222.508 202.938C222.337 202.938 222.163 202.914 221.99 202.864C221.009 202.578 220.445 201.552 220.731 200.571C221.261 198.75 221.53 196.819 221.53 194.831V192.183C221.53 191.161 222.358 190.333 223.38 190.333C224.402 190.333 225.23 191.161 225.23 192.183V194.831C225.229 197.169 224.911 199.448 224.283 201.605C224.048 202.413 223.309 202.938 222.508 202.938ZM120.291 190.641C119.27 190.641 118.441 189.813 118.441 188.792V179.804C118.441 178.783 119.27 177.955 120.291 177.955C121.313 177.955 122.141 178.783 122.141 179.804V188.792C122.141 189.813 121.313 190.641 120.291 190.641ZM223.38 186.367C222.358 186.367 221.53 185.539 221.53 184.517V175.53C221.53 174.508 222.358 173.68 223.38 173.68C224.402 173.68 225.23 174.508 225.23 175.53V184.517C225.23 185.539 224.402 186.367 223.38 186.367ZM120.291 173.989C119.27 173.989 118.441 173.161 118.441 172.139V163.152C118.441 162.13 119.27 161.302 120.291 161.302C121.313 161.302 122.141 162.13 122.141 163.152V172.139C122.141 173.161 121.313 173.989 120.291 173.989ZM223.38 169.714C222.358 169.714 221.53 168.886 221.53 167.864V158.877C221.53 157.855 222.358 157.027 223.38 157.027C224.402 157.027 225.23 157.855 225.23 158.877V167.864C225.23 168.886 224.402 169.714 223.38 169.714ZM120.291 157.336C119.27 157.336 118.441 156.508 118.441 155.486V146.499C118.441 145.477 119.27 144.649 120.291 144.649C121.313 144.649 122.141 145.477 122.141 146.499V155.486C122.141 156.508 121.313 157.336 120.291 157.336ZM223.38 153.061C222.358 153.061 221.53 152.233 221.53 151.211V142.224C221.53 141.203 222.358 140.375 223.38 140.375C224.402 140.375 225.23 141.203 225.23 142.224V151.211C225.23 152.233 224.402 153.061 223.38 153.061ZM120.291 140.683C119.27 140.683 118.441 139.855 118.441 138.833V129.846C118.441 128.825 119.27 127.997 120.291 127.997C121.313 127.997 122.141 128.825 122.141 129.846V138.833C122.141 139.855 121.313 140.683 120.291 140.683ZM223.38 136.409C222.358 136.409 221.53 135.581 221.53 134.559V125.572C221.53 124.55 222.358 123.722 223.38 123.722C224.402 123.722 225.23 124.55 225.23 125.572V134.559C225.23 135.581 224.402 136.409 223.38 136.409ZM120.291 124.031C119.27 124.031 118.441 123.202 118.441 122.181V113.194C118.441 112.172 119.27 111.344 120.291 111.344C121.313 111.344 122.141 112.172 122.141 113.194V122.181C122.141 123.202 121.313 124.031 120.291 124.031ZM223.38 119.756C222.358 119.756 221.53 118.928 221.53 117.906V108.919C221.53 107.897 222.358 107.069 223.38 107.069C224.402 107.069 225.23 107.897 225.23 108.919V117.906C225.23 118.928 224.402 119.756 223.38 119.756ZM120.291 107.378C119.27 107.378 118.441 106.55 118.441 105.528V96.5409C118.441 95.5193 119.27 94.6911 120.291 94.6911C121.313 94.6911 122.141 95.5193 122.141 96.5409V105.528C122.141 106.55 121.313 107.378 120.291 107.378ZM223.38 103.103C222.537 103.103 221.825 102.539 221.603 101.768L216.18 95.7367C215.497 94.9771 215.559 93.8075 216.318 93.1244C217.078 92.4415 218.248 92.5033 218.931 93.2631L224.755 99.7411C225.061 100.081 225.23 100.521 225.23 100.978V101.253C225.23 102.275 224.402 103.103 223.38 103.103ZM120.312 90.7253C120.287 90.7253 120.262 90.7248 120.236 90.7239C119.215 90.683 118.421 89.8222 118.462 88.8015C118.597 85.4287 119.413 82.1733 120.823 79.3874C121.284 78.4757 122.396 78.1104 123.308 78.5715C124.22 79.0327 124.585 80.1455 124.124 81.0571C122.952 83.3736 122.273 86.1027 122.159 88.9496C122.119 89.9452 121.299 90.7253 120.312 90.7253ZM212.43 90.6496C211.924 90.6496 211.42 90.4429 211.054 90.0366L205.045 83.3536C204.362 82.594 204.425 81.4244 205.184 80.7413C205.944 80.0585 207.113 80.12 207.796 80.88L213.805 87.563C214.489 88.3226 214.426 89.4923 213.667 90.1753C213.313 90.4931 212.871 90.6496 212.43 90.6496ZM127.452 76.3686C126.834 76.3686 126.23 76.0589 125.88 75.4953C125.34 74.6277 125.606 73.487 126.474 72.9477C128.338 71.7883 130.34 71.2004 132.422 71.2004H136.152C137.174 71.2004 138.002 72.0286 138.002 73.0502C138.002 74.0719 137.174 74.9 136.152 74.9H132.422C131.041 74.9 129.697 75.3002 128.427 76.0893C128.123 76.2784 127.786 76.3686 127.452 76.3686ZM186.111 74.9H177.123C176.102 74.9 175.274 74.0719 175.274 73.0502C175.274 72.0286 176.102 71.2004 177.123 71.2004H186.111C187.132 71.2004 187.96 72.0286 187.96 73.0502C187.96 74.0719 187.132 74.9 186.111 74.9ZM169.458 74.9H160.471C159.449 74.9 158.621 74.0719 158.621 73.0502C158.621 72.0286 159.449 71.2004 160.471 71.2004H169.458C170.48 71.2004 171.308 72.0286 171.308 73.0502C171.308 74.0719 170.48 74.9 169.458 74.9ZM152.805 74.9H143.818C142.796 74.9 141.968 74.0719 141.968 73.0502C141.968 72.0286 142.796 71.2004 143.818 71.2004H152.805C153.827 71.2004 154.655 72.0286 154.655 73.0502C154.655 74.0719 153.827 74.9 152.805 74.9Z", fill: "#798295" }),
|
|
32654
|
+
/* @__PURE__ */ jsx255("path", { d: "M192.785 83.3351V99.2582C192.785 102.885 195.726 105.826 199.353 105.826H215.482", fill: "white" }),
|
|
32655
|
+
/* @__PURE__ */ jsx255("path", { d: "M215.39 107.676H206.406C205.384 107.676 204.556 106.848 204.556 105.826C204.556 104.804 205.384 103.976 206.406 103.976H215.39C216.412 103.976 217.24 104.804 217.24 105.826C217.24 106.848 216.412 107.676 215.39 107.676ZM198.745 107.648C198.689 107.648 198.632 107.645 198.574 107.64C194.611 107.275 191.419 104.139 190.986 100.183C190.874 99.1675 191.608 98.2541 192.623 98.1428C193.636 98.0331 194.552 98.7646 194.663 99.7801C194.906 101.996 196.693 103.752 198.913 103.956C199.93 104.049 200.679 104.95 200.585 105.967C200.497 106.927 199.691 107.648 198.745 107.648ZM192.785 94.1696C191.764 94.1696 190.936 93.3415 190.936 92.3198V83.335C190.936 82.3134 191.764 81.4852 192.785 81.4852C193.807 81.4852 194.635 82.3134 194.635 83.335V92.3198C194.635 93.3415 193.807 94.1696 192.785 94.1696Z", fill: "#798295" }),
|
|
32656
|
+
/* @__PURE__ */ jsx255("path", { d: "M189.911 178.207H154.776C153.609 178.207 152.662 177.261 152.662 176.093C152.662 174.926 153.609 173.979 154.776 173.979H189.911C191.078 173.979 192.025 174.926 192.025 176.093C192.025 177.261 191.078 178.207 189.911 178.207Z", fill: "#798295" }),
|
|
32657
|
+
/* @__PURE__ */ jsx255("path", { d: "M171.711 166.32C170.544 166.32 169.597 165.373 169.597 164.206V124.131C169.597 122.963 170.544 122.017 171.711 122.017C172.878 122.017 173.825 122.963 173.825 124.131V164.206C173.825 165.373 172.878 166.32 171.711 166.32Z", fill: "#798295" }),
|
|
32658
|
+
/* @__PURE__ */ jsx255("path", { d: "M191.126 144.439C190.608 144.439 190.089 144.25 189.681 143.868L171.72 127.037L154 143.858C153.154 144.662 151.815 144.628 151.012 143.781C150.208 142.934 150.243 141.596 151.089 140.792L170.256 122.597C171.068 121.827 172.34 121.823 173.157 122.588L192.572 140.783C193.424 141.581 193.467 142.919 192.669 143.771C192.253 144.215 191.69 144.439 191.126 144.439Z", fill: "#798295" }),
|
|
32659
|
+
/* @__PURE__ */ jsx255("path", { d: "M264.954 212.204H230.865C229.989 212.204 229.279 211.494 229.279 210.618C229.279 209.743 229.989 209.033 230.865 209.033H264.954C265.83 209.033 266.54 209.743 266.54 210.618C266.54 211.494 265.83 212.204 264.954 212.204Z", fill: "#798295" }),
|
|
32660
|
+
/* @__PURE__ */ jsx255("path", { d: "M112.806 212.204H80.0384C79.1628 212.204 78.4529 211.494 78.4529 210.618C78.4529 209.743 79.1628 209.033 80.0384 209.033H112.806C113.682 209.033 114.392 209.743 114.392 210.618C114.392 211.494 113.682 212.204 112.806 212.204Z", fill: "#798295" })
|
|
32558
32661
|
] });
|
|
32559
32662
|
}
|
|
32560
32663
|
|
|
32561
32664
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
32562
|
-
import { trussProps as
|
|
32563
|
-
import { jsx as
|
|
32665
|
+
import { trussProps as trussProps147, mergeProps as mergeProps43, maybeCssVar as maybeCssVar68 } from "@homebound/truss/runtime";
|
|
32666
|
+
import { jsx as jsx256, jsxs as jsxs138 } from "react/jsx-runtime";
|
|
32564
32667
|
var __maybeInc29 = (inc) => {
|
|
32565
32668
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
32566
32669
|
};
|
|
32567
32670
|
function SideNavLayout(props) {
|
|
32568
32671
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
32569
|
-
if (hasProvider) return /* @__PURE__ */
|
|
32570
|
-
return /* @__PURE__ */
|
|
32672
|
+
if (hasProvider) return /* @__PURE__ */ jsx256(SideNavLayoutContent, { ...props });
|
|
32673
|
+
return /* @__PURE__ */ jsx256(SideNavLayoutProvider, { children: /* @__PURE__ */ jsx256(SideNavLayoutContent, { ...props }) });
|
|
32571
32674
|
}
|
|
32572
32675
|
function SideNavLayoutContent(props) {
|
|
32573
32676
|
const {
|
|
@@ -32590,7 +32693,7 @@ function SideNavLayoutContent(props) {
|
|
|
32590
32693
|
const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
|
|
32591
32694
|
const navTop = belowNavbarOffset();
|
|
32592
32695
|
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
32593
|
-
const rail = showRail && /* @__PURE__ */
|
|
32696
|
+
const rail = showRail && /* @__PURE__ */ jsxs138("div", { ...trussProps147({
|
|
32594
32697
|
...{
|
|
32595
32698
|
display: "df",
|
|
32596
32699
|
flexDirection: "fdc",
|
|
@@ -32647,18 +32750,18 @@ function SideNavLayoutContent(props) {
|
|
|
32647
32750
|
}
|
|
32648
32751
|
}
|
|
32649
32752
|
}), ...tid.sideNav, children: [
|
|
32650
|
-
showCollapseToggle && /* @__PURE__ */
|
|
32651
|
-
/* @__PURE__ */
|
|
32753
|
+
showCollapseToggle && /* @__PURE__ */ jsx256("div", { className: "absolute r_2 top2 z2", children: /* @__PURE__ */ jsx256(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
32754
|
+
/* @__PURE__ */ jsx256("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ jsx256(SideNav, { ...sideNav }) })
|
|
32652
32755
|
] });
|
|
32653
|
-
return /* @__PURE__ */
|
|
32756
|
+
return /* @__PURE__ */ jsx256(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsxs138("div", { ...mergeProps43(void 0, {
|
|
32654
32757
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
32655
32758
|
}, {
|
|
32656
32759
|
display: "df",
|
|
32657
32760
|
flexDirection: "fdr",
|
|
32658
32761
|
width: "w100"
|
|
32659
32762
|
}), ...tid, children: [
|
|
32660
|
-
contrastRail ? /* @__PURE__ */
|
|
32661
|
-
/* @__PURE__ */
|
|
32763
|
+
contrastRail ? /* @__PURE__ */ jsx256(ContrastScope, { children: rail }) : rail,
|
|
32764
|
+
/* @__PURE__ */ jsx256("div", { ...trussProps147({
|
|
32662
32765
|
display: "df",
|
|
32663
32766
|
flexDirection: "fdc",
|
|
32664
32767
|
flexGrow: "fg1",
|
|
@@ -32675,7 +32778,7 @@ function SideNavLayoutContent(props) {
|
|
|
32675
32778
|
|
|
32676
32779
|
// src/layouts/CenteredLayout/CenteredLayout.tsx
|
|
32677
32780
|
import { mergeProps as mergeProps44 } from "@homebound/truss/runtime";
|
|
32678
|
-
import { jsx as
|
|
32781
|
+
import { jsx as jsx257 } from "react/jsx-runtime";
|
|
32679
32782
|
function CenteredLayout(props) {
|
|
32680
32783
|
const {
|
|
32681
32784
|
size,
|
|
@@ -32687,7 +32790,7 @@ function CenteredLayout(props) {
|
|
|
32687
32790
|
mdAndUp
|
|
32688
32791
|
} = useBreakpoint();
|
|
32689
32792
|
const rightPane = resolveWithRightPaneOptions(withRightPane);
|
|
32690
|
-
const shell = /* @__PURE__ */
|
|
32793
|
+
const shell = /* @__PURE__ */ jsx257(ContentInsetProvider, { children: /* @__PURE__ */ jsx257("div", { ...mergeProps44(void 0, {
|
|
32691
32794
|
// layoutContainer descendants (e.g. ContentHeader) read this to inset sticky horizontal chrome within the shell padding.
|
|
32692
32795
|
[beamLayoutContentPaddingXVar]: mdAndUp ? pageContentPaddingXValue : smPageContentPaddingXValue,
|
|
32693
32796
|
// Floor while an ancestor overlay pane is open (`0px` when closed). `md+` only — phones must not get a dummy scrollbar.
|
|
@@ -32706,7 +32809,7 @@ function CenteredLayout(props) {
|
|
|
32706
32809
|
...pageContentPaddingX
|
|
32707
32810
|
}), ...tid, children }) });
|
|
32708
32811
|
if (!rightPane) return shell;
|
|
32709
|
-
return /* @__PURE__ */
|
|
32812
|
+
return /* @__PURE__ */ jsx257(DocumentScrollOverlayRightPaneLayout, { paneWidth: rightPane.width, children: shell });
|
|
32710
32813
|
}
|
|
32711
32814
|
var centeredContentMaxPx = {
|
|
32712
32815
|
sm: 720,
|
|
@@ -32719,8 +32822,8 @@ var centeredShellMaxPx = {
|
|
|
32719
32822
|
};
|
|
32720
32823
|
|
|
32721
32824
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
|
|
32722
|
-
import { trussProps as
|
|
32723
|
-
import { jsx as
|
|
32825
|
+
import { trussProps as trussProps148, mergeProps as mergeProps45, maybeCssVar as maybeCssVar69 } from "@homebound/truss/runtime";
|
|
32826
|
+
import { jsx as jsx258, jsxs as jsxs139 } from "react/jsx-runtime";
|
|
32724
32827
|
var __maybeInc30 = (inc) => {
|
|
32725
32828
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
32726
32829
|
};
|
|
@@ -32736,18 +32839,18 @@ function EnvironmentBannerLayout(props) {
|
|
|
32736
32839
|
[beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
|
|
32737
32840
|
};
|
|
32738
32841
|
const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
|
|
32739
|
-
return /* @__PURE__ */
|
|
32842
|
+
return /* @__PURE__ */ jsx258(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsx258(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ jsxs139("div", { ...mergeProps45(void 0, style, {
|
|
32740
32843
|
display: "df",
|
|
32741
32844
|
flexDirection: "fdc",
|
|
32742
32845
|
width: "wfc",
|
|
32743
32846
|
minWidth: "mw100"
|
|
32744
32847
|
}), ...tid, children: [
|
|
32745
|
-
showBanner && environmentBanner && /* @__PURE__ */
|
|
32848
|
+
showBanner && environmentBanner && /* @__PURE__ */ jsx258("div", { ...mergeProps45(void 0, {
|
|
32746
32849
|
height: environmentBannerSizePx
|
|
32747
32850
|
}, {
|
|
32748
32851
|
flexShrink: "fs0",
|
|
32749
32852
|
width: "w100"
|
|
32750
|
-
}), children: /* @__PURE__ */
|
|
32853
|
+
}), children: /* @__PURE__ */ jsx258("div", { ...trussProps148({
|
|
32751
32854
|
position: "fixed",
|
|
32752
32855
|
top: "top0",
|
|
32753
32856
|
left: "l_0",
|
|
@@ -32757,24 +32860,24 @@ function EnvironmentBannerLayout(props) {
|
|
|
32757
32860
|
width: ["w_var", {
|
|
32758
32861
|
"--width": maybeCssVar69(__maybeInc30(innerWidth))
|
|
32759
32862
|
}]
|
|
32760
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */
|
|
32863
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ jsx258(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
|
|
32761
32864
|
children
|
|
32762
32865
|
] }) }) });
|
|
32763
32866
|
}
|
|
32764
32867
|
|
|
32765
32868
|
// src/layouts/FormSectionLayout/FormSectionLayout.tsx
|
|
32766
|
-
import { trussProps as
|
|
32869
|
+
import { trussProps as trussProps152, maybeCssVar as maybeCssVar72 } from "@homebound/truss/runtime";
|
|
32767
32870
|
|
|
32768
32871
|
// src/forms/FormSection/FormSection.tsx
|
|
32769
32872
|
import { useCheckboxGroup as useCheckboxGroup4, useRadioGroup as useRadioGroup3 } from "react-aria";
|
|
32770
32873
|
import { useCheckboxGroupState as useCheckboxGroupState4, useRadioGroupState as useRadioGroupState3 } from "react-stately";
|
|
32771
|
-
import { trussProps as
|
|
32874
|
+
import { trussProps as trussProps150, maybeCssVar as maybeCssVar70 } from "@homebound/truss/runtime";
|
|
32772
32875
|
|
|
32773
32876
|
// src/forms/FormSection/FormSectionChild.tsx
|
|
32774
|
-
import { useRef as
|
|
32877
|
+
import { useRef as useRef78 } from "react";
|
|
32775
32878
|
import { mergeProps as mergeProps46, useCheckboxGroupItem as useCheckboxGroupItem4, useFocusRing as useFocusRing23, useRadio as useRadio3, VisuallyHidden as VisuallyHidden11 } from "react-aria";
|
|
32776
|
-
import { trussProps as
|
|
32777
|
-
import { Fragment as Fragment56, jsx as
|
|
32879
|
+
import { trussProps as trussProps149 } from "@homebound/truss/runtime";
|
|
32880
|
+
import { Fragment as Fragment56, jsx as jsx259, jsxs as jsxs140 } from "react/jsx-runtime";
|
|
32778
32881
|
function FormSectionChild(props) {
|
|
32779
32882
|
const {
|
|
32780
32883
|
title,
|
|
@@ -32788,7 +32891,7 @@ function FormSectionChild(props) {
|
|
|
32788
32891
|
group
|
|
32789
32892
|
} = props;
|
|
32790
32893
|
const tid = useTestIds(props, "formSectionChild");
|
|
32791
|
-
const itemRef =
|
|
32894
|
+
const itemRef = useRef78(null);
|
|
32792
32895
|
const isDraggable = !!orderField;
|
|
32793
32896
|
const {
|
|
32794
32897
|
dragItemProps,
|
|
@@ -32797,11 +32900,11 @@ function FormSectionChild(props) {
|
|
|
32797
32900
|
id: props.id ?? title,
|
|
32798
32901
|
itemRef
|
|
32799
32902
|
});
|
|
32800
|
-
const control = group?.mode === "single" ? /* @__PURE__ */
|
|
32801
|
-
return /* @__PURE__ */
|
|
32903
|
+
const control = group?.mode === "single" ? /* @__PURE__ */ jsx259(FormSectionChildRadio, { state: group.state, value, label: title, ...tid.radio }) : group?.mode === "multiple" ? /* @__PURE__ */ jsx259(FormSectionChildCheckbox, { state: group.state, value, label: title, ...tid.checkbox }) : selection ? /* @__PURE__ */ jsx259(BoundCheckboxField, { field: selection.field, label: title, checkboxOnly: true, ...tid.checkbox }) : void 0;
|
|
32904
|
+
return /* @__PURE__ */ jsxs140("div", { ...isDraggable ? {
|
|
32802
32905
|
...dragItemProps,
|
|
32803
32906
|
ref: itemRef
|
|
32804
|
-
} : {}, ...
|
|
32907
|
+
} : {}, ...trussProps149({
|
|
32805
32908
|
display: "df",
|
|
32806
32909
|
flexDirection: "fdc",
|
|
32807
32910
|
gap: "g_2",
|
|
@@ -32817,8 +32920,8 @@ function FormSectionChild(props) {
|
|
|
32817
32920
|
borderStyle: "lot_bsn",
|
|
32818
32921
|
borderWidth: "lot_bw_0"
|
|
32819
32922
|
}), ...tid, children: [
|
|
32820
|
-
/* @__PURE__ */
|
|
32821
|
-
isDraggable && /* @__PURE__ */
|
|
32923
|
+
/* @__PURE__ */ jsx259(ContentHeader, { ...tid.header, title, description, actions, level: 4, rightSlotLead: tag && /* @__PURE__ */ jsx259(Tag, { ...tag, ...tid.tag }), startAdornment: isDraggable || control ? /* @__PURE__ */ jsxs140(Fragment56, { children: [
|
|
32924
|
+
isDraggable && /* @__PURE__ */ jsx259(DnDGridItemHandle, { dragHandleProps, icon: "drag", compact: true }),
|
|
32822
32925
|
control
|
|
32823
32926
|
] }) : void 0 }),
|
|
32824
32927
|
fields
|
|
@@ -32830,7 +32933,7 @@ function FormSectionChildRadio(props) {
|
|
|
32830
32933
|
value,
|
|
32831
32934
|
label
|
|
32832
32935
|
} = props;
|
|
32833
|
-
const ref =
|
|
32936
|
+
const ref = useRef78(null);
|
|
32834
32937
|
const {
|
|
32835
32938
|
inputProps,
|
|
32836
32939
|
isDisabled,
|
|
@@ -32844,7 +32947,7 @@ function FormSectionChildRadio(props) {
|
|
|
32844
32947
|
isFocusVisible
|
|
32845
32948
|
} = useFocusRing23();
|
|
32846
32949
|
const tid = useTestIds(props);
|
|
32847
|
-
return /* @__PURE__ */
|
|
32950
|
+
return /* @__PURE__ */ jsx259(StyledRadio, { isDisabled, isSelected, isFocusVisible, inputProps: {
|
|
32848
32951
|
...mergeProps46(inputProps, focusProps),
|
|
32849
32952
|
ref,
|
|
32850
32953
|
...tid
|
|
@@ -32856,7 +32959,7 @@ function FormSectionChildCheckbox(props) {
|
|
|
32856
32959
|
value,
|
|
32857
32960
|
label
|
|
32858
32961
|
} = props;
|
|
32859
|
-
const ref =
|
|
32962
|
+
const ref = useRef78(null);
|
|
32860
32963
|
const {
|
|
32861
32964
|
inputProps,
|
|
32862
32965
|
isDisabled,
|
|
@@ -32872,21 +32975,21 @@ function FormSectionChildCheckbox(props) {
|
|
|
32872
32975
|
const tid = useTestIds(props);
|
|
32873
32976
|
return (
|
|
32874
32977
|
// `StyledCheckbox` is just the visual box, so the label makes clicking it toggle the hidden input
|
|
32875
|
-
/* @__PURE__ */
|
|
32978
|
+
/* @__PURE__ */ jsxs140("label", { ...trussProps149({
|
|
32876
32979
|
display: "df",
|
|
32877
32980
|
cursor: "cur_pointer",
|
|
32878
32981
|
...isDisabled ? {
|
|
32879
32982
|
cursor: "cur_not_allowed"
|
|
32880
32983
|
} : {}
|
|
32881
32984
|
}), children: [
|
|
32882
|
-
/* @__PURE__ */
|
|
32883
|
-
/* @__PURE__ */
|
|
32985
|
+
/* @__PURE__ */ jsx259(VisuallyHidden11, { children: /* @__PURE__ */ jsx259("input", { ref, ...mergeProps46(inputProps, focusProps), ...tid }) }),
|
|
32986
|
+
/* @__PURE__ */ jsx259(StyledCheckbox, { isDisabled, isSelected, isFocusVisible })
|
|
32884
32987
|
] })
|
|
32885
32988
|
);
|
|
32886
32989
|
}
|
|
32887
32990
|
|
|
32888
32991
|
// src/forms/FormSection/FormSection.tsx
|
|
32889
|
-
import { jsx as
|
|
32992
|
+
import { jsx as jsx260, jsxs as jsxs141 } from "react/jsx-runtime";
|
|
32890
32993
|
function FormSection(props) {
|
|
32891
32994
|
const {
|
|
32892
32995
|
title,
|
|
@@ -32897,7 +33000,7 @@ function FormSection(props) {
|
|
|
32897
33000
|
selection
|
|
32898
33001
|
} = props;
|
|
32899
33002
|
const tid = useTestIds(props, "formSection");
|
|
32900
|
-
return /* @__PURE__ */
|
|
33003
|
+
return /* @__PURE__ */ jsxs141("div", { id: defaultTestId(title), ...trussProps150({
|
|
32901
33004
|
display: "df",
|
|
32902
33005
|
flexDirection: "fdc",
|
|
32903
33006
|
gap: "g_2",
|
|
@@ -32905,9 +33008,9 @@ function FormSection(props) {
|
|
|
32905
33008
|
"--scrollMarginTop": maybeCssVar70(stickyNavAndHeaderOffset())
|
|
32906
33009
|
}]
|
|
32907
33010
|
}), ...tid.section, children: [
|
|
32908
|
-
/* @__PURE__ */
|
|
33011
|
+
/* @__PURE__ */ jsx260(ContentHeader, { ...tid, title, description, actions, level: 3 }),
|
|
32909
33012
|
fields,
|
|
32910
|
-
childSections && (selection?.mode === "single" ? /* @__PURE__ */
|
|
33013
|
+
childSections && (selection?.mode === "single" ? /* @__PURE__ */ jsx260(FormSectionRadioGroup, { field: selection.field, label: title, childSections, ...tid }) : selection?.mode === "multiple" ? /* @__PURE__ */ jsx260(FormSectionCheckboxGroup, { field: selection.field, label: title, childSections, ...tid }) : /* @__PURE__ */ jsx260(ChildSectionList, { childSections, ...tid.childSection }))
|
|
32911
33014
|
] });
|
|
32912
33015
|
}
|
|
32913
33016
|
function FormSectionRadioGroup(props) {
|
|
@@ -32940,7 +33043,7 @@ function FormSectionRadioGroup(props) {
|
|
|
32940
33043
|
onFocus: () => field.focus(),
|
|
32941
33044
|
onBlur: () => field.blur()
|
|
32942
33045
|
}, state);
|
|
32943
|
-
return /* @__PURE__ */
|
|
33046
|
+
return /* @__PURE__ */ jsx260("div", { ...radioGroupProps, ...tid.childGroup, children: /* @__PURE__ */ jsx260(ChildSectionList, { childSections, group: {
|
|
32944
33047
|
mode: "single",
|
|
32945
33048
|
state
|
|
32946
33049
|
}, ...tid.childSection }) });
|
|
@@ -32975,7 +33078,7 @@ function FormSectionCheckboxGroup(props) {
|
|
|
32975
33078
|
onFocus: () => field.focus(),
|
|
32976
33079
|
onBlur: () => field.blur()
|
|
32977
33080
|
}, state);
|
|
32978
|
-
return /* @__PURE__ */
|
|
33081
|
+
return /* @__PURE__ */ jsx260("div", { ...groupProps, ...tid.childGroup, children: /* @__PURE__ */ jsx260(ChildSectionList, { childSections, group: {
|
|
32979
33082
|
mode: "multiple",
|
|
32980
33083
|
state
|
|
32981
33084
|
}, ...tid.childSection }) });
|
|
@@ -32986,7 +33089,7 @@ function ChildSectionList(props) {
|
|
|
32986
33089
|
group,
|
|
32987
33090
|
...tid
|
|
32988
33091
|
} = props;
|
|
32989
|
-
return isReorderable(childSections) ? /* @__PURE__ */
|
|
33092
|
+
return isReorderable(childSections) ? /* @__PURE__ */ jsx260(DraggableChildren, { childSections, group, ...tid }) : /* @__PURE__ */ jsx260("div", { className: "df fdc g_3", children: childSections.map((child) => /* @__PURE__ */ jsx260(FormSectionChild, { ...child, group, ...tid }, child.id ?? child.title)) });
|
|
32990
33093
|
}
|
|
32991
33094
|
function isReorderable(childSections) {
|
|
32992
33095
|
return childSections.length > 0 && childSections.every((c) => !!c.orderField);
|
|
@@ -33009,18 +33112,18 @@ function DraggableChildren(props) {
|
|
|
33009
33112
|
}
|
|
33010
33113
|
});
|
|
33011
33114
|
};
|
|
33012
|
-
return /* @__PURE__ */
|
|
33115
|
+
return /* @__PURE__ */ jsx260(DnDGrid, { onReorder: handleReorder, lockAxis: "y", gridStyles: {
|
|
33013
33116
|
gridTemplateColumns: "gtc_minmax_0_1fr",
|
|
33014
33117
|
gap: "g_3"
|
|
33015
|
-
}, children: sorted.map((child) => /* @__PURE__ */
|
|
33118
|
+
}, children: sorted.map((child) => /* @__PURE__ */ jsx260(FormSectionChild, { ...child, group, ...tid }, child.id)) });
|
|
33016
33119
|
}
|
|
33017
33120
|
function sortByOrderField(childSections) {
|
|
33018
33121
|
return [...childSections].sort((a, b) => (a.orderField.value ?? 0) - (b.orderField.value ?? 0));
|
|
33019
33122
|
}
|
|
33020
33123
|
|
|
33021
33124
|
// src/layouts/FormSectionLayout/JumpLinksRail.tsx
|
|
33022
|
-
import { trussProps as
|
|
33023
|
-
import { jsx as
|
|
33125
|
+
import { trussProps as trussProps151, maybeCssVar as maybeCssVar71 } from "@homebound/truss/runtime";
|
|
33126
|
+
import { jsx as jsx261 } from "react/jsx-runtime";
|
|
33024
33127
|
var __maybeInc31 = (inc) => {
|
|
33025
33128
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33026
33129
|
};
|
|
@@ -33030,7 +33133,7 @@ function JumpLinksRail(props) {
|
|
|
33030
33133
|
activeId
|
|
33031
33134
|
} = props;
|
|
33032
33135
|
const tid = useTestIds(props, "jumpLinks");
|
|
33033
|
-
return /* @__PURE__ */
|
|
33136
|
+
return /* @__PURE__ */ jsx261("nav", { ...trussProps151({
|
|
33034
33137
|
display: "df",
|
|
33035
33138
|
flexDirection: "fdc",
|
|
33036
33139
|
flexShrink: "fs0",
|
|
@@ -33042,19 +33145,19 @@ function JumpLinksRail(props) {
|
|
|
33042
33145
|
top: ["top_var", {
|
|
33043
33146
|
"--top": maybeCssVar71(__maybeInc31(stickyNavAndHeaderOffset()))
|
|
33044
33147
|
}]
|
|
33045
|
-
}), ...tid, children: links.map((link) => /* @__PURE__ */
|
|
33148
|
+
}), ...tid, children: links.map((link) => /* @__PURE__ */ jsx261(JumpLink, { label: link.label, href: `#${link.id}`, active: link.id === activeId, ...tid.link }, link.id)) });
|
|
33046
33149
|
}
|
|
33047
33150
|
var jumpLinksRailWidthPx = 192;
|
|
33048
33151
|
var railAndShellPx = centeredShellMaxPx.sm + jumpLinksRailWidthPx;
|
|
33049
33152
|
var jumpLinksRailReservation = `clamp(0px, 100% - ${railAndShellPx}px, ${jumpLinksRailWidthPx}px)`;
|
|
33050
33153
|
|
|
33051
33154
|
// src/layouts/FormSectionLayout/useActiveJumpLink.ts
|
|
33052
|
-
import { useLayoutEffect as
|
|
33155
|
+
import { useLayoutEffect as useLayoutEffect18, useState as useState68 } from "react";
|
|
33053
33156
|
var activationLeadPx = 120;
|
|
33054
33157
|
function useActiveJumpLink(sectionIds) {
|
|
33055
33158
|
const idsKey = sectionIds.join("\0");
|
|
33056
|
-
const [activeId, setActiveId] =
|
|
33057
|
-
|
|
33159
|
+
const [activeId, setActiveId] = useState68(sectionIds[0]);
|
|
33160
|
+
useLayoutEffect18(() => {
|
|
33058
33161
|
const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
|
|
33059
33162
|
if (ids.length === 0) return;
|
|
33060
33163
|
const update = () => {
|
|
@@ -33078,7 +33181,7 @@ function useActiveJumpLink(sectionIds) {
|
|
|
33078
33181
|
}
|
|
33079
33182
|
|
|
33080
33183
|
// src/layouts/FormSectionLayout/FormSectionLayout.tsx
|
|
33081
|
-
import { jsx as
|
|
33184
|
+
import { jsx as jsx262, jsxs as jsxs142 } from "react/jsx-runtime";
|
|
33082
33185
|
var __maybeInc32 = (inc) => {
|
|
33083
33186
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33084
33187
|
};
|
|
@@ -33115,7 +33218,7 @@ function FormSectionLayout(props) {
|
|
|
33115
33218
|
}] : [], ...sectionLinks];
|
|
33116
33219
|
const showRail = withJumpLinks && jumpLinks.length >= 2 && !isMobile;
|
|
33117
33220
|
const activeId = useActiveJumpLink(showRail ? jumpLinks.map((link) => link.id) : []);
|
|
33118
|
-
const content2 = /* @__PURE__ */
|
|
33221
|
+
const content2 = /* @__PURE__ */ jsxs142("div", { ...trussProps152({
|
|
33119
33222
|
display: "df",
|
|
33120
33223
|
flexDirection: "fdc",
|
|
33121
33224
|
gap: "g_8",
|
|
@@ -33126,7 +33229,7 @@ function FormSectionLayout(props) {
|
|
|
33126
33229
|
paddingLeft: "pl3"
|
|
33127
33230
|
} : {}
|
|
33128
33231
|
}), children: [
|
|
33129
|
-
/* @__PURE__ */
|
|
33232
|
+
/* @__PURE__ */ jsxs142("div", { id: titleAnchor ? formSectionLayoutTitleId : void 0, ...trussProps152({
|
|
33130
33233
|
display: "df",
|
|
33131
33234
|
flexDirection: "fdc",
|
|
33132
33235
|
gap: "g_3",
|
|
@@ -33136,27 +33239,27 @@ function FormSectionLayout(props) {
|
|
|
33136
33239
|
}]
|
|
33137
33240
|
} : {}
|
|
33138
33241
|
}), children: [
|
|
33139
|
-
/* @__PURE__ */
|
|
33242
|
+
/* @__PURE__ */ jsx262(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2, aiMode }),
|
|
33140
33243
|
initialFields
|
|
33141
33244
|
] }),
|
|
33142
|
-
sections && /* @__PURE__ */
|
|
33245
|
+
sections && /* @__PURE__ */ jsx262("div", { className: "df fdc g_8", children: sections.map((section, i) => /* @__PURE__ */ jsx262(FormSection, { ...section }, defaultTestId(section.title) || i)) })
|
|
33143
33246
|
] });
|
|
33144
|
-
const form = /* @__PURE__ */
|
|
33145
|
-
const body = showRail ? /* @__PURE__ */
|
|
33146
|
-
/* @__PURE__ */
|
|
33147
|
-
/* @__PURE__ */
|
|
33247
|
+
const form = /* @__PURE__ */ jsx262(CenteredLayout, { size: "sm", children: aiMode ? /* @__PURE__ */ jsx262(AiCard, { size: "lg", ...tid, children: content2 }) : content2 });
|
|
33248
|
+
const body = showRail ? /* @__PURE__ */ jsxs142("div", { className: "df w100 mb4", children: [
|
|
33249
|
+
/* @__PURE__ */ jsx262(JumpLinksRail, { links: jumpLinks, activeId, ...tid.jumpLinks }),
|
|
33250
|
+
/* @__PURE__ */ jsx262("div", { ...trussProps152({
|
|
33148
33251
|
flexGrow: "fg1",
|
|
33149
33252
|
marginRight: ["mr_var", {
|
|
33150
33253
|
"--marginRight": maybeCssVar72(__maybeInc32(jumpLinksRailReservation))
|
|
33151
33254
|
}]
|
|
33152
33255
|
}), ...tid.column, children: form })
|
|
33153
|
-
] }) : /* @__PURE__ */
|
|
33256
|
+
] }) : /* @__PURE__ */ jsx262("div", { className: "mb4", children: form });
|
|
33154
33257
|
if (!rightPane) return body;
|
|
33155
|
-
return /* @__PURE__ */
|
|
33258
|
+
return /* @__PURE__ */ jsx262(DocumentScrollOverlayRightPaneLayout, { paneWidth: rightPane.width, children: body });
|
|
33156
33259
|
}
|
|
33157
33260
|
|
|
33158
33261
|
// src/layouts/PageBanner/usePageBanner.tsx
|
|
33159
|
-
import { useEffect as useEffect42, useId as useId5, useLayoutEffect as
|
|
33262
|
+
import { useEffect as useEffect42, useId as useId5, useLayoutEffect as useLayoutEffect19 } from "react";
|
|
33160
33263
|
|
|
33161
33264
|
// src/layouts/PageBanner/pageBannerStore.ts
|
|
33162
33265
|
var current;
|
|
@@ -33194,7 +33297,7 @@ function clearPageBanner(id) {
|
|
|
33194
33297
|
// src/layouts/PageBanner/usePageBanner.tsx
|
|
33195
33298
|
function usePageBanner(banner) {
|
|
33196
33299
|
const id = useId5();
|
|
33197
|
-
|
|
33300
|
+
useLayoutEffect19(() => {
|
|
33198
33301
|
if (!banner) return;
|
|
33199
33302
|
setPageBanner(id, banner);
|
|
33200
33303
|
return () => clearPageBanner(id);
|
|
@@ -33210,11 +33313,11 @@ function PageBanner(props) {
|
|
|
33210
33313
|
}
|
|
33211
33314
|
|
|
33212
33315
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
33213
|
-
import { useMemo as useMemo62, useRef as
|
|
33316
|
+
import { useMemo as useMemo62, useRef as useRef80 } from "react";
|
|
33214
33317
|
import { mergeProps as mergeProps47, maybeCssVar as maybeCssVar73 } from "@homebound/truss/runtime";
|
|
33215
33318
|
|
|
33216
33319
|
// src/layouts/useAutoHideOnScroll.ts
|
|
33217
|
-
import { useLayoutEffect as
|
|
33320
|
+
import { useLayoutEffect as useLayoutEffect20, useRef as useRef79, useState as useState69 } from "react";
|
|
33218
33321
|
var THRESHOLD = 80;
|
|
33219
33322
|
function getInitialAutoHideState() {
|
|
33220
33323
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -33224,13 +33327,13 @@ function getInitialAutoHideState() {
|
|
|
33224
33327
|
}
|
|
33225
33328
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
33226
33329
|
const initial = getInitialAutoHideState();
|
|
33227
|
-
const [state, setState] =
|
|
33228
|
-
const stateRef =
|
|
33229
|
-
const getTopOffsetRef =
|
|
33330
|
+
const [state, setState] = useState69(initial);
|
|
33331
|
+
const stateRef = useRef79(initial);
|
|
33332
|
+
const getTopOffsetRef = useRef79(getTopOffset);
|
|
33230
33333
|
getTopOffsetRef.current = getTopOffset;
|
|
33231
|
-
const lastScrollY =
|
|
33232
|
-
const lastScrollHeight =
|
|
33233
|
-
|
|
33334
|
+
const lastScrollY = useRef79(Number.POSITIVE_INFINITY);
|
|
33335
|
+
const lastScrollHeight = useRef79(0);
|
|
33336
|
+
useLayoutEffect20(() => {
|
|
33234
33337
|
if (!enabled) {
|
|
33235
33338
|
stateRef.current = "resting";
|
|
33236
33339
|
lastScrollY.current = Number.POSITIVE_INFINITY;
|
|
@@ -33295,26 +33398,26 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
33295
33398
|
}
|
|
33296
33399
|
|
|
33297
33400
|
// src/layouts/useMeasuredHeight.ts
|
|
33298
|
-
import { useResizeObserver as
|
|
33299
|
-
import { useCallback as
|
|
33401
|
+
import { useResizeObserver as useResizeObserver15 } from "@react-aria/utils";
|
|
33402
|
+
import { useCallback as useCallback47, useLayoutEffect as useLayoutEffect21, useState as useState70 } from "react";
|
|
33300
33403
|
function useMeasuredHeight(ref, enabled) {
|
|
33301
|
-
const [height, setHeight] =
|
|
33302
|
-
const syncElementHeight =
|
|
33404
|
+
const [height, setHeight] = useState70(0);
|
|
33405
|
+
const syncElementHeight = useCallback47(() => {
|
|
33303
33406
|
const el = ref.current;
|
|
33304
33407
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
33305
33408
|
setHeight((prev) => prev === next ? prev : next);
|
|
33306
33409
|
}, [ref]);
|
|
33307
|
-
|
|
33308
|
-
|
|
33410
|
+
useResizeObserver15({ ref, onResize: syncElementHeight });
|
|
33411
|
+
useLayoutEffect21(() => {
|
|
33309
33412
|
syncElementHeight();
|
|
33310
33413
|
}, [enabled, syncElementHeight]);
|
|
33311
33414
|
return height;
|
|
33312
33415
|
}
|
|
33313
33416
|
|
|
33314
33417
|
// src/layouts/useTransitionAfterPaint.ts
|
|
33315
|
-
import { useLayoutEffect as
|
|
33418
|
+
import { useLayoutEffect as useLayoutEffect22 } from "react";
|
|
33316
33419
|
function useTransitionAfterPaint(ref, transition) {
|
|
33317
|
-
|
|
33420
|
+
useLayoutEffect22(() => {
|
|
33318
33421
|
const el = ref.current;
|
|
33319
33422
|
if (!el) return;
|
|
33320
33423
|
const id = requestAnimationFrame(() => {
|
|
@@ -33326,17 +33429,17 @@ function useTransitionAfterPaint(ref, transition) {
|
|
|
33326
33429
|
|
|
33327
33430
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
33328
33431
|
import { createContext as createContext19, useContext as useContext30 } from "react";
|
|
33329
|
-
import { jsx as
|
|
33432
|
+
import { jsx as jsx263 } from "react/jsx-runtime";
|
|
33330
33433
|
var NavbarLayoutHeightContext = createContext19(0);
|
|
33331
33434
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
33332
|
-
return /* @__PURE__ */
|
|
33435
|
+
return /* @__PURE__ */ jsx263(NavbarLayoutHeightContext.Provider, { value, children });
|
|
33333
33436
|
}
|
|
33334
33437
|
function useNavbarLayoutHeight() {
|
|
33335
33438
|
return useContext30(NavbarLayoutHeightContext);
|
|
33336
33439
|
}
|
|
33337
33440
|
|
|
33338
33441
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
33339
|
-
import { jsx as
|
|
33442
|
+
import { jsx as jsx264, jsxs as jsxs143 } from "react/jsx-runtime";
|
|
33340
33443
|
var __maybeInc33 = (inc) => {
|
|
33341
33444
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33342
33445
|
};
|
|
@@ -33346,8 +33449,8 @@ function NavbarLayout(props) {
|
|
|
33346
33449
|
children
|
|
33347
33450
|
} = props;
|
|
33348
33451
|
const tid = useTestIds(props, "navbarLayout");
|
|
33349
|
-
const navMetricsRef =
|
|
33350
|
-
const spacerRef =
|
|
33452
|
+
const navMetricsRef = useRef80(null);
|
|
33453
|
+
const spacerRef = useRef80(null);
|
|
33351
33454
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
33352
33455
|
const {
|
|
33353
33456
|
state: autoHideState
|
|
@@ -33373,32 +33476,32 @@ function NavbarLayout(props) {
|
|
|
33373
33476
|
const innerStyle = {
|
|
33374
33477
|
top: autoHideState === "hidden" ? `calc(${bannerTop} - ${navHeight}px)` : bannerTop
|
|
33375
33478
|
};
|
|
33376
|
-
const navbarEl = useMemo62(() => /* @__PURE__ */
|
|
33377
|
-
return /* @__PURE__ */
|
|
33479
|
+
const navbarEl = useMemo62(() => /* @__PURE__ */ jsx264(Navbar, { ...navbar }), [navbar]);
|
|
33480
|
+
return /* @__PURE__ */ jsx264(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsx264(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ jsx264(MobileSubNavProvider, { children: /* @__PURE__ */ jsxs143("div", { ...mergeProps47(void 0, cssVars, {
|
|
33378
33481
|
display: "df",
|
|
33379
33482
|
flexDirection: "fdc",
|
|
33380
33483
|
width: "wfc",
|
|
33381
33484
|
minWidth: "mw100"
|
|
33382
33485
|
}), ...tid, children: [
|
|
33383
|
-
/* @__PURE__ */
|
|
33486
|
+
/* @__PURE__ */ jsx264("div", { ref: spacerRef, ...mergeProps47(void 0, {
|
|
33384
33487
|
height: navHeight
|
|
33385
33488
|
}, {
|
|
33386
33489
|
flexShrink: "fs0",
|
|
33387
33490
|
width: "w100"
|
|
33388
|
-
}), children: /* @__PURE__ */
|
|
33389
|
-
/* @__PURE__ */
|
|
33491
|
+
}), children: /* @__PURE__ */ jsx264("div", { ref: navMetricsRef, ...mergeProps47(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
33492
|
+
/* @__PURE__ */ jsx264("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
33390
33493
|
] }) }) }) });
|
|
33391
33494
|
}
|
|
33392
33495
|
|
|
33393
33496
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
33394
|
-
import { useCallback as
|
|
33497
|
+
import { useCallback as useCallback49, useMemo as useMemo63, useRef as useRef82 } from "react";
|
|
33395
33498
|
|
|
33396
33499
|
// src/hooks/useDocumentTitle.tsx
|
|
33397
|
-
import { useLayoutEffect as
|
|
33500
|
+
import { useLayoutEffect as useLayoutEffect23 } from "react";
|
|
33398
33501
|
function useDocumentTitle(...titleSegments) {
|
|
33399
33502
|
const config = useDocumentTitleConfig();
|
|
33400
33503
|
const pageTitle = joinDocumentTitleSegments(...titleSegments);
|
|
33401
|
-
|
|
33504
|
+
useLayoutEffect23(() => {
|
|
33402
33505
|
if (!config || !pageTitle || typeof document === "undefined") {
|
|
33403
33506
|
return;
|
|
33404
33507
|
}
|
|
@@ -33410,8 +33513,8 @@ function useDocumentTitle(...titleSegments) {
|
|
|
33410
33513
|
}
|
|
33411
33514
|
|
|
33412
33515
|
// src/components/Headers/BaseHeader.tsx
|
|
33413
|
-
import { trussProps as
|
|
33414
|
-
import { jsx as
|
|
33516
|
+
import { trussProps as trussProps153 } from "@homebound/truss/runtime";
|
|
33517
|
+
import { jsx as jsx265, jsxs as jsxs144 } from "react/jsx-runtime";
|
|
33415
33518
|
function BaseHeader(props) {
|
|
33416
33519
|
const {
|
|
33417
33520
|
title,
|
|
@@ -33423,7 +33526,7 @@ function BaseHeader(props) {
|
|
|
33423
33526
|
} = props;
|
|
33424
33527
|
const tid = useTestIds(otherProps, "header");
|
|
33425
33528
|
useDocumentTitle(title, documentTitleSuffix);
|
|
33426
|
-
return /* @__PURE__ */
|
|
33529
|
+
return /* @__PURE__ */ jsxs144("header", { ...tid, ...trussProps153({
|
|
33427
33530
|
display: "df",
|
|
33428
33531
|
flexDirection: "fdc",
|
|
33429
33532
|
paddingTop: "pt3",
|
|
@@ -33437,7 +33540,7 @@ function BaseHeader(props) {
|
|
|
33437
33540
|
"--backgroundColor": "var(--b-surface)"
|
|
33438
33541
|
}]
|
|
33439
33542
|
}), children: [
|
|
33440
|
-
/* @__PURE__ */
|
|
33543
|
+
/* @__PURE__ */ jsxs144("div", { ...trussProps153({
|
|
33441
33544
|
...{
|
|
33442
33545
|
display: "df",
|
|
33443
33546
|
justifyContent: "jcsb",
|
|
@@ -33451,9 +33554,9 @@ function BaseHeader(props) {
|
|
|
33451
33554
|
} : {}
|
|
33452
33555
|
}
|
|
33453
33556
|
}), children: [
|
|
33454
|
-
/* @__PURE__ */
|
|
33455
|
-
breadcrumbs && /* @__PURE__ */
|
|
33456
|
-
/* @__PURE__ */
|
|
33557
|
+
/* @__PURE__ */ jsxs144("div", { className: "mw0", children: [
|
|
33558
|
+
breadcrumbs && /* @__PURE__ */ jsx265(Breadcrumbs, { ...breadcrumbs }),
|
|
33559
|
+
/* @__PURE__ */ jsx265("h1", { ...tid.title, ...trussProps153({
|
|
33457
33560
|
fontWeight: "fw6",
|
|
33458
33561
|
fontSize: "fz_20px",
|
|
33459
33562
|
lineHeight: "lh_28px",
|
|
@@ -33462,15 +33565,15 @@ function BaseHeader(props) {
|
|
|
33462
33565
|
}]
|
|
33463
33566
|
}), children: title })
|
|
33464
33567
|
] }),
|
|
33465
|
-
/* @__PURE__ */
|
|
33568
|
+
/* @__PURE__ */ jsx265("div", { className: "fs0", children: rightSlot })
|
|
33466
33569
|
] }),
|
|
33467
33570
|
bottomSlot
|
|
33468
33571
|
] });
|
|
33469
33572
|
}
|
|
33470
33573
|
|
|
33471
33574
|
// src/components/Headers/PageHeader.tsx
|
|
33472
|
-
import { trussProps as
|
|
33473
|
-
import { Fragment as Fragment57, jsx as
|
|
33575
|
+
import { trussProps as trussProps154 } from "@homebound/truss/runtime";
|
|
33576
|
+
import { Fragment as Fragment57, jsx as jsx266, jsxs as jsxs145 } from "react/jsx-runtime";
|
|
33474
33577
|
function PageHeader2(props) {
|
|
33475
33578
|
const {
|
|
33476
33579
|
tabs,
|
|
@@ -33486,29 +33589,29 @@ function PageHeader2(props) {
|
|
|
33486
33589
|
bottomSlotActions,
|
|
33487
33590
|
rightSlotActions
|
|
33488
33591
|
} = splitHeaderActionsOnSm(actions, sm);
|
|
33489
|
-
return /* @__PURE__ */
|
|
33490
|
-
/* @__PURE__ */
|
|
33491
|
-
rightSlotActions.length > 0 && /* @__PURE__ */
|
|
33592
|
+
return /* @__PURE__ */ jsx266(BaseHeader, { ...otherProps, rightSlot: /* @__PURE__ */ jsxs145("div", { className: "df g_2 fs0", ...tid.actions, children: [
|
|
33593
|
+
/* @__PURE__ */ jsx266(AutoSaveIndicator, { hideOnIdle: true }),
|
|
33594
|
+
rightSlotActions.length > 0 && /* @__PURE__ */ jsx266(HeaderActions, { actions: rightSlotActions, collapseOnSm: true }),
|
|
33492
33595
|
rightSlot
|
|
33493
|
-
] }), bottomSlot: (bottomSlotActions.length > 0 || tabs) && /* @__PURE__ */
|
|
33494
|
-
bottomSlotActions.length > 0 && /* @__PURE__ */
|
|
33596
|
+
] }), bottomSlot: (bottomSlotActions.length > 0 || tabs) && /* @__PURE__ */ jsxs145(Fragment57, { children: [
|
|
33597
|
+
bottomSlotActions.length > 0 && /* @__PURE__ */ jsx266("div", { ...trussProps154({
|
|
33495
33598
|
...pageContentPaddingX,
|
|
33496
33599
|
...{
|
|
33497
33600
|
...!tabs ? {
|
|
33498
33601
|
marginBottom: "mb2"
|
|
33499
33602
|
} : {}
|
|
33500
33603
|
}
|
|
33501
|
-
}), ...tid.bottomSlot, children: /* @__PURE__ */
|
|
33502
|
-
tabs && /* @__PURE__ */
|
|
33604
|
+
}), ...tid.bottomSlot, children: /* @__PURE__ */ jsx266(HeaderActions, { actions: bottomSlotActions }) }),
|
|
33605
|
+
tabs && /* @__PURE__ */ jsx266("div", { ...trussProps154(pageContentPaddingX), children: /* @__PURE__ */ jsx266(Tabs, { ...tabs, ...tid.tabs }) })
|
|
33503
33606
|
] }) });
|
|
33504
33607
|
}
|
|
33505
33608
|
|
|
33506
33609
|
// src/layouts/PageBanner/internal/usePageBannerSlot.tsx
|
|
33507
|
-
import { useCallback as
|
|
33610
|
+
import { useCallback as useCallback48, useLayoutEffect as useLayoutEffect24, useRef as useRef81, useState as useState71 } from "react";
|
|
33508
33611
|
|
|
33509
33612
|
// src/layouts/PageBanner/internal/PageBannerSlot.tsx
|
|
33510
|
-
import { trussProps as
|
|
33511
|
-
import { jsx as
|
|
33613
|
+
import { trussProps as trussProps155, maybeCssVar as maybeCssVar74 } from "@homebound/truss/runtime";
|
|
33614
|
+
import { jsx as jsx267 } from "react/jsx-runtime";
|
|
33512
33615
|
var __maybeInc34 = (inc) => {
|
|
33513
33616
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33514
33617
|
};
|
|
@@ -33518,7 +33621,7 @@ function PageBannerSlot(props) {
|
|
|
33518
33621
|
metricsRef
|
|
33519
33622
|
} = props;
|
|
33520
33623
|
const tid = useTestIds(props, "pageBannerSlot");
|
|
33521
|
-
return /* @__PURE__ */
|
|
33624
|
+
return /* @__PURE__ */ jsx267("div", { ref: metricsRef, ...trussProps155({
|
|
33522
33625
|
flexShrink: "fs0",
|
|
33523
33626
|
width: ["w_var", {
|
|
33524
33627
|
"--width": maybeCssVar74(__maybeInc34(`min(100%, ${documentScrollChromeWidth()})`))
|
|
@@ -33534,26 +33637,26 @@ function PageBannerSlot(props) {
|
|
|
33534
33637
|
zIndex: ["z_var", {
|
|
33535
33638
|
"--zIndex": maybeCssVar74(zIndices.pageBanner)
|
|
33536
33639
|
}]
|
|
33537
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */
|
|
33640
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ jsx267(StatusBanner, { ...banner, sticky: true, ...tid.banner }) });
|
|
33538
33641
|
}
|
|
33539
33642
|
|
|
33540
33643
|
// src/layouts/PageBanner/internal/usePageBannerSlot.tsx
|
|
33541
|
-
import { jsx as
|
|
33644
|
+
import { jsx as jsx268 } from "react/jsx-runtime";
|
|
33542
33645
|
function usePageBannerSlot(bannerProp, testIds) {
|
|
33543
33646
|
const publishedBanner = usePublishedPageBanner();
|
|
33544
33647
|
const banner = publishedBanner ?? bannerProp;
|
|
33545
|
-
const metricsRef =
|
|
33648
|
+
const metricsRef = useRef81(null);
|
|
33546
33649
|
const height = useMeasuredHeight(metricsRef, banner != null);
|
|
33547
|
-
const slot = banner ? /* @__PURE__ */
|
|
33650
|
+
const slot = banner ? /* @__PURE__ */ jsx268(PageBannerSlot, { ...testIds, banner, metricsRef }) : null;
|
|
33548
33651
|
return { slot, height };
|
|
33549
33652
|
}
|
|
33550
33653
|
function usePublishedPageBanner() {
|
|
33551
|
-
const [banner, setBanner] =
|
|
33552
|
-
const sync =
|
|
33654
|
+
const [banner, setBanner] = useState71(pageBannerStore.getSnapshot);
|
|
33655
|
+
const sync = useCallback48(() => {
|
|
33553
33656
|
const next = pageBannerStore.getSnapshot();
|
|
33554
33657
|
setBanner((prev) => prev === next ? prev : next);
|
|
33555
33658
|
}, []);
|
|
33556
|
-
|
|
33659
|
+
useLayoutEffect24(() => {
|
|
33557
33660
|
sync();
|
|
33558
33661
|
return pageBannerStore.subscribe(sync);
|
|
33559
33662
|
}, [sync]);
|
|
@@ -33567,7 +33670,7 @@ function useBannerAndNavbarHeight() {
|
|
|
33567
33670
|
|
|
33568
33671
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
33569
33672
|
import { mergeProps as mergeProps48, maybeCssVar as maybeCssVar75 } from "@homebound/truss/runtime";
|
|
33570
|
-
import { jsx as
|
|
33673
|
+
import { jsx as jsx269, jsxs as jsxs146 } from "react/jsx-runtime";
|
|
33571
33674
|
var __maybeInc35 = (inc) => {
|
|
33572
33675
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33573
33676
|
};
|
|
@@ -33583,11 +33686,11 @@ function PageHeaderLayout(props) {
|
|
|
33583
33686
|
height: bannerHeight
|
|
33584
33687
|
} = usePageBannerSlot(bannerProp, tid);
|
|
33585
33688
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
33586
|
-
const bannerAndNavbarHeightRef =
|
|
33689
|
+
const bannerAndNavbarHeightRef = useRef82(bannerAndNavbarHeight);
|
|
33587
33690
|
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
33588
|
-
const getBannerAndNavbarHeight =
|
|
33589
|
-
const headerMetricsRef =
|
|
33590
|
-
const spacerRef =
|
|
33691
|
+
const getBannerAndNavbarHeight = useCallback49(() => bannerAndNavbarHeightRef.current, []);
|
|
33692
|
+
const headerMetricsRef = useRef82(null);
|
|
33693
|
+
const spacerRef = useRef82(null);
|
|
33591
33694
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
33592
33695
|
const {
|
|
33593
33696
|
state: autoHideState
|
|
@@ -33620,44 +33723,44 @@ function PageHeaderLayout(props) {
|
|
|
33620
33723
|
const innerStyle = {
|
|
33621
33724
|
top: autoHideState === "hidden" ? `calc(${outerTop} - ${headerHeight}px)` : outerTop
|
|
33622
33725
|
};
|
|
33623
|
-
const pageHeaderEl = useMemo63(() => /* @__PURE__ */
|
|
33624
|
-
return /* @__PURE__ */
|
|
33726
|
+
const pageHeaderEl = useMemo63(() => /* @__PURE__ */ jsx269(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
33727
|
+
return /* @__PURE__ */ jsx269(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsxs146("div", { ...mergeProps48(void 0, style, {
|
|
33625
33728
|
display: "df",
|
|
33626
33729
|
flexDirection: "fdc",
|
|
33627
33730
|
width: "w100"
|
|
33628
33731
|
}), ...tid, children: [
|
|
33629
|
-
/* @__PURE__ */
|
|
33732
|
+
/* @__PURE__ */ jsx269("div", { ref: spacerRef, ...mergeProps48(void 0, {
|
|
33630
33733
|
height: headerHeight
|
|
33631
33734
|
}, {
|
|
33632
33735
|
flexShrink: "fs0",
|
|
33633
33736
|
width: "w100"
|
|
33634
|
-
}), children: /* @__PURE__ */
|
|
33737
|
+
}), children: /* @__PURE__ */ jsx269("div", { ref: headerMetricsRef, ...mergeProps48(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
33635
33738
|
bannerSlot,
|
|
33636
|
-
/* @__PURE__ */
|
|
33739
|
+
/* @__PURE__ */ jsx269("div", { className: "df fdc fg1 mh0 w100 n_has_data_self_top_spaced_first_child_pt3", ...tid.body, children })
|
|
33637
33740
|
] }) });
|
|
33638
33741
|
}
|
|
33639
33742
|
|
|
33640
33743
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
33641
|
-
import { useLayoutEffect as
|
|
33744
|
+
import { useLayoutEffect as useLayoutEffect25, useRef as useRef84 } from "react";
|
|
33642
33745
|
|
|
33643
33746
|
// src/components/Headers/WorkflowHeader.tsx
|
|
33644
|
-
import { jsx as
|
|
33747
|
+
import { jsx as jsx270 } from "react/jsx-runtime";
|
|
33645
33748
|
function WorkflowHeader(props) {
|
|
33646
33749
|
const { stepperTabs, ...otherProps } = props;
|
|
33647
33750
|
const tid = useTestIds(otherProps, "header");
|
|
33648
|
-
return /* @__PURE__ */
|
|
33751
|
+
return /* @__PURE__ */ jsx270(
|
|
33649
33752
|
BaseHeader,
|
|
33650
33753
|
{
|
|
33651
33754
|
...otherProps,
|
|
33652
|
-
bottomSlot: stepperTabs ? /* @__PURE__ */
|
|
33755
|
+
bottomSlot: stepperTabs ? /* @__PURE__ */ jsx270(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) : void 0
|
|
33653
33756
|
}
|
|
33654
33757
|
);
|
|
33655
33758
|
}
|
|
33656
33759
|
|
|
33657
33760
|
// src/layouts/Workflow/RightPaneTriggers.tsx
|
|
33658
|
-
import { useCallback as
|
|
33659
|
-
import { trussProps as
|
|
33660
|
-
import { jsx as
|
|
33761
|
+
import { useCallback as useCallback50 } from "react";
|
|
33762
|
+
import { trussProps as trussProps156, maybeCssVar as maybeCssVar76 } from "@homebound/truss/runtime";
|
|
33763
|
+
import { jsx as jsx271 } from "react/jsx-runtime";
|
|
33661
33764
|
var __maybeInc36 = (inc) => {
|
|
33662
33765
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33663
33766
|
};
|
|
@@ -33676,14 +33779,14 @@ function WorkflowPageRightPaneTriggers(props) {
|
|
|
33676
33779
|
} = useRightPaneActions();
|
|
33677
33780
|
const tid = useTestIds(props, "rightPaneTriggers");
|
|
33678
33781
|
const pageTriggerInsetPx = 24;
|
|
33679
|
-
const onClick =
|
|
33782
|
+
const onClick = useCallback50((trigger) => {
|
|
33680
33783
|
openRightPane({
|
|
33681
|
-
content: /* @__PURE__ */
|
|
33784
|
+
content: /* @__PURE__ */ jsx271(RightPanePanel, { title: trigger.label, children: trigger.content })
|
|
33682
33785
|
});
|
|
33683
33786
|
}, [openRightPane]);
|
|
33684
|
-
return /* @__PURE__ */
|
|
33787
|
+
return /* @__PURE__ */ jsx271("div", { ...tid, "aria-hidden": isRightPaneOpen, ...isRightPaneOpen ? {
|
|
33685
33788
|
inert: true
|
|
33686
|
-
} : {}, ...
|
|
33789
|
+
} : {}, ...trussProps156({
|
|
33687
33790
|
...{
|
|
33688
33791
|
display: "df",
|
|
33689
33792
|
alignItems: "aic",
|
|
@@ -33715,21 +33818,21 @@ function WorkflowPageRightPaneTriggers(props) {
|
|
|
33715
33818
|
} : {
|
|
33716
33819
|
transform: "tf_translateX_0"
|
|
33717
33820
|
})
|
|
33718
|
-
}), children: triggers.map((trigger) => /* @__PURE__ */
|
|
33821
|
+
}), children: triggers.map((trigger) => /* @__PURE__ */ jsx271(IconButton, { icon: trigger.icon, label: trigger.label, variant: "circle", compact: isMobile, onClick: () => onClick(trigger), ...tid[trigger.icon] }, trigger.label)) });
|
|
33719
33822
|
}
|
|
33720
33823
|
|
|
33721
33824
|
// src/layouts/Workflow/useUnsavedChangesGuard.tsx
|
|
33722
|
-
import { useEffect as useEffect43, useRef as
|
|
33825
|
+
import { useEffect as useEffect43, useRef as useRef83 } from "react";
|
|
33723
33826
|
import { useBlocker } from "react-router-dom";
|
|
33724
|
-
import { jsx as
|
|
33827
|
+
import { jsx as jsx272 } from "react/jsx-runtime";
|
|
33725
33828
|
function useUnsavedChangesGuard(options) {
|
|
33726
33829
|
const { isDirty, allowNavigation, onCancel, destructiveAction } = options;
|
|
33727
33830
|
const { openModal } = useModal();
|
|
33728
|
-
const isDirtyRef =
|
|
33831
|
+
const isDirtyRef = useRef83(isDirty);
|
|
33729
33832
|
isDirtyRef.current = isDirty;
|
|
33730
|
-
const allowNavigationRef =
|
|
33833
|
+
const allowNavigationRef = useRef83(allowNavigation);
|
|
33731
33834
|
allowNavigationRef.current = allowNavigation;
|
|
33732
|
-
const allowCancelNavigationRef =
|
|
33835
|
+
const allowCancelNavigationRef = useRef83(false);
|
|
33733
33836
|
useEffect43(() => {
|
|
33734
33837
|
const onBeforeUnload = (e) => {
|
|
33735
33838
|
if (isDirtyRef.current?.()) {
|
|
@@ -33757,7 +33860,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
33757
33860
|
}
|
|
33758
33861
|
openModal({
|
|
33759
33862
|
allowClosing: false,
|
|
33760
|
-
content: /* @__PURE__ */
|
|
33863
|
+
content: /* @__PURE__ */ jsx272(ConfirmCloseModal, { onClose: () => confirmCancel(e) })
|
|
33761
33864
|
});
|
|
33762
33865
|
};
|
|
33763
33866
|
const onDestructiveActionClick = destructiveAction ? (e) => {
|
|
@@ -33769,7 +33872,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
33769
33872
|
} = destructiveAction;
|
|
33770
33873
|
openModal({
|
|
33771
33874
|
allowClosing: false,
|
|
33772
|
-
content: /* @__PURE__ */
|
|
33875
|
+
content: /* @__PURE__ */ jsx272(
|
|
33773
33876
|
ConfirmCloseModal,
|
|
33774
33877
|
{
|
|
33775
33878
|
title: confirmTitle,
|
|
@@ -33800,7 +33903,7 @@ function UnsavedChangesNavigationModal(props) {
|
|
|
33800
33903
|
useEffect43(() => {
|
|
33801
33904
|
openModal({
|
|
33802
33905
|
allowClosing: false,
|
|
33803
|
-
content: /* @__PURE__ */
|
|
33906
|
+
content: /* @__PURE__ */ jsx272(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
33804
33907
|
});
|
|
33805
33908
|
return () => closeModal();
|
|
33806
33909
|
}, []);
|
|
@@ -33808,7 +33911,7 @@ function UnsavedChangesNavigationModal(props) {
|
|
|
33808
33911
|
}
|
|
33809
33912
|
|
|
33810
33913
|
// src/layouts/Workflow/WorkflowActions.tsx
|
|
33811
|
-
import { jsx as
|
|
33914
|
+
import { jsx as jsx273, jsxs as jsxs147 } from "react/jsx-runtime";
|
|
33812
33915
|
function WorkflowActions(props) {
|
|
33813
33916
|
const {
|
|
33814
33917
|
onCancel,
|
|
@@ -33827,13 +33930,13 @@ function WorkflowActions(props) {
|
|
|
33827
33930
|
sm: isMobile
|
|
33828
33931
|
} = useBreakpoint();
|
|
33829
33932
|
const primaryVariant = aiMode ? "ai" : "primary";
|
|
33830
|
-
return /* @__PURE__ */
|
|
33831
|
-
/* @__PURE__ */
|
|
33832
|
-
/* @__PURE__ */
|
|
33833
|
-
/* @__PURE__ */
|
|
33834
|
-
onSaveAndExit && /* @__PURE__ */
|
|
33835
|
-
destructiveAction && /* @__PURE__ */
|
|
33836
|
-
isLastStep ? /* @__PURE__ */
|
|
33933
|
+
return /* @__PURE__ */ jsxs147("div", { className: "df aic jcsb sm_w100", children: [
|
|
33934
|
+
/* @__PURE__ */ jsx273("div", { className: "df aic", children: !isFirstStep && isMobile && onBack && /* @__PURE__ */ jsx273(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
|
|
33935
|
+
/* @__PURE__ */ jsxs147("div", { className: "df aic g_1", children: [
|
|
33936
|
+
/* @__PURE__ */ jsx273(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
|
|
33937
|
+
onSaveAndExit && /* @__PURE__ */ jsx273(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
|
|
33938
|
+
destructiveAction && /* @__PURE__ */ jsx273(Button, { label: destructiveAction.label ?? "Remove", variant: "danger", onClick: destructiveAction.onConfirm }),
|
|
33939
|
+
isLastStep ? /* @__PURE__ */ jsx273(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ jsx273(Button, { label: "Continue", variant: primaryVariant, onClick: async () => {
|
|
33837
33940
|
await onContinue?.();
|
|
33838
33941
|
}, disabled: primaryDisabled })
|
|
33839
33942
|
] })
|
|
@@ -33841,8 +33944,8 @@ function WorkflowActions(props) {
|
|
|
33841
33944
|
}
|
|
33842
33945
|
|
|
33843
33946
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
33844
|
-
import { trussProps as
|
|
33845
|
-
import { jsx as
|
|
33947
|
+
import { trussProps as trussProps157, mergeProps as mergeProps49, maybeCssVar as maybeCssVar77 } from "@homebound/truss/runtime";
|
|
33948
|
+
import { jsx as jsx274, jsxs as jsxs148 } from "react/jsx-runtime";
|
|
33846
33949
|
var __maybeInc37 = (inc) => {
|
|
33847
33950
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33848
33951
|
};
|
|
@@ -33881,13 +33984,13 @@ function WorkflowPageLayout(props) {
|
|
|
33881
33984
|
onCancel,
|
|
33882
33985
|
destructiveAction
|
|
33883
33986
|
});
|
|
33884
|
-
const actions = /* @__PURE__ */
|
|
33987
|
+
const actions = /* @__PURE__ */ jsx274(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick, destructiveAction: destructiveAction && {
|
|
33885
33988
|
...destructiveAction,
|
|
33886
33989
|
onConfirm: onDestructiveActionClick
|
|
33887
33990
|
} });
|
|
33888
33991
|
const triggers = rightPaneTriggers ?? [];
|
|
33889
|
-
const pageTriggers = triggers.length > 0 ? /* @__PURE__ */
|
|
33890
|
-
const headerMetricsRef =
|
|
33992
|
+
const pageTriggers = triggers.length > 0 ? /* @__PURE__ */ jsx274(WorkflowPageRightPaneTriggers, { triggers }) : void 0;
|
|
33993
|
+
const headerMetricsRef = useRef84(null);
|
|
33891
33994
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
33892
33995
|
const headerWidth = documentScrollChromeWidth();
|
|
33893
33996
|
const outerTop = belowNavbarOffset();
|
|
@@ -33900,7 +34003,7 @@ function WorkflowPageLayout(props) {
|
|
|
33900
34003
|
}
|
|
33901
34004
|
const style = Object.keys(cssVars).length > 0 ? cssVars : void 0;
|
|
33902
34005
|
const showFooter = isMobile;
|
|
33903
|
-
|
|
34006
|
+
useLayoutEffect25(() => {
|
|
33904
34007
|
const root = document.documentElement;
|
|
33905
34008
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
33906
34009
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -33913,8 +34016,8 @@ function WorkflowPageLayout(props) {
|
|
|
33913
34016
|
};
|
|
33914
34017
|
}, [showFooter]);
|
|
33915
34018
|
const currentStep = stepperTabs?.currentStep;
|
|
33916
|
-
const prevStepRef =
|
|
33917
|
-
|
|
34019
|
+
const prevStepRef = useRef84(currentStep);
|
|
34020
|
+
useLayoutEffect25(() => {
|
|
33918
34021
|
if (prevStepRef.current === currentStep) return;
|
|
33919
34022
|
prevStepRef.current = currentStep;
|
|
33920
34023
|
window.scrollTo({
|
|
@@ -33922,18 +34025,18 @@ function WorkflowPageLayout(props) {
|
|
|
33922
34025
|
left: 0
|
|
33923
34026
|
});
|
|
33924
34027
|
}, [currentStep]);
|
|
33925
|
-
return /* @__PURE__ */
|
|
33926
|
-
/* @__PURE__ */
|
|
34028
|
+
return /* @__PURE__ */ jsxs148(DocumentScrollLayoutProvider, { children: [
|
|
34029
|
+
/* @__PURE__ */ jsxs148("div", { ...mergeProps49(void 0, style, {
|
|
33927
34030
|
display: "df",
|
|
33928
34031
|
flexDirection: "fdc",
|
|
33929
34032
|
width: "w100"
|
|
33930
34033
|
}), ...tid, children: [
|
|
33931
|
-
/* @__PURE__ */
|
|
34034
|
+
/* @__PURE__ */ jsx274("div", { ...mergeProps49(void 0, {
|
|
33932
34035
|
height: headerHeight
|
|
33933
34036
|
}, {
|
|
33934
34037
|
flexShrink: "fs0",
|
|
33935
34038
|
width: "w100"
|
|
33936
|
-
}), children: /* @__PURE__ */
|
|
34039
|
+
}), children: /* @__PURE__ */ jsx274("div", { ref: headerMetricsRef, ...trussProps157({
|
|
33937
34040
|
position: "fixed",
|
|
33938
34041
|
left: "l_0",
|
|
33939
34042
|
width: ["w_var", {
|
|
@@ -33946,9 +34049,9 @@ function WorkflowPageLayout(props) {
|
|
|
33946
34049
|
"--top": maybeCssVar77(__maybeInc37(outerTop))
|
|
33947
34050
|
}],
|
|
33948
34051
|
transition: "transitionAll"
|
|
33949
|
-
}), ...tid.header, children: /* @__PURE__ */
|
|
34052
|
+
}), ...tid.header, children: /* @__PURE__ */ jsx274(WorkflowHeader, { title, documentTitleSuffix, breadcrumbs, rightSlot: isMobile ? pageTriggers : actions, stepperTabs }) }) }),
|
|
33950
34053
|
bannerSlot,
|
|
33951
|
-
/* @__PURE__ */
|
|
34054
|
+
/* @__PURE__ */ jsx274("div", { ...trussProps157({
|
|
33952
34055
|
...{
|
|
33953
34056
|
display: "df",
|
|
33954
34057
|
flexDirection: "fdc",
|
|
@@ -33963,15 +34066,15 @@ function WorkflowPageLayout(props) {
|
|
|
33963
34066
|
"--minHeight": maybeCssVar77(documentScrollBodyMinHeight())
|
|
33964
34067
|
}]
|
|
33965
34068
|
}
|
|
33966
|
-
}), ...tid.body, children: triggers.length > 0 ? /* @__PURE__ */
|
|
34069
|
+
}), ...tid.body, children: triggers.length > 0 ? /* @__PURE__ */ jsx274(DocumentScrollOverlayRightPaneLayout, { children }) : children }),
|
|
33967
34070
|
!isMobile && pageTriggers,
|
|
33968
|
-
showFooter && /* @__PURE__ */
|
|
34071
|
+
showFooter && /* @__PURE__ */ jsx274("div", { ...trussProps157({
|
|
33969
34072
|
flexShrink: "fs0",
|
|
33970
34073
|
width: "w100",
|
|
33971
34074
|
height: ["h_var", {
|
|
33972
34075
|
"--height": `${mobileFooterHeightPx}px`
|
|
33973
34076
|
}]
|
|
33974
|
-
}), children: /* @__PURE__ */
|
|
34077
|
+
}), children: /* @__PURE__ */ jsx274("div", { ...trussProps157({
|
|
33975
34078
|
...{
|
|
33976
34079
|
position: "fixed",
|
|
33977
34080
|
bottom: "bot_0",
|
|
@@ -34000,12 +34103,12 @@ function WorkflowPageLayout(props) {
|
|
|
34000
34103
|
...pageContentPaddingX
|
|
34001
34104
|
}), ...tid.footer, children: actions }) })
|
|
34002
34105
|
] }),
|
|
34003
|
-
navigationBlocker && /* @__PURE__ */
|
|
34106
|
+
navigationBlocker && /* @__PURE__ */ jsx274(UnsavedChangesNavigationModal, { ...navigationBlocker })
|
|
34004
34107
|
] });
|
|
34005
34108
|
}
|
|
34006
34109
|
|
|
34007
34110
|
// src/layouts/Workflow/FocusedFormLayout.tsx
|
|
34008
|
-
import { jsx as
|
|
34111
|
+
import { jsx as jsx275 } from "react/jsx-runtime";
|
|
34009
34112
|
function FocusedFormLayout(props) {
|
|
34010
34113
|
const {
|
|
34011
34114
|
onCancel,
|
|
@@ -34023,7 +34126,7 @@ function FocusedFormLayout(props) {
|
|
|
34023
34126
|
...headerProps
|
|
34024
34127
|
} = props;
|
|
34025
34128
|
const tid = useTestIds(props, "focusedFormLayout");
|
|
34026
|
-
return /* @__PURE__ */
|
|
34129
|
+
return /* @__PURE__ */ jsx275(
|
|
34027
34130
|
WorkflowPageLayout,
|
|
34028
34131
|
{
|
|
34029
34132
|
...tid,
|
|
@@ -34045,8 +34148,8 @@ function FocusedFormLayout(props) {
|
|
|
34045
34148
|
}
|
|
34046
34149
|
|
|
34047
34150
|
// src/layouts/Workflow/StepperLayout.tsx
|
|
34048
|
-
import { useState as
|
|
34049
|
-
import { jsx as
|
|
34151
|
+
import { useState as useState72 } from "react";
|
|
34152
|
+
import { jsx as jsx276 } from "react/jsx-runtime";
|
|
34050
34153
|
function StepperLayout(props) {
|
|
34051
34154
|
const {
|
|
34052
34155
|
steps,
|
|
@@ -34063,7 +34166,7 @@ function StepperLayout(props) {
|
|
|
34063
34166
|
...headerProps
|
|
34064
34167
|
} = props;
|
|
34065
34168
|
const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
|
|
34066
|
-
const [currentStep, setCurrentStep] =
|
|
34169
|
+
const [currentStep, setCurrentStep] = useState72(() => getInitialStep(stepTabs, defaultStep));
|
|
34067
34170
|
const tid = useTestIds(props, "stepperLayout");
|
|
34068
34171
|
const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
|
|
34069
34172
|
const isFirstStep = currentIndex <= 0;
|
|
@@ -34073,7 +34176,7 @@ function StepperLayout(props) {
|
|
|
34073
34176
|
if (value === currentStep) return;
|
|
34074
34177
|
closeRightPaneThen(() => setCurrentStep(value));
|
|
34075
34178
|
}
|
|
34076
|
-
return /* @__PURE__ */
|
|
34179
|
+
return /* @__PURE__ */ jsx276(
|
|
34077
34180
|
WorkflowPageLayout,
|
|
34078
34181
|
{
|
|
34079
34182
|
...tid,
|
|
@@ -34118,7 +34221,7 @@ function getInitialStep(steps, defaultStep) {
|
|
|
34118
34221
|
|
|
34119
34222
|
// src/forms/BoundChipSelectField.tsx
|
|
34120
34223
|
import { Observer as Observer22 } from "mobx-react";
|
|
34121
|
-
import { jsx as
|
|
34224
|
+
import { jsx as jsx277 } from "react/jsx-runtime";
|
|
34122
34225
|
function BoundChipSelectField(props) {
|
|
34123
34226
|
const {
|
|
34124
34227
|
field,
|
|
@@ -34134,7 +34237,7 @@ function BoundChipSelectField(props) {
|
|
|
34134
34237
|
...others
|
|
34135
34238
|
} = props;
|
|
34136
34239
|
const testId = useTestIds(props, field.key);
|
|
34137
|
-
return /* @__PURE__ */
|
|
34240
|
+
return /* @__PURE__ */ jsx277(Observer22, { children: () => /* @__PURE__ */ jsx277(
|
|
34138
34241
|
ChipSelectField,
|
|
34139
34242
|
{
|
|
34140
34243
|
label,
|
|
@@ -34164,12 +34267,12 @@ function BoundChipSelectField(props) {
|
|
|
34164
34267
|
}
|
|
34165
34268
|
|
|
34166
34269
|
// src/forms/BoundSelectAndTextField.tsx
|
|
34167
|
-
import { jsx as
|
|
34270
|
+
import { jsx as jsx278, jsxs as jsxs149 } from "react/jsx-runtime";
|
|
34168
34271
|
function BoundSelectAndTextField(props) {
|
|
34169
34272
|
const { selectFieldProps, textFieldProps, compact = true } = props;
|
|
34170
34273
|
const tid = useTestIds(props);
|
|
34171
|
-
return /* @__PURE__ */
|
|
34172
|
-
/* @__PURE__ */
|
|
34274
|
+
return /* @__PURE__ */ jsxs149(CompoundField, { children: [
|
|
34275
|
+
/* @__PURE__ */ jsx278(
|
|
34173
34276
|
BoundSelectField,
|
|
34174
34277
|
{
|
|
34175
34278
|
...tid[defaultTestId(selectFieldProps.label ?? selectFieldProps.field.key)],
|
|
@@ -34178,7 +34281,7 @@ function BoundSelectAndTextField(props) {
|
|
|
34178
34281
|
compact
|
|
34179
34282
|
}
|
|
34180
34283
|
),
|
|
34181
|
-
/* @__PURE__ */
|
|
34284
|
+
/* @__PURE__ */ jsx278(
|
|
34182
34285
|
BoundTextField,
|
|
34183
34286
|
{
|
|
34184
34287
|
...tid[defaultTestId(textFieldProps.label ?? textFieldProps.field.key)],
|
|
@@ -34190,8 +34293,8 @@ function BoundSelectAndTextField(props) {
|
|
|
34190
34293
|
}
|
|
34191
34294
|
|
|
34192
34295
|
// src/forms/FormHeading.tsx
|
|
34193
|
-
import { trussProps as
|
|
34194
|
-
import { jsx as
|
|
34296
|
+
import { trussProps as trussProps158 } from "@homebound/truss/runtime";
|
|
34297
|
+
import { jsx as jsx279 } from "react/jsx-runtime";
|
|
34195
34298
|
function FormHeading(props) {
|
|
34196
34299
|
const {
|
|
34197
34300
|
title,
|
|
@@ -34201,7 +34304,7 @@ function FormHeading(props) {
|
|
|
34201
34304
|
} = props;
|
|
34202
34305
|
return (
|
|
34203
34306
|
// Add space before the heading, but only if it's not first.
|
|
34204
|
-
/* @__PURE__ */
|
|
34307
|
+
/* @__PURE__ */ jsx279("h3", { ...trussProps158({
|
|
34205
34308
|
...{
|
|
34206
34309
|
fontWeight: "fw4",
|
|
34207
34310
|
fontSize: "fz_16px",
|
|
@@ -34218,8 +34321,8 @@ FormHeading.isFormHeading = true;
|
|
|
34218
34321
|
|
|
34219
34322
|
// src/forms/StaticField.tsx
|
|
34220
34323
|
import { useId as useId6 } from "@react-aria/utils";
|
|
34221
|
-
import { trussProps as
|
|
34222
|
-
import { jsx as
|
|
34324
|
+
import { trussProps as trussProps159 } from "@homebound/truss/runtime";
|
|
34325
|
+
import { jsx as jsx280, jsxs as jsxs150 } from "react/jsx-runtime";
|
|
34223
34326
|
function StaticField(props) {
|
|
34224
34327
|
const {
|
|
34225
34328
|
fieldProps
|
|
@@ -34232,14 +34335,14 @@ function StaticField(props) {
|
|
|
34232
34335
|
} = props;
|
|
34233
34336
|
const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
|
|
34234
34337
|
const id = useId6();
|
|
34235
|
-
return /* @__PURE__ */
|
|
34338
|
+
return /* @__PURE__ */ jsxs150("div", { ...trussProps159({
|
|
34236
34339
|
...labelStyle === "left" ? {
|
|
34237
34340
|
display: "df",
|
|
34238
34341
|
justifyContent: "jcsb",
|
|
34239
34342
|
maxWidth: "maxw100"
|
|
34240
34343
|
} : {}
|
|
34241
34344
|
}), ...tid.container, children: [
|
|
34242
|
-
/* @__PURE__ */
|
|
34345
|
+
/* @__PURE__ */ jsx280("label", { ...trussProps159({
|
|
34243
34346
|
display: "db",
|
|
34244
34347
|
fontWeight: "fw4",
|
|
34245
34348
|
fontSize: "fz_14px",
|
|
@@ -34249,7 +34352,7 @@ function StaticField(props) {
|
|
|
34249
34352
|
}],
|
|
34250
34353
|
marginBottom: "mb_4px"
|
|
34251
34354
|
}), htmlFor: id, ...tid.label, children: label }),
|
|
34252
|
-
/* @__PURE__ */
|
|
34355
|
+
/* @__PURE__ */ jsx280("div", { id, ...trussProps159({
|
|
34253
34356
|
fontWeight: "fw4",
|
|
34254
34357
|
fontSize: "fz_14px",
|
|
34255
34358
|
lineHeight: "lh_20px",
|
|
@@ -34266,9 +34369,9 @@ function StaticField(props) {
|
|
|
34266
34369
|
}
|
|
34267
34370
|
|
|
34268
34371
|
// src/hooks/useFilter.ts
|
|
34269
|
-
import { useState as
|
|
34372
|
+
import { useState as useState73 } from "react";
|
|
34270
34373
|
function useFilter5({ filterDefs }) {
|
|
34271
|
-
const [filter, setFilter] =
|
|
34374
|
+
const [filter, setFilter] = useState73(
|
|
34272
34375
|
Object.fromEntries(
|
|
34273
34376
|
safeEntries(filterDefs).filter(([key, def]) => def(key).defaultValue !== void 0).map(([key, def]) => [key, def(key).defaultValue])
|
|
34274
34377
|
)
|
|
@@ -34277,10 +34380,10 @@ function useFilter5({ filterDefs }) {
|
|
|
34277
34380
|
}
|
|
34278
34381
|
|
|
34279
34382
|
// src/inputs/Autocomplete.tsx
|
|
34280
|
-
import { useCallback as
|
|
34383
|
+
import { useCallback as useCallback51, useRef as useRef85 } from "react";
|
|
34281
34384
|
import { useComboBox as useComboBox3, useOverlayPosition as useOverlayPosition7 } from "react-aria";
|
|
34282
34385
|
import { Item as Item6, useComboBoxState as useComboBoxState3 } from "react-stately";
|
|
34283
|
-
import { Fragment as Fragment58, jsx as
|
|
34386
|
+
import { Fragment as Fragment58, jsx as jsx281, jsxs as jsxs151 } from "react/jsx-runtime";
|
|
34284
34387
|
function Autocomplete(props) {
|
|
34285
34388
|
const {
|
|
34286
34389
|
onSelect,
|
|
@@ -34297,8 +34400,8 @@ function Autocomplete(props) {
|
|
|
34297
34400
|
} = props;
|
|
34298
34401
|
const { effectiveValue, proposalProps } = useAiProposal(value, proposedValue);
|
|
34299
34402
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
34300
|
-
const comboBoxChildren =
|
|
34301
|
-
(item) => /* @__PURE__ */
|
|
34403
|
+
const comboBoxChildren = useCallback51(
|
|
34404
|
+
(item) => /* @__PURE__ */ jsx281(Item6, { textValue: getOptionLabel(item), children: getOptionMenuLabel ? getOptionMenuLabel(item) : getOptionLabel(item) }, getOptionValue(item)),
|
|
34302
34405
|
[getOptionValue, getOptionLabel, getOptionMenuLabel]
|
|
34303
34406
|
);
|
|
34304
34407
|
const comboBoxProps = {
|
|
@@ -34322,10 +34425,10 @@ function Autocomplete(props) {
|
|
|
34322
34425
|
...others
|
|
34323
34426
|
};
|
|
34324
34427
|
const state = useComboBoxState3(comboBoxProps);
|
|
34325
|
-
const inputWrapRef =
|
|
34326
|
-
const inputRef =
|
|
34327
|
-
const listBoxRef =
|
|
34328
|
-
const popoverRef =
|
|
34428
|
+
const inputWrapRef = useRef85(null);
|
|
34429
|
+
const inputRef = useRef85(null);
|
|
34430
|
+
const listBoxRef = useRef85(null);
|
|
34431
|
+
const popoverRef = useRef85(null);
|
|
34329
34432
|
const { inputProps, listBoxProps, labelProps } = useComboBox3(
|
|
34330
34433
|
{
|
|
34331
34434
|
...comboBoxProps,
|
|
@@ -34351,8 +34454,8 @@ function Autocomplete(props) {
|
|
|
34351
34454
|
// Ensures the menu never gets too small.
|
|
34352
34455
|
minWidth: 200
|
|
34353
34456
|
};
|
|
34354
|
-
return /* @__PURE__ */
|
|
34355
|
-
/* @__PURE__ */
|
|
34457
|
+
return /* @__PURE__ */ jsxs151(Fragment58, { children: [
|
|
34458
|
+
/* @__PURE__ */ jsx281(
|
|
34356
34459
|
TextFieldBase,
|
|
34357
34460
|
{
|
|
34358
34461
|
inputRef,
|
|
@@ -34362,11 +34465,11 @@ function Autocomplete(props) {
|
|
|
34362
34465
|
onChange: onInputChange,
|
|
34363
34466
|
...proposalProps,
|
|
34364
34467
|
clearable: true,
|
|
34365
|
-
startAdornment: "startAdornment" in props ? props.startAdornment : /* @__PURE__ */
|
|
34468
|
+
startAdornment: "startAdornment" in props ? props.startAdornment : /* @__PURE__ */ jsx281(Icon, { icon: "search" }),
|
|
34366
34469
|
...others
|
|
34367
34470
|
}
|
|
34368
34471
|
),
|
|
34369
|
-
state.isOpen && /* @__PURE__ */
|
|
34472
|
+
state.isOpen && /* @__PURE__ */ jsx281(
|
|
34370
34473
|
Popover,
|
|
34371
34474
|
{
|
|
34372
34475
|
triggerRef: inputRef,
|
|
@@ -34375,7 +34478,7 @@ function Autocomplete(props) {
|
|
|
34375
34478
|
onClose: () => state.close(),
|
|
34376
34479
|
isOpen: state.isOpen,
|
|
34377
34480
|
minWidth: 200,
|
|
34378
|
-
children: /* @__PURE__ */
|
|
34481
|
+
children: /* @__PURE__ */ jsx281(
|
|
34379
34482
|
ListBox,
|
|
34380
34483
|
{
|
|
34381
34484
|
...listBoxProps,
|
|
@@ -34393,11 +34496,11 @@ function Autocomplete(props) {
|
|
|
34393
34496
|
}
|
|
34394
34497
|
|
|
34395
34498
|
// src/inputs/ToggleButton.tsx
|
|
34396
|
-
import { useRef as
|
|
34499
|
+
import { useRef as useRef86, useState as useState74 } from "react";
|
|
34397
34500
|
import { useFocusRing as useFocusRing24, useHover as useHover28, usePress as usePress3, useSwitch as useSwitch2, VisuallyHidden as VisuallyHidden12 } from "react-aria";
|
|
34398
34501
|
import { useToggleState as useToggleState2 } from "react-stately";
|
|
34399
|
-
import { trussProps as
|
|
34400
|
-
import { jsx as
|
|
34502
|
+
import { trussProps as trussProps160 } from "@homebound/truss/runtime";
|
|
34503
|
+
import { jsx as jsx282, jsxs as jsxs152 } from "react/jsx-runtime";
|
|
34401
34504
|
function ToggleButton(props) {
|
|
34402
34505
|
const {
|
|
34403
34506
|
selected: isSelected = false,
|
|
@@ -34408,7 +34511,7 @@ function ToggleButton(props) {
|
|
|
34408
34511
|
__storyState,
|
|
34409
34512
|
...otherProps
|
|
34410
34513
|
} = props;
|
|
34411
|
-
const [asyncInProgress, setAsyncInProgress] =
|
|
34514
|
+
const [asyncInProgress, setAsyncInProgress] = useState74(false);
|
|
34412
34515
|
const isDisabled = !!disabled || asyncInProgress;
|
|
34413
34516
|
const ariaProps = {
|
|
34414
34517
|
"aria-label": label,
|
|
@@ -34427,8 +34530,8 @@ function ToggleButton(props) {
|
|
|
34427
34530
|
return result;
|
|
34428
34531
|
}
|
|
34429
34532
|
});
|
|
34430
|
-
const labelRef =
|
|
34431
|
-
const ref =
|
|
34533
|
+
const labelRef = useRef86(null);
|
|
34534
|
+
const ref = useRef86(null);
|
|
34432
34535
|
const tid = useTestIds(otherProps, label);
|
|
34433
34536
|
const {
|
|
34434
34537
|
isPressed: isPressedFromEvents,
|
|
@@ -34461,7 +34564,7 @@ function ToggleButton(props) {
|
|
|
34461
34564
|
...focusProps,
|
|
34462
34565
|
...hoverProps,
|
|
34463
34566
|
...pressProps,
|
|
34464
|
-
...
|
|
34567
|
+
...trussProps160({
|
|
34465
34568
|
// Gray500 off-state has no semantic match — keep palette (OnSurfaceMuted is Gray700).
|
|
34466
34569
|
...{
|
|
34467
34570
|
borderRadius: "br4",
|
|
@@ -34501,10 +34604,10 @@ function ToggleButton(props) {
|
|
|
34501
34604
|
return maybeTooltip({
|
|
34502
34605
|
title: tooltip,
|
|
34503
34606
|
placement: "top",
|
|
34504
|
-
children: /* @__PURE__ */
|
|
34505
|
-
icon && /* @__PURE__ */
|
|
34607
|
+
children: /* @__PURE__ */ jsxs152("label", { ...labelAttrs, children: [
|
|
34608
|
+
icon && /* @__PURE__ */ jsx282(Icon, { icon }),
|
|
34506
34609
|
label,
|
|
34507
|
-
/* @__PURE__ */
|
|
34610
|
+
/* @__PURE__ */ jsx282(VisuallyHidden12, { children: /* @__PURE__ */ jsx282("input", { ref, ...inputProps, ...tid.value }) })
|
|
34508
34611
|
] })
|
|
34509
34612
|
});
|
|
34510
34613
|
}
|
|
@@ -34532,6 +34635,7 @@ export {
|
|
|
34532
34635
|
AiLoadingPanel,
|
|
34533
34636
|
AiPanel,
|
|
34534
34637
|
AiSlimBanner,
|
|
34638
|
+
AiTableIllustration,
|
|
34535
34639
|
AutoSaveIndicator,
|
|
34536
34640
|
AutoSaveStatus,
|
|
34537
34641
|
AutoSaveStatusContext,
|