@homebound/beam 3.74.0 → 3.75.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 +1040 -852
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +48 -1
- package/dist/index.d.ts +48 -1
- package/dist/index.js +845 -664
- package/dist/index.js.map +1 -1
- package/dist/truss.css +4 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -92,6 +92,7 @@ __export(index_exports, {
|
|
|
92
92
|
DateRangeField: () => DateRangeField,
|
|
93
93
|
DnDGrid: () => DnDGrid,
|
|
94
94
|
DnDGridItemHandle: () => DnDGridItemHandle,
|
|
95
|
+
DocumentScrollRightPaneLayout: () => DocumentScrollRightPaneLayout,
|
|
95
96
|
DocumentTitleProvider: () => DocumentTitleProvider,
|
|
96
97
|
EXPANDABLE_HEADER: () => EXPANDABLE_HEADER,
|
|
97
98
|
EditColumnsButton: () => EditColumnsButton,
|
|
@@ -205,10 +206,12 @@ __export(index_exports, {
|
|
|
205
206
|
assignDefaultColumnIds: () => assignDefaultColumnIds,
|
|
206
207
|
bannerAndNavbarChromeTop: () => bannerAndNavbarChromeTop,
|
|
207
208
|
beamEnvironmentBannerLayoutHeightVar: () => beamEnvironmentBannerLayoutHeightVar,
|
|
209
|
+
beamFloatingRightOffsetVar: () => beamFloatingRightOffsetVar,
|
|
208
210
|
beamLayoutViewportHeightVar: () => beamLayoutViewportHeightVar,
|
|
209
211
|
beamLayoutViewportWidthVar: () => beamLayoutViewportWidthVar,
|
|
210
212
|
beamNavbarLayoutHeightVar: () => beamNavbarLayoutHeightVar,
|
|
211
213
|
beamPageHeaderLayoutHeightVar: () => beamPageHeaderLayoutHeightVar,
|
|
214
|
+
beamRightPaneWidthVar: () => beamRightPaneWidthVar,
|
|
212
215
|
beamSideNavLayoutWidthVar: () => beamSideNavLayoutWidthVar,
|
|
213
216
|
beamTableActionsHeightVar: () => beamTableActionsHeightVar,
|
|
214
217
|
beamWorkflowLayoutFooterHeightVar: () => beamWorkflowLayoutFooterHeightVar,
|
|
@@ -253,12 +256,15 @@ __export(index_exports, {
|
|
|
253
256
|
dateFilter: () => dateFilter,
|
|
254
257
|
dateFormats: () => dateFormats,
|
|
255
258
|
dateRangeFilter: () => dateRangeFilter,
|
|
259
|
+
defaultDocumentScrollRightPaneWidth: () => defaultDocumentScrollRightPaneWidth,
|
|
256
260
|
defaultPage: () => defaultPage,
|
|
257
261
|
defaultRenderFn: () => defaultRenderFn,
|
|
258
262
|
defaultStyle: () => defaultStyle,
|
|
259
263
|
defaultTestId: () => defaultTestId,
|
|
260
264
|
documentScrollChromeLeft: () => documentScrollChromeLeft,
|
|
261
265
|
documentScrollChromeWidth: () => documentScrollChromeWidth,
|
|
266
|
+
documentScrollRightPaneHeight: () => documentScrollRightPaneHeight,
|
|
267
|
+
documentScrollRightPaneWidth: () => documentScrollRightPaneWidth,
|
|
262
268
|
dragHandleColumn: () => dragHandleColumn,
|
|
263
269
|
emptyCell: () => emptyCell,
|
|
264
270
|
ensureClientSideSortValueIsSortable: () => ensureClientSideSortValueIsSortable,
|
|
@@ -275,6 +281,7 @@ __export(index_exports, {
|
|
|
275
281
|
getDateFormat: () => getDateFormat,
|
|
276
282
|
getFirstOrLastCellCss: () => getFirstOrLastCellCss,
|
|
277
283
|
getFloatingBottomOffset: () => getFloatingBottomOffset,
|
|
284
|
+
getFloatingRightOffset: () => getFloatingRightOffset,
|
|
278
285
|
getJustification: () => getJustification,
|
|
279
286
|
getNavLinkStyles: () => getNavLinkStyles,
|
|
280
287
|
getTableRefWidthStyles: () => getTableRefWidthStyles,
|
|
@@ -6542,6 +6549,8 @@ var beamLayoutViewportWidthVar = "--beam-layout-viewport-width";
|
|
|
6542
6549
|
var beamLayoutViewportHeightVar = "--beam-layout-viewport-height";
|
|
6543
6550
|
var beamSideNavLayoutWidthVar = "--beam-side-nav-layout-width";
|
|
6544
6551
|
var beamTableActionsHeightVar = "--beam-table-actions-height";
|
|
6552
|
+
var beamRightPaneWidthVar = "--beam-right-pane-width";
|
|
6553
|
+
var beamFloatingRightOffsetVar = "--beam-floating-right-offset";
|
|
6545
6554
|
var beamWorkflowLayoutFooterHeightVar = "--beam-workflow-layout-footer-height";
|
|
6546
6555
|
function documentScrollChromeLeft() {
|
|
6547
6556
|
return `var(${beamSideNavLayoutWidthVar}, 0px)`;
|
|
@@ -6549,6 +6558,12 @@ function documentScrollChromeLeft() {
|
|
|
6549
6558
|
function documentScrollChromeWidth() {
|
|
6550
6559
|
return `calc(var(${beamLayoutViewportWidthVar}, 100vw) - var(${beamSideNavLayoutWidthVar}, 0px))`;
|
|
6551
6560
|
}
|
|
6561
|
+
function documentScrollRightPaneHeight() {
|
|
6562
|
+
return `calc(var(${beamLayoutViewportHeightVar}, 100vh) - ${stickyTableHeaderOffset()})`;
|
|
6563
|
+
}
|
|
6564
|
+
function documentScrollRightPaneWidth(maxPx) {
|
|
6565
|
+
return `min(${maxPx}px, ${documentScrollChromeWidth()})`;
|
|
6566
|
+
}
|
|
6552
6567
|
function bannerAndNavbarChromeTop() {
|
|
6553
6568
|
return `calc(var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
6554
6569
|
}
|
|
@@ -6561,6 +6576,9 @@ function stickyTableHeaderOffset(basePx = 0) {
|
|
|
6561
6576
|
function getFloatingBottomOffset(basePx = 0) {
|
|
6562
6577
|
return `calc(${basePx}px + var(${beamWorkflowLayoutFooterHeightVar}, 0px))`;
|
|
6563
6578
|
}
|
|
6579
|
+
function getFloatingRightOffset(basePx = 0) {
|
|
6580
|
+
return `calc(${basePx}px + var(${beamFloatingRightOffsetVar}, 0px))`;
|
|
6581
|
+
}
|
|
6564
6582
|
var pageContentPaddingXValue = "24px";
|
|
6565
6583
|
|
|
6566
6584
|
// src/utils/zIndices.ts
|
|
@@ -6575,6 +6593,8 @@ var zIndices = {
|
|
|
6575
6593
|
scrollToTop: 50,
|
|
6576
6594
|
// Page chrome - ensure these items sit above the table
|
|
6577
6595
|
scrollShadow: 50,
|
|
6596
|
+
// Document-scroll detail pane (DocumentScrollRightPaneLayout) — above table sticky chrome, below page sticky headers.
|
|
6597
|
+
rightPane: 60,
|
|
6578
6598
|
pageStickyHeader: 70,
|
|
6579
6599
|
// Sticky mobile action footer (WorkflowLayout) — same tier as pageStickyHeader; header and footer never overlap on screen.
|
|
6580
6600
|
pageStickyFooter: 70,
|
|
@@ -6588,6 +6608,9 @@ var zIndices = {
|
|
|
6588
6608
|
// Navbar mobile drawer + scrim — above navbar; below environment banner.
|
|
6589
6609
|
navbarMobileMenuScrim: 124,
|
|
6590
6610
|
navbarMobileMenu: 125,
|
|
6611
|
+
// Document-scroll right pane on `sm` — full-bleed overlay below the env banner; covers navbar /
|
|
6612
|
+
// page chrome / table actions but must not paint over the banner.
|
|
6613
|
+
rightPaneMobile: 126,
|
|
6591
6614
|
// Environment banner (EnvironmentBannerLayout) — above navbar mobile menu; below overlay scrims.
|
|
6592
6615
|
environmentBanner: 130,
|
|
6593
6616
|
// Overlay scrims — above app chrome (including the environment banner); modal above SuperDrawer
|
|
@@ -9545,9 +9568,10 @@ function RowImpl(props) {
|
|
|
9545
9568
|
"--left": (0, import_runtime25.maybeCssVar)(__maybeInc6(columnIndex === 0 ? `var(${beamSideNavLayoutWidthVar}, 0px)` : `calc(var(${beamSideNavLayoutWidthVar}, 0px) + (${columnSizes.slice(0, columnIndex).join(" + ")}))`))
|
|
9546
9569
|
}]
|
|
9547
9570
|
} : {},
|
|
9571
|
+
// Offset by the open right pane so sticky-right cells pin to the clear edge, not under it (0 when closed).
|
|
9548
9572
|
...maybeSticky === "right" ? {
|
|
9549
9573
|
right: ["right_var", {
|
|
9550
|
-
"--right": (0, import_runtime25.maybeCssVar)(__maybeInc6(columnIndex + 1 === columnSizes.length ?
|
|
9574
|
+
"--right": (0, import_runtime25.maybeCssVar)(__maybeInc6(columnIndex + 1 === columnSizes.length ? `var(${beamRightPaneWidthVar}, 0px)` : `calc(var(${beamRightPaneWidthVar}, 0px) + (${columnSizes.slice(columnIndex + 1 - columnSizes.length).join(" + ")}))`))
|
|
9551
9575
|
}]
|
|
9552
9576
|
} : {}
|
|
9553
9577
|
} : {};
|
|
@@ -17319,7 +17343,7 @@ function DocumentScrollToTopButton({
|
|
|
17319
17343
|
"--bottom": (0, import_runtime65.maybeCssVar)(__maybeInc11(getFloatingBottomOffset(scrollToTopOffsetPx)))
|
|
17320
17344
|
}],
|
|
17321
17345
|
right: ["right_var", {
|
|
17322
|
-
"--right":
|
|
17346
|
+
"--right": (0, import_runtime65.maybeCssVar)(__maybeInc11(getFloatingRightOffset(scrollToTopOffsetPx)))
|
|
17323
17347
|
}],
|
|
17324
17348
|
zIndex: ["z_var", {
|
|
17325
17349
|
"--zIndex": (0, import_runtime65.maybeCssVar)(zIndices.scrollToTop)
|
|
@@ -18661,8 +18685,8 @@ var variantStyles3 = {
|
|
|
18661
18685
|
};
|
|
18662
18686
|
|
|
18663
18687
|
// src/components/BeamContext.tsx
|
|
18664
|
-
var
|
|
18665
|
-
var
|
|
18688
|
+
var import_react125 = require("react");
|
|
18689
|
+
var import_react_aria55 = require("react-aria");
|
|
18666
18690
|
|
|
18667
18691
|
// src/components/Modal/Modal.tsx
|
|
18668
18692
|
var import_utils86 = require("@react-aria/utils");
|
|
@@ -21508,8 +21532,8 @@ function invertSpacing(value) {
|
|
|
21508
21532
|
}
|
|
21509
21533
|
|
|
21510
21534
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
21511
|
-
var
|
|
21512
|
-
var
|
|
21535
|
+
var import_utils137 = require("@react-aria/utils");
|
|
21536
|
+
var import_react122 = __toESM(require("react"), 1);
|
|
21513
21537
|
|
|
21514
21538
|
// src/components/Filters/utils.tsx
|
|
21515
21539
|
function getActiveFilterCount(filter) {
|
|
@@ -21529,14 +21553,214 @@ function isGridTableProps(props) {
|
|
|
21529
21553
|
return "rows" in props;
|
|
21530
21554
|
}
|
|
21531
21555
|
|
|
21556
|
+
// src/components/Layout/RightPaneLayout/DocumentScrollRightPaneLayout.tsx
|
|
21557
|
+
var import_react113 = require("react");
|
|
21558
|
+
var import_runtime93 = require("@homebound/truss/runtime");
|
|
21559
|
+
|
|
21560
|
+
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
21561
|
+
var import_framer_motion3 = require("framer-motion");
|
|
21562
|
+
var import_react112 = require("react");
|
|
21563
|
+
var import_react_aria52 = require("react-aria");
|
|
21564
|
+
var import_react_dom5 = require("react-dom");
|
|
21565
|
+
|
|
21566
|
+
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayoutHeightContext.tsx
|
|
21567
|
+
var import_react110 = require("react");
|
|
21568
|
+
var import_jsx_runtime143 = require("react/jsx-runtime");
|
|
21569
|
+
var EnvironmentBannerLayoutHeightContext = (0, import_react110.createContext)(0);
|
|
21570
|
+
function EnvironmentBannerLayoutHeightProvider({ value, children }) {
|
|
21571
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(EnvironmentBannerLayoutHeightContext.Provider, { value, children });
|
|
21572
|
+
}
|
|
21573
|
+
function useEnvironmentBannerLayoutHeight() {
|
|
21574
|
+
return (0, import_react110.useContext)(EnvironmentBannerLayoutHeightContext);
|
|
21575
|
+
}
|
|
21576
|
+
|
|
21577
|
+
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
21578
|
+
var import_react111 = __toESM(require("react"), 1);
|
|
21579
|
+
var import_jsx_runtime144 = require("react/jsx-runtime");
|
|
21580
|
+
var RightPaneContext = import_react111.default.createContext({
|
|
21581
|
+
openInPane: () => {
|
|
21582
|
+
},
|
|
21583
|
+
closePane: () => {
|
|
21584
|
+
},
|
|
21585
|
+
clearPane: () => {
|
|
21586
|
+
},
|
|
21587
|
+
isRightPaneOpen: false,
|
|
21588
|
+
rightPaneContent: null
|
|
21589
|
+
});
|
|
21590
|
+
function RightPaneProvider({ children }) {
|
|
21591
|
+
const [rightPaneContent, setRightPaneContent] = (0, import_react111.useState)(void 0);
|
|
21592
|
+
const [isRightPaneOpen, setIsRightPaneOpen] = (0, import_react111.useState)(false);
|
|
21593
|
+
const openInPane = (0, import_react111.useCallback)(
|
|
21594
|
+
(opts) => {
|
|
21595
|
+
setRightPaneContent(opts?.content);
|
|
21596
|
+
setIsRightPaneOpen(true);
|
|
21597
|
+
},
|
|
21598
|
+
[setRightPaneContent]
|
|
21599
|
+
);
|
|
21600
|
+
const closePane = (0, import_react111.useCallback)(() => setIsRightPaneOpen(false), []);
|
|
21601
|
+
const clearPane = (0, import_react111.useCallback)(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
21602
|
+
const context = (0, import_react111.useMemo)(
|
|
21603
|
+
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
21604
|
+
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
21605
|
+
);
|
|
21606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(RightPaneContext.Provider, { value: context, children });
|
|
21607
|
+
}
|
|
21608
|
+
function useRightPaneContext() {
|
|
21609
|
+
return (0, import_react111.useContext)(RightPaneContext);
|
|
21610
|
+
}
|
|
21611
|
+
|
|
21612
|
+
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
21613
|
+
var import_runtime92 = require("@homebound/truss/runtime");
|
|
21614
|
+
var import_jsx_runtime145 = require("react/jsx-runtime");
|
|
21615
|
+
var __maybeInc17 = (inc) => {
|
|
21616
|
+
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
21617
|
+
};
|
|
21618
|
+
function DocumentScrollRightPane({
|
|
21619
|
+
paneWidth
|
|
21620
|
+
}) {
|
|
21621
|
+
const {
|
|
21622
|
+
isRightPaneOpen,
|
|
21623
|
+
rightPaneContent,
|
|
21624
|
+
clearPane,
|
|
21625
|
+
closePane
|
|
21626
|
+
} = useRightPaneContext();
|
|
21627
|
+
const tid = useTestIds({}, "rightPaneContent");
|
|
21628
|
+
const {
|
|
21629
|
+
sm
|
|
21630
|
+
} = useBreakpoint();
|
|
21631
|
+
const bannerHeightPx = useEnvironmentBannerLayoutHeight();
|
|
21632
|
+
const isMobileOverlay = sm && isRightPaneOpen;
|
|
21633
|
+
(0, import_react_aria52.usePreventScroll)({
|
|
21634
|
+
isDisabled: !isMobileOverlay
|
|
21635
|
+
});
|
|
21636
|
+
(0, import_react112.useEffect)(() => closePane, [closePane]);
|
|
21637
|
+
const slideX = sm ? "100%" : paneWidth;
|
|
21638
|
+
const pane = /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(import_framer_motion3.AnimatePresence, { children: isRightPaneOpen && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(import_framer_motion3.motion.div, { ...tid, ...(0, import_runtime92.mergeProps)(void 0, sm ? {
|
|
21639
|
+
top: bannerHeightPx
|
|
21640
|
+
} : void 0, sm ? {
|
|
21641
|
+
position: "fixed",
|
|
21642
|
+
right: "right0",
|
|
21643
|
+
bottom: "bottom0",
|
|
21644
|
+
left: "left0",
|
|
21645
|
+
overflowY: "oya",
|
|
21646
|
+
backgroundColor: ["bgColor_var", {
|
|
21647
|
+
"--backgroundColor": "var(--b-surface)"
|
|
21648
|
+
}],
|
|
21649
|
+
zIndex: ["z_var", {
|
|
21650
|
+
"--zIndex": (0, import_runtime92.maybeCssVar)(zIndices.rightPaneMobile)
|
|
21651
|
+
}]
|
|
21652
|
+
} : {
|
|
21653
|
+
position: "fixed",
|
|
21654
|
+
transition: "transitionTop",
|
|
21655
|
+
top: ["top_var", {
|
|
21656
|
+
"--top": (0, import_runtime92.maybeCssVar)(__maybeInc17(stickyTableHeaderOffset()))
|
|
21657
|
+
}],
|
|
21658
|
+
right: "right_0",
|
|
21659
|
+
height: ["h_var", {
|
|
21660
|
+
"--height": (0, import_runtime92.maybeCssVar)(__maybeInc17(documentScrollRightPaneHeight()))
|
|
21661
|
+
}],
|
|
21662
|
+
width: ["w_var", {
|
|
21663
|
+
"--width": (0, import_runtime92.maybeCssVar)(__maybeInc17(documentScrollRightPaneWidth(paneWidth)))
|
|
21664
|
+
}],
|
|
21665
|
+
overflowY: "oya",
|
|
21666
|
+
backgroundColor: ["bgColor_var", {
|
|
21667
|
+
"--backgroundColor": "var(--b-surface)"
|
|
21668
|
+
}],
|
|
21669
|
+
zIndex: ["z_var", {
|
|
21670
|
+
"--zIndex": (0, import_runtime92.maybeCssVar)(zIndices.rightPane)
|
|
21671
|
+
}],
|
|
21672
|
+
borderLeftStyle: "bls_solid",
|
|
21673
|
+
borderLeftWidth: "blw_1px",
|
|
21674
|
+
borderColor: ["bc_var", {
|
|
21675
|
+
"--borderColor": "var(--b-surface-separator)"
|
|
21676
|
+
}]
|
|
21677
|
+
}), initial: {
|
|
21678
|
+
x: slideX
|
|
21679
|
+
}, animate: {
|
|
21680
|
+
x: 0
|
|
21681
|
+
}, exit: {
|
|
21682
|
+
x: slideX
|
|
21683
|
+
}, transition: {
|
|
21684
|
+
ease: "linear",
|
|
21685
|
+
duration: 0.2
|
|
21686
|
+
}, onAnimationComplete: (definition) => definition.x !== 0 && clearPane(), children: rightPaneContent }, "documentScrollRightPane") });
|
|
21687
|
+
return sm ? (0, import_react_dom5.createPortal)(pane, document.body) : pane;
|
|
21688
|
+
}
|
|
21689
|
+
|
|
21690
|
+
// src/components/Layout/RightPaneLayout/DocumentScrollRightPaneLayout.tsx
|
|
21691
|
+
var import_jsx_runtime146 = require("react/jsx-runtime");
|
|
21692
|
+
var defaultDocumentScrollRightPaneWidth = 450;
|
|
21693
|
+
function DocumentScrollRightPaneLayout(props) {
|
|
21694
|
+
const {
|
|
21695
|
+
children,
|
|
21696
|
+
paneWidth = defaultDocumentScrollRightPaneWidth
|
|
21697
|
+
} = props;
|
|
21698
|
+
const tid = useTestIds(props, "documentScrollRightPaneLayout");
|
|
21699
|
+
const {
|
|
21700
|
+
isRightPaneOpen
|
|
21701
|
+
} = useRightPaneContext();
|
|
21702
|
+
const {
|
|
21703
|
+
sm
|
|
21704
|
+
} = useBreakpoint();
|
|
21705
|
+
const isSplitPaneOpen = isRightPaneOpen && !sm;
|
|
21706
|
+
const effectivePaneWidth = isSplitPaneOpen ? documentScrollRightPaneWidth(paneWidth) : "0px";
|
|
21707
|
+
(0, import_react113.useLayoutEffect)(() => {
|
|
21708
|
+
const root = document.documentElement;
|
|
21709
|
+
const previous = root.style.getPropertyValue(beamFloatingRightOffsetVar);
|
|
21710
|
+
root.style.setProperty(beamFloatingRightOffsetVar, effectivePaneWidth);
|
|
21711
|
+
return () => {
|
|
21712
|
+
if (previous) {
|
|
21713
|
+
root.style.setProperty(beamFloatingRightOffsetVar, previous);
|
|
21714
|
+
} else {
|
|
21715
|
+
root.style.removeProperty(beamFloatingRightOffsetVar);
|
|
21716
|
+
}
|
|
21717
|
+
};
|
|
21718
|
+
}, [effectivePaneWidth]);
|
|
21719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { ...(0, import_runtime93.mergeProps)(void 0, {
|
|
21720
|
+
[beamRightPaneWidthVar]: effectivePaneWidth
|
|
21721
|
+
}, {
|
|
21722
|
+
width: "w100"
|
|
21723
|
+
}), ...tid, children: [
|
|
21724
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(DocumentScrollRightPaneSpacer, { paneWidth, isOpen: isSplitPaneOpen, children }),
|
|
21725
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(DocumentScrollRightPane, { paneWidth })
|
|
21726
|
+
] });
|
|
21727
|
+
}
|
|
21728
|
+
function DocumentScrollRightPaneSpacer({
|
|
21729
|
+
paneWidth,
|
|
21730
|
+
isOpen,
|
|
21731
|
+
children
|
|
21732
|
+
}) {
|
|
21733
|
+
const tid = useTestIds({}, "rightPaneSpacer");
|
|
21734
|
+
const effectivePaneWidth = documentScrollRightPaneWidth(paneWidth);
|
|
21735
|
+
return /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { ...(0, import_runtime93.mergeProps)(void 0, {
|
|
21736
|
+
width: isOpen ? "fit-content" : "100%"
|
|
21737
|
+
}, {
|
|
21738
|
+
display: "df",
|
|
21739
|
+
minWidth: "mw100"
|
|
21740
|
+
}), children: [
|
|
21741
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { ...(0, import_runtime93.mergeProps)(void 0, {
|
|
21742
|
+
width: `min(100%, ${documentScrollChromeWidth()})`
|
|
21743
|
+
}, {
|
|
21744
|
+
flexShrink: "fs0",
|
|
21745
|
+
minWidth: "mw_fit_content"
|
|
21746
|
+
}), children }),
|
|
21747
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { "aria-hidden": true, ...(0, import_runtime93.mergeProps)(void 0, {
|
|
21748
|
+
width: isOpen ? effectivePaneWidth : 0
|
|
21749
|
+
}, {
|
|
21750
|
+
flexShrink: "fs0",
|
|
21751
|
+
flexGrow: "fg0"
|
|
21752
|
+
}), ...isOpen ? tid : {} })
|
|
21753
|
+
] });
|
|
21754
|
+
}
|
|
21755
|
+
|
|
21532
21756
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
21533
|
-
var
|
|
21757
|
+
var import_react119 = require("react");
|
|
21534
21758
|
|
|
21535
21759
|
// src/components/ButtonMenu.tsx
|
|
21536
|
-
var
|
|
21537
|
-
var
|
|
21760
|
+
var import_react114 = require("react");
|
|
21761
|
+
var import_react_aria53 = require("react-aria");
|
|
21538
21762
|
var import_react_stately17 = require("react-stately");
|
|
21539
|
-
var
|
|
21763
|
+
var import_jsx_runtime147 = require("react/jsx-runtime");
|
|
21540
21764
|
function ButtonMenu(props) {
|
|
21541
21765
|
const { defaultOpen, disabled, items, persistentItems, trigger, searchable } = props;
|
|
21542
21766
|
let selectedItem, onChange;
|
|
@@ -21545,13 +21769,13 @@ function ButtonMenu(props) {
|
|
|
21545
21769
|
onChange = props.onChange;
|
|
21546
21770
|
}
|
|
21547
21771
|
const state = (0, import_react_stately17.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
21548
|
-
const buttonRef = (0,
|
|
21549
|
-
const { menuTriggerProps, menuProps } = (0,
|
|
21772
|
+
const buttonRef = (0, import_react114.useRef)(null);
|
|
21773
|
+
const { menuTriggerProps, menuProps } = (0, import_react_aria53.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
21550
21774
|
const tid = useTestIds(
|
|
21551
21775
|
props,
|
|
21552
21776
|
isTextButton(trigger) ? labelOr(trigger, "buttonMenu") : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
21553
21777
|
);
|
|
21554
|
-
return /* @__PURE__ */ (0,
|
|
21778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
21555
21779
|
Menu,
|
|
21556
21780
|
{
|
|
21557
21781
|
ariaMenuProps: menuProps,
|
|
@@ -21570,8 +21794,8 @@ function isSelectionButtonMenuProps(props) {
|
|
|
21570
21794
|
}
|
|
21571
21795
|
|
|
21572
21796
|
// src/components/CountBadge.tsx
|
|
21573
|
-
var
|
|
21574
|
-
var
|
|
21797
|
+
var import_runtime94 = require("@homebound/truss/runtime");
|
|
21798
|
+
var import_jsx_runtime148 = require("react/jsx-runtime");
|
|
21575
21799
|
function CountBadge(props) {
|
|
21576
21800
|
const {
|
|
21577
21801
|
count,
|
|
@@ -21582,7 +21806,7 @@ function CountBadge(props) {
|
|
|
21582
21806
|
} = props;
|
|
21583
21807
|
const tid = useTestIds(otherProps, "countBadge");
|
|
21584
21808
|
if (hideIfZero && count === 0) return null;
|
|
21585
|
-
return /* @__PURE__ */ (0,
|
|
21809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { ...tid, ...(0, import_runtime94.trussProps)({
|
|
21586
21810
|
...{
|
|
21587
21811
|
height: ["sq_var", {
|
|
21588
21812
|
"--height": `${count > 100 ? 18 : 16}px`
|
|
@@ -21602,12 +21826,12 @@ function CountBadge(props) {
|
|
|
21602
21826
|
alignItems: "aic",
|
|
21603
21827
|
justifyContent: "jcc",
|
|
21604
21828
|
backgroundColor: ["bgColor_var", {
|
|
21605
|
-
"--backgroundColor": (0,
|
|
21829
|
+
"--backgroundColor": (0, import_runtime94.maybeCssVar)(bgColor)
|
|
21606
21830
|
}]
|
|
21607
21831
|
},
|
|
21608
21832
|
...{
|
|
21609
21833
|
color: ["color_var", {
|
|
21610
|
-
"--color": (0,
|
|
21834
|
+
"--color": (0, import_runtime94.maybeCssVar)(color)
|
|
21611
21835
|
}]
|
|
21612
21836
|
}
|
|
21613
21837
|
}), children: count });
|
|
@@ -21631,7 +21855,7 @@ var BaseFilter = class {
|
|
|
21631
21855
|
};
|
|
21632
21856
|
|
|
21633
21857
|
// src/components/Filters/DateFilter.tsx
|
|
21634
|
-
var
|
|
21858
|
+
var import_jsx_runtime149 = require("react/jsx-runtime");
|
|
21635
21859
|
function dateFilter(props) {
|
|
21636
21860
|
return (key) => new DateFilter(key, props);
|
|
21637
21861
|
}
|
|
@@ -21653,10 +21877,10 @@ var DateFilter = class extends BaseFilter {
|
|
|
21653
21877
|
}
|
|
21654
21878
|
render(value, setValue, tid, inModal, vertical) {
|
|
21655
21879
|
const { label, operations, getOperationValue, getOperationLabel, defaultValue } = this.props;
|
|
21656
|
-
return /* @__PURE__ */ (0,
|
|
21657
|
-
vertical && /* @__PURE__ */ (0,
|
|
21658
|
-
/* @__PURE__ */ (0,
|
|
21659
|
-
/* @__PURE__ */ (0,
|
|
21880
|
+
return /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_jsx_runtime149.Fragment, { children: [
|
|
21881
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(Label, { label }),
|
|
21882
|
+
/* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(CompoundField, { children: [
|
|
21883
|
+
/* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
|
|
21660
21884
|
SelectField,
|
|
21661
21885
|
{
|
|
21662
21886
|
sizeToContent: true,
|
|
@@ -21678,7 +21902,7 @@ var DateFilter = class extends BaseFilter {
|
|
|
21678
21902
|
...tid[`${defaultTestId(this.label)}_dateOperation`]
|
|
21679
21903
|
}
|
|
21680
21904
|
),
|
|
21681
|
-
/* @__PURE__ */ (0,
|
|
21905
|
+
/* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
|
|
21682
21906
|
DateField,
|
|
21683
21907
|
{
|
|
21684
21908
|
labelStyle: "inline",
|
|
@@ -21702,7 +21926,7 @@ function isDateFilterValue(value) {
|
|
|
21702
21926
|
}
|
|
21703
21927
|
|
|
21704
21928
|
// src/components/Filters/DateRangeFilter.tsx
|
|
21705
|
-
var
|
|
21929
|
+
var import_jsx_runtime150 = require("react/jsx-runtime");
|
|
21706
21930
|
function dateRangeFilter(props) {
|
|
21707
21931
|
return (key) => new DateRangeFilter(key, props);
|
|
21708
21932
|
}
|
|
@@ -21724,9 +21948,9 @@ var DateRangeFilter = class extends BaseFilter {
|
|
|
21724
21948
|
}
|
|
21725
21949
|
render(value, setValue, tid, inModal, vertical) {
|
|
21726
21950
|
const { label, placeholderText, disabledDays, testFieldLabel, defaultValue } = this.props;
|
|
21727
|
-
return /* @__PURE__ */ (0,
|
|
21728
|
-
vertical && /* @__PURE__ */ (0,
|
|
21729
|
-
/* @__PURE__ */ (0,
|
|
21951
|
+
return /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)(import_jsx_runtime150.Fragment, { children: [
|
|
21952
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(Label, { label }),
|
|
21953
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
|
|
21730
21954
|
DateRangeField,
|
|
21731
21955
|
{
|
|
21732
21956
|
labelStyle: "inline",
|
|
@@ -21782,7 +22006,7 @@ function resolveNestedOptions(optionsOrLoad) {
|
|
|
21782
22006
|
}
|
|
21783
22007
|
|
|
21784
22008
|
// src/components/Filters/MultiFilter.tsx
|
|
21785
|
-
var
|
|
22009
|
+
var import_jsx_runtime151 = require("react/jsx-runtime");
|
|
21786
22010
|
function multiFilter(props) {
|
|
21787
22011
|
return (key) => new MultiFilter(key, props);
|
|
21788
22012
|
}
|
|
@@ -21796,7 +22020,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
21796
22020
|
const { disabledOptions } = this.props;
|
|
21797
22021
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
21798
22022
|
const disabledKeys = Object.keys(disabledOptionsWithReasons);
|
|
21799
|
-
return /* @__PURE__ */ (0,
|
|
22023
|
+
return /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
|
|
21800
22024
|
ToggleChipGroup,
|
|
21801
22025
|
{
|
|
21802
22026
|
label: this.label,
|
|
@@ -21820,7 +22044,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
21820
22044
|
);
|
|
21821
22045
|
}
|
|
21822
22046
|
const { defaultValue, nothingSelectedText, ...props } = this.props;
|
|
21823
|
-
return /* @__PURE__ */ (0,
|
|
22047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
|
|
21824
22048
|
MultiSelectField,
|
|
21825
22049
|
{
|
|
21826
22050
|
...props,
|
|
@@ -21839,7 +22063,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
21839
22063
|
};
|
|
21840
22064
|
|
|
21841
22065
|
// src/components/Filters/NumberRangeFilter.tsx
|
|
21842
|
-
var
|
|
22066
|
+
var import_jsx_runtime152 = require("react/jsx-runtime");
|
|
21843
22067
|
function numberRangeFilter(props) {
|
|
21844
22068
|
return (key) => new NumberRangeFilter(key, props);
|
|
21845
22069
|
}
|
|
@@ -21856,10 +22080,10 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
21856
22080
|
} = this.props;
|
|
21857
22081
|
const min = value?.min ?? void 0;
|
|
21858
22082
|
const max = value?.max ?? void 0;
|
|
21859
|
-
return /* @__PURE__ */ (0,
|
|
21860
|
-
vertical && /* @__PURE__ */ (0,
|
|
21861
|
-
/* @__PURE__ */ (0,
|
|
21862
|
-
/* @__PURE__ */ (0,
|
|
22083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_jsx_runtime152.Fragment, { children: [
|
|
22084
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { ...tid, children: [
|
|
22085
|
+
/* @__PURE__ */ (0, import_jsx_runtime152.jsx)(Label, { label }),
|
|
22086
|
+
/* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { className: "pb1", children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(NumberField, { labelStyle: "inline", clearable: true, label: "Min", value: min, type: numberFieldType, numberFormatOptions, onChange: (minVal) => {
|
|
21863
22087
|
const maxValue = max ? {
|
|
21864
22088
|
max
|
|
21865
22089
|
} : {};
|
|
@@ -21868,7 +22092,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
21868
22092
|
...maxValue
|
|
21869
22093
|
} : void 0);
|
|
21870
22094
|
}, ...tid[`${defaultTestId(label)}_min_vertical`] }) }),
|
|
21871
|
-
/* @__PURE__ */ (0,
|
|
22095
|
+
/* @__PURE__ */ (0, import_jsx_runtime152.jsx)(NumberField, { labelStyle: "inline", clearable: true, label: "Max", value: max, type: numberFieldType, numberFormatOptions, onChange: (maxVal) => {
|
|
21872
22096
|
const minValue = min ? {
|
|
21873
22097
|
min
|
|
21874
22098
|
} : {};
|
|
@@ -21878,8 +22102,8 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
21878
22102
|
} : void 0);
|
|
21879
22103
|
}, ...tid[`${defaultTestId(label)}_max_vertical`] })
|
|
21880
22104
|
] }),
|
|
21881
|
-
!vertical && /* @__PURE__ */ (0,
|
|
21882
|
-
/* @__PURE__ */ (0,
|
|
22105
|
+
!vertical && /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(CompoundField, { ...tid, children: [
|
|
22106
|
+
/* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
|
|
21883
22107
|
NumberField,
|
|
21884
22108
|
{
|
|
21885
22109
|
sizeToContent: !inModal,
|
|
@@ -21901,7 +22125,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
21901
22125
|
...tid[`${defaultTestId(label)}_min`]
|
|
21902
22126
|
}
|
|
21903
22127
|
),
|
|
21904
|
-
/* @__PURE__ */ (0,
|
|
22128
|
+
/* @__PURE__ */ (0, import_jsx_runtime152.jsx)(NumberField, { sizeToContent: !inModal, labelStyle: "inline", clearable: true, label: !inModal ? `${label} Max` : "Max", value: max, type: numberFieldType, numberFormatOptions, onChange: (maxVal) => {
|
|
21905
22129
|
const minValue = min ? {
|
|
21906
22130
|
min
|
|
21907
22131
|
} : {};
|
|
@@ -21916,7 +22140,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
21916
22140
|
};
|
|
21917
22141
|
|
|
21918
22142
|
// src/components/Filters/SingleFilter.tsx
|
|
21919
|
-
var
|
|
22143
|
+
var import_jsx_runtime153 = require("react/jsx-runtime");
|
|
21920
22144
|
function singleFilter(props) {
|
|
21921
22145
|
return (key) => new SingleFilter(key, props);
|
|
21922
22146
|
}
|
|
@@ -21937,7 +22161,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
21937
22161
|
...props
|
|
21938
22162
|
} = this.props;
|
|
21939
22163
|
const options = Array.isArray(maybeOptions) ? [allOption, ...maybeOptions] : { ...maybeOptions, current: maybeOptions.current };
|
|
21940
|
-
return /* @__PURE__ */ (0,
|
|
22164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
|
|
21941
22165
|
SelectField,
|
|
21942
22166
|
{
|
|
21943
22167
|
...props,
|
|
@@ -21957,7 +22181,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
21957
22181
|
};
|
|
21958
22182
|
|
|
21959
22183
|
// src/components/Filters/TreeFilter.tsx
|
|
21960
|
-
var
|
|
22184
|
+
var import_jsx_runtime154 = require("react/jsx-runtime");
|
|
21961
22185
|
function treeFilter(props) {
|
|
21962
22186
|
return (key) => new TreeFilter(key, props);
|
|
21963
22187
|
}
|
|
@@ -21968,7 +22192,7 @@ var TreeFilter = class extends BaseFilter {
|
|
|
21968
22192
|
}
|
|
21969
22193
|
render(value, setValue, tid, inModal, vertical) {
|
|
21970
22194
|
const { defaultValue, nothingSelectedText, filterBy = "root", ...props } = this.props;
|
|
21971
|
-
return /* @__PURE__ */ (0,
|
|
22195
|
+
return /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(
|
|
21972
22196
|
TreeSelectField,
|
|
21973
22197
|
{
|
|
21974
22198
|
...props,
|
|
@@ -21988,7 +22212,7 @@ var TreeFilter = class extends BaseFilter {
|
|
|
21988
22212
|
};
|
|
21989
22213
|
|
|
21990
22214
|
// src/components/Filters/BooleanFilter.tsx
|
|
21991
|
-
var
|
|
22215
|
+
var import_jsx_runtime155 = require("react/jsx-runtime");
|
|
21992
22216
|
function booleanFilter(props) {
|
|
21993
22217
|
return (key) => new BooleanFilter(key, props);
|
|
21994
22218
|
}
|
|
@@ -22000,7 +22224,7 @@ var BooleanFilter = class extends BaseFilter {
|
|
|
22000
22224
|
}
|
|
22001
22225
|
render(value, setValue, tid, inModal, vertical) {
|
|
22002
22226
|
const { options = defaultBooleanOptions, label, defaultValue, ...props } = this.props;
|
|
22003
|
-
return /* @__PURE__ */ (0,
|
|
22227
|
+
return /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(
|
|
22004
22228
|
SelectField,
|
|
22005
22229
|
{
|
|
22006
22230
|
...props,
|
|
@@ -22027,7 +22251,7 @@ var defaultBooleanOptions = [
|
|
|
22027
22251
|
];
|
|
22028
22252
|
|
|
22029
22253
|
// src/components/Filters/CheckboxFilter.tsx
|
|
22030
|
-
var
|
|
22254
|
+
var import_jsx_runtime156 = require("react/jsx-runtime");
|
|
22031
22255
|
function checkboxFilter(props) {
|
|
22032
22256
|
return (key) => new CheckboxFilter(key, {
|
|
22033
22257
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -22042,7 +22266,7 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
22042
22266
|
}
|
|
22043
22267
|
render(value, setValue, tid, inModal, vertical) {
|
|
22044
22268
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
22045
|
-
return /* @__PURE__ */ (0,
|
|
22269
|
+
return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(
|
|
22046
22270
|
Checkbox,
|
|
22047
22271
|
{
|
|
22048
22272
|
...props,
|
|
@@ -22061,10 +22285,10 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
22061
22285
|
};
|
|
22062
22286
|
|
|
22063
22287
|
// src/components/Filters/FilterModal.tsx
|
|
22064
|
-
var
|
|
22288
|
+
var import_react116 = require("react");
|
|
22065
22289
|
|
|
22066
22290
|
// src/components/Modal/ConfirmCloseModal.tsx
|
|
22067
|
-
var
|
|
22291
|
+
var import_jsx_runtime157 = require("react/jsx-runtime");
|
|
22068
22292
|
function ConfirmCloseModal(props) {
|
|
22069
22293
|
const {
|
|
22070
22294
|
onClose,
|
|
@@ -22078,11 +22302,11 @@ function ConfirmCloseModal(props) {
|
|
|
22078
22302
|
function closeModal() {
|
|
22079
22303
|
modalState.current = void 0;
|
|
22080
22304
|
}
|
|
22081
|
-
return /* @__PURE__ */ (0,
|
|
22082
|
-
/* @__PURE__ */ (0,
|
|
22083
|
-
/* @__PURE__ */ (0,
|
|
22084
|
-
/* @__PURE__ */ (0,
|
|
22085
|
-
/* @__PURE__ */ (0,
|
|
22305
|
+
return /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(import_jsx_runtime157.Fragment, { children: [
|
|
22306
|
+
/* @__PURE__ */ (0, import_jsx_runtime157.jsx)(ModalHeader, { children: title }),
|
|
22307
|
+
/* @__PURE__ */ (0, import_jsx_runtime157.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("p", { children: message }) }),
|
|
22308
|
+
/* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(ModalFooter, { children: [
|
|
22309
|
+
/* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
|
|
22086
22310
|
Button,
|
|
22087
22311
|
{
|
|
22088
22312
|
variant: "quaternary",
|
|
@@ -22093,7 +22317,7 @@ function ConfirmCloseModal(props) {
|
|
|
22093
22317
|
}
|
|
22094
22318
|
}
|
|
22095
22319
|
),
|
|
22096
|
-
/* @__PURE__ */ (0,
|
|
22320
|
+
/* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
|
|
22097
22321
|
Button,
|
|
22098
22322
|
{
|
|
22099
22323
|
label: continueText,
|
|
@@ -22108,26 +22332,26 @@ function ConfirmCloseModal(props) {
|
|
|
22108
22332
|
}
|
|
22109
22333
|
|
|
22110
22334
|
// src/components/Modal/OpenModal.tsx
|
|
22111
|
-
var
|
|
22112
|
-
var
|
|
22335
|
+
var import_react115 = require("react");
|
|
22336
|
+
var import_jsx_runtime158 = require("react/jsx-runtime");
|
|
22113
22337
|
function OpenModal(props) {
|
|
22114
22338
|
const { openModal } = useModal();
|
|
22115
22339
|
const { size, children, keepOpen } = props;
|
|
22116
|
-
(0,
|
|
22340
|
+
(0, import_react115.useEffect)(() => {
|
|
22117
22341
|
if (!keepOpen) {
|
|
22118
22342
|
openModal({ size, content: children });
|
|
22119
22343
|
}
|
|
22120
22344
|
}, [keepOpen, openModal, size, children]);
|
|
22121
22345
|
if (keepOpen) {
|
|
22122
|
-
return /* @__PURE__ */ (0,
|
|
22346
|
+
return /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(Modal, { size, content: children });
|
|
22123
22347
|
} else {
|
|
22124
|
-
return /* @__PURE__ */ (0,
|
|
22348
|
+
return /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("div", { children: "dummy content" });
|
|
22125
22349
|
}
|
|
22126
22350
|
}
|
|
22127
22351
|
|
|
22128
22352
|
// src/components/Filters/FilterModal.tsx
|
|
22129
|
-
var
|
|
22130
|
-
var
|
|
22353
|
+
var import_runtime95 = require("@homebound/truss/runtime");
|
|
22354
|
+
var import_jsx_runtime159 = require("react/jsx-runtime");
|
|
22131
22355
|
function FilterModal(props) {
|
|
22132
22356
|
const {
|
|
22133
22357
|
filter,
|
|
@@ -22138,20 +22362,20 @@ function FilterModal(props) {
|
|
|
22138
22362
|
const {
|
|
22139
22363
|
closeModal
|
|
22140
22364
|
} = useModal();
|
|
22141
|
-
const [modalFilter, setModalFilter] = (0,
|
|
22142
|
-
return /* @__PURE__ */ (0,
|
|
22143
|
-
/* @__PURE__ */ (0,
|
|
22144
|
-
/* @__PURE__ */ (0,
|
|
22145
|
-
/* @__PURE__ */ (0,
|
|
22365
|
+
const [modalFilter, setModalFilter] = (0, import_react116.useState)(filter);
|
|
22366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)(import_jsx_runtime159.Fragment, { children: [
|
|
22367
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsx)(ModalHeader, { children: "More Filters" }),
|
|
22368
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime159.jsx)("div", { className: "df fdc", children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(modalFilter[key], (value) => setModalFilter(updateFilter(modalFilter, key, value)), testId, true, false) }, key)) }) }),
|
|
22369
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsxs)(ModalFooter, { xss: {
|
|
22146
22370
|
justifyContent: "jcsb"
|
|
22147
22371
|
}, children: [
|
|
22148
|
-
/* @__PURE__ */ (0,
|
|
22372
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsx)(Button, { label: "Clear", variant: "tertiary", disabled: safeKeys(filters).filter((fk) => modalFilter[fk] !== void 0).length === 0, onClick: () => (
|
|
22149
22373
|
// Only remove the filters keys that exist in the modal.
|
|
22150
22374
|
setModalFilter(safeKeys(filters).reduce((acc, fk) => omitKey(fk, acc), modalFilter))
|
|
22151
22375
|
), ...testId.modalClear }),
|
|
22152
|
-
/* @__PURE__ */ (0,
|
|
22153
|
-
/* @__PURE__ */ (0,
|
|
22154
|
-
/* @__PURE__ */ (0,
|
|
22376
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsxs)("div", { className: "df gap1", children: [
|
|
22377
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: closeModal, ...testId.modalClose }),
|
|
22378
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsx)(Button, { label: "Apply", onClick: () => {
|
|
22155
22379
|
onApply(modalFilter);
|
|
22156
22380
|
closeModal();
|
|
22157
22381
|
}, ...testId.modalApply })
|
|
@@ -22163,7 +22387,7 @@ function ModalFilterItem({
|
|
|
22163
22387
|
label,
|
|
22164
22388
|
children
|
|
22165
22389
|
}) {
|
|
22166
|
-
return /* @__PURE__ */ (0,
|
|
22390
|
+
return /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)("div", { ...(0, import_runtime95.trussProps)({
|
|
22167
22391
|
marginBottom: "mb4",
|
|
22168
22392
|
...!label ? {
|
|
22169
22393
|
borderTopStyle: "bts_solid",
|
|
@@ -22171,8 +22395,8 @@ function ModalFilterItem({
|
|
|
22171
22395
|
borderColor: "bcGray200"
|
|
22172
22396
|
} : {}
|
|
22173
22397
|
}), children: [
|
|
22174
|
-
label && /* @__PURE__ */ (0,
|
|
22175
|
-
/* @__PURE__ */ (0,
|
|
22398
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)("h2", { className: "fw4 fz_16px lh_24px mb2", children: label }),
|
|
22399
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsx)("div", { ...(0, import_runtime95.trussProps)({
|
|
22176
22400
|
...!label ? {
|
|
22177
22401
|
paddingTop: "pt3"
|
|
22178
22402
|
} : {}
|
|
@@ -22181,9 +22405,9 @@ function ModalFilterItem({
|
|
|
22181
22405
|
}
|
|
22182
22406
|
|
|
22183
22407
|
// src/components/Filters/Filters.tsx
|
|
22184
|
-
var
|
|
22185
|
-
var
|
|
22186
|
-
var
|
|
22408
|
+
var import_react117 = require("react");
|
|
22409
|
+
var import_runtime96 = require("@homebound/truss/runtime");
|
|
22410
|
+
var import_jsx_runtime160 = require("react/jsx-runtime");
|
|
22187
22411
|
function Filters(props) {
|
|
22188
22412
|
const {
|
|
22189
22413
|
filter,
|
|
@@ -22197,7 +22421,7 @@ function Filters(props) {
|
|
|
22197
22421
|
const {
|
|
22198
22422
|
openModal
|
|
22199
22423
|
} = useModal();
|
|
22200
|
-
const [pageFilters, modalFilters] = (0,
|
|
22424
|
+
const [pageFilters, modalFilters] = (0, import_react117.useMemo)(() => {
|
|
22201
22425
|
const impls = safeEntries(filterDefs).map(([key, fn]) => [key, fn(key)]);
|
|
22202
22426
|
if (!vertical && impls.length > numberOfInlineFilters) {
|
|
22203
22427
|
return [Object.fromEntries(impls.slice(0, numberOfInlineFilters - 1)), Object.fromEntries(impls.slice(numberOfInlineFilters - 1))];
|
|
@@ -22205,8 +22429,8 @@ function Filters(props) {
|
|
|
22205
22429
|
return [Object.fromEntries(impls), {}];
|
|
22206
22430
|
}, [numberOfInlineFilters, vertical, filterDefs]);
|
|
22207
22431
|
const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
|
|
22208
|
-
const maybeGroupByField = groupBy ? /* @__PURE__ */ (0,
|
|
22209
|
-
return /* @__PURE__ */ (0,
|
|
22432
|
+
const maybeGroupByField = groupBy ? /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(SelectField, { label: "Group by", labelStyle: !vertical ? "inline" : "above", sizeToContent: !vertical, options: groupBy.options, getOptionValue: (o) => o.id, getOptionLabel: (o) => o.name, value: groupBy.value, onSelect: (g) => g && groupBy.setValue(g) }) }) : null;
|
|
22433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { ...(0, import_runtime96.trussProps)({
|
|
22210
22434
|
...vertical ? {
|
|
22211
22435
|
display: "df",
|
|
22212
22436
|
flexDirection: "fdc",
|
|
@@ -22218,18 +22442,18 @@ function Filters(props) {
|
|
|
22218
22442
|
}
|
|
22219
22443
|
}), ...testId, children: [
|
|
22220
22444
|
maybeGroupByField,
|
|
22221
|
-
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */ (0,
|
|
22222
|
-
Object.keys(modalFilters).length > 0 && /* @__PURE__ */ (0,
|
|
22445
|
+
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { children: f.render(filter[key], (value) => onChange(updateFilter(filter, key, value)), testId, false, vertical) }, key)),
|
|
22446
|
+
Object.keys(modalFilters).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(Button, { label: "More Filters", endAdornment: /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(CountBadge, { count: numModalFilters, hideIfZero: true }), variant: "secondary", onClick: () => openModal({
|
|
22223
22447
|
// Spreading `props` to pass along `data-testid`
|
|
22224
|
-
content: /* @__PURE__ */ (0,
|
|
22448
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(FilterModal, { ...props, filter, onApply: onChange, filters: modalFilters })
|
|
22225
22449
|
}), ...testId.moreFiltersBtn }),
|
|
22226
|
-
Object.keys(filter).length > 0 && /* @__PURE__ */ (0,
|
|
22450
|
+
Object.keys(filter).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange({}), ...testId.clearBtn }) })
|
|
22227
22451
|
] });
|
|
22228
22452
|
}
|
|
22229
|
-
var _Filters = (0,
|
|
22453
|
+
var _Filters = (0, import_react117.memo)(Filters);
|
|
22230
22454
|
|
|
22231
22455
|
// src/components/Filters/ToggleFilter.tsx
|
|
22232
|
-
var
|
|
22456
|
+
var import_jsx_runtime161 = require("react/jsx-runtime");
|
|
22233
22457
|
function toggleFilter(props) {
|
|
22234
22458
|
return (key) => new ToggleFilter(key, {
|
|
22235
22459
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -22244,7 +22468,7 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
22244
22468
|
}
|
|
22245
22469
|
render(value, setValue, tid, inModal, vertical) {
|
|
22246
22470
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
22247
|
-
return /* @__PURE__ */ (0,
|
|
22471
|
+
return /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
22248
22472
|
Switch,
|
|
22249
22473
|
{
|
|
22250
22474
|
...props,
|
|
@@ -22264,11 +22488,11 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
22264
22488
|
};
|
|
22265
22489
|
|
|
22266
22490
|
// src/components/Table/components/EditColumnsButton.tsx
|
|
22267
|
-
var
|
|
22268
|
-
var
|
|
22491
|
+
var import_react118 = require("react");
|
|
22492
|
+
var import_react_aria54 = require("react-aria");
|
|
22269
22493
|
var import_react_stately18 = require("react-stately");
|
|
22270
|
-
var
|
|
22271
|
-
var
|
|
22494
|
+
var import_runtime97 = require("@homebound/truss/runtime");
|
|
22495
|
+
var import_jsx_runtime162 = require("react/jsx-runtime");
|
|
22272
22496
|
function EditColumnsButton(props) {
|
|
22273
22497
|
const {
|
|
22274
22498
|
defaultOpen,
|
|
@@ -22279,17 +22503,17 @@ function EditColumnsButton(props) {
|
|
|
22279
22503
|
const state = (0, import_react_stately18.useMenuTriggerState)({
|
|
22280
22504
|
isOpen: defaultOpen
|
|
22281
22505
|
});
|
|
22282
|
-
const buttonRef = (0,
|
|
22506
|
+
const buttonRef = (0, import_react118.useRef)(null);
|
|
22283
22507
|
const {
|
|
22284
22508
|
menuTriggerProps
|
|
22285
|
-
} = (0,
|
|
22509
|
+
} = (0, import_react_aria54.useMenuTrigger)({
|
|
22286
22510
|
isDisabled: !!disabled
|
|
22287
22511
|
}, state, buttonRef);
|
|
22288
22512
|
const tid = useTestIds(props, "columns");
|
|
22289
22513
|
const {
|
|
22290
22514
|
sm
|
|
22291
22515
|
} = useBreakpoint();
|
|
22292
|
-
const options = (0,
|
|
22516
|
+
const options = (0, import_react118.useMemo)(() => columns.filter((column2) => column2.canHide).filter((column2) => {
|
|
22293
22517
|
if (!column2.name || column2.name.length === 0 || !column2.id || column2.id.length === 0) {
|
|
22294
22518
|
console.warn("Column is missing 'name' and/or 'id' property required by the Edit Columns button", column2);
|
|
22295
22519
|
return false;
|
|
@@ -22300,15 +22524,15 @@ function EditColumnsButton(props) {
|
|
|
22300
22524
|
value: column2.id
|
|
22301
22525
|
})), [columns]);
|
|
22302
22526
|
const selectedValues = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
22303
|
-
const setSelectedValues = (0,
|
|
22527
|
+
const setSelectedValues = (0, import_react118.useCallback)((ids) => {
|
|
22304
22528
|
api.resetColumnWidths();
|
|
22305
22529
|
api.setVisibleColumns(columns.filter((column2) => column2.canHide ? ids.includes(column2.id) : true).map((c) => c.id));
|
|
22306
22530
|
}, [columns, api]);
|
|
22307
|
-
const hasHiddenColumn = (0,
|
|
22531
|
+
const hasHiddenColumn = (0, import_react118.useMemo)(() => {
|
|
22308
22532
|
const selectableOptionValues = options.map((option) => option.value);
|
|
22309
22533
|
return selectableOptionValues.some((option) => !selectedValues.includes(option));
|
|
22310
22534
|
}, [options, selectedValues]);
|
|
22311
|
-
return /* @__PURE__ */ (0,
|
|
22535
|
+
return /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(OverlayTrigger, { ...props, trigger: sm ? {
|
|
22312
22536
|
icon: hasHiddenColumn ? "columnsBadged" : "columns",
|
|
22313
22537
|
variant: "outline"
|
|
22314
22538
|
} : {
|
|
@@ -22316,7 +22540,7 @@ function EditColumnsButton(props) {
|
|
|
22316
22540
|
label: "",
|
|
22317
22541
|
size: "md",
|
|
22318
22542
|
variant: "secondaryBlack"
|
|
22319
|
-
}, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ (0,
|
|
22543
|
+
}, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("div", { ...(0, import_runtime97.trussProps)({
|
|
22320
22544
|
display: "df",
|
|
22321
22545
|
flexDirection: "fdc",
|
|
22322
22546
|
backgroundColor: ["bgColor_var", {
|
|
@@ -22329,11 +22553,11 @@ function EditColumnsButton(props) {
|
|
|
22329
22553
|
maxHeight: "maxh_512px",
|
|
22330
22554
|
boxShadow: "bshBasic h_bshHover"
|
|
22331
22555
|
}), children: [
|
|
22332
|
-
/* @__PURE__ */ (0,
|
|
22333
|
-
/* @__PURE__ */ (0,
|
|
22334
|
-
/* @__PURE__ */ (0,
|
|
22556
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsx)("div", { className: "dg gtc_1fr_auto gap2 pt2 pb2 pr2 pl2 fg1 mh0 oya", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)(import_react118.Fragment, { children: [
|
|
22557
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsx)("div", { className: "fw4 fz_14px lh_20px wsnw oh to_ellipsis pr1", children: option.label }),
|
|
22558
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsx)(Switch, { compact: true, selected: selectedValues.includes(option.value), onChange: (value) => setSelectedValues(value ? [...selectedValues, option.value] : selectedValues.filter((v) => v !== option.value)), labelStyle: "hidden", label: option.label, ...tid[`option${option.value}`] })
|
|
22335
22559
|
] }, option.value)) }),
|
|
22336
|
-
/* @__PURE__ */ (0,
|
|
22560
|
+
/* @__PURE__ */ (0, import_jsx_runtime162.jsx)("div", { ...(0, import_runtime97.trussProps)({
|
|
22337
22561
|
display: "df",
|
|
22338
22562
|
justifyContent: "jcc",
|
|
22339
22563
|
paddingTop: "pt2",
|
|
@@ -22345,12 +22569,12 @@ function EditColumnsButton(props) {
|
|
|
22345
22569
|
borderColor: ["bc_var", {
|
|
22346
22570
|
"--borderColor": "var(--b-surface-separator)"
|
|
22347
22571
|
}]
|
|
22348
|
-
}), children: /* @__PURE__ */ (0,
|
|
22572
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(Button, { variant: "tertiary", label: "Reset Column Widths", onClick: () => api.resetColumnWidths() }) })
|
|
22349
22573
|
] }) });
|
|
22350
22574
|
}
|
|
22351
22575
|
|
|
22352
22576
|
// src/components/Table/components/ViewToggleButton.tsx
|
|
22353
|
-
var
|
|
22577
|
+
var import_jsx_runtime163 = require("react/jsx-runtime");
|
|
22354
22578
|
function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
22355
22579
|
const { sm } = useBreakpoint();
|
|
22356
22580
|
const tid = useTestIds({}, "viewToggleButton");
|
|
@@ -22359,7 +22583,7 @@ function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
|
22359
22583
|
{ label: "Card", icon: "tile", onClick: () => onChange("card") }
|
|
22360
22584
|
];
|
|
22361
22585
|
const icon = view === "list" ? "projects" : "tile";
|
|
22362
|
-
return /* @__PURE__ */ (0,
|
|
22586
|
+
return /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(
|
|
22363
22587
|
ButtonMenu,
|
|
22364
22588
|
{
|
|
22365
22589
|
trigger: sm ? { icon, variant: "outline" } : { icon, label: "", size: "md", variant: "secondaryBlack" },
|
|
@@ -22375,12 +22599,12 @@ var import_use_debounce7 = require("use-debounce");
|
|
|
22375
22599
|
var import_use_query_params3 = require("use-query-params");
|
|
22376
22600
|
|
|
22377
22601
|
// src/components/Layout/GridTableLayout/FilterPanel.tsx
|
|
22378
|
-
var
|
|
22602
|
+
var import_runtime98 = require("@homebound/truss/runtime");
|
|
22379
22603
|
|
|
22380
22604
|
// src/components/Layout/GridTableLayout/GroupByField.tsx
|
|
22381
|
-
var
|
|
22605
|
+
var import_jsx_runtime164 = require("react/jsx-runtime");
|
|
22382
22606
|
function GroupByField({ value, setValue, options }) {
|
|
22383
|
-
return /* @__PURE__ */ (0,
|
|
22607
|
+
return /* @__PURE__ */ (0, import_jsx_runtime164.jsx)(
|
|
22384
22608
|
SelectField,
|
|
22385
22609
|
{
|
|
22386
22610
|
label: "Group by",
|
|
@@ -22396,9 +22620,9 @@ function GroupByField({ value, setValue, options }) {
|
|
|
22396
22620
|
}
|
|
22397
22621
|
|
|
22398
22622
|
// src/components/Layout/GridTableLayout/FilterPanel.tsx
|
|
22399
|
-
var
|
|
22623
|
+
var import_jsx_runtime165 = require("react/jsx-runtime");
|
|
22400
22624
|
function FilterPanel(props) {
|
|
22401
|
-
return props.isOpen ? /* @__PURE__ */ (0,
|
|
22625
|
+
return props.isOpen ? /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(FilterPanelOpen, { ...props }) : /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(FilterPanelClosed, { ...props });
|
|
22402
22626
|
}
|
|
22403
22627
|
function FilterPanelOpen({
|
|
22404
22628
|
groupBy,
|
|
@@ -22411,7 +22635,7 @@ function FilterPanelOpen({
|
|
|
22411
22635
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
22412
22636
|
const activeFilterCount = getActiveFilterCount(filter ?? {});
|
|
22413
22637
|
const filterControls = filter && setFilter ? buildFilterControls(filterImpls, filter, setFilter, tid) : null;
|
|
22414
|
-
return /* @__PURE__ */ (0,
|
|
22638
|
+
return /* @__PURE__ */ (0, import_jsx_runtime165.jsxs)("div", { ...(0, import_runtime98.trussProps)({
|
|
22415
22639
|
...{
|
|
22416
22640
|
display: "df",
|
|
22417
22641
|
alignItems: "aic",
|
|
@@ -22427,9 +22651,9 @@ function FilterPanelOpen({
|
|
|
22427
22651
|
},
|
|
22428
22652
|
...inDocumentScrollLayout ? pageContentPaddingX : void 0
|
|
22429
22653
|
}), children: [
|
|
22430
|
-
groupBy && /* @__PURE__ */ (0,
|
|
22654
|
+
groupBy && /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(GroupByField, { ...groupBy }),
|
|
22431
22655
|
filterControls,
|
|
22432
|
-
activeFilterCount > 0 && /* @__PURE__ */ (0,
|
|
22656
|
+
activeFilterCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: () => maybeCall(onClear), ...tid.clearBtn })
|
|
22433
22657
|
] });
|
|
22434
22658
|
}
|
|
22435
22659
|
function FilterPanelClosed({
|
|
@@ -22443,7 +22667,7 @@ function FilterPanelClosed({
|
|
|
22443
22667
|
if (!filter || !setFilter) return null;
|
|
22444
22668
|
const chips = safeEntries(filterImpls).flatMap(([key, f]) => chipsForFilterKey(key, f, filter, setFilter, tid));
|
|
22445
22669
|
if (chips.length === 0) return null;
|
|
22446
|
-
return /* @__PURE__ */ (0,
|
|
22670
|
+
return /* @__PURE__ */ (0, import_jsx_runtime165.jsxs)("div", { ...(0, import_runtime98.trussProps)({
|
|
22447
22671
|
display: "df",
|
|
22448
22672
|
gap: "gap1",
|
|
22449
22673
|
alignItems: "aic",
|
|
@@ -22454,14 +22678,14 @@ function FilterPanelClosed({
|
|
|
22454
22678
|
} : {}
|
|
22455
22679
|
}), children: [
|
|
22456
22680
|
chips,
|
|
22457
|
-
/* @__PURE__ */ (0,
|
|
22681
|
+
/* @__PURE__ */ (0, import_jsx_runtime165.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: () => maybeCall(onClear), ...tid.clearBtn })
|
|
22458
22682
|
] });
|
|
22459
22683
|
}
|
|
22460
22684
|
function buildFilterControls(filterImpls, filter, setFilter, testId) {
|
|
22461
22685
|
const entries = safeEntries(filterImpls);
|
|
22462
22686
|
const nonCheckbox = entries.filter(([_, f]) => !f.hideLabelInModal);
|
|
22463
22687
|
const checkbox = entries.filter(([_, f]) => f.hideLabelInModal);
|
|
22464
|
-
return [...nonCheckbox, ...checkbox].map(([key, f]) => /* @__PURE__ */ (0,
|
|
22688
|
+
return [...nonCheckbox, ...checkbox].map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime165.jsx)("div", { children: f.render(filter[key], (value) => setFilter(updateFilter(filter, key, value)), testId, false, false) }, key));
|
|
22465
22689
|
}
|
|
22466
22690
|
function buildFilterImpls(filterDefs) {
|
|
22467
22691
|
return Object.fromEntries(safeEntries(filterDefs).map(([key, fn]) => [key, fn(key)]));
|
|
@@ -22475,17 +22699,17 @@ function chipsForFilterKey(key, f, filter, onChange, testId) {
|
|
|
22475
22699
|
if (!isDefined(label2)) return [];
|
|
22476
22700
|
const chipKey = `${String(key)}_${item}`;
|
|
22477
22701
|
const newArray = value.filter((v) => v !== item);
|
|
22478
|
-
return /* @__PURE__ */ (0,
|
|
22702
|
+
return /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(ToggleChip, { text: label2, onClick: () => onChange(updateFilter(filter, key, newArray.length > 0 ? newArray : void 0)), ...testId[`chip_${chipKey}`] }, chipKey);
|
|
22479
22703
|
});
|
|
22480
22704
|
}
|
|
22481
22705
|
const label = f.formatSelectedFilterLabel(value);
|
|
22482
22706
|
if (!isDefined(label)) return [];
|
|
22483
|
-
return /* @__PURE__ */ (0,
|
|
22707
|
+
return /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(ToggleChip, { text: label, onClick: () => onChange(updateFilter(filter, key, void 0)), ...testId[`chip_${String(key)}`] }, String(key));
|
|
22484
22708
|
}
|
|
22485
22709
|
|
|
22486
22710
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
22487
|
-
var
|
|
22488
|
-
var
|
|
22711
|
+
var import_runtime99 = require("@homebound/truss/runtime");
|
|
22712
|
+
var import_jsx_runtime166 = require("react/jsx-runtime");
|
|
22489
22713
|
function GridTableLayoutActionsComponent(props) {
|
|
22490
22714
|
const {
|
|
22491
22715
|
filter,
|
|
@@ -22509,14 +22733,14 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
22509
22733
|
sm
|
|
22510
22734
|
} = useBreakpoint();
|
|
22511
22735
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
22512
|
-
const [showSearch, setShowSearch] = (0,
|
|
22513
|
-
const [showFilters, setShowFilters] = (0,
|
|
22736
|
+
const [showSearch, setShowSearch] = (0, import_react119.useState)(false);
|
|
22737
|
+
const [showFilters, setShowFilters] = (0, import_react119.useState)(false);
|
|
22514
22738
|
const [{
|
|
22515
22739
|
search: initialValue
|
|
22516
22740
|
}, setQueryParams] = (0, import_use_query_params3.useQueryParams)({
|
|
22517
22741
|
search: import_use_query_params3.StringParam
|
|
22518
22742
|
});
|
|
22519
|
-
const [searchValue, setSearchValue] = (0,
|
|
22743
|
+
const [searchValue, setSearchValue] = (0, import_react119.useState)(initialValue || "");
|
|
22520
22744
|
const handleSearchDebounced = (0, import_use_debounce7.useDebouncedCallback)((value) => {
|
|
22521
22745
|
if (searchProps) {
|
|
22522
22746
|
searchProps.onSearch(value);
|
|
@@ -22531,12 +22755,12 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
22531
22755
|
const controlCount = filterCount + (hasGroupBy ? 1 : 0);
|
|
22532
22756
|
const hasFilterControls = controlCount > 0;
|
|
22533
22757
|
const showInlineControl = !sm && controlCount === 1 && (hasGroupBy || !!(filter && setFilter));
|
|
22534
|
-
const activeFilterCount = (0,
|
|
22535
|
-
const filterImpls = (0,
|
|
22536
|
-
const searchTextField = /* @__PURE__ */ (0,
|
|
22758
|
+
const activeFilterCount = (0, import_react119.useMemo)(() => filter ? getActiveFilterCount(filter) : 0, [filter]);
|
|
22759
|
+
const filterImpls = (0, import_react119.useMemo)(() => filterDefs ? buildFilterImpls(filterDefs) : {}, [filterDefs]);
|
|
22760
|
+
const searchTextField = /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(TextField, { label: "Search", labelStyle: "hidden", value: searchValue, onChange: (v) => {
|
|
22537
22761
|
setSearchValue(v ?? "");
|
|
22538
22762
|
handleSearchDebounced(v ?? "");
|
|
22539
|
-
}, placeholder: "Search", clearable: true, fullWidth: true, startAdornment: /* @__PURE__ */ (0,
|
|
22763
|
+
}, placeholder: "Search", clearable: true, fullWidth: true, startAdornment: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(Icon, { icon: "search", color: "--b-on-surface-muted" /* OnSurfaceMuted */ }) });
|
|
22540
22764
|
if (searchApi) {
|
|
22541
22765
|
searchApi.current = {
|
|
22542
22766
|
clear: () => {
|
|
@@ -22548,7 +22772,7 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
22548
22772
|
}
|
|
22549
22773
|
};
|
|
22550
22774
|
}
|
|
22551
|
-
return /* @__PURE__ */ (0,
|
|
22775
|
+
return /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)("div", { ...(0, import_runtime99.trussProps)({
|
|
22552
22776
|
display: "df",
|
|
22553
22777
|
flexDirection: "fdc",
|
|
22554
22778
|
gap: "gap1",
|
|
@@ -22557,7 +22781,7 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
22557
22781
|
paddingBottom: "pb3"
|
|
22558
22782
|
} : {}
|
|
22559
22783
|
}), children: [
|
|
22560
|
-
/* @__PURE__ */ (0,
|
|
22784
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsxs)("div", { ...(0, import_runtime99.trussProps)({
|
|
22561
22785
|
...{
|
|
22562
22786
|
display: "df",
|
|
22563
22787
|
gap: "gap1",
|
|
@@ -22566,36 +22790,36 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
22566
22790
|
},
|
|
22567
22791
|
...inDocumentScrollLayout ? pageContentPaddingX : void 0
|
|
22568
22792
|
}), children: [
|
|
22569
|
-
/* @__PURE__ */ (0,
|
|
22570
|
-
!sm && hasSearch && /* @__PURE__ */ (0,
|
|
22571
|
-
sm && hasSearch && /* @__PURE__ */ (0,
|
|
22572
|
-
sm && hasFilterControls && /* @__PURE__ */ (0,
|
|
22573
|
-
showInlineControl && (groupBy ? /* @__PURE__ */ (0,
|
|
22574
|
-
!sm && hasFilterControls && !showInlineControl && /* @__PURE__ */ (0,
|
|
22575
|
-
activeFilterCount > 0 && /* @__PURE__ */ (0,
|
|
22576
|
-
/* @__PURE__ */ (0,
|
|
22793
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsxs)("div", { className: "df gap_12px aic", children: [
|
|
22794
|
+
!sm && hasSearch && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("div", { className: "w_244px", children: searchTextField }),
|
|
22795
|
+
sm && hasSearch && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(IconButton, { variant: "outline", icon: searchValue ? "searchBadged" : "search", label: "Search", onClick: () => setShowSearch(!showSearch), active: showSearch, ...testId.searchButton }),
|
|
22796
|
+
sm && hasFilterControls && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(IconButton, { variant: "outline", icon: activeFilterCount > 0 ? "filterBadged" : "filter", label: "Filter", onClick: () => setShowFilters(!showFilters), active: showFilters, ...testId.filterSmallButton }),
|
|
22797
|
+
showInlineControl && (groupBy ? /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(GroupByField, { ...groupBy }) : filter && setFilter && buildFilterControls(filterImpls, filter, setFilter, filterTid)),
|
|
22798
|
+
!sm && hasFilterControls && !showInlineControl && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(Button, { label: "Filter", icon: "filter", size: "md", endAdornment: /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)("div", { className: "df aic gap1", children: [
|
|
22799
|
+
activeFilterCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(CountBadge, { count: activeFilterCount }),
|
|
22800
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsx)(Icon, { icon: showFilters ? "chevronUp" : "chevronDown" })
|
|
22577
22801
|
] }), variant: "secondaryBlack", onClick: () => setShowFilters(!showFilters), active: showFilters, ...testId.filterButton })
|
|
22578
22802
|
] }),
|
|
22579
|
-
(hasHideableColumns || withCardView || actionMenu) && /* @__PURE__ */ (0,
|
|
22580
|
-
hasHideableColumns && view === "list" && columns && api && /* @__PURE__ */ (0,
|
|
22581
|
-
withCardView && view !== void 0 && setView && /* @__PURE__ */ (0,
|
|
22582
|
-
actionMenu && /* @__PURE__ */ (0,
|
|
22803
|
+
(hasHideableColumns || withCardView || actionMenu) && /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)("div", { className: "df aic gap_12px", children: [
|
|
22804
|
+
hasHideableColumns && view === "list" && columns && api && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(EditColumnsButton, { columns, api, tooltip: "Display columns" }),
|
|
22805
|
+
withCardView && view !== void 0 && setView && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(ViewToggleButton, { view, onChange: setView }),
|
|
22806
|
+
actionMenu && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(ButtonMenu, { ...actionMenu, trigger: {
|
|
22583
22807
|
icon: "verticalDots"
|
|
22584
22808
|
} })
|
|
22585
22809
|
] })
|
|
22586
22810
|
] }),
|
|
22587
|
-
sm && showSearch && /* @__PURE__ */ (0,
|
|
22588
|
-
hasFilterControls && !showInlineControl && /* @__PURE__ */ (0,
|
|
22811
|
+
sm && showSearch && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("div", { ...(0, import_runtime99.trussProps)(pageContentPaddingX), children: searchTextField }),
|
|
22812
|
+
hasFilterControls && !showInlineControl && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(FilterPanel, { isOpen: showFilters, groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
|
|
22589
22813
|
] });
|
|
22590
22814
|
}
|
|
22591
|
-
var _GridTableLayoutActions = (0,
|
|
22815
|
+
var _GridTableLayoutActions = (0, import_react119.memo)(GridTableLayoutActionsComponent);
|
|
22592
22816
|
|
|
22593
22817
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
22594
|
-
var
|
|
22818
|
+
var import_react120 = require("react");
|
|
22595
22819
|
|
|
22596
22820
|
// src/components/LoadingSkeleton.tsx
|
|
22597
|
-
var
|
|
22598
|
-
var
|
|
22821
|
+
var import_runtime100 = require("@homebound/truss/runtime");
|
|
22822
|
+
var import_jsx_runtime167 = require("react/jsx-runtime");
|
|
22599
22823
|
function LoadingSkeleton({
|
|
22600
22824
|
rows = 1,
|
|
22601
22825
|
columns = 1,
|
|
@@ -22607,18 +22831,18 @@ function LoadingSkeleton({
|
|
|
22607
22831
|
const rowHeight = sizeToPixels2[size];
|
|
22608
22832
|
const rowCells = (rowNumber) => {
|
|
22609
22833
|
const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
|
|
22610
|
-
return cellArray.map((_, i) => /* @__PURE__ */ (0,
|
|
22834
|
+
return cellArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("div", { ...(0, import_runtime100.trussProps)({
|
|
22611
22835
|
borderRadius: "br4",
|
|
22612
22836
|
animation: "animation_pulse_2s_cubic_bezier_0_4_0_0_6_1_infinite",
|
|
22613
22837
|
flexGrow: ["flexGrow_var", {
|
|
22614
|
-
"--flexGrow": (0,
|
|
22838
|
+
"--flexGrow": (0, import_runtime100.maybeCssVar)(flexGrowForCell)
|
|
22615
22839
|
}],
|
|
22616
22840
|
backgroundColor: ["bgColor_var", {
|
|
22617
22841
|
"--backgroundColor": "var(--b-loader-fill)"
|
|
22618
22842
|
}]
|
|
22619
22843
|
}) }, `row-${rowNumber}-cell-${i}`));
|
|
22620
22844
|
};
|
|
22621
|
-
return /* @__PURE__ */ (0,
|
|
22845
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("div", { ...(0, import_runtime100.trussProps)({
|
|
22622
22846
|
display: "df",
|
|
22623
22847
|
gap: "gap1",
|
|
22624
22848
|
marginBottom: "mb1",
|
|
@@ -22639,7 +22863,7 @@ var sizeToPixels2 = {
|
|
|
22639
22863
|
};
|
|
22640
22864
|
|
|
22641
22865
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
22642
|
-
var
|
|
22866
|
+
var import_jsx_runtime168 = require("react/jsx-runtime");
|
|
22643
22867
|
function QueryTable(props) {
|
|
22644
22868
|
const {
|
|
22645
22869
|
emptyFallback,
|
|
@@ -22651,29 +22875,29 @@ function QueryTable(props) {
|
|
|
22651
22875
|
...others
|
|
22652
22876
|
} = props;
|
|
22653
22877
|
const data = query.loading || query.error ? void 0 : query.data;
|
|
22654
|
-
const rows = (0,
|
|
22878
|
+
const rows = (0, import_react120.useMemo)(() => createRows(data), [createRows, data]);
|
|
22655
22879
|
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : void 0;
|
|
22656
|
-
const emptyState = (0,
|
|
22880
|
+
const emptyState = (0, import_react120.useMemo)(() => {
|
|
22657
22881
|
if (query.loading || query.error) return void 0;
|
|
22658
22882
|
if (emptyStateProp) return emptyStateProp;
|
|
22659
22883
|
return { title: emptyFallback };
|
|
22660
22884
|
}, [emptyFallback, emptyStateProp, query.error, query.loading]);
|
|
22661
22885
|
const headers = rows.filter((row) => row.kind === "header");
|
|
22662
|
-
return query.loading ? /* @__PURE__ */ (0,
|
|
22886
|
+
return query.loading ? /* @__PURE__ */ (0, import_jsx_runtime168.jsx)("div", { children: keepHeaderWhenLoading ? /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(GridTable, { ...{ columns, ...others }, rows: headers, fallbackMessage }) : /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(LoadingTable, { columns: columns.length }) }) : /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(GridTable, { ...{ rows, columns, fallbackMessage, emptyState, ...others } });
|
|
22663
22887
|
}
|
|
22664
22888
|
function LoadingTable(props) {
|
|
22665
22889
|
const { columns } = props;
|
|
22666
|
-
return /* @__PURE__ */ (0,
|
|
22667
|
-
/* @__PURE__ */ (0,
|
|
22668
|
-
/* @__PURE__ */ (0,
|
|
22890
|
+
return /* @__PURE__ */ (0, import_jsx_runtime168.jsxs)(import_jsx_runtime168.Fragment, { children: [
|
|
22891
|
+
/* @__PURE__ */ (0, import_jsx_runtime168.jsx)(LoadingSkeleton, { rows: 1, columns: 1 }),
|
|
22892
|
+
/* @__PURE__ */ (0, import_jsx_runtime168.jsx)(LoadingSkeleton, { rows: 5, columns: columns ?? 5 })
|
|
22669
22893
|
] });
|
|
22670
22894
|
}
|
|
22671
22895
|
|
|
22672
22896
|
// src/components/Layout/GridTableLayout/usePersistedTableView.ts
|
|
22673
|
-
var
|
|
22897
|
+
var import_react121 = require("react");
|
|
22674
22898
|
function usePersistedTableView(defaultView, persist) {
|
|
22675
22899
|
const storageKey = persist ? getGridTableViewStorageKey(window.location.pathname) : void 0;
|
|
22676
|
-
const [view, setView] = (0,
|
|
22900
|
+
const [view, setView] = (0, import_react121.useState)(() => {
|
|
22677
22901
|
if (!storageKey) return defaultView;
|
|
22678
22902
|
try {
|
|
22679
22903
|
return parseStoredTableView(localStorage.getItem(storageKey)) ?? defaultView;
|
|
@@ -22681,7 +22905,7 @@ function usePersistedTableView(defaultView, persist) {
|
|
|
22681
22905
|
return defaultView;
|
|
22682
22906
|
}
|
|
22683
22907
|
});
|
|
22684
|
-
const setViewAndPersist = (0,
|
|
22908
|
+
const setViewAndPersist = (0, import_react121.useCallback)(
|
|
22685
22909
|
(next) => {
|
|
22686
22910
|
setView(next);
|
|
22687
22911
|
if (storageKey) {
|
|
@@ -22703,9 +22927,9 @@ function parseStoredTableView(raw) {
|
|
|
22703
22927
|
}
|
|
22704
22928
|
|
|
22705
22929
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
22706
|
-
var
|
|
22707
|
-
var
|
|
22708
|
-
var
|
|
22930
|
+
var import_runtime101 = require("@homebound/truss/runtime");
|
|
22931
|
+
var import_jsx_runtime169 = require("react/jsx-runtime");
|
|
22932
|
+
var __maybeInc18 = (inc) => {
|
|
22709
22933
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
22710
22934
|
};
|
|
22711
22935
|
function GridTableLayoutComponent(props) {
|
|
@@ -22716,78 +22940,83 @@ function GridTableLayoutComponent(props) {
|
|
|
22716
22940
|
hideEditColumns = false,
|
|
22717
22941
|
withCardView,
|
|
22718
22942
|
defaultView = "list",
|
|
22719
|
-
emptyFallback: layoutEmptyFallback
|
|
22943
|
+
emptyFallback: layoutEmptyFallback,
|
|
22944
|
+
withRightPane
|
|
22720
22945
|
} = props;
|
|
22946
|
+
const rightPaneWidth = withRightPane === true ? defaultDocumentScrollRightPaneWidth : typeof withRightPane === "number" ? withRightPane : void 0;
|
|
22721
22947
|
const tid = useTestIds(props);
|
|
22722
22948
|
const columns = tableProps.columns;
|
|
22723
|
-
const hasHideableColumns = (0,
|
|
22949
|
+
const hasHideableColumns = (0, import_react122.useMemo)(() => {
|
|
22724
22950
|
if (hideEditColumns) return false;
|
|
22725
22951
|
validateColumns(columns);
|
|
22726
22952
|
return columns.some((c) => c.canHide);
|
|
22727
22953
|
}, [columns, hideEditColumns]);
|
|
22728
|
-
const api = (0,
|
|
22954
|
+
const api = (0, import_react122.useMemo)(() => tableProps.api ?? new GridTableApiImpl(), [tableProps.api]);
|
|
22729
22955
|
const [view, setView] = usePersistedTableView(defaultView, !!withCardView);
|
|
22730
22956
|
const clientSearch = layoutState?.search === "client" ? layoutState.searchString : void 0;
|
|
22731
22957
|
const showTableActions = !!(layoutState?.filterDefs || layoutState?.search || hasHideableColumns || withCardView || actionMenu);
|
|
22732
22958
|
const isVirtualized = tableProps.as === "virtual" || !!withCardView && view === "card";
|
|
22733
22959
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
22734
|
-
const tableActionsRef = (0,
|
|
22735
|
-
const tableWrapperRef = (0,
|
|
22960
|
+
const tableActionsRef = (0, import_react122.useRef)(null);
|
|
22961
|
+
const tableWrapperRef = (0, import_react122.useRef)(null);
|
|
22736
22962
|
useSetTableActionsHeight(tableWrapperRef, tableActionsRef, inDocumentScrollLayout && showTableActions);
|
|
22737
22963
|
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
22738
|
-
(0,
|
|
22964
|
+
(0, import_react122.useEffect)(() => {
|
|
22739
22965
|
if (layoutState?.setVisibleColumnIds) {
|
|
22740
22966
|
layoutState.setVisibleColumnIds(visibleColumnIds);
|
|
22741
22967
|
}
|
|
22742
22968
|
}, [visibleColumnIds, layoutState]);
|
|
22743
22969
|
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
22744
|
-
const filterSearchProps = (0,
|
|
22970
|
+
const filterSearchProps = (0, import_react122.useMemo)(() => layoutState?.search ? {
|
|
22745
22971
|
onSearch: layoutState.setSearchString
|
|
22746
22972
|
} : void 0, [layoutState?.search, layoutState?.setSearchString]);
|
|
22747
|
-
const searchApiRef = (0,
|
|
22748
|
-
const clearFilters = (0,
|
|
22973
|
+
const searchApiRef = (0, import_react122.useRef)();
|
|
22974
|
+
const clearFilters = (0, import_react122.useCallback)(() => {
|
|
22749
22975
|
layoutState?.clearFilters();
|
|
22750
22976
|
searchApiRef.current?.clear();
|
|
22751
22977
|
}, [layoutState]);
|
|
22752
|
-
const emptyState = (0,
|
|
22753
|
-
const tableActionsEl = /* @__PURE__ */ (0,
|
|
22978
|
+
const emptyState = (0, import_react122.useMemo)(() => composeEmptyState(tableProps, layoutState, layoutEmptyFallback, clearFilters), [layoutEmptyFallback, layoutState, tableProps, clearFilters]);
|
|
22979
|
+
const tableActionsEl = /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(_GridTableLayoutActions, { filterDefs: layoutState?.filterDefs, filter: layoutState?.filter, setFilter: layoutState?.setFilter, groupBy: layoutState?.groupBy, searchProps: filterSearchProps, hasHideableColumns, columns, api, withCardView, view, setView, clearFilters, searchApi: searchApiRef, actionMenu });
|
|
22754
22980
|
const cardAs = withCardView && view === "card" ? "card" : void 0;
|
|
22755
22981
|
const tableStyle = resolveGridTableLayoutStyle(tableProps.style, inDocumentScrollLayout);
|
|
22756
|
-
const tableBody = /* @__PURE__ */ (0,
|
|
22982
|
+
const tableBody = /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_jsx_runtime169.Fragment, { children: isGridTableProps(tableProps) ? /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(GridTable, { ...tableProps, ...cardAs ? {
|
|
22757
22983
|
as: cardAs
|
|
22758
|
-
} : {}, api, emptyState, filter: clientSearch, style: tableStyle, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) : /* @__PURE__ */ (0,
|
|
22984
|
+
} : {}, api, emptyState, filter: clientSearch, style: tableStyle, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) : /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(QueryTable, { ...tableProps, ...cardAs ? {
|
|
22759
22985
|
as: cardAs
|
|
22760
22986
|
} : {}, api, emptyState, filter: clientSearch, style: tableStyle, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) });
|
|
22761
|
-
const tableScrollContent = /* @__PURE__ */ (0,
|
|
22762
|
-
showTableActions && /* @__PURE__ */ (0,
|
|
22987
|
+
const tableScrollContent = /* @__PURE__ */ (0, import_jsx_runtime169.jsxs)(import_jsx_runtime169.Fragment, { children: [
|
|
22988
|
+
showTableActions && /* @__PURE__ */ (0, import_jsx_runtime169.jsx)("div", { ref: tableActionsRef, ...(0, import_runtime101.trussProps)({
|
|
22763
22989
|
...inDocumentScrollLayout ? {
|
|
22764
22990
|
transition: "transitionTop",
|
|
22765
22991
|
position: "sticky",
|
|
22766
22992
|
top: ["top_var", {
|
|
22767
|
-
"--top": (0,
|
|
22993
|
+
"--top": (0, import_runtime101.maybeCssVar)(__maybeInc18(stickyNavAndHeaderOffset()))
|
|
22768
22994
|
}],
|
|
22769
22995
|
left: ["left_var", {
|
|
22770
|
-
"--left": (0,
|
|
22996
|
+
"--left": (0, import_runtime101.maybeCssVar)(__maybeInc18(documentScrollChromeLeft()))
|
|
22771
22997
|
}],
|
|
22772
22998
|
width: ["w_var", {
|
|
22773
|
-
"--width": (0,
|
|
22999
|
+
"--width": (0, import_runtime101.maybeCssVar)(__maybeInc18(`min(100%, ${documentScrollChromeWidth()})`))
|
|
22774
23000
|
}],
|
|
22775
23001
|
zIndex: ["z_var", {
|
|
22776
|
-
"--zIndex": (0,
|
|
23002
|
+
"--zIndex": (0, import_runtime101.maybeCssVar)(zIndices.tableActions)
|
|
22777
23003
|
}],
|
|
22778
23004
|
backgroundColor: ["bgColor_var", {
|
|
22779
23005
|
"--backgroundColor": "var(--b-surface)"
|
|
22780
23006
|
}]
|
|
22781
23007
|
} : {}
|
|
22782
23008
|
}), ...tid.stickyContent, children: tableActionsEl }),
|
|
22783
|
-
inDocumentScrollLayout ?
|
|
23009
|
+
inDocumentScrollLayout ? (
|
|
23010
|
+
// Scope the pane to the table only — actions stay outside so they remain full-bleed sticky chrome.
|
|
23011
|
+
rightPaneWidth !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(DocumentScrollRightPaneLayout, { paneWidth: rightPaneWidth, children: tableBody }) : tableBody
|
|
23012
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(ScrollableContent, { virtualized: isVirtualized, children: tableBody })
|
|
22784
23013
|
] });
|
|
22785
23014
|
return (
|
|
22786
|
-
/* Wrapper sets --beam-table-actions-height so
|
|
22787
|
-
/* @__PURE__ */ (0,
|
|
23015
|
+
/* Wrapper sets --beam-table-actions-height so sticky headers / the pane can read it. */
|
|
23016
|
+
/* @__PURE__ */ (0, import_jsx_runtime169.jsx)("div", { ref: tableWrapperRef, className: "display_contents", ...tid.tableWrapper, children: tableScrollContent })
|
|
22788
23017
|
);
|
|
22789
23018
|
}
|
|
22790
|
-
var GridTableLayout =
|
|
23019
|
+
var GridTableLayout = import_react122.default.memo(GridTableLayoutComponent);
|
|
22791
23020
|
function validateColumns(columns) {
|
|
22792
23021
|
for (const col of columns) {
|
|
22793
23022
|
if (!col.id || !col.name) {
|
|
@@ -22812,11 +23041,11 @@ function useGridTableLayoutState({
|
|
|
22812
23041
|
const groupBy = useGroupBy(maybeGroupBy ?? {
|
|
22813
23042
|
none: "none"
|
|
22814
23043
|
});
|
|
22815
|
-
const [searchString, setSearchString] = (0,
|
|
23044
|
+
const [searchString, setSearchString] = (0, import_react122.useState)("");
|
|
22816
23045
|
const columnsFallback = "unset-columns";
|
|
22817
23046
|
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(persistedColumns?.storageKey ?? columnsFallback, void 0);
|
|
22818
23047
|
const filteringActive = getActiveFilterCount(filter) > 0 || !!searchString;
|
|
22819
|
-
const clearFilters = (0,
|
|
23048
|
+
const clearFilters = (0, import_react122.useCallback)(() => {
|
|
22820
23049
|
setFilter({});
|
|
22821
23050
|
setSearchString("");
|
|
22822
23051
|
}, [setFilter]);
|
|
@@ -22843,11 +23072,11 @@ function composeEmptyState(tableProps, layoutState, layoutEmptyFallback, clearFi
|
|
|
22843
23072
|
return {
|
|
22844
23073
|
title: tableEmptyState?.title ?? tableEmptyFallback ?? layoutEmptyFallback,
|
|
22845
23074
|
description: tableEmptyState?.description ?? (filteringActive ? filterEmptyDescription : void 0),
|
|
22846
|
-
actions: tableEmptyState?.actions ?? (filteringActive && layoutState ? /* @__PURE__ */ (0,
|
|
23075
|
+
actions: tableEmptyState?.actions ?? (filteringActive && layoutState ? /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(Button, { label: "Clear Filters", variant: "tertiary", onClick: clearFilters, "data-testid": "clearFilters" }) : void 0)
|
|
22847
23076
|
};
|
|
22848
23077
|
}
|
|
22849
23078
|
function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
22850
|
-
const syncHeightVar = (0,
|
|
23079
|
+
const syncHeightVar = (0, import_react122.useCallback)(() => {
|
|
22851
23080
|
const tableWrapper = tableWrapperRef.current;
|
|
22852
23081
|
if (!tableWrapper) return;
|
|
22853
23082
|
if (!enabled) {
|
|
@@ -22861,11 +23090,11 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
22861
23090
|
tableWrapper.style.removeProperty(beamTableActionsHeightVar);
|
|
22862
23091
|
}
|
|
22863
23092
|
}, [enabled, tableActionsRef, tableWrapperRef]);
|
|
22864
|
-
(0,
|
|
23093
|
+
(0, import_utils137.useResizeObserver)({
|
|
22865
23094
|
ref: tableActionsRef,
|
|
22866
23095
|
onResize: enabled ? syncHeightVar : noop
|
|
22867
23096
|
});
|
|
22868
|
-
(0,
|
|
23097
|
+
(0, import_react122.useLayoutEffect)(() => {
|
|
22869
23098
|
syncHeightVar();
|
|
22870
23099
|
const tableWrapper = tableWrapperRef.current;
|
|
22871
23100
|
return () => {
|
|
@@ -22891,7 +23120,7 @@ function resolveGridTableLayoutStyle(userStyle, inDocumentScrollLayout) {
|
|
|
22891
23120
|
}
|
|
22892
23121
|
|
|
22893
23122
|
// src/components/Layout/PreventBrowserScroll.tsx
|
|
22894
|
-
var
|
|
23123
|
+
var import_jsx_runtime170 = require("react/jsx-runtime");
|
|
22895
23124
|
function PreventBrowserScroll({
|
|
22896
23125
|
children
|
|
22897
23126
|
}) {
|
|
@@ -22899,51 +23128,16 @@ function PreventBrowserScroll({
|
|
|
22899
23128
|
// Take over the full viewport and hide any overflown content.
|
|
22900
23129
|
// Using `-webkit-fill-available`, otherwise `height: 100vh` includes the app bars in mobile Safari. See https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/
|
|
22901
23130
|
// Setting the multiple "(min|max-)height" properties is necessary, as Truss will turn this into an object and there can only be one `height` property.
|
|
22902
|
-
/* @__PURE__ */ (0,
|
|
22903
|
-
);
|
|
22904
|
-
}
|
|
22905
|
-
|
|
22906
|
-
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
22907
|
-
var import_react119 = __toESM(require("react"), 1);
|
|
22908
|
-
var import_jsx_runtime167 = require("react/jsx-runtime");
|
|
22909
|
-
var RightPaneContext = import_react119.default.createContext({
|
|
22910
|
-
openInPane: () => {
|
|
22911
|
-
},
|
|
22912
|
-
closePane: () => {
|
|
22913
|
-
},
|
|
22914
|
-
clearPane: () => {
|
|
22915
|
-
},
|
|
22916
|
-
isRightPaneOpen: false,
|
|
22917
|
-
rightPaneContent: null
|
|
22918
|
-
});
|
|
22919
|
-
function RightPaneProvider({ children }) {
|
|
22920
|
-
const [rightPaneContent, setRightPaneContent] = (0, import_react119.useState)(void 0);
|
|
22921
|
-
const [isRightPaneOpen, setIsRightPaneOpen] = (0, import_react119.useState)(false);
|
|
22922
|
-
const openInPane = (0, import_react119.useCallback)(
|
|
22923
|
-
(opts) => {
|
|
22924
|
-
setRightPaneContent(opts?.content);
|
|
22925
|
-
setIsRightPaneOpen(true);
|
|
22926
|
-
},
|
|
22927
|
-
[setRightPaneContent]
|
|
22928
|
-
);
|
|
22929
|
-
const closePane = (0, import_react119.useCallback)(() => setIsRightPaneOpen(false), []);
|
|
22930
|
-
const clearPane = (0, import_react119.useCallback)(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
22931
|
-
const context = (0, import_react119.useMemo)(
|
|
22932
|
-
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
22933
|
-
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
23131
|
+
/* @__PURE__ */ (0, import_jsx_runtime170.jsx)("div", { className: "oh vh100 mh_negwebkit_fill_available maxh_negwebkit_fill_available", children: /* @__PURE__ */ (0, import_jsx_runtime170.jsx)("div", { className: "h100 df fdc mh0 oa", children }) })
|
|
22934
23132
|
);
|
|
22935
|
-
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(RightPaneContext.Provider, { value: context, children });
|
|
22936
|
-
}
|
|
22937
|
-
function useRightPaneContext() {
|
|
22938
|
-
return (0, import_react119.useContext)(RightPaneContext);
|
|
22939
23133
|
}
|
|
22940
23134
|
|
|
22941
23135
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
22942
|
-
var
|
|
22943
|
-
var
|
|
22944
|
-
var
|
|
22945
|
-
var
|
|
22946
|
-
var
|
|
23136
|
+
var import_framer_motion4 = require("framer-motion");
|
|
23137
|
+
var import_react123 = require("react");
|
|
23138
|
+
var import_runtime102 = require("@homebound/truss/runtime");
|
|
23139
|
+
var import_jsx_runtime171 = require("react/jsx-runtime");
|
|
23140
|
+
var __maybeInc19 = (inc) => {
|
|
22947
23141
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
22948
23142
|
};
|
|
22949
23143
|
function RightPaneLayout(props) {
|
|
@@ -22959,12 +23153,12 @@ function RightPaneLayout(props) {
|
|
|
22959
23153
|
clearPane,
|
|
22960
23154
|
closePane
|
|
22961
23155
|
} = useRightPaneContext();
|
|
22962
|
-
(0,
|
|
22963
|
-
return /* @__PURE__ */ (0,
|
|
22964
|
-
/* @__PURE__ */ (0,
|
|
23156
|
+
(0, import_react123.useEffect)(() => closePane, [closePane]);
|
|
23157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime171.jsx)("div", { className: "h100 df oxh", children: /* @__PURE__ */ (0, import_jsx_runtime171.jsxs)(import_jsx_runtime171.Fragment, { children: [
|
|
23158
|
+
/* @__PURE__ */ (0, import_jsx_runtime171.jsx)("div", { ...(0, import_runtime102.trussProps)({
|
|
22965
23159
|
...{
|
|
22966
23160
|
width: ["w_var", {
|
|
22967
|
-
"--width": (0,
|
|
23161
|
+
"--width": (0, import_runtime102.maybeCssVar)(__maybeInc19(`calc(100% - ${paneWidth + 24}px)`))
|
|
22968
23162
|
}],
|
|
22969
23163
|
transition: "transition_width_2s_linear",
|
|
22970
23164
|
height: "h100",
|
|
@@ -22980,13 +23174,13 @@ function RightPaneLayout(props) {
|
|
|
22980
23174
|
...{
|
|
22981
23175
|
...!!defaultPaneContent ? {
|
|
22982
23176
|
width: ["w_var", {
|
|
22983
|
-
"--width": (0,
|
|
23177
|
+
"--width": (0, import_runtime102.maybeCssVar)(__maybeInc19(`calc(100% - ${paneWidth + 24}px)`))
|
|
22984
23178
|
}],
|
|
22985
23179
|
marginRight: "mr3"
|
|
22986
23180
|
} : {}
|
|
22987
23181
|
}
|
|
22988
23182
|
}), children }),
|
|
22989
|
-
/* @__PURE__ */ (0,
|
|
23183
|
+
/* @__PURE__ */ (0, import_jsx_runtime171.jsxs)("div", { ...(0, import_runtime102.trussProps)({
|
|
22990
23184
|
position: "relative",
|
|
22991
23185
|
...!!defaultPaneContent ? {
|
|
22992
23186
|
width: ["w_var", {
|
|
@@ -22994,7 +23188,7 @@ function RightPaneLayout(props) {
|
|
|
22994
23188
|
}]
|
|
22995
23189
|
} : {}
|
|
22996
23190
|
}), children: [
|
|
22997
|
-
defaultPaneContent && /* @__PURE__ */ (0,
|
|
23191
|
+
defaultPaneContent && /* @__PURE__ */ (0, import_jsx_runtime171.jsx)("div", { ...(0, import_runtime102.trussProps)({
|
|
22998
23192
|
height: "h100",
|
|
22999
23193
|
width: ["w_var", {
|
|
23000
23194
|
"--width": `${paneWidth}px`
|
|
@@ -23007,14 +23201,14 @@ function RightPaneLayout(props) {
|
|
|
23007
23201
|
left: "left_100"
|
|
23008
23202
|
} : {}
|
|
23009
23203
|
}), children: defaultPaneContent }),
|
|
23010
|
-
/* @__PURE__ */ (0,
|
|
23011
|
-
|
|
23204
|
+
/* @__PURE__ */ (0, import_jsx_runtime171.jsx)(import_framer_motion4.AnimatePresence, { children: isRightPaneOpen && /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(
|
|
23205
|
+
import_framer_motion4.motion.div,
|
|
23012
23206
|
{
|
|
23013
23207
|
layout: "position",
|
|
23014
23208
|
"data-testid": "rightPaneContent",
|
|
23015
|
-
...(0,
|
|
23209
|
+
...(0, import_runtime102.trussProps)({
|
|
23016
23210
|
backgroundColor: ["bgColor_var", {
|
|
23017
|
-
"--backgroundColor": (0,
|
|
23211
|
+
"--backgroundColor": (0, import_runtime102.maybeCssVar)(paneBgColor)
|
|
23018
23212
|
}],
|
|
23019
23213
|
height: "h100",
|
|
23020
23214
|
width: ["w_var", {
|
|
@@ -23058,23 +23252,23 @@ function useRightPane() {
|
|
|
23058
23252
|
}
|
|
23059
23253
|
|
|
23060
23254
|
// src/components/Layout/ScrollableFooter.tsx
|
|
23061
|
-
var
|
|
23062
|
-
var
|
|
23255
|
+
var import_react_dom6 = require("react-dom");
|
|
23256
|
+
var import_jsx_runtime172 = require("react/jsx-runtime");
|
|
23063
23257
|
function ScrollableFooter(props) {
|
|
23064
23258
|
const { children } = props;
|
|
23065
23259
|
const { footerEl } = useScrollableParent();
|
|
23066
23260
|
if (!footerEl) {
|
|
23067
|
-
return /* @__PURE__ */ (0,
|
|
23261
|
+
return /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_jsx_runtime172.Fragment, { children });
|
|
23068
23262
|
}
|
|
23069
|
-
return (0,
|
|
23263
|
+
return (0, import_react_dom6.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_jsx_runtime172.Fragment, { children }), footerEl);
|
|
23070
23264
|
}
|
|
23071
23265
|
|
|
23072
23266
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
23073
|
-
var
|
|
23074
|
-
var
|
|
23075
|
-
|
|
23267
|
+
var import_framer_motion5 = require("framer-motion");
|
|
23268
|
+
var import_react124 = require("react");
|
|
23269
|
+
|
|
23076
23270
|
// src/components/Layout/TableReviewLayout/SidePanel.tsx
|
|
23077
|
-
var
|
|
23271
|
+
var import_jsx_runtime173 = require("react/jsx-runtime");
|
|
23078
23272
|
function SidePanel(props) {
|
|
23079
23273
|
const {
|
|
23080
23274
|
title,
|
|
@@ -23084,19 +23278,19 @@ function SidePanel(props) {
|
|
|
23084
23278
|
} = props;
|
|
23085
23279
|
const tid = useTestIds(props, "sidePanel");
|
|
23086
23280
|
const hasFooter = primaryAction || secondaryAction;
|
|
23087
|
-
return /* @__PURE__ */ (0,
|
|
23088
|
-
/* @__PURE__ */ (0,
|
|
23089
|
-
/* @__PURE__ */ (0,
|
|
23090
|
-
hasFooter && /* @__PURE__ */ (0,
|
|
23091
|
-
secondaryAction && /* @__PURE__ */ (0,
|
|
23092
|
-
primaryAction && /* @__PURE__ */ (0,
|
|
23281
|
+
return /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)("div", { className: "h100 df fdc oh", ...tid, children: [
|
|
23282
|
+
/* @__PURE__ */ (0, import_jsx_runtime173.jsx)("div", { className: "pt3 pb3 pr3 pl3 fs0", ...tid.header, children: /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("h2", { className: "fw6 fz_20px lh_28px mt0 mb0", ...tid.title, children: title }) }),
|
|
23283
|
+
/* @__PURE__ */ (0, import_jsx_runtime173.jsx)("div", { className: "fg1 oya mh0", ...tid.body, children: content }),
|
|
23284
|
+
hasFooter && /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)("div", { className: "df gap2 jcfe pt3 pb3 pr3 pl3 fs0", ...tid.footer, children: [
|
|
23285
|
+
secondaryAction && /* @__PURE__ */ (0, import_jsx_runtime173.jsx)(Button, { ...secondaryAction, variant: "secondaryBlack" }),
|
|
23286
|
+
primaryAction && /* @__PURE__ */ (0, import_jsx_runtime173.jsx)(Button, { ...primaryAction })
|
|
23093
23287
|
] })
|
|
23094
23288
|
] });
|
|
23095
23289
|
}
|
|
23096
23290
|
|
|
23097
23291
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
23098
|
-
var
|
|
23099
|
-
var
|
|
23292
|
+
var import_runtime103 = require("@homebound/truss/runtime");
|
|
23293
|
+
var import_jsx_runtime174 = require("react/jsx-runtime");
|
|
23100
23294
|
var defaultRightPaneWidth = 450;
|
|
23101
23295
|
function TableReviewLayout(props) {
|
|
23102
23296
|
const {
|
|
@@ -23111,8 +23305,8 @@ function TableReviewLayout(props) {
|
|
|
23111
23305
|
rightPaneWidth = defaultRightPaneWidth
|
|
23112
23306
|
} = props;
|
|
23113
23307
|
const tid = useTestIds(props, "tableReviewLayout");
|
|
23114
|
-
const [isPanelVisible, setIsPanelVisible] = (0,
|
|
23115
|
-
(0,
|
|
23308
|
+
const [isPanelVisible, setIsPanelVisible] = (0, import_react124.useState)(!!panelContent);
|
|
23309
|
+
(0, import_react124.useEffect)(() => {
|
|
23116
23310
|
setIsPanelVisible(!!panelContent);
|
|
23117
23311
|
}, [panelContent]);
|
|
23118
23312
|
function handleClosePanel() {
|
|
@@ -23122,29 +23316,29 @@ function TableReviewLayout(props) {
|
|
|
23122
23316
|
let tableContent;
|
|
23123
23317
|
if (isGridTableProps(tableProps)) {
|
|
23124
23318
|
if (emptyState && !tableProps.rows.some((r) => r.kind !== "header")) {
|
|
23125
|
-
tableContent = /* @__PURE__ */ (0,
|
|
23319
|
+
tableContent = /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { className: "h100 df fdc aic jcc", children: emptyState });
|
|
23126
23320
|
} else {
|
|
23127
|
-
tableContent = /* @__PURE__ */ (0,
|
|
23321
|
+
tableContent = /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(GridTable, { ...tableProps, style: {
|
|
23128
23322
|
allWhite: true,
|
|
23129
23323
|
bordered: true
|
|
23130
23324
|
}, stickyHeader: true });
|
|
23131
23325
|
}
|
|
23132
23326
|
} else if (emptyState) {
|
|
23133
|
-
tableContent = /* @__PURE__ */ (0,
|
|
23327
|
+
tableContent = /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { className: "h100 df fdc aic jcc", children: emptyState });
|
|
23134
23328
|
} else {
|
|
23135
|
-
tableContent = /* @__PURE__ */ (0,
|
|
23329
|
+
tableContent = /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(QueryTable, { ...tableProps, style: {
|
|
23136
23330
|
allWhite: true,
|
|
23137
23331
|
bordered: true
|
|
23138
23332
|
}, stickyHeader: true });
|
|
23139
23333
|
}
|
|
23140
|
-
return /* @__PURE__ */ (0,
|
|
23334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { ...(0, import_runtime103.trussProps)({
|
|
23141
23335
|
position: "fixed",
|
|
23142
23336
|
top: "top0",
|
|
23143
23337
|
bottom: "bottom0",
|
|
23144
23338
|
left: "left0",
|
|
23145
23339
|
right: "right0",
|
|
23146
23340
|
zIndex: ["z_var", {
|
|
23147
|
-
"--zIndex": (0,
|
|
23341
|
+
"--zIndex": (0, import_runtime103.maybeCssVar)(zIndices.pageOverlay)
|
|
23148
23342
|
}],
|
|
23149
23343
|
backgroundColor: ["bgColor_var", {
|
|
23150
23344
|
"--backgroundColor": "var(--b-surface)"
|
|
@@ -23152,16 +23346,16 @@ function TableReviewLayout(props) {
|
|
|
23152
23346
|
display: "df",
|
|
23153
23347
|
flexDirection: "fdc"
|
|
23154
23348
|
}), ...tid, children: [
|
|
23155
|
-
/* @__PURE__ */ (0,
|
|
23156
|
-
/* @__PURE__ */ (0,
|
|
23157
|
-
/* @__PURE__ */ (0,
|
|
23158
|
-
/* @__PURE__ */ (0,
|
|
23159
|
-
breadCrumb && /* @__PURE__ */ (0,
|
|
23160
|
-
/* @__PURE__ */ (0,
|
|
23349
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("header", { className: "pl3 pr3 pt3 pb2 fs0", ...tid.header, children: [
|
|
23350
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(Toast, {}),
|
|
23351
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { className: "df jcsb aic", children: [
|
|
23352
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { children: [
|
|
23353
|
+
breadCrumb && /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(PageHeaderBreadcrumbs, { breadcrumb: breadCrumb }),
|
|
23354
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("h1", { className: "fw6 fz_30px lh_36px mt1 mb0", ...tid.pageTitle, children: pageTitle })
|
|
23161
23355
|
] }),
|
|
23162
|
-
/* @__PURE__ */ (0,
|
|
23356
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(Button, { label: "Close", onClick: closeAction, ...tid.closeButton })
|
|
23163
23357
|
] }),
|
|
23164
|
-
/* @__PURE__ */ (0,
|
|
23358
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { ...(0, import_runtime103.trussProps)({
|
|
23165
23359
|
fontWeight: "fw4",
|
|
23166
23360
|
fontSize: "fz_14px",
|
|
23167
23361
|
lineHeight: "lh_20px",
|
|
@@ -23171,8 +23365,8 @@ function TableReviewLayout(props) {
|
|
|
23171
23365
|
marginTop: "mt2"
|
|
23172
23366
|
}), ...tid.description, children: description })
|
|
23173
23367
|
] }),
|
|
23174
|
-
/* @__PURE__ */ (0,
|
|
23175
|
-
/* @__PURE__ */ (0,
|
|
23368
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { className: "fg1 df mh0", ...tid.content, children: [
|
|
23369
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { ...(0, import_runtime103.trussProps)({
|
|
23176
23370
|
...{
|
|
23177
23371
|
flexGrow: "fg1",
|
|
23178
23372
|
overflowY: "oya",
|
|
@@ -23185,7 +23379,7 @@ function TableReviewLayout(props) {
|
|
|
23185
23379
|
} : {}
|
|
23186
23380
|
}
|
|
23187
23381
|
}), children: tableContent }),
|
|
23188
|
-
/* @__PURE__ */ (0,
|
|
23382
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(import_framer_motion5.AnimatePresence, { children: isPanelVisible && panelContent && /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(import_framer_motion5.motion.div, { initial: {
|
|
23189
23383
|
width: 0
|
|
23190
23384
|
}, animate: {
|
|
23191
23385
|
width: rightPaneWidth
|
|
@@ -23195,7 +23389,7 @@ function TableReviewLayout(props) {
|
|
|
23195
23389
|
ease: "linear",
|
|
23196
23390
|
duration: 0.2
|
|
23197
23391
|
}, className: "df fdc fs0 relative", children: [
|
|
23198
|
-
/* @__PURE__ */ (0,
|
|
23392
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { ...(0, import_runtime103.trussProps)({
|
|
23199
23393
|
position: "absolute",
|
|
23200
23394
|
top: ["top_var", {
|
|
23201
23395
|
"--top": `${-32}px`
|
|
@@ -23208,8 +23402,8 @@ function TableReviewLayout(props) {
|
|
|
23208
23402
|
}],
|
|
23209
23403
|
zIndex: "z1"
|
|
23210
23404
|
}), children: [
|
|
23211
|
-
/* @__PURE__ */ (0,
|
|
23212
|
-
/* @__PURE__ */ (0,
|
|
23405
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(IconButton, { bgColor: "--b-surface" /* Surface */, variant: "circle", icon: "x", inc: 3.5, onClick: handleClosePanel, ...tid.closePanelButton }),
|
|
23406
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { ...(0, import_runtime103.trussProps)({
|
|
23213
23407
|
width: "w_1px",
|
|
23214
23408
|
backgroundColor: ["bgColor_var", {
|
|
23215
23409
|
"--backgroundColor": "var(--b-field-border-default)"
|
|
@@ -23217,15 +23411,15 @@ function TableReviewLayout(props) {
|
|
|
23217
23411
|
height: "vh100"
|
|
23218
23412
|
}) })
|
|
23219
23413
|
] }),
|
|
23220
|
-
/* @__PURE__ */ (0,
|
|
23414
|
+
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { className: "fg1 oh mh0", children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(SidePanel, { ...panelContent }) })
|
|
23221
23415
|
] }, "panel") })
|
|
23222
23416
|
] })
|
|
23223
23417
|
] });
|
|
23224
23418
|
}
|
|
23225
23419
|
|
|
23226
23420
|
// src/components/BeamContext.tsx
|
|
23227
|
-
var
|
|
23228
|
-
var BeamContext = (0,
|
|
23421
|
+
var import_jsx_runtime175 = require("react/jsx-runtime");
|
|
23422
|
+
var BeamContext = (0, import_react125.createContext)({
|
|
23229
23423
|
modalState: new EmptyRef(),
|
|
23230
23424
|
modalCanCloseChecks: new EmptyRef(),
|
|
23231
23425
|
modalHeaderDiv: void 0,
|
|
@@ -23237,21 +23431,21 @@ var BeamContext = (0, import_react122.createContext)({
|
|
|
23237
23431
|
sdHeaderDiv: void 0
|
|
23238
23432
|
});
|
|
23239
23433
|
function BeamProvider({ children, documentTitleConfig, ...presentationProps }) {
|
|
23240
|
-
const [, tick] = (0,
|
|
23241
|
-
const modalRef = (0,
|
|
23242
|
-
const modalHeaderDiv = (0,
|
|
23243
|
-
const modalBodyDiv = (0,
|
|
23434
|
+
const [, tick] = (0, import_react125.useReducer)((prev) => prev + 1, 0);
|
|
23435
|
+
const modalRef = (0, import_react125.useRef)();
|
|
23436
|
+
const modalHeaderDiv = (0, import_react125.useMemo)(() => document.createElement("div"), []);
|
|
23437
|
+
const modalBodyDiv = (0, import_react125.useMemo)(() => {
|
|
23244
23438
|
const el = document.createElement("div");
|
|
23245
23439
|
el.style.height = "100%";
|
|
23246
23440
|
return el;
|
|
23247
23441
|
}, []);
|
|
23248
|
-
const modalCanCloseChecksRef = (0,
|
|
23249
|
-
const modalFooterDiv = (0,
|
|
23250
|
-
const drawerContentStackRef = (0,
|
|
23251
|
-
const drawerCanCloseChecks = (0,
|
|
23252
|
-
const drawerCanCloseDetailsChecks = (0,
|
|
23253
|
-
const sdHeaderDiv = (0,
|
|
23254
|
-
const context = (0,
|
|
23442
|
+
const modalCanCloseChecksRef = (0, import_react125.useRef)([]);
|
|
23443
|
+
const modalFooterDiv = (0, import_react125.useMemo)(() => document.createElement("div"), []);
|
|
23444
|
+
const drawerContentStackRef = (0, import_react125.useRef)([]);
|
|
23445
|
+
const drawerCanCloseChecks = (0, import_react125.useRef)([]);
|
|
23446
|
+
const drawerCanCloseDetailsChecks = (0, import_react125.useRef)([]);
|
|
23447
|
+
const sdHeaderDiv = (0, import_react125.useMemo)(() => document.createElement("div"), []);
|
|
23448
|
+
const context = (0, import_react125.useMemo)(() => {
|
|
23255
23449
|
return {
|
|
23256
23450
|
// These two keys need to trigger re-renders on change
|
|
23257
23451
|
modalState: new PretendRefThatTicks(modalRef, tick),
|
|
@@ -23266,14 +23460,14 @@ function BeamProvider({ children, documentTitleConfig, ...presentationProps }) {
|
|
|
23266
23460
|
sdHeaderDiv
|
|
23267
23461
|
};
|
|
23268
23462
|
}, [modalBodyDiv, modalFooterDiv, modalHeaderDiv, sdHeaderDiv]);
|
|
23269
|
-
const beamTree = /* @__PURE__ */ (0,
|
|
23270
|
-
/* @__PURE__ */ (0,
|
|
23463
|
+
const beamTree = /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(PresentationProvider, { ...presentationProps, children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(RightPaneProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(AutoSaveStatusProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(SnackbarProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime175.jsxs)(ToastProvider, { children: [
|
|
23464
|
+
/* @__PURE__ */ (0, import_jsx_runtime175.jsxs)(import_react_aria55.OverlayProvider, { children: [
|
|
23271
23465
|
children,
|
|
23272
|
-
modalRef.current && /* @__PURE__ */ (0,
|
|
23466
|
+
modalRef.current && /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(Modal, { ...modalRef.current })
|
|
23273
23467
|
] }),
|
|
23274
|
-
/* @__PURE__ */ (0,
|
|
23468
|
+
/* @__PURE__ */ (0, import_jsx_runtime175.jsx)(SuperDrawer, {})
|
|
23275
23469
|
] }) }) }) }) });
|
|
23276
|
-
return /* @__PURE__ */ (0,
|
|
23470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(BeamContext.Provider, { value: { ...context }, children: documentTitleConfig ? /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(DocumentTitleProvider, { ...documentTitleConfig, children: beamTree }) : beamTree });
|
|
23277
23471
|
}
|
|
23278
23472
|
var PretendRefThatTicks = class {
|
|
23279
23473
|
constructor(ref, tick) {
|
|
@@ -23289,14 +23483,14 @@ var PretendRefThatTicks = class {
|
|
|
23289
23483
|
}
|
|
23290
23484
|
};
|
|
23291
23485
|
function useBeamContext() {
|
|
23292
|
-
return (0,
|
|
23486
|
+
return (0, import_react125.useContext)(BeamContext);
|
|
23293
23487
|
}
|
|
23294
23488
|
|
|
23295
23489
|
// src/components/Breadcrumbs.tsx
|
|
23296
|
-
var
|
|
23490
|
+
var import_react126 = require("react");
|
|
23297
23491
|
var import_react_router_dom6 = require("react-router-dom");
|
|
23298
|
-
var
|
|
23299
|
-
var
|
|
23492
|
+
var import_runtime104 = require("@homebound/truss/runtime");
|
|
23493
|
+
var import_jsx_runtime176 = (
|
|
23300
23494
|
// Index is added to the key to prevent rendering issues when multiple items have the same label
|
|
23301
23495
|
require("react/jsx-runtime")
|
|
23302
23496
|
);
|
|
@@ -23305,16 +23499,16 @@ function Breadcrumbs({
|
|
|
23305
23499
|
}) {
|
|
23306
23500
|
const tid = useTestIds({}, "breadcrumb");
|
|
23307
23501
|
const items = Array.isArray(breadcrumbs) ? breadcrumbs : [breadcrumbs];
|
|
23308
|
-
const [collapsed, setCollapsed] = (0,
|
|
23502
|
+
const [collapsed, setCollapsed] = (0, import_react126.useState)(true);
|
|
23309
23503
|
const {
|
|
23310
23504
|
sm
|
|
23311
23505
|
} = useBreakpoint();
|
|
23312
23506
|
const leadCount = sm ? 1 : 2;
|
|
23313
23507
|
const shouldCollapse = collapsed && items.length >= leadCount + 2;
|
|
23314
23508
|
function renderBreadcrumb(bc, index, isLast) {
|
|
23315
|
-
return /* @__PURE__ */ (0,
|
|
23316
|
-
index > 0 && /* @__PURE__ */ (0,
|
|
23317
|
-
/* @__PURE__ */ (0,
|
|
23509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)(import_react126.Fragment, { children: [
|
|
23510
|
+
index > 0 && /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("span", { className: "fs0 fw4 fz_12px lh_16px", children: "/" }),
|
|
23511
|
+
/* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_react_router_dom6.Link, { ...tid.link, to: bc.href, title: bc.label, ...(0, import_runtime104.trussProps)({
|
|
23318
23512
|
...{
|
|
23319
23513
|
fontWeight: "fw4",
|
|
23320
23514
|
fontSize: "fz_12px",
|
|
@@ -23332,32 +23526,32 @@ function Breadcrumbs({
|
|
|
23332
23526
|
}), children: bc.label })
|
|
23333
23527
|
] }, `${bc.label}-${index}`);
|
|
23334
23528
|
}
|
|
23335
|
-
return /* @__PURE__ */ (0,
|
|
23529
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { className: "df aic gap_4px", children: shouldCollapse ? /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)(import_jsx_runtime176.Fragment, { children: [
|
|
23336
23530
|
items.slice(0, leadCount).map((bc, i) => renderBreadcrumb(bc, i)),
|
|
23337
|
-
/* @__PURE__ */ (0,
|
|
23338
|
-
/* @__PURE__ */ (0,
|
|
23531
|
+
/* @__PURE__ */ (0, import_jsx_runtime176.jsx)("span", { className: "fs0 fw4 fz_12px lh_16px", children: "/" }),
|
|
23532
|
+
/* @__PURE__ */ (0, import_jsx_runtime176.jsx)("button", { ...tid.expand, className: "fw4 fz_12px lh_16px gray900 h_gray600", onClick: () => setCollapsed(false), children: "..." }),
|
|
23339
23533
|
renderBreadcrumb(items[items.length - 1], items.length - 1, true)
|
|
23340
23534
|
] }) : items.map((bc, i) => renderBreadcrumb(bc, i, i === items.length - 1)) });
|
|
23341
23535
|
}
|
|
23342
23536
|
|
|
23343
23537
|
// src/components/ButtonDatePicker.tsx
|
|
23344
|
-
var
|
|
23345
|
-
var
|
|
23538
|
+
var import_react127 = require("react");
|
|
23539
|
+
var import_react_aria56 = require("react-aria");
|
|
23346
23540
|
var import_react_stately19 = require("react-stately");
|
|
23347
|
-
var
|
|
23541
|
+
var import_jsx_runtime177 = require("react/jsx-runtime");
|
|
23348
23542
|
function ButtonDatePicker(props) {
|
|
23349
23543
|
const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
|
|
23350
23544
|
const state = (0, import_react_stately19.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
23351
|
-
const buttonRef = (0,
|
|
23545
|
+
const buttonRef = (0, import_react127.useRef)(null);
|
|
23352
23546
|
const {
|
|
23353
23547
|
menuTriggerProps,
|
|
23354
23548
|
menuProps: { autoFocus: _af, ...menuProps }
|
|
23355
|
-
} = (0,
|
|
23549
|
+
} = (0, import_react_aria56.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
23356
23550
|
const tid = useTestIds(
|
|
23357
23551
|
props,
|
|
23358
23552
|
isTextButton(trigger) ? defaultTestId(labelOr(trigger, "buttonDatePicker")) : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
23359
23553
|
);
|
|
23360
|
-
return /* @__PURE__ */ (0,
|
|
23554
|
+
return /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(DatePickerOverlay, { overlayProps: menuProps, children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(
|
|
23361
23555
|
DatePicker,
|
|
23362
23556
|
{
|
|
23363
23557
|
...datePickerProps,
|
|
@@ -23371,10 +23565,10 @@ function ButtonDatePicker(props) {
|
|
|
23371
23565
|
}
|
|
23372
23566
|
|
|
23373
23567
|
// src/components/ButtonGroup.tsx
|
|
23374
|
-
var
|
|
23375
|
-
var
|
|
23376
|
-
var
|
|
23377
|
-
var
|
|
23568
|
+
var import_react128 = require("react");
|
|
23569
|
+
var import_react_aria57 = require("react-aria");
|
|
23570
|
+
var import_runtime105 = require("@homebound/truss/runtime");
|
|
23571
|
+
var import_jsx_runtime178 = (
|
|
23378
23572
|
// Disable the button if the ButtonGroup is disabled or if the current button is disabled.
|
|
23379
23573
|
require("react/jsx-runtime")
|
|
23380
23574
|
);
|
|
@@ -23387,7 +23581,7 @@ function ButtonGroup(props) {
|
|
|
23387
23581
|
const tid = useTestIds(props, "buttonGroup");
|
|
23388
23582
|
return (
|
|
23389
23583
|
// Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
|
|
23390
|
-
/* @__PURE__ */ (0,
|
|
23584
|
+
/* @__PURE__ */ (0, import_jsx_runtime178.jsx)("div", { ...tid, ...(0, import_runtime105.trussProps)({
|
|
23391
23585
|
...{
|
|
23392
23586
|
display: "df",
|
|
23393
23587
|
lineHeight: "lh_0"
|
|
@@ -23396,7 +23590,7 @@ function ButtonGroup(props) {
|
|
|
23396
23590
|
}), children: buttons.map(({
|
|
23397
23591
|
disabled: buttonDisabled,
|
|
23398
23592
|
...buttonProps
|
|
23399
|
-
}, i) => /* @__PURE__ */ (0,
|
|
23593
|
+
}, i) => /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, isFirst: i === 0, isLast: i === buttons.length - 1, ...tid }, i)) })
|
|
23400
23594
|
);
|
|
23401
23595
|
}
|
|
23402
23596
|
function GroupButton(props) {
|
|
@@ -23419,24 +23613,24 @@ function GroupButton(props) {
|
|
|
23419
23613
|
isDisabled: !!disabled,
|
|
23420
23614
|
...otherProps
|
|
23421
23615
|
};
|
|
23422
|
-
const ref = (0,
|
|
23616
|
+
const ref = (0, import_react128.useRef)(null);
|
|
23423
23617
|
const {
|
|
23424
23618
|
buttonProps,
|
|
23425
23619
|
isPressed
|
|
23426
|
-
} = (0,
|
|
23620
|
+
} = (0, import_react_aria57.useButton)(ariaProps, ref);
|
|
23427
23621
|
const {
|
|
23428
23622
|
isFocusVisible,
|
|
23429
23623
|
focusProps
|
|
23430
|
-
} = (0,
|
|
23624
|
+
} = (0, import_react_aria57.useFocusRing)();
|
|
23431
23625
|
const {
|
|
23432
23626
|
hoverProps,
|
|
23433
23627
|
isHovered
|
|
23434
|
-
} = (0,
|
|
23628
|
+
} = (0, import_react_aria57.useHover)(ariaProps);
|
|
23435
23629
|
const tid = useTestIds(props);
|
|
23436
|
-
return /* @__PURE__ */ (0,
|
|
23630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)("span", { ...(0, import_runtime105.trussProps)(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
|
|
23437
23631
|
title: resolveTooltip(disabled, tooltip),
|
|
23438
23632
|
placement: "top",
|
|
23439
|
-
children: /* @__PURE__ */ (0,
|
|
23633
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime178.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime105.trussProps)({
|
|
23440
23634
|
...{
|
|
23441
23635
|
fontWeight: "fw6",
|
|
23442
23636
|
fontSize: "fz_14px",
|
|
@@ -23463,7 +23657,7 @@ function GroupButton(props) {
|
|
|
23463
23657
|
...isPressed ? pressedStyles : isHovered ? hoverStyles3 : {},
|
|
23464
23658
|
...icon ? iconStyles2[size] : {}
|
|
23465
23659
|
}), ...tid[defaultTestId(typeof text === "string" && text || icon || "button")], children: [
|
|
23466
|
-
icon && /* @__PURE__ */ (0,
|
|
23660
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(Icon, { xss: {
|
|
23467
23661
|
...!!text ? {
|
|
23468
23662
|
marginRight: "mr_4px"
|
|
23469
23663
|
} : {}
|
|
@@ -23553,14 +23747,14 @@ var iconStyles2 = {
|
|
|
23553
23747
|
};
|
|
23554
23748
|
|
|
23555
23749
|
// src/components/Card.tsx
|
|
23556
|
-
var
|
|
23557
|
-
var
|
|
23750
|
+
var import_react130 = require("react");
|
|
23751
|
+
var import_react_aria58 = require("react-aria");
|
|
23558
23752
|
|
|
23559
23753
|
// src/components/Tag.tsx
|
|
23560
|
-
var
|
|
23561
|
-
var
|
|
23562
|
-
var
|
|
23563
|
-
var
|
|
23754
|
+
var import_utils146 = require("@react-aria/utils");
|
|
23755
|
+
var import_react129 = require("react");
|
|
23756
|
+
var import_runtime106 = require("@homebound/truss/runtime");
|
|
23757
|
+
var import_jsx_runtime179 = require("react/jsx-runtime");
|
|
23564
23758
|
function Tag(props) {
|
|
23565
23759
|
const {
|
|
23566
23760
|
text,
|
|
@@ -23580,9 +23774,9 @@ function Tag(props) {
|
|
|
23580
23774
|
padding
|
|
23581
23775
|
} = getVariantStyles(variant, type);
|
|
23582
23776
|
const tid = useTestIds(otherProps);
|
|
23583
|
-
const [showTooltip, setShowTooltip] = (0,
|
|
23584
|
-
const ref = (0,
|
|
23585
|
-
(0,
|
|
23777
|
+
const [showTooltip, setShowTooltip] = (0, import_react129.useState)(false);
|
|
23778
|
+
const ref = (0, import_react129.useRef)(null);
|
|
23779
|
+
(0, import_utils146.useResizeObserver)({
|
|
23586
23780
|
ref,
|
|
23587
23781
|
onResize: () => {
|
|
23588
23782
|
if (!isIconOnly && ref.current) {
|
|
@@ -23593,7 +23787,7 @@ function Tag(props) {
|
|
|
23593
23787
|
const tooltipTitle = !preventTooltip ? isIconOnly ? text : showTooltip ? text : void 0 : void 0;
|
|
23594
23788
|
return maybeTooltip({
|
|
23595
23789
|
title: tooltipTitle,
|
|
23596
|
-
children: /* @__PURE__ */ (0,
|
|
23790
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)("span", { ...tid, ...(0, import_runtime106.trussProps)({
|
|
23597
23791
|
...{
|
|
23598
23792
|
position: "relative",
|
|
23599
23793
|
display: "dif",
|
|
@@ -23612,8 +23806,8 @@ function Tag(props) {
|
|
|
23612
23806
|
...background,
|
|
23613
23807
|
...xss
|
|
23614
23808
|
}), children: [
|
|
23615
|
-
icon && /* @__PURE__ */ (0,
|
|
23616
|
-
isIconOnly ? /* @__PURE__ */ (0,
|
|
23809
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime179.jsx)("span", { className: "fs0", children: /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(Icon, { icon, inc: 1.75, color: iconColor }) }),
|
|
23810
|
+
isIconOnly ? /* @__PURE__ */ (0, import_jsx_runtime179.jsx)("span", { className: "absolute oh cli_inset_50 clp_none bd_0 h_1px m_neg1px w_1px p_0 wsnw o0", children: text }) : /* @__PURE__ */ (0, import_jsx_runtime179.jsx)("span", { ref, className: "oh d_negwebkit_box wbo_vertical to_ellipsis wlc_1 wbba", children: text })
|
|
23617
23811
|
] })
|
|
23618
23812
|
});
|
|
23619
23813
|
}
|
|
@@ -23700,8 +23894,8 @@ function getPrimaryStyles(type) {
|
|
|
23700
23894
|
}
|
|
23701
23895
|
|
|
23702
23896
|
// src/components/Card.tsx
|
|
23703
|
-
var
|
|
23704
|
-
var
|
|
23897
|
+
var import_runtime107 = require("@homebound/truss/runtime");
|
|
23898
|
+
var import_jsx_runtime180 = require("react/jsx-runtime");
|
|
23705
23899
|
function Card(props) {
|
|
23706
23900
|
const {
|
|
23707
23901
|
title,
|
|
@@ -23720,12 +23914,12 @@ function Card(props) {
|
|
|
23720
23914
|
const {
|
|
23721
23915
|
hoverProps,
|
|
23722
23916
|
isHovered
|
|
23723
|
-
} = (0,
|
|
23917
|
+
} = (0, import_react_aria58.useHover)({
|
|
23724
23918
|
isDisabled
|
|
23725
23919
|
});
|
|
23726
23920
|
const isList = type === "list";
|
|
23727
23921
|
const imgHeight = isList ? 96 : bordered ? 224 : 256;
|
|
23728
|
-
const styles = (0,
|
|
23922
|
+
const styles = (0, import_react130.useMemo)(() => ({
|
|
23729
23923
|
...baseStyles3(type),
|
|
23730
23924
|
...fullWidth && fullWidthStyles,
|
|
23731
23925
|
...isList && listStyles,
|
|
@@ -23733,8 +23927,8 @@ function Card(props) {
|
|
|
23733
23927
|
...isHovered && cardHoverStyles,
|
|
23734
23928
|
...isDisabled && disabledStyles2
|
|
23735
23929
|
}), [isDisabled, isHovered, bordered, type, isList, fullWidth]);
|
|
23736
|
-
return /* @__PURE__ */ (0,
|
|
23737
|
-
/* @__PURE__ */ (0,
|
|
23930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { ...(0, import_runtime107.trussProps)(styles), ...hoverProps, ...tid, children: [
|
|
23931
|
+
/* @__PURE__ */ (0, import_jsx_runtime180.jsx)("div", { ...(0, import_runtime107.trussProps)({
|
|
23738
23932
|
...{
|
|
23739
23933
|
height: ["h_var", {
|
|
23740
23934
|
"--height": `${imgHeight}px`
|
|
@@ -23757,14 +23951,14 @@ function Card(props) {
|
|
|
23757
23951
|
flexShrink: "fs0"
|
|
23758
23952
|
},
|
|
23759
23953
|
...isHovered && !isList && imageHoverStyles
|
|
23760
|
-
}), children: /* @__PURE__ */ (0,
|
|
23954
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("img", { ...(0, import_runtime107.trussProps)({
|
|
23761
23955
|
width: "w100",
|
|
23762
23956
|
height: "h100",
|
|
23763
23957
|
objectFit: ["objectFit_var", {
|
|
23764
|
-
"--objectFit": (0,
|
|
23958
|
+
"--objectFit": (0, import_runtime107.maybeCssVar)(imageFit)
|
|
23765
23959
|
}]
|
|
23766
23960
|
}), src: imgSrc, alt: title, ...tid.img }) }),
|
|
23767
|
-
isHovered && buttonMenuItems && /* @__PURE__ */ (0,
|
|
23961
|
+
isHovered && buttonMenuItems && /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("div", { ...(0, import_runtime107.trussProps)({
|
|
23768
23962
|
position: "absolute",
|
|
23769
23963
|
right: "right1",
|
|
23770
23964
|
top: "top1",
|
|
@@ -23772,14 +23966,14 @@ function Card(props) {
|
|
|
23772
23966
|
right: "right3",
|
|
23773
23967
|
top: "top3"
|
|
23774
23968
|
} : {}
|
|
23775
|
-
}), children: /* @__PURE__ */ (0,
|
|
23969
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(ButtonMenu, { trigger: {
|
|
23776
23970
|
icon: "verticalDots",
|
|
23777
23971
|
color: isList ? "--b-on-surface-muted" /* OnSurfaceMuted */ : "--b-on-primary" /* OnPrimary */
|
|
23778
23972
|
}, items: buttonMenuItems }) }),
|
|
23779
|
-
tag && /* @__PURE__ */ (0,
|
|
23780
|
-
/* @__PURE__ */ (0,
|
|
23781
|
-
/* @__PURE__ */ (0,
|
|
23782
|
-
/* @__PURE__ */ (0,
|
|
23973
|
+
tag && /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("div", { className: "absolute left1 top_4px", children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
|
|
23974
|
+
/* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { className: "df fdc aifs gap1", children: [
|
|
23975
|
+
/* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { children: [
|
|
23976
|
+
/* @__PURE__ */ (0, import_jsx_runtime180.jsx)("div", { ...(0, import_runtime107.trussProps)({
|
|
23783
23977
|
fontWeight: "fw6",
|
|
23784
23978
|
fontSize: "fz_12px",
|
|
23785
23979
|
lineHeight: "lh_16px",
|
|
@@ -23787,7 +23981,7 @@ function Card(props) {
|
|
|
23787
23981
|
"--color": "var(--b-on-surface-muted)"
|
|
23788
23982
|
}]
|
|
23789
23983
|
}), ...tid.subtitle, children: subtitle }),
|
|
23790
|
-
/* @__PURE__ */ (0,
|
|
23984
|
+
/* @__PURE__ */ (0, import_jsx_runtime180.jsx)("div", { ...(0, import_runtime107.trussProps)({
|
|
23791
23985
|
fontWeight: "fw6",
|
|
23792
23986
|
fontSize: "fz_14px",
|
|
23793
23987
|
lineHeight: "lh_20px",
|
|
@@ -23801,7 +23995,7 @@ function Card(props) {
|
|
|
23801
23995
|
} : {}
|
|
23802
23996
|
}), ...tid.title, children: title })
|
|
23803
23997
|
] }),
|
|
23804
|
-
/* @__PURE__ */ (0,
|
|
23998
|
+
/* @__PURE__ */ (0, import_jsx_runtime180.jsx)("div", { ...tid.details, children: detailContent })
|
|
23805
23999
|
] })
|
|
23806
24000
|
] });
|
|
23807
24001
|
}
|
|
@@ -23860,10 +24054,10 @@ var imageHoverStyles = {
|
|
|
23860
24054
|
};
|
|
23861
24055
|
|
|
23862
24056
|
// src/components/Copy.tsx
|
|
23863
|
-
var
|
|
23864
|
-
var
|
|
24057
|
+
var import_runtime108 = require("@homebound/truss/runtime");
|
|
24058
|
+
var import_jsx_runtime181 = require("react/jsx-runtime");
|
|
23865
24059
|
function Copy(props) {
|
|
23866
|
-
return /* @__PURE__ */ (0,
|
|
24060
|
+
return /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...(0, import_runtime108.mergeProps)("beam-copy", void 0, {
|
|
23867
24061
|
...{
|
|
23868
24062
|
fontWeight: "fw4",
|
|
23869
24063
|
fontSize: "fz_14px",
|
|
@@ -23879,8 +24073,8 @@ function Copy(props) {
|
|
|
23879
24073
|
}
|
|
23880
24074
|
|
|
23881
24075
|
// src/components/EnvironmentBanner/EnvironmentBanner.tsx
|
|
23882
|
-
var
|
|
23883
|
-
var
|
|
24076
|
+
var import_runtime109 = require("@homebound/truss/runtime");
|
|
24077
|
+
var import_jsx_runtime182 = require("react/jsx-runtime");
|
|
23884
24078
|
function EnvironmentBanner(props) {
|
|
23885
24079
|
const {
|
|
23886
24080
|
env,
|
|
@@ -23899,14 +24093,14 @@ function EnvironmentBanner(props) {
|
|
|
23899
24093
|
tooltip
|
|
23900
24094
|
} = getEnvironmentBannerConfig(env, impersonating, showProdWarning);
|
|
23901
24095
|
const bgColorVar = maybeCssVar(bgColor);
|
|
23902
|
-
return /* @__PURE__ */ (0,
|
|
24096
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("div", { ...(0, import_runtime109.trussProps)({
|
|
23903
24097
|
flexShrink: "fs0",
|
|
23904
24098
|
position: "relative",
|
|
23905
24099
|
zIndex: ["z_var", {
|
|
23906
|
-
"--zIndex": (0,
|
|
24100
|
+
"--zIndex": (0, import_runtime109.maybeCssVar)(zIndices.environmentBanner)
|
|
23907
24101
|
}],
|
|
23908
24102
|
backgroundColor: ["bgColor_var", {
|
|
23909
|
-
"--backgroundColor": (0,
|
|
24103
|
+
"--backgroundColor": (0, import_runtime109.maybeCssVar)(bgColorVar)
|
|
23910
24104
|
}],
|
|
23911
24105
|
height: ["h_var", {
|
|
23912
24106
|
"--height": `${environmentBannerSizePx}px`
|
|
@@ -23915,7 +24109,7 @@ function EnvironmentBanner(props) {
|
|
|
23915
24109
|
}), role: "banner", ...tid, children: [
|
|
23916
24110
|
getInvertedCorner("left", bgColorVar),
|
|
23917
24111
|
getInvertedCorner("right", bgColorVar),
|
|
23918
|
-
/* @__PURE__ */ (0,
|
|
24112
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("div", { ...(0, import_runtime109.trussProps)({
|
|
23919
24113
|
...{
|
|
23920
24114
|
position: "relative",
|
|
23921
24115
|
zIndex: "z2",
|
|
@@ -23926,11 +24120,11 @@ function EnvironmentBanner(props) {
|
|
|
23926
24120
|
},
|
|
23927
24121
|
...headerContentPaddingX()
|
|
23928
24122
|
}), ...tid.content, children: [
|
|
23929
|
-
/* @__PURE__ */ (0,
|
|
23930
|
-
/* @__PURE__ */ (0,
|
|
24123
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("span", { className: "df aic gap2 fg1 mh0 oh", ...tid.left, children: [
|
|
24124
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)(Tag, { text: badgeLabel, xss: {
|
|
23931
24125
|
backgroundColor: "bgColor_FFFFFF90"
|
|
23932
24126
|
}, ...tid.badge }),
|
|
23933
|
-
/* @__PURE__ */ (0,
|
|
24127
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("span", { ...(0, import_runtime109.trussProps)({
|
|
23934
24128
|
...{
|
|
23935
24129
|
alignItems: "aic",
|
|
23936
24130
|
gap: "gap1",
|
|
@@ -23948,10 +24142,10 @@ function EnvironmentBanner(props) {
|
|
|
23948
24142
|
}
|
|
23949
24143
|
}), ...tid.message, children: [
|
|
23950
24144
|
message,
|
|
23951
|
-
/* @__PURE__ */ (0,
|
|
24145
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)("span", { className: "fs0", ...tid.info, children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(Icon, { icon: "infoCircle", tooltip, inc: 2, color: "--b-on-primary" /* OnPrimary */ }) })
|
|
23952
24146
|
] })
|
|
23953
24147
|
] }),
|
|
23954
|
-
impersonating != null && /* @__PURE__ */ (0,
|
|
24148
|
+
impersonating != null && /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("span", { ...(0, import_runtime109.trussProps)({
|
|
23955
24149
|
display: "df",
|
|
23956
24150
|
alignItems: "aic",
|
|
23957
24151
|
gap: "gap2",
|
|
@@ -23963,11 +24157,11 @@ function EnvironmentBanner(props) {
|
|
|
23963
24157
|
}],
|
|
23964
24158
|
flexShrink: "fs0"
|
|
23965
24159
|
}), ...tid.impersonating, children: [
|
|
23966
|
-
(env !== "prod" || showProdWarning) && /* @__PURE__ */ (0,
|
|
23967
|
-
/* @__PURE__ */ (0,
|
|
24160
|
+
(env !== "prod" || showProdWarning) && /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)("span", { children: [
|
|
24161
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)("span", { className: "dn mdandup_dib", children: "Impersonating \xA0" }),
|
|
23968
24162
|
impersonating.name
|
|
23969
24163
|
] }),
|
|
23970
|
-
/* @__PURE__ */ (0,
|
|
24164
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)("span", { className: "df fs0", ...tid.impersonatingIcon, children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(Icon, { icon: "impersonate", inc: 2, color: "--b-on-primary" /* OnPrimary */ }) })
|
|
23971
24165
|
] })
|
|
23972
24166
|
] })
|
|
23973
24167
|
] });
|
|
@@ -24040,16 +24234,16 @@ function getInvertedCorner(side, bgColorVar) {
|
|
|
24040
24234
|
right: "right0"
|
|
24041
24235
|
};
|
|
24042
24236
|
const shadowXOffset = side === "left" ? -invertedCornerRadiusPx : invertedCornerRadiusPx;
|
|
24043
|
-
return /* @__PURE__ */ (0,
|
|
24237
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("div", { "aria-hidden": true, ...(0, import_runtime109.trussProps)({
|
|
24044
24238
|
...shell,
|
|
24045
24239
|
...outerPosition
|
|
24046
|
-
}), children: /* @__PURE__ */ (0,
|
|
24240
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime182.jsx)("div", { ...(0, import_runtime109.trussProps)({
|
|
24047
24241
|
height: "h_200",
|
|
24048
24242
|
width: "w_200",
|
|
24049
24243
|
position: "absolute",
|
|
24050
24244
|
borderRadius: "borderRadius_50",
|
|
24051
24245
|
boxShadow: ["boxShadow_var", {
|
|
24052
|
-
"--boxShadow": (0,
|
|
24246
|
+
"--boxShadow": (0, import_runtime109.maybeCssVar)(`${shadowXOffset}px -${invertedCornerRadiusPx}px 0 0 ${bgColorVar}`)
|
|
24053
24247
|
}],
|
|
24054
24248
|
...side === "right" ? {
|
|
24055
24249
|
right: "right0"
|
|
@@ -24074,16 +24268,16 @@ function setEnvironmentFavicon(env, favicons) {
|
|
|
24074
24268
|
}
|
|
24075
24269
|
|
|
24076
24270
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
24077
|
-
var
|
|
24271
|
+
var import_react132 = require("react");
|
|
24078
24272
|
|
|
24079
24273
|
// src/components/Grid/utils.ts
|
|
24080
|
-
var
|
|
24274
|
+
var import_react131 = require("react");
|
|
24081
24275
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
24082
|
-
var ResponsiveGridContext = (0,
|
|
24276
|
+
var ResponsiveGridContext = (0, import_react131.createContext)(void 0);
|
|
24083
24277
|
|
|
24084
24278
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
24085
|
-
var
|
|
24086
|
-
var
|
|
24279
|
+
var import_runtime110 = require("@homebound/truss/runtime");
|
|
24280
|
+
var import_jsx_runtime183 = require("react/jsx-runtime");
|
|
24087
24281
|
function ResponsiveGrid(props) {
|
|
24088
24282
|
const {
|
|
24089
24283
|
children,
|
|
@@ -24098,18 +24292,18 @@ function ResponsiveGrid(props) {
|
|
|
24098
24292
|
gap,
|
|
24099
24293
|
columns
|
|
24100
24294
|
});
|
|
24101
|
-
const config = (0,
|
|
24295
|
+
const config = (0, import_react132.useMemo)(() => ({
|
|
24102
24296
|
minColumnWidth,
|
|
24103
24297
|
gap,
|
|
24104
24298
|
columns
|
|
24105
24299
|
}), [minColumnWidth, gap, columns]);
|
|
24106
|
-
return /* @__PURE__ */ (0,
|
|
24300
|
+
return /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ (0, import_jsx_runtime183.jsx)("div", { ...(0, import_runtime110.trussProps)(gridStyles), children }) });
|
|
24107
24301
|
}
|
|
24108
24302
|
|
|
24109
24303
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
24110
|
-
var
|
|
24111
|
-
var
|
|
24112
|
-
var
|
|
24304
|
+
var import_react_aria59 = require("react-aria");
|
|
24305
|
+
var import_runtime111 = require("@homebound/truss/runtime");
|
|
24306
|
+
var import_jsx_runtime184 = require("react/jsx-runtime");
|
|
24113
24307
|
function ResponsiveGridItem(props) {
|
|
24114
24308
|
const {
|
|
24115
24309
|
colSpan,
|
|
@@ -24121,13 +24315,13 @@ function ResponsiveGridItem(props) {
|
|
|
24121
24315
|
} = useResponsiveGridItem({
|
|
24122
24316
|
colSpan
|
|
24123
24317
|
});
|
|
24124
|
-
return /* @__PURE__ */ (0,
|
|
24318
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("div", { ...(0, import_react_aria59.mergeProps)(gridItemProps, (0, import_runtime111.trussProps)(gridItemStyles)), children });
|
|
24125
24319
|
}
|
|
24126
24320
|
|
|
24127
24321
|
// src/components/Grid/useResponsiveGrid.ts
|
|
24128
|
-
var
|
|
24129
|
-
var
|
|
24130
|
-
var
|
|
24322
|
+
var import_react133 = require("react");
|
|
24323
|
+
var import_runtime112 = require("@homebound/truss/runtime");
|
|
24324
|
+
var __maybeInc20 = (inc) => {
|
|
24131
24325
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24132
24326
|
};
|
|
24133
24327
|
function useResponsiveGrid(props) {
|
|
@@ -24136,7 +24330,7 @@ function useResponsiveGrid(props) {
|
|
|
24136
24330
|
gap,
|
|
24137
24331
|
columns
|
|
24138
24332
|
} = props;
|
|
24139
|
-
const gridStyles = (0,
|
|
24333
|
+
const gridStyles = (0, import_react133.useMemo)(() => {
|
|
24140
24334
|
const gapCount = columns - 1;
|
|
24141
24335
|
const totalGapWidth = gap * gapCount;
|
|
24142
24336
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -24145,11 +24339,11 @@ function useResponsiveGrid(props) {
|
|
|
24145
24339
|
return {
|
|
24146
24340
|
display: "dg",
|
|
24147
24341
|
gridTemplateColumns: ["gtc_var", {
|
|
24148
|
-
"--gridTemplateColumns": (0,
|
|
24342
|
+
"--gridTemplateColumns": (0, import_runtime112.maybeCssVar)(gridTemplateColumns)
|
|
24149
24343
|
}],
|
|
24150
24344
|
containerType: "ctis",
|
|
24151
24345
|
gap: ["gap_var", {
|
|
24152
|
-
"--gap": (0,
|
|
24346
|
+
"--gap": (0, import_runtime112.maybeCssVar)(__maybeInc20(gridGap))
|
|
24153
24347
|
}]
|
|
24154
24348
|
};
|
|
24155
24349
|
}, [minColumnWidth, gap, columns]);
|
|
@@ -24159,14 +24353,14 @@ function useResponsiveGrid(props) {
|
|
|
24159
24353
|
}
|
|
24160
24354
|
|
|
24161
24355
|
// src/components/Grid/useResponsiveGridItem.ts
|
|
24162
|
-
var
|
|
24356
|
+
var import_react134 = require("react");
|
|
24163
24357
|
var injectedResponsiveGridClasses = /* @__PURE__ */ new Set();
|
|
24164
24358
|
var responsiveGridStyleEl;
|
|
24165
24359
|
function useResponsiveGridItem(props) {
|
|
24166
24360
|
const { colSpan = 1, gridConfig } = props;
|
|
24167
|
-
const contextConfig = (0,
|
|
24361
|
+
const contextConfig = (0, import_react134.useContext)(ResponsiveGridContext);
|
|
24168
24362
|
const config = gridConfig ?? contextConfig;
|
|
24169
|
-
const { className, cssText } = (0,
|
|
24363
|
+
const { className, cssText } = (0, import_react134.useMemo)(() => {
|
|
24170
24364
|
if (!config || colSpan <= 1) return { className: "", cssText: "" };
|
|
24171
24365
|
const { minColumnWidth, gap } = config;
|
|
24172
24366
|
const className2 = responsiveGridItemClassName(config, colSpan);
|
|
@@ -24189,7 +24383,7 @@ function useResponsiveGridItem(props) {
|
|
|
24189
24383
|
};
|
|
24190
24384
|
}
|
|
24191
24385
|
function useResponsiveGridItemStyle(className, cssText) {
|
|
24192
|
-
(0,
|
|
24386
|
+
(0, import_react134.useEffect)(
|
|
24193
24387
|
function() {
|
|
24194
24388
|
if (!className || !cssText || typeof document === "undefined") return;
|
|
24195
24389
|
if (!responsiveGridStyleEl) {
|
|
@@ -24211,29 +24405,29 @@ function responsiveGridItemClassName(config, colSpan) {
|
|
|
24211
24405
|
}
|
|
24212
24406
|
|
|
24213
24407
|
// src/components/HbLoadingSpinner.tsx
|
|
24214
|
-
var
|
|
24408
|
+
var import_react135 = __toESM(require("react"), 1);
|
|
24215
24409
|
|
|
24216
24410
|
// src/components/HbLoadingSpinner.base64.ts
|
|
24217
24411
|
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";
|
|
24218
24412
|
|
|
24219
24413
|
// src/components/HbLoadingSpinner.tsx
|
|
24220
|
-
var
|
|
24414
|
+
var import_jsx_runtime185 = require("react/jsx-runtime");
|
|
24221
24415
|
function HbLoadingSpinner({
|
|
24222
24416
|
noQuips,
|
|
24223
24417
|
extraQuips = [],
|
|
24224
24418
|
extraQuipsOnly,
|
|
24225
24419
|
iconOnly
|
|
24226
24420
|
}) {
|
|
24227
|
-
const ctx = (0,
|
|
24421
|
+
const ctx = (0, import_react135.useContext)(HbLoadingSpinnerContext);
|
|
24228
24422
|
const tid = useTestIds({}, "hbSpinner");
|
|
24229
|
-
const quip = (0,
|
|
24423
|
+
const quip = (0, import_react135.useMemo)(() => {
|
|
24230
24424
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
24231
24425
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
24232
24426
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
24233
24427
|
return allQuips[Math.floor(Math.random() * allQuips.length)];
|
|
24234
24428
|
}, [ctx.noQuips, ctx.quips, extraQuips, extraQuipsOnly, noQuips]);
|
|
24235
|
-
return /* @__PURE__ */ (0,
|
|
24236
|
-
/* @__PURE__ */ (0,
|
|
24429
|
+
return /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)("div", { className: "df fdc jcc aic", ...tid, children: [
|
|
24430
|
+
/* @__PURE__ */ (0, import_jsx_runtime185.jsx)(
|
|
24237
24431
|
"img",
|
|
24238
24432
|
{
|
|
24239
24433
|
src: HbLoadingSpinner_base64_default,
|
|
@@ -24243,7 +24437,7 @@ function HbLoadingSpinner({
|
|
|
24243
24437
|
...tid.gif
|
|
24244
24438
|
}
|
|
24245
24439
|
),
|
|
24246
|
-
!iconOnly && /* @__PURE__ */ (0,
|
|
24440
|
+
!iconOnly && /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(
|
|
24247
24441
|
"div",
|
|
24248
24442
|
{
|
|
24249
24443
|
"data-chromatic": "ignore",
|
|
@@ -24256,7 +24450,7 @@ function HbLoadingSpinner({
|
|
|
24256
24450
|
var dotDotDot = (str) => str.concat("...");
|
|
24257
24451
|
var HB_QUIPS_MISSION = ["Loading", "One Team", "On a Mission", "Executing Relentlessly", "Building Better", "In Service of Our Customers"].map(dotDotDot);
|
|
24258
24452
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
24259
|
-
var HbLoadingSpinnerContext =
|
|
24453
|
+
var HbLoadingSpinnerContext = import_react135.default.createContext({
|
|
24260
24454
|
quips: ["Loading..."],
|
|
24261
24455
|
noQuips: false
|
|
24262
24456
|
});
|
|
@@ -24264,27 +24458,27 @@ function HbSpinnerProvider({
|
|
|
24264
24458
|
quips = [],
|
|
24265
24459
|
children
|
|
24266
24460
|
}) {
|
|
24267
|
-
const state = (0,
|
|
24461
|
+
const state = (0, import_react135.useMemo)(() => ({
|
|
24268
24462
|
quips,
|
|
24269
24463
|
noQuips: quips.length === 0
|
|
24270
24464
|
}), [quips]);
|
|
24271
|
-
return /* @__PURE__ */ (0,
|
|
24465
|
+
return /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
24272
24466
|
}
|
|
24273
24467
|
|
|
24274
24468
|
// src/components/Headers/HeaderActions.tsx
|
|
24275
|
-
var
|
|
24469
|
+
var import_jsx_runtime186 = require("react/jsx-runtime");
|
|
24276
24470
|
function HeaderActions(props) {
|
|
24277
24471
|
const {
|
|
24278
24472
|
actions,
|
|
24279
24473
|
...otherProps
|
|
24280
24474
|
} = props;
|
|
24281
24475
|
const tid = useTestIds(otherProps, "headerActions");
|
|
24282
|
-
return /* @__PURE__ */ (0,
|
|
24476
|
+
return /* @__PURE__ */ (0, import_jsx_runtime186.jsx)("div", { className: "df gap1 fs0", ...tid, children: actions.map((action) => action.kind === "icon" ? /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(IconButton, { ...action, variant: "outline" }, action.icon) : /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(Button, { ...action }, `${action.label}`)) });
|
|
24283
24477
|
}
|
|
24284
24478
|
|
|
24285
24479
|
// src/components/Headers/ContentHeader.tsx
|
|
24286
|
-
var
|
|
24287
|
-
var
|
|
24480
|
+
var import_runtime113 = require("@homebound/truss/runtime");
|
|
24481
|
+
var import_jsx_runtime187 = require("react/jsx-runtime");
|
|
24288
24482
|
function ContentHeader(props) {
|
|
24289
24483
|
const {
|
|
24290
24484
|
title,
|
|
@@ -24295,7 +24489,7 @@ function ContentHeader(props) {
|
|
|
24295
24489
|
if (!title && !description && !actions) {
|
|
24296
24490
|
return null;
|
|
24297
24491
|
}
|
|
24298
|
-
const descriptionEl = description && /* @__PURE__ */ (0,
|
|
24492
|
+
const descriptionEl = description && /* @__PURE__ */ (0, import_jsx_runtime187.jsx)("div", { ...(0, import_runtime113.trussProps)({
|
|
24299
24493
|
fontWeight: "fw4",
|
|
24300
24494
|
fontSize: "fz_14px",
|
|
24301
24495
|
lineHeight: "lh_20px",
|
|
@@ -24303,7 +24497,7 @@ function ContentHeader(props) {
|
|
|
24303
24497
|
"--color": "var(--b-on-surface)"
|
|
24304
24498
|
}]
|
|
24305
24499
|
}), ...tid.description, children: description });
|
|
24306
|
-
return /* @__PURE__ */ (0,
|
|
24500
|
+
return /* @__PURE__ */ (0, import_jsx_runtime187.jsxs)("div", { ...(0, import_runtime113.trussProps)({
|
|
24307
24501
|
display: "df",
|
|
24308
24502
|
flexDirection: "fdc",
|
|
24309
24503
|
gap: "gap_12px",
|
|
@@ -24316,18 +24510,18 @@ function ContentHeader(props) {
|
|
|
24316
24510
|
"--backgroundColor": "var(--b-surface)"
|
|
24317
24511
|
}]
|
|
24318
24512
|
}), ...tid, children: [
|
|
24319
|
-
/* @__PURE__ */ (0,
|
|
24320
|
-
title ? /* @__PURE__ */ (0,
|
|
24321
|
-
actions && /* @__PURE__ */ (0,
|
|
24513
|
+
/* @__PURE__ */ (0, import_jsx_runtime187.jsxs)("div", { className: "df aic jcsb mw0", children: [
|
|
24514
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime187.jsx)("h2", { className: "fw6 fz_20px lh_28px", ...tid.title, children: title }) : descriptionEl,
|
|
24515
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(HeaderActions, { actions, ...tid.actions })
|
|
24322
24516
|
] }),
|
|
24323
24517
|
title && descriptionEl
|
|
24324
24518
|
] });
|
|
24325
24519
|
}
|
|
24326
24520
|
|
|
24327
24521
|
// src/components/HomeboundLogo.tsx
|
|
24328
|
-
var
|
|
24329
|
-
var
|
|
24330
|
-
var
|
|
24522
|
+
var import_runtime114 = require("@homebound/truss/runtime");
|
|
24523
|
+
var import_jsx_runtime188 = require("react/jsx-runtime");
|
|
24524
|
+
var __maybeInc21 = (inc) => {
|
|
24331
24525
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24332
24526
|
};
|
|
24333
24527
|
function HomeboundLogo(props) {
|
|
@@ -24336,24 +24530,24 @@ function HomeboundLogo(props) {
|
|
|
24336
24530
|
width: width2 = "auto",
|
|
24337
24531
|
height = "auto"
|
|
24338
24532
|
} = props;
|
|
24339
|
-
return /* @__PURE__ */ (0,
|
|
24533
|
+
return /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("svg", { viewBox: "0 0 158.1 97.6", xmlns: "http://www.w3.org/2000/svg", ...(0, import_runtime114.trussProps)({
|
|
24340
24534
|
fill: ["fill_var", {
|
|
24341
|
-
"--fill": (0,
|
|
24535
|
+
"--fill": (0, import_runtime114.maybeCssVar)(fill)
|
|
24342
24536
|
}],
|
|
24343
24537
|
width: ["w_var", {
|
|
24344
|
-
"--width": (0,
|
|
24538
|
+
"--width": (0, import_runtime114.maybeCssVar)(__maybeInc21(width2))
|
|
24345
24539
|
}],
|
|
24346
24540
|
height: ["h_var", {
|
|
24347
|
-
"--height": (0,
|
|
24541
|
+
"--height": (0, import_runtime114.maybeCssVar)(__maybeInc21(height))
|
|
24348
24542
|
}]
|
|
24349
|
-
}), children: /* @__PURE__ */ (0,
|
|
24543
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("path", { d: "M158.1,97.6H0.2L0,39.7L76.8,0l68,38.7l-3.1,5.3l-65-37L6.2,43.4l0.2,48h151.7V97.6z" }) });
|
|
24350
24544
|
}
|
|
24351
24545
|
|
|
24352
24546
|
// src/components/JumpLink.tsx
|
|
24353
|
-
var
|
|
24354
|
-
var
|
|
24355
|
-
var
|
|
24356
|
-
var
|
|
24547
|
+
var import_react136 = require("react");
|
|
24548
|
+
var import_react_aria60 = require("react-aria");
|
|
24549
|
+
var import_runtime115 = require("@homebound/truss/runtime");
|
|
24550
|
+
var import_jsx_runtime189 = require("react/jsx-runtime");
|
|
24357
24551
|
function JumpLink(props) {
|
|
24358
24552
|
const {
|
|
24359
24553
|
label,
|
|
@@ -24363,10 +24557,10 @@ function JumpLink(props) {
|
|
|
24363
24557
|
__storyState,
|
|
24364
24558
|
...otherProps
|
|
24365
24559
|
} = props;
|
|
24366
|
-
const ref = (0,
|
|
24560
|
+
const ref = (0, import_react136.useRef)(null);
|
|
24367
24561
|
const {
|
|
24368
24562
|
linkProps
|
|
24369
|
-
} = (0,
|
|
24563
|
+
} = (0, import_react_aria60.useLink)({
|
|
24370
24564
|
isDisabled: disabled,
|
|
24371
24565
|
onClick: handleClick,
|
|
24372
24566
|
href
|
|
@@ -24374,11 +24568,11 @@ function JumpLink(props) {
|
|
|
24374
24568
|
const {
|
|
24375
24569
|
isFocusVisible: isFocusVisibleFromEvents,
|
|
24376
24570
|
focusProps
|
|
24377
|
-
} = (0,
|
|
24571
|
+
} = (0, import_react_aria60.useFocusRing)();
|
|
24378
24572
|
const {
|
|
24379
24573
|
hoverProps,
|
|
24380
24574
|
isHovered: isHoveredFromEvents
|
|
24381
|
-
} = (0,
|
|
24575
|
+
} = (0, import_react_aria60.useHover)({
|
|
24382
24576
|
isDisabled: disabled
|
|
24383
24577
|
});
|
|
24384
24578
|
const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
|
|
@@ -24395,14 +24589,14 @@ function JumpLink(props) {
|
|
|
24395
24589
|
});
|
|
24396
24590
|
}
|
|
24397
24591
|
}
|
|
24398
|
-
return /* @__PURE__ */ (0,
|
|
24592
|
+
return /* @__PURE__ */ (0, import_jsx_runtime189.jsx)("a", { ref, ...(0, import_react_aria60.mergeProps)(linkProps, focusProps, hoverProps), ...tid, ...(0, import_runtime115.trussProps)({
|
|
24399
24593
|
...jumpLinkStyles.baseStyles,
|
|
24400
24594
|
...active && jumpLinkStyles.activeStyles,
|
|
24401
24595
|
...isHovered && !disabled && jumpLinkStyles.hoverStyles,
|
|
24402
24596
|
...isFocusVisible && jumpLinkStyles.focusStyles,
|
|
24403
24597
|
...disabled && jumpLinkStyles.disabledStyles,
|
|
24404
24598
|
...disabled && active && jumpLinkStyles.disabledActiveStyles
|
|
24405
|
-
}), children: /* @__PURE__ */ (0,
|
|
24599
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime189.jsx)("span", { className: "oh d_negwebkit_box wbo_vertical to_ellipsis wlc_2", children: label }) });
|
|
24406
24600
|
}
|
|
24407
24601
|
var jumpLinkStyles = {
|
|
24408
24602
|
baseStyles: {
|
|
@@ -24450,37 +24644,37 @@ var jumpLinkStyles = {
|
|
|
24450
24644
|
};
|
|
24451
24645
|
|
|
24452
24646
|
// src/components/MaxLines.tsx
|
|
24453
|
-
var
|
|
24454
|
-
var
|
|
24455
|
-
var
|
|
24456
|
-
var
|
|
24647
|
+
var import_utils156 = require("@react-aria/utils");
|
|
24648
|
+
var import_react137 = require("react");
|
|
24649
|
+
var import_runtime116 = require("@homebound/truss/runtime");
|
|
24650
|
+
var import_jsx_runtime190 = require("react/jsx-runtime");
|
|
24457
24651
|
function MaxLines({
|
|
24458
24652
|
maxLines,
|
|
24459
24653
|
children
|
|
24460
24654
|
}) {
|
|
24461
|
-
const elRef = (0,
|
|
24462
|
-
const [hasMore, setHasMore] = (0,
|
|
24463
|
-
const [expanded, setExpanded] = (0,
|
|
24464
|
-
(0,
|
|
24655
|
+
const elRef = (0, import_react137.useRef)(null);
|
|
24656
|
+
const [hasMore, setHasMore] = (0, import_react137.useState)(false);
|
|
24657
|
+
const [expanded, setExpanded] = (0, import_react137.useState)(false);
|
|
24658
|
+
(0, import_utils156.useLayoutEffect)(() => {
|
|
24465
24659
|
if (!elRef.current) return;
|
|
24466
24660
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
24467
24661
|
}, []);
|
|
24468
|
-
(0,
|
|
24662
|
+
(0, import_react137.useEffect)(() => {
|
|
24469
24663
|
setExpanded(false);
|
|
24470
24664
|
}, [children]);
|
|
24471
|
-
const onResize = (0,
|
|
24665
|
+
const onResize = (0, import_react137.useCallback)(() => {
|
|
24472
24666
|
if (!elRef.current) return;
|
|
24473
24667
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
24474
24668
|
}, [expanded]);
|
|
24475
|
-
(0,
|
|
24669
|
+
(0, import_utils156.useResizeObserver)({
|
|
24476
24670
|
ref: elRef,
|
|
24477
24671
|
onResize
|
|
24478
24672
|
});
|
|
24479
|
-
return /* @__PURE__ */ (0,
|
|
24480
|
-
/* @__PURE__ */ (0,
|
|
24673
|
+
return /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { children: [
|
|
24674
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)("div", { ref: elRef, ...(0, import_runtime116.trussProps)({
|
|
24481
24675
|
...!expanded ? {
|
|
24482
24676
|
WebkitLineClamp: ["lineClamp_var", {
|
|
24483
|
-
"--WebkitLineClamp": (0,
|
|
24677
|
+
"--WebkitLineClamp": (0, import_runtime116.maybeCssVar)(maxLines)
|
|
24484
24678
|
}],
|
|
24485
24679
|
overflow: "oh",
|
|
24486
24680
|
display: "d_negwebkit_box",
|
|
@@ -24488,7 +24682,7 @@ function MaxLines({
|
|
|
24488
24682
|
textOverflow: "to_ellipsis"
|
|
24489
24683
|
} : {}
|
|
24490
24684
|
}), children }),
|
|
24491
|
-
hasMore && /* @__PURE__ */ (0,
|
|
24685
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("button", { className: "db fw4 fz_14px lh_20px", onClick: () => setExpanded((prev) => !prev), children: expanded ? "Show Less" : "Show More" })
|
|
24492
24686
|
] });
|
|
24493
24687
|
}
|
|
24494
24688
|
|
|
@@ -24496,15 +24690,15 @@ function MaxLines({
|
|
|
24496
24690
|
var import_change_case8 = require("change-case");
|
|
24497
24691
|
|
|
24498
24692
|
// src/components/AppNav/AppNavGroup.tsx
|
|
24499
|
-
var
|
|
24693
|
+
var import_utils158 = require("@react-aria/utils");
|
|
24500
24694
|
var import_change_case7 = require("change-case");
|
|
24501
|
-
var
|
|
24695
|
+
var import_react140 = require("react");
|
|
24502
24696
|
|
|
24503
24697
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
24504
|
-
var
|
|
24505
|
-
var
|
|
24506
|
-
var
|
|
24507
|
-
var
|
|
24698
|
+
var import_react138 = require("react");
|
|
24699
|
+
var import_react_aria61 = require("react-aria");
|
|
24700
|
+
var import_runtime117 = require("@homebound/truss/runtime");
|
|
24701
|
+
var import_jsx_runtime191 = require("react/jsx-runtime");
|
|
24508
24702
|
function AppNavGroupTrigger(props) {
|
|
24509
24703
|
const {
|
|
24510
24704
|
label,
|
|
@@ -24514,33 +24708,33 @@ function AppNavGroupTrigger(props) {
|
|
|
24514
24708
|
active = false
|
|
24515
24709
|
} = props;
|
|
24516
24710
|
const tid = useTestIds(props, "trigger");
|
|
24517
|
-
const ref = (0,
|
|
24711
|
+
const ref = (0, import_react138.useRef)(null);
|
|
24518
24712
|
const {
|
|
24519
24713
|
buttonProps,
|
|
24520
24714
|
isPressed
|
|
24521
|
-
} = (0,
|
|
24715
|
+
} = (0, import_react_aria61.useButton)({
|
|
24522
24716
|
onPress: onClick,
|
|
24523
24717
|
elementType: "button"
|
|
24524
24718
|
}, ref);
|
|
24525
24719
|
const {
|
|
24526
24720
|
hoverProps,
|
|
24527
24721
|
isHovered
|
|
24528
|
-
} = (0,
|
|
24722
|
+
} = (0, import_react_aria61.useHover)({});
|
|
24529
24723
|
const {
|
|
24530
24724
|
isFocusVisible,
|
|
24531
24725
|
focusProps
|
|
24532
|
-
} = (0,
|
|
24726
|
+
} = (0, import_react_aria61.useFocusRing)();
|
|
24533
24727
|
const {
|
|
24534
24728
|
baseStyles: baseStyles4,
|
|
24535
24729
|
focusRingStyles: focusRingStyles2,
|
|
24536
24730
|
hoverStyles: hoverStyles4,
|
|
24537
24731
|
pressedStyles: pressedStyles2
|
|
24538
|
-
} = (0,
|
|
24539
|
-
return /* @__PURE__ */ (0,
|
|
24732
|
+
} = (0, import_react138.useMemo)(() => getNavLinkStyles("side"), []);
|
|
24733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)("button", { type: "button", ...(0, import_react_aria61.mergeProps)(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
24540
24734
|
ref,
|
|
24541
24735
|
"aria-expanded": expanded,
|
|
24542
24736
|
"aria-controls": navGroupId,
|
|
24543
|
-
...(0,
|
|
24737
|
+
...(0, import_runtime117.mergeProps)(navLink, void 0, {
|
|
24544
24738
|
...baseStyles4,
|
|
24545
24739
|
...isFocusVisible && focusRingStyles2,
|
|
24546
24740
|
...isHovered && hoverStyles4,
|
|
@@ -24554,7 +24748,7 @@ function AppNavGroupTrigger(props) {
|
|
|
24554
24748
|
})
|
|
24555
24749
|
}), children: [
|
|
24556
24750
|
label,
|
|
24557
|
-
/* @__PURE__ */ (0,
|
|
24751
|
+
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)("div", { ...(0, import_runtime117.trussProps)({
|
|
24558
24752
|
...{
|
|
24559
24753
|
display: "df",
|
|
24560
24754
|
alignItems: "aic",
|
|
@@ -24564,7 +24758,7 @@ function AppNavGroupTrigger(props) {
|
|
|
24564
24758
|
...props.expanded ? {
|
|
24565
24759
|
transform: "transform_rotate_180deg"
|
|
24566
24760
|
} : {}
|
|
24567
|
-
}), children: /* @__PURE__ */ (0,
|
|
24761
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(Icon, { icon: "chevronDown" }) })
|
|
24568
24762
|
] });
|
|
24569
24763
|
}
|
|
24570
24764
|
|
|
@@ -24673,7 +24867,7 @@ function entryHasIcons(item) {
|
|
|
24673
24867
|
}
|
|
24674
24868
|
|
|
24675
24869
|
// src/components/AppNav/useAppNavGroupExpanded.ts
|
|
24676
|
-
var
|
|
24870
|
+
var import_react139 = require("react");
|
|
24677
24871
|
var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
|
|
24678
24872
|
function loadStored() {
|
|
24679
24873
|
try {
|
|
@@ -24692,13 +24886,13 @@ function persistLabel(label, expanded) {
|
|
|
24692
24886
|
}
|
|
24693
24887
|
function useAppNavGroupExpanded(linkGroup) {
|
|
24694
24888
|
const { label } = linkGroup;
|
|
24695
|
-
const [userExpanded, setUserExpanded] = (0,
|
|
24889
|
+
const [userExpanded, setUserExpanded] = (0, import_react139.useState)(() => {
|
|
24696
24890
|
const stored = loadStored();
|
|
24697
24891
|
return label in stored ? stored[label] : null;
|
|
24698
24892
|
});
|
|
24699
24893
|
const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
|
|
24700
24894
|
const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
|
|
24701
|
-
const onToggle = (0,
|
|
24895
|
+
const onToggle = (0, import_react139.useCallback)(() => {
|
|
24702
24896
|
const next = !expanded;
|
|
24703
24897
|
setUserExpanded(next);
|
|
24704
24898
|
persistLabel(label, next);
|
|
@@ -24707,9 +24901,9 @@ function useAppNavGroupExpanded(linkGroup) {
|
|
|
24707
24901
|
}
|
|
24708
24902
|
|
|
24709
24903
|
// src/components/AppNav/AppNavGroup.tsx
|
|
24710
|
-
var
|
|
24711
|
-
var
|
|
24712
|
-
var
|
|
24904
|
+
var import_runtime118 = require("@homebound/truss/runtime");
|
|
24905
|
+
var import_jsx_runtime192 = require("react/jsx-runtime");
|
|
24906
|
+
var __maybeInc22 = (inc) => {
|
|
24713
24907
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24714
24908
|
};
|
|
24715
24909
|
function AppNavGroupView(props) {
|
|
@@ -24719,9 +24913,9 @@ function AppNavGroupView(props) {
|
|
|
24719
24913
|
} = props;
|
|
24720
24914
|
const tid = useTestIds(props, "linkGroup");
|
|
24721
24915
|
if (panelCollapsed) {
|
|
24722
|
-
return /* @__PURE__ */ (0,
|
|
24916
|
+
return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(import_jsx_runtime192.Fragment, { children: appNavLinkGroupLinks(linkGroup).map((link) => /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(NavLink, { variant: "side", ...link, iconOnly: !!link.icon, ...tid[`link_${(0, import_change_case7.camelCase)(link.label)}`] }, link.label)) });
|
|
24723
24917
|
}
|
|
24724
|
-
return /* @__PURE__ */ (0,
|
|
24918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(AppNavGroupDisclosure, { ...props });
|
|
24725
24919
|
}
|
|
24726
24920
|
function AppNavGroupDisclosure(props) {
|
|
24727
24921
|
const {
|
|
@@ -24733,44 +24927,44 @@ function AppNavGroupDisclosure(props) {
|
|
|
24733
24927
|
} = useAppNavGroupExpanded(linkGroup);
|
|
24734
24928
|
const tid = useTestIds(props, "linkGroup");
|
|
24735
24929
|
const navGroupId = `nav-group-${(0, import_change_case7.kebabCase)(linkGroup.label)}`;
|
|
24736
|
-
const [contentEl, setContentEl] = (0,
|
|
24737
|
-
const contentRef = (0,
|
|
24930
|
+
const [contentEl, setContentEl] = (0, import_react140.useState)(null);
|
|
24931
|
+
const contentRef = (0, import_react140.useMemo)(() => ({
|
|
24738
24932
|
current: contentEl
|
|
24739
24933
|
}), [contentEl]);
|
|
24740
|
-
const [contentHeight, setContentHeight] = (0,
|
|
24741
|
-
(0,
|
|
24934
|
+
const [contentHeight, setContentHeight] = (0, import_react140.useState)(expanded ? "auto" : "0");
|
|
24935
|
+
(0, import_react140.useEffect)(() => {
|
|
24742
24936
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
24743
24937
|
}, [expanded, contentEl]);
|
|
24744
|
-
const onResize = (0,
|
|
24938
|
+
const onResize = (0, import_react140.useCallback)(() => {
|
|
24745
24939
|
if (contentEl && expanded) {
|
|
24746
24940
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
24747
24941
|
}
|
|
24748
24942
|
}, [expanded, contentEl]);
|
|
24749
|
-
(0,
|
|
24943
|
+
(0, import_utils158.useResizeObserver)({
|
|
24750
24944
|
ref: contentRef,
|
|
24751
24945
|
onResize
|
|
24752
24946
|
});
|
|
24753
|
-
return /* @__PURE__ */ (0,
|
|
24754
|
-
/* @__PURE__ */ (0,
|
|
24755
|
-
/* @__PURE__ */ (0,
|
|
24947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime192.jsxs)("div", { className: "df fdc", ...tid, children: [
|
|
24948
|
+
/* @__PURE__ */ (0, import_jsx_runtime192.jsx)(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, active: linkGroupHasActiveLink(linkGroup), onClick: onToggle, ...tid }),
|
|
24949
|
+
/* @__PURE__ */ (0, import_jsx_runtime192.jsx)("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...(0, import_runtime118.trussProps)({
|
|
24756
24950
|
overflow: "oh",
|
|
24757
24951
|
transition: "transitionHeight",
|
|
24758
24952
|
height: ["h_var", {
|
|
24759
|
-
"--height": (0,
|
|
24953
|
+
"--height": (0, import_runtime118.maybeCssVar)(__maybeInc22(contentHeight))
|
|
24760
24954
|
}]
|
|
24761
24955
|
}), ...tid.panel, ...!expanded ? {
|
|
24762
24956
|
inert: "true"
|
|
24763
|
-
} : {}, children: /* @__PURE__ */ (0,
|
|
24957
|
+
} : {}, children: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)("div", { ref: setContentEl, className: "df fdc", children: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(AppNavItems, { items: linkGroup.items, panelCollapsed: false, nested: true, ...tid }) }) })
|
|
24764
24958
|
] });
|
|
24765
24959
|
}
|
|
24766
24960
|
|
|
24767
24961
|
// src/components/AppNav/AppNavGroupMenu.tsx
|
|
24768
|
-
var
|
|
24962
|
+
var import_jsx_runtime193 = require("react/jsx-runtime");
|
|
24769
24963
|
function AppNavGroupMenu({
|
|
24770
24964
|
linkGroup,
|
|
24771
24965
|
...tid
|
|
24772
24966
|
}) {
|
|
24773
|
-
return /* @__PURE__ */ (0,
|
|
24967
|
+
return /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
|
|
24774
24968
|
ButtonMenu,
|
|
24775
24969
|
{
|
|
24776
24970
|
trigger: {
|
|
@@ -24786,8 +24980,8 @@ function AppNavGroupMenu({
|
|
|
24786
24980
|
}
|
|
24787
24981
|
|
|
24788
24982
|
// src/components/AppNav/AppNavSectionView.tsx
|
|
24789
|
-
var
|
|
24790
|
-
var
|
|
24983
|
+
var import_runtime119 = require("@homebound/truss/runtime");
|
|
24984
|
+
var import_jsx_runtime194 = require("react/jsx-runtime");
|
|
24791
24985
|
function AppNavSectionView(props) {
|
|
24792
24986
|
const {
|
|
24793
24987
|
section,
|
|
@@ -24813,7 +25007,7 @@ function AppNavSectionView(props) {
|
|
|
24813
25007
|
"--borderColor": "var(--b-surface-separator)"
|
|
24814
25008
|
}]
|
|
24815
25009
|
};
|
|
24816
|
-
return /* @__PURE__ */ (0,
|
|
25010
|
+
return /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { ...(0, import_runtime119.trussProps)({
|
|
24817
25011
|
...{
|
|
24818
25012
|
display: "df",
|
|
24819
25013
|
flexDirection: "fdc",
|
|
@@ -24821,7 +25015,7 @@ function AppNavSectionView(props) {
|
|
|
24821
25015
|
},
|
|
24822
25016
|
...showDivider ? dividerStyles : {}
|
|
24823
25017
|
}), ...tid, children: [
|
|
24824
|
-
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0,
|
|
25018
|
+
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime119.trussProps)({
|
|
24825
25019
|
fontWeight: "fw6",
|
|
24826
25020
|
fontSize: "fz_10px",
|
|
24827
25021
|
lineHeight: "lh_14px",
|
|
@@ -24834,18 +25028,18 @@ function AppNavSectionView(props) {
|
|
|
24834
25028
|
paddingBottom: "pb1",
|
|
24835
25029
|
textTransform: "ttu"
|
|
24836
25030
|
}), ...tid.label, children: section.label }),
|
|
24837
|
-
/* @__PURE__ */ (0,
|
|
25031
|
+
/* @__PURE__ */ (0, import_jsx_runtime194.jsx)(AppNavItems, { ...scopeProps, items: section.items, variant, panelCollapsed, nested })
|
|
24838
25032
|
] });
|
|
24839
25033
|
}
|
|
24840
25034
|
|
|
24841
25035
|
// src/components/AppNav/AppNavItems.tsx
|
|
24842
|
-
var
|
|
25036
|
+
var import_jsx_runtime195 = require("react/jsx-runtime");
|
|
24843
25037
|
function AppNavItems(props) {
|
|
24844
25038
|
const { items, variant = "side", panelCollapsed = false, nested = false } = props;
|
|
24845
25039
|
const tid = useTestIds(props, "appNav");
|
|
24846
|
-
return /* @__PURE__ */ (0,
|
|
25040
|
+
return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_jsx_runtime195.Fragment, { children: items.map((item, idx) => {
|
|
24847
25041
|
if (isAppNavLink(item)) {
|
|
24848
|
-
return /* @__PURE__ */ (0,
|
|
25042
|
+
return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
|
|
24849
25043
|
NavLink,
|
|
24850
25044
|
{
|
|
24851
25045
|
variant,
|
|
@@ -24858,7 +25052,7 @@ function AppNavItems(props) {
|
|
|
24858
25052
|
);
|
|
24859
25053
|
}
|
|
24860
25054
|
if (isAppNavGroup(item)) {
|
|
24861
|
-
return variant === "global" ? /* @__PURE__ */ (0,
|
|
25055
|
+
return variant === "global" ? /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(AppNavGroupMenu, { linkGroup: item, ...tid.linkGroup }, appNavItemKey(item)) : /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
|
|
24862
25056
|
AppNavGroupView,
|
|
24863
25057
|
{
|
|
24864
25058
|
linkGroup: item,
|
|
@@ -24869,7 +25063,7 @@ function AppNavItems(props) {
|
|
|
24869
25063
|
);
|
|
24870
25064
|
}
|
|
24871
25065
|
if (isAppNavSection(item)) {
|
|
24872
|
-
return /* @__PURE__ */ (0,
|
|
25066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
|
|
24873
25067
|
AppNavSectionView,
|
|
24874
25068
|
{
|
|
24875
25069
|
section: item,
|
|
@@ -24887,48 +25081,35 @@ function AppNavItems(props) {
|
|
|
24887
25081
|
}
|
|
24888
25082
|
|
|
24889
25083
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
24890
|
-
var
|
|
24891
|
-
var
|
|
24892
|
-
var
|
|
24893
|
-
var
|
|
25084
|
+
var import_framer_motion6 = require("framer-motion");
|
|
25085
|
+
var import_react141 = require("react");
|
|
25086
|
+
var import_react_aria62 = require("react-aria");
|
|
25087
|
+
var import_react_dom7 = require("react-dom");
|
|
24894
25088
|
var import_react_router_dom7 = require("react-router-dom");
|
|
24895
|
-
|
|
24896
|
-
|
|
24897
|
-
var import_react138 = require("react");
|
|
24898
|
-
var import_jsx_runtime193 = require("react/jsx-runtime");
|
|
24899
|
-
var EnvironmentBannerLayoutHeightContext = (0, import_react138.createContext)(0);
|
|
24900
|
-
function EnvironmentBannerLayoutHeightProvider({ value, children }) {
|
|
24901
|
-
return /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(EnvironmentBannerLayoutHeightContext.Provider, { value, children });
|
|
24902
|
-
}
|
|
24903
|
-
function useEnvironmentBannerLayoutHeight() {
|
|
24904
|
-
return (0, import_react138.useContext)(EnvironmentBannerLayoutHeightContext);
|
|
24905
|
-
}
|
|
24906
|
-
|
|
24907
|
-
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
24908
|
-
var import_runtime118 = require("@homebound/truss/runtime");
|
|
24909
|
-
var import_jsx_runtime194 = require("react/jsx-runtime");
|
|
25089
|
+
var import_runtime120 = require("@homebound/truss/runtime");
|
|
25090
|
+
var import_jsx_runtime196 = require("react/jsx-runtime");
|
|
24910
25091
|
function NavbarMobileMenu(props) {
|
|
24911
25092
|
const {
|
|
24912
25093
|
items
|
|
24913
25094
|
} = props;
|
|
24914
25095
|
const tid = useTestIds(props, "navbar");
|
|
24915
|
-
const [isOpen, setIsOpen] = (0,
|
|
25096
|
+
const [isOpen, setIsOpen] = (0, import_react141.useState)(false);
|
|
24916
25097
|
const {
|
|
24917
25098
|
pathname,
|
|
24918
25099
|
search
|
|
24919
25100
|
} = (0, import_react_router_dom7.useLocation)();
|
|
24920
|
-
(0,
|
|
25101
|
+
(0, import_react_aria62.usePreventScroll)({
|
|
24921
25102
|
isDisabled: !isOpen
|
|
24922
25103
|
});
|
|
24923
|
-
(0,
|
|
25104
|
+
(0, import_react141.useEffect)(() => {
|
|
24924
25105
|
setIsOpen(false);
|
|
24925
25106
|
}, [pathname, search]);
|
|
24926
25107
|
const close = () => setIsOpen(false);
|
|
24927
|
-
return /* @__PURE__ */ (0,
|
|
24928
|
-
/* @__PURE__ */ (0,
|
|
24929
|
-
(0,
|
|
25108
|
+
return /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)(import_jsx_runtime196.Fragment, { children: [
|
|
25109
|
+
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)(IconButton, { icon: isOpen ? "menuClose" : "menu", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: isOpen ? "Close navigation" : "Open navigation", onClick: () => setIsOpen((open) => !open), ...tid.mobileMenu }),
|
|
25110
|
+
(0, import_react_dom7.createPortal)(
|
|
24930
25111
|
/* AnimatePresence keeps the drawer mounted through its slide/fade-out before unmounting.*/
|
|
24931
|
-
/* @__PURE__ */ (0,
|
|
25112
|
+
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)(import_framer_motion6.AnimatePresence, { children: isOpen && /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(NavbarMobileDrawer, { items, onClose: close, tid }) }),
|
|
24932
25113
|
document.body
|
|
24933
25114
|
)
|
|
24934
25115
|
] });
|
|
@@ -24942,14 +25123,14 @@ function NavbarMobileDrawer({
|
|
|
24942
25123
|
const overlayTopStyle = {
|
|
24943
25124
|
top: bannerHeightPx
|
|
24944
25125
|
};
|
|
24945
|
-
return /* @__PURE__ */ (0,
|
|
24946
|
-
/* @__PURE__ */ (0,
|
|
25126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)(import_jsx_runtime196.Fragment, { children: [
|
|
25127
|
+
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)(import_framer_motion6.motion.div, { ...(0, import_runtime120.mergeProps)(void 0, overlayTopStyle, {
|
|
24947
25128
|
position: "fixed",
|
|
24948
25129
|
right: "right0",
|
|
24949
25130
|
bottom: "bottom0",
|
|
24950
25131
|
left: "left0",
|
|
24951
25132
|
zIndex: ["z_var", {
|
|
24952
|
-
"--zIndex": (0,
|
|
25133
|
+
"--zIndex": (0, import_runtime120.maybeCssVar)(zIndices.navbarMobileMenuScrim)
|
|
24953
25134
|
}],
|
|
24954
25135
|
backgroundColor: ["bgColor_var", {
|
|
24955
25136
|
"--backgroundColor": "var(--b-scrim)"
|
|
@@ -24964,7 +25145,7 @@ function NavbarMobileDrawer({
|
|
|
24964
25145
|
ease: "linear",
|
|
24965
25146
|
duration: 0.2
|
|
24966
25147
|
}, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
|
|
24967
|
-
/* @__PURE__ */ (0,
|
|
25148
|
+
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)(import_react_aria62.FocusScope, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)(import_framer_motion6.motion.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...(0, import_runtime120.mergeProps)(void 0, overlayTopStyle, {
|
|
24968
25149
|
position: "fixed",
|
|
24969
25150
|
bottom: "bottom0",
|
|
24970
25151
|
left: "left0",
|
|
@@ -24974,7 +25155,7 @@ function NavbarMobileDrawer({
|
|
|
24974
25155
|
width: "w_260px",
|
|
24975
25156
|
overflow: "oh",
|
|
24976
25157
|
zIndex: ["z_var", {
|
|
24977
|
-
"--zIndex": (0,
|
|
25158
|
+
"--zIndex": (0, import_runtime120.maybeCssVar)(zIndices.navbarMobileMenu)
|
|
24978
25159
|
}],
|
|
24979
25160
|
backgroundColor: ["bgColor_var", {
|
|
24980
25161
|
"--backgroundColor": "var(--b-surface)"
|
|
@@ -24989,7 +25170,7 @@ function NavbarMobileDrawer({
|
|
|
24989
25170
|
ease: "linear",
|
|
24990
25171
|
duration: 0.2
|
|
24991
25172
|
}, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
|
|
24992
|
-
/* @__PURE__ */ (0,
|
|
25173
|
+
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { ...(0, import_runtime120.trussProps)({
|
|
24993
25174
|
...{
|
|
24994
25175
|
display: "df",
|
|
24995
25176
|
alignItems: "aic",
|
|
@@ -25004,11 +25185,11 @@ function NavbarMobileDrawer({
|
|
|
25004
25185
|
}]
|
|
25005
25186
|
},
|
|
25006
25187
|
...pageContentPaddingX
|
|
25007
|
-
}), children: /* @__PURE__ */ (0,
|
|
25008
|
-
/* @__PURE__ */ (0,
|
|
25188
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(IconButton, { icon: "x", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: "Close navigation", onClick: onClose, ...tid.mobileMenuClose }) }),
|
|
25189
|
+
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)(
|
|
25009
25190
|
"nav",
|
|
25010
25191
|
{
|
|
25011
|
-
...(0,
|
|
25192
|
+
...(0, import_runtime120.trussProps)({
|
|
25012
25193
|
...{
|
|
25013
25194
|
flexGrow: "fg1",
|
|
25014
25195
|
overflowY: "oya",
|
|
@@ -25026,7 +25207,7 @@ function NavbarMobileDrawer({
|
|
|
25026
25207
|
}
|
|
25027
25208
|
},
|
|
25028
25209
|
...tid.mobileMenuPanel,
|
|
25029
|
-
children: /* @__PURE__ */ (0,
|
|
25210
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(AppNavItems, { items, panelCollapsed: false, ...tid })
|
|
25030
25211
|
}
|
|
25031
25212
|
)
|
|
25032
25213
|
] }, "navbarMobileMenuDrawer") })
|
|
@@ -25034,8 +25215,8 @@ function NavbarMobileDrawer({
|
|
|
25034
25215
|
}
|
|
25035
25216
|
|
|
25036
25217
|
// src/components/Navbar/Navbar.tsx
|
|
25037
|
-
var
|
|
25038
|
-
var
|
|
25218
|
+
var import_runtime121 = require("@homebound/truss/runtime");
|
|
25219
|
+
var import_jsx_runtime197 = require("react/jsx-runtime");
|
|
25039
25220
|
function Navbar(props) {
|
|
25040
25221
|
const {
|
|
25041
25222
|
brand,
|
|
@@ -25054,7 +25235,7 @@ function Navbar(props) {
|
|
|
25054
25235
|
overflows
|
|
25055
25236
|
} = useContentOverflow(!sm);
|
|
25056
25237
|
const showMobile = sm || overflows;
|
|
25057
|
-
return /* @__PURE__ */ (0,
|
|
25238
|
+
return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(ContrastScope, { children: /* @__PURE__ */ (0, import_jsx_runtime197.jsxs)("nav", { ...(0, import_runtime121.trussProps)({
|
|
25058
25239
|
...{
|
|
25059
25240
|
backgroundColor: ["bgColor_var", {
|
|
25060
25241
|
"--backgroundColor": "var(--b-surface-raised)"
|
|
@@ -25070,10 +25251,10 @@ function Navbar(props) {
|
|
|
25070
25251
|
},
|
|
25071
25252
|
...headerContentPaddingX(showMobile)
|
|
25072
25253
|
}), ...tid, children: [
|
|
25073
|
-
/* @__PURE__ */ (0,
|
|
25074
|
-
/* @__PURE__ */ (0,
|
|
25075
|
-
showMobile && /* @__PURE__ */ (0,
|
|
25076
|
-
/* @__PURE__ */ (0,
|
|
25254
|
+
/* @__PURE__ */ (0, import_jsx_runtime197.jsxs)("div", { className: "df aic gap3 fg1 mw0", children: [
|
|
25255
|
+
/* @__PURE__ */ (0, import_jsx_runtime197.jsxs)("div", { className: "df aic fs0 gap2", children: [
|
|
25256
|
+
showMobile && /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(NavbarMobileMenu, { items, ...tid }),
|
|
25257
|
+
/* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { ...(0, import_runtime121.trussProps)({
|
|
25077
25258
|
flexShrink: "fs0",
|
|
25078
25259
|
...hideBrandOnMobile && showMobile ? {
|
|
25079
25260
|
display: "dn"
|
|
@@ -25082,7 +25263,7 @@ function Navbar(props) {
|
|
|
25082
25263
|
] }),
|
|
25083
25264
|
!sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
|
|
25084
25265
|
// can expand again as space frees up.
|
|
25085
|
-
/* @__PURE__ */ (0,
|
|
25266
|
+
/* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { ref: containerRef, ...(0, import_runtime121.trussProps)({
|
|
25086
25267
|
display: "df",
|
|
25087
25268
|
alignItems: "aic",
|
|
25088
25269
|
flexGrow: "fg1",
|
|
@@ -25091,11 +25272,11 @@ function Navbar(props) {
|
|
|
25091
25272
|
...overflows ? {
|
|
25092
25273
|
visibility: "visibility_hidden"
|
|
25093
25274
|
} : {}
|
|
25094
|
-
}), ...tid.items, children: /* @__PURE__ */ (0,
|
|
25275
|
+
}), ...tid.items, children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { ref: contentRef, className: "df aic gap2 width_max_content", children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(AppNavItems, { variant: "global", items, ...tid }) }) })
|
|
25095
25276
|
] }),
|
|
25096
|
-
/* @__PURE__ */ (0,
|
|
25097
|
-
rightSlot && /* @__PURE__ */ (0,
|
|
25098
|
-
user && /* @__PURE__ */ (0,
|
|
25277
|
+
/* @__PURE__ */ (0, import_jsx_runtime197.jsxs)("div", { className: "df aic gap1", children: [
|
|
25278
|
+
rightSlot && /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { className: "df aic gap1", ...tid.rightSlot, children: rightSlot }),
|
|
25279
|
+
user && /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(NavbarUserMenu, { user, ...tid.userMenu })
|
|
25099
25280
|
] })
|
|
25100
25281
|
] }) });
|
|
25101
25282
|
}
|
|
@@ -25103,7 +25284,7 @@ function NavbarUserMenu({
|
|
|
25103
25284
|
user,
|
|
25104
25285
|
...tid
|
|
25105
25286
|
}) {
|
|
25106
|
-
return /* @__PURE__ */ (0,
|
|
25287
|
+
return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { className: "df aic fs0 ml1", children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(ButtonMenu, { items: user.menuItems, persistentItems: user.persistentItems, trigger: {
|
|
25107
25288
|
src: user.picture,
|
|
25108
25289
|
name: user.name,
|
|
25109
25290
|
size: "sm",
|
|
@@ -25112,8 +25293,8 @@ function NavbarUserMenu({
|
|
|
25112
25293
|
}
|
|
25113
25294
|
|
|
25114
25295
|
// src/components/Pagination.tsx
|
|
25115
|
-
var
|
|
25116
|
-
var
|
|
25296
|
+
var import_runtime122 = require("@homebound/truss/runtime");
|
|
25297
|
+
var import_jsx_runtime198 = require("react/jsx-runtime");
|
|
25117
25298
|
var defaultPage = {
|
|
25118
25299
|
offset: 0,
|
|
25119
25300
|
limit: 100
|
|
@@ -25145,7 +25326,7 @@ function Pagination(props) {
|
|
|
25145
25326
|
}
|
|
25146
25327
|
}
|
|
25147
25328
|
const tid = useTestIds(props, "pagination");
|
|
25148
|
-
return /* @__PURE__ */ (0,
|
|
25329
|
+
return /* @__PURE__ */ (0, import_jsx_runtime198.jsxs)("div", { ...(0, import_runtime122.trussProps)({
|
|
25149
25330
|
display: "df",
|
|
25150
25331
|
borderColor: ["bc_var", {
|
|
25151
25332
|
"--borderColor": "var(--b-surface-separator)"
|
|
@@ -25162,24 +25343,24 @@ function Pagination(props) {
|
|
|
25162
25343
|
paddingRight: "pr2",
|
|
25163
25344
|
paddingTop: "pt2"
|
|
25164
25345
|
}), ...tid, children: [
|
|
25165
|
-
/* @__PURE__ */ (0,
|
|
25166
|
-
/* @__PURE__ */ (0,
|
|
25346
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)("div", { className: "df mta mba mr2", ...tid.pageSizeLabel, children: "Page size:" }),
|
|
25347
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)("div", { className: "w_78px", children: /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(SelectField, { compact: true, label: "Page Size", labelStyle: "hidden", options: pageOptions, value: pageSize, onSelect: (val) => set({
|
|
25167
25348
|
pageNumber: 1,
|
|
25168
25349
|
pageSize: val
|
|
25169
25350
|
}), autoSort: false, ...tid.pageSize }) }),
|
|
25170
|
-
/* @__PURE__ */ (0,
|
|
25171
|
-
/* @__PURE__ */ (0,
|
|
25351
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsxs)("div", { className: "mla mta mba df", children: [
|
|
25352
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsxs)("div", { className: "df mta mba mr2", ...tid.pageInfoLabel, children: [
|
|
25172
25353
|
first,
|
|
25173
25354
|
" ",
|
|
25174
25355
|
showLast ? `- ${last}` : "",
|
|
25175
25356
|
" of ",
|
|
25176
25357
|
totalCount
|
|
25177
25358
|
] }),
|
|
25178
|
-
/* @__PURE__ */ (0,
|
|
25359
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(IconButton, { icon: "chevronLeft", color: hasPrevPage ? "--b-text-link-default" /* TextLinkDefault */ : "--b-surface-separator" /* SurfaceSeparator */, onClick: () => set({
|
|
25179
25360
|
pageNumber: pageNumber - 1,
|
|
25180
25361
|
pageSize
|
|
25181
25362
|
}), disabled: !hasPrevPage, ...tid.previousIcon }),
|
|
25182
|
-
/* @__PURE__ */ (0,
|
|
25363
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(IconButton, { icon: "chevronRight", color: hasNextPage ? "--b-text-link-default" /* TextLinkDefault */ : "--b-surface-separator" /* SurfaceSeparator */, onClick: () => set({
|
|
25183
25364
|
pageNumber: pageNumber + 1,
|
|
25184
25365
|
pageSize
|
|
25185
25366
|
}), disabled: !hasNextPage, ...tid.nextIcon })
|
|
@@ -25201,10 +25382,10 @@ function toPageNumberSize(page) {
|
|
|
25201
25382
|
}
|
|
25202
25383
|
|
|
25203
25384
|
// src/components/ScrollShadows.tsx
|
|
25204
|
-
var
|
|
25205
|
-
var
|
|
25206
|
-
var
|
|
25207
|
-
var
|
|
25385
|
+
var import_utils165 = require("@react-aria/utils");
|
|
25386
|
+
var import_react142 = require("react");
|
|
25387
|
+
var import_runtime123 = require("@homebound/truss/runtime");
|
|
25388
|
+
var import_jsx_runtime199 = require("react/jsx-runtime");
|
|
25208
25389
|
function ScrollShadows(props) {
|
|
25209
25390
|
const {
|
|
25210
25391
|
children,
|
|
@@ -25220,15 +25401,15 @@ function ScrollShadows(props) {
|
|
|
25220
25401
|
if (!bgColor.includes("rgba")) {
|
|
25221
25402
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
25222
25403
|
}
|
|
25223
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
25224
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
25225
|
-
const scrollRef = (0,
|
|
25226
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
25404
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react142.useState)(false);
|
|
25405
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react142.useState)(false);
|
|
25406
|
+
const scrollRef = (0, import_react142.useRef)(null);
|
|
25407
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react142.useMemo)(() => {
|
|
25227
25408
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
25228
25409
|
const commonStyles = {
|
|
25229
25410
|
position: "absolute",
|
|
25230
25411
|
zIndex: ["z_var", {
|
|
25231
|
-
"--zIndex": (0,
|
|
25412
|
+
"--zIndex": (0, import_runtime123.maybeCssVar)(zIndices.scrollShadow)
|
|
25232
25413
|
}],
|
|
25233
25414
|
pointerEvents: "pointerEvents_none"
|
|
25234
25415
|
};
|
|
@@ -25261,7 +25442,7 @@ function ScrollShadows(props) {
|
|
|
25261
25442
|
...startShadowStyles2,
|
|
25262
25443
|
...{
|
|
25263
25444
|
background: ["background_var", {
|
|
25264
|
-
"--background": (0,
|
|
25445
|
+
"--background": (0, import_runtime123.maybeCssVar)(startGradient)
|
|
25265
25446
|
}]
|
|
25266
25447
|
}
|
|
25267
25448
|
}, {
|
|
@@ -25269,12 +25450,12 @@ function ScrollShadows(props) {
|
|
|
25269
25450
|
...endShadowStyles2,
|
|
25270
25451
|
...{
|
|
25271
25452
|
background: ["background_var", {
|
|
25272
|
-
"--background": (0,
|
|
25453
|
+
"--background": (0, import_runtime123.maybeCssVar)(endGradient)
|
|
25273
25454
|
}]
|
|
25274
25455
|
}
|
|
25275
25456
|
}];
|
|
25276
25457
|
}, [horizontal, bgColor]);
|
|
25277
|
-
const updateScrollProps = (0,
|
|
25458
|
+
const updateScrollProps = (0, import_react142.useCallback)((el) => {
|
|
25278
25459
|
const {
|
|
25279
25460
|
scrollTop,
|
|
25280
25461
|
scrollHeight,
|
|
@@ -25289,15 +25470,15 @@ function ScrollShadows(props) {
|
|
|
25289
25470
|
setShowStartShadow(start > 0);
|
|
25290
25471
|
setShowEndShadow(start + boxSize < end);
|
|
25291
25472
|
}, [horizontal]);
|
|
25292
|
-
const onResize = (0,
|
|
25293
|
-
(0,
|
|
25473
|
+
const onResize = (0, import_react142.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
25474
|
+
(0, import_utils165.useResizeObserver)({
|
|
25294
25475
|
ref: scrollRef,
|
|
25295
25476
|
onResize
|
|
25296
25477
|
});
|
|
25297
|
-
return /* @__PURE__ */ (0,
|
|
25478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime199.jsxs)("div", { ...(0, import_runtime123.trussProps)({
|
|
25298
25479
|
display: "df",
|
|
25299
25480
|
flexDirection: ["fd_var", {
|
|
25300
|
-
"--flexDirection": (0,
|
|
25481
|
+
"--flexDirection": (0, import_runtime123.maybeCssVar)(!horizontal ? "column" : "row")
|
|
25301
25482
|
}],
|
|
25302
25483
|
position: "relative",
|
|
25303
25484
|
overflow: "oh",
|
|
@@ -25310,23 +25491,23 @@ function ScrollShadows(props) {
|
|
|
25310
25491
|
width: width2
|
|
25311
25492
|
}
|
|
25312
25493
|
}), ...tid, children: [
|
|
25313
|
-
/* @__PURE__ */ (0,
|
|
25494
|
+
/* @__PURE__ */ (0, import_jsx_runtime199.jsx)("div", { ...(0, import_runtime123.trussProps)({
|
|
25314
25495
|
...startShadowStyles,
|
|
25315
25496
|
...{
|
|
25316
25497
|
opacity: ["o_var", {
|
|
25317
|
-
"--opacity": (0,
|
|
25498
|
+
"--opacity": (0, import_runtime123.maybeCssVar)(showStartShadow ? 1 : 0)
|
|
25318
25499
|
}]
|
|
25319
25500
|
}
|
|
25320
25501
|
}), "data-chromatic": "ignore" }),
|
|
25321
|
-
/* @__PURE__ */ (0,
|
|
25502
|
+
/* @__PURE__ */ (0, import_jsx_runtime199.jsx)("div", { ...(0, import_runtime123.trussProps)({
|
|
25322
25503
|
...endShadowStyles,
|
|
25323
25504
|
...{
|
|
25324
25505
|
opacity: ["o_var", {
|
|
25325
|
-
"--opacity": (0,
|
|
25506
|
+
"--opacity": (0, import_runtime123.maybeCssVar)(showEndShadow ? 1 : 0)
|
|
25326
25507
|
}]
|
|
25327
25508
|
}
|
|
25328
25509
|
}), "data-chromatic": "ignore" }),
|
|
25329
|
-
/* @__PURE__ */ (0,
|
|
25510
|
+
/* @__PURE__ */ (0, import_jsx_runtime199.jsx)("div", { ...(0, import_runtime123.trussProps)({
|
|
25330
25511
|
...xss,
|
|
25331
25512
|
...{
|
|
25332
25513
|
overflow: "oa",
|
|
@@ -25338,8 +25519,8 @@ function ScrollShadows(props) {
|
|
|
25338
25519
|
}
|
|
25339
25520
|
|
|
25340
25521
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
25341
|
-
var
|
|
25342
|
-
var
|
|
25522
|
+
var import_react143 = require("react");
|
|
25523
|
+
var import_jsx_runtime200 = require("react/jsx-runtime");
|
|
25343
25524
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
25344
25525
|
function loadStoredNavState() {
|
|
25345
25526
|
try {
|
|
@@ -25361,20 +25542,20 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
25361
25542
|
}
|
|
25362
25543
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
25363
25544
|
}
|
|
25364
|
-
var SideNavLayoutContext = (0,
|
|
25545
|
+
var SideNavLayoutContext = (0, import_react143.createContext)(void 0);
|
|
25365
25546
|
function SideNavLayoutProvider(props) {
|
|
25366
|
-
const [navState, setNavStateInternal] = (0,
|
|
25547
|
+
const [navState, setNavStateInternal] = (0, import_react143.useState)(
|
|
25367
25548
|
() => resolveInitialNavState(props.defaultNavState)
|
|
25368
25549
|
);
|
|
25369
25550
|
const bp = useBreakpoint();
|
|
25370
|
-
const prevMdAndUp = (0,
|
|
25371
|
-
(0,
|
|
25551
|
+
const prevMdAndUp = (0, import_react143.useRef)(bp.mdAndUp);
|
|
25552
|
+
(0, import_react143.useEffect)(() => {
|
|
25372
25553
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
25373
25554
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
25374
25555
|
}
|
|
25375
25556
|
prevMdAndUp.current = bp.mdAndUp;
|
|
25376
25557
|
}, [bp.mdAndUp]);
|
|
25377
|
-
const setNavState = (0,
|
|
25558
|
+
const setNavState = (0, import_react143.useCallback)((value2) => {
|
|
25378
25559
|
setNavStateInternal((prev) => {
|
|
25379
25560
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
25380
25561
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -25386,20 +25567,20 @@ function SideNavLayoutProvider(props) {
|
|
|
25386
25567
|
return next;
|
|
25387
25568
|
});
|
|
25388
25569
|
}, []);
|
|
25389
|
-
const value = (0,
|
|
25390
|
-
return /* @__PURE__ */ (0,
|
|
25570
|
+
const value = (0, import_react143.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
25571
|
+
return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
25391
25572
|
}
|
|
25392
25573
|
function useSideNavLayoutContext() {
|
|
25393
|
-
return (0,
|
|
25574
|
+
return (0, import_react143.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
25394
25575
|
} };
|
|
25395
25576
|
}
|
|
25396
25577
|
function useHasSideNavLayoutProvider() {
|
|
25397
|
-
return (0,
|
|
25578
|
+
return (0, import_react143.useContext)(SideNavLayoutContext) !== void 0;
|
|
25398
25579
|
}
|
|
25399
25580
|
|
|
25400
25581
|
// src/components/SideNav/SideNav.tsx
|
|
25401
|
-
var
|
|
25402
|
-
var
|
|
25582
|
+
var import_runtime124 = require("@homebound/truss/runtime");
|
|
25583
|
+
var import_jsx_runtime201 = require("react/jsx-runtime");
|
|
25403
25584
|
function SideNav(props) {
|
|
25404
25585
|
const {
|
|
25405
25586
|
top,
|
|
@@ -25412,8 +25593,8 @@ function SideNav(props) {
|
|
|
25412
25593
|
const tid = useTestIds(props, "sideNav");
|
|
25413
25594
|
const panelCollapsed = navState === "collapse";
|
|
25414
25595
|
const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
|
|
25415
|
-
return /* @__PURE__ */ (0,
|
|
25416
|
-
top !== void 0 && /* @__PURE__ */ (0,
|
|
25596
|
+
return /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)("nav", { className: "df fdc h100 fs0", ...tid, children: [
|
|
25597
|
+
top !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { ...(0, import_runtime124.trussProps)({
|
|
25417
25598
|
flexShrink: "fs0",
|
|
25418
25599
|
paddingLeft: "pl2",
|
|
25419
25600
|
paddingRight: "pr2",
|
|
@@ -25424,7 +25605,7 @@ function SideNav(props) {
|
|
|
25424
25605
|
paddingBottom: "pb4"
|
|
25425
25606
|
} : {}
|
|
25426
25607
|
}), ...tid.top, children: top }),
|
|
25427
|
-
/* @__PURE__ */ (0,
|
|
25608
|
+
/* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { ...(0, import_runtime124.trussProps)({
|
|
25428
25609
|
flexGrow: "fg1",
|
|
25429
25610
|
overflowY: "oya",
|
|
25430
25611
|
display: "df",
|
|
@@ -25436,8 +25617,8 @@ function SideNav(props) {
|
|
|
25436
25617
|
...top === void 0 ? {
|
|
25437
25618
|
paddingTop: "pt5"
|
|
25438
25619
|
} : {}
|
|
25439
|
-
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0,
|
|
25440
|
-
footer !== void 0 && /* @__PURE__ */ (0,
|
|
25620
|
+
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(AppNavItems, { items, panelCollapsed }) }),
|
|
25621
|
+
footer !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { ...(0, import_runtime124.trussProps)({
|
|
25441
25622
|
flexShrink: "fs0",
|
|
25442
25623
|
paddingLeft: "pl2",
|
|
25443
25624
|
paddingRight: "pr2",
|
|
@@ -25453,10 +25634,10 @@ function SideNav(props) {
|
|
|
25453
25634
|
}
|
|
25454
25635
|
|
|
25455
25636
|
// src/components/Snackbar/useSnackbar.tsx
|
|
25456
|
-
var
|
|
25637
|
+
var import_react144 = require("react");
|
|
25457
25638
|
function useSnackbar() {
|
|
25458
25639
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
25459
|
-
const onClose = (0,
|
|
25640
|
+
const onClose = (0, import_react144.useCallback)(
|
|
25460
25641
|
(noticeId) => {
|
|
25461
25642
|
setNotices((prev) => {
|
|
25462
25643
|
let returnValue = prev;
|
|
@@ -25473,7 +25654,7 @@ function useSnackbar() {
|
|
|
25473
25654
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25474
25655
|
[]
|
|
25475
25656
|
);
|
|
25476
|
-
const triggerNotice = (0,
|
|
25657
|
+
const triggerNotice = (0, import_react144.useCallback)(
|
|
25477
25658
|
(props) => {
|
|
25478
25659
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
25479
25660
|
let maybeTimeout;
|
|
@@ -25502,8 +25683,8 @@ function useSnackbar() {
|
|
|
25502
25683
|
},
|
|
25503
25684
|
[onClose, setNotices]
|
|
25504
25685
|
);
|
|
25505
|
-
const closeNotice = (0,
|
|
25506
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
25686
|
+
const closeNotice = (0, import_react144.useCallback)((id) => onClose(id), [onClose]);
|
|
25687
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react144.useEffect)(() => {
|
|
25507
25688
|
setOffset({ bottom });
|
|
25508
25689
|
return () => setOffset({});
|
|
25509
25690
|
}, [bottom]);
|
|
@@ -25512,12 +25693,12 @@ function useSnackbar() {
|
|
|
25512
25693
|
var snackbarId = 1;
|
|
25513
25694
|
|
|
25514
25695
|
// src/components/Stepper.tsx
|
|
25515
|
-
var
|
|
25516
|
-
var
|
|
25517
|
-
var
|
|
25518
|
-
var
|
|
25519
|
-
var
|
|
25520
|
-
var
|
|
25696
|
+
var import_react145 = require("react");
|
|
25697
|
+
var import_react_aria63 = require("react-aria");
|
|
25698
|
+
var import_runtime125 = require("@homebound/truss/runtime");
|
|
25699
|
+
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
25700
|
+
var import_react146 = require("react");
|
|
25701
|
+
var __maybeInc23 = (inc) => {
|
|
25521
25702
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
25522
25703
|
};
|
|
25523
25704
|
function Stepper(props) {
|
|
@@ -25534,8 +25715,8 @@ function Stepper(props) {
|
|
|
25534
25715
|
const maxStepWidth = 200;
|
|
25535
25716
|
const minStepWidth = 100;
|
|
25536
25717
|
const gap = 8;
|
|
25537
|
-
return /* @__PURE__ */ (0,
|
|
25538
|
-
/* @__PURE__ */ (0,
|
|
25718
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
|
|
25719
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("ol", { ...(0, import_runtime125.trussProps)({
|
|
25539
25720
|
padding: "p_0",
|
|
25540
25721
|
margin: "m_0",
|
|
25541
25722
|
listStyle: "lis_none",
|
|
@@ -25545,7 +25726,7 @@ function Stepper(props) {
|
|
|
25545
25726
|
}]
|
|
25546
25727
|
}), children: steps.map((step) => {
|
|
25547
25728
|
const isCurrent = currentStep === step.value;
|
|
25548
|
-
return /* @__PURE__ */ (0,
|
|
25729
|
+
return /* @__PURE__ */ (0, import_react146.createElement)("li", { ...(0, import_runtime125.trussProps)({
|
|
25549
25730
|
display: "df",
|
|
25550
25731
|
flexGrow: "fg1",
|
|
25551
25732
|
flexDirection: "fdc",
|
|
@@ -25555,9 +25736,9 @@ function Stepper(props) {
|
|
|
25555
25736
|
minWidth: ["mw_var", {
|
|
25556
25737
|
"--minWidth": `${minStepWidth}px`
|
|
25557
25738
|
}]
|
|
25558
|
-
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0,
|
|
25739
|
+
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
|
|
25559
25740
|
}) }),
|
|
25560
|
-
/* @__PURE__ */ (0,
|
|
25741
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime125.trussProps)({
|
|
25561
25742
|
marginTop: "mt1",
|
|
25562
25743
|
backgroundColor: ["bgColor_var", {
|
|
25563
25744
|
"--backgroundColor": "var(--b-field-border-default)"
|
|
@@ -25570,14 +25751,14 @@ function Stepper(props) {
|
|
|
25570
25751
|
"--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
|
|
25571
25752
|
}],
|
|
25572
25753
|
width: "w100"
|
|
25573
|
-
}), children: /* @__PURE__ */ (0,
|
|
25754
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime125.trussProps)({
|
|
25574
25755
|
backgroundColor: ["bgColor_var", {
|
|
25575
25756
|
"--backgroundColor": "var(--b-primary)"
|
|
25576
25757
|
}],
|
|
25577
25758
|
transition: "transition_width_200ms",
|
|
25578
25759
|
height: "h100",
|
|
25579
25760
|
width: ["w_var", {
|
|
25580
|
-
"--width": (0,
|
|
25761
|
+
"--width": (0, import_runtime125.maybeCssVar)(__maybeInc23(`${(lastCompletedStep + 1) / steps.length * 100}%`))
|
|
25581
25762
|
}]
|
|
25582
25763
|
}) }) })
|
|
25583
25764
|
] });
|
|
@@ -25594,26 +25775,26 @@ function StepButton(props) {
|
|
|
25594
25775
|
onPress: onClick,
|
|
25595
25776
|
isDisabled: disabled
|
|
25596
25777
|
};
|
|
25597
|
-
const ref = (0,
|
|
25778
|
+
const ref = (0, import_react145.useRef)(null);
|
|
25598
25779
|
const {
|
|
25599
25780
|
buttonProps,
|
|
25600
25781
|
isPressed
|
|
25601
|
-
} = (0,
|
|
25782
|
+
} = (0, import_react_aria63.useButton)(ariaProps, ref);
|
|
25602
25783
|
const {
|
|
25603
25784
|
isFocusVisible,
|
|
25604
25785
|
focusProps
|
|
25605
|
-
} = (0,
|
|
25786
|
+
} = (0, import_react_aria63.useFocusRing)();
|
|
25606
25787
|
const {
|
|
25607
25788
|
hoverProps,
|
|
25608
25789
|
isHovered
|
|
25609
|
-
} = (0,
|
|
25790
|
+
} = (0, import_react_aria63.useHover)(ariaProps);
|
|
25610
25791
|
const focusRingStyles2 = state === "error" ? {
|
|
25611
25792
|
boxShadow: "bshDanger"
|
|
25612
25793
|
} : {
|
|
25613
25794
|
boxShadow: "bshFocus"
|
|
25614
25795
|
};
|
|
25615
25796
|
const tid = useTestIds(props, "stepButton");
|
|
25616
|
-
return /* @__PURE__ */ (0,
|
|
25797
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime125.trussProps)({
|
|
25617
25798
|
...{
|
|
25618
25799
|
fontWeight: "fw6",
|
|
25619
25800
|
fontSize: "fz_14px",
|
|
@@ -25674,7 +25855,7 @@ function StepButton(props) {
|
|
|
25674
25855
|
} : {},
|
|
25675
25856
|
...isFocusVisible ? focusRingStyles2 : {}
|
|
25676
25857
|
}), ...tid[defaultTestId(label)], children: [
|
|
25677
|
-
/* @__PURE__ */ (0,
|
|
25858
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("span", { className: "fs0 mr_4px", children: /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
25678
25859
|
label
|
|
25679
25860
|
] });
|
|
25680
25861
|
}
|
|
@@ -25685,12 +25866,12 @@ function StepIcon({
|
|
|
25685
25866
|
isCurrent = false
|
|
25686
25867
|
}) {
|
|
25687
25868
|
if (state === "error") {
|
|
25688
|
-
return /* @__PURE__ */ (0,
|
|
25869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(Icon, { icon: "errorCircle" });
|
|
25689
25870
|
}
|
|
25690
25871
|
if (state === "complete") {
|
|
25691
|
-
return /* @__PURE__ */ (0,
|
|
25872
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsx)(Icon, { icon: "check" });
|
|
25692
25873
|
}
|
|
25693
|
-
return /* @__PURE__ */ (0,
|
|
25874
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime125.trussProps)({
|
|
25694
25875
|
width: "w_10px",
|
|
25695
25876
|
height: "h_10px",
|
|
25696
25877
|
borderStyle: "bss",
|
|
@@ -25704,10 +25885,10 @@ function StepIcon({
|
|
|
25704
25885
|
}
|
|
25705
25886
|
|
|
25706
25887
|
// src/components/StepperTabs/StepperTab.tsx
|
|
25707
|
-
var
|
|
25708
|
-
var
|
|
25709
|
-
var
|
|
25710
|
-
var
|
|
25888
|
+
var import_react147 = require("react");
|
|
25889
|
+
var import_react_aria64 = require("react-aria");
|
|
25890
|
+
var import_runtime126 = require("@homebound/truss/runtime");
|
|
25891
|
+
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
25711
25892
|
function StepperTab(props) {
|
|
25712
25893
|
const {
|
|
25713
25894
|
label,
|
|
@@ -25723,22 +25904,22 @@ function StepperTab(props) {
|
|
|
25723
25904
|
onPress: () => onClick(value),
|
|
25724
25905
|
isDisabled: disabled || collapsed
|
|
25725
25906
|
};
|
|
25726
|
-
const ref = (0,
|
|
25907
|
+
const ref = (0, import_react147.useRef)(null);
|
|
25727
25908
|
const {
|
|
25728
25909
|
buttonProps
|
|
25729
|
-
} = (0,
|
|
25910
|
+
} = (0, import_react_aria64.useButton)(ariaProps, ref);
|
|
25730
25911
|
const {
|
|
25731
25912
|
isFocusVisible: isFocusVisibleFromEvents,
|
|
25732
25913
|
focusProps
|
|
25733
|
-
} = (0,
|
|
25914
|
+
} = (0, import_react_aria64.useFocusRing)();
|
|
25734
25915
|
const {
|
|
25735
25916
|
hoverProps,
|
|
25736
25917
|
isHovered: isHoveredFromEvents
|
|
25737
|
-
} = (0,
|
|
25918
|
+
} = (0, import_react_aria64.useHover)(ariaProps);
|
|
25738
25919
|
const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
|
|
25739
25920
|
const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
|
|
25740
25921
|
const tid = useTestIds(props, "stepperTab");
|
|
25741
|
-
return /* @__PURE__ */ (0,
|
|
25922
|
+
return /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("button", { ref, ...(0, import_react_aria64.mergeProps)(buttonProps, focusProps, hoverProps), "aria-label": label, ...(0, import_runtime126.trussProps)({
|
|
25742
25923
|
...stepperTabStyles.baseStyles,
|
|
25743
25924
|
...getStateStyles(active, completed),
|
|
25744
25925
|
...isHovered && !disabled ? stepperTabStyles.hoverStyles : {},
|
|
@@ -25746,10 +25927,10 @@ function StepperTab(props) {
|
|
|
25746
25927
|
...disabled ? stepperTabStyles.disabledStyles : {},
|
|
25747
25928
|
...isFocusVisible ? stepperTabStyles.focusRingStyles : {}
|
|
25748
25929
|
}), ...tid[defaultTestId(value)], children: [
|
|
25749
|
-
!collapsed && /* @__PURE__ */ (0,
|
|
25750
|
-
/* @__PURE__ */ (0,
|
|
25751
|
-
/* @__PURE__ */ (0,
|
|
25752
|
-
/* @__PURE__ */ (0,
|
|
25930
|
+
!collapsed && /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)(import_jsx_runtime203.Fragment, { children: [
|
|
25931
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("span", { className: "dg jic mw0", children: [
|
|
25932
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)("span", { className: "fw6 fz_14px lh_20px visibility_hidden gridArea_1_1 oh d_negwebkit_box wbo_vertical to_ellipsis wlc_1 wordBreak_break_all", "aria-hidden": true, children: label }),
|
|
25933
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)("span", { ...(0, import_runtime126.trussProps)({
|
|
25753
25934
|
gridArea: "gridArea_1_1",
|
|
25754
25935
|
overflow: "oh",
|
|
25755
25936
|
display: "d_negwebkit_box",
|
|
@@ -25764,7 +25945,7 @@ function StepperTab(props) {
|
|
|
25764
25945
|
} : {}
|
|
25765
25946
|
}), children: label })
|
|
25766
25947
|
] }),
|
|
25767
|
-
/* @__PURE__ */ (0,
|
|
25948
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)("span", { ...(0, import_runtime126.trussProps)({
|
|
25768
25949
|
flexShrink: "fs0",
|
|
25769
25950
|
marginLeft: "ml1",
|
|
25770
25951
|
transition: "transitionAll",
|
|
@@ -25774,10 +25955,10 @@ function StepperTab(props) {
|
|
|
25774
25955
|
opacity: "o100",
|
|
25775
25956
|
transform: "transform_scale_1_translateY_0"
|
|
25776
25957
|
} : {}
|
|
25777
|
-
}), children: /* @__PURE__ */ (0,
|
|
25958
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(Icon, { icon: "check", inc: 2.5, ...tid.check }) })
|
|
25778
25959
|
] }),
|
|
25779
|
-
/* @__PURE__ */ (0,
|
|
25780
|
-
/* @__PURE__ */ (0,
|
|
25960
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)("span", { "aria-hidden": true, ...(0, import_runtime126.trussProps)(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
|
|
25961
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_react_aria64.VisuallyHidden, { children: completed ? "Complete" : "Not Complete" })
|
|
25781
25962
|
] });
|
|
25782
25963
|
}
|
|
25783
25964
|
function getStateStyles(active, completed) {
|
|
@@ -25858,9 +26039,9 @@ var stepperTabStyles = {
|
|
|
25858
26039
|
};
|
|
25859
26040
|
|
|
25860
26041
|
// src/components/StepperTabs/StepperTabs.tsx
|
|
25861
|
-
var
|
|
25862
|
-
var
|
|
25863
|
-
var
|
|
26042
|
+
var import_runtime127 = require("@homebound/truss/runtime");
|
|
26043
|
+
var import_jsx_runtime204 = require("react/jsx-runtime");
|
|
26044
|
+
var import_react148 = require("react");
|
|
25864
26045
|
function StepperTabs(props) {
|
|
25865
26046
|
const {
|
|
25866
26047
|
steps,
|
|
@@ -25875,7 +26056,7 @@ function StepperTabs(props) {
|
|
|
25875
26056
|
const collapsed = isMobile || !!forceCollapsed;
|
|
25876
26057
|
const capWidth = steps.length <= 3;
|
|
25877
26058
|
const currentStepIndex = Math.max(0, steps.findIndex((step) => step.value === currentStep));
|
|
25878
|
-
return /* @__PURE__ */ (0,
|
|
26059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime204.jsx)("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)("ol", { ...(0, import_runtime127.trussProps)({
|
|
25879
26060
|
padding: "p_0",
|
|
25880
26061
|
margin: "m_0",
|
|
25881
26062
|
listStyle: "lis_none",
|
|
@@ -25890,7 +26071,7 @@ function StepperTabs(props) {
|
|
|
25890
26071
|
}), children: steps.map((step, idx) => {
|
|
25891
26072
|
const isCurrent = idx === currentStepIndex;
|
|
25892
26073
|
const isCompleted = idx < currentStepIndex;
|
|
25893
|
-
return /* @__PURE__ */ (0,
|
|
26074
|
+
return /* @__PURE__ */ (0, import_react148.createElement)("li", { ...(0, import_runtime127.trussProps)({
|
|
25894
26075
|
display: "df",
|
|
25895
26076
|
flexGrow: "fg1",
|
|
25896
26077
|
flexBasis: "fb_0",
|
|
@@ -25902,16 +26083,16 @@ function StepperTabs(props) {
|
|
|
25902
26083
|
"--maxWidth": `${maxStepWidthPx}px`
|
|
25903
26084
|
}]
|
|
25904
26085
|
} : {}
|
|
25905
|
-
}), key: step.value, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0,
|
|
26086
|
+
}), key: step.value, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(StepperTab, { label: step.label, value: step.value, active: isCurrent, completed: isCompleted, disabled: step.disabled, collapsed, onClick: onChange, ...tid.tab }));
|
|
25906
26087
|
}) }) });
|
|
25907
26088
|
}
|
|
25908
26089
|
var maxStepWidthPx = 280;
|
|
25909
26090
|
var gapPx = 6;
|
|
25910
26091
|
|
|
25911
26092
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
25912
|
-
var
|
|
25913
|
-
var
|
|
25914
|
-
var
|
|
26093
|
+
var import_react_dom8 = require("react-dom");
|
|
26094
|
+
var import_runtime128 = require("@homebound/truss/runtime");
|
|
26095
|
+
var import_jsx_runtime205 = require("react/jsx-runtime");
|
|
25915
26096
|
function SuperDrawerHeader(props) {
|
|
25916
26097
|
const {
|
|
25917
26098
|
hideControls
|
|
@@ -25928,20 +26109,20 @@ function SuperDrawerHeader(props) {
|
|
|
25928
26109
|
const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
|
|
25929
26110
|
const isDetail = currentContent !== firstContent;
|
|
25930
26111
|
const tid = useTestIds({}, "superDrawerHeader");
|
|
25931
|
-
return (0,
|
|
25932
|
-
isStructuredProps(props) ? /* @__PURE__ */ (0,
|
|
25933
|
-
/* @__PURE__ */ (0,
|
|
25934
|
-
/* @__PURE__ */ (0,
|
|
26112
|
+
return (0, import_react_dom8.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime205.jsxs)("div", { className: "df aic jcsb gap3", ...tid, children: [
|
|
26113
|
+
isStructuredProps(props) ? /* @__PURE__ */ (0, import_jsx_runtime205.jsxs)("div", { className: "df jcsb aic gap2 fg1", children: [
|
|
26114
|
+
/* @__PURE__ */ (0, import_jsx_runtime205.jsxs)("div", { className: "fg1 df aic gap2", children: [
|
|
26115
|
+
/* @__PURE__ */ (0, import_jsx_runtime205.jsx)("h1", { className: "fw6 fz_30px lh_36px", children: props.title }),
|
|
25935
26116
|
props.left
|
|
25936
26117
|
] }),
|
|
25937
|
-
props.right && /* @__PURE__ */ (0,
|
|
25938
|
-
] }) : /* @__PURE__ */ (0,
|
|
25939
|
-
!hideControls && /* @__PURE__ */ (0,
|
|
26118
|
+
props.right && /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { className: "fs0", children: props.right })
|
|
26119
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { className: "fg1", children: props.children }),
|
|
26120
|
+
!hideControls && /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { ...(0, import_runtime128.trussProps)({
|
|
25940
26121
|
flexShrink: "fs0",
|
|
25941
26122
|
...isDetail ? {
|
|
25942
26123
|
visibility: "vh"
|
|
25943
26124
|
} : {}
|
|
25944
|
-
}), children: /* @__PURE__ */ (0,
|
|
26125
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(ButtonGroup, { buttons: [{
|
|
25945
26126
|
icon: "chevronLeft",
|
|
25946
26127
|
onClick: () => onPrevClick && onPrevClick(),
|
|
25947
26128
|
disabled: !onPrevClick
|
|
@@ -25957,11 +26138,11 @@ function isStructuredProps(props) {
|
|
|
25957
26138
|
}
|
|
25958
26139
|
|
|
25959
26140
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
25960
|
-
var
|
|
26141
|
+
var import_framer_motion7 = require("framer-motion");
|
|
25961
26142
|
|
|
25962
26143
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
25963
|
-
var
|
|
25964
|
-
var
|
|
26144
|
+
var import_react149 = require("react");
|
|
26145
|
+
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
25965
26146
|
function useSuperDrawer() {
|
|
25966
26147
|
const {
|
|
25967
26148
|
drawerContentStack: contentStack,
|
|
@@ -25973,7 +26154,7 @@ function useSuperDrawer() {
|
|
|
25973
26154
|
function canCloseDrawerDetails(i, doChange) {
|
|
25974
26155
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
25975
26156
|
if (!canClose(canCloseDrawerDetail)) {
|
|
25976
|
-
openModal({ content: /* @__PURE__ */ (0,
|
|
26157
|
+
openModal({ content: /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
25977
26158
|
return false;
|
|
25978
26159
|
}
|
|
25979
26160
|
}
|
|
@@ -25993,14 +26174,14 @@ function useSuperDrawer() {
|
|
|
25993
26174
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
25994
26175
|
if (!canClose(canCloseDrawer)) {
|
|
25995
26176
|
openModal({
|
|
25996
|
-
content: /* @__PURE__ */ (0,
|
|
26177
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
25997
26178
|
});
|
|
25998
26179
|
return;
|
|
25999
26180
|
}
|
|
26000
26181
|
}
|
|
26001
26182
|
doChange();
|
|
26002
26183
|
}
|
|
26003
|
-
const closeActions = (0,
|
|
26184
|
+
const closeActions = (0, import_react149.useMemo)(
|
|
26004
26185
|
() => {
|
|
26005
26186
|
return {
|
|
26006
26187
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -26035,7 +26216,7 @@ function useSuperDrawer() {
|
|
|
26035
26216
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26036
26217
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
26037
26218
|
);
|
|
26038
|
-
const actions = (0,
|
|
26219
|
+
const actions = (0, import_react149.useMemo)(
|
|
26039
26220
|
() => {
|
|
26040
26221
|
return {
|
|
26041
26222
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -26088,8 +26269,8 @@ function canClose(canCloseCheck) {
|
|
|
26088
26269
|
}
|
|
26089
26270
|
|
|
26090
26271
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
26091
|
-
var
|
|
26092
|
-
var
|
|
26272
|
+
var import_runtime129 = require("@homebound/truss/runtime");
|
|
26273
|
+
var import_jsx_runtime207 = require("react/jsx-runtime");
|
|
26093
26274
|
var SuperDrawerContent = ({
|
|
26094
26275
|
children,
|
|
26095
26276
|
actions
|
|
@@ -26109,17 +26290,17 @@ var SuperDrawerContent = ({
|
|
|
26109
26290
|
} = firstContent ?? {};
|
|
26110
26291
|
function wrapWithMotionAndMaybeBack(children2) {
|
|
26111
26292
|
if (kind === "open") {
|
|
26112
|
-
return /* @__PURE__ */ (0,
|
|
26293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(import_framer_motion7.motion.div, { className: "pt3 pb3 pr3 pl3 fg1 oa", children: children2 }, "content");
|
|
26113
26294
|
} else if (kind === "detail") {
|
|
26114
|
-
return /* @__PURE__ */ (0,
|
|
26295
|
+
return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)(import_framer_motion7.motion.div, { className: "pl3 pr3 pt2 pb3 fg1", animate: {
|
|
26115
26296
|
overflow: "auto"
|
|
26116
26297
|
}, transition: {
|
|
26117
26298
|
overflow: {
|
|
26118
26299
|
delay: 0.3
|
|
26119
26300
|
}
|
|
26120
26301
|
}, children: [
|
|
26121
|
-
/* @__PURE__ */ (0,
|
|
26122
|
-
/* @__PURE__ */ (0,
|
|
26302
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsx)(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
26303
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsx)(import_framer_motion7.motion.div, { initial: {
|
|
26123
26304
|
x: width2,
|
|
26124
26305
|
opacity: 0
|
|
26125
26306
|
}, animate: {
|
|
@@ -26137,7 +26318,7 @@ var SuperDrawerContent = ({
|
|
|
26137
26318
|
}, className: "pt2", children: children2 })
|
|
26138
26319
|
] }, "content");
|
|
26139
26320
|
} else {
|
|
26140
|
-
return /* @__PURE__ */ (0,
|
|
26321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(import_framer_motion7.motion.div, { ...(0, import_runtime129.mergeProps)(void 0, {
|
|
26141
26322
|
overflow: "auto"
|
|
26142
26323
|
}, {
|
|
26143
26324
|
paddingTop: "pt3",
|
|
@@ -26148,9 +26329,9 @@ var SuperDrawerContent = ({
|
|
|
26148
26329
|
}) }, "content");
|
|
26149
26330
|
}
|
|
26150
26331
|
}
|
|
26151
|
-
return /* @__PURE__ */ (0,
|
|
26332
|
+
return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)(import_jsx_runtime207.Fragment, { children: [
|
|
26152
26333
|
wrapWithMotionAndMaybeBack(children),
|
|
26153
|
-
actions && /* @__PURE__ */ (0,
|
|
26334
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime207.jsx)("footer", { ...(0, import_runtime129.trussProps)({
|
|
26154
26335
|
borderTopStyle: "bts_solid",
|
|
26155
26336
|
borderTopWidth: "btw_1px",
|
|
26156
26337
|
borderColor: ["bc_var", {
|
|
@@ -26163,7 +26344,7 @@ var SuperDrawerContent = ({
|
|
|
26163
26344
|
display: "df",
|
|
26164
26345
|
alignItems: "aic",
|
|
26165
26346
|
justifyContent: "jcfe"
|
|
26166
|
-
}), children: /* @__PURE__ */ (0,
|
|
26347
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime207.jsx)("div", { className: "df gap1", children: actions.map((buttonProps, i) => /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(Button, { ...buttonProps }, i)) }) })
|
|
26167
26348
|
] });
|
|
26168
26349
|
};
|
|
26169
26350
|
|
|
@@ -26207,19 +26388,19 @@ function visit(rows, fn) {
|
|
|
26207
26388
|
|
|
26208
26389
|
// src/components/Tabs.tsx
|
|
26209
26390
|
var import_change_case9 = require("change-case");
|
|
26210
|
-
var
|
|
26211
|
-
var
|
|
26391
|
+
var import_react150 = require("react");
|
|
26392
|
+
var import_react_aria65 = require("react-aria");
|
|
26212
26393
|
var import_react_router = require("react-router");
|
|
26213
26394
|
var import_react_router_dom8 = require("react-router-dom");
|
|
26214
|
-
var
|
|
26215
|
-
var
|
|
26395
|
+
var import_runtime130 = require("@homebound/truss/runtime");
|
|
26396
|
+
var import_jsx_runtime208 = require("react/jsx-runtime");
|
|
26216
26397
|
function TabsWithContent(props) {
|
|
26217
26398
|
const styles = hideTabs(props) ? {} : {
|
|
26218
26399
|
paddingTop: "pt3"
|
|
26219
26400
|
};
|
|
26220
|
-
return /* @__PURE__ */ (0,
|
|
26221
|
-
/* @__PURE__ */ (0,
|
|
26222
|
-
/* @__PURE__ */ (0,
|
|
26401
|
+
return /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)(import_jsx_runtime208.Fragment, { children: [
|
|
26402
|
+
/* @__PURE__ */ (0, import_jsx_runtime208.jsx)(Tabs, { ...props }),
|
|
26403
|
+
/* @__PURE__ */ (0, import_jsx_runtime208.jsx)(TabContent, { ...props, contentXss: {
|
|
26223
26404
|
...styles,
|
|
26224
26405
|
...props.contentXss
|
|
26225
26406
|
} })
|
|
@@ -26244,7 +26425,7 @@ function TabContent(props) {
|
|
|
26244
26425
|
return (
|
|
26245
26426
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
26246
26427
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
26247
|
-
/* @__PURE__ */ (0,
|
|
26428
|
+
/* @__PURE__ */ (0, import_jsx_runtime208.jsx)(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...(0, import_runtime130.trussProps)(contentXss), children: selectedTab.render() }) })
|
|
26248
26429
|
);
|
|
26249
26430
|
}
|
|
26250
26431
|
function Tabs(props) {
|
|
@@ -26266,11 +26447,11 @@ function Tabs(props) {
|
|
|
26266
26447
|
const {
|
|
26267
26448
|
isFocusVisible,
|
|
26268
26449
|
focusProps
|
|
26269
|
-
} = (0,
|
|
26450
|
+
} = (0, import_react_aria65.useFocusRing)();
|
|
26270
26451
|
const tid = useTestIds(others, "tabs");
|
|
26271
|
-
const [active, setActive] = (0,
|
|
26272
|
-
const ref = (0,
|
|
26273
|
-
(0,
|
|
26452
|
+
const [active, setActive] = (0, import_react150.useState)(selected);
|
|
26453
|
+
const ref = (0, import_react150.useRef)(null);
|
|
26454
|
+
(0, import_react150.useEffect)(() => setActive(selected), [selected]);
|
|
26274
26455
|
function onKeyUp(e) {
|
|
26275
26456
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
26276
26457
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -26286,7 +26467,7 @@ function Tabs(props) {
|
|
|
26286
26467
|
setActive(selected);
|
|
26287
26468
|
}
|
|
26288
26469
|
}
|
|
26289
|
-
return /* @__PURE__ */ (0,
|
|
26470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)("div", { ...(0, import_runtime130.trussProps)({
|
|
26290
26471
|
...{
|
|
26291
26472
|
display: "df",
|
|
26292
26473
|
alignItems: "aic",
|
|
@@ -26304,11 +26485,11 @@ function Tabs(props) {
|
|
|
26304
26485
|
}
|
|
26305
26486
|
} : {}
|
|
26306
26487
|
}), children: [
|
|
26307
|
-
!hideTabs(props) && /* @__PURE__ */ (0,
|
|
26488
|
+
!hideTabs(props) && /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
26308
26489
|
const uniqueValue = uniqueTabValue(tab);
|
|
26309
|
-
return /* @__PURE__ */ (0,
|
|
26490
|
+
return /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
|
|
26310
26491
|
}) }),
|
|
26311
|
-
right && /* @__PURE__ */ (0,
|
|
26492
|
+
right && /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("div", { className: "mla df aic gap1 pb1", children: right })
|
|
26312
26493
|
] });
|
|
26313
26494
|
}
|
|
26314
26495
|
function TabImpl(props) {
|
|
@@ -26332,7 +26513,7 @@ function TabImpl(props) {
|
|
|
26332
26513
|
const {
|
|
26333
26514
|
hoverProps,
|
|
26334
26515
|
isHovered
|
|
26335
|
-
} = (0,
|
|
26516
|
+
} = (0, import_react_aria65.useHover)({
|
|
26336
26517
|
isDisabled
|
|
26337
26518
|
});
|
|
26338
26519
|
const {
|
|
@@ -26342,7 +26523,7 @@ function TabImpl(props) {
|
|
|
26342
26523
|
hoverStyles: hoverStyles4,
|
|
26343
26524
|
disabledStyles: disabledStyles3,
|
|
26344
26525
|
activeHoverStyles
|
|
26345
|
-
} = (0,
|
|
26526
|
+
} = (0, import_react150.useMemo)(() => getTabStyles(), []);
|
|
26346
26527
|
const uniqueValue = uniqueTabValue(tab);
|
|
26347
26528
|
const tabProps = {
|
|
26348
26529
|
"aria-controls": `${uniqueValue}-tabPanel`,
|
|
@@ -26352,7 +26533,7 @@ function TabImpl(props) {
|
|
|
26352
26533
|
role: "tab",
|
|
26353
26534
|
tabIndex: active ? 0 : -1,
|
|
26354
26535
|
...others,
|
|
26355
|
-
...(0,
|
|
26536
|
+
...(0, import_runtime130.trussProps)({
|
|
26356
26537
|
...baseStyles4,
|
|
26357
26538
|
...active && activeStyles3,
|
|
26358
26539
|
...isDisabled && disabledStyles3,
|
|
@@ -26361,24 +26542,24 @@ function TabImpl(props) {
|
|
|
26361
26542
|
...isFocusVisible && active && focusRingStyles2
|
|
26362
26543
|
})
|
|
26363
26544
|
};
|
|
26364
|
-
const interactiveProps = (0,
|
|
26545
|
+
const interactiveProps = (0, import_react_aria65.mergeProps)(focusProps, hoverProps, {
|
|
26365
26546
|
onKeyUp,
|
|
26366
26547
|
onBlur,
|
|
26367
26548
|
...isRouteTab(tab) ? {} : {
|
|
26368
26549
|
onClick: () => onClick(tab.value)
|
|
26369
26550
|
}
|
|
26370
26551
|
});
|
|
26371
|
-
const tabLabel = /* @__PURE__ */ (0,
|
|
26552
|
+
const tabLabel = /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)(import_jsx_runtime208.Fragment, { children: [
|
|
26372
26553
|
label,
|
|
26373
|
-
(icon || endAdornment) && /* @__PURE__ */ (0,
|
|
26554
|
+
(icon || endAdornment) && /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("span", { className: "ml1", children: icon ? /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(Icon, { icon }) : endAdornment })
|
|
26374
26555
|
] });
|
|
26375
26556
|
return isDisabled ? maybeTooltip({
|
|
26376
26557
|
title: resolveTooltip(disabled),
|
|
26377
26558
|
placement: "top",
|
|
26378
|
-
children: /* @__PURE__ */ (0,
|
|
26379
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */ (0,
|
|
26559
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("div", { ...tabProps, children: tabLabel })
|
|
26560
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(import_react_router_dom8.Link, { ...(0, import_react_aria65.mergeProps)(tabProps, interactiveProps, {
|
|
26380
26561
|
className: "navLink"
|
|
26381
|
-
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0,
|
|
26562
|
+
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("button", { ...{
|
|
26382
26563
|
...tabProps,
|
|
26383
26564
|
...interactiveProps
|
|
26384
26565
|
}, children: tabLabel });
|
|
@@ -26389,7 +26570,7 @@ function getTabStyles() {
|
|
|
26389
26570
|
const borderBottomStyles = {
|
|
26390
26571
|
borderBottomStyle: "bbs_solid",
|
|
26391
26572
|
borderBottomWidth: ["borderBottomWidth_var", {
|
|
26392
|
-
"--borderBottomWidth": (0,
|
|
26573
|
+
"--borderBottomWidth": (0, import_runtime130.maybeCssVar)(`${borderBottomWidthPx}px`)
|
|
26393
26574
|
}],
|
|
26394
26575
|
paddingBottom: ["pb_var", {
|
|
26395
26576
|
"--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
|
|
@@ -26486,7 +26667,7 @@ function hideTabs(props) {
|
|
|
26486
26667
|
}
|
|
26487
26668
|
|
|
26488
26669
|
// src/components/TagGroup.tsx
|
|
26489
|
-
var
|
|
26670
|
+
var import_jsx_runtime209 = require("react/jsx-runtime");
|
|
26490
26671
|
function TagGroup(props) {
|
|
26491
26672
|
const {
|
|
26492
26673
|
tags,
|
|
@@ -26494,30 +26675,30 @@ function TagGroup(props) {
|
|
|
26494
26675
|
...otherProps
|
|
26495
26676
|
} = props;
|
|
26496
26677
|
const tid = useTestIds(otherProps, "tagGroup");
|
|
26497
|
-
return /* @__PURE__ */ (0,
|
|
26498
|
-
tags.map((tag) => /* @__PURE__ */ (0,
|
|
26499
|
-
onEdit && /* @__PURE__ */ (0,
|
|
26678
|
+
return /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("div", { ...tid, className: "df aic fww gap1", children: [
|
|
26679
|
+
tags.map((tag) => /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(Tag, { ...tag, variant: "secondary" }, tag.text)),
|
|
26680
|
+
onEdit && /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("span", { className: "ml1 fw4 fz_14px lh_20px", children: /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(Button, { label: "Edit", variant: "text", onClick: onEdit, ...tid.edit }) })
|
|
26500
26681
|
] });
|
|
26501
26682
|
}
|
|
26502
26683
|
|
|
26503
26684
|
// src/components/Toast/useToast.tsx
|
|
26504
|
-
var
|
|
26685
|
+
var import_react151 = require("react");
|
|
26505
26686
|
function useToast() {
|
|
26506
26687
|
const { setNotice, clear } = useToastContext();
|
|
26507
|
-
const showToast = (0,
|
|
26688
|
+
const showToast = (0, import_react151.useCallback)((props) => setNotice(props), [setNotice]);
|
|
26508
26689
|
return { showToast, clear };
|
|
26509
26690
|
}
|
|
26510
26691
|
|
|
26511
26692
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
26512
|
-
var
|
|
26513
|
-
var
|
|
26514
|
-
var
|
|
26693
|
+
var import_runtime131 = require("@homebound/truss/runtime");
|
|
26694
|
+
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
26695
|
+
var __maybeInc24 = (inc) => {
|
|
26515
26696
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26516
26697
|
};
|
|
26517
26698
|
function SideNavLayout(props) {
|
|
26518
26699
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
26519
|
-
if (hasProvider) return /* @__PURE__ */ (0,
|
|
26520
|
-
return /* @__PURE__ */ (0,
|
|
26700
|
+
if (hasProvider) return /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(SideNavLayoutContent, { ...props });
|
|
26701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(SideNavLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(SideNavLayoutContent, { ...props }) });
|
|
26521
26702
|
}
|
|
26522
26703
|
function SideNavLayoutContent(props) {
|
|
26523
26704
|
const {
|
|
@@ -26539,7 +26720,7 @@ function SideNavLayoutContent(props) {
|
|
|
26539
26720
|
const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
|
|
26540
26721
|
const navTop = bannerAndNavbarChromeTop();
|
|
26541
26722
|
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
26542
|
-
const rail = showRail && /* @__PURE__ */ (0,
|
|
26723
|
+
const rail = showRail && /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...(0, import_runtime131.trussProps)({
|
|
26543
26724
|
...{
|
|
26544
26725
|
display: "df",
|
|
26545
26726
|
flexDirection: "fdc",
|
|
@@ -26563,14 +26744,14 @@ function SideNavLayoutContent(props) {
|
|
|
26563
26744
|
position: "sticky",
|
|
26564
26745
|
left: "left0",
|
|
26565
26746
|
zIndex: ["z_var", {
|
|
26566
|
-
"--zIndex": (0,
|
|
26747
|
+
"--zIndex": (0, import_runtime131.maybeCssVar)(zIndices.sideNav)
|
|
26567
26748
|
}],
|
|
26568
26749
|
top: ["top_var", {
|
|
26569
|
-
"--top": (0,
|
|
26750
|
+
"--top": (0, import_runtime131.maybeCssVar)(__maybeInc24(navTop))
|
|
26570
26751
|
}],
|
|
26571
26752
|
alignSelf: "asfs",
|
|
26572
26753
|
height: ["h_var", {
|
|
26573
|
-
"--height": (0,
|
|
26754
|
+
"--height": (0, import_runtime131.maybeCssVar)(__maybeInc24(railViewportHeight))
|
|
26574
26755
|
}],
|
|
26575
26756
|
width: ["w_var", {
|
|
26576
26757
|
"--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
|
|
@@ -26580,11 +26761,11 @@ function SideNavLayoutContent(props) {
|
|
|
26580
26761
|
position: "fixed",
|
|
26581
26762
|
left: "left0",
|
|
26582
26763
|
top: ["top_var", {
|
|
26583
|
-
"--top": (0,
|
|
26764
|
+
"--top": (0, import_runtime131.maybeCssVar)(__maybeInc24(navTop))
|
|
26584
26765
|
}],
|
|
26585
26766
|
bottom: "bottom0",
|
|
26586
26767
|
zIndex: ["z_var", {
|
|
26587
|
-
"--zIndex": (0,
|
|
26768
|
+
"--zIndex": (0, import_runtime131.maybeCssVar)(zIndices.sideNav)
|
|
26588
26769
|
}]
|
|
26589
26770
|
},
|
|
26590
26771
|
...collapsed ? {
|
|
@@ -26596,18 +26777,18 @@ function SideNavLayoutContent(props) {
|
|
|
26596
26777
|
}
|
|
26597
26778
|
}
|
|
26598
26779
|
}), ...tid.sideNav, children: [
|
|
26599
|
-
showCollapseToggle && /* @__PURE__ */ (0,
|
|
26600
|
-
/* @__PURE__ */ (0,
|
|
26780
|
+
showCollapseToggle && /* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { className: "absolute right2 top2 z2", children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
26781
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(SideNav, { ...sideNav }) })
|
|
26601
26782
|
] });
|
|
26602
|
-
return /* @__PURE__ */ (0,
|
|
26783
|
+
return /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...(0, import_runtime131.mergeProps)(void 0, {
|
|
26603
26784
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
26604
26785
|
}, {
|
|
26605
26786
|
display: "df",
|
|
26606
26787
|
flexDirection: "fdr",
|
|
26607
26788
|
width: "w100"
|
|
26608
26789
|
}), ...tid, children: [
|
|
26609
|
-
contrastRail ? /* @__PURE__ */ (0,
|
|
26610
|
-
/* @__PURE__ */ (0,
|
|
26790
|
+
contrastRail ? /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(ContrastScope, { children: rail }) : rail,
|
|
26791
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { ...(0, import_runtime131.trussProps)({
|
|
26611
26792
|
display: "df",
|
|
26612
26793
|
flexDirection: "fdc",
|
|
26613
26794
|
flexGrow: "fg1",
|
|
@@ -26623,9 +26804,9 @@ function SideNavLayoutContent(props) {
|
|
|
26623
26804
|
}
|
|
26624
26805
|
|
|
26625
26806
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
|
|
26626
|
-
var
|
|
26627
|
-
var
|
|
26628
|
-
var
|
|
26807
|
+
var import_runtime132 = require("@homebound/truss/runtime");
|
|
26808
|
+
var import_jsx_runtime211 = require("react/jsx-runtime");
|
|
26809
|
+
var __maybeInc25 = (inc) => {
|
|
26629
26810
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26630
26811
|
};
|
|
26631
26812
|
function EnvironmentBannerLayout(props) {
|
|
@@ -26640,35 +26821,35 @@ function EnvironmentBannerLayout(props) {
|
|
|
26640
26821
|
[beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
|
|
26641
26822
|
};
|
|
26642
26823
|
const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
|
|
26643
|
-
return /* @__PURE__ */ (0,
|
|
26824
|
+
return /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)("div", { ...(0, import_runtime132.mergeProps)(void 0, style, {
|
|
26644
26825
|
display: "df",
|
|
26645
26826
|
flexDirection: "fdc",
|
|
26646
26827
|
width: "wfc",
|
|
26647
26828
|
minWidth: "mw100"
|
|
26648
26829
|
}), ...tid, children: [
|
|
26649
|
-
showBanner && environmentBanner && /* @__PURE__ */ (0,
|
|
26830
|
+
showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.mergeProps)(void 0, {
|
|
26650
26831
|
height: environmentBannerSizePx
|
|
26651
26832
|
}, {
|
|
26652
26833
|
flexShrink: "fs0",
|
|
26653
26834
|
width: "w100"
|
|
26654
|
-
}), children: /* @__PURE__ */ (0,
|
|
26835
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
|
|
26655
26836
|
position: "fixed",
|
|
26656
26837
|
top: "top0",
|
|
26657
26838
|
left: "left0",
|
|
26658
26839
|
zIndex: ["z_var", {
|
|
26659
|
-
"--zIndex": (0,
|
|
26840
|
+
"--zIndex": (0, import_runtime132.maybeCssVar)(zIndices.environmentBanner)
|
|
26660
26841
|
}],
|
|
26661
26842
|
width: ["w_var", {
|
|
26662
|
-
"--width": (0,
|
|
26843
|
+
"--width": (0, import_runtime132.maybeCssVar)(__maybeInc25(innerWidth))
|
|
26663
26844
|
}]
|
|
26664
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0,
|
|
26845
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
|
|
26665
26846
|
children
|
|
26666
26847
|
] }) }) });
|
|
26667
26848
|
}
|
|
26668
26849
|
|
|
26669
26850
|
// src/layouts/FormSectionLayout/FormSectionLayout.tsx
|
|
26670
|
-
var
|
|
26671
|
-
var
|
|
26851
|
+
var import_runtime133 = require("@homebound/truss/runtime");
|
|
26852
|
+
var import_jsx_runtime212 = require("react/jsx-runtime");
|
|
26672
26853
|
function FormSectionLayout(props) {
|
|
26673
26854
|
const {
|
|
26674
26855
|
title,
|
|
@@ -26678,14 +26859,14 @@ function FormSectionLayout(props) {
|
|
|
26678
26859
|
sections
|
|
26679
26860
|
} = props;
|
|
26680
26861
|
const tid = useTestIds(props, "formSectionLayout");
|
|
26681
|
-
return /* @__PURE__ */ (0,
|
|
26682
|
-
/* @__PURE__ */ (0,
|
|
26683
|
-
/* @__PURE__ */ (0,
|
|
26684
|
-
/* @__PURE__ */ (0,
|
|
26685
|
-
/* @__PURE__ */ (0,
|
|
26686
|
-
actions && /* @__PURE__ */ (0,
|
|
26862
|
+
return /* @__PURE__ */ (0, import_jsx_runtime212.jsxs)("div", { className: "df fdc gap8 w100 pt4 maxw_720px mla mra sm_pl2 sm_pr2", ...tid, children: [
|
|
26863
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsxs)("div", { className: "df fdc gap3", children: [
|
|
26864
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsxs)("div", { className: "df fdc jcsb gap_12px", children: [
|
|
26865
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsxs)("div", { className: "df jcsb aic", children: [
|
|
26866
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsx)("h1", { className: "fw6 fz_20px lh_28px", ...tid.title, children: title }),
|
|
26867
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime212.jsx)("div", { className: "df gap1 fs0", ...tid.actions, children: actions.map((action) => action.kind === "icon" ? /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(IconButton, { ...action, variant: "outline" }, action.icon) : /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(Button, { ...action }, `${action.label}`)) })
|
|
26687
26868
|
] }),
|
|
26688
|
-
description && /* @__PURE__ */ (0,
|
|
26869
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime212.jsx)("div", { ...(0, import_runtime133.trussProps)({
|
|
26689
26870
|
fontWeight: "fw4",
|
|
26690
26871
|
fontSize: "fz_14px",
|
|
26691
26872
|
lineHeight: "lh_20px",
|
|
@@ -26696,16 +26877,16 @@ function FormSectionLayout(props) {
|
|
|
26696
26877
|
] }),
|
|
26697
26878
|
initialFields
|
|
26698
26879
|
] }),
|
|
26699
|
-
sections && /* @__PURE__ */ (0,
|
|
26880
|
+
sections && /* @__PURE__ */ (0, import_jsx_runtime212.jsx)("div", { className: "df fdc gap8", children: sections.map((section, i) => /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(FormSection, { ...section }, defaultTestId(section.title) || i)) })
|
|
26700
26881
|
] });
|
|
26701
26882
|
}
|
|
26702
26883
|
|
|
26703
26884
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
26704
|
-
var
|
|
26705
|
-
var
|
|
26885
|
+
var import_react155 = require("react");
|
|
26886
|
+
var import_runtime134 = require("@homebound/truss/runtime");
|
|
26706
26887
|
|
|
26707
26888
|
// src/layouts/useAutoHideOnScroll.ts
|
|
26708
|
-
var
|
|
26889
|
+
var import_react152 = require("react");
|
|
26709
26890
|
var THRESHOLD = 80;
|
|
26710
26891
|
function getInitialAutoHideState() {
|
|
26711
26892
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -26715,15 +26896,15 @@ function getInitialAutoHideState() {
|
|
|
26715
26896
|
}
|
|
26716
26897
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
26717
26898
|
const initial = getInitialAutoHideState();
|
|
26718
|
-
const [state, setState] = (0,
|
|
26719
|
-
const stateRef = (0,
|
|
26720
|
-
const [atTop, setAtTop] = (0,
|
|
26721
|
-
const atTopRef = (0,
|
|
26722
|
-
const getTopOffsetRef = (0,
|
|
26899
|
+
const [state, setState] = (0, import_react152.useState)(initial.state);
|
|
26900
|
+
const stateRef = (0, import_react152.useRef)(initial.state);
|
|
26901
|
+
const [atTop, setAtTop] = (0, import_react152.useState)(initial.atTop);
|
|
26902
|
+
const atTopRef = (0, import_react152.useRef)(initial.atTop);
|
|
26903
|
+
const getTopOffsetRef = (0, import_react152.useRef)(getTopOffset);
|
|
26723
26904
|
getTopOffsetRef.current = getTopOffset;
|
|
26724
|
-
const lastScrollY = (0,
|
|
26725
|
-
const lastScrollHeight = (0,
|
|
26726
|
-
(0,
|
|
26905
|
+
const lastScrollY = (0, import_react152.useRef)(Number.POSITIVE_INFINITY);
|
|
26906
|
+
const lastScrollHeight = (0, import_react152.useRef)(0);
|
|
26907
|
+
(0, import_react152.useLayoutEffect)(() => {
|
|
26727
26908
|
if (!enabled) {
|
|
26728
26909
|
stateRef.current = "static";
|
|
26729
26910
|
atTopRef.current = true;
|
|
@@ -26795,36 +26976,36 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
26795
26976
|
}
|
|
26796
26977
|
|
|
26797
26978
|
// src/layouts/useMeasuredHeight.ts
|
|
26798
|
-
var
|
|
26799
|
-
var
|
|
26979
|
+
var import_utils178 = require("@react-aria/utils");
|
|
26980
|
+
var import_react153 = require("react");
|
|
26800
26981
|
function useMeasuredHeight(ref, enabled) {
|
|
26801
|
-
const [height, setHeight] = (0,
|
|
26802
|
-
const syncElementHeight = (0,
|
|
26982
|
+
const [height, setHeight] = (0, import_react153.useState)(0);
|
|
26983
|
+
const syncElementHeight = (0, import_react153.useCallback)(() => {
|
|
26803
26984
|
const el = ref.current;
|
|
26804
26985
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
26805
26986
|
setHeight((prev) => prev === next ? prev : next);
|
|
26806
26987
|
}, [ref]);
|
|
26807
|
-
(0,
|
|
26808
|
-
(0,
|
|
26988
|
+
(0, import_utils178.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
26989
|
+
(0, import_react153.useLayoutEffect)(() => {
|
|
26809
26990
|
syncElementHeight();
|
|
26810
26991
|
}, [enabled, syncElementHeight]);
|
|
26811
26992
|
return height;
|
|
26812
26993
|
}
|
|
26813
26994
|
|
|
26814
26995
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
26815
|
-
var
|
|
26816
|
-
var
|
|
26817
|
-
var NavbarLayoutHeightContext = (0,
|
|
26996
|
+
var import_react154 = require("react");
|
|
26997
|
+
var import_jsx_runtime213 = require("react/jsx-runtime");
|
|
26998
|
+
var NavbarLayoutHeightContext = (0, import_react154.createContext)(0);
|
|
26818
26999
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
26819
|
-
return /* @__PURE__ */ (0,
|
|
27000
|
+
return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
26820
27001
|
}
|
|
26821
27002
|
function useNavbarLayoutHeight() {
|
|
26822
|
-
return (0,
|
|
27003
|
+
return (0, import_react154.useContext)(NavbarLayoutHeightContext);
|
|
26823
27004
|
}
|
|
26824
27005
|
|
|
26825
27006
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
26826
|
-
var
|
|
26827
|
-
var
|
|
27007
|
+
var import_jsx_runtime214 = require("react/jsx-runtime");
|
|
27008
|
+
var __maybeInc26 = (inc) => {
|
|
26828
27009
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26829
27010
|
};
|
|
26830
27011
|
function NavbarLayout(props) {
|
|
@@ -26833,8 +27014,8 @@ function NavbarLayout(props) {
|
|
|
26833
27014
|
children
|
|
26834
27015
|
} = props;
|
|
26835
27016
|
const tid = useTestIds(props, "navbarLayout");
|
|
26836
|
-
const navMetricsRef = (0,
|
|
26837
|
-
const spacerRef = (0,
|
|
27017
|
+
const navMetricsRef = (0, import_react155.useRef)(null);
|
|
27018
|
+
const spacerRef = (0, import_react155.useRef)(null);
|
|
26838
27019
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
26839
27020
|
const {
|
|
26840
27021
|
state: autoHideState,
|
|
@@ -26852,10 +27033,10 @@ function NavbarLayout(props) {
|
|
|
26852
27033
|
position: "sticky",
|
|
26853
27034
|
left: "left0",
|
|
26854
27035
|
zIndex: ["z_var", {
|
|
26855
|
-
"--zIndex": (0,
|
|
27036
|
+
"--zIndex": (0, import_runtime134.maybeCssVar)(zIndices.navbar)
|
|
26856
27037
|
}],
|
|
26857
27038
|
width: ["w_var", {
|
|
26858
|
-
"--width": (0,
|
|
27039
|
+
"--width": (0, import_runtime134.maybeCssVar)(__maybeInc26(innerWidth))
|
|
26859
27040
|
}]
|
|
26860
27041
|
}
|
|
26861
27042
|
) : (
|
|
@@ -26864,10 +27045,10 @@ function NavbarLayout(props) {
|
|
|
26864
27045
|
position: "fixed",
|
|
26865
27046
|
left: "left0",
|
|
26866
27047
|
zIndex: ["z_var", {
|
|
26867
|
-
"--zIndex": (0,
|
|
27048
|
+
"--zIndex": (0, import_runtime134.maybeCssVar)(zIndices.navbar)
|
|
26868
27049
|
}],
|
|
26869
27050
|
width: ["w_var", {
|
|
26870
|
-
"--width": (0,
|
|
27051
|
+
"--width": (0, import_runtime134.maybeCssVar)(__maybeInc26(innerWidth))
|
|
26871
27052
|
}],
|
|
26872
27053
|
transition: "transitionTop"
|
|
26873
27054
|
}
|
|
@@ -26876,29 +27057,29 @@ function NavbarLayout(props) {
|
|
|
26876
27057
|
const innerStyle = autoHideState !== "static" ? {
|
|
26877
27058
|
top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
|
|
26878
27059
|
} : void 0;
|
|
26879
|
-
const navbarEl = (0,
|
|
26880
|
-
return /* @__PURE__ */ (0,
|
|
27060
|
+
const navbarEl = (0, import_react155.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
27061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime214.jsxs)("div", { ...(0, import_runtime134.mergeProps)(void 0, cssVars, {
|
|
26881
27062
|
display: "df",
|
|
26882
27063
|
flexDirection: "fdc",
|
|
26883
27064
|
width: "wfc",
|
|
26884
27065
|
minWidth: "mw100"
|
|
26885
27066
|
}), ...tid, children: [
|
|
26886
|
-
/* @__PURE__ */ (0,
|
|
27067
|
+
/* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ref: spacerRef, ...(0, import_runtime134.mergeProps)(void 0, {
|
|
26887
27068
|
height: navHeight
|
|
26888
27069
|
}, {
|
|
26889
27070
|
flexShrink: "fs0",
|
|
26890
27071
|
width: "w100"
|
|
26891
|
-
}), children: /* @__PURE__ */ (0,
|
|
26892
|
-
/* @__PURE__ */ (0,
|
|
27072
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime134.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
27073
|
+
/* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
26893
27074
|
] }) }) });
|
|
26894
27075
|
}
|
|
26895
27076
|
|
|
26896
27077
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
26897
|
-
var
|
|
27078
|
+
var import_react156 = require("react");
|
|
26898
27079
|
|
|
26899
27080
|
// src/components/Headers/BaseHeader.tsx
|
|
26900
|
-
var
|
|
26901
|
-
var
|
|
27081
|
+
var import_runtime135 = require("@homebound/truss/runtime");
|
|
27082
|
+
var import_jsx_runtime215 = require("react/jsx-runtime");
|
|
26902
27083
|
function BaseHeader(props) {
|
|
26903
27084
|
const {
|
|
26904
27085
|
title,
|
|
@@ -26910,7 +27091,7 @@ function BaseHeader(props) {
|
|
|
26910
27091
|
} = props;
|
|
26911
27092
|
const tid = useTestIds(otherProps, "header");
|
|
26912
27093
|
useDocumentTitle(title, documentTitleSuffix);
|
|
26913
|
-
return /* @__PURE__ */ (0,
|
|
27094
|
+
return /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)("header", { ...tid, ...(0, import_runtime135.trussProps)({
|
|
26914
27095
|
display: "df",
|
|
26915
27096
|
flexDirection: "fdc",
|
|
26916
27097
|
paddingTop: "pt3",
|
|
@@ -26924,7 +27105,7 @@ function BaseHeader(props) {
|
|
|
26924
27105
|
"--backgroundColor": "var(--b-surface)"
|
|
26925
27106
|
}]
|
|
26926
27107
|
}), children: [
|
|
26927
|
-
/* @__PURE__ */ (0,
|
|
27108
|
+
/* @__PURE__ */ (0, import_jsx_runtime215.jsxs)("div", { ...(0, import_runtime135.trussProps)({
|
|
26928
27109
|
...{
|
|
26929
27110
|
display: "df",
|
|
26930
27111
|
justifyContent: "jcsb",
|
|
@@ -26938,9 +27119,9 @@ function BaseHeader(props) {
|
|
|
26938
27119
|
} : {}
|
|
26939
27120
|
}
|
|
26940
27121
|
}), children: [
|
|
26941
|
-
/* @__PURE__ */ (0,
|
|
26942
|
-
breadcrumbs && /* @__PURE__ */ (0,
|
|
26943
|
-
/* @__PURE__ */ (0,
|
|
27122
|
+
/* @__PURE__ */ (0, import_jsx_runtime215.jsxs)("div", { className: "mw0", children: [
|
|
27123
|
+
breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(Breadcrumbs, { ...breadcrumbs }),
|
|
27124
|
+
/* @__PURE__ */ (0, import_jsx_runtime215.jsx)("h1", { ...tid.title, ...(0, import_runtime135.trussProps)({
|
|
26944
27125
|
fontWeight: "fw6",
|
|
26945
27126
|
fontSize: "fz_20px",
|
|
26946
27127
|
lineHeight: "lh_28px",
|
|
@@ -26949,22 +27130,22 @@ function BaseHeader(props) {
|
|
|
26949
27130
|
}]
|
|
26950
27131
|
}), children: title })
|
|
26951
27132
|
] }),
|
|
26952
|
-
/* @__PURE__ */ (0,
|
|
27133
|
+
/* @__PURE__ */ (0, import_jsx_runtime215.jsx)("div", { className: "fs0", children: rightSlot })
|
|
26953
27134
|
] }),
|
|
26954
27135
|
bottomSlot
|
|
26955
27136
|
] });
|
|
26956
27137
|
}
|
|
26957
27138
|
|
|
26958
27139
|
// src/components/Headers/PageHeader.tsx
|
|
26959
|
-
var
|
|
26960
|
-
var
|
|
27140
|
+
var import_runtime136 = require("@homebound/truss/runtime");
|
|
27141
|
+
var import_jsx_runtime216 = require("react/jsx-runtime");
|
|
26961
27142
|
function PageHeader2(props) {
|
|
26962
27143
|
const {
|
|
26963
27144
|
tabs,
|
|
26964
27145
|
...otherProps
|
|
26965
27146
|
} = props;
|
|
26966
27147
|
const tid = useTestIds(otherProps, "header");
|
|
26967
|
-
return /* @__PURE__ */ (0,
|
|
27148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime216.jsx)("div", { ...(0, import_runtime136.trussProps)(pageContentPaddingX), children: /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(Tabs, { ...tabs, ...tid.tabs }) }) });
|
|
26968
27149
|
}
|
|
26969
27150
|
|
|
26970
27151
|
// src/layouts/useBannerAndNavbarHeight.ts
|
|
@@ -26973,9 +27154,9 @@ function useBannerAndNavbarHeight() {
|
|
|
26973
27154
|
}
|
|
26974
27155
|
|
|
26975
27156
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
26976
|
-
var
|
|
26977
|
-
var
|
|
26978
|
-
var
|
|
27157
|
+
var import_runtime137 = require("@homebound/truss/runtime");
|
|
27158
|
+
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
27159
|
+
var __maybeInc27 = (inc) => {
|
|
26979
27160
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26980
27161
|
};
|
|
26981
27162
|
function PageHeaderLayout(props) {
|
|
@@ -26985,11 +27166,11 @@ function PageHeaderLayout(props) {
|
|
|
26985
27166
|
} = props;
|
|
26986
27167
|
const tid = useTestIds(props, "pageHeaderLayout");
|
|
26987
27168
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
26988
|
-
const bannerAndNavbarHeightRef = (0,
|
|
27169
|
+
const bannerAndNavbarHeightRef = (0, import_react156.useRef)(bannerAndNavbarHeight);
|
|
26989
27170
|
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
26990
|
-
const getBannerAndNavbarHeight = (0,
|
|
26991
|
-
const headerMetricsRef = (0,
|
|
26992
|
-
const spacerRef = (0,
|
|
27171
|
+
const getBannerAndNavbarHeight = (0, import_react156.useCallback)(() => bannerAndNavbarHeightRef.current, []);
|
|
27172
|
+
const headerMetricsRef = (0, import_react156.useRef)(null);
|
|
27173
|
+
const spacerRef = (0, import_react156.useRef)(null);
|
|
26993
27174
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
26994
27175
|
const {
|
|
26995
27176
|
state: autoHideState,
|
|
@@ -27005,71 +27186,71 @@ function PageHeaderLayout(props) {
|
|
|
27005
27186
|
const innerCss = autoHideState === "static" ? {
|
|
27006
27187
|
position: "sticky",
|
|
27007
27188
|
left: ["left_var", {
|
|
27008
|
-
"--left": (0,
|
|
27189
|
+
"--left": (0, import_runtime137.maybeCssVar)(__maybeInc27(headerLeft))
|
|
27009
27190
|
}],
|
|
27010
27191
|
width: ["w_var", {
|
|
27011
|
-
"--width": (0,
|
|
27192
|
+
"--width": (0, import_runtime137.maybeCssVar)(__maybeInc27(headerWidth))
|
|
27012
27193
|
}],
|
|
27013
27194
|
zIndex: ["z_var", {
|
|
27014
|
-
"--zIndex": (0,
|
|
27195
|
+
"--zIndex": (0, import_runtime137.maybeCssVar)(zIndices.pageStickyHeader)
|
|
27015
27196
|
}]
|
|
27016
27197
|
} : {
|
|
27017
27198
|
position: "fixed",
|
|
27018
27199
|
left: ["left_var", {
|
|
27019
|
-
"--left": (0,
|
|
27200
|
+
"--left": (0, import_runtime137.maybeCssVar)(__maybeInc27(headerLeft))
|
|
27020
27201
|
}],
|
|
27021
27202
|
width: ["w_var", {
|
|
27022
|
-
"--width": (0,
|
|
27203
|
+
"--width": (0, import_runtime137.maybeCssVar)(__maybeInc27(headerWidth))
|
|
27023
27204
|
}],
|
|
27024
27205
|
zIndex: ["z_var", {
|
|
27025
|
-
"--zIndex": (0,
|
|
27206
|
+
"--zIndex": (0, import_runtime137.maybeCssVar)(zIndices.pageStickyHeader)
|
|
27026
27207
|
}],
|
|
27027
27208
|
transition: "transitionTop"
|
|
27028
27209
|
};
|
|
27029
27210
|
const innerStyle = autoHideState !== "static" ? {
|
|
27030
27211
|
top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
|
|
27031
27212
|
} : void 0;
|
|
27032
|
-
const pageHeaderEl = (0,
|
|
27033
|
-
return /* @__PURE__ */ (0,
|
|
27213
|
+
const pageHeaderEl = (0, import_react156.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
27214
|
+
return /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)("div", { ...(0, import_runtime137.mergeProps)(void 0, cssVars, {
|
|
27034
27215
|
display: "df",
|
|
27035
27216
|
flexDirection: "fdc",
|
|
27036
27217
|
width: "w100"
|
|
27037
27218
|
}), ...tid, children: [
|
|
27038
|
-
/* @__PURE__ */ (0,
|
|
27219
|
+
/* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { ref: spacerRef, ...(0, import_runtime137.mergeProps)(void 0, {
|
|
27039
27220
|
height: headerHeight
|
|
27040
27221
|
}, {
|
|
27041
27222
|
flexShrink: "fs0",
|
|
27042
27223
|
width: "w100"
|
|
27043
|
-
}), children: /* @__PURE__ */ (0,
|
|
27044
|
-
/* @__PURE__ */ (0,
|
|
27224
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime137.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
27225
|
+
/* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
|
|
27045
27226
|
] }) });
|
|
27046
27227
|
}
|
|
27047
27228
|
|
|
27048
27229
|
// src/layouts/WorkflowLayout/WorkflowLayout.tsx
|
|
27049
|
-
var
|
|
27230
|
+
var import_react159 = require("react");
|
|
27050
27231
|
|
|
27051
27232
|
// src/components/Headers/WorkflowHeader.tsx
|
|
27052
|
-
var
|
|
27233
|
+
var import_jsx_runtime218 = require("react/jsx-runtime");
|
|
27053
27234
|
function WorkflowHeader(props) {
|
|
27054
27235
|
const { stepperTabs, ...otherProps } = props;
|
|
27055
27236
|
const tid = useTestIds(otherProps, "header");
|
|
27056
|
-
return /* @__PURE__ */ (0,
|
|
27237
|
+
return /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(BaseHeader, { ...otherProps, bottomSlot: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) });
|
|
27057
27238
|
}
|
|
27058
27239
|
|
|
27059
27240
|
// src/layouts/useScrollCollapse.ts
|
|
27060
|
-
var
|
|
27241
|
+
var import_react157 = require("react");
|
|
27061
27242
|
function useScrollCollapse(enabled, restingOffset) {
|
|
27062
|
-
const [collapsed, setCollapsed] = (0,
|
|
27063
|
-
const collapsedRef = (0,
|
|
27243
|
+
const [collapsed, setCollapsed] = (0, import_react157.useState)(() => typeof window !== "undefined" && window.scrollY > 0);
|
|
27244
|
+
const collapsedRef = (0, import_react157.useRef)(collapsed);
|
|
27064
27245
|
collapsedRef.current = collapsed;
|
|
27065
|
-
const restingOffsetRef = (0,
|
|
27246
|
+
const restingOffsetRef = (0, import_react157.useRef)(restingOffset);
|
|
27066
27247
|
restingOffsetRef.current = restingOffset;
|
|
27067
|
-
const lastScrollYRef = (0,
|
|
27068
|
-
const lastScrollHeightRef = (0,
|
|
27069
|
-
(0,
|
|
27248
|
+
const lastScrollYRef = (0, import_react157.useRef)(Number.POSITIVE_INFINITY);
|
|
27249
|
+
const lastScrollHeightRef = (0, import_react157.useRef)(0);
|
|
27250
|
+
(0, import_react157.useLayoutEffect)(() => {
|
|
27070
27251
|
lastScrollHeightRef.current = document.documentElement.scrollHeight;
|
|
27071
27252
|
}, [restingOffset]);
|
|
27072
|
-
(0,
|
|
27253
|
+
(0, import_react157.useLayoutEffect)(() => {
|
|
27073
27254
|
if (!enabled) return;
|
|
27074
27255
|
const commit = (next) => {
|
|
27075
27256
|
if (next !== collapsedRef.current) {
|
|
@@ -27108,15 +27289,15 @@ function useScrollCollapse(enabled, restingOffset) {
|
|
|
27108
27289
|
}
|
|
27109
27290
|
|
|
27110
27291
|
// src/layouts/WorkflowLayout/useUnsavedChangesGuard.tsx
|
|
27111
|
-
var
|
|
27292
|
+
var import_react158 = require("react");
|
|
27112
27293
|
var import_react_router_dom9 = require("react-router-dom");
|
|
27113
|
-
var
|
|
27294
|
+
var import_jsx_runtime219 = require("react/jsx-runtime");
|
|
27114
27295
|
function useUnsavedChangesGuard(options) {
|
|
27115
27296
|
const { isDirty, onCancel } = options;
|
|
27116
27297
|
const { openModal } = useModal();
|
|
27117
|
-
const isDirtyRef = (0,
|
|
27298
|
+
const isDirtyRef = (0, import_react158.useRef)(isDirty);
|
|
27118
27299
|
isDirtyRef.current = isDirty;
|
|
27119
|
-
(0,
|
|
27300
|
+
(0, import_react158.useEffect)(() => {
|
|
27120
27301
|
const onBeforeUnload = (e) => {
|
|
27121
27302
|
if (isDirtyRef.current?.()) {
|
|
27122
27303
|
e.preventDefault();
|
|
@@ -27133,7 +27314,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
27133
27314
|
}
|
|
27134
27315
|
openModal({
|
|
27135
27316
|
allowClosing: false,
|
|
27136
|
-
content: /* @__PURE__ */ (0,
|
|
27317
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
|
|
27137
27318
|
});
|
|
27138
27319
|
};
|
|
27139
27320
|
const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
|
|
@@ -27142,10 +27323,10 @@ function useUnsavedChangesGuard(options) {
|
|
|
27142
27323
|
function UnsavedChangesNavigationModal(props) {
|
|
27143
27324
|
const { proceed, cancelNavigation } = props;
|
|
27144
27325
|
const { openModal, closeModal } = useModal();
|
|
27145
|
-
(0,
|
|
27326
|
+
(0, import_react158.useEffect)(() => {
|
|
27146
27327
|
openModal({
|
|
27147
27328
|
allowClosing: false,
|
|
27148
|
-
content: /* @__PURE__ */ (0,
|
|
27329
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
27149
27330
|
});
|
|
27150
27331
|
return () => closeModal();
|
|
27151
27332
|
}, []);
|
|
@@ -27153,7 +27334,7 @@ function UnsavedChangesNavigationModal(props) {
|
|
|
27153
27334
|
}
|
|
27154
27335
|
|
|
27155
27336
|
// src/layouts/WorkflowLayout/WorkflowActions.tsx
|
|
27156
|
-
var
|
|
27337
|
+
var import_jsx_runtime220 = require("react/jsx-runtime");
|
|
27157
27338
|
function WorkflowActions(props) {
|
|
27158
27339
|
const {
|
|
27159
27340
|
isFirstStep,
|
|
@@ -27167,20 +27348,20 @@ function WorkflowActions(props) {
|
|
|
27167
27348
|
onContinue,
|
|
27168
27349
|
primaryDisabled
|
|
27169
27350
|
} = props;
|
|
27170
|
-
return /* @__PURE__ */ (0,
|
|
27171
|
-
/* @__PURE__ */ (0,
|
|
27172
|
-
/* @__PURE__ */ (0,
|
|
27173
|
-
/* @__PURE__ */ (0,
|
|
27174
|
-
onSaveAndExit && /* @__PURE__ */ (0,
|
|
27175
|
-
isLastStep ? /* @__PURE__ */ (0,
|
|
27351
|
+
return /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
|
|
27352
|
+
/* @__PURE__ */ (0, import_jsx_runtime220.jsx)("div", { className: "df aic", children: !isFirstStep && isMobile && /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
|
|
27353
|
+
/* @__PURE__ */ (0, import_jsx_runtime220.jsxs)("div", { className: "df aic gap1", children: [
|
|
27354
|
+
/* @__PURE__ */ (0, import_jsx_runtime220.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
|
|
27355
|
+
onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
|
|
27356
|
+
isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(Button, { label: completeLabel, variant: "primary", onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(Button, { label: "Continue", variant: "primary", onClick: onContinue, disabled: primaryDisabled })
|
|
27176
27357
|
] })
|
|
27177
27358
|
] });
|
|
27178
27359
|
}
|
|
27179
27360
|
|
|
27180
27361
|
// src/layouts/WorkflowLayout/WorkflowLayout.tsx
|
|
27181
|
-
var
|
|
27182
|
-
var
|
|
27183
|
-
var
|
|
27362
|
+
var import_runtime138 = require("@homebound/truss/runtime");
|
|
27363
|
+
var import_jsx_runtime221 = require("react/jsx-runtime");
|
|
27364
|
+
var __maybeInc28 = (inc) => {
|
|
27184
27365
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
27185
27366
|
};
|
|
27186
27367
|
function WorkflowLayout(props) {
|
|
@@ -27198,7 +27379,7 @@ function WorkflowLayout(props) {
|
|
|
27198
27379
|
...step,
|
|
27199
27380
|
value: defaultTestId(step.label)
|
|
27200
27381
|
}));
|
|
27201
|
-
const [currentStep, setCurrentStep] = (0,
|
|
27382
|
+
const [currentStep, setCurrentStep] = (0, import_react159.useState)(() => getInitialStep(stepTabs, defaultStep));
|
|
27202
27383
|
const tid = useTestIds(props, "workflowLayout");
|
|
27203
27384
|
const {
|
|
27204
27385
|
sm: isMobile
|
|
@@ -27211,7 +27392,7 @@ function WorkflowLayout(props) {
|
|
|
27211
27392
|
onCancel
|
|
27212
27393
|
});
|
|
27213
27394
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
27214
|
-
const headerMetricsRef = (0,
|
|
27395
|
+
const headerMetricsRef = (0, import_react159.useRef)(null);
|
|
27215
27396
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
27216
27397
|
const scrollCollapsed = useScrollCollapse(!isMobile, bannerAndNavbarHeight + headerHeight);
|
|
27217
27398
|
const collapsed = isMobile || scrollCollapsed;
|
|
@@ -27224,7 +27405,7 @@ function WorkflowLayout(props) {
|
|
|
27224
27405
|
const isFirstStep = currentIndex <= 0;
|
|
27225
27406
|
const isLastStep = currentIndex === stepTabs.length - 1;
|
|
27226
27407
|
const activeStep = stepTabs[currentIndex];
|
|
27227
|
-
const buttons = /* @__PURE__ */ (0,
|
|
27408
|
+
const buttons = /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(stepTabs[currentIndex - 1].value), onCancel: onCancelClick, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.isValid, onContinue: async () => {
|
|
27228
27409
|
const onContinue = activeStep?.onContinue;
|
|
27229
27410
|
if (onContinue) {
|
|
27230
27411
|
const allowed = await onContinue();
|
|
@@ -27233,7 +27414,7 @@ function WorkflowLayout(props) {
|
|
|
27233
27414
|
setCurrentStep(stepTabs[currentIndex + 1].value);
|
|
27234
27415
|
} });
|
|
27235
27416
|
const showFooter = isMobile;
|
|
27236
|
-
(0,
|
|
27417
|
+
(0, import_react159.useLayoutEffect)(() => {
|
|
27237
27418
|
const root = document.documentElement;
|
|
27238
27419
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
27239
27420
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -27245,50 +27426,50 @@ function WorkflowLayout(props) {
|
|
|
27245
27426
|
}
|
|
27246
27427
|
};
|
|
27247
27428
|
}, [showFooter]);
|
|
27248
|
-
const headerEl = /* @__PURE__ */ (0,
|
|
27429
|
+
const headerEl = /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(WorkflowHeader, { ...headerProps, rightSlot: isMobile ? void 0 : buttons, stepperTabs: {
|
|
27249
27430
|
steps: stepTabs,
|
|
27250
27431
|
currentStep,
|
|
27251
27432
|
onChange: setCurrentStep,
|
|
27252
27433
|
collapsed
|
|
27253
27434
|
} });
|
|
27254
|
-
return /* @__PURE__ */ (0,
|
|
27255
|
-
/* @__PURE__ */ (0,
|
|
27435
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(DocumentScrollLayoutProvider, { children: [
|
|
27436
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsxs)("div", { ...(0, import_runtime138.mergeProps)(void 0, cssVars, {
|
|
27256
27437
|
display: "df",
|
|
27257
27438
|
flexDirection: "fdc",
|
|
27258
27439
|
width: "w100"
|
|
27259
27440
|
}), ...tid, children: [
|
|
27260
|
-
/* @__PURE__ */ (0,
|
|
27441
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime138.trussProps)({
|
|
27261
27442
|
position: "sticky",
|
|
27262
27443
|
left: "left0",
|
|
27263
27444
|
width: ["w_var", {
|
|
27264
|
-
"--width": (0,
|
|
27445
|
+
"--width": (0, import_runtime138.maybeCssVar)(__maybeInc28(headerWidth))
|
|
27265
27446
|
}],
|
|
27266
27447
|
zIndex: ["z_var", {
|
|
27267
|
-
"--zIndex": (0,
|
|
27448
|
+
"--zIndex": (0, import_runtime138.maybeCssVar)(zIndices.pageStickyHeader)
|
|
27268
27449
|
}],
|
|
27269
27450
|
top: ["top_var", {
|
|
27270
|
-
"--top": (0,
|
|
27451
|
+
"--top": (0, import_runtime138.maybeCssVar)(__maybeInc28(outerTop))
|
|
27271
27452
|
}]
|
|
27272
27453
|
}), ...tid.header, children: headerEl }),
|
|
27273
|
-
/* @__PURE__ */ (0,
|
|
27274
|
-
showFooter && /* @__PURE__ */ (0,
|
|
27454
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children: activeStep?.content }),
|
|
27455
|
+
showFooter && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { ...(0, import_runtime138.trussProps)({
|
|
27275
27456
|
flexShrink: "fs0",
|
|
27276
27457
|
width: "w100",
|
|
27277
27458
|
height: ["h_var", {
|
|
27278
27459
|
"--height": `${mobileFooterHeightPx}px`
|
|
27279
27460
|
}]
|
|
27280
|
-
}), children: /* @__PURE__ */ (0,
|
|
27461
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { ...(0, import_runtime138.trussProps)({
|
|
27281
27462
|
...{
|
|
27282
27463
|
position: "fixed",
|
|
27283
27464
|
bottom: "bottom0",
|
|
27284
27465
|
width: ["w_var", {
|
|
27285
|
-
"--width": (0,
|
|
27466
|
+
"--width": (0, import_runtime138.maybeCssVar)(__maybeInc28(headerWidth))
|
|
27286
27467
|
}],
|
|
27287
27468
|
height: ["h_var", {
|
|
27288
27469
|
"--height": `${mobileFooterHeightPx}px`
|
|
27289
27470
|
}],
|
|
27290
27471
|
zIndex: ["z_var", {
|
|
27291
|
-
"--zIndex": (0,
|
|
27472
|
+
"--zIndex": (0, import_runtime138.maybeCssVar)(zIndices.pageStickyFooter)
|
|
27292
27473
|
}],
|
|
27293
27474
|
display: "df",
|
|
27294
27475
|
alignItems: "aic",
|
|
@@ -27306,7 +27487,7 @@ function WorkflowLayout(props) {
|
|
|
27306
27487
|
...pageContentPaddingX
|
|
27307
27488
|
}), ...tid.footer, children: buttons }) })
|
|
27308
27489
|
] }),
|
|
27309
|
-
navigationBlocker && /* @__PURE__ */ (0,
|
|
27490
|
+
navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
|
|
27310
27491
|
] });
|
|
27311
27492
|
}
|
|
27312
27493
|
var mobileFooterHeightPx = 80;
|
|
@@ -27380,6 +27561,7 @@ function getInitialStep(steps, defaultStep) {
|
|
|
27380
27561
|
DateRangeField,
|
|
27381
27562
|
DnDGrid,
|
|
27382
27563
|
DnDGridItemHandle,
|
|
27564
|
+
DocumentScrollRightPaneLayout,
|
|
27383
27565
|
DocumentTitleProvider,
|
|
27384
27566
|
EXPANDABLE_HEADER,
|
|
27385
27567
|
EditColumnsButton,
|
|
@@ -27493,10 +27675,12 @@ function getInitialStep(steps, defaultStep) {
|
|
|
27493
27675
|
assignDefaultColumnIds,
|
|
27494
27676
|
bannerAndNavbarChromeTop,
|
|
27495
27677
|
beamEnvironmentBannerLayoutHeightVar,
|
|
27678
|
+
beamFloatingRightOffsetVar,
|
|
27496
27679
|
beamLayoutViewportHeightVar,
|
|
27497
27680
|
beamLayoutViewportWidthVar,
|
|
27498
27681
|
beamNavbarLayoutHeightVar,
|
|
27499
27682
|
beamPageHeaderLayoutHeightVar,
|
|
27683
|
+
beamRightPaneWidthVar,
|
|
27500
27684
|
beamSideNavLayoutWidthVar,
|
|
27501
27685
|
beamTableActionsHeightVar,
|
|
27502
27686
|
beamWorkflowLayoutFooterHeightVar,
|
|
@@ -27541,12 +27725,15 @@ function getInitialStep(steps, defaultStep) {
|
|
|
27541
27725
|
dateFilter,
|
|
27542
27726
|
dateFormats,
|
|
27543
27727
|
dateRangeFilter,
|
|
27728
|
+
defaultDocumentScrollRightPaneWidth,
|
|
27544
27729
|
defaultPage,
|
|
27545
27730
|
defaultRenderFn,
|
|
27546
27731
|
defaultStyle,
|
|
27547
27732
|
defaultTestId,
|
|
27548
27733
|
documentScrollChromeLeft,
|
|
27549
27734
|
documentScrollChromeWidth,
|
|
27735
|
+
documentScrollRightPaneHeight,
|
|
27736
|
+
documentScrollRightPaneWidth,
|
|
27550
27737
|
dragHandleColumn,
|
|
27551
27738
|
emptyCell,
|
|
27552
27739
|
ensureClientSideSortValueIsSortable,
|
|
@@ -27563,6 +27750,7 @@ function getInitialStep(steps, defaultStep) {
|
|
|
27563
27750
|
getDateFormat,
|
|
27564
27751
|
getFirstOrLastCellCss,
|
|
27565
27752
|
getFloatingBottomOffset,
|
|
27753
|
+
getFloatingRightOffset,
|
|
27566
27754
|
getJustification,
|
|
27567
27755
|
getNavLinkStyles,
|
|
27568
27756
|
getTableRefWidthStyles,
|