@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.cjs
CHANGED
|
@@ -40,6 +40,7 @@ __export(index_exports, {
|
|
|
40
40
|
AiLoadingPanel: () => AiLoadingPanel,
|
|
41
41
|
AiPanel: () => AiPanel,
|
|
42
42
|
AiSlimBanner: () => AiSlimBanner,
|
|
43
|
+
AiTableIllustration: () => AiTableIllustration,
|
|
43
44
|
AutoSaveIndicator: () => AutoSaveIndicator,
|
|
44
45
|
AutoSaveStatus: () => AutoSaveStatus,
|
|
45
46
|
AutoSaveStatusContext: () => AutoSaveStatusContext,
|
|
@@ -17242,7 +17243,8 @@ function ButtonGroup(props) {
|
|
|
17242
17243
|
const {
|
|
17243
17244
|
buttons,
|
|
17244
17245
|
disabled = false,
|
|
17245
|
-
size = "sm"
|
|
17246
|
+
size = "sm",
|
|
17247
|
+
fullWidth = false
|
|
17246
17248
|
} = props;
|
|
17247
17249
|
const tid = useTestIds(props, "buttonGroup");
|
|
17248
17250
|
return (
|
|
@@ -17250,13 +17252,16 @@ function ButtonGroup(props) {
|
|
|
17250
17252
|
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { ...tid, ...(0, import_runtime65.trussProps)({
|
|
17251
17253
|
...{
|
|
17252
17254
|
display: "df",
|
|
17253
|
-
lineHeight: "lh_0"
|
|
17255
|
+
lineHeight: "lh_0",
|
|
17256
|
+
...fullWidth ? {
|
|
17257
|
+
width: "w100"
|
|
17258
|
+
} : {}
|
|
17254
17259
|
},
|
|
17255
17260
|
...sizeStyles2[size]
|
|
17256
17261
|
}), children: buttons.map(({
|
|
17257
17262
|
disabled: buttonDisabled,
|
|
17258
17263
|
...buttonProps
|
|
17259
|
-
}, i) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, isFirst: i === 0, isLast: i === buttons.length - 1, ...tid }, i)) })
|
|
17264
|
+
}, i) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, isFirst: i === 0, isLast: i === buttons.length - 1, fullWidth, ...tid }, i)) })
|
|
17260
17265
|
);
|
|
17261
17266
|
}
|
|
17262
17267
|
function GroupButton(props) {
|
|
@@ -17272,6 +17277,7 @@ function GroupButton(props) {
|
|
|
17272
17277
|
tooltip,
|
|
17273
17278
|
isFirst,
|
|
17274
17279
|
isLast,
|
|
17280
|
+
fullWidth,
|
|
17275
17281
|
...otherProps
|
|
17276
17282
|
} = props;
|
|
17277
17283
|
const ariaProps = {
|
|
@@ -17293,7 +17299,15 @@ function GroupButton(props) {
|
|
|
17293
17299
|
isHovered
|
|
17294
17300
|
} = (0, import_react_aria26.useHover)(ariaProps);
|
|
17295
17301
|
const tid = useTestIds(props);
|
|
17296
|
-
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { ...(0, import_runtime65.trussProps)(
|
|
17302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { ...(0, import_runtime65.trussProps)({
|
|
17303
|
+
...getButtonStyles2(isFirst, isLast),
|
|
17304
|
+
...{
|
|
17305
|
+
...fullWidth ? {
|
|
17306
|
+
flexGrow: "fg1",
|
|
17307
|
+
flexBasis: "fb0"
|
|
17308
|
+
} : {}
|
|
17309
|
+
}
|
|
17310
|
+
}), children: maybeTooltip({
|
|
17297
17311
|
title: resolveTooltip(disabled, tooltip),
|
|
17298
17312
|
placement: "top",
|
|
17299
17313
|
children: /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime65.trussProps)({
|
|
@@ -17310,6 +17324,10 @@ function GroupButton(props) {
|
|
|
17310
17324
|
paddingLeft: "pl2",
|
|
17311
17325
|
paddingRight: "pr2",
|
|
17312
17326
|
height: "h100",
|
|
17327
|
+
...fullWidth ? {
|
|
17328
|
+
width: "w100",
|
|
17329
|
+
justifyContent: "jcc"
|
|
17330
|
+
} : {},
|
|
17313
17331
|
color: ["d_color_var", {
|
|
17314
17332
|
"--d_color": "var(--b-text-disabled)"
|
|
17315
17333
|
}],
|
|
@@ -27654,10 +27672,10 @@ function invertSpacing(value) {
|
|
|
27654
27672
|
}
|
|
27655
27673
|
|
|
27656
27674
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
27657
|
-
var
|
|
27675
|
+
var import_react144 = __toESM(require("react"), 1);
|
|
27658
27676
|
|
|
27659
27677
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
27660
|
-
var
|
|
27678
|
+
var import_react127 = require("react");
|
|
27661
27679
|
|
|
27662
27680
|
// src/components/Pills/SelectionSummaryPill/SelectionSummaryPill.tsx
|
|
27663
27681
|
var import_react_aria65 = require("react-aria");
|
|
@@ -27741,7 +27759,14 @@ function EditColumnsButton(props) {
|
|
|
27741
27759
|
disabled,
|
|
27742
27760
|
columns,
|
|
27743
27761
|
api,
|
|
27744
|
-
shareColumnVisibility = false
|
|
27762
|
+
shareColumnVisibility = false,
|
|
27763
|
+
viewToggle
|
|
27764
|
+
} = props;
|
|
27765
|
+
const {
|
|
27766
|
+
sm
|
|
27767
|
+
} = useBreakpoint();
|
|
27768
|
+
const {
|
|
27769
|
+
compact = sm
|
|
27745
27770
|
} = props;
|
|
27746
27771
|
const state = (0, import_react_stately18.useMenuTriggerState)({
|
|
27747
27772
|
defaultOpen
|
|
@@ -27753,9 +27778,6 @@ function EditColumnsButton(props) {
|
|
|
27753
27778
|
isDisabled: !!disabled
|
|
27754
27779
|
}, state, buttonRef);
|
|
27755
27780
|
const tid = useTestIds(props, "columns");
|
|
27756
|
-
const {
|
|
27757
|
-
sm
|
|
27758
|
-
} = useBreakpoint();
|
|
27759
27781
|
const options = (0, import_react125.useMemo)(() => buildColumnOptions(columns, shareColumnVisibility), [columns, shareColumnVisibility]);
|
|
27760
27782
|
const selectedValues = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
27761
27783
|
const setSelectedValues = (0, import_react125.useCallback)((ids) => {
|
|
@@ -27763,7 +27785,7 @@ function EditColumnsButton(props) {
|
|
|
27763
27785
|
api.setVisibleColumns(columns.filter((column2) => column2.canHide ? ids.includes(column2.id) : true).map((c) => c.id));
|
|
27764
27786
|
}, [columns, api]);
|
|
27765
27787
|
const hasHiddenColumn = (0, import_react125.useMemo)(() => options.some((option) => option.ids.some((id) => !selectedValues.includes(id))), [options, selectedValues]);
|
|
27766
|
-
return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(OverlayTrigger, { ...props, trigger:
|
|
27788
|
+
return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(OverlayTrigger, { ...props, trigger: compact ? {
|
|
27767
27789
|
icon: hasHiddenColumn ? "columnsBadged" : "columns",
|
|
27768
27790
|
variant: "outline"
|
|
27769
27791
|
} : {
|
|
@@ -27785,6 +27807,7 @@ function EditColumnsButton(props) {
|
|
|
27785
27807
|
maxHeight: "maxh_512px",
|
|
27786
27808
|
boxShadow: "bshBasic h_bshHover"
|
|
27787
27809
|
}), children: [
|
|
27810
|
+
viewToggle && /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { className: "pt2 pb0 pr2 pl2", children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(ButtonGroup, { ...viewToggle, size: "md", fullWidth: true, ...tid.header }) }),
|
|
27788
27811
|
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { className: "dg gtc_1fr_auto g_2 pt2 pb2 pr2 pl2 fg1 mh0 oya", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)(import_react125.Fragment, { children: [
|
|
27789
27812
|
/* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { className: "df aic g_4px mw0 pr1", children: [
|
|
27790
27813
|
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)("span", { className: "fw4 fz_14px lh_20px mw0", children: option.label }),
|
|
@@ -27865,8 +27888,9 @@ function closeMenuOnClickTooltip(tooltip, closeMenu) {
|
|
|
27865
27888
|
|
|
27866
27889
|
// src/components/Table/components/ViewToggleButton.tsx
|
|
27867
27890
|
var import_jsx_runtime197 = require("react/jsx-runtime");
|
|
27868
|
-
function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
27891
|
+
function ViewToggleButton({ view, onChange, defaultOpen, ...props }) {
|
|
27869
27892
|
const { sm } = useBreakpoint();
|
|
27893
|
+
const { compact = sm } = props;
|
|
27870
27894
|
const tid = useTestIds({}, "viewToggleButton");
|
|
27871
27895
|
const menuItems = [
|
|
27872
27896
|
{ label: "List", icon: "projects", onClick: () => onChange("list") },
|
|
@@ -27876,7 +27900,7 @@ function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
|
27876
27900
|
return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
27877
27901
|
ButtonMenu,
|
|
27878
27902
|
{
|
|
27879
|
-
trigger:
|
|
27903
|
+
trigger: compact ? { icon, variant: "outline" } : { icon, label: "", size: "md", variant: "secondaryBlack" },
|
|
27880
27904
|
items: menuItems,
|
|
27881
27905
|
defaultOpen,
|
|
27882
27906
|
...tid
|
|
@@ -28011,6 +28035,37 @@ function filterPillsForKey(key, f, filter) {
|
|
|
28011
28035
|
}];
|
|
28012
28036
|
}
|
|
28013
28037
|
|
|
28038
|
+
// src/components/Layout/GridTableLayout/useToolbarCompact.ts
|
|
28039
|
+
var import_utils39 = require("@react-aria/utils");
|
|
28040
|
+
var import_react126 = require("react");
|
|
28041
|
+
function useToolbarCompact(enabled) {
|
|
28042
|
+
const rowRef = (0, import_react126.useRef)(null);
|
|
28043
|
+
const leftRef = (0, import_react126.useRef)(null);
|
|
28044
|
+
const rightRef = (0, import_react126.useRef)(null);
|
|
28045
|
+
const [compact, setCompact] = (0, import_react126.useState)(false);
|
|
28046
|
+
const fullSlotsWidth = (0, import_react126.useRef)(0);
|
|
28047
|
+
const measure = (0, import_react126.useCallback)(() => {
|
|
28048
|
+
const row = rowRef.current;
|
|
28049
|
+
const left = leftRef.current;
|
|
28050
|
+
const right = rightRef.current;
|
|
28051
|
+
if (!enabled || !row || !left || !right || row.clientWidth === 0) {
|
|
28052
|
+
setCompact(false);
|
|
28053
|
+
return;
|
|
28054
|
+
}
|
|
28055
|
+
if (!compact) {
|
|
28056
|
+
const gap = right.getBoundingClientRect().left - left.getBoundingClientRect().right;
|
|
28057
|
+
fullSlotsWidth.current = row.clientWidth - gap;
|
|
28058
|
+
}
|
|
28059
|
+
setCompact(row.clientWidth - fullSlotsWidth.current < toolbarMinSlotGapPx);
|
|
28060
|
+
}, [enabled, compact]);
|
|
28061
|
+
(0, import_react126.useLayoutEffect)(measure, [measure]);
|
|
28062
|
+
(0, import_utils39.useResizeObserver)({ ref: rowRef, onResize: measure });
|
|
28063
|
+
(0, import_utils39.useResizeObserver)({ ref: leftRef, onResize: measure });
|
|
28064
|
+
(0, import_utils39.useResizeObserver)({ ref: rightRef, onResize: measure });
|
|
28065
|
+
return { rowRef, leftRef, rightRef, compact };
|
|
28066
|
+
}
|
|
28067
|
+
var toolbarMinSlotGapPx = 40;
|
|
28068
|
+
|
|
28014
28069
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
28015
28070
|
var import_runtime129 = require("@homebound/truss/runtime");
|
|
28016
28071
|
var import_jsx_runtime200 = require("react/jsx-runtime");
|
|
@@ -28031,27 +28086,37 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
28031
28086
|
clearFilters,
|
|
28032
28087
|
searchApi,
|
|
28033
28088
|
actions,
|
|
28089
|
+
viewModeToggle,
|
|
28034
28090
|
selectionSummary = false
|
|
28035
28091
|
} = props;
|
|
28036
28092
|
const testId = useTestIds(props, "gridTableLayoutActions");
|
|
28037
28093
|
const filterTid = useTestIds({}, filterTestIdPrefix);
|
|
28094
|
+
const showEditColumns = !!(hasHideableColumns && view === "list" && columns && api);
|
|
28095
|
+
const hasRightItems = selectionSummary && !!api || !!viewModeToggle?.length || showEditColumns || !!withCardView && view !== void 0 && !!setView || !!actions?.length;
|
|
28038
28096
|
const {
|
|
28039
|
-
sm
|
|
28097
|
+
sm: smBreakpoint
|
|
28040
28098
|
} = useBreakpoint();
|
|
28099
|
+
const {
|
|
28100
|
+
rowRef,
|
|
28101
|
+
leftRef,
|
|
28102
|
+
rightRef,
|
|
28103
|
+
compact
|
|
28104
|
+
} = useToolbarCompact(!smBreakpoint && hasRightItems);
|
|
28105
|
+
const sm = smBreakpoint || compact;
|
|
28041
28106
|
const {
|
|
28042
28107
|
inModal
|
|
28043
28108
|
} = useModalContext();
|
|
28044
28109
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
28045
28110
|
const insetHandled = useContentInsetHandled();
|
|
28046
28111
|
const withPagePadding = inDocumentScrollLayout && !insetHandled;
|
|
28047
|
-
const [showSearch, setShowSearch] = (0,
|
|
28048
|
-
const [showFilters, setShowFilters] = (0,
|
|
28112
|
+
const [showSearch, setShowSearch] = (0, import_react127.useState)(false);
|
|
28113
|
+
const [showFilters, setShowFilters] = (0, import_react127.useState)(false);
|
|
28049
28114
|
const [{
|
|
28050
28115
|
search: initialValue
|
|
28051
28116
|
}, setQueryParams] = (0, import_use_query_params.useQueryParams)({
|
|
28052
28117
|
search: import_use_query_params.StringParam
|
|
28053
28118
|
});
|
|
28054
|
-
const [searchValue, setSearchValue] = (0,
|
|
28119
|
+
const [searchValue, setSearchValue] = (0, import_react127.useState)(inModal ? "" : initialValue || "");
|
|
28055
28120
|
const handleSearchDebounced = (0, import_use_debounce7.useDebouncedCallback)((value) => {
|
|
28056
28121
|
if (searchProps) {
|
|
28057
28122
|
searchProps.onSearch(value);
|
|
@@ -28065,9 +28130,13 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
28065
28130
|
const hasGroupBy = !!groupBy;
|
|
28066
28131
|
const controlCount = filterCount + (hasGroupBy ? 1 : 0);
|
|
28067
28132
|
const hasFilterControls = controlCount > 0;
|
|
28068
|
-
const
|
|
28069
|
-
const
|
|
28070
|
-
const
|
|
28133
|
+
const canInline = !inModal && !sm;
|
|
28134
|
+
const groupByInline = canInline && hasGroupBy;
|
|
28135
|
+
const filtersInline = canInline && filterCount > 0 && controlCount <= 2 && !!(filter && setFilter);
|
|
28136
|
+
const showFilterPanel = filterCount > 0 && !filtersInline || hasGroupBy && !groupByInline;
|
|
28137
|
+
const filterImpls = (0, import_react127.useMemo)(() => filterDefs ? buildFilterImpls(filterDefs) : {}, [filterDefs]);
|
|
28138
|
+
const activeFilterCount = (0, import_react127.useMemo)(() => filter ? getFilterPills(filterImpls, filter).length : 0, [filter, filterImpls]);
|
|
28139
|
+
const viewModeToggleInColumnsMenu = !!viewModeToggle?.length && sm && showEditColumns;
|
|
28071
28140
|
const searchTextField = /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(TextField, { label: "Search", labelStyle: "hidden", value: searchValue, onChange: (v) => {
|
|
28072
28141
|
setSearchValue(v ?? "");
|
|
28073
28142
|
handleSearchDebounced(v ?? "");
|
|
@@ -28093,7 +28162,7 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
28093
28162
|
paddingBottom: "pb3"
|
|
28094
28163
|
} : {}
|
|
28095
28164
|
}), children: [
|
|
28096
|
-
/* @__PURE__ */ (0, import_jsx_runtime200.jsxs)("div", { ...(0, import_runtime129.trussProps)({
|
|
28165
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsxs)("div", { ref: rowRef, ...(0, import_runtime129.trussProps)({
|
|
28097
28166
|
// Holds the row at the 40px button height, so a pill alone in it doesn't shift the table when it appears
|
|
28098
28167
|
...{
|
|
28099
28168
|
display: "df",
|
|
@@ -28105,28 +28174,33 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
28105
28174
|
},
|
|
28106
28175
|
...withPagePadding ? pageContentPaddingX : void 0
|
|
28107
28176
|
}), ...testId.toolbar, children: [
|
|
28108
|
-
/* @__PURE__ */ (0, import_jsx_runtime200.jsxs)("div", { className: "df g_12px aic", children: [
|
|
28177
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsxs)("div", { ref: leftRef, className: "df fs0 g_12px aic", children: [
|
|
28109
28178
|
!sm && hasSearch && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)("div", { className: "w_244px", children: searchTextField }),
|
|
28110
28179
|
sm && hasSearch && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(IconButton, { variant: "outline", icon: searchValue ? "searchBadged" : "search", label: "Search", onClick: () => setShowSearch(!showSearch), active: showSearch, ...testId.searchButton }),
|
|
28111
28180
|
sm && hasFilterControls && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(IconButton, { variant: "outline", icon: activeFilterCount > 0 ? "filterBadged" : "filter", label: "Filter", onClick: () => setShowFilters(!showFilters), active: showFilters, ...testId.filterSmallButton }),
|
|
28112
|
-
|
|
28113
|
-
!sm &&
|
|
28181
|
+
filtersInline && filter && setFilter && buildFilterControls(filterImpls, filter, setFilter, filterTid),
|
|
28182
|
+
!sm && showFilterPanel && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(Button, { label: "Filter", icon: "filter", size: "md", endAdornment: /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)("div", { className: "df aic g_1", children: [
|
|
28114
28183
|
activeFilterCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(CountBadge, { count: activeFilterCount }),
|
|
28115
28184
|
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(Icon, { icon: showFilters ? "chevronUp" : "chevronDown" })
|
|
28116
|
-
] }), variant: "secondaryBlack", onClick: () => setShowFilters(!showFilters), active: showFilters, ...testId.filterButton })
|
|
28185
|
+
] }), variant: "secondaryBlack", onClick: () => setShowFilters(!showFilters), active: showFilters, ...testId.filterButton }),
|
|
28186
|
+
groupByInline && groupBy && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(GroupByField, { ...groupBy }),
|
|
28187
|
+
filtersInline && activeFilterCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: () => maybeCall(clearFilters), ...filterTid.clearBtn })
|
|
28117
28188
|
] }),
|
|
28118
|
-
|
|
28189
|
+
hasRightItems && /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)("div", { ref: rightRef, className: "df fs0 aic g_12px", children: [
|
|
28119
28190
|
selectionSummary && api && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(SelectionSummaryAction, { api, numberOnly: sm }),
|
|
28120
|
-
|
|
28121
|
-
|
|
28191
|
+
!!viewModeToggle?.length && !viewModeToggleInColumnsMenu && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(ButtonGroup, { size: "md", buttons: viewModeToggle, ...testId.viewModeToggle }),
|
|
28192
|
+
showEditColumns && columns && api && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(EditColumnsButton, { columns, api, shareColumnVisibility, tooltip: "Display columns", compact: sm, viewToggle: viewModeToggleInColumnsMenu ? {
|
|
28193
|
+
buttons: viewModeToggle
|
|
28194
|
+
} : void 0 }),
|
|
28195
|
+
withCardView && view !== void 0 && setView && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(ViewToggleButton, { view, onChange: setView, compact: sm }),
|
|
28122
28196
|
!!actions?.length && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(HeaderActions, { actions, ...testId.actions })
|
|
28123
28197
|
] })
|
|
28124
28198
|
] }),
|
|
28125
28199
|
sm && showSearch && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)("div", { ...(0, import_runtime129.trussProps)(withPagePadding ? pageContentPaddingX : void 0), children: searchTextField }),
|
|
28126
|
-
|
|
28200
|
+
showFilterPanel && /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(FilterPanel, { isOpen: showFilters, groupBy: groupByInline ? void 0 : groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
|
|
28127
28201
|
] });
|
|
28128
28202
|
}
|
|
28129
|
-
var _GridTableLayoutActions = (0,
|
|
28203
|
+
var _GridTableLayoutActions = (0, import_react127.memo)(GridTableLayoutActionsComponent);
|
|
28130
28204
|
function SelectionSummaryAction(props) {
|
|
28131
28205
|
const {
|
|
28132
28206
|
api,
|
|
@@ -28138,36 +28212,36 @@ function SelectionSummaryAction(props) {
|
|
|
28138
28212
|
}
|
|
28139
28213
|
|
|
28140
28214
|
// src/components/Layout/GridTableLayout/GridTableLayoutHost.tsx
|
|
28141
|
-
var
|
|
28142
|
-
var
|
|
28215
|
+
var import_utils41 = require("@react-aria/utils");
|
|
28216
|
+
var import_react137 = require("react");
|
|
28143
28217
|
|
|
28144
28218
|
// src/components/Layout/RightPaneLayout/DocumentScrollOverlayRightPaneLayout.tsx
|
|
28145
|
-
var
|
|
28219
|
+
var import_react135 = require("react");
|
|
28146
28220
|
var import_runtime132 = require("@homebound/truss/runtime");
|
|
28147
28221
|
|
|
28148
28222
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
28149
28223
|
var import_framer_motion3 = require("framer-motion");
|
|
28150
|
-
var
|
|
28224
|
+
var import_react132 = require("react");
|
|
28151
28225
|
var import_react_aria67 = require("react-aria");
|
|
28152
28226
|
var import_react_dom7 = require("react-dom");
|
|
28153
28227
|
|
|
28154
28228
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayoutHeightContext.tsx
|
|
28155
|
-
var
|
|
28229
|
+
var import_react128 = require("react");
|
|
28156
28230
|
var import_jsx_runtime201 = require("react/jsx-runtime");
|
|
28157
|
-
var EnvironmentBannerLayoutHeightContext = (0,
|
|
28231
|
+
var EnvironmentBannerLayoutHeightContext = (0, import_react128.createContext)(0);
|
|
28158
28232
|
function EnvironmentBannerLayoutHeightProvider({ value, children }) {
|
|
28159
28233
|
return /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(EnvironmentBannerLayoutHeightContext.Provider, { value, children });
|
|
28160
28234
|
}
|
|
28161
28235
|
function useEnvironmentBannerLayoutHeight() {
|
|
28162
|
-
return (0,
|
|
28236
|
+
return (0, import_react128.useContext)(EnvironmentBannerLayoutHeightContext);
|
|
28163
28237
|
}
|
|
28164
28238
|
|
|
28165
28239
|
// src/layouts/useScrollPinnedViewportBounds.ts
|
|
28166
|
-
var
|
|
28240
|
+
var import_react129 = require("react");
|
|
28167
28241
|
function useScrollPinnedViewportBounds(anchorRef, enabled, getPinTopPx) {
|
|
28168
|
-
const [bounds, setBounds] = (0,
|
|
28169
|
-
const getPinTopPxRef = (0,
|
|
28170
|
-
const syncBounds = (0,
|
|
28242
|
+
const [bounds, setBounds] = (0, import_react129.useState)();
|
|
28243
|
+
const getPinTopPxRef = (0, import_react129.useRef)(getPinTopPx);
|
|
28244
|
+
const syncBounds = (0, import_react129.useCallback)(() => {
|
|
28171
28245
|
const el = anchorRef.current;
|
|
28172
28246
|
if (!el) return;
|
|
28173
28247
|
const rect = el.getBoundingClientRect();
|
|
@@ -28176,10 +28250,10 @@ function useScrollPinnedViewportBounds(anchorRef, enabled, getPinTopPx) {
|
|
|
28176
28250
|
const topPx = isPinned ? pinTopPx : Math.round(rect.top);
|
|
28177
28251
|
setBounds((prev) => prev?.topPx === topPx && prev?.isPinned === isPinned ? prev : { topPx, isPinned });
|
|
28178
28252
|
}, [anchorRef]);
|
|
28179
|
-
(0,
|
|
28253
|
+
(0, import_react129.useLayoutEffect)(() => {
|
|
28180
28254
|
getPinTopPxRef.current = getPinTopPx;
|
|
28181
28255
|
}, [getPinTopPx]);
|
|
28182
|
-
(0,
|
|
28256
|
+
(0, import_react129.useLayoutEffect)(() => {
|
|
28183
28257
|
if (!enabled) {
|
|
28184
28258
|
setBounds(void 0);
|
|
28185
28259
|
return;
|
|
@@ -28201,10 +28275,10 @@ function useScrollPinnedViewportBounds(anchorRef, enabled, getPinTopPx) {
|
|
|
28201
28275
|
}
|
|
28202
28276
|
|
|
28203
28277
|
// src/components/Layout/RightPaneLayout/useRightPane.tsx
|
|
28204
|
-
var
|
|
28278
|
+
var import_react131 = require("react");
|
|
28205
28279
|
|
|
28206
28280
|
// src/components/Layout/RightPaneLayout/rightPaneStore.ts
|
|
28207
|
-
var
|
|
28281
|
+
var import_react130 = require("react");
|
|
28208
28282
|
var isOpen = false;
|
|
28209
28283
|
var content;
|
|
28210
28284
|
var discardPrompt;
|
|
@@ -28236,7 +28310,7 @@ function openInPane(opts) {
|
|
|
28236
28310
|
showInPane(opts);
|
|
28237
28311
|
}
|
|
28238
28312
|
function warnIfUnkeyed(next) {
|
|
28239
|
-
if (process.env.NODE_ENV === "production" || !(0,
|
|
28313
|
+
if (process.env.NODE_ENV === "production" || !(0, import_react130.isValidElement)(next) || next.key !== null) return;
|
|
28240
28314
|
console.warn(
|
|
28241
28315
|
"[openRightPane] Opened unkeyed content of the same type over a panel with `isDirty`, so it didn't ask and that panel's edits carry over. Key pane content per item, e.g. `<Panel key={id} />`."
|
|
28242
28316
|
);
|
|
@@ -28256,7 +28330,7 @@ function confirmDiscard(proceed) {
|
|
|
28256
28330
|
else proceed();
|
|
28257
28331
|
}
|
|
28258
28332
|
function wouldRemount(prev, next) {
|
|
28259
|
-
return !(0,
|
|
28333
|
+
return !(0, import_react130.isValidElement)(prev) || !(0, import_react130.isValidElement)(next) || prev.type !== next.type || prev.key !== next.key;
|
|
28260
28334
|
}
|
|
28261
28335
|
function clearPane() {
|
|
28262
28336
|
content = void 0;
|
|
@@ -28298,7 +28372,7 @@ function useRightPaneOpenActions() {
|
|
|
28298
28372
|
return rightPaneOpenActions;
|
|
28299
28373
|
}
|
|
28300
28374
|
function useRightPaneOpenState() {
|
|
28301
|
-
const isRightPaneOpen = (0,
|
|
28375
|
+
const isRightPaneOpen = (0, import_react131.useSyncExternalStore)(
|
|
28302
28376
|
rightPaneOpenStore.subscribe,
|
|
28303
28377
|
rightPaneOpenStore.getSnapshot,
|
|
28304
28378
|
rightPaneOpenStore.getSnapshot
|
|
@@ -28306,7 +28380,7 @@ function useRightPaneOpenState() {
|
|
|
28306
28380
|
return { ...rightPaneOpenActions, isRightPaneOpen };
|
|
28307
28381
|
}
|
|
28308
28382
|
function useRightPaneContent() {
|
|
28309
|
-
return (0,
|
|
28383
|
+
return (0, import_react131.useSyncExternalStore)(
|
|
28310
28384
|
rightPaneContentStore.subscribe,
|
|
28311
28385
|
rightPaneContentStore.getSnapshot,
|
|
28312
28386
|
rightPaneContentStore.getSnapshot
|
|
@@ -28360,25 +28434,25 @@ function DocumentScrollRightPane({
|
|
|
28360
28434
|
} = useRightPaneOpenState();
|
|
28361
28435
|
const rightPaneContent = useRightPaneContent();
|
|
28362
28436
|
const tid = useTestIds({}, "rightPaneContent");
|
|
28363
|
-
const paneRef = (0,
|
|
28364
|
-
const [keepPaneLayout, setKeepPaneLayout] = (0,
|
|
28365
|
-
const exitReleasedRef = (0,
|
|
28437
|
+
const paneRef = (0, import_react132.useRef)(null);
|
|
28438
|
+
const [keepPaneLayout, setKeepPaneLayout] = (0, import_react132.useState)(false);
|
|
28439
|
+
const exitReleasedRef = (0, import_react132.useRef)(false);
|
|
28366
28440
|
const bannerHeightPx = useEnvironmentBannerLayoutHeight();
|
|
28367
28441
|
const isFixedOverlay = !mobile;
|
|
28368
|
-
(0,
|
|
28442
|
+
(0, import_react132.useLayoutEffect)(() => {
|
|
28369
28443
|
if (isRightPaneOpen) {
|
|
28370
28444
|
setKeepPaneLayout(true);
|
|
28371
28445
|
exitReleasedRef.current = false;
|
|
28372
28446
|
}
|
|
28373
28447
|
}, [isRightPaneOpen]);
|
|
28374
28448
|
const paneLayoutActive = isRightPaneOpen || keepPaneLayout;
|
|
28375
|
-
const releaseAfterExit = (0,
|
|
28449
|
+
const releaseAfterExit = (0, import_react132.useCallback)(() => {
|
|
28376
28450
|
if (exitReleasedRef.current) return;
|
|
28377
28451
|
exitReleasedRef.current = true;
|
|
28378
28452
|
clearPane2();
|
|
28379
28453
|
setKeepPaneLayout(false);
|
|
28380
28454
|
}, [clearPane2]);
|
|
28381
|
-
(0,
|
|
28455
|
+
(0, import_react132.useLayoutEffect)(() => {
|
|
28382
28456
|
if (isRightPaneOpen || !keepPaneLayout) return;
|
|
28383
28457
|
return waitForRightPaneExit(releaseAfterExit);
|
|
28384
28458
|
}, [isRightPaneOpen, keepPaneLayout, releaseAfterExit]);
|
|
@@ -28463,10 +28537,10 @@ function DocumentScrollRightPane({
|
|
|
28463
28537
|
}
|
|
28464
28538
|
|
|
28465
28539
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPaneLayoutRoot.tsx
|
|
28466
|
-
var
|
|
28540
|
+
var import_react133 = require("react");
|
|
28467
28541
|
var import_runtime131 = require("@homebound/truss/runtime");
|
|
28468
28542
|
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
28469
|
-
var NestedRightPaneLayoutContext = (0,
|
|
28543
|
+
var NestedRightPaneLayoutContext = (0, import_react133.createContext)(false);
|
|
28470
28544
|
function DocumentScrollRightPaneLayoutRoot(props) {
|
|
28471
28545
|
const {
|
|
28472
28546
|
anchorRef,
|
|
@@ -28496,10 +28570,10 @@ function DocumentScrollRightPaneLayoutRoot(props) {
|
|
|
28496
28570
|
}
|
|
28497
28571
|
|
|
28498
28572
|
// src/components/Layout/RightPaneLayout/useDocumentScrollRightPaneAnchorRef.ts
|
|
28499
|
-
var
|
|
28573
|
+
var import_react134 = require("react");
|
|
28500
28574
|
function useDocumentScrollRightPaneAnchorRef() {
|
|
28501
|
-
const ref = (0,
|
|
28502
|
-
const setRef = (0,
|
|
28575
|
+
const ref = (0, import_react134.useRef)(null);
|
|
28576
|
+
const setRef = (0, import_react134.useCallback)((node) => {
|
|
28503
28577
|
if (!node && ref.current) {
|
|
28504
28578
|
hideRightPane();
|
|
28505
28579
|
}
|
|
@@ -28528,14 +28602,14 @@ function DocumentScrollOverlayRightPaneLayout({
|
|
|
28528
28602
|
children,
|
|
28529
28603
|
paneWidth = defaultDocumentScrollRightPaneWidth
|
|
28530
28604
|
}) {
|
|
28531
|
-
const nestedInLayout = (0,
|
|
28605
|
+
const nestedInLayout = (0, import_react135.useContext)(NestedRightPaneLayoutContext);
|
|
28532
28606
|
const {
|
|
28533
28607
|
sm
|
|
28534
28608
|
} = useBreakpoint();
|
|
28535
28609
|
const tid = useTestIds({}, "documentScrollRightPaneLayout");
|
|
28536
28610
|
const anchorRef = useDocumentScrollRightPaneAnchorRef();
|
|
28537
|
-
const spacerRef = (0,
|
|
28538
|
-
(0,
|
|
28611
|
+
const spacerRef = (0, import_react135.useRef)(null);
|
|
28612
|
+
(0, import_react135.useEffect)(() => {
|
|
28539
28613
|
if (nestedInLayout && process.env.NODE_ENV !== "production") {
|
|
28540
28614
|
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).");
|
|
28541
28615
|
}
|
|
@@ -28569,20 +28643,20 @@ function DocumentScrollOverlayRightPaneHost(props) {
|
|
|
28569
28643
|
isRightPaneOpen
|
|
28570
28644
|
} = useRightPaneOpenState();
|
|
28571
28645
|
const paneWidthCss = documentScrollRightPaneWidthCss(paneWidth);
|
|
28572
|
-
const [keepOverlayChrome, setKeepOverlayChrome] = (0,
|
|
28573
|
-
(0,
|
|
28646
|
+
const [keepOverlayChrome, setKeepOverlayChrome] = (0, import_react135.useState)(isRightPaneOpen);
|
|
28647
|
+
(0, import_react135.useLayoutEffect)(() => {
|
|
28574
28648
|
if (isRightPaneOpen) {
|
|
28575
28649
|
setKeepOverlayChrome(true);
|
|
28576
28650
|
return;
|
|
28577
28651
|
}
|
|
28578
28652
|
return waitForRightPaneExit(() => setKeepOverlayChrome(false));
|
|
28579
28653
|
}, [isRightPaneOpen]);
|
|
28580
|
-
(0,
|
|
28654
|
+
(0, import_react135.useLayoutEffect)(() => {
|
|
28581
28655
|
const spacer = spacerRef.current;
|
|
28582
28656
|
if (!spacer) return;
|
|
28583
28657
|
spacer.style.width = isRightPaneOpen ? paneWidthCss : "0px";
|
|
28584
28658
|
}, [isRightPaneOpen, paneWidthCss, spacerRef]);
|
|
28585
|
-
(0,
|
|
28659
|
+
(0, import_react135.useLayoutEffect)(() => {
|
|
28586
28660
|
const layoutRoot = anchorRef.current;
|
|
28587
28661
|
if (!layoutRoot) return;
|
|
28588
28662
|
const openPaneWidth = keepOverlayChrome ? paneWidthCss : "0px";
|
|
@@ -28601,7 +28675,7 @@ function DocumentScrollOverlayRightPaneHost(props) {
|
|
|
28601
28675
|
|
|
28602
28676
|
// src/components/Modal/ModalFullBleed.tsx
|
|
28603
28677
|
var import_runtime133 = require("@homebound/truss/runtime");
|
|
28604
|
-
var
|
|
28678
|
+
var import_react136 = require("react");
|
|
28605
28679
|
function ModalFullBleed({
|
|
28606
28680
|
children,
|
|
28607
28681
|
omitPadding = false
|
|
@@ -28614,7 +28688,7 @@ function ModalFullBleed({
|
|
|
28614
28688
|
className,
|
|
28615
28689
|
style
|
|
28616
28690
|
} = children.props;
|
|
28617
|
-
return (0,
|
|
28691
|
+
return (0, import_react136.cloneElement)(children, (0, import_runtime133.mergeProps)(className, style, {
|
|
28618
28692
|
...{
|
|
28619
28693
|
containerType: "ctis"
|
|
28620
28694
|
},
|
|
@@ -28638,8 +28712,8 @@ function GridTableLayoutHost(props) {
|
|
|
28638
28712
|
testIds,
|
|
28639
28713
|
children
|
|
28640
28714
|
} = props;
|
|
28641
|
-
const tableWrapperRef = (0,
|
|
28642
|
-
const tableActionsRef = (0,
|
|
28715
|
+
const tableWrapperRef = (0, import_react137.useRef)(null);
|
|
28716
|
+
const tableActionsRef = (0, import_react137.useRef)(null);
|
|
28643
28717
|
const hasActions = actions !== void 0;
|
|
28644
28718
|
useSetTableActionsHeight(tableWrapperRef, tableActionsRef, host.kind !== "scrollable-parent" && hasActions);
|
|
28645
28719
|
const shared = {
|
|
@@ -28742,7 +28816,7 @@ function ActionsBar({
|
|
|
28742
28816
|
return /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { ref: actionsRef, ...(0, import_runtime134.trussProps)(xss), ...testIds.stickyContent, children });
|
|
28743
28817
|
}
|
|
28744
28818
|
function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
28745
|
-
const syncHeightVar = (0,
|
|
28819
|
+
const syncHeightVar = (0, import_react137.useCallback)(() => {
|
|
28746
28820
|
const tableWrapper = tableWrapperRef.current;
|
|
28747
28821
|
if (!tableWrapper) return;
|
|
28748
28822
|
if (!enabled) {
|
|
@@ -28756,11 +28830,11 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
28756
28830
|
tableWrapper.style.removeProperty(beamTableActionsHeightVar);
|
|
28757
28831
|
}
|
|
28758
28832
|
}, [enabled, tableActionsRef, tableWrapperRef]);
|
|
28759
|
-
(0,
|
|
28833
|
+
(0, import_utils41.useResizeObserver)({
|
|
28760
28834
|
ref: tableActionsRef,
|
|
28761
28835
|
onResize: enabled ? syncHeightVar : noop
|
|
28762
28836
|
});
|
|
28763
|
-
(0,
|
|
28837
|
+
(0, import_react137.useLayoutEffect)(() => {
|
|
28764
28838
|
syncHeightVar();
|
|
28765
28839
|
const tableWrapper = tableWrapperRef.current;
|
|
28766
28840
|
return () => {
|
|
@@ -28770,14 +28844,14 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
28770
28844
|
}
|
|
28771
28845
|
|
|
28772
28846
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
28773
|
-
var
|
|
28847
|
+
var import_react138 = require("react");
|
|
28774
28848
|
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
28775
28849
|
function QueryTable(props) {
|
|
28776
28850
|
const { emptyFallback, query, createRows, columns, emptyState: emptyStateProp, ...others } = props;
|
|
28777
28851
|
const displayData = query.error ? void 0 : query.data ?? query.previousData;
|
|
28778
|
-
const rows = (0,
|
|
28852
|
+
const rows = (0, import_react138.useMemo)(() => createRows(displayData), [createRows, displayData]);
|
|
28779
28853
|
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : void 0;
|
|
28780
|
-
const emptyState = (0,
|
|
28854
|
+
const emptyState = (0, import_react138.useMemo)(() => {
|
|
28781
28855
|
if (query.loading || query.error) return void 0;
|
|
28782
28856
|
if (emptyStateProp) return emptyStateProp;
|
|
28783
28857
|
return { title: emptyFallback };
|
|
@@ -28806,10 +28880,10 @@ function useGridTableLayoutHost() {
|
|
|
28806
28880
|
}
|
|
28807
28881
|
|
|
28808
28882
|
// src/components/Layout/GridTableLayout/usePersistedTableView.ts
|
|
28809
|
-
var
|
|
28883
|
+
var import_react139 = require("react");
|
|
28810
28884
|
function usePersistedTableView(defaultView, persist) {
|
|
28811
28885
|
const storageKey = persist ? getGridTableViewStorageKey(window.location.pathname) : void 0;
|
|
28812
|
-
const [view, setView] = (0,
|
|
28886
|
+
const [view, setView] = (0, import_react139.useState)(() => {
|
|
28813
28887
|
if (!storageKey) return defaultView;
|
|
28814
28888
|
try {
|
|
28815
28889
|
return parseStoredTableView(localStorage.getItem(storageKey)) ?? defaultView;
|
|
@@ -28817,7 +28891,7 @@ function usePersistedTableView(defaultView, persist) {
|
|
|
28817
28891
|
return defaultView;
|
|
28818
28892
|
}
|
|
28819
28893
|
});
|
|
28820
|
-
const setViewAndPersist = (0,
|
|
28894
|
+
const setViewAndPersist = (0, import_react139.useCallback)(
|
|
28821
28895
|
(next) => {
|
|
28822
28896
|
setView(next);
|
|
28823
28897
|
if (storageKey) {
|
|
@@ -28844,28 +28918,28 @@ function isGridTableProps(props) {
|
|
|
28844
28918
|
}
|
|
28845
28919
|
|
|
28846
28920
|
// src/hooks/useGroupBy.ts
|
|
28847
|
-
var
|
|
28921
|
+
var import_react141 = require("react");
|
|
28848
28922
|
|
|
28849
28923
|
// src/hooks/useQueryState.ts
|
|
28850
|
-
var
|
|
28924
|
+
var import_react140 = require("react");
|
|
28851
28925
|
var import_use_query_params2 = require("use-query-params");
|
|
28852
28926
|
function useQueryState(name, initialValue) {
|
|
28853
28927
|
const [params, setParams] = (0, import_use_query_params2.useQueryParams)({ [name]: import_use_query_params2.StringParam });
|
|
28854
28928
|
const value = params[name] || initialValue;
|
|
28855
|
-
const setValue = (0,
|
|
28929
|
+
const setValue = (0, import_react140.useCallback)((value2) => setParams({ [name]: value2 }, "pushIn"), [name, setParams]);
|
|
28856
28930
|
return [value, setValue];
|
|
28857
28931
|
}
|
|
28858
28932
|
|
|
28859
28933
|
// src/hooks/useGroupBy.ts
|
|
28860
28934
|
function useGroupBy(opts) {
|
|
28861
28935
|
const { inModal } = useModalContext();
|
|
28862
|
-
const options = (0,
|
|
28936
|
+
const options = (0, import_react141.useMemo)(
|
|
28863
28937
|
() => safeEntries(opts).map(([key, value]) => ({ id: key, name: value })),
|
|
28864
28938
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
28865
28939
|
[]
|
|
28866
28940
|
);
|
|
28867
28941
|
const [queryValue, setQueryValue] = useQueryState("groupBy", options[0].id);
|
|
28868
|
-
const [localValue, setLocalValue] = (0,
|
|
28942
|
+
const [localValue, setLocalValue] = (0, import_react141.useState)(options[0].id);
|
|
28869
28943
|
return {
|
|
28870
28944
|
value: inModal ? localValue : queryValue,
|
|
28871
28945
|
setValue: inModal ? setLocalValue : setQueryValue,
|
|
@@ -28874,17 +28948,17 @@ function useGroupBy(opts) {
|
|
|
28874
28948
|
}
|
|
28875
28949
|
|
|
28876
28950
|
// src/hooks/usePersistedFilter.ts
|
|
28877
|
-
var
|
|
28951
|
+
var import_react143 = require("react");
|
|
28878
28952
|
|
|
28879
28953
|
// src/hooks/useSessionStorage.ts
|
|
28880
|
-
var
|
|
28954
|
+
var import_react142 = require("react");
|
|
28881
28955
|
function useSessionStorage(key, defaultValue) {
|
|
28882
28956
|
let hasSessionStorage = false;
|
|
28883
28957
|
try {
|
|
28884
28958
|
hasSessionStorage = !!window.sessionStorage;
|
|
28885
28959
|
} catch (e) {
|
|
28886
28960
|
}
|
|
28887
|
-
const [state, setState] = (0,
|
|
28961
|
+
const [state, setState] = (0, import_react142.useState)(() => {
|
|
28888
28962
|
if (!hasSessionStorage) {
|
|
28889
28963
|
return defaultValue;
|
|
28890
28964
|
}
|
|
@@ -28895,7 +28969,7 @@ function useSessionStorage(key, defaultValue) {
|
|
|
28895
28969
|
sessionStorage.setItem(key, JSON.stringify(defaultValue));
|
|
28896
28970
|
return defaultValue;
|
|
28897
28971
|
});
|
|
28898
|
-
const setAndSave = (0,
|
|
28972
|
+
const setAndSave = (0, import_react142.useCallback)(
|
|
28899
28973
|
(value) => {
|
|
28900
28974
|
if (hasSessionStorage && value) {
|
|
28901
28975
|
sessionStorage.setItem(key, JSON.stringify(value));
|
|
@@ -28919,12 +28993,12 @@ function getParsedStorage(key) {
|
|
|
28919
28993
|
var import_use_query_params3 = require("use-query-params");
|
|
28920
28994
|
function usePersistedFilter({ storageKey, filterDefs }) {
|
|
28921
28995
|
const { inModal } = useModalContext();
|
|
28922
|
-
const filterImpls = (0,
|
|
28996
|
+
const filterImpls = (0, import_react143.useMemo)(
|
|
28923
28997
|
() => Object.fromEntries(safeEntries(filterDefs).map(([key, def]) => [key, def(key)])),
|
|
28924
28998
|
[filterDefs]
|
|
28925
28999
|
);
|
|
28926
|
-
const filterKeys = (0,
|
|
28927
|
-
const defaultFilter = (0,
|
|
29000
|
+
const filterKeys = (0, import_react143.useMemo)(() => Object.keys(filterImpls), [filterImpls]);
|
|
29001
|
+
const defaultFilter = (0, import_react143.useMemo)(
|
|
28928
29002
|
() => Object.fromEntries(
|
|
28929
29003
|
safeEntries(filterImpls).filter(([, def]) => def.defaultValue !== void 0).map(([key, def]) => [key, def.defaultValue])
|
|
28930
29004
|
),
|
|
@@ -28936,18 +29010,18 @@ function usePersistedFilter({ storageKey, filterDefs }) {
|
|
|
28936
29010
|
dehydrateFilter(filterImpls, defaultFilter) ?? defaultFilter
|
|
28937
29011
|
);
|
|
28938
29012
|
const isQueryParamFilterValid = hasValidFilterKeys(queryParamsFilter, filterKeys);
|
|
28939
|
-
const serializedQueryParamsFilter = (0,
|
|
28940
|
-
const serializedStoredFilter = (0,
|
|
28941
|
-
const queryParamsFilterSnapshot = (0,
|
|
29013
|
+
const serializedQueryParamsFilter = (0, import_react143.useMemo)(() => JSON.stringify(queryParamsFilter), [queryParamsFilter]);
|
|
29014
|
+
const serializedStoredFilter = (0, import_react143.useMemo)(() => JSON.stringify(storedFilter), [storedFilter]);
|
|
29015
|
+
const queryParamsFilterSnapshot = (0, import_react143.useMemo)(
|
|
28942
29016
|
() => parseSerializedValue(serializedQueryParamsFilter),
|
|
28943
29017
|
[serializedQueryParamsFilter]
|
|
28944
29018
|
);
|
|
28945
|
-
const storedFilterSnapshot = (0,
|
|
28946
|
-
const hydratedQueryParamsFilter = (0,
|
|
29019
|
+
const storedFilterSnapshot = (0, import_react143.useMemo)(() => parseSerializedValue(serializedStoredFilter), [serializedStoredFilter]);
|
|
29020
|
+
const hydratedQueryParamsFilter = (0, import_react143.useMemo)(
|
|
28947
29021
|
() => isQueryParamFilterValid ? hydrateFilter(filterImpls, queryParamsFilterSnapshot) : void 0,
|
|
28948
29022
|
[filterImpls, isQueryParamFilterValid, queryParamsFilterSnapshot]
|
|
28949
29023
|
);
|
|
28950
|
-
const hydratedStoredFilter = (0,
|
|
29024
|
+
const hydratedStoredFilter = (0, import_react143.useMemo)(
|
|
28951
29025
|
() => hasValidFilterKeys(storedFilterSnapshot, filterKeys) ? hydrateFilter(filterImpls, storedFilterSnapshot) : void 0,
|
|
28952
29026
|
[filterImpls, filterKeys, storedFilterSnapshot]
|
|
28953
29027
|
);
|
|
@@ -28961,7 +29035,7 @@ function usePersistedFilter({ storageKey, filterDefs }) {
|
|
|
28961
29035
|
}
|
|
28962
29036
|
setQueryParams({ filter: dehydrated });
|
|
28963
29037
|
};
|
|
28964
|
-
(0,
|
|
29038
|
+
(0, import_react143.useEffect)(
|
|
28965
29039
|
() => {
|
|
28966
29040
|
if (inModal) return;
|
|
28967
29041
|
if (queryParamsFilter === void 0) {
|
|
@@ -29011,8 +29085,8 @@ function parseSerializedValue(value) {
|
|
|
29011
29085
|
return value === void 0 ? void 0 : JSON.parse(value);
|
|
29012
29086
|
}
|
|
29013
29087
|
function useStableValue(value) {
|
|
29014
|
-
const stableValue = (0,
|
|
29015
|
-
const stableKey = (0,
|
|
29088
|
+
const stableValue = (0, import_react143.useRef)(value);
|
|
29089
|
+
const stableKey = (0, import_react143.useRef)(JSON.stringify(value));
|
|
29016
29090
|
const nextKey = JSON.stringify(value);
|
|
29017
29091
|
if (stableKey.current !== nextKey) {
|
|
29018
29092
|
stableValue.current = value;
|
|
@@ -29028,6 +29102,7 @@ function GridTableLayoutComponent(props) {
|
|
|
29028
29102
|
tableProps,
|
|
29029
29103
|
layoutState,
|
|
29030
29104
|
actions,
|
|
29105
|
+
viewModeToggle,
|
|
29031
29106
|
selectionSummary = false,
|
|
29032
29107
|
hideEditColumns = false,
|
|
29033
29108
|
shareColumnVisibility = false,
|
|
@@ -29042,37 +29117,37 @@ function GridTableLayoutComponent(props) {
|
|
|
29042
29117
|
const insetHandled = useContentInsetHandled();
|
|
29043
29118
|
const includeColumnGutters = host.kind === "document-scroll" || host.kind === "modal";
|
|
29044
29119
|
const columns = tableProps.columns;
|
|
29045
|
-
const hasHideableColumns = (0,
|
|
29120
|
+
const hasHideableColumns = (0, import_react144.useMemo)(() => {
|
|
29046
29121
|
if (hideEditColumns) return false;
|
|
29047
29122
|
validateColumns(columns);
|
|
29048
29123
|
return columns.some((c) => c.canHide);
|
|
29049
29124
|
}, [columns, hideEditColumns]);
|
|
29050
|
-
const api = (0,
|
|
29125
|
+
const api = (0, import_react144.useMemo)(
|
|
29051
29126
|
() => tableProps.api ?? new GridTableApiImpl(),
|
|
29052
29127
|
[tableProps.api]
|
|
29053
29128
|
);
|
|
29054
29129
|
const [view, setView] = usePersistedTableView(defaultView, !!withCardView);
|
|
29055
29130
|
const clientSearch = layoutState?.search === "client" ? layoutState.searchString : void 0;
|
|
29056
|
-
const showTableActions = !!(layoutState?.filterDefs || layoutState?.search || hasHideableColumns || withCardView || actions?.length || // Rendered before anything's selected, so the pill doesn't shift the table
|
|
29131
|
+
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
|
|
29057
29132
|
selectionSummary);
|
|
29058
29133
|
const isVirtualized = tableProps.as === "virtual" || view === "card";
|
|
29059
29134
|
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
29060
|
-
(0,
|
|
29135
|
+
(0, import_react144.useEffect)(() => {
|
|
29061
29136
|
if (layoutState?.setVisibleColumnIds) {
|
|
29062
29137
|
layoutState.setVisibleColumnIds(visibleColumnIds);
|
|
29063
29138
|
}
|
|
29064
29139
|
}, [visibleColumnIds, layoutState]);
|
|
29065
29140
|
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
29066
|
-
const filterSearchProps = (0,
|
|
29141
|
+
const filterSearchProps = (0, import_react144.useMemo)(
|
|
29067
29142
|
() => layoutState?.search ? { onSearch: layoutState.setSearchString } : void 0,
|
|
29068
29143
|
[layoutState?.search, layoutState?.setSearchString]
|
|
29069
29144
|
);
|
|
29070
|
-
const searchApiRef = (0,
|
|
29071
|
-
const clearFilters = (0,
|
|
29145
|
+
const searchApiRef = (0, import_react144.useRef)(void 0);
|
|
29146
|
+
const clearFilters = (0, import_react144.useCallback)(() => {
|
|
29072
29147
|
layoutState?.clearFilters();
|
|
29073
29148
|
searchApiRef.current?.clear();
|
|
29074
29149
|
}, [layoutState]);
|
|
29075
|
-
const emptyState = (0,
|
|
29150
|
+
const emptyState = (0, import_react144.useMemo)(
|
|
29076
29151
|
() => composeEmptyState(tableProps, layoutState, layoutEmptyFallback, clearFilters),
|
|
29077
29152
|
[layoutEmptyFallback, layoutState, tableProps, clearFilters]
|
|
29078
29153
|
);
|
|
@@ -29094,11 +29169,12 @@ function GridTableLayoutComponent(props) {
|
|
|
29094
29169
|
clearFilters,
|
|
29095
29170
|
searchApi: searchApiRef,
|
|
29096
29171
|
actions,
|
|
29172
|
+
viewModeToggle,
|
|
29097
29173
|
selectionSummary
|
|
29098
29174
|
}
|
|
29099
29175
|
);
|
|
29100
29176
|
const cardAs = view === "card" ? "card" : void 0;
|
|
29101
|
-
const tableStyle = (0,
|
|
29177
|
+
const tableStyle = (0, import_react144.useMemo)(() => getDefaultStyle(tableProps.style, insetHandled), [tableProps.style, insetHandled]);
|
|
29102
29178
|
const tableBody = /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(import_jsx_runtime207.Fragment, { children: isGridTableProps(tableProps) ? /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
|
|
29103
29179
|
GridTable,
|
|
29104
29180
|
{
|
|
@@ -29140,7 +29216,7 @@ function GridTableLayoutComponent(props) {
|
|
|
29140
29216
|
}
|
|
29141
29217
|
);
|
|
29142
29218
|
}
|
|
29143
|
-
var GridTableLayout =
|
|
29219
|
+
var GridTableLayout = import_react144.default.memo(GridTableLayoutComponent);
|
|
29144
29220
|
function getDefaultStyle(style, insetHandled) {
|
|
29145
29221
|
if (style !== void 0 && !isGridStyleDef(style)) return style;
|
|
29146
29222
|
return { allWhite: true, ...!insetHandled && { bordered: "top" }, ...style };
|
|
@@ -29161,14 +29237,14 @@ function useGridTableLayoutState({
|
|
|
29161
29237
|
const filterFallback = { filterDefs: {}, storageKey: "unset-filter" };
|
|
29162
29238
|
const { filter, setFilter } = usePersistedFilter(persistedFilter ?? filterFallback);
|
|
29163
29239
|
const groupBy = useGroupBy(maybeGroupBy ?? { none: "none" });
|
|
29164
|
-
const [searchString, setSearchString] = (0,
|
|
29240
|
+
const [searchString, setSearchString] = (0, import_react144.useState)("");
|
|
29165
29241
|
const columnsFallback = "unset-columns";
|
|
29166
29242
|
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(
|
|
29167
29243
|
persistedColumns?.storageKey ?? columnsFallback,
|
|
29168
29244
|
void 0
|
|
29169
29245
|
);
|
|
29170
29246
|
const filteringActive = getActiveFilterCount(filter) > 0 || !!searchString;
|
|
29171
|
-
const clearFilters = (0,
|
|
29247
|
+
const clearFilters = (0, import_react144.useCallback)(() => {
|
|
29172
29248
|
setFilter({});
|
|
29173
29249
|
setSearchString("");
|
|
29174
29250
|
}, [setFilter]);
|
|
@@ -29215,7 +29291,7 @@ function PreventBrowserScroll({
|
|
|
29215
29291
|
|
|
29216
29292
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
29217
29293
|
var import_framer_motion4 = require("framer-motion");
|
|
29218
|
-
var
|
|
29294
|
+
var import_react145 = require("react");
|
|
29219
29295
|
var import_runtime135 = require("@homebound/truss/runtime");
|
|
29220
29296
|
var import_jsx_runtime209 = require("react/jsx-runtime");
|
|
29221
29297
|
var __maybeInc22 = (inc) => {
|
|
@@ -29233,7 +29309,7 @@ function RightPaneLayout(props) {
|
|
|
29233
29309
|
clearPane: clearPane2
|
|
29234
29310
|
} = useRightPaneOpenState();
|
|
29235
29311
|
const rightPaneContent = useRightPaneContent();
|
|
29236
|
-
(0,
|
|
29312
|
+
(0, import_react145.useEffect)(() => hideRightPane, []);
|
|
29237
29313
|
return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { className: "h100 df oxh", children: /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)(import_jsx_runtime209.Fragment, { children: [
|
|
29238
29314
|
/* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ...(0, import_runtime135.trussProps)({
|
|
29239
29315
|
...{
|
|
@@ -29323,12 +29399,12 @@ function RightPaneLayout(props) {
|
|
|
29323
29399
|
}
|
|
29324
29400
|
|
|
29325
29401
|
// src/components/Layout/RightPaneLayout/RightPanePanel.tsx
|
|
29326
|
-
var
|
|
29402
|
+
var import_react147 = require("react");
|
|
29327
29403
|
var import_react_dom8 = require("react-dom");
|
|
29328
29404
|
|
|
29329
29405
|
// src/components/Layout/RightPaneLayout/internal/DeleteAction.tsx
|
|
29330
|
-
var
|
|
29331
|
-
var
|
|
29406
|
+
var import_utils43 = require("@react-aria/utils");
|
|
29407
|
+
var import_react146 = require("react");
|
|
29332
29408
|
var import_runtime136 = require("@homebound/truss/runtime");
|
|
29333
29409
|
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
29334
29410
|
function MaybeDeleteAction(props) {
|
|
@@ -29345,18 +29421,18 @@ function BulkDeleteAction(props) {
|
|
|
29345
29421
|
count,
|
|
29346
29422
|
...buttonProps
|
|
29347
29423
|
} = props;
|
|
29348
|
-
const containerRef = (0,
|
|
29349
|
-
const contentRef = (0,
|
|
29350
|
-
const [overflows, setOverflows] = (0,
|
|
29424
|
+
const containerRef = (0, import_react146.useRef)(null);
|
|
29425
|
+
const contentRef = (0, import_react146.useRef)(null);
|
|
29426
|
+
const [overflows, setOverflows] = (0, import_react146.useState)(false);
|
|
29351
29427
|
const onResize = () => {
|
|
29352
29428
|
if (!containerRef.current || !contentRef.current) return;
|
|
29353
29429
|
setOverflows(contentRef.current.offsetWidth > containerRef.current.clientWidth);
|
|
29354
29430
|
};
|
|
29355
|
-
(0,
|
|
29431
|
+
(0, import_utils43.useResizeObserver)({
|
|
29356
29432
|
ref: containerRef,
|
|
29357
29433
|
onResize
|
|
29358
29434
|
});
|
|
29359
|
-
(0,
|
|
29435
|
+
(0, import_utils43.useResizeObserver)({
|
|
29360
29436
|
ref: contentRef,
|
|
29361
29437
|
onResize
|
|
29362
29438
|
});
|
|
@@ -29414,11 +29490,11 @@ function RightPanePanel(props) {
|
|
|
29414
29490
|
const {
|
|
29415
29491
|
closeRightPane
|
|
29416
29492
|
} = useRightPaneActions();
|
|
29417
|
-
const [bannerSlot, setBannerSlot] = (0,
|
|
29493
|
+
const [bannerSlot, setBannerSlot] = (0, import_react147.useState)(null);
|
|
29418
29494
|
const {
|
|
29419
29495
|
openModal
|
|
29420
29496
|
} = useModal();
|
|
29421
|
-
(0,
|
|
29497
|
+
(0, import_react147.useEffect)(() => {
|
|
29422
29498
|
if (!isDirty) return;
|
|
29423
29499
|
return setRightPaneDiscardPrompt((proceed) => {
|
|
29424
29500
|
if (!isDirty()) return proceed();
|
|
@@ -29481,11 +29557,11 @@ function RightPaneBanner(props) {
|
|
|
29481
29557
|
const {
|
|
29482
29558
|
children
|
|
29483
29559
|
} = props;
|
|
29484
|
-
const slot = (0,
|
|
29560
|
+
const slot = (0, import_react147.useContext)(RightPaneBannerSlotContext);
|
|
29485
29561
|
if (slot === void 0) fail("RightPaneBanner must be rendered inside a RightPanePanel");
|
|
29486
29562
|
return slot ? (0, import_react_dom8.createPortal)(children, slot) : null;
|
|
29487
29563
|
}
|
|
29488
|
-
var RightPaneBannerSlotContext = (0,
|
|
29564
|
+
var RightPaneBannerSlotContext = (0, import_react147.createContext)(void 0);
|
|
29489
29565
|
|
|
29490
29566
|
// src/components/Layout/ScrollableFooter.tsx
|
|
29491
29567
|
var import_react_dom9 = require("react-dom");
|
|
@@ -29501,7 +29577,7 @@ function ScrollableFooter(props) {
|
|
|
29501
29577
|
|
|
29502
29578
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
29503
29579
|
var import_framer_motion5 = require("framer-motion");
|
|
29504
|
-
var
|
|
29580
|
+
var import_react148 = require("react");
|
|
29505
29581
|
|
|
29506
29582
|
// src/components/Layout/TableReviewLayout/SidePanel.tsx
|
|
29507
29583
|
var import_jsx_runtime213 = require("react/jsx-runtime");
|
|
@@ -29541,8 +29617,8 @@ function TableReviewLayout(props) {
|
|
|
29541
29617
|
rightPaneWidth = defaultRightPaneWidth
|
|
29542
29618
|
} = props;
|
|
29543
29619
|
const tid = useTestIds(props, "tableReviewLayout");
|
|
29544
|
-
const [isPanelVisible, setIsPanelVisible] = (0,
|
|
29545
|
-
(0,
|
|
29620
|
+
const [isPanelVisible, setIsPanelVisible] = (0, import_react148.useState)(!!panelContent);
|
|
29621
|
+
(0, import_react148.useEffect)(() => {
|
|
29546
29622
|
setIsPanelVisible(!!panelContent);
|
|
29547
29623
|
}, [panelContent]);
|
|
29548
29624
|
function handleClosePanel() {
|
|
@@ -29701,29 +29777,29 @@ function HomeboundLogo(props) {
|
|
|
29701
29777
|
}
|
|
29702
29778
|
|
|
29703
29779
|
// src/components/MaxLines.tsx
|
|
29704
|
-
var
|
|
29705
|
-
var
|
|
29780
|
+
var import_utils44 = require("@react-aria/utils");
|
|
29781
|
+
var import_react149 = require("react");
|
|
29706
29782
|
var import_runtime141 = require("@homebound/truss/runtime");
|
|
29707
29783
|
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
29708
29784
|
function MaxLines({
|
|
29709
29785
|
maxLines,
|
|
29710
29786
|
children
|
|
29711
29787
|
}) {
|
|
29712
|
-
const elRef = (0,
|
|
29713
|
-
const [hasMore, setHasMore] = (0,
|
|
29714
|
-
const [expanded, setExpanded] = (0,
|
|
29715
|
-
(0,
|
|
29788
|
+
const elRef = (0, import_react149.useRef)(null);
|
|
29789
|
+
const [hasMore, setHasMore] = (0, import_react149.useState)(false);
|
|
29790
|
+
const [expanded, setExpanded] = (0, import_react149.useState)(false);
|
|
29791
|
+
(0, import_utils44.useLayoutEffect)(() => {
|
|
29716
29792
|
if (!elRef.current) return;
|
|
29717
29793
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
29718
29794
|
}, []);
|
|
29719
|
-
(0,
|
|
29795
|
+
(0, import_react149.useEffect)(() => {
|
|
29720
29796
|
setExpanded(false);
|
|
29721
29797
|
}, [children]);
|
|
29722
|
-
const onResize = (0,
|
|
29798
|
+
const onResize = (0, import_react149.useCallback)(() => {
|
|
29723
29799
|
if (!elRef.current) return;
|
|
29724
29800
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
29725
29801
|
}, [expanded]);
|
|
29726
|
-
(0,
|
|
29802
|
+
(0, import_utils44.useResizeObserver)({
|
|
29727
29803
|
ref: elRef,
|
|
29728
29804
|
onResize
|
|
29729
29805
|
});
|
|
@@ -29833,8 +29909,8 @@ function toPageNumberSize(page) {
|
|
|
29833
29909
|
}
|
|
29834
29910
|
|
|
29835
29911
|
// src/components/ScrollShadows.tsx
|
|
29836
|
-
var
|
|
29837
|
-
var
|
|
29912
|
+
var import_utils45 = require("@react-aria/utils");
|
|
29913
|
+
var import_react150 = require("react");
|
|
29838
29914
|
var import_runtime143 = require("@homebound/truss/runtime");
|
|
29839
29915
|
var import_jsx_runtime219 = require("react/jsx-runtime");
|
|
29840
29916
|
function ScrollShadows(props) {
|
|
@@ -29852,10 +29928,10 @@ function ScrollShadows(props) {
|
|
|
29852
29928
|
if (!bgColor.includes("rgba")) {
|
|
29853
29929
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
29854
29930
|
}
|
|
29855
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
29856
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
29857
|
-
const scrollRef = (0,
|
|
29858
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
29931
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react150.useState)(false);
|
|
29932
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react150.useState)(false);
|
|
29933
|
+
const scrollRef = (0, import_react150.useRef)(null);
|
|
29934
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react150.useMemo)(() => {
|
|
29859
29935
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
29860
29936
|
const commonStyles = {
|
|
29861
29937
|
position: "absolute",
|
|
@@ -29906,7 +29982,7 @@ function ScrollShadows(props) {
|
|
|
29906
29982
|
}
|
|
29907
29983
|
}];
|
|
29908
29984
|
}, [horizontal, bgColor]);
|
|
29909
|
-
const updateScrollProps = (0,
|
|
29985
|
+
const updateScrollProps = (0, import_react150.useCallback)((el) => {
|
|
29910
29986
|
const {
|
|
29911
29987
|
scrollTop,
|
|
29912
29988
|
scrollHeight,
|
|
@@ -29921,8 +29997,8 @@ function ScrollShadows(props) {
|
|
|
29921
29997
|
setShowStartShadow(start > 0);
|
|
29922
29998
|
setShowEndShadow(start + boxSize < end);
|
|
29923
29999
|
}, [horizontal]);
|
|
29924
|
-
const onResize = (0,
|
|
29925
|
-
(0,
|
|
30000
|
+
const onResize = (0, import_react150.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
30001
|
+
(0, import_utils45.useResizeObserver)({
|
|
29926
30002
|
ref: scrollRef,
|
|
29927
30003
|
onResize
|
|
29928
30004
|
});
|
|
@@ -29973,12 +30049,12 @@ function ScrollShadows(props) {
|
|
|
29973
30049
|
var import_change_case8 = require("change-case");
|
|
29974
30050
|
|
|
29975
30051
|
// src/components/AppNav/AppNavGroup.tsx
|
|
29976
|
-
var
|
|
30052
|
+
var import_utils46 = require("@react-aria/utils");
|
|
29977
30053
|
var import_change_case7 = require("change-case");
|
|
29978
|
-
var
|
|
30054
|
+
var import_react153 = require("react");
|
|
29979
30055
|
|
|
29980
30056
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
29981
|
-
var
|
|
30057
|
+
var import_react151 = require("react");
|
|
29982
30058
|
var import_react_aria68 = require("react-aria");
|
|
29983
30059
|
var import_runtime144 = require("@homebound/truss/runtime");
|
|
29984
30060
|
var import_jsx_runtime220 = require("react/jsx-runtime");
|
|
@@ -29991,7 +30067,7 @@ function AppNavGroupTrigger(props) {
|
|
|
29991
30067
|
active = false
|
|
29992
30068
|
} = props;
|
|
29993
30069
|
const tid = useTestIds(props, "trigger");
|
|
29994
|
-
const ref = (0,
|
|
30070
|
+
const ref = (0, import_react151.useRef)(null);
|
|
29995
30071
|
const {
|
|
29996
30072
|
buttonProps,
|
|
29997
30073
|
isPressed
|
|
@@ -30012,7 +30088,7 @@ function AppNavGroupTrigger(props) {
|
|
|
30012
30088
|
focusRingStyles: focusRingStyles2,
|
|
30013
30089
|
hoverStyles: hoverStyles4,
|
|
30014
30090
|
pressedStyles: pressedStyles2
|
|
30015
|
-
} = (0,
|
|
30091
|
+
} = (0, import_react151.useMemo)(() => getNavLinkStyles("side"), []);
|
|
30016
30092
|
return /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)("button", { type: "button", ...(0, import_react_aria68.mergeProps)(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
30017
30093
|
ref,
|
|
30018
30094
|
"aria-expanded": expanded,
|
|
@@ -30150,7 +30226,7 @@ function entryHasIcons(item) {
|
|
|
30150
30226
|
}
|
|
30151
30227
|
|
|
30152
30228
|
// src/components/AppNav/useAppNavGroupExpanded.ts
|
|
30153
|
-
var
|
|
30229
|
+
var import_react152 = require("react");
|
|
30154
30230
|
var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
|
|
30155
30231
|
function loadStored() {
|
|
30156
30232
|
try {
|
|
@@ -30169,13 +30245,13 @@ function persistLabel(label, expanded) {
|
|
|
30169
30245
|
}
|
|
30170
30246
|
function useAppNavGroupExpanded(linkGroup) {
|
|
30171
30247
|
const { label } = linkGroup;
|
|
30172
|
-
const [userExpanded, setUserExpanded] = (0,
|
|
30248
|
+
const [userExpanded, setUserExpanded] = (0, import_react152.useState)(() => {
|
|
30173
30249
|
const stored = loadStored();
|
|
30174
30250
|
return label in stored ? stored[label] : null;
|
|
30175
30251
|
});
|
|
30176
30252
|
const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
|
|
30177
30253
|
const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
|
|
30178
|
-
const onToggle = (0,
|
|
30254
|
+
const onToggle = (0, import_react152.useCallback)(() => {
|
|
30179
30255
|
const next = !expanded;
|
|
30180
30256
|
setUserExpanded(next);
|
|
30181
30257
|
persistLabel(label, next);
|
|
@@ -30210,20 +30286,20 @@ function AppNavGroupDisclosure(props) {
|
|
|
30210
30286
|
} = useAppNavGroupExpanded(linkGroup);
|
|
30211
30287
|
const tid = useTestIds(props, "linkGroup");
|
|
30212
30288
|
const navGroupId = `nav-group-${(0, import_change_case7.kebabCase)(linkGroup.label)}`;
|
|
30213
|
-
const [contentEl, setContentEl] = (0,
|
|
30214
|
-
const contentRef = (0,
|
|
30289
|
+
const [contentEl, setContentEl] = (0, import_react153.useState)(null);
|
|
30290
|
+
const contentRef = (0, import_react153.useMemo)(() => ({
|
|
30215
30291
|
current: contentEl
|
|
30216
30292
|
}), [contentEl]);
|
|
30217
|
-
const [contentHeight, setContentHeight] = (0,
|
|
30218
|
-
(0,
|
|
30293
|
+
const [contentHeight, setContentHeight] = (0, import_react153.useState)(expanded ? "auto" : "0");
|
|
30294
|
+
(0, import_react153.useEffect)(() => {
|
|
30219
30295
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
30220
30296
|
}, [expanded, contentEl]);
|
|
30221
|
-
const onResize = (0,
|
|
30297
|
+
const onResize = (0, import_react153.useCallback)(() => {
|
|
30222
30298
|
if (contentEl && expanded) {
|
|
30223
30299
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
30224
30300
|
}
|
|
30225
30301
|
}, [expanded, contentEl]);
|
|
30226
|
-
(0,
|
|
30302
|
+
(0, import_utils46.useResizeObserver)({
|
|
30227
30303
|
ref: contentRef,
|
|
30228
30304
|
onResize
|
|
30229
30305
|
});
|
|
@@ -30364,7 +30440,7 @@ function AppNavItems(props) {
|
|
|
30364
30440
|
}
|
|
30365
30441
|
|
|
30366
30442
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
30367
|
-
var
|
|
30443
|
+
var import_react154 = require("react");
|
|
30368
30444
|
var import_jsx_runtime225 = require("react/jsx-runtime");
|
|
30369
30445
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
30370
30446
|
function loadStoredNavState() {
|
|
@@ -30387,20 +30463,20 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
30387
30463
|
}
|
|
30388
30464
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
30389
30465
|
}
|
|
30390
|
-
var SideNavLayoutContext = (0,
|
|
30466
|
+
var SideNavLayoutContext = (0, import_react154.createContext)(void 0);
|
|
30391
30467
|
function SideNavLayoutProvider(props) {
|
|
30392
|
-
const [navState, setNavStateInternal] = (0,
|
|
30468
|
+
const [navState, setNavStateInternal] = (0, import_react154.useState)(
|
|
30393
30469
|
() => resolveInitialNavState(props.defaultNavState)
|
|
30394
30470
|
);
|
|
30395
30471
|
const bp = useBreakpoint();
|
|
30396
|
-
const prevMdAndUp = (0,
|
|
30397
|
-
(0,
|
|
30472
|
+
const prevMdAndUp = (0, import_react154.useRef)(bp.mdAndUp);
|
|
30473
|
+
(0, import_react154.useEffect)(() => {
|
|
30398
30474
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
30399
30475
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
30400
30476
|
}
|
|
30401
30477
|
prevMdAndUp.current = bp.mdAndUp;
|
|
30402
30478
|
}, [bp.mdAndUp]);
|
|
30403
|
-
const setNavState = (0,
|
|
30479
|
+
const setNavState = (0, import_react154.useCallback)((value2) => {
|
|
30404
30480
|
setNavStateInternal((prev) => {
|
|
30405
30481
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
30406
30482
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -30412,15 +30488,15 @@ function SideNavLayoutProvider(props) {
|
|
|
30412
30488
|
return next;
|
|
30413
30489
|
});
|
|
30414
30490
|
}, []);
|
|
30415
|
-
const value = (0,
|
|
30491
|
+
const value = (0, import_react154.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
30416
30492
|
return /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
30417
30493
|
}
|
|
30418
30494
|
function useSideNavLayoutContext() {
|
|
30419
|
-
return (0,
|
|
30495
|
+
return (0, import_react154.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
30420
30496
|
} };
|
|
30421
30497
|
}
|
|
30422
30498
|
function useHasSideNavLayoutProvider() {
|
|
30423
|
-
return (0,
|
|
30499
|
+
return (0, import_react154.useContext)(SideNavLayoutContext) !== void 0;
|
|
30424
30500
|
}
|
|
30425
30501
|
|
|
30426
30502
|
// src/components/SideNav/SideNav.tsx
|
|
@@ -30481,11 +30557,11 @@ function SideNav(props) {
|
|
|
30481
30557
|
}
|
|
30482
30558
|
|
|
30483
30559
|
// src/components/Stepper.tsx
|
|
30484
|
-
var
|
|
30560
|
+
var import_react155 = require("react");
|
|
30485
30561
|
var import_react_aria69 = require("react-aria");
|
|
30486
30562
|
var import_runtime148 = require("@homebound/truss/runtime");
|
|
30487
30563
|
var import_jsx_runtime227 = require("react/jsx-runtime");
|
|
30488
|
-
var
|
|
30564
|
+
var import_react156 = require("react");
|
|
30489
30565
|
var __maybeInc26 = (inc) => {
|
|
30490
30566
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
30491
30567
|
};
|
|
@@ -30514,7 +30590,7 @@ function Stepper(props) {
|
|
|
30514
30590
|
}]
|
|
30515
30591
|
}), children: steps.map((step) => {
|
|
30516
30592
|
const isCurrent = currentStep === step.value;
|
|
30517
|
-
return /* @__PURE__ */ (0,
|
|
30593
|
+
return /* @__PURE__ */ (0, import_react156.createElement)("li", { ...(0, import_runtime148.trussProps)({
|
|
30518
30594
|
display: "df",
|
|
30519
30595
|
flexGrow: "fg1",
|
|
30520
30596
|
flexDirection: "fdc",
|
|
@@ -30563,7 +30639,7 @@ function StepButton(props) {
|
|
|
30563
30639
|
onPress: onClick,
|
|
30564
30640
|
isDisabled: disabled
|
|
30565
30641
|
};
|
|
30566
|
-
const ref = (0,
|
|
30642
|
+
const ref = (0, import_react155.useRef)(null);
|
|
30567
30643
|
const {
|
|
30568
30644
|
buttonProps,
|
|
30569
30645
|
isPressed
|
|
@@ -30673,7 +30749,7 @@ function StepIcon({
|
|
|
30673
30749
|
}
|
|
30674
30750
|
|
|
30675
30751
|
// src/components/StepperTabs/StepperTab.tsx
|
|
30676
|
-
var
|
|
30752
|
+
var import_react157 = require("react");
|
|
30677
30753
|
var import_react_aria70 = require("react-aria");
|
|
30678
30754
|
var import_runtime149 = require("@homebound/truss/runtime");
|
|
30679
30755
|
var import_jsx_runtime228 = require("react/jsx-runtime");
|
|
@@ -30692,7 +30768,7 @@ function StepperTab(props) {
|
|
|
30692
30768
|
onPress: () => onClick(value),
|
|
30693
30769
|
isDisabled: disabled || collapsed
|
|
30694
30770
|
};
|
|
30695
|
-
const ref = (0,
|
|
30771
|
+
const ref = (0, import_react157.useRef)(null);
|
|
30696
30772
|
const {
|
|
30697
30773
|
buttonProps
|
|
30698
30774
|
} = (0, import_react_aria70.useButton)(ariaProps, ref);
|
|
@@ -30829,7 +30905,7 @@ var stepperTabStyles = {
|
|
|
30829
30905
|
// src/components/StepperTabs/StepperTabs.tsx
|
|
30830
30906
|
var import_runtime150 = require("@homebound/truss/runtime");
|
|
30831
30907
|
var import_jsx_runtime229 = require("react/jsx-runtime");
|
|
30832
|
-
var
|
|
30908
|
+
var import_react158 = require("react");
|
|
30833
30909
|
function StepperTabs(props) {
|
|
30834
30910
|
const {
|
|
30835
30911
|
steps,
|
|
@@ -30859,7 +30935,7 @@ function StepperTabs(props) {
|
|
|
30859
30935
|
}), children: steps.map((step, idx) => {
|
|
30860
30936
|
const isCurrent = idx === currentStepIndex;
|
|
30861
30937
|
const isCompleted = idx < currentStepIndex;
|
|
30862
|
-
return /* @__PURE__ */ (0,
|
|
30938
|
+
return /* @__PURE__ */ (0, import_react158.createElement)("li", { ...(0, import_runtime150.trussProps)({
|
|
30863
30939
|
display: "df",
|
|
30864
30940
|
flexGrow: "fg1",
|
|
30865
30941
|
flexBasis: "fb_0",
|
|
@@ -31093,7 +31169,7 @@ function segmentWidth(count, total) {
|
|
|
31093
31169
|
}
|
|
31094
31170
|
|
|
31095
31171
|
// src/components/TableSummary/TableSummary.tsx
|
|
31096
|
-
var
|
|
31172
|
+
var import_react159 = require("react");
|
|
31097
31173
|
var import_react_aria71 = require("react-aria");
|
|
31098
31174
|
var import_runtime154 = require("@homebound/truss/runtime");
|
|
31099
31175
|
var import_jsx_runtime234 = require("react/jsx-runtime");
|
|
@@ -31153,7 +31229,7 @@ function MetricButton(props) {
|
|
|
31153
31229
|
metric,
|
|
31154
31230
|
divider
|
|
31155
31231
|
} = props;
|
|
31156
|
-
const ref = (0,
|
|
31232
|
+
const ref = (0, import_react159.useRef)(null);
|
|
31157
31233
|
const {
|
|
31158
31234
|
buttonProps
|
|
31159
31235
|
} = (0, import_react_aria71.useButton)({
|
|
@@ -31230,7 +31306,7 @@ function MetricButton(props) {
|
|
|
31230
31306
|
|
|
31231
31307
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
31232
31308
|
var import_fast_deep_equal2 = __toESM(require("fast-deep-equal"), 1);
|
|
31233
|
-
var
|
|
31309
|
+
var import_react161 = require("react");
|
|
31234
31310
|
|
|
31235
31311
|
// src/utils/inlineStyles.ts
|
|
31236
31312
|
function isInlineStyleValue(value) {
|
|
@@ -31259,14 +31335,14 @@ function restoreElementStyle(el, snapshot) {
|
|
|
31259
31335
|
}
|
|
31260
31336
|
|
|
31261
31337
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
31262
|
-
var
|
|
31263
|
-
var DnDGridContext = (0,
|
|
31338
|
+
var import_react160 = require("react");
|
|
31339
|
+
var DnDGridContext = (0, import_react160.createContext)({
|
|
31264
31340
|
dragEl: { current: void 0 },
|
|
31265
31341
|
onDragHandleKeyDown: () => {
|
|
31266
31342
|
}
|
|
31267
31343
|
});
|
|
31268
31344
|
function useDnDGridContext() {
|
|
31269
|
-
return (0,
|
|
31345
|
+
return (0, import_react160.useContext)(DnDGridContext);
|
|
31270
31346
|
}
|
|
31271
31347
|
|
|
31272
31348
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
@@ -31280,13 +31356,13 @@ function DnDGrid(props) {
|
|
|
31280
31356
|
activeItemStyles,
|
|
31281
31357
|
lockAxis
|
|
31282
31358
|
} = props;
|
|
31283
|
-
const gridEl = (0,
|
|
31284
|
-
const dragEl = (0,
|
|
31285
|
-
const cloneEl = (0,
|
|
31286
|
-
const initialOrder = (0,
|
|
31287
|
-
const styleSnapshot = (0,
|
|
31288
|
-
const reorderViaKeyboard = (0,
|
|
31289
|
-
const transformFrom = (0,
|
|
31359
|
+
const gridEl = (0, import_react161.useRef)(null);
|
|
31360
|
+
const dragEl = (0, import_react161.useRef)(void 0);
|
|
31361
|
+
const cloneEl = (0, import_react161.useRef)(void 0);
|
|
31362
|
+
const initialOrder = (0, import_react161.useRef)(void 0);
|
|
31363
|
+
const styleSnapshot = (0, import_react161.useRef)(void 0);
|
|
31364
|
+
const reorderViaKeyboard = (0, import_react161.useRef)(false);
|
|
31365
|
+
const transformFrom = (0, import_react161.useRef)({
|
|
31290
31366
|
x: 0,
|
|
31291
31367
|
y: 0
|
|
31292
31368
|
});
|
|
@@ -31294,20 +31370,20 @@ function DnDGrid(props) {
|
|
|
31294
31370
|
const activeStyles3 = activeItemStyles ?? {
|
|
31295
31371
|
boxShadow: "bshModal"
|
|
31296
31372
|
};
|
|
31297
|
-
const getGridItems = (0,
|
|
31373
|
+
const getGridItems = (0, import_react161.useCallback)(() => {
|
|
31298
31374
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
31299
31375
|
}, []);
|
|
31300
|
-
const getGridItemIdOrder = (0,
|
|
31376
|
+
const getGridItemIdOrder = (0, import_react161.useCallback)(() => {
|
|
31301
31377
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
31302
31378
|
}, [getGridItems]);
|
|
31303
|
-
const initReorder = (0,
|
|
31379
|
+
const initReorder = (0, import_react161.useCallback)(() => {
|
|
31304
31380
|
if (gridEl.current && dragEl.current) {
|
|
31305
31381
|
initialOrder.current = getGridItemIdOrder();
|
|
31306
31382
|
styleSnapshot.current = snapshotElementStyle(dragEl.current);
|
|
31307
31383
|
applyActiveStyles(dragEl.current, activeStyles3);
|
|
31308
31384
|
}
|
|
31309
31385
|
}, [getGridItemIdOrder, activeStyles3]);
|
|
31310
|
-
const commitReorder = (0,
|
|
31386
|
+
const commitReorder = (0, import_react161.useCallback)(() => {
|
|
31311
31387
|
if (gridEl.current && dragEl.current) {
|
|
31312
31388
|
const currentOrder = getGridItemIdOrder();
|
|
31313
31389
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -31317,7 +31393,7 @@ function DnDGrid(props) {
|
|
|
31317
31393
|
initialOrder.current = currentOrder;
|
|
31318
31394
|
}
|
|
31319
31395
|
}, [onReorder, getGridItemIdOrder]);
|
|
31320
|
-
const cancelReorder = (0,
|
|
31396
|
+
const cancelReorder = (0, import_react161.useCallback)(() => {
|
|
31321
31397
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
31322
31398
|
const currentOrder = getGridItemIdOrder();
|
|
31323
31399
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) {
|
|
@@ -31339,7 +31415,7 @@ function DnDGrid(props) {
|
|
|
31339
31415
|
reorderViaKeyboard.current = false;
|
|
31340
31416
|
}
|
|
31341
31417
|
}, [getGridItemIdOrder, getGridItems]);
|
|
31342
|
-
const onMove = (0,
|
|
31418
|
+
const onMove = (0, import_react161.useCallback)((e) => {
|
|
31343
31419
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
31344
31420
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
31345
31421
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -31362,7 +31438,7 @@ function DnDGrid(props) {
|
|
|
31362
31438
|
}
|
|
31363
31439
|
}
|
|
31364
31440
|
}, [lockAxis]);
|
|
31365
|
-
const onDragEnd = (0,
|
|
31441
|
+
const onDragEnd = (0, import_react161.useCallback)((e) => {
|
|
31366
31442
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
31367
31443
|
e.preventDefault();
|
|
31368
31444
|
cloneEl.current.replaceWith(dragEl.current);
|
|
@@ -31373,7 +31449,7 @@ function DnDGrid(props) {
|
|
|
31373
31449
|
removePointerDragListeners(onMove, onDragEnd);
|
|
31374
31450
|
}
|
|
31375
31451
|
}, [commitReorder, onMove]);
|
|
31376
|
-
const onDragStart = (0,
|
|
31452
|
+
const onDragStart = (0, import_react161.useCallback)((e) => {
|
|
31377
31453
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
31378
31454
|
const rect = dragEl.current.getBoundingClientRect();
|
|
31379
31455
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
@@ -31401,10 +31477,10 @@ function DnDGrid(props) {
|
|
|
31401
31477
|
addPointerDragListeners(onMove, onDragEnd);
|
|
31402
31478
|
}
|
|
31403
31479
|
}, [initReorder, onMove, onDragEnd]);
|
|
31404
|
-
(0,
|
|
31480
|
+
(0, import_react161.useEffect)(() => {
|
|
31405
31481
|
return () => removePointerDragListeners(onMove, onDragEnd);
|
|
31406
31482
|
}, [onMove, onDragEnd]);
|
|
31407
|
-
const onDragHandleKeyDown = (0,
|
|
31483
|
+
const onDragHandleKeyDown = (0, import_react161.useCallback)((e) => {
|
|
31408
31484
|
const moveHandle = e.target;
|
|
31409
31485
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
31410
31486
|
const isSpaceKey = e.key === " ";
|
|
@@ -31545,11 +31621,11 @@ function DnDGridItemHandle(props) {
|
|
|
31545
31621
|
}
|
|
31546
31622
|
|
|
31547
31623
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
31548
|
-
var
|
|
31624
|
+
var import_react162 = require("react");
|
|
31549
31625
|
function useDnDGridItem(props) {
|
|
31550
31626
|
const { id, itemRef } = props;
|
|
31551
31627
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
31552
|
-
const { dragItemProps, dragHandleProps } = (0,
|
|
31628
|
+
const { dragItemProps, dragHandleProps } = (0, import_react162.useMemo)(() => {
|
|
31553
31629
|
function initDraggable() {
|
|
31554
31630
|
if (itemRef.current) {
|
|
31555
31631
|
dragEl.current = itemRef.current;
|
|
@@ -32087,10 +32163,10 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
32087
32163
|
};
|
|
32088
32164
|
|
|
32089
32165
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
32090
|
-
var
|
|
32166
|
+
var import_react165 = require("react");
|
|
32091
32167
|
|
|
32092
32168
|
// src/components/Grid/useResponsiveGrid.ts
|
|
32093
|
-
var
|
|
32169
|
+
var import_react163 = require("react");
|
|
32094
32170
|
var import_runtime157 = require("@homebound/truss/runtime");
|
|
32095
32171
|
var __maybeInc28 = (inc) => {
|
|
32096
32172
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -32101,7 +32177,7 @@ function useResponsiveGrid(props) {
|
|
|
32101
32177
|
gap,
|
|
32102
32178
|
columns
|
|
32103
32179
|
} = props;
|
|
32104
|
-
const gridStyles = (0,
|
|
32180
|
+
const gridStyles = (0, import_react163.useMemo)(() => {
|
|
32105
32181
|
const gapCount = columns - 1;
|
|
32106
32182
|
const totalGapWidth = gap * gapCount;
|
|
32107
32183
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -32124,9 +32200,9 @@ function useResponsiveGrid(props) {
|
|
|
32124
32200
|
}
|
|
32125
32201
|
|
|
32126
32202
|
// src/components/Grid/utils.ts
|
|
32127
|
-
var
|
|
32203
|
+
var import_react164 = require("react");
|
|
32128
32204
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
32129
|
-
var ResponsiveGridContext = (0,
|
|
32205
|
+
var ResponsiveGridContext = (0, import_react164.createContext)(void 0);
|
|
32130
32206
|
|
|
32131
32207
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
32132
32208
|
var import_runtime158 = require("@homebound/truss/runtime");
|
|
@@ -32145,7 +32221,7 @@ function ResponsiveGrid(props) {
|
|
|
32145
32221
|
gap,
|
|
32146
32222
|
columns
|
|
32147
32223
|
});
|
|
32148
|
-
const config = (0,
|
|
32224
|
+
const config = (0, import_react165.useMemo)(() => ({
|
|
32149
32225
|
minColumnWidth,
|
|
32150
32226
|
gap,
|
|
32151
32227
|
columns
|
|
@@ -32158,14 +32234,14 @@ var import_react_aria73 = require("react-aria");
|
|
|
32158
32234
|
var import_runtime159 = require("@homebound/truss/runtime");
|
|
32159
32235
|
|
|
32160
32236
|
// src/components/Grid/useResponsiveGridItem.ts
|
|
32161
|
-
var
|
|
32237
|
+
var import_react166 = require("react");
|
|
32162
32238
|
var injectedResponsiveGridClasses = /* @__PURE__ */ new Set();
|
|
32163
32239
|
var responsiveGridStyleEl;
|
|
32164
32240
|
function useResponsiveGridItem(props) {
|
|
32165
32241
|
const { colSpan = 1, gridConfig } = props;
|
|
32166
|
-
const contextConfig = (0,
|
|
32242
|
+
const contextConfig = (0, import_react166.useContext)(ResponsiveGridContext);
|
|
32167
32243
|
const config = gridConfig ?? contextConfig;
|
|
32168
|
-
const { className, cssText } = (0,
|
|
32244
|
+
const { className, cssText } = (0, import_react166.useMemo)(() => {
|
|
32169
32245
|
if (!config || colSpan <= 1) return { className: "", cssText: "" };
|
|
32170
32246
|
const { minColumnWidth, gap } = config;
|
|
32171
32247
|
const className2 = responsiveGridItemClassName(config, colSpan);
|
|
@@ -32188,7 +32264,7 @@ function useResponsiveGridItem(props) {
|
|
|
32188
32264
|
};
|
|
32189
32265
|
}
|
|
32190
32266
|
function useResponsiveGridItemStyle(className, cssText) {
|
|
32191
|
-
(0,
|
|
32267
|
+
(0, import_react166.useEffect)(
|
|
32192
32268
|
function() {
|
|
32193
32269
|
if (!className || !cssText || typeof document === "undefined") return;
|
|
32194
32270
|
if (!responsiveGridStyleEl) {
|
|
@@ -32226,7 +32302,7 @@ function ResponsiveGridItem(props) {
|
|
|
32226
32302
|
}
|
|
32227
32303
|
|
|
32228
32304
|
// src/components/HbLoadingSpinner.tsx
|
|
32229
|
-
var
|
|
32305
|
+
var import_react167 = __toESM(require("react"), 1);
|
|
32230
32306
|
|
|
32231
32307
|
// src/components/HbLoadingSpinner.base64.ts
|
|
32232
32308
|
var HbLoadingSpinner_base64_default = "data:image/gif,GIF89a%80%00%80%00%E7%00%00%00%00%00%0D%0D%0D%16%16%16%1C%1C%1C%22%22%22%26%26%26%2A%2A%2A...222555888%3B%3B%3B%3D%3D%3D%40%40%40BBBEEEGGGIIIKKKMMMOOOQQQSSSUUUVVVXXXZZZ%5C%5C%5C%5D%5D%5D___%60%60%60bbbccceeefffhhhiiijjjlllmmmnnnpppqqqrrrsssuuuvvvwwwxxxyyyzzz%7C%7C%7C%7D%7D%7D~~~%7F%7F%7F%80%80%80%81%81%81%82%82%82%83%83%83%84%84%84%85%85%85%86%86%86%87%87%87%88%88%88%89%89%89%8A%8A%8A%8B%8B%8B%8C%8C%8C%8D%8D%8D%8E%8E%8E%8F%8F%8F%90%90%90%91%91%91%92%92%92%93%93%93%94%94%94%95%95%95%96%96%96%97%97%97%98%98%98%99%99%99%9A%9A%9A%9B%9B%9B%9C%9C%9C%9D%9D%9D%9E%9E%9E%9F%9F%9F%A0%A0%A0%A1%A1%A1%A2%A2%A2%A3%A3%A3%A4%A4%A4%A5%A5%A5%A6%A6%A6%A7%A7%A7%A8%A8%A8%A9%A9%A9%AA%AA%AA%AB%AB%AB%AC%AC%AC%AD%AD%AD%AE%AE%AE%AF%AF%AF%B0%B0%B0%B1%B1%B1%B2%B2%B2%B3%B3%B3%B4%B4%B4%B5%B5%B5%B6%B6%B6%B7%B7%B7%B8%B8%B8%B9%B9%B9%BA%BA%BA%BB%BB%BB%BC%BC%BC%BD%BD%BD%BE%BE%BE%BF%BF%BF%C0%C0%C0%C1%C1%C1%C2%C2%C2%C3%C3%C3%C4%C4%C4%C5%C5%C5%C6%C6%C6%C7%C7%C7%C8%C8%C8%C9%C9%C9%CA%CA%CA%CB%CB%CB%CC%CC%CC%CD%CD%CD%CE%CE%CE%CF%CF%CF%D0%D0%D0%D1%D1%D1%D2%D2%D2%D3%D3%D3%D4%D4%D4%D5%D5%D5%D6%D6%D6%D7%D7%D7%D8%D8%D8%D9%D9%D9%DA%DA%DA%DB%DB%DB%DC%DC%DC%DD%DD%DD%DE%DE%DE%DF%DF%DF%E0%E0%E0%E1%E1%E1%E2%E2%E2%E3%E3%E3%E4%E4%E4%E5%E5%E5%E6%E6%E6%E7%E7%E7%E8%E8%E8%E9%E9%E9%EA%EA%EA%EB%EB%EB%EC%EC%EC%ED%ED%ED%EE%EE%EE%EF%EF%EF%F0%F0%F0%F1%F1%F1%F2%F2%F2%F3%F3%F3%F4%F4%F4%F5%F5%F5%F6%F6%F6%F7%F7%F7%F8%F8%F8%F9%F9%F9%FA%FA%FA%FB%FB%FB%FC%FC%FC%FD%FD%FD%FE%FE%FE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%21%FF%0BNETSCAPE2.0%03%01%00%00%00%21%FE%11Created%20with%20GIMP%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%DD%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%EC7%80%80%C7%02%02%EC%0D%40%99%F2%E4%CA%92%2F%5B%E6%5B%99%B1%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%BB%B6%ED%DB%B8s%EB%DE%CD%BB%B7%EF%DF%C0%83%D7%0E%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FC%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF7%03%88%1E-Z%80%E9%01%04%0A%188p%00A%82%05%0D%1EH%A8%C0%964i%D3%02P%ABn%FD%9A%01%5C%DB%A3O%EB%5EM%17x%00%DC%A8%EF%1A%3F%0E%BA%B9%F3%E7%D0%A3K%9FN%BD%BA%F5%EB%D8%B3k%DF%CE%BD%3B%CA%80%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%20%03%88%160%80%40%81%03%09%16%40%B0%D0%A1%04%8C%1EK%B0%90%89%B3%87%D0%A2H%966y%0A5%AAT%29S%A7P%A5J%A5J%D5%AA%E3%C8Y%B1Z%15U%F4h%D2%04%0C%20X%F0%80B%06%11%2Cp%14%A1%22%06%0E%9FB%8D%2A%B7m%02E%EAT%AAU%AD%5C%BD%82%05%2B%96%AC%F7%B2f%C9%9FO%D5y%00%E8%A8%19%3C%60%5D%C2%05%8F%25Y%981%87%1F%88DrI%27%A2%94%82%8A%2A%E9%AD%D7%1E%7C%F1%CD7KU%F6A%27%9D%02%0EH%80%C1%07%29%D0%10%84%13%5D%ACq%C7%20%8CL%A2%09y%A7%A8%C2J%2B%EB%C5%E2%DE%7B%12NhU%85%A5I%B7%80%03%13l%20%C2%0A7%18AE%18o%ECQ%88%23%96p%12%8A%82%E8%B5%F8b%84%F2%7D%E5%9C%00%D0%15p%A1~%11P%60%01%06%1Al%D0A%07%1E%7C%00%C2%97%21%84%29f%08%A0%95i%E6%99h%A6%A9%E6%9Al%B6%E9%E6%9Bp%C6%29%E7%9Ctf%15%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%14%03%88%160%80%80%01%04%0D%26p%40%81C%89%965w%02%25z4%C9R%A6M%9D%3C%7D%FA%04%2AT%28Q%A3F%91%22U%AAxqS%A6N%9DB%C5%1CU%AA%E7%AA%A2%ABZE%FD%E8%E8%D2%06%124%A8%00%82%05%8F%27a%E4%D6%FCI%14%E9%12%A7O%A1%88%27_%0E%9D%3A%2BV%AD%E2%BB%9A%FF%EA%15%AC%FB%B0b%E9%8F%25%AB%BF%7F%A4%A2%05%20%80i%0A%3C%60%01%08-%F8%10%05%19t%00%B2%C8%24%99t%02%CA%28%A5%24%E7%5C%2A%D3%AD%F2%5E%7C%F2%D5g%1F~%FB%F1%E7%DF%7F%00%8A%86%5D%81%07%BA%F0%83%14%0C%06%C2%08%25%9Ax%22%0A%29%16b%E8%1E%7C%1C%D2W%1F%88%FB%8D%D8%DF%2C%B2%285%DA%80%D99%60A%08.%001E%19u%0C%D2H%25%9BLX%0A%7B%D3m%98%A3%2B%3B%F2%28%A2%8F%B3%00%F9T%80%A4%99%96%00%03%0FHP%C1%05%19l%C0A%07%1Dx%E0%C1%07p%C6%F9%01%08t%D6i%27%08%21%E4%A9%E7%9E%21%80%E6%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%0E%03%88%1EP%E0%00%83%0A%20%60%0C%C1%82%A6%CE%9FC%8C%1EE%9AD%A9%92%25K%970e%CA%A4I%D3%A6M%9C8u%F2D%FC%D3%27P%A0B%29%17%25j%94sR%A4JI%9F%5E%CA%94%F5S%D8%7F%8A%0E0%80%80%01%05%116%EF%A4%E0%21%A5L%1DA%8B%22U%CA%04%7C%B8%F1%E4%A1%98%3F%9F~%1D%3B%2AT%A9R%A9%DA%BF%AA%3F%AB%FF%AD%04%18%A0%2B%04%BE%F2%8A%2BA%05%20%00i%08%9C%16%02%0CFl%E1%06%1F%88%3C%B2%1Ep%9E%1C%97%9C%7C%A3%40%27%5D%7D%F7%DD%A7%1F%7F%FE%01%28%60%2B%04%BAb%E0%2B%B0%BC%92%A0%82%DE%29%00%81%06%27%E8%10E%19v%0C%D2%C8%24%98l%D2%89%86%F1%3D%17%DD%87%D8%9D%22b~%24%AE%F2%1F%2B%27%A6X%E0%8A-%0A%25%9A%00%04%98FAjFh%E1%86%1F%89Dr%89%8F%C7q%E8au%A6%D8w%E4~%AA%94%C8%E4%89%28%3E%C9%22%2Cp%C2b%D4%94%0C.%E0%80%04%15%5C%90%81%06%1Bp%E0g%07%80%06%DA%81%07%84%16Z%E8%07%88%26%AA%28%A2%204%EA%E8%A3%8E%82%26%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%08%03%88%1EP%00%C1%03%0C%26t%40%19%23%87%8F%A0C%8A%185r%F4%A86%A4H%B8%25%E9%9E4%89%92%EFJ%C0%2BY%1An%E9%92qL%982e%D2%C4%5C%D3%A6%E7%9C6q%9A%DE%A9%BA%A7%EB%D8u%8E.%DD%E0B%89%1CQ%CC%F2%D4%09%94%C8%91%24J%C2%8D_J%BE%9C9t%EA%D5%3Ba%FFD%FF%13%28P%A1%F2%87%12%C5%7F%94%FFQ%A4%04X%CA%80%03%9Ab%E0%29%A6h%17%C0%00%04%1C%C0%40%05%22%D4%B0D%18s%FC%91%C8%23%93Tb%9Cr%ED9%27%1D%7C%D8yR%DF%7D%F8%E9%C7_%7F%FE%05%28%20%81%06%1Ex%CA%8B%A7%28%28%00%01%06%28%20%C1%070%18%D1%05%1C~%20%82aq%ED%3D%F7a%7C%F2%898%E2%7D%26%A2%F8%9F%8A%04%B2%E8%E2%8B%A8D%89%CAN%DB%25%00%C1%06%2A%00%81%05%1B%7C%F8H%89%25%CB%7D%C8I%7C%F3%D9%87d%89%FB%9D%B8%E4%8AN%3E%09%A5%94R%FA%24%9A%00%A4%21%B0%C0%03%12TpA%06%19h%A0%C1%06%80%06%1A%28%07%84%16j%28%A1%1D%24%AA%E8%A2%8Bz%E0%E8%A3%90F%EA%01h%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%03%03%04%18P%E0%40%83%0B%25r%3C%11%03gO%A0B%87%10%25%9A%AD%A86%ED%DA%B8%15%CDN%A4%BB7%EE%DD%BAy%E7%BE%1D%5C%B8%EF%E0%BF%13%D1%0C%20%80t%82%07%1AR%F8%B0%92%06%8F%A0D%8D%1EE%92%C4%BD%BB%F7%EF%E0%C3%A7%8B%1FO%DE%FB%F2%D1%05%9EkX%01%C4%CA%9A%3C%83%149%8A4i%12%A5%FB%F8%F3%EB%DF%CF%1F%BF%FD%FE%00%F27%C9y%A4%21%F0%C0%06%ECa%B1%C6%1E%850%02%89%7D%95D%18%A1%25%14JXI%85%17Z%22%21%86%16%5E8%A1%86%19n%D8%21%85%20~%18%E1y%02%10%A0%9E%0A%40d%D1%06%1F%874%22%09%25%17%5Eb%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8D8%89%D6%1C%01%06%400%81%05%17%60%90A%06%1A4%E9%E4%93PF%29%E5%94TV%F9%24hXf%A9%E5%96%5Cv%E9%E5%97%60%86%29%E6%98d%96i%E6%99Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CD%01%02%08%20%60%40A%84%0E%2C~P13%87O%A0B%87b%CB%8Em%A8P%21B%84%06%09%DA%1D%A8%F7%9F%DF%7F%FC%F4%E9%C3%87%CF%9E%3Dz%F2%E0%C1s%E7%8E%9D%E7u%EA%D0%A13G%8E%9C8p%E0%BCq%D3%A6%3B%9B5%E0%D3%FE%88Gs%C6%8C%992%2CC%8B%1Ep%80%81%85%115%96%80%81%C3%A7%90%A2F%8F%20Az%C4%FF%91%23G%8D%04%C8%08%23%8B%2C%A2%88%22%89%24%82%C8%82%87%D4f%5Bn%BC%05%02%08%20%C1%F9a%21q%C7%21%97%87r%CDE7%1Du%D6e%97%DD%1B%DD%B5%14%DA%00%05%24%E0%00%06%27%EC%20%85%19u%00%82%08~%91Hbc%248%EE%E7%DF%7F%0062%20%81%08%2A%88%88l%0E%E2F%C8n%82%F4Fa%85%C3%19%A7%21%87%CEy%08%A2u%D8%C1a%A2%00%03%94%26%01%07%2C%04%91%C5%1Az%10%B2%C8%23%92L2%09%25fNrc%8E%FD%FD%17%A0%8F%05%1A%98%A0%82%B4%15%09%21oK%06G%9C%93%7Bl%98Gs%D0IG%5Du%E9%89F%40%7B%15%880%83%12_%C4%F1%07%22%8EHB%09%25%95T%3A%29%9Aj%AE%19%89%8En%0A8%A0%9C%092H%DB%83%10%2A%B9%E4%85%C5e%98%1Cs%80z%08ShNX%12P%C0%01%09%28%B0%00%03%0C4%D0%40%06%BC%F6%EA%2B%06%C0%06%8B%C1%05%C4%16k%EC%05%16%24%ABl%B2%154%EBl%B3%14D%2Bm%B4%13Tkm%B5%12d%AB%EDg%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BAj%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C9%01%02%08%20%60%40%01%84%0C%25j%24%D1%92%A6N%1FA%87%10%25%9A%8D%08%D1%A1C%85%0A%0D%12%14%28%D0%9F%3F~%F8%F0%D9%93%07%CF%1D%3Bu%E8%CC%91%03%E7%8D%9B6m%D6%A8I%83%C6L%192c%C2%84%F9%E2e%8B%96%2CX%AC%FET%A1%22%25%0A%94%27M%98%2CY%92%C4H%91%21A%80%FC%F8%D1c%87%8E%1C7j%94%14%3D%A0%00%02%07%16%8C0%83%11Z%A8q%87%20%894%F2H%24%92H%12I%24%90%3C%E2H%23%8C0%B2%08m%B8%11B%08o%80%00%D7%C7py%E4q%5Crr0%F7%06t%D2Qg%1D%19bl%E7%05%17%DEeq%85%15TLQ%1E%14N%A8%97%04%12%EE%11%21%84%7C%3E%F00Rh%A2%11p%C0%02%12p%B0%82%0FR%94A%C7%1F%884%12%C9%24TR%E9%60%24%12Nh%E1%85%B6e%B8%5B%20%1D%06%07%A2q%C9-%17Gsm%B0%91%E2%19%2B%8A%01%06w%5Ch%F1%DD%8C5Jq%5Ez%EC%F1H%C4%10%3F%FE%20Rh%02%08%D0_%02%A7%95p%C3%12%5E%C0%D1%C7%21RRR%C9%A3%95Pb%25%84YR%B8%88%22%89%D8fH%21%84%7C%19%A6pz%14wG%99r%9C%F9%9C%9A%D3%B1%89%5D%18%60x%F1%E2w%B4%E1%D1xc%8EK%28%91%C4%11F%EC%19%C4%90%82%1A%C9%40%05%20%C0%40%04%16j%E4A%08%23%91Pb%C9%25%CC%5EbI%A4%92%3A%18%A1%23Z%5E%9A%E9%21%9Bn%D8%1Bp%C1%ED%11%EA%88%CA%99x%EA%1A%2A%5E%97%5D%AB%5D%C4%18%5E%156F%F1%04%AD%EC%E1J%C4I%80%0E%40%40%01%07%24%A0%C0%02%0C0%D0%C0%BF%00%03%DC%2F%06%04%13%7C%C1%C1%07%5B%A0%B0%05%154%5C%01%05%10S0%C1%C4%13K%60q%04%18G%00%C1%C6%1B%3F%E0%F1%03%0E%84%EC%40%C0%FD%96%BC%C0%C9%27%2B%A0%B2%02%09%7C%E6%F2%CB0%C7%2C%F3%CC4%D7l%F3%CD8%E7%AC%F3%CE%3C%F7%ACV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C3%01%02%0C%20%60%00A%83%09%1AH%C8%10%22%25L%9B%3B%7F%0A%25b%E4%E8%91mG%8E%1A1R%94%08%D1%A1B%84%06%05%02%F4%C7%0F%9F%3Dy%EE%D8%A13%27%CE%9B6m%D6%A49c%86%8C%980%5E%BAh%C1r%A5%CA%94%28P%9A%FE0Y%92%C4%08%91%20%40%7C%F0%D0%81%C3%06%0D%191%5E%B8%60%A1%02%C5%89%12%25F%8C%00%01%C2C%87%0D%1Ah%90%C1%05%16T%80Qh%02%90%A6%80%03%14t%90%C2%0DH%60qF%1D%7F%20%E2%88%24%95Xr%C9%86%97XR%09%25%93H%12%C9%23%B91%B2Ho%86%00%27%08q%7D%EC%A1Gru%D0%21%87s%D1MW%9D%18%60x%C1%C5vVP%21E%14O4%B1%04%12F%14%21Dz%EB%B5%F7%5E%7C-%AC%A0B%0A%27%98%40%C2%08%21%F4%E7%1F%07%01bPQh%01%080%9A%01%098PA%07%28%DC%90%84%16h%D4%11H%22%8FPrI%26%9A%C4%99I%26%1D~%18%E2%88%25%9E%E8%5B%21%83%08%12%C8%1F-%EA%81%C7%1D1%CA%01%C7s%D2%A1qc%8E%3Bb%D1%E3%8FN%8CW%1E%11G%AA%C7%9E%7B3%C47%DF%93QN%29%02%08%1F%5C%B9A%06%5B%22HZ%98%15x%90%02%0Eg%AAq%87%20%EB%8BDR%09%26%9Al%C2%C9%26%9B%C8%B9%A1%87w%92%A8%9B%9E%BF%11%B2%22%A0%7C%08J%A8%8C%87F%A7%86%A2%D61%CA%A3%8FPD%3A%A4y%95%26%89i%0C04%C9%A9%94T%82%EA%1F%80%14%21%F8%E5%82%A9%AA%80%83%12%5B%AC%91%07%21%8CHr%89%26%9Ct%22o%27%9C%DC%AAI%26%98%D4y%27%24y%F6%16%EC%B0%C6%BDx%AC%A1%88%DA%D8%AC%8E%CF%FE%18%E4%90G%18%89%E4%A54d%FA%82%B6Pr%FBi%A8%1Dp%90%11%97%5E%12P%40i%09%28%B0%00%03%0D%94%EC%C0%C9%27%97%AC%F2%CA%0C%B4%EC%F2%02%16%C4%5C%60%05%15P%60%F3%048K%A0s%04%3CC%E0%F3%03%40%A7%5C%F2%CB%0B%14%AD%C0%D1%09%24%9D%00%02L%1F%E0%B4%D3%06Dm%40%01TWM%C0%D5%04%7C%A6%F5%D6%5Cw%ED%F5%D7%60%87-%F6%D8d%97m%F6%D9h%A7%ADV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9s%C4%00%01%F6%82%0E%20%20%B4%5E%D2%A4%09%188%80%80%01%84%0A%1AD%A8%A0%01%84%09%961m%EE%FC1%B4%E8%D1%24K%972i%D2%B4i%93%A6L%99.Y%B2T%89%D2%24I%90%1E9b%B4%28%11%A2C%85%06%05%FA%E3%87%CF%9E%3Cw%EA%FE%CC%89%F3%A6%CD%9A4f%C8%8C%09%E3%85K%96%2BU%A4%40q%C2D%C9%11%22B~%F4%D8%91%C3%06%8D%180%B8%C0%82%0A%28%98%40%C2%08%21%7C%E0A%07%1Ch%90%01%06%16T%40%C1%04%12D%00%C1%03%0F4%D0%C0%02%0B%28%E0a%02%08%20%20P%00%03%0CP%C0%01%09%B8F%81%06%21%AC%60%C3%10Pla%86%1C%7B%10%B2%88%24%97h%D2%09%28%A2%8C2%0A%29%3E%8E%22%8A%28%A0%80%F2I%27%9Cpr%1C%26%974%27I%24%D2Q%97%08v%84l%D7%9D%1Ex%D8A%87%1Cp%98%97%C6%19e%88%01%86%17%5BdaE%7CP4%B1D%12F%0C%01%84%0F%3C%E4p%03%0D3%048%60%81%07%86%00%C2%82%0DfpA%84%13Vx%A1%03%1A2%D0%E1%87%00%90%A8%1A%02%0B%3C%40A%06%20%A4%20%C3%0FKdA%06%1Cz%0C%B2H%24%96l%F2I%28%A2%90R%CA%A8%A3%92%02%A4%28%A1%18%E9%09%92%C6%25g%89s%FE%D09%D2%08%23%D6%19B%88%20%DBy%07%9Ex%E4y%99%5E%18_t%A1%05%16VL%21%05%7D%F6%E1%A7%9F%0E8%D80C%0C%2F%B4%B0B%0Ax%22%A8%60%07%1B%3C%F8g%A0%12%400h%03%86r%E8a%A2%27%26%D0%40%04%17x%60B%0C%3D%24aE%18m%E0%11H%22%9Cn%E2I%A8%A3%9Ar%8A%29%FC%9AR%AA%90%A9~%B2%AA%92%99%60%C2%1C%25OJ%D7Hu%88%14r%2B%20Wf%B9%25%1Cn%B0%A1%06%98c%8C%B9%85%16%F0%C9%E7%C4%9Am%02%D1%03%0F%CC%D6%20%83%9D%2A%A4pB%09%23%88%00%C2%07%0C%3A%08%A1%84%14Z%08%01%A1%E0%8A%AB%00%00%02%A4%F8%DA%06%23%B4%90%83%11S%7C%A1F%1D%7F%20%F2H%25%9E%E2%7B%CA%29%A8D%8D%CA%D3%FC%96r%2A%AAF%B2%BA%E4%AB%CFE%B7%B0%22%D7e%B7%5D%1F%DF%857%B1%AFd%00%DBE%99%C5J%F1D%13%C9%06%A1%DF%0E%CD%D2p%B2%B4%04%9AP%82w%08%09.%B8%81%06%18l%3BA%CD%DF%86%DB%E1%88%A4%090%00%01%04%14%B0Z%02%0A%2C%C0%00%03%0D8%E0%00%86%98g%AE9%86%96wn%B9%86%A0%83%3B%F9%E8%1C%96%EE%E1%E0%83KPa%046c%FE%B9%E8%86%7F%98%00%88%21%1E%60%FB%01%06%E4%5E%C0%EE%BB3%CEx%89%C0%03%2F%C0%F0%C4%97%06%9Ag%C8%27%AF%FC%F2%CC7%EF%FC%F3%D0G%2F%FD%F4%D4Wo%FD%F5%7B%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1c%AD%01%FAF%0E%40yo%00%01%98%23%E7%0D0%A03%01%02z%03%140p%E0%80%01%BD%02%12%28%60%E0%80%81%5E%02%0F%24P%B80A%EF%81%0C%1CB%94%F0%A0w%01%8A%163t%B8%D0%1B%C1%07%91%25R%84%E8%D5p%C5%0B%994V%F4%8ExC%27%8F%1F4z%5B%0CB%B4%E8Q%1D%BD6%26%FEY%CA%B4%E9%8F%5E%1F%9EB%89%22eH%AF%10S%A7R%A9Z%A4%D7%08%2BV%ADZ5%D2%9B%C4%D5%AB%FF%8E%E8%A5D%2C%04%C6%F2%88%80%B2%24%28%CB%2B%AA%A8%92%CA%83%A8%A0r%CA%84%A6%94ba%29%A4%8C2%8A%28%A1%80%02%8A%27%9Et%C2%89%26%99%60r%89%25%95L%22I%24%8F8%C2%C8%22%89%1Cb%08%21%82%FC%E1%07%1Fz%DCa%07%1Dr%C0%D1%C6%1Ai%98A%86%18_p%A1%05%16UH%F1%04%13K%20a%C4%10%40%F4%A0%03%0E5%CC%10%83%0B%2C%A4%80B%09%24%8C%10%C2%07%1Dp%A0A%06%17TP%01%05%13D%00%C1%03%0E%B4%C6%C0%02%0A%24%90%00%02%08%94V%9A%01%05%E4%F9%D9g%00%2C%A1%E0%9F%05%C2%02%CB%7F%AE%E4%97%1F%2B%AB4%98J%84%A7T%98%21%87%A0%7C%22%E2%26%99%9CH%C9%24%91%40%E2%22%8C%87%14%22H%207%EA%81%87%1Ds%C4%F1%06%1Bj%9C%21d%18%5E%1C%99%24%14%FEM4Y%84%10%3F%F0%A0%C3%0D4%C8%00C%0B%2B%A4p%82%09%24%7C%E9A%07%1Bh%80%81%05%15L%20%81%9A%0F%B0%D9%C0%9B%0AD%3Bg%9D%A6%E5Y%C0%9E%A0-1%CB%2C%7F%CA%12%A8%A0%AF%B8Rh%2B%F7%AD%92%28%84%8Db%B8a%87%9Fx%C2%C9%26%24%A2%A8%22%8B%8DpZ%08%21%81%FC%C1%C7%1E%A3%F2%E8%23%90%AB%B6%8A%85%15SD%E1%C4%12I%3C%19%E5%94U%C6%F0%02%0B%2A%FCJ%82%08%20%80%B9A%06%18%94%89%A6%9Ak%3A%F0%2C%B4q%D2Y%27%9Ez%EE%D9%E7%B6%DC%2A%F8%ED%A0%E1%8E%5B%AE%83%8B%A6%FB%28%BB%21%8EX%A9%25%94%AC%F8H%23%8C%28%82%C8%8C%F9%F6%B1G%1Ew%D4%D1%A3%1B%00%93%C1%2A%17YXA%85%92%08%1BAD%10%3E%EC%80%83%0D3%C8%F0B%0B%2A%A0%00%AC%08_%86i%EC%05%C8%A6%19A%04%CE2%00%B2%02t%DAi%ED%B5%7Cj%8B2%A0%04%82%DB%B2%A1%88%2A%2Aa%A0%85%18%8A%02i%CD%94Z%8Ai%8B%2F%C6%E8%29%207%12%5D%07%1D%A6%A2z%C6%90_t%A1%C5%15%AF2%A1%C4%11%B3%D6%9A%83%0D4%C4%00%83%0B%BD%9EP%82%97%1F%0C%7B1%D9%C9.%DBq%03%CF.%00%27%DBmW%5B2h%05%9C%CD1%04%B8%E7%AE%FB%EE%CD%F6%EE%3B%9Bm%06%EF1%EB%AC%ABm%BC%EB%AEG%AB%BC%9Cr%E6%DEl%9B%C4%AB%9D%BC%B4%D3Rk%9A%01%D8%BF%8Dmg%DC%0F%80%D9%F7%99Q%26%FE%F8%E4k%F6%D8%F9%E8%A7%AF%FE%FA%EC%B7%EF%FE%FB%F0%C7%2F%FF%FC%F4%D7o%FF%FD%F8%DF%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%85%06%000xo%80%C3%87%F5%06%18%C0X%40a%BC%02%0AH.%40%40%EF%80%04%98%13%18%D0%5B%00%82g%08%0C%F4%22%D0%B0%A1%F4%04%BD%0DV%B0%60%B1%E2%83%5E%0AB%86%C8%86%A1%D7%03%97%DB%5C%8A%E8EAg%8E%EF%2Czg%1C%1A~%28%8D%5E%1E%95%2AY%B2tG%AF%10P%D0A%01%D2k%E4%94%F5S%86%F4%26a%C5%9D%95%22%BDK%5E%FE%B9%1A%DF%08%3C%2CX%AF%5E9%D2%CB%24%96%7BX%EB%F32%91%25%CB%FD%23%F6%F4%EB%DF%97%9F%3F%D6~%BC%F3%D5%E7%1F~%F4%0D%C8_%81%FF%DD%15%A0~%04%DAG%20%83%07B%08%60%7F%09%DA%B5%04%85%E0a%98%D7%85%08f%D8%E1%86%05%C6%E2J%2A%A9%A0%82%8Au%A6%94%A2b%29%A4%8C%22J%28%A1%80%F2%89%27%9Dp%B2I%26%98%5CbI%25%94H%12%C9%23%8D0%A2%08%22%87%14BH%20%7F%F8%B1G%1Ev%D4%21%07%1Cm%AC%91%86%19d%88%01F%17Z%60Q%85%14O0%B1D%12E%08%F1C%0F%3A%D8%40C%0C0%B8%B0B%0A%26%900B%08%1Ft%C0%81%06%19%5C%60A%05%14H%10%81g%0E4%C0%C0%02%0B%28%A0%40%02%08%1C%60%E8%01%06%18%20%19%01%8C%12%C0%D8%A3%02D%0A%00%87%EE%BD%87%9Ex%ADd%CA%CA%2A%AB%A8R%E2%89%29%B6%F8%E2%8C5%DE%A8c%8F%3F%069%A4%21G%FE%D1%C7%1E%FEx%D8AG%1Co%B0%A1%C6%19f%8Cq%A5%16WP%21%05%14M%28q%04%11A%F4%B0%03%0E6%CC%10%83%9A%29%9CP%C2%08%22%80%E0%01%07%1Bh%80%C1%9D%13%E8%19%C1%03%0E%FC%09%A8%A0%98%15%8A%E8d%8D%3A%FA%E8%00%91%0A0i%7F%96%A6%E7J%A6%ADl%DA%E9%A7%A7%84%EAb%8C4r%A2I%26%A7%FA%08%24%23%89%20b%24%92%AF%C6J%87%1Co%B4%A1%06%1Ae%E8%8Ae%AF%5C2%21%2C%11%40%90%89C%0D%CA2%7B%82%09oJ%DB%C1%06%19%60pA%05%D9J%00%01%B7%0Cx%0B.%02%E2%2A%BAh%B9%E7%A6%BBn%88%B1%9C%E7.%BC%DC%CDkb%BD%2C%DEK%AA%BE%FCZ%82%EA%BFC%0E%EC%2A%AC%B2%3E%A90%C3b%7C%C1%85%16V%F8%DA%E5%C4%15%EBp%F1%0Ci%AE%E9%2C%B4%1E%83%7C-%C9z%9E%DC%A7%9F%81%0E%CA%B2%A1.S%D6h%CC2s%28%E0y%97%8E%A7%29%A7%9E%96%C8%B3%A8%A1%7C%F2I%87%A9A%0F%DD%C8%22%01%1B%5Dp%1D%07C%B9%C6%19e4%8De%D4%11%0B%3BD%C5%C7%26%9Bu%0A%28%3C%1BB%D7%21%8F%9C%ED%9E%DC%F6%A92%A1-%93%BB6%DB%EAv%F6%D9%E9%A8%7B%F6%C0%EA%AC%B3%EE%C0%EB%B07%20%FB%EC%29%A7%0C%E8%ED%82%82%9B%19%CBg%1B%2A%BB%ED%DF%0E%1A%AE%B8%88%26%3A%99%DA%A3C%9An%BA%885%EF%BC%F3%81E%2F%FD%F4%D4Wo%FD%F5%D8g%AF%FD%F6%DCw%EF%FD%F7%E0%87%2F%FE%F8%E4%8B%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%9F%06%0007nB%01%02%02%E8%B5k0%C0%00%02%80%07%E0%D5%5B7n%80%03%0A%10%208%60%A0%00%81%01%03%0A%C7%3DPA%C2%03%07%0C%16%24%40%60%40r%DC%05%23%3Ch%B8P%B9A%01%BE%04%25%D8%80%A1%A2%04%08%07%9E%F9jx%82%04%88%0E%13%A8%0D%8E0%03%26%8B%14%1C%B9%0B%B6%D8S%07N%9A%25%C1%09%D6%60%84h%90%1F%2F%C9%07%F2%D0tI%92%237%D1%05%0A%19%15%AA%D3%26%3D%D9%01%FE%14Iu%AA%D4%28A%E1%91%B4b%B5%2A%15%A2%F0J%5E%B9j%D5j%11%7CX%B0%E47%0A%BF%24V%2C%FC%8E%F0%27%8B%2C%FF%05%98%DD%12%03%FA%F7HxL%24%18%CB%82%07%3A%08at%08%12%F8%A0%80%16N%98%5C%83%192h%21%2C%1A%06%D7%A0%7F%17f7%A2%82%1E%92%18bnL%F8%07%20%83.%C2b%60t-%FE%27%23%8C.%CE%98%5C%7F6%EA%28b%8C%3E%B2%08%24%7FC%1Eh%E3%2B%FB%1D%88_~IR%B8%24%92%FC%3D%D9%E4%8E%F8%BD%02%A5%92%F9%5D%E9d%96S%06%B7D%96%AEt%99%5B%7CV%BA%C2%08%7CV%CAwfvd%BA%12%26%9A%F2%99%19%5E%12e%B6%B2J%29x%922%8A%28%A2%84%02%CA%27%9Ex%D2%09%27%9Bh%82%C9%25%96TB%89%24%91%3C%D2%08%23%8A%24r%88%21%84%04%F2%87%1F%7C%E8%81%87%1Dt%C8%01G%1Bk%A4a%06%19b%80%E1%85%16XT%21%C5%13L%2C%91%84%11%FEC%FC%D0%83%0E7%D4%20C%0C%2F%B0%A0%C2%09%25%8C%20B%08%1Ft%C0%81%06%19%90V%01%05%12D%00%C1e%0Dd%A6%80%02%9B%29%B6%18c%05T%EB%18%60%8FA%06%19%5E%DC%E2%05%40%9B%F4%AD%C7%9E%2A%A9%A0%82%CA%29%A6%E4%D9%E7%9F%82%16%9A%C9%25%95L%C2%A8%A3%8C%24%82H%21%84%08r%E9%1Ey%DC%D1%29%1Cn%84%3Aj%18_p%91%85%15SH%01E%13J%1CA%04%10%B3%E2P%C3%0C%B8%EA%8A%82%09%24%88%00B%B0%C3bp%81%05%15L%90%EC%B2%0E4%BB%C0%02%D0J%CBXc%D6b%9B%AD%B6%DDr%FBm%9C%E1%B22n%B9%A7%A0%5B%8A%9E%EB%02%EA%9D%A1%89%CA%0B%89%A3%8BH%8A%AF%A5%7D%F0%CB%A9%A7%A0%A2a%C6%18ax%B1%05%16%08G%C1%EA%ABC%40%AC%83%C42%C0%E0%C2%0A%29%F0%3AB%08%1Bw%B0%81%06%18X%60%01%05%22%2B%CB%AC%C9%29%2Bv%00%B5%D5b%AB%ED%DD%82%C5%0C%00%FE%9D%F3%D1g%F3%2A%AB%90%7B%AE%CE%3C%FB%F9%C9%A0%85b%12t%24%908%C2H%D1%87%14%22H%20%98jZG%A7o%80zF%19%A5v%A1%C5%15%AA.%BC%04%12E%08%F1%03%0F%B4%D2%D0%F5%D7a%F7J%F6%07%1Cl%90A%DA%21%27%ABl%C9%26%A3%1C%F7%DC%2C%D7m%F7%DD1%7B%CBw%CD%E3%0A%AE%F3%CE%3D%0BJ%E8%BB%96%2C%DA%A8%E3%8A%20rH%BE%80%60%DAo%1Ds%C4%E1%06%1B%A2%92A%B0%E7VP%B1%2A%13J%90%1E%84%0F%3B%E4p%83%EA%2F%B4%B0%C2%C5%19%03%EB%81%D9%C5%AE%DD%F6%B2%0F4%D0%C0%C9%28G%3B-%CB.%7B%D9%B6%82%27%00%00%14%00%02%08L%E0%03%16%C8%40%06%3A%E0%81%10%C4%9D%FE%F4%C7%80%0Af%86%7F%BA%7BV%026%E8%3F%B9%CDme%06%60%99%067%E8A%DE%85%D0Z%D7%0A%0C%DE%F2%D6-%C2%B8%F0%850%0C%8F%0CgH%C3%1A%DA%F0%868%CC%A1%0Ew%C8%C3%1E%FA%F0%87%0D%40%0C%A2%10%87H%C4%22%1Aq%25%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%89%01%02%9C%AD%18%40%40Z%B5%00%E0%AE%5D%18%A0%80%01%02%04%06%08p%9Bv%AE%C2%00%0B%228Pp%E0%EE%00%BDr%FD%16%0CP%21%C5%08%0E%15%200Hp%20%AFb%84%1D%964%09RC%05%88%0C%13%1E%28%18p%D9%A0%860x%DA%88%B1%B2%A4G%8C%13%1E%1A%24.%0D%21%8D%25H%88%FC%D0Q%F3EJ%11%12%05J%13%2C%E0%25%14%29P%9A%285%2A%C4G%0E%94%08%C2%07%06x%02%AA%D5%AAT%A5Du%C2%24i%8F%8C%E8%03k%FEX%82%05%EBU%2BV%AAN%91%CAD%854%F8%0E%85d%C9%8AE%FE%95%ABV%A8%E64%00%0F%E0A%1EX%F2%C9G_y%84t%C0%9F%40J%CC2K%80%F3%C5rI%0E%07%0E%94%C4%82%0C%8A%22%C5l%FC%25%C1%20%2Bi%1C%10aAJ0%08%C9%87%06%85%18%E0%88%24%12%B4%84%88%29%AA%18%60%2C%8F%B48%D0%8A%02%C6%28%23%00%26%CEg%A3%8C%26%C6%02%E3%8D%00%AC%E8%23%2C%8E%00%29%24%7DE%DE%B8%84%8F%F4%ED%D8%E2%92C%3A%99%22%94%E4%25%29%23%95D%1A9d%96J%0E%08K%23F%D6%F7%0A%98J%8AI%E6%95f%86%F9%8A%7Dg%3E%B9%A6%2B%AE0b%E4%9Bq%CE%09g%2Br%2Ay%27%9EF%DE%D7%0A%9Fz%FE%D9%CA%22%7D%0AJ%E8%8DJ%08%CA%CA%A1%3C%FE%C9%CA%A2%40%26z%1E%2B%8AD%EA%E8%2A%95%DE%88%C4%A3%AC%AC%92%08%90%9Bv%EA%29%A8%8F%AE%A2%CA%A7%9A%AEb%AA%2A%88%80%AA%AA%2A%FE%A9%B4%9A%AA%2A%B0%CA%2A%23%12%A6%A6%12%2B%90G%D0%9A%0A%2A%87%00i%84%AE%A8%00%2B%EC%AF%A8%9Cb%C8%B1%C5%2A%0Bd%11%BF%9EbJ%21%CF6k%0A%29%9Dp%B2%C9%26%9Adr%89%25%95P2%89%24%91%3C%E2H%23%8B%24%82%C8%21%86%10%22%08%20%7F%F4%B1G%1Ew%D8A%87%1Cp%B4%C1%86%1Ah%981F%18_p%A1%05%16VL%11%85%13L%2C%91%84%11C%00%E1%C3%0E9%DCP%83%0C1%BC%C0%82%0A%28%98P%C2%08%22%80%F0A%07%1Ch%90%01%06%17TP%C1%04%12D%00%C1%03%0E8%D0%C0%02%0A%24%90%00%02%07%14V%00%5Ez%F1%F5%16DE%24kJ%29%A5%902%8A%28%A1%80%F2%89%27%D9n%92%09%26%E0RB.%24%8E0%92.%22%ED%0A%F2%87%1F%7C%CCk%2F%BEn%EC%7BF%19%FFz%C1E%16VP%21%05%14O0%91%C4%11D8%0C%F1%0D4%C8%00%83%0B%17g%BCq%08%20x%00%B2%FE%C8%24W%40%01%CA%2A%B3%DC%00%030%2B%10%B3%CD7%E7%95%B3%CE%0F%15q%8A%B4%40%93Bt%D1%9F%24%DD%ED%B7%95%8C%5B.%BA%EA%1ER%88%20%81%F8%21%2F%BDu%CC%01%C7%1Bm%AC%91%86%19d%00%DC%85%16WTa0%C2J%1CQ%84%10%3F%F0%A0%03%0E5%C4%FDB%0B%2B%A4pB%09%24t%AC7%07%1Bh%40%B2%05%7F%A7%1C%B8%CB%2F%1B~%B8%01%D4%27%9E%D7%5E%D8c%88%90%E3%3F%07%3D4%E5Hk%AB%09%D3%E1%92k.%23%8A%24%E29%21%81%5C%CD%87%1Exl%0DG%D7i%A0%016%18%5DlA%B6%D9O4%A10%C3n%8BX%DC%E6%C6%82%14d%8C%04%23%08%C1%07%3C%80%BC%E4a%C0%02~s%DE%CAZ68%98%CD%8Cf53%40%016%A88%EC%F1%A5%21D%80%9C%D0D%21%0A%A3UN%7C%DE%0A%D7%24%CAu%AE%A9%19%E2s%A1%CB%1A%E9%E6%10%07%D4%A9%8Eu%00%13X%ECf%C7%04%25%20%A1%08%84A%C8%DD%EEj0%83%8A%01Ox%1B%EB%D8%02%917%B2%0B0%0Fp%13t%19%E1%2Cx%C1%0Cn%F0f%87Y%DC%CE%16B%80%07%B0%ACe%60%A4%60%03%C68F%06%98%D1%8C%0BHc%1A%A5g8%99%B9%11%01p%84c%CD%E6H%BD%3A%5E%91%83x%21%C0%1C%0BS%BD%3B%E6%11gY%CC%A2%07%B3%F7%96B%1A%B2%2F%40J%A4%22%17%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9N%C6%24%20%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%2B%C4%00%5E%3F%0A%18%1B%A0l%D8%8C%04%0E%14%180%40%80%D9%B3%15%0FP%90%C0%00%C1Z%B2p%27%2AX%21%A3%84%86%08u%0B%10%18%006%EF%C3%03A%C6P%19%22%83D%06%BA%07%06%18~8%60%C9%A0%40t%C8P%11%12%83%84%06%07%92%277%1C%22%89S%25F%81%E6%90%91%12D%C5%02%D1%0DO%28JeJ%94iF%7F%E4x9%21%00%F6%C2%0C%7DZ%B5Z%95%AA%94mJ%89%AC%28%F0%AD0%01%1AU%AF%5C%B5b%B5%0AU%29Py40O%28%C0J%29X%AF%A2%FE%0Bg%A5%2AR%8D%ED%09%81h%82%05%3E%BC%F4V%A0%B2%F4Fo%B0%04%22%F6%EC%DD%BBJ%15%E75%FD%82%12%E8%F1J%2C%F8%85%F7J%2B%81%5C%F0_A%06%90%A1J%2C%10%E6%17%DD%23%2B%2CHP%00Q%88B%20~%EDu%E2%84%85%04%D5%60%09%84%1B%B6w%8A%18%04%80%28P%07%84%90%18%21%7B%AD%E0%E1%80%8A%008%80%C7%2B%B2%90X%60%21%1E%D0%28P%12%B2%E4%A8%23%2C%97%E0%E0%E3%40H%08I%A2%28Q%14v%24%00H%E8%B8%0A%1A%07%3CIP%12%2F%3AbeAQn%A8%E5%96%03%25%C1%E1%97%60%02%20f~%8D%94%F9%A3%84i%AA%29%A6%81m%96%89%84~q%82%99Dt%D21%A2%A6%99%AE%BC%A7%A7%9B%7D%0A%F7%A7%9C%EF%B5%B2%C8%9EH%087%DD%A1n%8E%C7%0A%A3e%26%E1%A8%22%88%B2b%E9%2A%89T%BA%CA%A6%99%AA%89%04u%AB%A8%D2%A9%9C%A1%AA%A2%0A%22%88%86%9AJ%2A%A8z%AA%CA%AA%FE%A8%B4%2A%27%AC%A8%1C%B2%E7%11%A9%A0%82%CA%29%86%DC%AA%EB%29%A6%F4%AA%E6%11%BB%9AbJ%21%7B%1A%01%AC%29%A5%20%AB%A6%11%C6%96B%0A%21%7B%16%C1%2C%29%A4%0CR%AD%B4%A4%8C%22%C8%B6%DD%8A%F2%AD%9AD%84%1BJ%20%7B%0E1%CA%28%A1%9C%BB%A7%10%A2%88%12%0A%28%80%EC%19D%BB%A0%7C%F2%87%BD%F9~%E2%89%1F%7B%02%91%AF%27%9D%00%AC%26%10%FEz%C2%09%1F%01%7BB%F0%26%0C%AB%F9C%27%9Dp%B2%C9%1E%7B%F6%C0%89%C5%9A%E8%91%F1%26%9Bh%82I%1E%1Fk%92%C9%25x%EC%C9%83%C9%97Xr%C7%9E%3B%9ClI%25%920%B2H%22%88%1CbH%21%84%08%12%C8%1F~%F0%B1%87%1Ex%D8Q%C7%1Cr%C0%E1F%1Bk%A8%91%86%19d%8C%11%06%18%5El%A1%05%16VP%21%05%14N0%B1D%12G%14%21D%10%3F%F0%A0%03%0E7%D40C%0C0%BC%D0%C2%0A%29%9C%60B%09%24%8C%10%02%08%1Et%C0%81%FE%06%19%60%60A%05%15L%00A%03%0A%24p%80%01%83%B55%D2%0E-WB%C9%24%92%40%F2H%236%E3%7C%08%CF%3E%03%DD%C7%1Ey%DCQ%07%1DI%C3%D1%06%1BN%9F%11u%18%5ET%9D%C5%15UL%21%C5%13M%2C%A1%04%12E%0C%11%84%0Ff%A3M%C3%DA%2F%B8%C0%02%DC%28%CCM%82%08%20%7C%90%F7%06%7C%FB%1Dx%04%0F4%B0%80%E1%82%B5%E5%E4G%3A%CC%FCx%24%91%3C%E2%88%CD%8A%E4%8C%F9%CFAs%EE9%E8q%BC1%BA%D3f%94%21%F5%17%5Dh%B1z%EB%AF%7B%3D%BB%11%B6%E3%AEC%0Ei%F3%EE%BB%0A%29%04_%C2%08%22%08%C1%07%F4%B6%B7%BE%5D%A0%02%14%98%80%04%20%E0%00%06%28%00%01%06%88%9E%5BB%A2%03%C7ANr%8Eh%C4%CD%BC%D73%F0%09%ADs%9F%93C%1CDG%3A4%40m%7D%ED%C3%9A%15%A6%10%85%27x%0DlF%18%9B%FD%F0%A76%B6%ED%2Fns%03%A0%00%F3%C6%01%E4a%E0%02%B5%7FK%E0%02%1F%C0%80%E7A0q%13%FCH%0E%28%21%89HH%AE%11%1A%B4%DC%F7%80%264%3D%8CO%84%24%5C%C3%D3N%E7%85%14Z%A1u-%8C%1D%D8jw%3B%B3%D1pm0%B8%A1%DC%FEG%3C%E3%E9%0Dy%7D%0B%E2%04%26%10%01%066%80%01%09%40%C0%E1%06%E3%96%B7p%84%00%0C%08d%20%17%40%C8B%2A%E0%90%88L%80%22%15%89%80F%3A%F2%00%90%8C%A4%01%26I%C9%08%16%E0%92%98%24%80%267%998%B6%0C%C0%92%98%14%0C%27%3B%E9I%B6%8C%E5%94%7D%2C%CB%F4%F6%C4%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%F2%96%B8%CC%A5.w%C9%CB%5E%FA%F2%97%C0%E4I%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%95g%80%00UO%0E%18%20%00kV%91%01%10%280%40%80%EB%D5%AF%1F%1Dt%B8%E0%20A%01%B3%5E%D1j%BC%10%E4%07%8B%0E%12%16%1C%20%20%40%80%5C%8D%14%BA%C8%F9%B2%C4%06%09%0C%0F%DC%FA%FD%7B%D1A%99I%8A%F6%A4%B1%12%C4%C5%07%0A%08%E22%9EX%00%0B%A7P%9A%20%0D%A2%13%86%09%0E%0F%066W%0C%D0%A4%93%AAS%A3%3AUR%C4gM%93%0A%AA%2B%C6%90%D4%8A%D5%2AT%A5%40G%F2%E3c%40%EE%89%1B%02%B5Z%EE%3B%95%A9Q%9B%C8%2C8.qA%1BU%CB%7B77%D5g%03%F5%88%04%B6%FE%90%CA%CE%7C%95%2AH3%BEGD%D2%C9%15y%ED%9A%8E%A8%87x%82%91%2B%F7%E4Y%91%2A%93z~C%0C%7C%B4%82_v%AC%A4%A2%C7%04%FE5%94%C0%19%A8%BC%C7%CA%83%88%84%90%20C%02X1%CA%80%CC%B1BI%0E%132%F4C%26%18j%07J%16%8Bu%88%10%09%86%DC%97%1F%2B%A7%C01%9D%89%08Ip%87%80%2B%AE%F2%C7%050%22d%80%18%A7%84%F8%20%23%2B%E4xP%00N%7C%F2%9Ev%9B0%21%E4A3L%A2%22%81%FA%81A%C0%92%05q%A0%1C%86%0F%A6R%87%03T%12%E4%80%1D%AB%F8%B8%8A%20%1DtY%D0%11%3Ejh%83%99%06%19q%A4%27Nh%C6%A6%40Edh%0A%19%FD%CDY%90%9B%0F%B2%B2%88%9E%08%15%D1%E7%2A%8A%00z%90%11%AB%24%BAJ%22%86%B6i%9E%2A%AA0%DA%28AE%3C%9A%0A%22%93R%AAJ%2A%A9%A0%82i%A6tr%8A%8A%A7%A0%D29%2A%2A%A7%18R%2A%00E%A0z%8A%29%FE%AA%96J%C4%AB%A6%94R%C8%AAD%D4ZJ%29%84%AC%3A%C4%AE%A4%902%08%AE%A5%902%CA%28%82%F8j%AC%28%A2%24%5B%AA%10%A3%88%12J%28%81%AC%2A%84%B4%A1%80%02%C8%AAAd%0B%CA%27%7Fp%FB%C9%B8%9E%F8%21%AE%27%9Et%D2%C7%AA%40%A4%DB%09%27%7C%B0%FB%EE%26%9B%EC%B1%EA%0F%9Cl%A2%89%26z%AC%EA%83%BE%99%60%92%C7%AA%3D%04%7C%89%25w%10%7C%B0%25%95%D8%B1%2A%0F%0CSBI%1D%AB%EEP%09%25%93HB%C7%AA%3AL%92q%24s%AC%9A%83%24%91%40%F2%88%1C%AB%E2%10%C9%23%8F8%02%C7%AA7%B4%DC%08%23n%ACjC%233%2F%D2%C6%AA50%B2%88%22%89%AC%B1%2A%0D%40%23r%88%1A%AB%CE%60%F4%21%85%A4%B1%AA%0CL%13B%88%19%AB%C6P%08%21%82%08R%C6%AA0%0C%22H%20%80%90%B1%EA%0B%60%FF%E1%87%18%AB%BA%60%B6%1F%7C%80%B1j%0Bl%EF%A1%87%17%AB%B2%B0%C7%1Ey%E0%D1%C5%FE%AA%2A%E4%91%C7%1Dv%CC%D1F%1Bl%AC%91%06%1Af%94A%06%19c%84%01%86%17%5El%A1E%16X%5Ca%05%15RD%01%85%13M0%B1%84%12H%1CQ%C4%10A%00%F1%83%0F%3C%EC%90%03%0E6%D4%40%C3%0C1%C0%00%83%0B-%B0%B0%82%0A%28%A0p%82%09%24%8C0%82%08%20%7C%E0%01%07%1A%60P%81%04%0F%2C%80%C0%5E%5D%C9y%92%0A%80%D7A%C7%1Cr%C4%01%C7%1Bm%ACa8%E2f0%EE%B8%17%5Dp%219%16VT%81%B9%14P%3C%D1%C4%12K%24%81D%11D%90%0E%04%EA%3B%E8%80%C3%0D6%BC.%03%0C%2F%D0n%7B%0A%29%D0%9D%09J%F0%BB%10%80%C0%03%1D%D8%80%06.%40%81%084%40yo%B9%CAYR%92%02%E9Q%CFzopC%F6%D4%90%863t%8F%0Cbx%5C%F8%B4%A0%85%CA%5DN%0A%E8S%9F%E7%92p%04%23%10A%08B%A8%0B%0Fx%60%3F%FC%D5%60%062%88%DD%0Bjw%BB%00%EE%AE%04%F1%BD%03%9E%F0%3A%C0%81%0Dd%80%81%11p%80%F2%C82%80%09%A6%04%05t%A8%DE%F5%06%B7%06%0E%22nqb%08%C3%17%C0GB%13Va%0A%29%EC%DC%E7%90%60%84%D1%09%C1t%A8%D3%C1%EAn%E0%3A%1C%F2%CF%05%B6S%81%0F%07%18D%03%0E%B1%88%19%C0%00%12%1F%C0%00%04%18%E0-%5DY%C9%09%E4p%3D%0Dj%EFp%89%03%E1%F7%BA%20%B9%2CX%EE%8B%99%7B%82%13%3C%07%3A%D1%0D%21%86%F3%EBA%FDX%D7%3A%1C%C6%A0%7F-X%C1%0A%E6%08%C4%DF%89%20%04C%24%A2%02%8Fh%01%0A%20%8F%01%098%00%20%9DW%12%01%20%E0%96%B8%5C%DE%01v%C9%CB%03%18%E0%97%C0%FCe%01%86I%CCb%12%E0%98%C8L%E6V%96%C9Lf%F6%A5%2F%C9Tf3%B9%D2%17%09%D2rU%D8%CC%A66%B7%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CE%A1%04%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5Dj1%80S%A6%2F%05%14%280%20%00T%96%02%1CDP%40%D5%EAU%94%02%3C%B8%F8%40%81%C1%01%02%02%9E~%25Y%E2%0A%14%1C%24.8%40%405%EDZ%91%27%E4%F8Yc%C5G%0A%0D%10%12%14%10p7%24%869%9A%22%09%82%B3%85%88%0B%0F%12%0Ex-%DCq%81%1AR%A4%3AQ2D%07%8C%92%19%18%08P%F6X%E0%0B%A9U%A8Hy%AA%94%28O%99%1E%0CF%7B%FC%A1%A9%15%2B%D4%A5%40%5Db%04%C7%84%EC%8E1%22%B5%B2%7D%3BU%A9P%93%A2%88%FE%ADqC%A0%E1%C3o%ABB5%AAMl%E6%19%21%C4Q%05%9D%D5%EDU%A9%02%FEu%C0%9E%B1%80%96Q%D1%BD%7F%8FT%83%3C%C6%00M%3A%A9%9F%BFJ%13%12%F7%18a%40R%BF%AA%7F%FFQd%18%80%9FE%1A%FC%E1%DF%81%A8%D1%E1%C0%80%15-%B0%06%2A%07%AA%22a%2A%82x%C0%20E%04d%11%8A%7F%12N%08%C9%0C%17RTD%26%1DN%98J%2A%98%18%11%E2D%26%20R%E2%89%27%862%86%80%2BBtA%1E%A8%A8%92%8A%89%A8%98r%87%045B%94%00%19%A4%C0%08%23%2A%A8%14%F2A%90%0F%09%20%C5%27G%22%89d%2470%F9%10%0F%93H%29%E5%29%A7pb%05aV24B%20Hri%E6%29%A2%B0%A1%40%98%0CE0%87%29eri%8A%29%A5%ECQ%01%9B%0B%15%E0E%28g%CE9%E7%21%28%E0%A9P%00Jd%22%A7%9FtR%92%84%A0%0A%C1%D0%08%A2t%96RJ%27Z%0C%C0%28B%1A%EC%E1%A7%A4%9C%8A%02G%03%97%1E%D4%00%1C%A4pZ%0Af%A4%8C%B2%C7%06%A1%22%14%84%A9%FE%98%8D2%0A%232%B4%9A%10%10%A8%A6%3A%0A%25HLf%ABA%3F%C8%2Ak%27%5E%D0%F8%2BB%3F%88%12J%28%A2%08r%ECB%3F%84%02%CA%B4%80%3C%AB%D0%0F%D3~%F2%C9%1F%D6%26%E4%83%B6%9Ex%E2G%B7%08%F9%10n%27%9D%8CK%AEA%3Dp%E2%EE%26%7C%ACk%10%0F%9B%D4%AB%C9%1E%F2%16%C4%83%26%9Ad%92%89%1E%F9%12%B4C%26%98%5Cr%09%1E%01%0F%A4%C3%25%96XR%C9%1D%09%0B%A4C%25%95PBI%1D%11%03%90%03%25%93L%22%09%1D%19%E3%20%89%24%91D2G%C67D%02%C9%23%8F%C8%91%B1%0D%8F8%E2H%23pd%5CC%23%8D0%B2%88%1B%19%D3%B0%C8%22%8A%24%D2F%CF%89%24%82%08%22kd%3C%C3%21L%1B%92F%C62%14R%08%21%84%A0%91q%0C%83%0C%22%88%20fd%0CC%20%81%00%F2%07%19%19%BF%F0%C7%1F~%F8%21F%C6.%F8%C1%07%1F%7B%80%91q%0B%7B%E8%A1G%1E%5Ed%BCB%FE%1Ex%DCq%07%17%19%AB%60G%1D%84k%91q%0At%D01%87%1CXd%8C%82%1Cr%C4%01%87%15%19%9F%00%C7%1Bo%B8QE%C6%25%B4%D1%06%1BlH%911%09k%AC%A1F%1AQd%3CB%1Ai%9Ca%86%13%19%8B%60F%19d%90%B1D%C6%21%901%86%18a%2C%1A1%08a%80%F1%85%17Gd%FC%81%17%5Et%C1E%11%19%7B%C0%C5%16Zh%21D%C6%1Cd%81%C5%15W%FC%40%BD%15VTAE%0F%19k0%85%14%E4%EF%90q%06Q%40%F1%C4%139d%8C%81%13M4%C1%C4%12F%14Q%C4%10C%08%11D%10%3F%F4%EFC%0F%3C%E0%C1%0Ev%A0%83%1C%E4%00%077%B0A%0Dh%C0%C0%19%C8%20%06%10%84%C1%0B%5E%E0%02%17%B4%80%05%2CX%81%0AT%90%02%14x%F0%04%26%08a%09H0%82%12%8A%20%04%1F%E8%00%070P%81%084%00%01%06%40%8BZb%82%81%25%D8P%09I%40%C2%11%EAW%04%22%E4O%7F%FE%40%F8%C1%FF%00%28%40%02%1E%F0%06%09%B4A%03g%E0%40%09R%D0%82%17%5C%81%069%D8A%14%9C%E0%8A%22%24%E1%09A%E0%01%0Eh%C0%02%13p%80%02b%98%16_%BD%E4%02I%C8%E1%0E%7B%F8%C3%20%00%21%88%3F%00%E0%00uP%40%1C%20P%81%0Bd%A2%0C%1E%18%03%09B%11%83R%A4%A2%15%B1h%82%12%8C%90%84%238a%08%40%90B%0Ed%C0%02%12%10%E3Y%CA8%13%0B%F0%D0%87%40%F4%DF%FF%04X%40%03%DE%11%8F5p%60%04%9DH%C1%28n0%05%A8%FC%60%21%0F%89%C8D%86%60%91%1F%F0%80%07T%B8%81GFR%01t%29%A3%19%5BR%816%BEq%88%014b%0E%90%98%C0%1A%2C%90%06%7B%7C%A0%13%2B%D8%82%28j0%95W%04%A1%21%5B%29%02E%C22%96%B3%E4%00%076%A0%01%16Fr%010%AC%CA%0C_%12%00%02%98%F3%9C%E8L%27%01%06%C0%CEv%BA%F3%9D%F0%7C%A7%00%E6I%CFz%DA%93%9E%E8%27t%E7%3C%9D%B2%CB%8C%F9%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D%A1%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%28%29%94%85%01R%99A%24u%8A%24h%8D%0B%01O%5B%9EH%94%8A%D4TAo%B2%E8%80%905e%06%3E%ACX%A1%1A%C5%89%EA%1B-AVP%18P%96%24%038%AB%5C%B5Z%B5v%13%A4%40o%E3j%80P%A0.H%02%5EJ%B9Z%BC%B7o%A2%3Fn%B2%C4%DD%00%21A%81%00%869%FE%D0%B4Xo%2BV%AANy%22%B3%C0%82%15%C9%2B%28%5B%1E%809%F3%C5%17%90Z%B5%F2%2C%5B%AD%1D%0A%04%3D%E8P%A1%BA%C0%00%01%AD%5DK%D4%C0G%B6q%E3%AB%06%7D8H%00C%EF%DF%C1%85%3B%5C%B0%26%D5%F1%E3%8CV%2C%2C%C0%605p%E9%0E%0B%FE%7C%21%95%B6%7CyH2%1E%12%F0%1D%20%3Ax%84%3E0%ADZ%C5j%3E%7DV%9B%98%B8o%18%E0%FB%7B%8408b%DF%80%AB%8CB%86%01%16%ED%F7%9F%06~%A8%E2%E0%83%0E%A2B%87%03%FFu%F4%C0%1B%A6%A4%A2%E1%86%1A%06%E2A%85%1C%11p%05%28%1A%A2%82%0A%87%8F%D0%00%E2F%01%2C%91%89%89%26%9E%02%E3%25F%AC%B8%91%0B%8C%9C%A2%E3%8E%3A%82%22%06%826b%94%C1%1E%A5%98b%E4%91%A6%90%22%07%85A%5E%A4%80%19%A2%94%22%E5%94R%FA%C1A%93%17%0D%40%C5%26%A4t%E9e%97%8C%C4%80%E5E%40H2%CA%99h%8EB%CA%24B%8Ci%D1%08%81%88%22%E7%9Crn%E2%05%90nJT%81%1C%A0%84%E2%E7%9F%A1%7C%22G%04yN%84%40%17%9B%80%A2%E8%A2%8A%FA%D1A%A1%12%09%B0%04%25%9FTji%A5%89%CC%00%A9D5%24%D2%C9%A7%9E%84%1A%AA%24P%60%B5%E9C%1F%D8%C1%C9%AA%AC%AE%8A%09%19%FE%09%9C%FA%D0%03hd%B2%C9%AD%B8n%A2%89%1C%13%C8%1A%DE%14%94h%22l%26%C4%0A%CB%07%09%BE%F2%07%C4%22%97%5C%82%89%B3%CF%5E%82%08%10%C96%94%82%1F%96d%ABm%B6%8EDAW%B5%0AY%C0%06%25%95%94K%C9%B9%94LB%1A%B8%0A-%00F%24%93%C4%2B%EF%24%92%B4q%01%BB%0B%D5%10%C9%BE%91H%C2%2F%1F%2A%E0%CB%10%0D%8F%14l%B0%20%3C%28%28pA34%E2%C8%C3%89%3CQ%D8%C2%0C%C9%C0%C8%C5%8C%C0A%B1C1%28%E2%B1%22ml%DCP%0C%88%94%8C%08%1B%223%04%83%21%85%18b%88%1A%29%2F%F4%02%214%13%82F%CC%0A%B9%20%C8%CE%82%98%81sB-%00%22%F4%1Fd%FC%8C%10%0B~%24%ED%C7%18F%1F%B4%02%1F%7BD%1DF%D3%06%A9%90%C7%D5yxAuA%29%D8%E1%F5%1D%5DlM%10%0At%94M%87%16b%0Ft%82%1Cl%CB%81E%DA%02%99%00%C7%DCpX%017%00%25%B4%A1w%FE%1BU%DCM%C2%1A%80%AF%21%C5%DD%23%A4ax%1AQ%DC-%82%19e%98a%86%13w%870%C6%18b%88%B1%C4%DD%20%80%A1%F9%17I%DC%FD%81%17%5Et%D1%C5%11w%7B%B0%85%16%A8%13qw%07X%5C%81%05%16m%C2%BD%81%15UTa%C5%0Fwk%20%C5%EER%F4pw%06P%04%0F%85%0Ewc%D0D%13L4%81C%F1K%28%A1%C4%125%DC%7D%C1%11%D4%1F%A1%29%DC%16%10%A1%3D%11b%C2MA%10%E0%07%F1%C2%DD%13%FC%E0%C3%F9-%DC-%01%0F%3B%B4%AF%1D%DC%12%E4%80C%0E9%A4pw%046%E4o%C3%09wC0%C3%FF30%C1%DD%1E%10%83%02%C6%60%04ws%80%0B%5C%F0%02%17%84%E0n%0D%60%81%04Y%00%02%08%AA%E0%82%29%F8%10%DC%18%80%82%0E%9E%E0Q%1B%2C%81%09LP%82%0D%DCm%01%24%18%81%0AE%C0B%16%86%E0%85%2F%14A%0C%5B%28%C3%19%CE%D0%854%8C%21%0CuH%C3%1A%86%00%04%F5%1F%E8%00%070P%81%084%20%01%07%20%00p%14%16%13%05%C8%B0%87-%84%A1%0BC%20%82%11D%91%8AP%CC%21%14m%B8%C5%17%02%D1%03%1C%C8%80%05%24pD%03%10%805L%84%89%02%40%C0%C6%1F%FE%90%8D%40%04%E2%07%E0%E8E8%CE%11%8Ex%CC%23%08%DE%18G6%DE%B1%8F%1F%08%E4%07%3C%D0%81%0D%10%D1%88%080%E3%12s%92%80Az%C0%91%81%F4%80%24%1F9IAF%B2%92%8E%AC%24%26%059IIv%A0%93%93%EC%80%289%B0%01%0D%5C%60%02%10%60%00%02%7C%B3H%9C%24%60%94B%14%A5%2Cg%09KZ%8A%92%90%1C%C8%E5%2C9%60KX%E6%92%97%B5%24%25%295%20F%09%3C%60%01%ABD%A3N%FA%23%80f%3A%F3%99%D0%8C%A64%A7I%CDj%3E%F37KL%E3%DD%B6%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CEv%BA%F3%9D%C2%09%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05X%19%E5%07%03R%99E8%C1%9A%CA%AAM%82%A7-O0z%C5%F5%D5TX%A4%AC%04%C0%8A2%03%9FV%AE%5Cu%5D%FBJ%D2%0A%B2%24%19%BCI%856%AD%5D%B5k%5B%E1y%00%F7%23%01.%A3Z%09%1E%9C%D6%14%AB%BBi%5B%8D%922%B6%AFF%1F%97XIf5%B8U%2A9%0FF8r%85v%F0%AAT%89H8%BE%E8%A2%D1%AAU%93%27%AB%DAc%81%A0%13R%83Y%A9%3A5JS%18%04%A3%25f%C8%93J%95%AA%D3%C0U%11%02q%F0%81%1D%D4%9FK%85%CA%E4%A8%0E%8B%DC%0E%17%A4%29%95%AA%BA%EF%EB%8CT%2Cl1i6%29O%95%14%FE%E99%F3%E3%2At%84%04%B6%7CB%C5%BE%BA%7BG1%1C%0E%E8%02J%14%27I%85%E8%84YBCB%E3%F3%03%ED%40%89%29%A7%14%C8%DE%29%A8%60%B2%C4%7F%0EQ%60G%26%8F%04%F2%86%16E%C0%F0%01%04%03%00%08%40%0B%89%94%E2%A1%29%04%16%F8%89%18%06T%E4%C2%1E%7C%A4A%85%0F%2Ah%00A%02%04%40%87A%1E%A3%90B%8A%87%1F%92%22%87%03%18%0D%B0C%18O%E0P%C2%05%0E%20P%C0%00%0C%3E%E5%40%1A%9F%8C%E2d%8D6%92%E2G%07%1C5%40%C3%0C%22T%C0%C0%01%04%08%10%40%92E%11%20%C5%25%A1%84%22%CA%99%A28%B9%88%0C%209%90%81%04%0B%180%80%97O%05%40%04%24%9F%7C%02%CA%9Ee%86%12%89%10%23%05%90%40%02G%D2y%94%0A%83x%A2%A8%27y%E6%89I%17%25%96%14%C0%9C_%1Ae%81%1C%9Bp%A2i%27%9Cz%B2%C9%1A%0D%A8T%29Q%09ta%89%26%9Al%A2j%A6%9C%D8%A1%81%86%FE%1D%0D%B0%84%23%97%60%92%C9%AD%99%A0%3AH%0B%B0v%84%03%21%95Tb%C9%B0%97%D4%8A%08%0F%BDr%D4%C1%1C%92L2%09%25%D0%0A%FB%88%15%05%24%AB%91%04d%3C%12%C9%B6%92t%3B%89%24g%F0e-F%07%3C%81%88%23%8E%3C%A2.%24%90D%22%C7%AB%E3%5E%14%40%0F%81%2C%C2%08%23%8D%E4%8B%EE%1Eo%C5%7B%91%0Au%20%82H%22%8A%2Cb0%23%82%10%01%A6%BF%10a0F%21%86%18r%C8%21%02%27R%88%15%B81L%D1%02T%04%22%C8%20%84%10R%08%C4%86%84%01%81%C6%14%0D%00D%1E%7F%00%12%88%C7%82%7C%9C%06%95%28K%14%C0%0Bp%F0%D1%87%1F%3C%FF%D1%B2%1Cl%D6%2CQ%07c%E4%91%87%1E%7B%A0%C8%07%1Fv%FC%20%80%D0%11%3D%20E%1Du%D8q%C7%1Dx%18%8D%C7%13%19C%ED%D0%01F%C0%21%C7%1Ct%D0A%B5%1DuX%11%81%D7%11%91%F0%06%1Cp%C71%F6%1Ca%7C%C0%B6D%22%B0%D1%86%FE%1Bo%BC%5DF%BFwG%24B%1Ak%AC%C1F%1A8d%18%B8D%21%9C%81F%1AjH%B18E%20%94a%86%19g%401%F9D%1F%8CA%C6%E7Ml.%91%07%60%84%11%86%18K%88%1EQ%07%5E%B4%FEE%12%AAC%C4%C1%16%5Cp%D1%85%11%B1%3F%B4%01%16Yh%A1%05%11%B9%3B%B4A%15VXq%05%A0%C13%94%81%14SPQ%C5%0F%C93%84%01%14QH%21E%0F%D1%2F%84A%13N%3C%01%C5%0E%D9%2Bt%C1%12%E47%91C%F8%09Y%80%04%12I%2Ca%03%FA%08UP%84%11F%1CA%03%FC%07Q%20%C4%10C%10%114%FE%04%A1%C0%0F%80%10%84%20%C0%00%80%05%99%00%0Fz%E0%03%1F%F0%0A%81%03%91%80%0Et%B0%03%1E%3C%07%82%02%89%C0%0Dp%90%03%1Dh%07%83%00%80%00%0Dj%60%83%1B%A0%00%84%00x%80%0Cf0B%13%A0%F0%010%80A%0Cd%20%1A%10%3A%A0%05.p%01%0CF%80%C2%06%AC%80%05%FE%2ChA%08z%98%02%15%A8%60%05%C4%01%21%03N%80%02%14%A4%C0%03%28%5C%00%09L%60%82%13p%20%8A%23%20A%09J%B0%01%14%2A%40%04%22%18%C1%082%E0E%10%84%E0%8Cd%04a%02%3C%F0%816%5E%00%85%09%E8%40%07%3C%E0%81%D6%80%10%01%1B%E0%80%1E%2B%80B%04h%E0%8F%1B%98%00%0A%0F%80%01%0Cd%20%03%82%04%E1%01%2Cp%81%0B%60%40%02%83%AC%40%05%18%B96%10%1A%80%02%98%AC%80%B80h%80%09L%80%02%13%E0%11%08%0B%10%01%09x2T%A3%84%40%04V%89J%0C%16%E0%01%0F%80%00%04%18%80%C2%028%00%96%B8%C4%A5%2Ce%B9%CAR%9A%D2%93%99%94%A4%24-%40LF%16%B2%90%87%CC%00%207%90G%3Dr%40%8E%1C%D8%40%06.P%81%084%20%01%07%28%D4%C2pB%00%07x%D3%9B%B9%DC%A5%2A%7B%29%81r~2%98%C3ld%23%91y%C8e6S%8E%F0%EC%80%1E5p%01%0A%CC%12%01%06%B1%E8%D2%A8zB%00%064%E0%9F%0D%F8f.c%B9Kr%9A%F3%93%C0%1Cf1%D7%89%CC%3Fj%80%99%10%8D%E6%064%80%81%0AH%C0%01%0A%C8%26%A5%B6y%93%01%2C%80%01%FE%04%E87Gz%CB%82%1A%B4%9C%BF%3Cg%26%17zLej%C0%A5%7F%3C%A4%05%260%CB%04%E4%13I%1C%ED%E8GA%CA%D3%90%8A%14%9C%B0%14g%2FW%89RO%26T%A1%EA%3C%A6R%2F%60%01%0AD%C0%01%0B0%D2F%83%F2%A5%AAZ%F5%AAX%CD%AAV%B7%EA%A5%00%08%A0%ABXE%A1X%C7J%D6%B2%9A%F5%AChM%ABZ%D7%CA%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%95m%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05T%01%C5%E7%02R%99C2%B5%9A%9A%8A%0D%82%A7-M%20Z%C5%8A%D5%D4%A9%A1%AA%04%C0%8A%12C%9ET%AB%D2v%F5%FA%15%D2%0A%B2%24%17%AC%29%95J%95%DD%B4%5C%BB~eu%E7%01%DC%8F%03%B0%7CB%85%2A%95%E1%BB%A4R%AD%FD%DA%AA%94%D8%BF%1BuH2u%EA%14%E1%C2%AAJ%BDq%20%82%D1Z%B6S%25%A9%80%7Cq%C5%A1R%A8MQ%B6l%0AO%05%82LD%E5%05%CD%B7%01i%89%17%E4%88%1AE%8A%14%EAR%A6J%01%FAp%D0A%1DU%8B%BF%8A%AAr%DB%A1%021%9DB%89%DA%CD%DB%F7%A1%14%0B%5BH%9A%CD%F8%91%89%E6%09%09%FET%B1%F4%09%14%28%E9%D4%11%BDp8%C0%0B%A9%BC%8CU%B5%B9%0A%9E%60%8DE%9D%3Ay%F2T%FE%BC%A4%23cAd%81%1Fj%81%D6J%27D%D4%07%00%0A%7Fh%B2%09%27%9C%E8%C7%DF%25%5D%18PQ%0E%99%7C%B6%D6%2A%86pp%5B%05m%5C%92I%26%9A8%08%A1%26j%D8v%11%01_%98%82%D7%2A%AA%A4r%0A%28a%14%00%17%03%5EDR%89%25%97%88H%A2%26ul%C0%D1%07%88%D8%15%E3%29%A5%84%B2%09%21%2C%3C5%C0%11%89H2%C9%24%94X%C2%E3%25%81%B4%00R%11%9C%C8X%8A%28%9DT%B2%88%1FS%2CPT%009%00%F2%C8%23%90D%22%25%25%95%14%B2%C3H%0B%BCA%CA%28%9Fd%02%09%21u%90%C1%84%06%01%02%25%82%1C%8C0%D2%88%23l%BA%C9%C8%146%96%04%82%20%9AL%92%08%1Fk%60Q%84%0C%1C4%DA%93%04a%1C%92%88%22%8B%18%8Ah%23%60%98%89R%00E%10%12%88%1Ca4%91%03%0A%FE%1AD%60%E1N%070%11H%21%86%1C%82%C8%A7%8B%2C%92%86%05-%29%C0%C4%19V%08%F1%02%08%144%80%40%01%81%D6%24%C0%0Ew%04%22%C8%20%84%14r%88%AEt%7C%07%D3%04%3A%D8%60%82%06%10%28%60%00%01%034%2B%93%0Am%F8%E1%C7%1F%80H%5B%ED%1D2%D0%14%C0%04%1BL%C0%C0%01%E4%0A%60%EEK%16p%91%87%1E%7B%F0%D1%C7%BA%81%EC%81%04%017%09%A0%40%02%05%0C%A0%EF%BE%2C5%C0%C4%1Cu%DC%81%C7%BF%01%F3a%05%03%3B%090%80%C3%10%ABT%40%0Ek%C4%21%07%1Du%D8aq%1E%5EP%00T%C8%A7%AE%40F%1Bn%C0%01%87%1C%27%F7%19%82%82%1Eup%05%1Ai%A8%B1%06%CD6%A71%03%CC%3CO%F4%00%11c%90a%C6%19i%A4%B1%06%1Bi%041k%D2%19%1Dp%03%17_%84%21%06%19e%98%01t%12%A6b%8D%91%00%27T%A1%C5%16%5Dx%D1%F5%D7O%B8lvF%1C%2CQ%85%15Xd%A1%05%FE%17%5ExA%C5%08sg%14A%0FPH1%05%15V%5C%81%85%16V%A8%20%40%E0%17%21%F0%C2%12L4%F1D%14%86SA%C5%0C%9AB%3E%11%01%26%10%81D%12KP%EE%04%14Q%D8P%B6%E7%14M%10%C4%10E%18q%04%12J0%E1%C3%04%ACc%24%C1%0F%40%BC%1E%BB%0F%19%E4.8%0F%3E%F0%FE%C3%07%8F%0B%8FQ%04%3A%EC%D0%83%0FZ%2A%9F%11%048%E4%D0%7C%93%D2c%04A%0D6T%3FZ%F6%17%3D0%03%0D5%DC%80%1D%F8%169%10%83%0C%E3%9F%80~%FA.%C0%10%C3%0C%DA%BE%3FQ%03-%B8%F0%02%0C%24%D8OQ%03%2B%60A%FE%00%E7%3F%890%00%05%2A%08%20%08%0Ah%C0%13%A0%20%05%2AX%20%03%21%B2%00%12%98%C0%81%1E%98%20D%140%82%12%5C%D0C%1At%8E%08F%40%82%12%08%29%84%0DQ%40%08F8%02%0D%A0%B0%21%09%F8%00%08V%18%BC%17.%24%01%1E%F8%80%0C1%60%C3%85%20%80%03%FE%1D%F0%80%07%80%D5%C3%84%20%60%03%1B%00%22%11%8Bx%10%04d%40%03H%94%1B%13%0Dr%00%0C%3CQ%03%B8%9B%22%15%2F%60%C5%0CdQ%8B%041%80%05.%C0%C5%08%80%B1%20%06%A0%40%05%2C%60%013%9Eq%20%06%98%00%05%D4%08%817%C2Q%02%12%90%A3_%EC%08%80%02D%00%8F%13p%00%1F%FB%08%81%08%18REv%24%C0%03%20PH%8E%F1%91%00%0Ex%C0%22%1D%99%C8%068%20%92%AB%3B%23%01%1A%60I%07d%12%8C%04%60%00%03%2C%A9%80A%0E%60%01%0B%18e%02L%89%CAT%AE%92%8F%03P%80%02RI%1F%3B%0E%20%01%09%40e-%DFxKY.%60%97g%BC%25.%15p%80A%0A%00%01%B8L%401%F9xLd%26%E0jo%14%C0%01%0E%80%00%04%40%F3%8C%D2%9C%A65%8Di%00m%22%60%9A%DEL%E60%5B%99%CAQF2%92%8C%8C%40%21%F3%28%C7%0A%B8s%8Dc%24%A3%05%2A0%01%084%40%99%E3%C3%12%80%BE%8A%22%00%03t%13%9C%D4%AC%A63e9Kr%8A%B2%93%E8d%24%04%F0%98G5%BA3%9E%F2%A4g%04%3Ci%CD%7C%05%00i%1D%2B%40%01%FC%F9%CF%80%3A3%99%045%28%27-%29%C9E%1A%F2%8F%13H%E9%1A%DFY%01%0A%D4%D3%01%0Cx%A6E%2F%CAO%8D%DA%D4%9F%00%15%E8%40%7D%D9%CAQr%F2%92%095%24%20%E7%D8R%97J%00%020Uf%C3%1Ev%94%00%D8T%A3%1C%ED%A8GA%8A%CA%82%A2%D2%A7%24%5Dd%21%85%9A%D2%09H%40%9D0U%805AFS%05%5D%F4%AChM%ABZ%D7%CAV%8C%0E%F2%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%07%AB%BC%80%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05D%D1t%C7%02R%99%3E%26%99%3Auj%14%1A%04O%5B%8E%08D%AA%94%A9%A9%A7Pq%92%12%20%2BJ%0BqB%89%1A%D5%D5%EBTT%A8%18%A50KR%01%99M%A0%D4%AEm%FB5%2C%AASt%1C%D0%FD8%20%0A%25O%9F%40%E5%5D%3B%AA%D3%28%AFT%E1%A6%02Ev%F0F%1A%876q%EA%84Xq%A8Ni%1A%800%04%D9o%2AU%8E%E6Z%B6Xb%0F%A6L%9A4s%FE%E4%29%0E%05%82H8%81E%95%EA4%AA%3A%0DVK%A4%60%86R%25K%AFcs%E2t%87%C3A%07qJ%99%3E%AD%0A%D4%14%E1%0E%11Xi%24i%92%F1K%C9%FB%FE%94X%B8%C2Q%E4%DE%AAT%ADj4%1E%3B%C2%01I%0C9z%14%A9%3B%25K%97%FC%A8p8%60K%28%D3%E9%AD%82%CA%1AX%B9G%D0%0Ax%2C%C2H%23%F3%D57%89%21%3E%94%05Q%05%7B%98%C2%1Bz%AB%AC%D2%09%11%06%02%00%02%1B%86%20%92%88%82%0CB%A2%88%14%05TtC%25%17%06%98a%22%1D%08%17%C1%16%81%0CR%C8%21%22%2A%C2%C8%22%5E%2C%80%11%01%5D%8C%82%5E%80%AC%9C%B2%86%01t%25%B0%84%1E~%00%22%08%217%22%82%C8%19%17p%E4%81%21C%AA%B7%0A%2B%9C%04%F1%D4%006%C0%A1%C7%1E%7D%FC%11%C8%93%85%C0%D1%9EGDl%82%E1%96%AC%B4%92%C8%06F%A9%60F%1Dw%E0%A1%07%1F~%98IG%0C%23-%00%C7%29%E9%A9%C7J%9C%A6%7C1%80P%19d%01%87%1Ct%E0%99%C7%1E%7C%DCQ%04%01%26%89%B0%88%8B%87%1Ez%C9%0C%3F5%80%C4%1Al%B8%F1%E8%1Ct%D8q%87%13%09%A4%14%80%14%FE%A0h%09%27%2B%AB%FC%11%C1N%05%D4%40%C6%19i%90j%AA%1CrTq%2BK%0E%D0qZ%86%19%AA%92%8A%27P%E0%24%C0%09Y%84A%86%19%BC%AE%D1%86%1B%5C%C4%08S%0B%91%14%9A%CA_%A5%88%12%C8%075m%D0%04%17%5E%80%21-%B5ix%B1fL%04x%21%24%2A%A6%90%12%0A%27%960%D2%04%A609%D0%83%15Xh%81%EE%17%D2~A%C3%A26Y%B0G%29%A3%80%C2I%25%8E%10%92%07%18t%B6%84%00%0CPHA%05%C0Yl%E1%85%17%3E%B4%AAS%0D%8DlRI%23%83%DC%A1%06%17L%A4%90bJ%03%88pD%13Od%BC%F1%15Z%0C%21XO%04%3C%91H%CAih%B1%04%0F-%7C%A0%00J%18%F4%60D%12K0%E1D%14%1A%1B%E1TP%14p%11%F4%12%3B%B4%10%C2%05%10%24%20%00I%10%C8%00%84%10D%1C%C1%B4%D3H%84%20%E1P%1C%08%A1%03%0B%20p%BD%C0%01%05%7C%0D%12%02%26%E8%C0%83%FE%0Fc%97%9D%04%12%29%F0k%94%00%16%7C%60%C1%03%0A%D0%3D%80%00koD%40%074%DC%80%83%DE%7C%0B%21%04%0B%07%D0E%00%03s%17%B0x%E3%19%05%40%01%0B1%CC%40%83%0D%93%F3%D0%83%0B%0C%087%40%01%040%DEQ%03%25%B0%D0%C2%0B1%C8p%3A%0E1%DCf%A0%00%B2k%84%00%07%27%A0%A0%82%ED%B8%CB%00%C3%05%A0w%F8%A3%05%22%8CPB%F1%C7%BB%E0%02%07%08%3B%AF%91%00%11x%00B%08%D2%9BP%7C%0A%1C%20%A9%3DG%08t%E0%C1%07%20DO%82%09%1F%88%7C%3E%FA%1C%A8%FFA%08%22x%D0%FA%FC%1E%1D%B0A%FD%1E%E8%C0%03%9A%C7%BF%8C%1C%40%03%1B%D8%40%07%A6V%C0%FEe%00%81%1C%A8%40%03%3Fr%80%0B%60%E0%81%13%98%A0G%0C%60%01%0Bf%20%83%1A%E4%88%01%2A%D0%C1%0F%86P%84%14%A8%80%05%25p%C2%8D%14%80%02%29%B4%C0%B0Z%88%11%03L%60%02%29%84%00%0D3R%00%09H%00%87%FE%0F%D8%21F%0A%00%01%1FN%60gB%AC%08%11%23%E0C%24%26q%22%04x%00%04%22%10%81%E0%3C%91%22%04p%80%14%23%B0%BF%2BJ%24%8BZ%84%40%17%BD%08%11%024%C0%01Z%1C%23%19%1D%B2%B93%3E%C0Gk%84%C8%00%16pF%07%1C-%8E%0F%99%23%03%1A%D0%00%F9%E1%91%21zd%00%03%FC%F8G%85%E8q%01%0B%20d%21%DF%83HD%2Ar%91%06%19%80%02%1AY%20H%26d%00%09%98%E4%02%2Ai%C9%83%60R%01%A0%CC%5C%27%DF%83%80%04dR%94%A3%8C%24%02J%99%00T%A6%92%20%03X%E5%2A%CD%F7J%82%08%40%96%08%A0e-%05%22%80%03%F82%97%BB%B4%A5%01~%A9%CB%5D%0A%C0%00%C3%3C%401kyLd%D2-%98%03%11%40%01%0A%80%CC%97AS%9A%D4%7C%264%01%80Md%0A.%98%01%20%00%01%A8%F9%CD%5D%86s%9C%B0%DB%26%00%CE9%CEr%D6%92%9D%E2T%27%3C%B3%07Nq%8A%93%9E%E6%BF%24%C0%00%EE%29%CF%01%EC%D3%9E%E8%9C%A63%7DI%D0%03%AC%D2%94%A0D%E4%1E%D1%A8%C5%07%A0%B1%01%9CS%40%02%10%407%7D2.%00%185K%00%FC%09Pq%C2n%9A%D94%E8AM%99IM%EE%B1%8E%0DEcD%27j%00%CF%5D%94%80G%D9%A8%3F%FF%09P%90%86%D4%A0%24E%E8%24%05%29H%3E%F2q%A5%14m%E9%E70%0AS%A3%C8%94%A3%1D%0D%285%939%D2%92%26T%A1%9C%5B%80Dg%09%BB%A1%165%A63EjRm%9AL%91%96T%A7%9A%9C%AA2%ABj%D5%ABj%90%A8hM%ABY%D5%C9%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%5Dd%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%20i%D4%86%02R%996%0Aa%CA%B4%E9%12%98%03O%5Bz%98S%C9%D2%A5L%9A6q%92%B4%24%40V%94%12%C8%3C%92D%A9%2B%A6%B0%9C%3Ay%22d%E2%2CI%04U%129%82%14i%12%25%AF%60%C5z%FA%E4%A9M%03%BB%1F%05%08%09%B4%88%91%A3G%91%D8Vzd%09%AE%DCO%A0.51%8BXc%8A9%87%10%25Z%D4ho%24G%5E%18p%E0c%193%A8P%87%EAv%B6%D8%C1L%A0A%85B7v%D4%88L%04%82A%24%C5%1D%FCZT%A87%0CfK%7C%20%85%CF%1F%40%82%08%15%12%BD%28%0D%86%83%0C%D2l%BA%5C%7CT%A6%27%CA%1D%FE%1A%10B%27%0F%9F%3E%7Fn%E7n%F3a%E1%89B%C4C%89%1AE%8A%14%A2%11%E1%13%0A%A8%B1%86%8E%1D%3Cz%F0%E1%07tm%88%E0%90%00U%60%82%99%7C%F4%952%0A%1A%08%E4W%D0%07%5E%BC%11%C7%1Cu%DC%91%C7%1E~%C8%21%03g%0FM%40%C7%27%0C6h%0A%26BH%08%80%05R%A4%B1F%1Bp%C8AG%1Dx%D01%04%01%15%CD%E0%08%83%A4%94R%8A%29%A7%14%C2%81r%0B%04A%86%19h%A8%C1%86%85r%C8%B1D%02%18%11%80%05%27%F3%F5%08%E4%29%A4%A4a%80%5D%06%CC%B0%05%18b%94q%86%8Bm%BC%21%C5o%1Bq%10H%83%3F%9E%82%0A%2A%99%FC%F0%94%00%23D%91%05%17%5E%84AF%19If1%E4G%40Xb%E5%29n%A6%92%CA%21%1A%18%B5%01%12TX%81%85%16%5D%7C%A1%A7%16%24%8C%A4%C0%1A%A3%B4Yh%2A%A4x1%80P%0F%E8%D0%04%14RTq%85%16xj%11%C3%A7%25%81pH%9B%FE%A8%18%AA%CA%2A%96%CC%F0%13%02%2B%1C%A1%04%13ND1%85%A3Z%DC%B0%25J%01%3C%D1%09%A1%B1%AA2%AB%2A%7F%A0%99%D3%00%1F%F80%84%11I%2C%C1%C4%13RP%B1Cr%2C9%20G%29o%A6%A2%EC%2A%AB%88B%05N%01XP%03%0F%3F%08A%84%AEK8%01%C4%041%B1%F0H%AC%E2%CE%CA%0A%2B%8F%C86%D3%03%2C%DC%90%C3%0E%3D%001m%12%40%5C7%D3%00%5D%8C%22%2B%B9%AC%B4%A2%0A%1BX%C1t%80%080%CCP%03%0E%3A%B0%1B%C4%0F%21%08p%93%05%7C%88%0Bq%2B%28%7B%92bK%04d%A0B%0B%2F%C4%40%83%0D%03%F3%60B%01%3B%E5p%89%BE%11%A3%EC%CA%22%89%A6%14%40%04%24%A0%A0%02%0B.%C0%20C%0D7%A4%10aO%04xa%CA%2A%FB%A2%8C%F2%29b%B0Z%12%03%1F%90P%C2%09%29%AC%D0%82%0B1%A8%E0%80P%1F%20Bu%CF%3E_%22%C3%5D%18%80%00%82%08%24%98%604%0B%29%D0%5BT%FE%11%9E%EC%CBv%2B%AB%E8q%D8G%04D%C0%81%07%1F%80%10%C2%08_%9Fp%81%C8G%25%A0F%2AT%93%BBJ%2A%A8l%E2DG%028%90%81%06%1Bt%80x%08tc%80%E3Y%230%A2%8A%A1%A7%982%0A%28%9D%F0%F1%27F%09P%60%01%06%19l%C0%81%E8%20%600%2Cb%01H%D1I%29%A4%84%D2I%26%948B%88%12%A7Sd%00%04%13T%60%C1%05%B8%87%9E%81%02%12%3A%C0F%27%9A%24%8FH%20x%BC%91E%D0%11%0D%C0%40%04%12L%40%81%F4%17d%80%01%B7%2A%02P%C2%1E%89%08%A2G%1Cgp%21%C5%11%274%CF%90%00%09p%C0%03%20%20%81%F4%D9%CE%02%0E%00Q%FC%00%20%00%1F%B8%21%0D_%A8B%12x0%83%14%7C%00~%09%09%C0%01%1A%D0%00%01B%20%02%E8%A3%80%03%B4%B6%40%82%2C%60%07K%00%82%0DV0%02%0E%5C%E0%01%0C1%1F%03%3A%E8%C1%088%C0%7F%254%88%03LP%02%0F%60%40%02%FE%23%8C%E1%02fHC%07%FC.%87%19d%C0%04%1E%C0%80%23%26d%00Cd%80%14%9D%88D%85%08%C0%00TD%C8%00%14%B0%80%21B%A9%8A%1F%D9%22%17%17%F0E0vD%8C%5D%2C%A3%1972%80%04%24%C0%8Bk%3Cc%02%B8%C8%80%A7%C5Q%23m%7C%E3%02%ECxG%8C%00p%8E%7B%EC%A3F%FE%C8E%3E%0A%B2%22%02%40%00%02%14%A0%80%8A%1D%D2%22%89D%80%1B%1D%F9H%8ADR%92%94%AC%A4D.%89%80%2Cj%F2%40%078%80%22%3D%F9%C9%FF%85R%94%A4%2C%A5%15%0D%10%CAN%AAr%93XD%E5%2B%23%22%80%02%B0%F2%008%9B%E5Cj%19%CB%5C%EA%B2%21W%BC%A5%2F%7F%B9%90%00%D8%12%8B%C3%24f%06%8Fi%00%1C%2A%F3%20%C6%2C%80-%9D%F9%CC%82%04%80%00%D2%2C%005%AB9%90kfs%9B%DC%04%C05%B1%A9%CDp%22d%9C%D2%04%277%C7%89MuV%93%9D%E54%A7A%E0%E9%CEg%B2%93%00%24%C1%94%A7%40%EE%99O%7D%F2S%9F%D6%1C%00%01%06%DAOy%06%60%00%02%C5%27%40%09r%D0%84%16%D4%9C%0D%15%E8C%C3%19Q%85.t%9F%08%CD%E8E1%9AQ%C8%5D4%A2%03%F0%E8B%03%20%80%8EnT%9C%25E%A8H%01J%D2%8C%BAt%A0%03%CD%A64%B1h%80c%CA%14%9F%2A%15%40%00v%AA%C0%05%924%A5%2F%85%299e%AAM%98%22%14%9F%02H%2AO%C5%C9%D4%1C%FE4%A9.M%A8P%C9i%D4%A4ZU%A7%3B%ED%E3S%A3%9AQ%82J%15%A9%21U%AAY%B2%AA%D5%ABv%94%ABQ%D5%A9Z%B1z%D2%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%B9%19%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%DC%B8%A3%05%02R%99%28%DA%FC%11D%28%10%14%03O%5BZ%E0%B2%87%8F%9F%40%82%0A%1D%F2%E3%23%40V%94%0D%98%D0%B9%93%C7%2BXB%86%10%29%92%F3%E1%2CI%03%3F%DA%C8%A9%C3v%8F%1F%40T%E3%2Ab%C4%E8%CB%02%BB%1F%05%BC%20%D3%06%8E%9C%B5y%F6%F4%C9%F3g%90%D8D%8B%1A%3DB%24%C4%2Cb%8D%1C%AE%A0Q%D3%E6%CDc%3Bx%EC0I%60%01%8DXD%99%1DA%8A%A4%27%C4%E7%8B%13%96%88%21s%26%CD%1A7%8E%E7%40i%40%90%86%1F%D8%8C%1C%3D%8A4i%12%19%05%B7%25%2A%C0%B1%C5K%182f%7C%97%9E%22%E1%A0%82%2C%88%18%FEi%8E%24%89R%A5FG%A2%3B%24%B0b%0A%96%EAa%C6%98%19%5D%E5%C2B%10u%1A%C9%964%A9%D2%A5L~%80%A0%5EB%01%84%B0%C4%14U%5C%A1E%17%60%88Q%C6%14%198%24%40%12%88%2C7%09%25%96%60%A2%09%26%60%1C0%60A%13%F8%C0%C4%13R%24%A8%05%17%5EXA%82D%10%A0%C1%1C%86%FFm%C2%C9%23%3C%7C%08%40%032%1C%A1%C4%12NDA%85%15YX%E1%C2%00%15%B1%10%88y%FFi%22%A3%27%7Dh%10%DD%01%26%001D%11I%2C%D1%04%14RPA%03V%17%11%F0%04%24%19%2A%C9I%27%9Fp2%06%97Y%0D%D0%01%0E%3C%FC%20D%11HX%09%05%0E%0Cp%94%81%1D%97%88%D9%89%27%A0%84%22%89%0EO%05%40%C1%0B6%E4%C0%83%0FA%10%A1%23%0F%13%80%A4%03%23%9Bl%B2%E7%27%A0%882J%20%11%16%F5%00%0A0%CC%60%03%0E%3B%F8%20%E5%0E%F6%89%94%00%19%99p%E2%09%A5%A1X%EA%89%16%FED%06%85%C0%07%2B%B8%D0%E9%A7%3A%F4%B0%C3%07%02%98%E4%C1%1F%7B%F6i%29%29%A5D%12%C3O%04%5CpB%0A%B5%C2%20C%0D7%E0%20%02%01%29%05%A0D%25%AC%8EBl%29%A5%F0%11%C1N%01%40%10%02%09%26%A0%B0B%0B%2F%C40%03%09%1E%B2%D4%C0%1A%9F%B4%3A%0A%B7%A6%9C%E2%89%1491%C0A%08%22%90%8B%82%0A%2C%B8%60B%9D0%A5%A0%C8%B0%A5%D4%7B%0A%2A%8C%94P%13%02%17p%F0%01%BF%23%94p%82%0A%258%40%D3%00YtB%AC%C2%A8%A4b%8A%1Ah%BAD%40%04%19l%D0%81%07%20%88P1%09%13xVS%05x%24%7C%CA%C2%A9%A8%A2%0A%27A%B8%24%40%03%17%5C%80%81%06%1C%B0%CC%AF%05%B1%E6d%03%25%F5%86%9C%F3%2A%AC%24%E2d%B5%08H%40A%05Bk%A0%F2%07%16%14%E0%13%01%5C%88%E2%B4%2A%AB%40%5DJ%18I%DF%E5%40%04V%5B%20t%06%1AX%D0.P%1E%1426%D4%AC%B4r%89%FE%0C%24%0D%B0%C0%03%10%B0%7D%B5%D0%16%40W%14%11%9C%E8%8Cw%2B%8C%F3A%5Cb%070%D0%80%03%10%40%20%C1%04%15T%C0%80%CCE%25%90%06%2Ae%B3%92w%2B%AE%90bEG%01%18%B0%C0%02%92%3B%008%DB%0D%F4z%D6%08%8C%2CN%BA%2B%AFD%E2pF%04%28%B0%BA%E4%93%BB%DE%40%DAg%050%85%28%A3%BB%82%FB%2B%AC%B81%F7D%03%1C%A0%80%EF%AC%B7%DE%80%D7%03%3EPG%DE%CA%BF%F2%0A%2C%B0%80%22%C4D%02%18%80%00%02%09L%EF%3B%03%0C%94%FC%E1%0B%95%90%EE%FD%F7%B0%C4%82H%05%0F%05%40%C0%01%E7%A3%9F%BE%EF%07%E0%9C%8D%00%40%800%A0by%E0%8BE%2CTA%06%E2%1Dd%00%050%80%01%F8w%BE%F4%05p%80%08%C9%40%21%BC%07%BE%FA%C5%02%14%CF%3BH%00%0A%40%C2%09R%F0%00%B2%C3%60Bz%D0%09%FA%D5%0F%08%0C%19a%09%0Fp%00%038P%85%079%40%1BX%01%3E%404D%86%FE%12%B4%21%0E%21%22%82F%84%E2q%0B%91%21%09%A95%C4%88P%C0%21J%2C%00%13%9B%E8%11%FD%95p%8AT%E4%88%FE%08%10A%ECeQ%8B%04%E0%A2%01%B0%F8%C5%8Cl1%82d%2C%E3E%CE%28E5n%84%8Dit%23E%B6%C8%C58%CAQ%22tl%E3%1D%D7%18%C6%3A%EE%91%8Fa%D4%E3%1F%E7%D8GA%0E%12%8F%85%B4%E3%21c%D8G%02%DCp%91%8Cl%24%24%11%D9%C7GN%92%40%8D%B4%E4%25E%98%C9M%E6o%00%95%F4%24%14A%19FM%8Ar%20%01%20%A5%23O%19%C3%01%90%D2%94%ACL%E5%2BY%99DW%82%12%96%A7%94%A5-i%A9%10%5D%BA%92%97%04%B2%E5%2F%81%29Ba%E2R%94%BE%3C%A6%27%7D%99Bb%12D%96%02%18%403%9D%29%90%00%08%E0%9A%D2%A4fA%ACyM%01%08%90%9A%DC%BC%E67%9D%19Noj%F3%99%DD4%E79%AB%E9%CD%00%B8s%9D%A8t%E78%C1YMx%DA%F3%9E%F8%27%CC%A7%3E%F7%C9%CF~%FA%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D5%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%8C%A8%D2C%01R%99%19%96p%F1%12%06%CC%0D%02O%5B%3A%E0a%25%CB%16%AAd%CC%80Y%915%25%02%18Q%A6t%FD%1A%86%CC%994k%B0X%28K%92%80%89%24N%D2%AE%05%FBv%8D%9B7I%10%D0%FD%18%60%C3%8F%24K%F2%AA%CD%C2%25%0B%98%B0p%DB%C0%91%D3FF%80%C1%1B%21%CC%10R%04Ib%BDVf%18x%D0%C4%0C%5C7p%E6%D4%B9C%26%03%E6%8B%0BV%F0%F8%C1%D9s%5E%295%12%10%2C%11f%8Dd9%AB%F3%EC%91%22%F8u%C4%02%1Fn%E8%98-%C4%08b%267%18%1C%3C%20%E4wp%3E~%EE%E00%EEP%00%86%174%94%FE%CF%1ER%24%C9%0D%07%0B1x%01~%27%0Fv%40%82%D6h%E0%9E0%80%84%14%2Fb%84%D7%D1%83v%0D%08%0E%05p%C3%1Bw%E8%81%5D%20%82%14B%88%14%06%D0W%90%02%22%AC%D0%C2%0B2%D4%A0%5C%0F6%CC%15%11%03T%B8%F7G%20%83%14rH%22~%C8%E0%20%00%07l%60%02%0A%2B%B8%00C%858%D8%C0%81%00%15%89%D0%C6%87%21%8E%B8H%23oh%88%19%01%15%8CP%C2%09%29HH%E1%0C%1F%60u%D1%00%40%F0%91%23%22%3B%3A%C2%C8%15%05%D0%25%00%04%1F%880%02%09%26%14%D9%02%0C%21%1C%C0%11%05f%88%88%88%22%8C8%02%89%24%84%CC%90%95%02%1Ax%00B%08B%9E%80%82%0A%23%2C%00%D2%0B%7B%40%D9%88%9A%92LR%89%1D%3E%0E%85%40%05%1Al%D0%C1%07tr%29B%03%23%21%60E%22%7F%AEII%25%97L%22%05%8DA%11%10%C1%05%19%24%BA%28%08%23%84%20%C1e%25e%20%07%A0%97%5E%92%89%26%FE%87%B0%F0%93%00%0BP%60%01%A8%1Ap%D0%81%07%1FL%C0%E9I%01%00%81H%A0%98%BE%BA%C9%26t%3C%B0S%00%08%400%81%AD%B8%EAZ%81%92%2B-%10%86%24%95Xb%2C%27%9ET%C2DN%A3E%20%C1%B3%15%E0j%81%980%91%F0%87%AB%9Al%D2%89%27%9F%80R%88%085%11%B0%C0%03%10D%10%C1%B3%B7VP%9CL%03H1I%BB%EF%C6%1B%CA%27d4%08%93%00%094%E0%80%03%10%E4%FB%2C%05%0B%A0Z%D3%04pl%C2m%BC%A2%8CBJ%25%3D%B8%14%C0%01%0B0%C0%80%03%F8%8A%3B%01%03%BF%E2%24%03%23%F0%82%D21%29%A5%94B%08%06%2B%11%90%C0%02%25%9F%9Cr%03%03%F8D%80%15%9A%80%12%8A%C75%9B%12%8A%17A%9B4%00%02%09%28%C0%B3%C9%0D%3C%C0%00%B5%3Fm%F0G%28%A2%D0%5C%8A%29%A7%A02%09%0C%24%09%60%40%02h%2B%205%03%0D0%A00Q%3FT%E25%D8%A8%A4%82J%1E%90%12F%C0%FE%01%07%40%1D5%CF%0B%1C%60qQ%08%90%21%CA%D7a%A7%A2%8A%2A%A0P%E1%D1%00%06%18%C07%02P%AB-8%5D%21%1CB%B7%E2%AA%AC%C2%8A%23%24h%24%40%01%05D.9%E5%09%1C%D0rY%01%40%E1I%DD%8B%7B%CEJ%2Al%A0KQ%00%03%10%40%BA%E4%7DS%DE4w%0F%C8%81J%E7%B2%B7%D2%8A%27%40L%84%3B%01%CC%93%5E%3A%DF%BF%9F%D8%82%24%AB%14%DF%8A%2B%AE%1CR%01D%020%EF%BD%F3%06%60%7D%A2%40%04%7CQ%0A%2B%AC%18%EF%CA%2B%AF%A42F%F4%08%090%40%EE%DF%93N%C0%E0%E3%13%84%C1%20%E9%AB%FF%0A%2C%9F%B0%1DBp7%3F%EF%E9%EE~%F9%5B%08%0F6%E1%BFW%FC%80%21%04%A4%1F%01%06%B0%BA%04%22%E4%00kX%C5%FA%00%D1%10%02z%AF%82%16TH%08%1A%11%8A%BC-%24%82%13%0C%A1D%B6%D7%C1%F9%E5%0E~%2A%DC%08%0Aa%18%C3%8C%CC%B0%86%1E%B9%21%0E9%A2%C3%1Dj%A4%87%A7%3E%C4%08%10%83h%91%21%12%F1v.%9C%DF%11%85%98D%10.%11%22%11T%E2%13%2B%12E%1AN1%40I%B4%E2%15%21%98%C5-%2A%AF%8B%5E%8CH%00%04%20%3F%0A%86Q%8Cd%9C%9F%13%CF8%402%CAo%8Dl4%C8%18%DD%88%BF8%D6%C7%8D%02%A8%A3%1D%DBHF%3D%EEQ%8E%01%18%A3%1F%FFH%90%CB%04r%90%84%2CH%20%13%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9Nz%F2%93%A0%0C%A5%28GI%CAR%9A%F2%94%A8L%A5%2AW%C9%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%B2%86%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%27%BC%10a%00%A9%CC%06%29f%D8%C8%81%E3%83%00%A7-%0F%80x%11%83%C6%0D%1D%3C%7C%E8%C8%805%25%81%0C%2A%5C%C0%90Q%E3%2B%8F%1FB%8A%DCpP%96%A4%80%09%25R%B0P%3B%A3%06%0E%1D%3D%80%0C1%A2dI%8B%02u%3F%06p%10%C2%04%0A%15-%B8J%AD%01%18%08%91%23J%98%3CY%02%221G%04%1BF%940%91bE%E4%182%3A%10H%E0%22%C8%E5%25M%A0H%A9B%24%82%E7%8B%06.%84%08%21%FA%F1%0A%17%2F%3C%20%1Eh%01H%92%25N%A2L%B1%82E%0B%8E%A6%B7%23%0E%88%E0%01D%08%11%24L%9C%80%FC%E1%C0A%02%2A%90%FEK%A1%C2%7C%8B%97%2C%27%A2%3B%0C%D0%20%03%87%EA%22D%9FH%01%02%C1%C2%07%3E%C6%5B%C9%C2%E5K%182QH%A0%9EB%0AX%90%C1%06%EF%81%80%5D%09%1E%24%B0%1E%09Q4%D7%C5%17b%94q%C6%19%3B%100%60A%05HpA%06%1A%20%08%DF%07%0DH%84%80%0E%E6%811%86%19h%A8%C1%06%19%25l%08%00%01%0EP%60%C1%87%1Ap%D0%C1%07%1E%40%10%40E%18H%F1%9F%19i%AC%D1%06%1Cr%60a%DBm%02%2C%20%C1%04%15X%80%C1%81%1Cp%20%C1U%17%09%D0%02%18D%B2%E1%06%92u%D0Q%84%86e%05%90%C0%03%11L%40A%05%17%60%10%E2%04dj%E4%80%13F%BE%11%C7%1Cu%E0%A1%C7%1B%28%60e%80%03%10D%F0%A4%8D%1FR%E0%DDG%23%8C%81%24%1Dv%E4%B1G%1F%7F%90%21%60Q%04%2C%E0%C0%03%81%0EZ%C1%04%F6%89d%C0%10p0%9A%07%1F~%00%22%C8%1FD%60%09%94%00%094%D0%C0%A5%FE%99R%40%81%02%3F%964A%17w%E8Aj%20%83%14rH%1D%24%FC%14%80%01%0B0%F0%EA%03%98%A6%C9%40%AD%27%05%20%C3%1C%90%F2%EAk%22%8A%98Q%E2N%05%28%B0%40%B1%C7%06%CA%C0%00-%25%10%85%1F%82%102%ED%22%8D%18%12DN%04%20%A0-%B7%C72%10%A7K%1D%B4A%88%21%88%24%82%EE%23%91%E0%E1AM%02%1C%80%40%02%0Ahk%AC%03%0D%0C%27%93%00D%04%82%88%22%8C8%C2%EF%24%91h%A1%B0K%01%14%80%C0%C6%04%1B%CC%C0%A16A%20%06%BA%8E%40%22%C9%24%95X%A2%88%0D%18%13%20%F0%C0%04o%BB%C0%01%CC%E2%A4B%1F%FCJBI%25%97d%A2%89%1E%16%AC%24%80%01%06%1C%20p%021%23%A0%EAN%030%C1%C8%24%94X%D2%F3%26%9CXb%C5%D2%23eL%B4%D1G%2B%80%00%B8Aa%40G%CA%98hBu%27%9F%2C%C2%02I%01%0CP%C0%DBE%BF%8C%C0%BCB%E1%A0%88%CFT%7B%F2%09%FE%28%A0%C8%C1%00Hm%13%40%C0%DB%05p%3D%B7S%07tqI%DE%7B%87%22J%26Ox%24%80%E0%82%C3m4%015%23%E5%C1%1F%9D%E8%0D%8A%E3%A3%94%82%88%08%1A%05%40y%E5p%17%909V%01%28Q%C9%E7%A2%8CBJ%29%A6%8C%82%06t%14%B5%3D%C0%E9%84%13%80%B5g%0E%B0%01J%EC%B3%9Br%0A%2A%98%F40Q%00%02%0C%E0%3C%EF%05%FC%AE%9E%0A%8C%CCN%FB%F1%A8%A4%22%08%05%10%E9%EE%FC%F3%82%83-%23A%03h%F1%C9%F5%D9%AB%A2J%29%60%88%9F%10%F3%DF%C7O%C0%00%AB%8F%2F%D0%05~%18%9F%7D%2A%AA%AC%B2%09%EE%08a%5E%F3%E2%E7%BC%FA%D9%8F%209%B0D%FAV%B1%0A%E5-D%80%03%2C%E0%01%1Br%804%98%A2%7F%7Ch%88%00%BFg%C0%09%22%04%04%89%E8%C4%B5%1E%28%80%12%96%D0%83%12%E1%9E%06M%28%80%0E%A2%F0%22%10l%E1%0B%15%C3B%17%CE0w5%BC%A1G%02%C0C%19%EA%90%23i%3Cd%9E%0D%7F%28%91%20%0E%91%88E%3C%22%12%23%A2%C4%25%3A%F1%89P%8C%A2%14%A7H%C5%2AZ%F1%8AX%CC%A2%16%B7%C8%C5.z%F1%8B%60%0C%A3%18%C7H%C62%9A%F1%8ChL%A3%1A%D7%C8%C66%BA%F1%8Dp%8C%A3%1C%E7H%C7%3A%DA%F1%8Ex%CC%A3%1E%F7%C8%C7%3E%FA%F1%8F%80%0C%A4%20%07I%C8B%1A%F2%90%88L%E4%15%03%02%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%3Bdy%02%01%A9%CC%05%2F%9A%8C%B9CH%CB%01%A7-%07H0%81C%EA%1DD%95%28E%09%80%15e%00%03%102p%F5%0A%16%D4%A9G%2C%CA%96%14%60%40A%DA%B5S%DB%9Ej%E5jOS%B9%1F%03%0C%20P%F7nW%2Fu%F4%B6%82%25K%95%16%B2%807%06%100%B8%B0Z%1B%2A%0EPhS%C9%EDbY%B4jaj%11%19c%80%D3%94%09%DB%CDp%A1%00A%1F%97%F62%0E%5D%8BV%1F%07%A5%2B%9E%9E%5CY%C1%82%01%07%1B%C8Y5%BBV-%5B%B6%1C%E7%9E%B8%3B5%01%01%0B%5D%5C%02m%1C9%F2K%29%96Cl.%002%C3%01dZ%FEU%B7nk%16%9D%04%DA%1B%EE%F6%FE%10%C3%A1%E3%E4%91%9BZ%92~%21%FB%89%3FD%C5%B7%1E%09D%FD%90%05%9C%01%CB~%B6%C82%C7U%FF%7D%24%82%24%04%DAR%8A%11%09%82%C4%04%2A%0DF%D2A%84%1E1%A0%07-%04%BEb%06p%18rd%82%25%0D%82%82C%88%1C%05%A0%05%2B%04%D6%82%C8%04%28n%04%81%1F%F0%C5%B7%8A%161n%24C%27%0Db%97cF%04%08H%A0%2Cr%20%F8%A3E%19%20%D2%A0%29G%1C%89%11%10%A3T%C8%81%93%16%05%18K%87g%80H%E5D%0B6%F8%89%0D%5BV4a%8B%82%E0%16%A6D%0A%CC1%0B%817%9E9%D1%09%24%12h%C9%09nF%A4%22%8B%FB%19hd%9D%0DE%40%23%81%A5%14%C1%27D3%F0H%20%23%16%0C%EAP%90%03%EE%F7J%96%8A6%B4%01%23%04%92%B2g%A4%0A%05%11%25yC%60%FA%10%02r%C8%82%5C%21%9EFD%02%25%A8%98Y%2AD%89%AE%EA%EA%ABN%B0%C6%2A%EB%AC%B4%D6j%EB%AD%B8%E6%AA%EB%AE%BC%F6%EA%EB%AF%C0%06%2B%EC%B0%C4%16k%EC%B1%C8%26%AB%EC%B2%CC6%EB%EC%B3%D0F%2B%ED%B4%D4Vk%ED%B5%D8f%AB%ED%B6%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BA%D9%06%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9D%CA2%00%D5%95%01%AC%5E%3D%99%B5%EB%D6%92%5D%05%0C%200%E0k%C8%B0b%09%18%40%40%C0%EC%C7%ACi%0B%20%60%20AB%01%B7%1D%03%0C%18P%E0%80%82%07%17B%B0%00%21%00%2F%C7%01%06%124%98%C0%01%C5%0D%25RB%18%DE%28%40%01%04%0C%22b%08%A9r%06%0F%9A%0A%933%06X%D0A%85%0E%26_%E2%04r4%E9J%D9%D0%17%0B%98%28rE%8D%1ED%94%3C%95%AAD%036F%0F%5B%E8%08z%A4I%14%AAV%AF%08M%F0m%F1%00%94D%96%3E%99Z%E5%2A%D6%ACTZ%98%5B%1CQhT%AAV%B0d%FE%CD%A2U%EBR%0A%ED%14%07t%29%F5J%3C%F9Z%B6d%C99%80~%E2%85A%B2%DE%C3%B7e%CB%D4%91%FA%13%F9%20J-%FB%F1%C7_%24%1C%00%18Q%01f%C4b%E0%83%AF%9C%F1%9A%82%0E%89%20%C9%83%0F~b%03%85%101%81%0A%86%FC%D5%22%88%03%1C%3A%A4%C0%1C%B3%80h%CB%2A%D9%95%D8%D0%09%96%A8h%8B%25%27%B8%C8P%00Z%B0%A2%A2%2Cs%D0g%A3B%11%F8Q%E0%83%A5%14%F1%E3B3t%22%23%23%16%1C%99%10%01g%C0%A2b%84%13%3AY%D0%06%8C%A8H%8A%8FV%1E%14%C4%28%18%0E%D1%A5B%08%C8%21%0B%7F%85%8C%C9%10%09%94%A0B%A2%9A%0C5%09%E7%9Ct%D6i%E7%9Dx%E6%A9%E7%9E%7C%F6%E9%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%EA%E8%A3%90F%2A%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8%A4%96j%EA%A9%A8%A6%AA%EA%AA%AC%B6%EA%EA%AB%03%0E%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%AD%01%02%9C%B5%98%B6%AD%DA%B5%0F%DD%A6%15%40%17n%DC%B9%02%06%0C%20P%60%80%DD%86%01%F2%EA%E5%7B%00A%02%BF%7F%15%06%D8%5B%C0%00%02%05%0D%20Pp%20%20%B1%C2%01%07%120x0%01C%07%12%28%28XN%28%40%81%04%0B%1CD%A8%90%C1%E3%88%8F%07%A3%11%2A%E8p%02F%0E%22O%B2%90YC%84%40l%83%03%3E%00Yb%25%CC%9A%3A~%0C%FD%91%F1%DB%60%84%26i%E4%EC%21%C4H%12%26O%7B%264%27%28%80G%9FD%91%2C%84q%0AU%0A%15%A90%88%B7%03%90%00g%13%28R%A7T%B1r%F5%E9%80z%826%28%A5%9A%0F%2BV%90%FB%05%1D%C0%06%2B%B1%C82%08%80%07%8D%10I%29%0E%20%88%90%05%0EF%28%E1%84%14Vh%E1%85%18f%A8%E1%86%1Cv%E8%E1%87%20%86%28%E2%88%24%96h%E2%89%28%A6%A8%E2%8A%2C%B6%E8%E2%8B0%C6%28%E3%8C4%D6h%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8F%40%06%29%E4%90D%16i%E4%91H%26%A9%E4%92%40%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%3B";
|
|
@@ -32239,9 +32315,9 @@ function HbLoadingSpinner({
|
|
|
32239
32315
|
extraQuipsOnly,
|
|
32240
32316
|
iconOnly
|
|
32241
32317
|
}) {
|
|
32242
|
-
const ctx = (0,
|
|
32318
|
+
const ctx = (0, import_react167.useContext)(HbLoadingSpinnerContext);
|
|
32243
32319
|
const tid = useTestIds({}, "hbSpinner");
|
|
32244
|
-
const quip = (0,
|
|
32320
|
+
const quip = (0, import_react167.useMemo)(() => {
|
|
32245
32321
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
32246
32322
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
32247
32323
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
@@ -32271,7 +32347,7 @@ function HbLoadingSpinner({
|
|
|
32271
32347
|
var dotDotDot = (str) => str.concat("...");
|
|
32272
32348
|
var HB_QUIPS_MISSION = ["Loading", "One Team", "On a Mission", "Executing Relentlessly", "Building Better", "In Service of Our Customers"].map(dotDotDot);
|
|
32273
32349
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
32274
|
-
var HbLoadingSpinnerContext =
|
|
32350
|
+
var HbLoadingSpinnerContext = import_react167.default.createContext({
|
|
32275
32351
|
quips: ["Loading..."],
|
|
32276
32352
|
noQuips: false
|
|
32277
32353
|
});
|
|
@@ -32279,7 +32355,7 @@ function HbSpinnerProvider({
|
|
|
32279
32355
|
quips = [],
|
|
32280
32356
|
children
|
|
32281
32357
|
}) {
|
|
32282
|
-
const state = (0,
|
|
32358
|
+
const state = (0, import_react167.useMemo)(() => ({
|
|
32283
32359
|
quips,
|
|
32284
32360
|
noQuips: quips.length === 0
|
|
32285
32361
|
}), [quips]);
|
|
@@ -32287,12 +32363,12 @@ function HbSpinnerProvider({
|
|
|
32287
32363
|
}
|
|
32288
32364
|
|
|
32289
32365
|
// src/components/Modal/OpenModal.tsx
|
|
32290
|
-
var
|
|
32366
|
+
var import_react168 = require("react");
|
|
32291
32367
|
var import_jsx_runtime249 = require("react/jsx-runtime");
|
|
32292
32368
|
function OpenModal(props) {
|
|
32293
32369
|
const { openModal } = useModal();
|
|
32294
32370
|
const { size, children, keepOpen, aiMode } = props;
|
|
32295
|
-
(0,
|
|
32371
|
+
(0, import_react168.useEffect)(() => {
|
|
32296
32372
|
if (!keepOpen) {
|
|
32297
32373
|
openModal({ size, content: children, aiMode });
|
|
32298
32374
|
}
|
|
@@ -32306,33 +32382,33 @@ function OpenModal(props) {
|
|
|
32306
32382
|
|
|
32307
32383
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
32308
32384
|
var import_framer_motion7 = require("framer-motion");
|
|
32309
|
-
var
|
|
32385
|
+
var import_react170 = require("react");
|
|
32310
32386
|
var import_react_aria74 = require("react-aria");
|
|
32311
32387
|
var import_react_dom11 = require("react-dom");
|
|
32312
32388
|
var import_react_router_dom7 = require("react-router-dom");
|
|
32313
32389
|
|
|
32314
32390
|
// src/layouts/NavbarLayout/MobileSubNavContext.tsx
|
|
32315
|
-
var
|
|
32391
|
+
var import_react169 = require("react");
|
|
32316
32392
|
var import_jsx_runtime250 = require("react/jsx-runtime");
|
|
32317
|
-
var MobileSubNavContext = (0,
|
|
32393
|
+
var MobileSubNavContext = (0, import_react169.createContext)(void 0);
|
|
32318
32394
|
function MobileSubNavProvider(props) {
|
|
32319
|
-
const [mobileSubNav, setMobileSubNav] = (0,
|
|
32320
|
-
const value = (0,
|
|
32395
|
+
const [mobileSubNav, setMobileSubNav] = (0, import_react169.useState)(null);
|
|
32396
|
+
const value = (0, import_react169.useMemo)(() => ({ mobileSubNav, setMobileSubNav }), [mobileSubNav]);
|
|
32321
32397
|
return /* @__PURE__ */ (0, import_jsx_runtime250.jsx)(MobileSubNavContext.Provider, { value, children: props.children });
|
|
32322
32398
|
}
|
|
32323
32399
|
function useMobileSubNav() {
|
|
32324
|
-
return (0,
|
|
32400
|
+
return (0, import_react169.useContext)(MobileSubNavContext)?.mobileSubNav ?? null;
|
|
32325
32401
|
}
|
|
32326
32402
|
function useRegisterMobileSubNav(content2) {
|
|
32327
|
-
const ctx = (0,
|
|
32403
|
+
const ctx = (0, import_react169.useContext)(MobileSubNavContext);
|
|
32328
32404
|
const setMobileSubNav = ctx?.setMobileSubNav;
|
|
32329
32405
|
const enabled = !useBreakpoint().mdAndUp;
|
|
32330
32406
|
const { top, items, footer } = content2;
|
|
32331
|
-
(0,
|
|
32407
|
+
(0, import_react169.useLayoutEffect)(() => {
|
|
32332
32408
|
if (!setMobileSubNav || !enabled) return;
|
|
32333
32409
|
setMobileSubNav({ top, items, footer });
|
|
32334
32410
|
}, [setMobileSubNav, enabled, top, items, footer]);
|
|
32335
|
-
(0,
|
|
32411
|
+
(0, import_react169.useLayoutEffect)(() => {
|
|
32336
32412
|
if (!setMobileSubNav || !enabled) return;
|
|
32337
32413
|
return () => setMobileSubNav(null);
|
|
32338
32414
|
}, [setMobileSubNav, enabled]);
|
|
@@ -32347,8 +32423,8 @@ function NavbarMobileMenu(props) {
|
|
|
32347
32423
|
items
|
|
32348
32424
|
} = props;
|
|
32349
32425
|
const tid = useTestIds(props, "navbar");
|
|
32350
|
-
const [isOpen2, setIsOpen] = (0,
|
|
32351
|
-
const [level, setLevel] = (0,
|
|
32426
|
+
const [isOpen2, setIsOpen] = (0, import_react170.useState)(false);
|
|
32427
|
+
const [level, setLevel] = (0, import_react170.useState)("sub");
|
|
32352
32428
|
const {
|
|
32353
32429
|
pathname,
|
|
32354
32430
|
search
|
|
@@ -32358,7 +32434,7 @@ function NavbarMobileMenu(props) {
|
|
|
32358
32434
|
isDisabled: !isOpen2
|
|
32359
32435
|
});
|
|
32360
32436
|
const close = () => setIsOpen(false);
|
|
32361
|
-
(0,
|
|
32437
|
+
(0, import_react170.useEffect)(() => {
|
|
32362
32438
|
close();
|
|
32363
32439
|
}, [pathname, search]);
|
|
32364
32440
|
return /* @__PURE__ */ (0, import_jsx_runtime251.jsxs)(import_jsx_runtime251.Fragment, { children: [
|
|
@@ -32507,12 +32583,12 @@ function NavbarMobileDrawer({
|
|
|
32507
32583
|
}
|
|
32508
32584
|
|
|
32509
32585
|
// src/hooks/useContentOverflow.ts
|
|
32510
|
-
var
|
|
32586
|
+
var import_react171 = require("react");
|
|
32511
32587
|
function useContentOverflow(enabled = true) {
|
|
32512
|
-
const containerRef = (0,
|
|
32513
|
-
const contentRef = (0,
|
|
32514
|
-
const [overflows, setOverflows] = (0,
|
|
32515
|
-
const checkContentOverflow = (0,
|
|
32588
|
+
const containerRef = (0, import_react171.useRef)(null);
|
|
32589
|
+
const contentRef = (0, import_react171.useRef)(null);
|
|
32590
|
+
const [overflows, setOverflows] = (0, import_react171.useState)(false);
|
|
32591
|
+
const checkContentOverflow = (0, import_react171.useCallback)(() => {
|
|
32516
32592
|
const container = containerRef.current;
|
|
32517
32593
|
const content2 = contentRef.current;
|
|
32518
32594
|
if (!enabled || !container || !content2) {
|
|
@@ -32521,7 +32597,7 @@ function useContentOverflow(enabled = true) {
|
|
|
32521
32597
|
}
|
|
32522
32598
|
setOverflows(content2.offsetWidth > container.clientWidth);
|
|
32523
32599
|
}, [enabled]);
|
|
32524
|
-
(0,
|
|
32600
|
+
(0, import_react171.useLayoutEffect)(() => {
|
|
32525
32601
|
checkContentOverflow();
|
|
32526
32602
|
window.addEventListener("resize", checkContentOverflow);
|
|
32527
32603
|
return () => window.removeEventListener("resize", checkContentOverflow);
|
|
@@ -32608,10 +32684,10 @@ function NavbarUserMenu({
|
|
|
32608
32684
|
}
|
|
32609
32685
|
|
|
32610
32686
|
// src/components/Snackbar/useSnackbar.tsx
|
|
32611
|
-
var
|
|
32687
|
+
var import_react172 = require("react");
|
|
32612
32688
|
function useSnackbar() {
|
|
32613
32689
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
32614
|
-
const onClose = (0,
|
|
32690
|
+
const onClose = (0, import_react172.useCallback)(
|
|
32615
32691
|
(noticeId) => {
|
|
32616
32692
|
setNotices((prev) => {
|
|
32617
32693
|
let returnValue = prev;
|
|
@@ -32628,7 +32704,7 @@ function useSnackbar() {
|
|
|
32628
32704
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32629
32705
|
[]
|
|
32630
32706
|
);
|
|
32631
|
-
const triggerNotice = (0,
|
|
32707
|
+
const triggerNotice = (0, import_react172.useCallback)(
|
|
32632
32708
|
(props) => {
|
|
32633
32709
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
32634
32710
|
let maybeTimeout;
|
|
@@ -32657,8 +32733,8 @@ function useSnackbar() {
|
|
|
32657
32733
|
},
|
|
32658
32734
|
[onClose, setNotices]
|
|
32659
32735
|
);
|
|
32660
|
-
const closeNotice = (0,
|
|
32661
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
32736
|
+
const closeNotice = (0, import_react172.useCallback)((id) => onClose(id), [onClose]);
|
|
32737
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react172.useEffect)(() => {
|
|
32662
32738
|
setOffset({ bottom });
|
|
32663
32739
|
return () => setOffset({});
|
|
32664
32740
|
}, [bottom]);
|
|
@@ -32707,7 +32783,7 @@ function simpleDataRows(data = []) {
|
|
|
32707
32783
|
|
|
32708
32784
|
// src/components/Tabs.tsx
|
|
32709
32785
|
var import_change_case9 = require("change-case");
|
|
32710
|
-
var
|
|
32786
|
+
var import_react173 = require("react");
|
|
32711
32787
|
var import_react_aria75 = require("react-aria");
|
|
32712
32788
|
var import_react_router = require("react-router");
|
|
32713
32789
|
var import_react_router_dom8 = require("react-router-dom");
|
|
@@ -32787,9 +32863,9 @@ function Tabs(props) {
|
|
|
32787
32863
|
focusProps
|
|
32788
32864
|
} = (0, import_react_aria75.useFocusRing)();
|
|
32789
32865
|
const tid = useTestIds(others, "tabs");
|
|
32790
|
-
const [active, setActive] = (0,
|
|
32791
|
-
const ref = (0,
|
|
32792
|
-
(0,
|
|
32866
|
+
const [active, setActive] = (0, import_react173.useState)(selected);
|
|
32867
|
+
const ref = (0, import_react173.useRef)(null);
|
|
32868
|
+
(0, import_react173.useEffect)(() => setActive(selected), [selected]);
|
|
32793
32869
|
function onKeyUp(e) {
|
|
32794
32870
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
32795
32871
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -32864,7 +32940,7 @@ function TabImpl(props) {
|
|
|
32864
32940
|
activeHoverStyles,
|
|
32865
32941
|
aiStyles,
|
|
32866
32942
|
activeAiStyles
|
|
32867
|
-
} = (0,
|
|
32943
|
+
} = (0, import_react173.useMemo)(() => getTabStyles(), []);
|
|
32868
32944
|
const uniqueValue = uniqueTabValue(tab);
|
|
32869
32945
|
const tid = useTestIds(others);
|
|
32870
32946
|
const tabProps = {
|
|
@@ -33024,51 +33100,79 @@ function hideTabs(props) {
|
|
|
33024
33100
|
}
|
|
33025
33101
|
|
|
33026
33102
|
// src/components/Toast/useToast.tsx
|
|
33027
|
-
var
|
|
33103
|
+
var import_react174 = require("react");
|
|
33028
33104
|
function useToast() {
|
|
33029
33105
|
const { setNotice, clear } = useToastContext();
|
|
33030
|
-
const showToast = (0,
|
|
33106
|
+
const showToast = (0, import_react174.useCallback)((props) => setNotice(props), [setNotice]);
|
|
33031
33107
|
return { showToast, clear };
|
|
33032
33108
|
}
|
|
33033
33109
|
|
|
33034
|
-
// src/illustrations/
|
|
33110
|
+
// src/illustrations/AiTableIllustration.tsx
|
|
33035
33111
|
var import_runtime163 = require("@homebound/truss/runtime");
|
|
33036
33112
|
var import_jsx_runtime254 = require("react/jsx-runtime");
|
|
33113
|
+
function AiTableIllustration(props) {
|
|
33114
|
+
const {
|
|
33115
|
+
width: width2 = 349
|
|
33116
|
+
} = props;
|
|
33117
|
+
return /* @__PURE__ */ (0, import_jsx_runtime254.jsxs)("svg", { viewBox: "0 0 349 197", xmlns: "http://www.w3.org/2000/svg", fill: "none", "aria-hidden": true, role: "presentation", ...(0, import_runtime163.trussProps)({
|
|
33118
|
+
width: ["w_var", {
|
|
33119
|
+
"--width": `${width2}px`
|
|
33120
|
+
}],
|
|
33121
|
+
maxWidth: "maxw100",
|
|
33122
|
+
height: "ha"
|
|
33123
|
+
}), children: [
|
|
33124
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("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" }),
|
|
33125
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("rect", { x: "96.22", y: "41.46", width: "144.5", height: "129.41", rx: "7.95", fill: "white" }),
|
|
33126
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("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" }),
|
|
33127
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("circle", { cx: "115.97", cy: "78.34", r: "4.91", fill: "#B6B2E1" }),
|
|
33128
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("circle", { cx: "115.97", cy: "104.77", r: "4.91", fill: "#B6B2E1" }),
|
|
33129
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("circle", { cx: "115.97", cy: "131.19", r: "4.91", fill: "#B6B2E1" }),
|
|
33130
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("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" }),
|
|
33131
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("rect", { x: "96.22", y: "41.46", width: "144.5", height: "129.41", rx: "7.95", stroke: "#7A7FA8", strokeWidth: "2.54" }),
|
|
33132
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("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" }),
|
|
33133
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("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" }),
|
|
33134
|
+
/* @__PURE__ */ (0, import_jsx_runtime254.jsx)("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" })
|
|
33135
|
+
] });
|
|
33136
|
+
}
|
|
33137
|
+
|
|
33138
|
+
// src/illustrations/DocumentUploadIllustration.tsx
|
|
33139
|
+
var import_runtime164 = require("@homebound/truss/runtime");
|
|
33140
|
+
var import_jsx_runtime255 = require("react/jsx-runtime");
|
|
33037
33141
|
function DocumentUploadIllustration(props) {
|
|
33038
33142
|
const {
|
|
33039
33143
|
width: width2 = 338
|
|
33040
33144
|
} = props;
|
|
33041
|
-
return /* @__PURE__ */ (0,
|
|
33145
|
+
return /* @__PURE__ */ (0, import_jsx_runtime255.jsxs)("svg", { viewBox: "0 0 338.25 270.6", xmlns: "http://www.w3.org/2000/svg", fill: "none", "aria-hidden": true, role: "presentation", ...(0, import_runtime164.trussProps)({
|
|
33042
33146
|
width: ["w_var", {
|
|
33043
33147
|
"--width": `${width2}px`
|
|
33044
33148
|
}],
|
|
33045
33149
|
maxWidth: "maxw100",
|
|
33046
33150
|
height: "ha"
|
|
33047
33151
|
}), children: [
|
|
33048
|
-
/* @__PURE__ */ (0,
|
|
33049
|
-
/* @__PURE__ */ (0,
|
|
33050
|
-
/* @__PURE__ */ (0,
|
|
33051
|
-
/* @__PURE__ */ (0,
|
|
33052
|
-
/* @__PURE__ */ (0,
|
|
33053
|
-
/* @__PURE__ */ (0,
|
|
33054
|
-
/* @__PURE__ */ (0,
|
|
33055
|
-
/* @__PURE__ */ (0,
|
|
33056
|
-
/* @__PURE__ */ (0,
|
|
33057
|
-
/* @__PURE__ */ (0,
|
|
33058
|
-
/* @__PURE__ */ (0,
|
|
33152
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" }),
|
|
33153
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" }),
|
|
33154
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" }),
|
|
33155
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" }),
|
|
33156
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("path", { d: "M192.785 83.3351V99.2582C192.785 102.885 195.726 105.826 199.353 105.826H215.482", fill: "white" }),
|
|
33157
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" }),
|
|
33158
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" }),
|
|
33159
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" }),
|
|
33160
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" }),
|
|
33161
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" }),
|
|
33162
|
+
/* @__PURE__ */ (0, import_jsx_runtime255.jsx)("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" })
|
|
33059
33163
|
] });
|
|
33060
33164
|
}
|
|
33061
33165
|
|
|
33062
33166
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
33063
|
-
var
|
|
33064
|
-
var
|
|
33167
|
+
var import_runtime165 = require("@homebound/truss/runtime");
|
|
33168
|
+
var import_jsx_runtime256 = require("react/jsx-runtime");
|
|
33065
33169
|
var __maybeInc29 = (inc) => {
|
|
33066
33170
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33067
33171
|
};
|
|
33068
33172
|
function SideNavLayout(props) {
|
|
33069
33173
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
33070
|
-
if (hasProvider) return /* @__PURE__ */ (0,
|
|
33071
|
-
return /* @__PURE__ */ (0,
|
|
33174
|
+
if (hasProvider) return /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(SideNavLayoutContent, { ...props });
|
|
33175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(SideNavLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(SideNavLayoutContent, { ...props }) });
|
|
33072
33176
|
}
|
|
33073
33177
|
function SideNavLayoutContent(props) {
|
|
33074
33178
|
const {
|
|
@@ -33091,7 +33195,7 @@ function SideNavLayoutContent(props) {
|
|
|
33091
33195
|
const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
|
|
33092
33196
|
const navTop = belowNavbarOffset();
|
|
33093
33197
|
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
33094
|
-
const rail = showRail && /* @__PURE__ */ (0,
|
|
33198
|
+
const rail = showRail && /* @__PURE__ */ (0, import_jsx_runtime256.jsxs)("div", { ...(0, import_runtime165.trussProps)({
|
|
33095
33199
|
...{
|
|
33096
33200
|
display: "df",
|
|
33097
33201
|
flexDirection: "fdc",
|
|
@@ -33115,14 +33219,14 @@ function SideNavLayoutContent(props) {
|
|
|
33115
33219
|
position: "sticky",
|
|
33116
33220
|
left: "l_0",
|
|
33117
33221
|
zIndex: ["z_var", {
|
|
33118
|
-
"--zIndex": (0,
|
|
33222
|
+
"--zIndex": (0, import_runtime165.maybeCssVar)(zIndices.sideNav)
|
|
33119
33223
|
}],
|
|
33120
33224
|
top: ["top_var", {
|
|
33121
|
-
"--top": (0,
|
|
33225
|
+
"--top": (0, import_runtime165.maybeCssVar)(__maybeInc29(navTop))
|
|
33122
33226
|
}],
|
|
33123
33227
|
alignSelf: "asfs",
|
|
33124
33228
|
height: ["h_var", {
|
|
33125
|
-
"--height": (0,
|
|
33229
|
+
"--height": (0, import_runtime165.maybeCssVar)(__maybeInc29(railViewportHeight))
|
|
33126
33230
|
}],
|
|
33127
33231
|
width: ["w_var", {
|
|
33128
33232
|
"--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
|
|
@@ -33132,11 +33236,11 @@ function SideNavLayoutContent(props) {
|
|
|
33132
33236
|
position: "fixed",
|
|
33133
33237
|
left: "l_0",
|
|
33134
33238
|
top: ["top_var", {
|
|
33135
|
-
"--top": (0,
|
|
33239
|
+
"--top": (0, import_runtime165.maybeCssVar)(__maybeInc29(navTop))
|
|
33136
33240
|
}],
|
|
33137
33241
|
bottom: "bot_0",
|
|
33138
33242
|
zIndex: ["z_var", {
|
|
33139
|
-
"--zIndex": (0,
|
|
33243
|
+
"--zIndex": (0, import_runtime165.maybeCssVar)(zIndices.sideNav)
|
|
33140
33244
|
}]
|
|
33141
33245
|
},
|
|
33142
33246
|
...collapsed ? {
|
|
@@ -33148,18 +33252,18 @@ function SideNavLayoutContent(props) {
|
|
|
33148
33252
|
}
|
|
33149
33253
|
}
|
|
33150
33254
|
}), ...tid.sideNav, children: [
|
|
33151
|
-
showCollapseToggle && /* @__PURE__ */ (0,
|
|
33152
|
-
/* @__PURE__ */ (0,
|
|
33255
|
+
showCollapseToggle && /* @__PURE__ */ (0, import_jsx_runtime256.jsx)("div", { className: "absolute r_2 top2 z2", children: /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
33256
|
+
/* @__PURE__ */ (0, import_jsx_runtime256.jsx)("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(SideNav, { ...sideNav }) })
|
|
33153
33257
|
] });
|
|
33154
|
-
return /* @__PURE__ */ (0,
|
|
33258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime256.jsxs)("div", { ...(0, import_runtime165.mergeProps)(void 0, {
|
|
33155
33259
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
33156
33260
|
}, {
|
|
33157
33261
|
display: "df",
|
|
33158
33262
|
flexDirection: "fdr",
|
|
33159
33263
|
width: "w100"
|
|
33160
33264
|
}), ...tid, children: [
|
|
33161
|
-
contrastRail ? /* @__PURE__ */ (0,
|
|
33162
|
-
/* @__PURE__ */ (0,
|
|
33265
|
+
contrastRail ? /* @__PURE__ */ (0, import_jsx_runtime256.jsx)(ContrastScope, { children: rail }) : rail,
|
|
33266
|
+
/* @__PURE__ */ (0, import_jsx_runtime256.jsx)("div", { ...(0, import_runtime165.trussProps)({
|
|
33163
33267
|
display: "df",
|
|
33164
33268
|
flexDirection: "fdc",
|
|
33165
33269
|
flexGrow: "fg1",
|
|
@@ -33175,8 +33279,8 @@ function SideNavLayoutContent(props) {
|
|
|
33175
33279
|
}
|
|
33176
33280
|
|
|
33177
33281
|
// src/layouts/CenteredLayout/CenteredLayout.tsx
|
|
33178
|
-
var
|
|
33179
|
-
var
|
|
33282
|
+
var import_runtime166 = require("@homebound/truss/runtime");
|
|
33283
|
+
var import_jsx_runtime257 = require("react/jsx-runtime");
|
|
33180
33284
|
function CenteredLayout(props) {
|
|
33181
33285
|
const {
|
|
33182
33286
|
size,
|
|
@@ -33188,7 +33292,7 @@ function CenteredLayout(props) {
|
|
|
33188
33292
|
mdAndUp
|
|
33189
33293
|
} = useBreakpoint();
|
|
33190
33294
|
const rightPane = resolveWithRightPaneOptions(withRightPane);
|
|
33191
|
-
const shell = /* @__PURE__ */ (0,
|
|
33295
|
+
const shell = /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(ContentInsetProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime257.jsx)("div", { ...(0, import_runtime166.mergeProps)(void 0, {
|
|
33192
33296
|
// layoutContainer descendants (e.g. ContentHeader) read this to inset sticky horizontal chrome within the shell padding.
|
|
33193
33297
|
[beamLayoutContentPaddingXVar]: mdAndUp ? pageContentPaddingXValue : smPageContentPaddingXValue,
|
|
33194
33298
|
// Floor while an ancestor overlay pane is open (`0px` when closed). `md+` only — phones must not get a dummy scrollbar.
|
|
@@ -33207,7 +33311,7 @@ function CenteredLayout(props) {
|
|
|
33207
33311
|
...pageContentPaddingX
|
|
33208
33312
|
}), ...tid, children }) });
|
|
33209
33313
|
if (!rightPane) return shell;
|
|
33210
|
-
return /* @__PURE__ */ (0,
|
|
33314
|
+
return /* @__PURE__ */ (0, import_jsx_runtime257.jsx)(DocumentScrollOverlayRightPaneLayout, { paneWidth: rightPane.width, children: shell });
|
|
33211
33315
|
}
|
|
33212
33316
|
var centeredContentMaxPx = {
|
|
33213
33317
|
sm: 720,
|
|
@@ -33220,8 +33324,8 @@ var centeredShellMaxPx = {
|
|
|
33220
33324
|
};
|
|
33221
33325
|
|
|
33222
33326
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
|
|
33223
|
-
var
|
|
33224
|
-
var
|
|
33327
|
+
var import_runtime167 = require("@homebound/truss/runtime");
|
|
33328
|
+
var import_jsx_runtime258 = require("react/jsx-runtime");
|
|
33225
33329
|
var __maybeInc30 = (inc) => {
|
|
33226
33330
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33227
33331
|
};
|
|
@@ -33237,45 +33341,45 @@ function EnvironmentBannerLayout(props) {
|
|
|
33237
33341
|
[beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
|
|
33238
33342
|
};
|
|
33239
33343
|
const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
|
|
33240
|
-
return /* @__PURE__ */ (0,
|
|
33344
|
+
return /* @__PURE__ */ (0, import_jsx_runtime258.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime258.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime258.jsxs)("div", { ...(0, import_runtime167.mergeProps)(void 0, style, {
|
|
33241
33345
|
display: "df",
|
|
33242
33346
|
flexDirection: "fdc",
|
|
33243
33347
|
width: "wfc",
|
|
33244
33348
|
minWidth: "mw100"
|
|
33245
33349
|
}), ...tid, children: [
|
|
33246
|
-
showBanner && environmentBanner && /* @__PURE__ */ (0,
|
|
33350
|
+
showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime258.jsx)("div", { ...(0, import_runtime167.mergeProps)(void 0, {
|
|
33247
33351
|
height: environmentBannerSizePx
|
|
33248
33352
|
}, {
|
|
33249
33353
|
flexShrink: "fs0",
|
|
33250
33354
|
width: "w100"
|
|
33251
|
-
}), children: /* @__PURE__ */ (0,
|
|
33355
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime258.jsx)("div", { ...(0, import_runtime167.trussProps)({
|
|
33252
33356
|
position: "fixed",
|
|
33253
33357
|
top: "top0",
|
|
33254
33358
|
left: "l_0",
|
|
33255
33359
|
zIndex: ["z_var", {
|
|
33256
|
-
"--zIndex": (0,
|
|
33360
|
+
"--zIndex": (0, import_runtime167.maybeCssVar)(zIndices.environmentBanner)
|
|
33257
33361
|
}],
|
|
33258
33362
|
width: ["w_var", {
|
|
33259
|
-
"--width": (0,
|
|
33363
|
+
"--width": (0, import_runtime167.maybeCssVar)(__maybeInc30(innerWidth))
|
|
33260
33364
|
}]
|
|
33261
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0,
|
|
33365
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime258.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
|
|
33262
33366
|
children
|
|
33263
33367
|
] }) }) });
|
|
33264
33368
|
}
|
|
33265
33369
|
|
|
33266
33370
|
// src/layouts/FormSectionLayout/FormSectionLayout.tsx
|
|
33267
|
-
var
|
|
33371
|
+
var import_runtime171 = require("@homebound/truss/runtime");
|
|
33268
33372
|
|
|
33269
33373
|
// src/forms/FormSection/FormSection.tsx
|
|
33270
33374
|
var import_react_aria77 = require("react-aria");
|
|
33271
33375
|
var import_react_stately19 = require("react-stately");
|
|
33272
|
-
var
|
|
33376
|
+
var import_runtime169 = require("@homebound/truss/runtime");
|
|
33273
33377
|
|
|
33274
33378
|
// src/forms/FormSection/FormSectionChild.tsx
|
|
33275
|
-
var
|
|
33379
|
+
var import_react175 = require("react");
|
|
33276
33380
|
var import_react_aria76 = require("react-aria");
|
|
33277
|
-
var
|
|
33278
|
-
var
|
|
33381
|
+
var import_runtime168 = require("@homebound/truss/runtime");
|
|
33382
|
+
var import_jsx_runtime259 = require("react/jsx-runtime");
|
|
33279
33383
|
function FormSectionChild(props) {
|
|
33280
33384
|
const {
|
|
33281
33385
|
title,
|
|
@@ -33289,7 +33393,7 @@ function FormSectionChild(props) {
|
|
|
33289
33393
|
group
|
|
33290
33394
|
} = props;
|
|
33291
33395
|
const tid = useTestIds(props, "formSectionChild");
|
|
33292
|
-
const itemRef = (0,
|
|
33396
|
+
const itemRef = (0, import_react175.useRef)(null);
|
|
33293
33397
|
const isDraggable = !!orderField;
|
|
33294
33398
|
const {
|
|
33295
33399
|
dragItemProps,
|
|
@@ -33298,11 +33402,11 @@ function FormSectionChild(props) {
|
|
|
33298
33402
|
id: props.id ?? title,
|
|
33299
33403
|
itemRef
|
|
33300
33404
|
});
|
|
33301
|
-
const control = group?.mode === "single" ? /* @__PURE__ */ (0,
|
|
33302
|
-
return /* @__PURE__ */ (0,
|
|
33405
|
+
const control = group?.mode === "single" ? /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(FormSectionChildRadio, { state: group.state, value, label: title, ...tid.radio }) : group?.mode === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(FormSectionChildCheckbox, { state: group.state, value, label: title, ...tid.checkbox }) : selection ? /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(BoundCheckboxField, { field: selection.field, label: title, checkboxOnly: true, ...tid.checkbox }) : void 0;
|
|
33406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime259.jsxs)("div", { ...isDraggable ? {
|
|
33303
33407
|
...dragItemProps,
|
|
33304
33408
|
ref: itemRef
|
|
33305
|
-
} : {}, ...(0,
|
|
33409
|
+
} : {}, ...(0, import_runtime168.trussProps)({
|
|
33306
33410
|
display: "df",
|
|
33307
33411
|
flexDirection: "fdc",
|
|
33308
33412
|
gap: "g_2",
|
|
@@ -33318,8 +33422,8 @@ function FormSectionChild(props) {
|
|
|
33318
33422
|
borderStyle: "lot_bsn",
|
|
33319
33423
|
borderWidth: "lot_bw_0"
|
|
33320
33424
|
}), ...tid, children: [
|
|
33321
|
-
/* @__PURE__ */ (0,
|
|
33322
|
-
isDraggable && /* @__PURE__ */ (0,
|
|
33425
|
+
/* @__PURE__ */ (0, import_jsx_runtime259.jsx)(ContentHeader, { ...tid.header, title, description, actions, level: 4, rightSlotLead: tag && /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(Tag, { ...tag, ...tid.tag }), startAdornment: isDraggable || control ? /* @__PURE__ */ (0, import_jsx_runtime259.jsxs)(import_jsx_runtime259.Fragment, { children: [
|
|
33426
|
+
isDraggable && /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(DnDGridItemHandle, { dragHandleProps, icon: "drag", compact: true }),
|
|
33323
33427
|
control
|
|
33324
33428
|
] }) : void 0 }),
|
|
33325
33429
|
fields
|
|
@@ -33331,7 +33435,7 @@ function FormSectionChildRadio(props) {
|
|
|
33331
33435
|
value,
|
|
33332
33436
|
label
|
|
33333
33437
|
} = props;
|
|
33334
|
-
const ref = (0,
|
|
33438
|
+
const ref = (0, import_react175.useRef)(null);
|
|
33335
33439
|
const {
|
|
33336
33440
|
inputProps,
|
|
33337
33441
|
isDisabled,
|
|
@@ -33345,7 +33449,7 @@ function FormSectionChildRadio(props) {
|
|
|
33345
33449
|
isFocusVisible
|
|
33346
33450
|
} = (0, import_react_aria76.useFocusRing)();
|
|
33347
33451
|
const tid = useTestIds(props);
|
|
33348
|
-
return /* @__PURE__ */ (0,
|
|
33452
|
+
return /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(StyledRadio, { isDisabled, isSelected, isFocusVisible, inputProps: {
|
|
33349
33453
|
...(0, import_react_aria76.mergeProps)(inputProps, focusProps),
|
|
33350
33454
|
ref,
|
|
33351
33455
|
...tid
|
|
@@ -33357,7 +33461,7 @@ function FormSectionChildCheckbox(props) {
|
|
|
33357
33461
|
value,
|
|
33358
33462
|
label
|
|
33359
33463
|
} = props;
|
|
33360
|
-
const ref = (0,
|
|
33464
|
+
const ref = (0, import_react175.useRef)(null);
|
|
33361
33465
|
const {
|
|
33362
33466
|
inputProps,
|
|
33363
33467
|
isDisabled,
|
|
@@ -33373,21 +33477,21 @@ function FormSectionChildCheckbox(props) {
|
|
|
33373
33477
|
const tid = useTestIds(props);
|
|
33374
33478
|
return (
|
|
33375
33479
|
// `StyledCheckbox` is just the visual box, so the label makes clicking it toggle the hidden input
|
|
33376
|
-
/* @__PURE__ */ (0,
|
|
33480
|
+
/* @__PURE__ */ (0, import_jsx_runtime259.jsxs)("label", { ...(0, import_runtime168.trussProps)({
|
|
33377
33481
|
display: "df",
|
|
33378
33482
|
cursor: "cur_pointer",
|
|
33379
33483
|
...isDisabled ? {
|
|
33380
33484
|
cursor: "cur_not_allowed"
|
|
33381
33485
|
} : {}
|
|
33382
33486
|
}), children: [
|
|
33383
|
-
/* @__PURE__ */ (0,
|
|
33384
|
-
/* @__PURE__ */ (0,
|
|
33487
|
+
/* @__PURE__ */ (0, import_jsx_runtime259.jsx)(import_react_aria76.VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime259.jsx)("input", { ref, ...(0, import_react_aria76.mergeProps)(inputProps, focusProps), ...tid }) }),
|
|
33488
|
+
/* @__PURE__ */ (0, import_jsx_runtime259.jsx)(StyledCheckbox, { isDisabled, isSelected, isFocusVisible })
|
|
33385
33489
|
] })
|
|
33386
33490
|
);
|
|
33387
33491
|
}
|
|
33388
33492
|
|
|
33389
33493
|
// src/forms/FormSection/FormSection.tsx
|
|
33390
|
-
var
|
|
33494
|
+
var import_jsx_runtime260 = require("react/jsx-runtime");
|
|
33391
33495
|
function FormSection(props) {
|
|
33392
33496
|
const {
|
|
33393
33497
|
title,
|
|
@@ -33398,17 +33502,17 @@ function FormSection(props) {
|
|
|
33398
33502
|
selection
|
|
33399
33503
|
} = props;
|
|
33400
33504
|
const tid = useTestIds(props, "formSection");
|
|
33401
|
-
return /* @__PURE__ */ (0,
|
|
33505
|
+
return /* @__PURE__ */ (0, import_jsx_runtime260.jsxs)("div", { id: defaultTestId(title), ...(0, import_runtime169.trussProps)({
|
|
33402
33506
|
display: "df",
|
|
33403
33507
|
flexDirection: "fdc",
|
|
33404
33508
|
gap: "g_2",
|
|
33405
33509
|
scrollMarginTop: ["scrollMarginTop_var", {
|
|
33406
|
-
"--scrollMarginTop": (0,
|
|
33510
|
+
"--scrollMarginTop": (0, import_runtime169.maybeCssVar)(stickyNavAndHeaderOffset())
|
|
33407
33511
|
}]
|
|
33408
33512
|
}), ...tid.section, children: [
|
|
33409
|
-
/* @__PURE__ */ (0,
|
|
33513
|
+
/* @__PURE__ */ (0, import_jsx_runtime260.jsx)(ContentHeader, { ...tid, title, description, actions, level: 3 }),
|
|
33410
33514
|
fields,
|
|
33411
|
-
childSections && (selection?.mode === "single" ? /* @__PURE__ */ (0,
|
|
33515
|
+
childSections && (selection?.mode === "single" ? /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(FormSectionRadioGroup, { field: selection.field, label: title, childSections, ...tid }) : selection?.mode === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(FormSectionCheckboxGroup, { field: selection.field, label: title, childSections, ...tid }) : /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(ChildSectionList, { childSections, ...tid.childSection }))
|
|
33412
33516
|
] });
|
|
33413
33517
|
}
|
|
33414
33518
|
function FormSectionRadioGroup(props) {
|
|
@@ -33441,7 +33545,7 @@ function FormSectionRadioGroup(props) {
|
|
|
33441
33545
|
onFocus: () => field.focus(),
|
|
33442
33546
|
onBlur: () => field.blur()
|
|
33443
33547
|
}, state);
|
|
33444
|
-
return /* @__PURE__ */ (0,
|
|
33548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime260.jsx)("div", { ...radioGroupProps, ...tid.childGroup, children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(ChildSectionList, { childSections, group: {
|
|
33445
33549
|
mode: "single",
|
|
33446
33550
|
state
|
|
33447
33551
|
}, ...tid.childSection }) });
|
|
@@ -33476,7 +33580,7 @@ function FormSectionCheckboxGroup(props) {
|
|
|
33476
33580
|
onFocus: () => field.focus(),
|
|
33477
33581
|
onBlur: () => field.blur()
|
|
33478
33582
|
}, state);
|
|
33479
|
-
return /* @__PURE__ */ (0,
|
|
33583
|
+
return /* @__PURE__ */ (0, import_jsx_runtime260.jsx)("div", { ...groupProps, ...tid.childGroup, children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(ChildSectionList, { childSections, group: {
|
|
33480
33584
|
mode: "multiple",
|
|
33481
33585
|
state
|
|
33482
33586
|
}, ...tid.childSection }) });
|
|
@@ -33487,7 +33591,7 @@ function ChildSectionList(props) {
|
|
|
33487
33591
|
group,
|
|
33488
33592
|
...tid
|
|
33489
33593
|
} = props;
|
|
33490
|
-
return isReorderable(childSections) ? /* @__PURE__ */ (0,
|
|
33594
|
+
return isReorderable(childSections) ? /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(DraggableChildren, { childSections, group, ...tid }) : /* @__PURE__ */ (0, import_jsx_runtime260.jsx)("div", { className: "df fdc g_3", children: childSections.map((child) => /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(FormSectionChild, { ...child, group, ...tid }, child.id ?? child.title)) });
|
|
33491
33595
|
}
|
|
33492
33596
|
function isReorderable(childSections) {
|
|
33493
33597
|
return childSections.length > 0 && childSections.every((c) => !!c.orderField);
|
|
@@ -33510,18 +33614,18 @@ function DraggableChildren(props) {
|
|
|
33510
33614
|
}
|
|
33511
33615
|
});
|
|
33512
33616
|
};
|
|
33513
|
-
return /* @__PURE__ */ (0,
|
|
33617
|
+
return /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(DnDGrid, { onReorder: handleReorder, lockAxis: "y", gridStyles: {
|
|
33514
33618
|
gridTemplateColumns: "gtc_minmax_0_1fr",
|
|
33515
33619
|
gap: "g_3"
|
|
33516
|
-
}, children: sorted.map((child) => /* @__PURE__ */ (0,
|
|
33620
|
+
}, children: sorted.map((child) => /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(FormSectionChild, { ...child, group, ...tid }, child.id)) });
|
|
33517
33621
|
}
|
|
33518
33622
|
function sortByOrderField(childSections) {
|
|
33519
33623
|
return [...childSections].sort((a, b) => (a.orderField.value ?? 0) - (b.orderField.value ?? 0));
|
|
33520
33624
|
}
|
|
33521
33625
|
|
|
33522
33626
|
// src/layouts/FormSectionLayout/JumpLinksRail.tsx
|
|
33523
|
-
var
|
|
33524
|
-
var
|
|
33627
|
+
var import_runtime170 = require("@homebound/truss/runtime");
|
|
33628
|
+
var import_jsx_runtime261 = require("react/jsx-runtime");
|
|
33525
33629
|
var __maybeInc31 = (inc) => {
|
|
33526
33630
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33527
33631
|
};
|
|
@@ -33531,7 +33635,7 @@ function JumpLinksRail(props) {
|
|
|
33531
33635
|
activeId
|
|
33532
33636
|
} = props;
|
|
33533
33637
|
const tid = useTestIds(props, "jumpLinks");
|
|
33534
|
-
return /* @__PURE__ */ (0,
|
|
33638
|
+
return /* @__PURE__ */ (0, import_jsx_runtime261.jsx)("nav", { ...(0, import_runtime170.trussProps)({
|
|
33535
33639
|
display: "df",
|
|
33536
33640
|
flexDirection: "fdc",
|
|
33537
33641
|
flexShrink: "fs0",
|
|
@@ -33541,21 +33645,21 @@ function JumpLinksRail(props) {
|
|
|
33541
33645
|
position: "sticky",
|
|
33542
33646
|
alignSelf: "asfs",
|
|
33543
33647
|
top: ["top_var", {
|
|
33544
|
-
"--top": (0,
|
|
33648
|
+
"--top": (0, import_runtime170.maybeCssVar)(__maybeInc31(stickyNavAndHeaderOffset()))
|
|
33545
33649
|
}]
|
|
33546
|
-
}), ...tid, children: links.map((link) => /* @__PURE__ */ (0,
|
|
33650
|
+
}), ...tid, children: links.map((link) => /* @__PURE__ */ (0, import_jsx_runtime261.jsx)(JumpLink, { label: link.label, href: `#${link.id}`, active: link.id === activeId, ...tid.link }, link.id)) });
|
|
33547
33651
|
}
|
|
33548
33652
|
var jumpLinksRailWidthPx = 192;
|
|
33549
33653
|
var railAndShellPx = centeredShellMaxPx.sm + jumpLinksRailWidthPx;
|
|
33550
33654
|
var jumpLinksRailReservation = `clamp(0px, 100% - ${railAndShellPx}px, ${jumpLinksRailWidthPx}px)`;
|
|
33551
33655
|
|
|
33552
33656
|
// src/layouts/FormSectionLayout/useActiveJumpLink.ts
|
|
33553
|
-
var
|
|
33657
|
+
var import_react176 = require("react");
|
|
33554
33658
|
var activationLeadPx = 120;
|
|
33555
33659
|
function useActiveJumpLink(sectionIds) {
|
|
33556
33660
|
const idsKey = sectionIds.join("\0");
|
|
33557
|
-
const [activeId, setActiveId] = (0,
|
|
33558
|
-
(0,
|
|
33661
|
+
const [activeId, setActiveId] = (0, import_react176.useState)(sectionIds[0]);
|
|
33662
|
+
(0, import_react176.useLayoutEffect)(() => {
|
|
33559
33663
|
const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
|
|
33560
33664
|
if (ids.length === 0) return;
|
|
33561
33665
|
const update = () => {
|
|
@@ -33579,7 +33683,7 @@ function useActiveJumpLink(sectionIds) {
|
|
|
33579
33683
|
}
|
|
33580
33684
|
|
|
33581
33685
|
// src/layouts/FormSectionLayout/FormSectionLayout.tsx
|
|
33582
|
-
var
|
|
33686
|
+
var import_jsx_runtime262 = require("react/jsx-runtime");
|
|
33583
33687
|
var __maybeInc32 = (inc) => {
|
|
33584
33688
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33585
33689
|
};
|
|
@@ -33616,7 +33720,7 @@ function FormSectionLayout(props) {
|
|
|
33616
33720
|
}] : [], ...sectionLinks];
|
|
33617
33721
|
const showRail = withJumpLinks && jumpLinks.length >= 2 && !isMobile;
|
|
33618
33722
|
const activeId = useActiveJumpLink(showRail ? jumpLinks.map((link) => link.id) : []);
|
|
33619
|
-
const content2 = /* @__PURE__ */ (0,
|
|
33723
|
+
const content2 = /* @__PURE__ */ (0, import_jsx_runtime262.jsxs)("div", { ...(0, import_runtime171.trussProps)({
|
|
33620
33724
|
display: "df",
|
|
33621
33725
|
flexDirection: "fdc",
|
|
33622
33726
|
gap: "g_8",
|
|
@@ -33627,37 +33731,37 @@ function FormSectionLayout(props) {
|
|
|
33627
33731
|
paddingLeft: "pl3"
|
|
33628
33732
|
} : {}
|
|
33629
33733
|
}), children: [
|
|
33630
|
-
/* @__PURE__ */ (0,
|
|
33734
|
+
/* @__PURE__ */ (0, import_jsx_runtime262.jsxs)("div", { id: titleAnchor ? formSectionLayoutTitleId : void 0, ...(0, import_runtime171.trussProps)({
|
|
33631
33735
|
display: "df",
|
|
33632
33736
|
flexDirection: "fdc",
|
|
33633
33737
|
gap: "g_3",
|
|
33634
33738
|
...titleAnchor ? {
|
|
33635
33739
|
scrollMarginTop: ["scrollMarginTop_var", {
|
|
33636
|
-
"--scrollMarginTop": (0,
|
|
33740
|
+
"--scrollMarginTop": (0, import_runtime171.maybeCssVar)(stickyNavAndHeaderOffset())
|
|
33637
33741
|
}]
|
|
33638
33742
|
} : {}
|
|
33639
33743
|
}), children: [
|
|
33640
|
-
/* @__PURE__ */ (0,
|
|
33744
|
+
/* @__PURE__ */ (0, import_jsx_runtime262.jsx)(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2, aiMode }),
|
|
33641
33745
|
initialFields
|
|
33642
33746
|
] }),
|
|
33643
|
-
sections && /* @__PURE__ */ (0,
|
|
33747
|
+
sections && /* @__PURE__ */ (0, import_jsx_runtime262.jsx)("div", { className: "df fdc g_8", children: sections.map((section, i) => /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(FormSection, { ...section }, defaultTestId(section.title) || i)) })
|
|
33644
33748
|
] });
|
|
33645
|
-
const form = /* @__PURE__ */ (0,
|
|
33646
|
-
const body = showRail ? /* @__PURE__ */ (0,
|
|
33647
|
-
/* @__PURE__ */ (0,
|
|
33648
|
-
/* @__PURE__ */ (0,
|
|
33749
|
+
const form = /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(CenteredLayout, { size: "sm", children: aiMode ? /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(AiCard, { size: "lg", ...tid, children: content2 }) : content2 });
|
|
33750
|
+
const body = showRail ? /* @__PURE__ */ (0, import_jsx_runtime262.jsxs)("div", { className: "df w100 mb4", children: [
|
|
33751
|
+
/* @__PURE__ */ (0, import_jsx_runtime262.jsx)(JumpLinksRail, { links: jumpLinks, activeId, ...tid.jumpLinks }),
|
|
33752
|
+
/* @__PURE__ */ (0, import_jsx_runtime262.jsx)("div", { ...(0, import_runtime171.trussProps)({
|
|
33649
33753
|
flexGrow: "fg1",
|
|
33650
33754
|
marginRight: ["mr_var", {
|
|
33651
|
-
"--marginRight": (0,
|
|
33755
|
+
"--marginRight": (0, import_runtime171.maybeCssVar)(__maybeInc32(jumpLinksRailReservation))
|
|
33652
33756
|
}]
|
|
33653
33757
|
}), ...tid.column, children: form })
|
|
33654
|
-
] }) : /* @__PURE__ */ (0,
|
|
33758
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime262.jsx)("div", { className: "mb4", children: form });
|
|
33655
33759
|
if (!rightPane) return body;
|
|
33656
|
-
return /* @__PURE__ */ (0,
|
|
33760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(DocumentScrollOverlayRightPaneLayout, { paneWidth: rightPane.width, children: body });
|
|
33657
33761
|
}
|
|
33658
33762
|
|
|
33659
33763
|
// src/layouts/PageBanner/usePageBanner.tsx
|
|
33660
|
-
var
|
|
33764
|
+
var import_react177 = require("react");
|
|
33661
33765
|
|
|
33662
33766
|
// src/layouts/PageBanner/pageBannerStore.ts
|
|
33663
33767
|
var current;
|
|
@@ -33694,13 +33798,13 @@ function clearPageBanner(id) {
|
|
|
33694
33798
|
|
|
33695
33799
|
// src/layouts/PageBanner/usePageBanner.tsx
|
|
33696
33800
|
function usePageBanner(banner) {
|
|
33697
|
-
const id = (0,
|
|
33698
|
-
(0,
|
|
33801
|
+
const id = (0, import_react177.useId)();
|
|
33802
|
+
(0, import_react177.useLayoutEffect)(() => {
|
|
33699
33803
|
if (!banner) return;
|
|
33700
33804
|
setPageBanner(id, banner);
|
|
33701
33805
|
return () => clearPageBanner(id);
|
|
33702
33806
|
}, [id, banner]);
|
|
33703
|
-
(0,
|
|
33807
|
+
(0, import_react177.useEffect)(() => {
|
|
33704
33808
|
if (!banner || hasPageBannerSubscriber() || process.env.NODE_ENV === "production") return;
|
|
33705
33809
|
console.warn("[usePageBanner] No page layout above this component; the banner will not render.");
|
|
33706
33810
|
}, [banner]);
|
|
@@ -33711,11 +33815,11 @@ function PageBanner(props) {
|
|
|
33711
33815
|
}
|
|
33712
33816
|
|
|
33713
33817
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
33714
|
-
var
|
|
33715
|
-
var
|
|
33818
|
+
var import_react182 = require("react");
|
|
33819
|
+
var import_runtime172 = require("@homebound/truss/runtime");
|
|
33716
33820
|
|
|
33717
33821
|
// src/layouts/useAutoHideOnScroll.ts
|
|
33718
|
-
var
|
|
33822
|
+
var import_react178 = require("react");
|
|
33719
33823
|
var THRESHOLD = 80;
|
|
33720
33824
|
function getInitialAutoHideState() {
|
|
33721
33825
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -33725,13 +33829,13 @@ function getInitialAutoHideState() {
|
|
|
33725
33829
|
}
|
|
33726
33830
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
33727
33831
|
const initial = getInitialAutoHideState();
|
|
33728
|
-
const [state, setState] = (0,
|
|
33729
|
-
const stateRef = (0,
|
|
33730
|
-
const getTopOffsetRef = (0,
|
|
33832
|
+
const [state, setState] = (0, import_react178.useState)(initial);
|
|
33833
|
+
const stateRef = (0, import_react178.useRef)(initial);
|
|
33834
|
+
const getTopOffsetRef = (0, import_react178.useRef)(getTopOffset);
|
|
33731
33835
|
getTopOffsetRef.current = getTopOffset;
|
|
33732
|
-
const lastScrollY = (0,
|
|
33733
|
-
const lastScrollHeight = (0,
|
|
33734
|
-
(0,
|
|
33836
|
+
const lastScrollY = (0, import_react178.useRef)(Number.POSITIVE_INFINITY);
|
|
33837
|
+
const lastScrollHeight = (0, import_react178.useRef)(0);
|
|
33838
|
+
(0, import_react178.useLayoutEffect)(() => {
|
|
33735
33839
|
if (!enabled) {
|
|
33736
33840
|
stateRef.current = "resting";
|
|
33737
33841
|
lastScrollY.current = Number.POSITIVE_INFINITY;
|
|
@@ -33796,26 +33900,26 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
33796
33900
|
}
|
|
33797
33901
|
|
|
33798
33902
|
// src/layouts/useMeasuredHeight.ts
|
|
33799
|
-
var
|
|
33800
|
-
var
|
|
33903
|
+
var import_utils53 = require("@react-aria/utils");
|
|
33904
|
+
var import_react179 = require("react");
|
|
33801
33905
|
function useMeasuredHeight(ref, enabled) {
|
|
33802
|
-
const [height, setHeight] = (0,
|
|
33803
|
-
const syncElementHeight = (0,
|
|
33906
|
+
const [height, setHeight] = (0, import_react179.useState)(0);
|
|
33907
|
+
const syncElementHeight = (0, import_react179.useCallback)(() => {
|
|
33804
33908
|
const el = ref.current;
|
|
33805
33909
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
33806
33910
|
setHeight((prev) => prev === next ? prev : next);
|
|
33807
33911
|
}, [ref]);
|
|
33808
|
-
(0,
|
|
33809
|
-
(0,
|
|
33912
|
+
(0, import_utils53.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
33913
|
+
(0, import_react179.useLayoutEffect)(() => {
|
|
33810
33914
|
syncElementHeight();
|
|
33811
33915
|
}, [enabled, syncElementHeight]);
|
|
33812
33916
|
return height;
|
|
33813
33917
|
}
|
|
33814
33918
|
|
|
33815
33919
|
// src/layouts/useTransitionAfterPaint.ts
|
|
33816
|
-
var
|
|
33920
|
+
var import_react180 = require("react");
|
|
33817
33921
|
function useTransitionAfterPaint(ref, transition) {
|
|
33818
|
-
(0,
|
|
33922
|
+
(0, import_react180.useLayoutEffect)(() => {
|
|
33819
33923
|
const el = ref.current;
|
|
33820
33924
|
if (!el) return;
|
|
33821
33925
|
const id = requestAnimationFrame(() => {
|
|
@@ -33826,18 +33930,18 @@ function useTransitionAfterPaint(ref, transition) {
|
|
|
33826
33930
|
}
|
|
33827
33931
|
|
|
33828
33932
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
33829
|
-
var
|
|
33830
|
-
var
|
|
33831
|
-
var NavbarLayoutHeightContext = (0,
|
|
33933
|
+
var import_react181 = require("react");
|
|
33934
|
+
var import_jsx_runtime263 = require("react/jsx-runtime");
|
|
33935
|
+
var NavbarLayoutHeightContext = (0, import_react181.createContext)(0);
|
|
33832
33936
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
33833
|
-
return /* @__PURE__ */ (0,
|
|
33937
|
+
return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
33834
33938
|
}
|
|
33835
33939
|
function useNavbarLayoutHeight() {
|
|
33836
|
-
return (0,
|
|
33940
|
+
return (0, import_react181.useContext)(NavbarLayoutHeightContext);
|
|
33837
33941
|
}
|
|
33838
33942
|
|
|
33839
33943
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
33840
|
-
var
|
|
33944
|
+
var import_jsx_runtime264 = require("react/jsx-runtime");
|
|
33841
33945
|
var __maybeInc33 = (inc) => {
|
|
33842
33946
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
33843
33947
|
};
|
|
@@ -33847,8 +33951,8 @@ function NavbarLayout(props) {
|
|
|
33847
33951
|
children
|
|
33848
33952
|
} = props;
|
|
33849
33953
|
const tid = useTestIds(props, "navbarLayout");
|
|
33850
|
-
const navMetricsRef = (0,
|
|
33851
|
-
const spacerRef = (0,
|
|
33954
|
+
const navMetricsRef = (0, import_react182.useRef)(null);
|
|
33955
|
+
const spacerRef = (0, import_react182.useRef)(null);
|
|
33852
33956
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
33853
33957
|
const {
|
|
33854
33958
|
state: autoHideState
|
|
@@ -33863,10 +33967,10 @@ function NavbarLayout(props) {
|
|
|
33863
33967
|
position: "fixed",
|
|
33864
33968
|
left: "l_0",
|
|
33865
33969
|
zIndex: ["z_var", {
|
|
33866
|
-
"--zIndex": (0,
|
|
33970
|
+
"--zIndex": (0, import_runtime172.maybeCssVar)(zIndices.navbar)
|
|
33867
33971
|
}],
|
|
33868
33972
|
width: ["w_var", {
|
|
33869
|
-
"--width": (0,
|
|
33973
|
+
"--width": (0, import_runtime172.maybeCssVar)(__maybeInc33(innerWidth))
|
|
33870
33974
|
}]
|
|
33871
33975
|
};
|
|
33872
33976
|
useTransitionAfterPaint(navMetricsRef, "top 200ms cubic-bezier(0.4, 0, 0.2, 1)");
|
|
@@ -33874,32 +33978,32 @@ function NavbarLayout(props) {
|
|
|
33874
33978
|
const innerStyle = {
|
|
33875
33979
|
top: autoHideState === "hidden" ? `calc(${bannerTop} - ${navHeight}px)` : bannerTop
|
|
33876
33980
|
};
|
|
33877
|
-
const navbarEl = (0,
|
|
33878
|
-
return /* @__PURE__ */ (0,
|
|
33981
|
+
const navbarEl = (0, import_react182.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
33982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(MobileSubNavProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime264.jsxs)("div", { ...(0, import_runtime172.mergeProps)(void 0, cssVars, {
|
|
33879
33983
|
display: "df",
|
|
33880
33984
|
flexDirection: "fdc",
|
|
33881
33985
|
width: "wfc",
|
|
33882
33986
|
minWidth: "mw100"
|
|
33883
33987
|
}), ...tid, children: [
|
|
33884
|
-
/* @__PURE__ */ (0,
|
|
33988
|
+
/* @__PURE__ */ (0, import_jsx_runtime264.jsx)("div", { ref: spacerRef, ...(0, import_runtime172.mergeProps)(void 0, {
|
|
33885
33989
|
height: navHeight
|
|
33886
33990
|
}, {
|
|
33887
33991
|
flexShrink: "fs0",
|
|
33888
33992
|
width: "w100"
|
|
33889
|
-
}), children: /* @__PURE__ */ (0,
|
|
33890
|
-
/* @__PURE__ */ (0,
|
|
33993
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime264.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime172.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
33994
|
+
/* @__PURE__ */ (0, import_jsx_runtime264.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
33891
33995
|
] }) }) }) });
|
|
33892
33996
|
}
|
|
33893
33997
|
|
|
33894
33998
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
33895
|
-
var
|
|
33999
|
+
var import_react185 = require("react");
|
|
33896
34000
|
|
|
33897
34001
|
// src/hooks/useDocumentTitle.tsx
|
|
33898
|
-
var
|
|
34002
|
+
var import_react183 = require("react");
|
|
33899
34003
|
function useDocumentTitle(...titleSegments) {
|
|
33900
34004
|
const config = useDocumentTitleConfig();
|
|
33901
34005
|
const pageTitle = joinDocumentTitleSegments(...titleSegments);
|
|
33902
|
-
(0,
|
|
34006
|
+
(0, import_react183.useLayoutEffect)(() => {
|
|
33903
34007
|
if (!config || !pageTitle || typeof document === "undefined") {
|
|
33904
34008
|
return;
|
|
33905
34009
|
}
|
|
@@ -33911,8 +34015,8 @@ function useDocumentTitle(...titleSegments) {
|
|
|
33911
34015
|
}
|
|
33912
34016
|
|
|
33913
34017
|
// src/components/Headers/BaseHeader.tsx
|
|
33914
|
-
var
|
|
33915
|
-
var
|
|
34018
|
+
var import_runtime173 = require("@homebound/truss/runtime");
|
|
34019
|
+
var import_jsx_runtime265 = require("react/jsx-runtime");
|
|
33916
34020
|
function BaseHeader(props) {
|
|
33917
34021
|
const {
|
|
33918
34022
|
title,
|
|
@@ -33924,7 +34028,7 @@ function BaseHeader(props) {
|
|
|
33924
34028
|
} = props;
|
|
33925
34029
|
const tid = useTestIds(otherProps, "header");
|
|
33926
34030
|
useDocumentTitle(title, documentTitleSuffix);
|
|
33927
|
-
return /* @__PURE__ */ (0,
|
|
34031
|
+
return /* @__PURE__ */ (0, import_jsx_runtime265.jsxs)("header", { ...tid, ...(0, import_runtime173.trussProps)({
|
|
33928
34032
|
display: "df",
|
|
33929
34033
|
flexDirection: "fdc",
|
|
33930
34034
|
paddingTop: "pt3",
|
|
@@ -33938,7 +34042,7 @@ function BaseHeader(props) {
|
|
|
33938
34042
|
"--backgroundColor": "var(--b-surface)"
|
|
33939
34043
|
}]
|
|
33940
34044
|
}), children: [
|
|
33941
|
-
/* @__PURE__ */ (0,
|
|
34045
|
+
/* @__PURE__ */ (0, import_jsx_runtime265.jsxs)("div", { ...(0, import_runtime173.trussProps)({
|
|
33942
34046
|
...{
|
|
33943
34047
|
display: "df",
|
|
33944
34048
|
justifyContent: "jcsb",
|
|
@@ -33952,9 +34056,9 @@ function BaseHeader(props) {
|
|
|
33952
34056
|
} : {}
|
|
33953
34057
|
}
|
|
33954
34058
|
}), children: [
|
|
33955
|
-
/* @__PURE__ */ (0,
|
|
33956
|
-
breadcrumbs && /* @__PURE__ */ (0,
|
|
33957
|
-
/* @__PURE__ */ (0,
|
|
34059
|
+
/* @__PURE__ */ (0, import_jsx_runtime265.jsxs)("div", { className: "mw0", children: [
|
|
34060
|
+
breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(Breadcrumbs, { ...breadcrumbs }),
|
|
34061
|
+
/* @__PURE__ */ (0, import_jsx_runtime265.jsx)("h1", { ...tid.title, ...(0, import_runtime173.trussProps)({
|
|
33958
34062
|
fontWeight: "fw6",
|
|
33959
34063
|
fontSize: "fz_20px",
|
|
33960
34064
|
lineHeight: "lh_28px",
|
|
@@ -33963,15 +34067,15 @@ function BaseHeader(props) {
|
|
|
33963
34067
|
}]
|
|
33964
34068
|
}), children: title })
|
|
33965
34069
|
] }),
|
|
33966
|
-
/* @__PURE__ */ (0,
|
|
34070
|
+
/* @__PURE__ */ (0, import_jsx_runtime265.jsx)("div", { className: "fs0", children: rightSlot })
|
|
33967
34071
|
] }),
|
|
33968
34072
|
bottomSlot
|
|
33969
34073
|
] });
|
|
33970
34074
|
}
|
|
33971
34075
|
|
|
33972
34076
|
// src/components/Headers/PageHeader.tsx
|
|
33973
|
-
var
|
|
33974
|
-
var
|
|
34077
|
+
var import_runtime174 = require("@homebound/truss/runtime");
|
|
34078
|
+
var import_jsx_runtime266 = require("react/jsx-runtime");
|
|
33975
34079
|
function PageHeader2(props) {
|
|
33976
34080
|
const {
|
|
33977
34081
|
tabs,
|
|
@@ -33987,29 +34091,29 @@ function PageHeader2(props) {
|
|
|
33987
34091
|
bottomSlotActions,
|
|
33988
34092
|
rightSlotActions
|
|
33989
34093
|
} = splitHeaderActionsOnSm(actions, sm);
|
|
33990
|
-
return /* @__PURE__ */ (0,
|
|
33991
|
-
/* @__PURE__ */ (0,
|
|
33992
|
-
rightSlotActions.length > 0 && /* @__PURE__ */ (0,
|
|
34094
|
+
return /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(BaseHeader, { ...otherProps, rightSlot: /* @__PURE__ */ (0, import_jsx_runtime266.jsxs)("div", { className: "df g_2 fs0", ...tid.actions, children: [
|
|
34095
|
+
/* @__PURE__ */ (0, import_jsx_runtime266.jsx)(AutoSaveIndicator, { hideOnIdle: true }),
|
|
34096
|
+
rightSlotActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(HeaderActions, { actions: rightSlotActions, collapseOnSm: true }),
|
|
33993
34097
|
rightSlot
|
|
33994
|
-
] }), bottomSlot: (bottomSlotActions.length > 0 || tabs) && /* @__PURE__ */ (0,
|
|
33995
|
-
bottomSlotActions.length > 0 && /* @__PURE__ */ (0,
|
|
34098
|
+
] }), bottomSlot: (bottomSlotActions.length > 0 || tabs) && /* @__PURE__ */ (0, import_jsx_runtime266.jsxs)(import_jsx_runtime266.Fragment, { children: [
|
|
34099
|
+
bottomSlotActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime266.jsx)("div", { ...(0, import_runtime174.trussProps)({
|
|
33996
34100
|
...pageContentPaddingX,
|
|
33997
34101
|
...{
|
|
33998
34102
|
...!tabs ? {
|
|
33999
34103
|
marginBottom: "mb2"
|
|
34000
34104
|
} : {}
|
|
34001
34105
|
}
|
|
34002
|
-
}), ...tid.bottomSlot, children: /* @__PURE__ */ (0,
|
|
34003
|
-
tabs && /* @__PURE__ */ (0,
|
|
34106
|
+
}), ...tid.bottomSlot, children: /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(HeaderActions, { actions: bottomSlotActions }) }),
|
|
34107
|
+
tabs && /* @__PURE__ */ (0, import_jsx_runtime266.jsx)("div", { ...(0, import_runtime174.trussProps)(pageContentPaddingX), children: /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(Tabs, { ...tabs, ...tid.tabs }) })
|
|
34004
34108
|
] }) });
|
|
34005
34109
|
}
|
|
34006
34110
|
|
|
34007
34111
|
// src/layouts/PageBanner/internal/usePageBannerSlot.tsx
|
|
34008
|
-
var
|
|
34112
|
+
var import_react184 = require("react");
|
|
34009
34113
|
|
|
34010
34114
|
// src/layouts/PageBanner/internal/PageBannerSlot.tsx
|
|
34011
|
-
var
|
|
34012
|
-
var
|
|
34115
|
+
var import_runtime175 = require("@homebound/truss/runtime");
|
|
34116
|
+
var import_jsx_runtime267 = require("react/jsx-runtime");
|
|
34013
34117
|
var __maybeInc34 = (inc) => {
|
|
34014
34118
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
34015
34119
|
};
|
|
@@ -34019,42 +34123,42 @@ function PageBannerSlot(props) {
|
|
|
34019
34123
|
metricsRef
|
|
34020
34124
|
} = props;
|
|
34021
34125
|
const tid = useTestIds(props, "pageBannerSlot");
|
|
34022
|
-
return /* @__PURE__ */ (0,
|
|
34126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime267.jsx)("div", { ref: metricsRef, ...(0, import_runtime175.trussProps)({
|
|
34023
34127
|
flexShrink: "fs0",
|
|
34024
34128
|
width: ["w_var", {
|
|
34025
|
-
"--width": (0,
|
|
34129
|
+
"--width": (0, import_runtime175.maybeCssVar)(__maybeInc34(`min(100%, ${documentScrollChromeWidth()})`))
|
|
34026
34130
|
}],
|
|
34027
34131
|
transition: "transitionTop",
|
|
34028
34132
|
position: "sticky",
|
|
34029
34133
|
top: ["top_var", {
|
|
34030
|
-
"--top": (0,
|
|
34134
|
+
"--top": (0, import_runtime175.maybeCssVar)(__maybeInc34(pageBannerOffset()))
|
|
34031
34135
|
}],
|
|
34032
34136
|
left: ["left_var", {
|
|
34033
|
-
"--left": (0,
|
|
34137
|
+
"--left": (0, import_runtime175.maybeCssVar)(__maybeInc34(documentScrollChromeLeft()))
|
|
34034
34138
|
}],
|
|
34035
34139
|
zIndex: ["z_var", {
|
|
34036
|
-
"--zIndex": (0,
|
|
34140
|
+
"--zIndex": (0, import_runtime175.maybeCssVar)(zIndices.pageBanner)
|
|
34037
34141
|
}]
|
|
34038
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0,
|
|
34142
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(StatusBanner, { ...banner, sticky: true, ...tid.banner }) });
|
|
34039
34143
|
}
|
|
34040
34144
|
|
|
34041
34145
|
// src/layouts/PageBanner/internal/usePageBannerSlot.tsx
|
|
34042
|
-
var
|
|
34146
|
+
var import_jsx_runtime268 = require("react/jsx-runtime");
|
|
34043
34147
|
function usePageBannerSlot(bannerProp, testIds) {
|
|
34044
34148
|
const publishedBanner = usePublishedPageBanner();
|
|
34045
34149
|
const banner = publishedBanner ?? bannerProp;
|
|
34046
|
-
const metricsRef = (0,
|
|
34150
|
+
const metricsRef = (0, import_react184.useRef)(null);
|
|
34047
34151
|
const height = useMeasuredHeight(metricsRef, banner != null);
|
|
34048
|
-
const slot = banner ? /* @__PURE__ */ (0,
|
|
34152
|
+
const slot = banner ? /* @__PURE__ */ (0, import_jsx_runtime268.jsx)(PageBannerSlot, { ...testIds, banner, metricsRef }) : null;
|
|
34049
34153
|
return { slot, height };
|
|
34050
34154
|
}
|
|
34051
34155
|
function usePublishedPageBanner() {
|
|
34052
|
-
const [banner, setBanner] = (0,
|
|
34053
|
-
const sync = (0,
|
|
34156
|
+
const [banner, setBanner] = (0, import_react184.useState)(pageBannerStore.getSnapshot);
|
|
34157
|
+
const sync = (0, import_react184.useCallback)(() => {
|
|
34054
34158
|
const next = pageBannerStore.getSnapshot();
|
|
34055
34159
|
setBanner((prev) => prev === next ? prev : next);
|
|
34056
34160
|
}, []);
|
|
34057
|
-
(0,
|
|
34161
|
+
(0, import_react184.useLayoutEffect)(() => {
|
|
34058
34162
|
sync();
|
|
34059
34163
|
return pageBannerStore.subscribe(sync);
|
|
34060
34164
|
}, [sync]);
|
|
@@ -34067,8 +34171,8 @@ function useBannerAndNavbarHeight() {
|
|
|
34067
34171
|
}
|
|
34068
34172
|
|
|
34069
34173
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
34070
|
-
var
|
|
34071
|
-
var
|
|
34174
|
+
var import_runtime176 = require("@homebound/truss/runtime");
|
|
34175
|
+
var import_jsx_runtime269 = require("react/jsx-runtime");
|
|
34072
34176
|
var __maybeInc35 = (inc) => {
|
|
34073
34177
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
34074
34178
|
};
|
|
@@ -34084,11 +34188,11 @@ function PageHeaderLayout(props) {
|
|
|
34084
34188
|
height: bannerHeight
|
|
34085
34189
|
} = usePageBannerSlot(bannerProp, tid);
|
|
34086
34190
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
34087
|
-
const bannerAndNavbarHeightRef = (0,
|
|
34191
|
+
const bannerAndNavbarHeightRef = (0, import_react185.useRef)(bannerAndNavbarHeight);
|
|
34088
34192
|
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
34089
|
-
const getBannerAndNavbarHeight = (0,
|
|
34090
|
-
const headerMetricsRef = (0,
|
|
34091
|
-
const spacerRef = (0,
|
|
34193
|
+
const getBannerAndNavbarHeight = (0, import_react185.useCallback)(() => bannerAndNavbarHeightRef.current, []);
|
|
34194
|
+
const headerMetricsRef = (0, import_react185.useRef)(null);
|
|
34195
|
+
const spacerRef = (0, import_react185.useRef)(null);
|
|
34092
34196
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
34093
34197
|
const {
|
|
34094
34198
|
state: autoHideState
|
|
@@ -34108,57 +34212,57 @@ function PageHeaderLayout(props) {
|
|
|
34108
34212
|
const innerCss = {
|
|
34109
34213
|
position: "fixed",
|
|
34110
34214
|
left: ["left_var", {
|
|
34111
|
-
"--left": (0,
|
|
34215
|
+
"--left": (0, import_runtime176.maybeCssVar)(__maybeInc35(headerLeft))
|
|
34112
34216
|
}],
|
|
34113
34217
|
width: ["w_var", {
|
|
34114
|
-
"--width": (0,
|
|
34218
|
+
"--width": (0, import_runtime176.maybeCssVar)(__maybeInc35(headerWidth))
|
|
34115
34219
|
}],
|
|
34116
34220
|
zIndex: ["z_var", {
|
|
34117
|
-
"--zIndex": (0,
|
|
34221
|
+
"--zIndex": (0, import_runtime176.maybeCssVar)(zIndices.pageStickyHeader)
|
|
34118
34222
|
}]
|
|
34119
34223
|
};
|
|
34120
34224
|
useTransitionAfterPaint(headerMetricsRef, "all 200ms cubic-bezier(0.4, 0, 0.2, 1)");
|
|
34121
34225
|
const innerStyle = {
|
|
34122
34226
|
top: autoHideState === "hidden" ? `calc(${outerTop} - ${headerHeight}px)` : outerTop
|
|
34123
34227
|
};
|
|
34124
|
-
const pageHeaderEl = (0,
|
|
34125
|
-
return /* @__PURE__ */ (0,
|
|
34228
|
+
const pageHeaderEl = (0, import_react185.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
34229
|
+
return /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)("div", { ...(0, import_runtime176.mergeProps)(void 0, style, {
|
|
34126
34230
|
display: "df",
|
|
34127
34231
|
flexDirection: "fdc",
|
|
34128
34232
|
width: "w100"
|
|
34129
34233
|
}), ...tid, children: [
|
|
34130
|
-
/* @__PURE__ */ (0,
|
|
34234
|
+
/* @__PURE__ */ (0, import_jsx_runtime269.jsx)("div", { ref: spacerRef, ...(0, import_runtime176.mergeProps)(void 0, {
|
|
34131
34235
|
height: headerHeight
|
|
34132
34236
|
}, {
|
|
34133
34237
|
flexShrink: "fs0",
|
|
34134
34238
|
width: "w100"
|
|
34135
|
-
}), children: /* @__PURE__ */ (0,
|
|
34239
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime176.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
34136
34240
|
bannerSlot,
|
|
34137
|
-
/* @__PURE__ */ (0,
|
|
34241
|
+
/* @__PURE__ */ (0, import_jsx_runtime269.jsx)("div", { className: "df fdc fg1 mh0 w100 n_has_data_self_top_spaced_first_child_pt3", ...tid.body, children })
|
|
34138
34242
|
] }) });
|
|
34139
34243
|
}
|
|
34140
34244
|
|
|
34141
34245
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
34142
|
-
var
|
|
34246
|
+
var import_react188 = require("react");
|
|
34143
34247
|
|
|
34144
34248
|
// src/components/Headers/WorkflowHeader.tsx
|
|
34145
|
-
var
|
|
34249
|
+
var import_jsx_runtime270 = require("react/jsx-runtime");
|
|
34146
34250
|
function WorkflowHeader(props) {
|
|
34147
34251
|
const { stepperTabs, ...otherProps } = props;
|
|
34148
34252
|
const tid = useTestIds(otherProps, "header");
|
|
34149
|
-
return /* @__PURE__ */ (0,
|
|
34253
|
+
return /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
|
|
34150
34254
|
BaseHeader,
|
|
34151
34255
|
{
|
|
34152
34256
|
...otherProps,
|
|
34153
|
-
bottomSlot: stepperTabs ? /* @__PURE__ */ (0,
|
|
34257
|
+
bottomSlot: stepperTabs ? /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) : void 0
|
|
34154
34258
|
}
|
|
34155
34259
|
);
|
|
34156
34260
|
}
|
|
34157
34261
|
|
|
34158
34262
|
// src/layouts/Workflow/RightPaneTriggers.tsx
|
|
34159
|
-
var
|
|
34160
|
-
var
|
|
34161
|
-
var
|
|
34263
|
+
var import_react186 = require("react");
|
|
34264
|
+
var import_runtime177 = require("@homebound/truss/runtime");
|
|
34265
|
+
var import_jsx_runtime271 = require("react/jsx-runtime");
|
|
34162
34266
|
var __maybeInc36 = (inc) => {
|
|
34163
34267
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
34164
34268
|
};
|
|
@@ -34177,14 +34281,14 @@ function WorkflowPageRightPaneTriggers(props) {
|
|
|
34177
34281
|
} = useRightPaneActions();
|
|
34178
34282
|
const tid = useTestIds(props, "rightPaneTriggers");
|
|
34179
34283
|
const pageTriggerInsetPx = 24;
|
|
34180
|
-
const onClick = (0,
|
|
34284
|
+
const onClick = (0, import_react186.useCallback)((trigger) => {
|
|
34181
34285
|
openRightPane({
|
|
34182
|
-
content: /* @__PURE__ */ (0,
|
|
34286
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime271.jsx)(RightPanePanel, { title: trigger.label, children: trigger.content })
|
|
34183
34287
|
});
|
|
34184
34288
|
}, [openRightPane]);
|
|
34185
|
-
return /* @__PURE__ */ (0,
|
|
34289
|
+
return /* @__PURE__ */ (0, import_jsx_runtime271.jsx)("div", { ...tid, "aria-hidden": isRightPaneOpen, ...isRightPaneOpen ? {
|
|
34186
34290
|
inert: true
|
|
34187
|
-
} : {}, ...(0,
|
|
34291
|
+
} : {}, ...(0, import_runtime177.trussProps)({
|
|
34188
34292
|
...{
|
|
34189
34293
|
display: "df",
|
|
34190
34294
|
alignItems: "aic",
|
|
@@ -34198,40 +34302,40 @@ function WorkflowPageRightPaneTriggers(props) {
|
|
|
34198
34302
|
...!isMobile && {
|
|
34199
34303
|
position: "fixed",
|
|
34200
34304
|
top: ["top_var", {
|
|
34201
|
-
"--top": (0,
|
|
34305
|
+
"--top": (0, import_runtime177.maybeCssVar)(__maybeInc36(stickyNavAndHeaderOffset(pageTriggerInsetPx)))
|
|
34202
34306
|
}],
|
|
34203
34307
|
right: ["right_var", {
|
|
34204
34308
|
"--right": `${pageTriggerInsetPx}px`
|
|
34205
34309
|
}],
|
|
34206
34310
|
zIndex: ["z_var", {
|
|
34207
|
-
"--zIndex": (0,
|
|
34311
|
+
"--zIndex": (0, import_runtime177.maybeCssVar)(zIndices.rightPaneTriggers)
|
|
34208
34312
|
}]
|
|
34209
34313
|
},
|
|
34210
34314
|
// Desktop only — on `sm` the full-bleed pane covers the header slot.
|
|
34211
34315
|
...!isMobile && (isRightPaneOpen ? {
|
|
34212
34316
|
transform: ["transform_var", {
|
|
34213
|
-
"--transform": (0,
|
|
34317
|
+
"--transform": (0, import_runtime177.maybeCssVar)(`translateX(calc(100% + ${pageTriggerInsetPx}px))`)
|
|
34214
34318
|
}],
|
|
34215
34319
|
pointerEvents: "pen"
|
|
34216
34320
|
} : {
|
|
34217
34321
|
transform: "tf_translateX_0"
|
|
34218
34322
|
})
|
|
34219
|
-
}), children: triggers.map((trigger) => /* @__PURE__ */ (0,
|
|
34323
|
+
}), children: triggers.map((trigger) => /* @__PURE__ */ (0, import_jsx_runtime271.jsx)(IconButton, { icon: trigger.icon, label: trigger.label, variant: "circle", compact: isMobile, onClick: () => onClick(trigger), ...tid[trigger.icon] }, trigger.label)) });
|
|
34220
34324
|
}
|
|
34221
34325
|
|
|
34222
34326
|
// src/layouts/Workflow/useUnsavedChangesGuard.tsx
|
|
34223
|
-
var
|
|
34327
|
+
var import_react187 = require("react");
|
|
34224
34328
|
var import_react_router_dom9 = require("react-router-dom");
|
|
34225
|
-
var
|
|
34329
|
+
var import_jsx_runtime272 = require("react/jsx-runtime");
|
|
34226
34330
|
function useUnsavedChangesGuard(options) {
|
|
34227
34331
|
const { isDirty, allowNavigation, onCancel, destructiveAction } = options;
|
|
34228
34332
|
const { openModal } = useModal();
|
|
34229
|
-
const isDirtyRef = (0,
|
|
34333
|
+
const isDirtyRef = (0, import_react187.useRef)(isDirty);
|
|
34230
34334
|
isDirtyRef.current = isDirty;
|
|
34231
|
-
const allowNavigationRef = (0,
|
|
34335
|
+
const allowNavigationRef = (0, import_react187.useRef)(allowNavigation);
|
|
34232
34336
|
allowNavigationRef.current = allowNavigation;
|
|
34233
|
-
const allowCancelNavigationRef = (0,
|
|
34234
|
-
(0,
|
|
34337
|
+
const allowCancelNavigationRef = (0, import_react187.useRef)(false);
|
|
34338
|
+
(0, import_react187.useEffect)(() => {
|
|
34235
34339
|
const onBeforeUnload = (e) => {
|
|
34236
34340
|
if (isDirtyRef.current?.()) {
|
|
34237
34341
|
e.preventDefault();
|
|
@@ -34258,7 +34362,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
34258
34362
|
}
|
|
34259
34363
|
openModal({
|
|
34260
34364
|
allowClosing: false,
|
|
34261
|
-
content: /* @__PURE__ */ (0,
|
|
34365
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(ConfirmCloseModal, { onClose: () => confirmCancel(e) })
|
|
34262
34366
|
});
|
|
34263
34367
|
};
|
|
34264
34368
|
const onDestructiveActionClick = destructiveAction ? (e) => {
|
|
@@ -34270,7 +34374,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
34270
34374
|
} = destructiveAction;
|
|
34271
34375
|
openModal({
|
|
34272
34376
|
allowClosing: false,
|
|
34273
|
-
content: /* @__PURE__ */ (0,
|
|
34377
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
|
|
34274
34378
|
ConfirmCloseModal,
|
|
34275
34379
|
{
|
|
34276
34380
|
title: confirmTitle,
|
|
@@ -34298,10 +34402,10 @@ function useUnsavedChangesGuard(options) {
|
|
|
34298
34402
|
function UnsavedChangesNavigationModal(props) {
|
|
34299
34403
|
const { proceed, cancelNavigation } = props;
|
|
34300
34404
|
const { openModal, closeModal } = useModal();
|
|
34301
|
-
(0,
|
|
34405
|
+
(0, import_react187.useEffect)(() => {
|
|
34302
34406
|
openModal({
|
|
34303
34407
|
allowClosing: false,
|
|
34304
|
-
content: /* @__PURE__ */ (0,
|
|
34408
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
34305
34409
|
});
|
|
34306
34410
|
return () => closeModal();
|
|
34307
34411
|
}, []);
|
|
@@ -34309,7 +34413,7 @@ function UnsavedChangesNavigationModal(props) {
|
|
|
34309
34413
|
}
|
|
34310
34414
|
|
|
34311
34415
|
// src/layouts/Workflow/WorkflowActions.tsx
|
|
34312
|
-
var
|
|
34416
|
+
var import_jsx_runtime273 = require("react/jsx-runtime");
|
|
34313
34417
|
function WorkflowActions(props) {
|
|
34314
34418
|
const {
|
|
34315
34419
|
onCancel,
|
|
@@ -34328,13 +34432,13 @@ function WorkflowActions(props) {
|
|
|
34328
34432
|
sm: isMobile
|
|
34329
34433
|
} = useBreakpoint();
|
|
34330
34434
|
const primaryVariant = aiMode ? "ai" : "primary";
|
|
34331
|
-
return /* @__PURE__ */ (0,
|
|
34332
|
-
/* @__PURE__ */ (0,
|
|
34333
|
-
/* @__PURE__ */ (0,
|
|
34334
|
-
/* @__PURE__ */ (0,
|
|
34335
|
-
onSaveAndExit && /* @__PURE__ */ (0,
|
|
34336
|
-
destructiveAction && /* @__PURE__ */ (0,
|
|
34337
|
-
isLastStep ? /* @__PURE__ */ (0,
|
|
34435
|
+
return /* @__PURE__ */ (0, import_jsx_runtime273.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
|
|
34436
|
+
/* @__PURE__ */ (0, import_jsx_runtime273.jsx)("div", { className: "df aic", children: !isFirstStep && isMobile && onBack && /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
|
|
34437
|
+
/* @__PURE__ */ (0, import_jsx_runtime273.jsxs)("div", { className: "df aic g_1", children: [
|
|
34438
|
+
/* @__PURE__ */ (0, import_jsx_runtime273.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
|
|
34439
|
+
onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
|
|
34440
|
+
destructiveAction && /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(Button, { label: destructiveAction.label ?? "Remove", variant: "danger", onClick: destructiveAction.onConfirm }),
|
|
34441
|
+
isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(Button, { label: "Continue", variant: primaryVariant, onClick: async () => {
|
|
34338
34442
|
await onContinue?.();
|
|
34339
34443
|
}, disabled: primaryDisabled })
|
|
34340
34444
|
] })
|
|
@@ -34342,8 +34446,8 @@ function WorkflowActions(props) {
|
|
|
34342
34446
|
}
|
|
34343
34447
|
|
|
34344
34448
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
34345
|
-
var
|
|
34346
|
-
var
|
|
34449
|
+
var import_runtime178 = require("@homebound/truss/runtime");
|
|
34450
|
+
var import_jsx_runtime274 = require("react/jsx-runtime");
|
|
34347
34451
|
var __maybeInc37 = (inc) => {
|
|
34348
34452
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
34349
34453
|
};
|
|
@@ -34382,13 +34486,13 @@ function WorkflowPageLayout(props) {
|
|
|
34382
34486
|
onCancel,
|
|
34383
34487
|
destructiveAction
|
|
34384
34488
|
});
|
|
34385
|
-
const actions = /* @__PURE__ */ (0,
|
|
34489
|
+
const actions = /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick, destructiveAction: destructiveAction && {
|
|
34386
34490
|
...destructiveAction,
|
|
34387
34491
|
onConfirm: onDestructiveActionClick
|
|
34388
34492
|
} });
|
|
34389
34493
|
const triggers = rightPaneTriggers ?? [];
|
|
34390
|
-
const pageTriggers = triggers.length > 0 ? /* @__PURE__ */ (0,
|
|
34391
|
-
const headerMetricsRef = (0,
|
|
34494
|
+
const pageTriggers = triggers.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(WorkflowPageRightPaneTriggers, { triggers }) : void 0;
|
|
34495
|
+
const headerMetricsRef = (0, import_react188.useRef)(null);
|
|
34392
34496
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
34393
34497
|
const headerWidth = documentScrollChromeWidth();
|
|
34394
34498
|
const outerTop = belowNavbarOffset();
|
|
@@ -34401,7 +34505,7 @@ function WorkflowPageLayout(props) {
|
|
|
34401
34505
|
}
|
|
34402
34506
|
const style = Object.keys(cssVars).length > 0 ? cssVars : void 0;
|
|
34403
34507
|
const showFooter = isMobile;
|
|
34404
|
-
(0,
|
|
34508
|
+
(0, import_react188.useLayoutEffect)(() => {
|
|
34405
34509
|
const root = document.documentElement;
|
|
34406
34510
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
34407
34511
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -34414,8 +34518,8 @@ function WorkflowPageLayout(props) {
|
|
|
34414
34518
|
};
|
|
34415
34519
|
}, [showFooter]);
|
|
34416
34520
|
const currentStep = stepperTabs?.currentStep;
|
|
34417
|
-
const prevStepRef = (0,
|
|
34418
|
-
(0,
|
|
34521
|
+
const prevStepRef = (0, import_react188.useRef)(currentStep);
|
|
34522
|
+
(0, import_react188.useLayoutEffect)(() => {
|
|
34419
34523
|
if (prevStepRef.current === currentStep) return;
|
|
34420
34524
|
prevStepRef.current = currentStep;
|
|
34421
34525
|
window.scrollTo({
|
|
@@ -34423,33 +34527,33 @@ function WorkflowPageLayout(props) {
|
|
|
34423
34527
|
left: 0
|
|
34424
34528
|
});
|
|
34425
34529
|
}, [currentStep]);
|
|
34426
|
-
return /* @__PURE__ */ (0,
|
|
34427
|
-
/* @__PURE__ */ (0,
|
|
34530
|
+
return /* @__PURE__ */ (0, import_jsx_runtime274.jsxs)(DocumentScrollLayoutProvider, { children: [
|
|
34531
|
+
/* @__PURE__ */ (0, import_jsx_runtime274.jsxs)("div", { ...(0, import_runtime178.mergeProps)(void 0, style, {
|
|
34428
34532
|
display: "df",
|
|
34429
34533
|
flexDirection: "fdc",
|
|
34430
34534
|
width: "w100"
|
|
34431
34535
|
}), ...tid, children: [
|
|
34432
|
-
/* @__PURE__ */ (0,
|
|
34536
|
+
/* @__PURE__ */ (0, import_jsx_runtime274.jsx)("div", { ...(0, import_runtime178.mergeProps)(void 0, {
|
|
34433
34537
|
height: headerHeight
|
|
34434
34538
|
}, {
|
|
34435
34539
|
flexShrink: "fs0",
|
|
34436
34540
|
width: "w100"
|
|
34437
|
-
}), children: /* @__PURE__ */ (0,
|
|
34541
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime178.trussProps)({
|
|
34438
34542
|
position: "fixed",
|
|
34439
34543
|
left: "l_0",
|
|
34440
34544
|
width: ["w_var", {
|
|
34441
|
-
"--width": (0,
|
|
34545
|
+
"--width": (0, import_runtime178.maybeCssVar)(__maybeInc37(headerWidth))
|
|
34442
34546
|
}],
|
|
34443
34547
|
zIndex: ["z_var", {
|
|
34444
|
-
"--zIndex": (0,
|
|
34548
|
+
"--zIndex": (0, import_runtime178.maybeCssVar)(zIndices.pageStickyHeader)
|
|
34445
34549
|
}],
|
|
34446
34550
|
top: ["top_var", {
|
|
34447
|
-
"--top": (0,
|
|
34551
|
+
"--top": (0, import_runtime178.maybeCssVar)(__maybeInc37(outerTop))
|
|
34448
34552
|
}],
|
|
34449
34553
|
transition: "transitionAll"
|
|
34450
|
-
}), ...tid.header, children: /* @__PURE__ */ (0,
|
|
34554
|
+
}), ...tid.header, children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(WorkflowHeader, { title, documentTitleSuffix, breadcrumbs, rightSlot: isMobile ? pageTriggers : actions, stepperTabs }) }) }),
|
|
34451
34555
|
bannerSlot,
|
|
34452
|
-
/* @__PURE__ */ (0,
|
|
34556
|
+
/* @__PURE__ */ (0, import_jsx_runtime274.jsx)("div", { ...(0, import_runtime178.trussProps)({
|
|
34453
34557
|
...{
|
|
34454
34558
|
display: "df",
|
|
34455
34559
|
flexDirection: "fdc",
|
|
@@ -34461,29 +34565,29 @@ function WorkflowPageLayout(props) {
|
|
|
34461
34565
|
...aiMode && {
|
|
34462
34566
|
backgroundImage: "aiBackground",
|
|
34463
34567
|
minHeight: ["mh_var", {
|
|
34464
|
-
"--minHeight": (0,
|
|
34568
|
+
"--minHeight": (0, import_runtime178.maybeCssVar)(documentScrollBodyMinHeight())
|
|
34465
34569
|
}]
|
|
34466
34570
|
}
|
|
34467
|
-
}), ...tid.body, children: triggers.length > 0 ? /* @__PURE__ */ (0,
|
|
34571
|
+
}), ...tid.body, children: triggers.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(DocumentScrollOverlayRightPaneLayout, { children }) : children }),
|
|
34468
34572
|
!isMobile && pageTriggers,
|
|
34469
|
-
showFooter && /* @__PURE__ */ (0,
|
|
34573
|
+
showFooter && /* @__PURE__ */ (0, import_jsx_runtime274.jsx)("div", { ...(0, import_runtime178.trussProps)({
|
|
34470
34574
|
flexShrink: "fs0",
|
|
34471
34575
|
width: "w100",
|
|
34472
34576
|
height: ["h_var", {
|
|
34473
34577
|
"--height": `${mobileFooterHeightPx}px`
|
|
34474
34578
|
}]
|
|
34475
|
-
}), children: /* @__PURE__ */ (0,
|
|
34579
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime274.jsx)("div", { ...(0, import_runtime178.trussProps)({
|
|
34476
34580
|
...{
|
|
34477
34581
|
position: "fixed",
|
|
34478
34582
|
bottom: "bot_0",
|
|
34479
34583
|
width: ["w_var", {
|
|
34480
|
-
"--width": (0,
|
|
34584
|
+
"--width": (0, import_runtime178.maybeCssVar)(__maybeInc37(headerWidth))
|
|
34481
34585
|
}],
|
|
34482
34586
|
height: ["h_var", {
|
|
34483
34587
|
"--height": `${mobileFooterHeightPx}px`
|
|
34484
34588
|
}],
|
|
34485
34589
|
zIndex: ["z_var", {
|
|
34486
|
-
"--zIndex": (0,
|
|
34590
|
+
"--zIndex": (0, import_runtime178.maybeCssVar)(zIndices.pageStickyFooter)
|
|
34487
34591
|
}],
|
|
34488
34592
|
display: "df",
|
|
34489
34593
|
alignItems: "aic",
|
|
@@ -34501,12 +34605,12 @@ function WorkflowPageLayout(props) {
|
|
|
34501
34605
|
...pageContentPaddingX
|
|
34502
34606
|
}), ...tid.footer, children: actions }) })
|
|
34503
34607
|
] }),
|
|
34504
|
-
navigationBlocker && /* @__PURE__ */ (0,
|
|
34608
|
+
navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
|
|
34505
34609
|
] });
|
|
34506
34610
|
}
|
|
34507
34611
|
|
|
34508
34612
|
// src/layouts/Workflow/FocusedFormLayout.tsx
|
|
34509
|
-
var
|
|
34613
|
+
var import_jsx_runtime275 = require("react/jsx-runtime");
|
|
34510
34614
|
function FocusedFormLayout(props) {
|
|
34511
34615
|
const {
|
|
34512
34616
|
onCancel,
|
|
@@ -34524,7 +34628,7 @@ function FocusedFormLayout(props) {
|
|
|
34524
34628
|
...headerProps
|
|
34525
34629
|
} = props;
|
|
34526
34630
|
const tid = useTestIds(props, "focusedFormLayout");
|
|
34527
|
-
return /* @__PURE__ */ (0,
|
|
34631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(
|
|
34528
34632
|
WorkflowPageLayout,
|
|
34529
34633
|
{
|
|
34530
34634
|
...tid,
|
|
@@ -34546,8 +34650,8 @@ function FocusedFormLayout(props) {
|
|
|
34546
34650
|
}
|
|
34547
34651
|
|
|
34548
34652
|
// src/layouts/Workflow/StepperLayout.tsx
|
|
34549
|
-
var
|
|
34550
|
-
var
|
|
34653
|
+
var import_react189 = require("react");
|
|
34654
|
+
var import_jsx_runtime276 = require("react/jsx-runtime");
|
|
34551
34655
|
function StepperLayout(props) {
|
|
34552
34656
|
const {
|
|
34553
34657
|
steps,
|
|
@@ -34564,7 +34668,7 @@ function StepperLayout(props) {
|
|
|
34564
34668
|
...headerProps
|
|
34565
34669
|
} = props;
|
|
34566
34670
|
const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
|
|
34567
|
-
const [currentStep, setCurrentStep] = (0,
|
|
34671
|
+
const [currentStep, setCurrentStep] = (0, import_react189.useState)(() => getInitialStep(stepTabs, defaultStep));
|
|
34568
34672
|
const tid = useTestIds(props, "stepperLayout");
|
|
34569
34673
|
const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
|
|
34570
34674
|
const isFirstStep = currentIndex <= 0;
|
|
@@ -34574,7 +34678,7 @@ function StepperLayout(props) {
|
|
|
34574
34678
|
if (value === currentStep) return;
|
|
34575
34679
|
closeRightPaneThen(() => setCurrentStep(value));
|
|
34576
34680
|
}
|
|
34577
|
-
return /* @__PURE__ */ (0,
|
|
34681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(
|
|
34578
34682
|
WorkflowPageLayout,
|
|
34579
34683
|
{
|
|
34580
34684
|
...tid,
|
|
@@ -34619,7 +34723,7 @@ function getInitialStep(steps, defaultStep) {
|
|
|
34619
34723
|
|
|
34620
34724
|
// src/forms/BoundChipSelectField.tsx
|
|
34621
34725
|
var import_mobx_react26 = require("mobx-react");
|
|
34622
|
-
var
|
|
34726
|
+
var import_jsx_runtime277 = require("react/jsx-runtime");
|
|
34623
34727
|
function BoundChipSelectField(props) {
|
|
34624
34728
|
const {
|
|
34625
34729
|
field,
|
|
@@ -34635,7 +34739,7 @@ function BoundChipSelectField(props) {
|
|
|
34635
34739
|
...others
|
|
34636
34740
|
} = props;
|
|
34637
34741
|
const testId = useTestIds(props, field.key);
|
|
34638
|
-
return /* @__PURE__ */ (0,
|
|
34742
|
+
return /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_mobx_react26.Observer, { children: () => /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(
|
|
34639
34743
|
ChipSelectField,
|
|
34640
34744
|
{
|
|
34641
34745
|
label,
|
|
@@ -34665,12 +34769,12 @@ function BoundChipSelectField(props) {
|
|
|
34665
34769
|
}
|
|
34666
34770
|
|
|
34667
34771
|
// src/forms/BoundSelectAndTextField.tsx
|
|
34668
|
-
var
|
|
34772
|
+
var import_jsx_runtime278 = require("react/jsx-runtime");
|
|
34669
34773
|
function BoundSelectAndTextField(props) {
|
|
34670
34774
|
const { selectFieldProps, textFieldProps, compact = true } = props;
|
|
34671
34775
|
const tid = useTestIds(props);
|
|
34672
|
-
return /* @__PURE__ */ (0,
|
|
34673
|
-
/* @__PURE__ */ (0,
|
|
34776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime278.jsxs)(CompoundField, { children: [
|
|
34777
|
+
/* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
|
|
34674
34778
|
BoundSelectField,
|
|
34675
34779
|
{
|
|
34676
34780
|
...tid[defaultTestId(selectFieldProps.label ?? selectFieldProps.field.key)],
|
|
@@ -34679,7 +34783,7 @@ function BoundSelectAndTextField(props) {
|
|
|
34679
34783
|
compact
|
|
34680
34784
|
}
|
|
34681
34785
|
),
|
|
34682
|
-
/* @__PURE__ */ (0,
|
|
34786
|
+
/* @__PURE__ */ (0, import_jsx_runtime278.jsx)(
|
|
34683
34787
|
BoundTextField,
|
|
34684
34788
|
{
|
|
34685
34789
|
...tid[defaultTestId(textFieldProps.label ?? textFieldProps.field.key)],
|
|
@@ -34691,8 +34795,8 @@ function BoundSelectAndTextField(props) {
|
|
|
34691
34795
|
}
|
|
34692
34796
|
|
|
34693
34797
|
// src/forms/FormHeading.tsx
|
|
34694
|
-
var
|
|
34695
|
-
var
|
|
34798
|
+
var import_runtime179 = require("@homebound/truss/runtime");
|
|
34799
|
+
var import_jsx_runtime279 = (
|
|
34696
34800
|
// Add space before the heading, but only if it's not first.
|
|
34697
34801
|
require("react/jsx-runtime")
|
|
34698
34802
|
);
|
|
@@ -34703,7 +34807,7 @@ function FormHeading(props) {
|
|
|
34703
34807
|
isFirst = false,
|
|
34704
34808
|
...others
|
|
34705
34809
|
} = props;
|
|
34706
|
-
return /* @__PURE__ */ (0,
|
|
34810
|
+
return /* @__PURE__ */ (0, import_jsx_runtime279.jsx)("h3", { ...(0, import_runtime179.trussProps)({
|
|
34707
34811
|
...{
|
|
34708
34812
|
fontWeight: "fw4",
|
|
34709
34813
|
fontSize: "fz_16px",
|
|
@@ -34718,9 +34822,9 @@ function FormHeading(props) {
|
|
|
34718
34822
|
FormHeading.isFormHeading = true;
|
|
34719
34823
|
|
|
34720
34824
|
// src/forms/StaticField.tsx
|
|
34721
|
-
var
|
|
34722
|
-
var
|
|
34723
|
-
var
|
|
34825
|
+
var import_utils54 = require("@react-aria/utils");
|
|
34826
|
+
var import_runtime180 = require("@homebound/truss/runtime");
|
|
34827
|
+
var import_jsx_runtime280 = require("react/jsx-runtime");
|
|
34724
34828
|
function StaticField(props) {
|
|
34725
34829
|
const {
|
|
34726
34830
|
fieldProps
|
|
@@ -34732,15 +34836,15 @@ function StaticField(props) {
|
|
|
34732
34836
|
children
|
|
34733
34837
|
} = props;
|
|
34734
34838
|
const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
|
|
34735
|
-
const id = (0,
|
|
34736
|
-
return /* @__PURE__ */ (0,
|
|
34839
|
+
const id = (0, import_utils54.useId)();
|
|
34840
|
+
return /* @__PURE__ */ (0, import_jsx_runtime280.jsxs)("div", { ...(0, import_runtime180.trussProps)({
|
|
34737
34841
|
...labelStyle === "left" ? {
|
|
34738
34842
|
display: "df",
|
|
34739
34843
|
justifyContent: "jcsb",
|
|
34740
34844
|
maxWidth: "maxw100"
|
|
34741
34845
|
} : {}
|
|
34742
34846
|
}), ...tid.container, children: [
|
|
34743
|
-
/* @__PURE__ */ (0,
|
|
34847
|
+
/* @__PURE__ */ (0, import_jsx_runtime280.jsx)("label", { ...(0, import_runtime180.trussProps)({
|
|
34744
34848
|
display: "db",
|
|
34745
34849
|
fontWeight: "fw4",
|
|
34746
34850
|
fontSize: "fz_14px",
|
|
@@ -34750,7 +34854,7 @@ function StaticField(props) {
|
|
|
34750
34854
|
}],
|
|
34751
34855
|
marginBottom: "mb_4px"
|
|
34752
34856
|
}), htmlFor: id, ...tid.label, children: label }),
|
|
34753
|
-
/* @__PURE__ */ (0,
|
|
34857
|
+
/* @__PURE__ */ (0, import_jsx_runtime280.jsx)("div", { id, ...(0, import_runtime180.trussProps)({
|
|
34754
34858
|
fontWeight: "fw4",
|
|
34755
34859
|
fontSize: "fz_14px",
|
|
34756
34860
|
lineHeight: "lh_20px",
|
|
@@ -34767,9 +34871,9 @@ function StaticField(props) {
|
|
|
34767
34871
|
}
|
|
34768
34872
|
|
|
34769
34873
|
// src/hooks/useFilter.ts
|
|
34770
|
-
var
|
|
34874
|
+
var import_react190 = require("react");
|
|
34771
34875
|
function useFilter5({ filterDefs }) {
|
|
34772
|
-
const [filter, setFilter] = (0,
|
|
34876
|
+
const [filter, setFilter] = (0, import_react190.useState)(
|
|
34773
34877
|
Object.fromEntries(
|
|
34774
34878
|
safeEntries(filterDefs).filter(([key, def]) => def(key).defaultValue !== void 0).map(([key, def]) => [key, def(key).defaultValue])
|
|
34775
34879
|
)
|
|
@@ -34778,10 +34882,10 @@ function useFilter5({ filterDefs }) {
|
|
|
34778
34882
|
}
|
|
34779
34883
|
|
|
34780
34884
|
// src/inputs/Autocomplete.tsx
|
|
34781
|
-
var
|
|
34885
|
+
var import_react191 = require("react");
|
|
34782
34886
|
var import_react_aria78 = require("react-aria");
|
|
34783
34887
|
var import_react_stately20 = require("react-stately");
|
|
34784
|
-
var
|
|
34888
|
+
var import_jsx_runtime281 = require("react/jsx-runtime");
|
|
34785
34889
|
function Autocomplete(props) {
|
|
34786
34890
|
const {
|
|
34787
34891
|
onSelect,
|
|
@@ -34798,8 +34902,8 @@ function Autocomplete(props) {
|
|
|
34798
34902
|
} = props;
|
|
34799
34903
|
const { effectiveValue, proposalProps } = useAiProposal(value, proposedValue);
|
|
34800
34904
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
34801
|
-
const comboBoxChildren = (0,
|
|
34802
|
-
(item) => /* @__PURE__ */ (0,
|
|
34905
|
+
const comboBoxChildren = (0, import_react191.useCallback)(
|
|
34906
|
+
(item) => /* @__PURE__ */ (0, import_jsx_runtime281.jsx)(import_react_stately20.Item, { textValue: getOptionLabel(item), children: getOptionMenuLabel ? getOptionMenuLabel(item) : getOptionLabel(item) }, getOptionValue(item)),
|
|
34803
34907
|
[getOptionValue, getOptionLabel, getOptionMenuLabel]
|
|
34804
34908
|
);
|
|
34805
34909
|
const comboBoxProps = {
|
|
@@ -34823,10 +34927,10 @@ function Autocomplete(props) {
|
|
|
34823
34927
|
...others
|
|
34824
34928
|
};
|
|
34825
34929
|
const state = (0, import_react_stately20.useComboBoxState)(comboBoxProps);
|
|
34826
|
-
const inputWrapRef = (0,
|
|
34827
|
-
const inputRef = (0,
|
|
34828
|
-
const listBoxRef = (0,
|
|
34829
|
-
const popoverRef = (0,
|
|
34930
|
+
const inputWrapRef = (0, import_react191.useRef)(null);
|
|
34931
|
+
const inputRef = (0, import_react191.useRef)(null);
|
|
34932
|
+
const listBoxRef = (0, import_react191.useRef)(null);
|
|
34933
|
+
const popoverRef = (0, import_react191.useRef)(null);
|
|
34830
34934
|
const { inputProps, listBoxProps, labelProps } = (0, import_react_aria78.useComboBox)(
|
|
34831
34935
|
{
|
|
34832
34936
|
...comboBoxProps,
|
|
@@ -34852,8 +34956,8 @@ function Autocomplete(props) {
|
|
|
34852
34956
|
// Ensures the menu never gets too small.
|
|
34853
34957
|
minWidth: 200
|
|
34854
34958
|
};
|
|
34855
|
-
return /* @__PURE__ */ (0,
|
|
34856
|
-
/* @__PURE__ */ (0,
|
|
34959
|
+
return /* @__PURE__ */ (0, import_jsx_runtime281.jsxs)(import_jsx_runtime281.Fragment, { children: [
|
|
34960
|
+
/* @__PURE__ */ (0, import_jsx_runtime281.jsx)(
|
|
34857
34961
|
TextFieldBase,
|
|
34858
34962
|
{
|
|
34859
34963
|
inputRef,
|
|
@@ -34863,11 +34967,11 @@ function Autocomplete(props) {
|
|
|
34863
34967
|
onChange: onInputChange,
|
|
34864
34968
|
...proposalProps,
|
|
34865
34969
|
clearable: true,
|
|
34866
|
-
startAdornment: "startAdornment" in props ? props.startAdornment : /* @__PURE__ */ (0,
|
|
34970
|
+
startAdornment: "startAdornment" in props ? props.startAdornment : /* @__PURE__ */ (0, import_jsx_runtime281.jsx)(Icon, { icon: "search" }),
|
|
34867
34971
|
...others
|
|
34868
34972
|
}
|
|
34869
34973
|
),
|
|
34870
|
-
state.isOpen && /* @__PURE__ */ (0,
|
|
34974
|
+
state.isOpen && /* @__PURE__ */ (0, import_jsx_runtime281.jsx)(
|
|
34871
34975
|
Popover,
|
|
34872
34976
|
{
|
|
34873
34977
|
triggerRef: inputRef,
|
|
@@ -34876,7 +34980,7 @@ function Autocomplete(props) {
|
|
|
34876
34980
|
onClose: () => state.close(),
|
|
34877
34981
|
isOpen: state.isOpen,
|
|
34878
34982
|
minWidth: 200,
|
|
34879
|
-
children: /* @__PURE__ */ (0,
|
|
34983
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime281.jsx)(
|
|
34880
34984
|
ListBox,
|
|
34881
34985
|
{
|
|
34882
34986
|
...listBoxProps,
|
|
@@ -34894,11 +34998,11 @@ function Autocomplete(props) {
|
|
|
34894
34998
|
}
|
|
34895
34999
|
|
|
34896
35000
|
// src/inputs/ToggleButton.tsx
|
|
34897
|
-
var
|
|
35001
|
+
var import_react192 = require("react");
|
|
34898
35002
|
var import_react_aria79 = require("react-aria");
|
|
34899
35003
|
var import_react_stately21 = require("react-stately");
|
|
34900
|
-
var
|
|
34901
|
-
var
|
|
35004
|
+
var import_runtime181 = require("@homebound/truss/runtime");
|
|
35005
|
+
var import_jsx_runtime282 = require("react/jsx-runtime");
|
|
34902
35006
|
function ToggleButton(props) {
|
|
34903
35007
|
const {
|
|
34904
35008
|
selected: isSelected = false,
|
|
@@ -34909,7 +35013,7 @@ function ToggleButton(props) {
|
|
|
34909
35013
|
__storyState,
|
|
34910
35014
|
...otherProps
|
|
34911
35015
|
} = props;
|
|
34912
|
-
const [asyncInProgress, setAsyncInProgress] = (0,
|
|
35016
|
+
const [asyncInProgress, setAsyncInProgress] = (0, import_react192.useState)(false);
|
|
34913
35017
|
const isDisabled = !!disabled || asyncInProgress;
|
|
34914
35018
|
const ariaProps = {
|
|
34915
35019
|
"aria-label": label,
|
|
@@ -34928,8 +35032,8 @@ function ToggleButton(props) {
|
|
|
34928
35032
|
return result;
|
|
34929
35033
|
}
|
|
34930
35034
|
});
|
|
34931
|
-
const labelRef = (0,
|
|
34932
|
-
const ref = (0,
|
|
35035
|
+
const labelRef = (0, import_react192.useRef)(null);
|
|
35036
|
+
const ref = (0, import_react192.useRef)(null);
|
|
34933
35037
|
const tid = useTestIds(otherProps, label);
|
|
34934
35038
|
const {
|
|
34935
35039
|
isPressed: isPressedFromEvents,
|
|
@@ -34962,7 +35066,7 @@ function ToggleButton(props) {
|
|
|
34962
35066
|
...focusProps,
|
|
34963
35067
|
...hoverProps,
|
|
34964
35068
|
...pressProps,
|
|
34965
|
-
...(0,
|
|
35069
|
+
...(0, import_runtime181.trussProps)({
|
|
34966
35070
|
// Gray500 off-state has no semantic match — keep palette (OnSurfaceMuted is Gray700).
|
|
34967
35071
|
...{
|
|
34968
35072
|
borderRadius: "br4",
|
|
@@ -35002,10 +35106,10 @@ function ToggleButton(props) {
|
|
|
35002
35106
|
return maybeTooltip({
|
|
35003
35107
|
title: tooltip,
|
|
35004
35108
|
placement: "top",
|
|
35005
|
-
children: /* @__PURE__ */ (0,
|
|
35006
|
-
icon && /* @__PURE__ */ (0,
|
|
35109
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime282.jsxs)("label", { ...labelAttrs, children: [
|
|
35110
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(Icon, { icon }),
|
|
35007
35111
|
label,
|
|
35008
|
-
/* @__PURE__ */ (0,
|
|
35112
|
+
/* @__PURE__ */ (0, import_jsx_runtime282.jsx)(import_react_aria79.VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime282.jsx)("input", { ref, ...inputProps, ...tid.value }) })
|
|
35009
35113
|
] })
|
|
35010
35114
|
});
|
|
35011
35115
|
}
|
|
@@ -35034,6 +35138,7 @@ var togglePressStyles = {
|
|
|
35034
35138
|
AiLoadingPanel,
|
|
35035
35139
|
AiPanel,
|
|
35036
35140
|
AiSlimBanner,
|
|
35141
|
+
AiTableIllustration,
|
|
35037
35142
|
AutoSaveIndicator,
|
|
35038
35143
|
AutoSaveStatus,
|
|
35039
35144
|
AutoSaveStatusContext,
|