@homebound/beam 3.38.0 → 3.40.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 +1398 -1268
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +42 -1
- package/dist/index.d.ts +42 -1
- package/dist/index.js +786 -660
- package/dist/index.js.map +1 -1
- package/dist/truss.css +4 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5589,6 +5589,22 @@ import { autorun as autorun2, reaction } from "mobx";
|
|
|
5589
5589
|
import { useContext as useContext6, useState as useState9 } from "react";
|
|
5590
5590
|
import { trussProps as trussProps9, maybeCssVar as maybeCssVar8 } from "@homebound/truss/runtime";
|
|
5591
5591
|
|
|
5592
|
+
// src/hooks/useBodyBackgroundColor.tsx
|
|
5593
|
+
import { useLayoutEffect } from "react";
|
|
5594
|
+
function useBodyBackgroundColor(color) {
|
|
5595
|
+
useLayoutEffect(() => {
|
|
5596
|
+
if (typeof document === "undefined") {
|
|
5597
|
+
return;
|
|
5598
|
+
}
|
|
5599
|
+
const body = document.body;
|
|
5600
|
+
const previous = body.style.backgroundColor;
|
|
5601
|
+
body.style.backgroundColor = maybeCssVar(color);
|
|
5602
|
+
return () => {
|
|
5603
|
+
body.style.backgroundColor = previous;
|
|
5604
|
+
};
|
|
5605
|
+
}, [color]);
|
|
5606
|
+
}
|
|
5607
|
+
|
|
5592
5608
|
// src/hooks/useBreakpoint.tsx
|
|
5593
5609
|
import equal from "fast-deep-equal";
|
|
5594
5610
|
import { useEffect as useEffect4, useState as useState4 } from "react";
|
|
@@ -5675,7 +5691,7 @@ function useComputed(fn, deps) {
|
|
|
5675
5691
|
}
|
|
5676
5692
|
|
|
5677
5693
|
// src/hooks/useContentOverflow.ts
|
|
5678
|
-
import { useCallback as useCallback2, useLayoutEffect, useRef as useRef6, useState as useState6 } from "react";
|
|
5694
|
+
import { useCallback as useCallback2, useLayoutEffect as useLayoutEffect2, useRef as useRef6, useState as useState6 } from "react";
|
|
5679
5695
|
function useContentOverflow(enabled = true) {
|
|
5680
5696
|
const containerRef = useRef6(null);
|
|
5681
5697
|
const contentRef = useRef6(null);
|
|
@@ -5689,7 +5705,7 @@ function useContentOverflow(enabled = true) {
|
|
|
5689
5705
|
}
|
|
5690
5706
|
setOverflows(content.offsetWidth > container.clientWidth);
|
|
5691
5707
|
}, [enabled]);
|
|
5692
|
-
|
|
5708
|
+
useLayoutEffect2(() => {
|
|
5693
5709
|
checkContentOverflow();
|
|
5694
5710
|
window.addEventListener("resize", checkContentOverflow);
|
|
5695
5711
|
return () => window.removeEventListener("resize", checkContentOverflow);
|
|
@@ -5698,7 +5714,7 @@ function useContentOverflow(enabled = true) {
|
|
|
5698
5714
|
}
|
|
5699
5715
|
|
|
5700
5716
|
// src/hooks/useDocumentTitle.tsx
|
|
5701
|
-
import { useLayoutEffect as
|
|
5717
|
+
import { useLayoutEffect as useLayoutEffect3 } from "react";
|
|
5702
5718
|
|
|
5703
5719
|
// src/components/DocumentTitle/DocumentTitleContext.tsx
|
|
5704
5720
|
import { createContext as createContext4, useContext as useContext5, useMemo as useMemo7 } from "react";
|
|
@@ -5736,7 +5752,7 @@ function getDocumentTitleEnvPrefix(env) {
|
|
|
5736
5752
|
function useDocumentTitle(...titleSegments) {
|
|
5737
5753
|
const config = useDocumentTitleConfig();
|
|
5738
5754
|
const pageTitle = joinDocumentTitleSegments(...titleSegments);
|
|
5739
|
-
|
|
5755
|
+
useLayoutEffect3(() => {
|
|
5740
5756
|
if (!config || !pageTitle || typeof document === "undefined") {
|
|
5741
5757
|
return;
|
|
5742
5758
|
}
|
|
@@ -8901,7 +8917,7 @@ function RowImpl(props) {
|
|
|
8901
8917
|
const tooltip = isGridCellContent(maybeContent) ? maybeContent.tooltip : void 0;
|
|
8902
8918
|
const renderFn = (rowStyle?.renderCell || rowStyle?.rowLink) && wrapAction ? rowLinkRenderFn(as, currentColspan) : isHeader || isTotals || isExpandableHeader ? headerRenderFn(column2, as, currentColspan) : rowStyle?.onClick && wrapAction ? rowClickRenderFn(as, api, currentColspan) : defaultRenderFn(as, currentColspan);
|
|
8903
8919
|
const cellElement = renderFn(columnIndex, cellCss, content, row, rowStyle, void 0, cellOnClick, tooltip);
|
|
8904
|
-
if (!disableColumnResizing && isHeader && columnIndex < columns.length - 1 && currentColspan === 1 &&
|
|
8920
|
+
if (!disableColumnResizing && isHeader && columnIndex < columns.length - 1 && currentColspan === 1 && isContentColumn(column2)) {
|
|
8905
8921
|
const currentSizeStr = columnSizes[columnIndex];
|
|
8906
8922
|
const minWidthPx = column2.mw ? parseInt(column2.mw.replace("px", ""), 10) : 100;
|
|
8907
8923
|
const currentWidthPx = parseWidthToPx(currentSizeStr, void 0) ?? resizedWidths?.[column2.id] ?? minWidthPx;
|
|
@@ -10887,7 +10903,7 @@ import { useState as useState19 } from "react";
|
|
|
10887
10903
|
import { mergeProps as mergeProps14 } from "react-aria";
|
|
10888
10904
|
|
|
10889
10905
|
// src/inputs/hooks/useGrowingTextField.tsx
|
|
10890
|
-
import { useLayoutEffect as
|
|
10906
|
+
import { useLayoutEffect as useLayoutEffect4 } from "@react-aria/utils";
|
|
10891
10907
|
import { useCallback as useCallback8 } from "react";
|
|
10892
10908
|
function useGrowingTextField({ inputRef, inputWrapRef, value, disabled, maxLines }) {
|
|
10893
10909
|
const getLineHeight = useCallback8((element) => {
|
|
@@ -10928,7 +10944,7 @@ function useGrowingTextField({ inputRef, inputWrapRef, value, disabled, maxLines
|
|
|
10928
10944
|
input.style.alignSelf = prevAlignment;
|
|
10929
10945
|
}
|
|
10930
10946
|
}, [inputRef, disabled, inputWrapRef, maxLines, getLineHeight]);
|
|
10931
|
-
|
|
10947
|
+
useLayoutEffect4(() => {
|
|
10932
10948
|
if (disabled) {
|
|
10933
10949
|
if (inputWrapRef.current) {
|
|
10934
10950
|
inputWrapRef.current.style.removeProperty("height");
|
|
@@ -15971,8 +15987,7 @@ function useRenderCount() {
|
|
|
15971
15987
|
|
|
15972
15988
|
// src/layouts/DocumentScrollLayoutContext.tsx
|
|
15973
15989
|
import { useResizeObserver as useResizeObserver2 } from "@react-aria/utils";
|
|
15974
|
-
import { createContext as createContext6, useCallback as useCallback19, useContext as useContext16, useLayoutEffect as
|
|
15975
|
-
import { mergeProps as mergeProps19 } from "@homebound/truss/runtime";
|
|
15990
|
+
import { createContext as createContext6, useCallback as useCallback19, useContext as useContext16, useLayoutEffect as useLayoutEffect5, useRef as useRef40, useState as useState32 } from "react";
|
|
15976
15991
|
|
|
15977
15992
|
// src/layouts/DocumentScrollToTopButton.tsx
|
|
15978
15993
|
import { useCallback as useCallback18, useEffect as useEffect19, useState as useState31 } from "react";
|
|
@@ -16030,21 +16045,25 @@ function DocumentScrollToTopButton({
|
|
|
16030
16045
|
}
|
|
16031
16046
|
|
|
16032
16047
|
// src/layouts/DocumentScrollLayoutContext.tsx
|
|
16048
|
+
import { mergeProps as mergeProps19 } from "@homebound/truss/runtime";
|
|
16033
16049
|
import { Fragment as Fragment20, jsx as jsx85, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
16034
16050
|
var DocumentScrollLayoutContext = createContext6(false);
|
|
16035
16051
|
function DocumentScrollLayoutProvider({
|
|
16036
|
-
children
|
|
16052
|
+
children,
|
|
16053
|
+
bodyBackgroundColor = "--b-surface" /* Surface */
|
|
16037
16054
|
}) {
|
|
16038
16055
|
const inDocumentScrollLayout = useContext16(DocumentScrollLayoutContext);
|
|
16039
16056
|
if (inDocumentScrollLayout) return /* @__PURE__ */ jsx85(Fragment20, { children });
|
|
16040
|
-
return /* @__PURE__ */ jsx85(DocumentScrollLayoutContext.Provider, { value: true, children: /* @__PURE__ */ jsx85(DocumentScrollLayoutViewportRoot, { children }) });
|
|
16057
|
+
return /* @__PURE__ */ jsx85(DocumentScrollLayoutContext.Provider, { value: true, children: /* @__PURE__ */ jsx85(DocumentScrollLayoutViewportRoot, { bodyBackgroundColor, children }) });
|
|
16041
16058
|
}
|
|
16042
16059
|
function useDocumentScrollLayout() {
|
|
16043
16060
|
return useContext16(DocumentScrollLayoutContext);
|
|
16044
16061
|
}
|
|
16045
16062
|
function DocumentScrollLayoutViewportRoot({
|
|
16046
|
-
children
|
|
16063
|
+
children,
|
|
16064
|
+
bodyBackgroundColor
|
|
16047
16065
|
}) {
|
|
16066
|
+
useBodyBackgroundColor(bodyBackgroundColor);
|
|
16048
16067
|
const docElementRef = useRef40(typeof document !== "undefined" ? document.documentElement : null);
|
|
16049
16068
|
const [viewportSize, setViewportSize] = useState32({
|
|
16050
16069
|
width: 0,
|
|
@@ -16064,7 +16083,7 @@ function DocumentScrollLayoutViewportRoot({
|
|
|
16064
16083
|
ref: docElementRef,
|
|
16065
16084
|
onResize: syncViewportSize
|
|
16066
16085
|
});
|
|
16067
|
-
|
|
16086
|
+
useLayoutEffect5(() => {
|
|
16068
16087
|
syncViewportSize();
|
|
16069
16088
|
}, [syncViewportSize]);
|
|
16070
16089
|
const style = {};
|
|
@@ -16235,9 +16254,25 @@ function clampProgress(value) {
|
|
|
16235
16254
|
return Math.min(100, Math.max(0, value));
|
|
16236
16255
|
}
|
|
16237
16256
|
|
|
16257
|
+
// src/components/Table/GridTableEmptyState.tsx
|
|
16258
|
+
import { jsx as jsx87, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
16259
|
+
function GridTableEmptyState(props) {
|
|
16260
|
+
const {
|
|
16261
|
+
title = "No results found",
|
|
16262
|
+
description,
|
|
16263
|
+
actions
|
|
16264
|
+
} = props;
|
|
16265
|
+
const tid = useTestIds(props, "gridTableEmptyState");
|
|
16266
|
+
return /* @__PURE__ */ jsxs51("div", { className: "df fdc aic pt8 pb8 gap2", ...tid, children: [
|
|
16267
|
+
/* @__PURE__ */ jsx87("div", { className: "fw6 fz_20px lh_28px", ...tid.title, children: title }),
|
|
16268
|
+
description && /* @__PURE__ */ jsx87("div", { className: "fw4 fz_14px lh_20px gray700", ...tid.description, children: description }),
|
|
16269
|
+
actions && /* @__PURE__ */ jsx87("div", { ...tid.actions, children: actions })
|
|
16270
|
+
] });
|
|
16271
|
+
}
|
|
16272
|
+
|
|
16238
16273
|
// src/components/Table/GridTable.tsx
|
|
16239
16274
|
import { trussProps as trussProps52, mergeProps as mergeProps21, maybeCssVar as maybeCssVar31 } from "@homebound/truss/runtime";
|
|
16240
|
-
import { jsx as
|
|
16275
|
+
import { jsx as jsx88, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
16241
16276
|
import { createElement as createElement2 } from "react";
|
|
16242
16277
|
var __maybeInc11 = (inc) => {
|
|
16243
16278
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -16246,7 +16281,6 @@ var runningInJest = false;
|
|
|
16246
16281
|
function setRunningInJest() {
|
|
16247
16282
|
runningInJest = true;
|
|
16248
16283
|
}
|
|
16249
|
-
var CARD_MIN_WIDTH_PX = 280;
|
|
16250
16284
|
var defaults = {
|
|
16251
16285
|
style: defaultStyle,
|
|
16252
16286
|
stickyHeader: false
|
|
@@ -16274,6 +16308,7 @@ function GridTable(props) {
|
|
|
16274
16308
|
filter,
|
|
16275
16309
|
filterMaxRows,
|
|
16276
16310
|
fallbackMessage = "No rows found.",
|
|
16311
|
+
emptyState,
|
|
16277
16312
|
infoMessage,
|
|
16278
16313
|
persistCollapse,
|
|
16279
16314
|
persistScrollPosition,
|
|
@@ -16321,6 +16356,7 @@ function GridTable(props) {
|
|
|
16321
16356
|
tableState
|
|
16322
16357
|
} = api;
|
|
16323
16358
|
tableState.onRowSelect = onRowSelect;
|
|
16359
|
+
const tableStateSyncedFromPropsRef = useRef41(false);
|
|
16324
16360
|
useEffect20(() => {
|
|
16325
16361
|
runInAction(() => {
|
|
16326
16362
|
tableState.setRows(rows);
|
|
@@ -16330,6 +16366,7 @@ function GridTable(props) {
|
|
|
16330
16366
|
tableState.activeRowId = activeRowId;
|
|
16331
16367
|
tableState.activeCellId = activeCellId;
|
|
16332
16368
|
});
|
|
16369
|
+
tableStateSyncedFromPropsRef.current = true;
|
|
16333
16370
|
}, [tableState, rows, columnsWithIds, visibleColumnsStorageKey, activeRowId, activeCellId, filter, csvPrefixRows]);
|
|
16334
16371
|
const columns = useComputed(() => {
|
|
16335
16372
|
return tableState.visibleColumns;
|
|
@@ -16429,7 +16466,7 @@ function GridTable(props) {
|
|
|
16429
16466
|
};
|
|
16430
16467
|
const [tableHeadRows, visibleDataRows, keptSelectedRows, pinnedRows, tooManyClientSideRows] = useComputed(() => {
|
|
16431
16468
|
if (as === "card") {
|
|
16432
|
-
const cardElements = tableState.visibleRows.filter((rs) => ![HEADER, EXPANDABLE_HEADER, TOTALS, KEPT_GROUP].includes(rs.kind)).map((rs) => /* @__PURE__ */
|
|
16469
|
+
const cardElements = tableState.visibleRows.filter((rs) => ![HEADER, EXPANDABLE_HEADER, TOTALS, KEPT_GROUP].includes(rs.kind)).map((rs) => /* @__PURE__ */ jsx88(TableCard, { rs, columns, rowStyle: rowStyles?.[rs.row.kind], api: tableState.api }, rs.key));
|
|
16433
16470
|
return [[], cardElements, [], [], false];
|
|
16434
16471
|
}
|
|
16435
16472
|
const headerRows = [];
|
|
@@ -16441,7 +16478,7 @@ function GridTable(props) {
|
|
|
16441
16478
|
const pinnedIds = new Set(pinnedRowStates.map((rs) => rs.row.id));
|
|
16442
16479
|
const visibleRows = tableState.visibleRows.filter((rs) => !pinnedIds.has(rs.row.id));
|
|
16443
16480
|
const hasExpandableHeader = visibleRows.some((rs) => rs.row.id === EXPANDABLE_HEADER);
|
|
16444
|
-
const makeRow = (rs, isFirstHeadRow, isFirstBodyRow, isLastBodyRow) => /* @__PURE__ */
|
|
16481
|
+
const makeRow = (rs, isFirstHeadRow, isFirstBodyRow, isLastBodyRow) => /* @__PURE__ */ jsx88(Row, { onDragStart, onDragOver, onDragEnd, onDrop, onDragEnter, ...{
|
|
16445
16482
|
as,
|
|
16446
16483
|
rs,
|
|
16447
16484
|
style,
|
|
@@ -16499,7 +16536,7 @@ function GridTable(props) {
|
|
|
16499
16536
|
}, [as, api, style, rowStyles, maybeStyle, columnSizes, getCount, filterMaxRows]);
|
|
16500
16537
|
if (props.rowLookup) props.rowLookup.current = api.lookup;
|
|
16501
16538
|
const noData = visibleDataRows.length === 0 && pinnedRows.length === 0;
|
|
16502
|
-
const firstRowMessage = noData && fallbackMessage || tooManyClientSideRows && "Hiding some rows, use filter..." || infoMessage;
|
|
16539
|
+
const firstRowMessage = noData && !emptyState && fallbackMessage || tooManyClientSideRows && "Hiding some rows, use filter..." || infoMessage;
|
|
16503
16540
|
const borderless = style?.presentationSettings?.borderless;
|
|
16504
16541
|
const typeScale = style?.presentationSettings?.typeScale;
|
|
16505
16542
|
const borderOnHover = style?.presentationSettings?.borderOnHover;
|
|
@@ -16533,9 +16570,12 @@ function GridTable(props) {
|
|
|
16533
16570
|
minWidthPx
|
|
16534
16571
|
};
|
|
16535
16572
|
}, [contentWidth, inDocumentScrollLayout, style, tableWidth]);
|
|
16536
|
-
|
|
16537
|
-
/* @__PURE__ */
|
|
16538
|
-
|
|
16573
|
+
if (noData && emptyState && tableStateSyncedFromPropsRef.current) {
|
|
16574
|
+
return /* @__PURE__ */ jsx88(GridTableEmptyState, { ...emptyState });
|
|
16575
|
+
}
|
|
16576
|
+
return /* @__PURE__ */ jsx88(TableStateContext.Provider, { value: rowStateContext, children: /* @__PURE__ */ jsxs52(PresentationProvider, { fieldProps, wrap: style?.presentationSettings?.wrap, children: [
|
|
16577
|
+
/* @__PURE__ */ jsx88("div", { ref: resizeRef, ...trussProps52(getTableRefWidthStyles(as === "virtual", inDocumentScrollLayout)) }),
|
|
16578
|
+
as === "card" ? /* @__PURE__ */ jsx88(CardView, { cardRows: visibleDataRows, id, virtuosoRangeRef, infiniteScroll, persistScrollPosition }) : _as === "virtual" ? /* @__PURE__ */ jsx88(VirtualGridTableView, { style: tableStyle, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, stickyOffset, infiniteScroll, persistScrollPosition }) : renders[_as](tableStyle, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, stickyOffset, infiniteScroll, tableContainerRef, persistScrollPosition)
|
|
16539
16579
|
] }) });
|
|
16540
16580
|
}
|
|
16541
16581
|
var renders = {
|
|
@@ -16543,7 +16583,7 @@ var renders = {
|
|
|
16543
16583
|
div: renderDiv
|
|
16544
16584
|
};
|
|
16545
16585
|
function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, _virtuosoRef, _virtuosoRangeRef, tableHeadRows, stickyOffset, _infiniteScroll, tableContainerRef, _persistScrollPosition) {
|
|
16546
|
-
return /* @__PURE__ */
|
|
16586
|
+
return /* @__PURE__ */ jsxs52("div", { ref: tableContainerRef, ...trussProps52({
|
|
16547
16587
|
// Use `fit-content` to ensure the width of the table takes up the full width of its content.
|
|
16548
16588
|
// Otherwise, the table's width would be that of its container, which may not be as wide as the table itself.
|
|
16549
16589
|
// In cases where we have sticky columns on a very wide table, then the container which the columns "stick" to (which is the table),
|
|
@@ -16559,7 +16599,7 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinned
|
|
|
16559
16599
|
} : {},
|
|
16560
16600
|
...xss
|
|
16561
16601
|
}), "data-testid": id, children: [
|
|
16562
|
-
/* @__PURE__ */
|
|
16602
|
+
/* @__PURE__ */ jsxs52("div", { ...trussProps52({
|
|
16563
16603
|
...stickyHeader || pinnedRows.length > 0 ? {
|
|
16564
16604
|
position: "sticky",
|
|
16565
16605
|
transition: "transitionTop",
|
|
@@ -16574,9 +16614,9 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinned
|
|
|
16574
16614
|
tableHeadRows,
|
|
16575
16615
|
pinnedRows
|
|
16576
16616
|
] }),
|
|
16577
|
-
/* @__PURE__ */
|
|
16617
|
+
/* @__PURE__ */ jsxs52("div", { children: [
|
|
16578
16618
|
keptSelectedRows,
|
|
16579
|
-
firstRowMessage && /* @__PURE__ */
|
|
16619
|
+
firstRowMessage && /* @__PURE__ */ jsx88("div", { ...trussProps52({
|
|
16580
16620
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
16581
16621
|
...style.firstRowMessageCss,
|
|
16582
16622
|
...visibleDataRows.length === 0 && style.lastRowCss,
|
|
@@ -16589,7 +16629,7 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinned
|
|
|
16589
16629
|
] });
|
|
16590
16630
|
}
|
|
16591
16631
|
function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, _virtuosoRef, _virtuosoRangeRef, tableHeadRows, stickyOffset, _infiniteScroll, tableContainerRef, _persistScrollPosition) {
|
|
16592
|
-
return /* @__PURE__ */
|
|
16632
|
+
return /* @__PURE__ */ jsxs52("table", { ref: tableContainerRef, ...trussProps52({
|
|
16593
16633
|
...{
|
|
16594
16634
|
width: "w100",
|
|
16595
16635
|
borderCollapse: "borderCollapse_separate",
|
|
@@ -16603,7 +16643,7 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinn
|
|
|
16603
16643
|
} : {},
|
|
16604
16644
|
...xss
|
|
16605
16645
|
}), "data-testid": id, children: [
|
|
16606
|
-
/* @__PURE__ */
|
|
16646
|
+
/* @__PURE__ */ jsxs52("thead", { ...trussProps52({
|
|
16607
16647
|
...stickyHeader || pinnedRows.length > 0 ? {
|
|
16608
16648
|
position: "sticky",
|
|
16609
16649
|
transition: "transitionTop",
|
|
@@ -16618,13 +16658,13 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinn
|
|
|
16618
16658
|
tableHeadRows,
|
|
16619
16659
|
pinnedRows
|
|
16620
16660
|
] }),
|
|
16621
|
-
/* @__PURE__ */
|
|
16661
|
+
/* @__PURE__ */ jsxs52("tbody", { children: [
|
|
16622
16662
|
keptSelectedRows,
|
|
16623
|
-
firstRowMessage && /* @__PURE__ */
|
|
16663
|
+
firstRowMessage && /* @__PURE__ */ jsx88("tr", { ...trussProps52({
|
|
16624
16664
|
...tableRowPrintBreakCss,
|
|
16625
16665
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
16626
16666
|
...visibleDataRows.length === 0 && style.lastRowCss
|
|
16627
|
-
}), children: /* @__PURE__ */
|
|
16667
|
+
}), children: /* @__PURE__ */ jsx88("td", { colSpan: columns.length, ...trussProps52({
|
|
16628
16668
|
...style.betweenRowsCss,
|
|
16629
16669
|
...style.firstRowMessageCss,
|
|
16630
16670
|
...visibleDataRows.length === 0 && style.lastRowCellCss,
|
|
@@ -16663,7 +16703,7 @@ function VirtualGridTableView({
|
|
|
16663
16703
|
const topItemCount = (stickyHeader || pinnedRows.length > 0 ? tableHeadRows.length : 0) + pinnedRows.length;
|
|
16664
16704
|
const validatedScrollIndex = savedScrollIndex !== void 0 && savedScrollIndex > 0 && savedScrollIndex < visibleDataRows.length ? savedScrollIndex + topItemCount : void 0;
|
|
16665
16705
|
const virtuosoKey = !!validatedScrollIndex && visibleDataRows.length > 0 ? "with-data" : "virtuoso";
|
|
16666
|
-
return /* @__PURE__ */
|
|
16706
|
+
return /* @__PURE__ */ jsx88(
|
|
16667
16707
|
Virtuoso2,
|
|
16668
16708
|
{
|
|
16669
16709
|
useWindowScroll: inDocumentScrollLayout && !customScrollParent,
|
|
@@ -16678,7 +16718,7 @@ function VirtualGridTableView({
|
|
|
16678
16718
|
components: {
|
|
16679
16719
|
// zIndex keeps the pinned head above sticky columns; `top` matches the offsets used by
|
|
16680
16720
|
// the div/table render paths so virtualized tables pin below the global nav + page header.
|
|
16681
|
-
TopItemList: React13.forwardRef((props, ref) => /* @__PURE__ */
|
|
16721
|
+
TopItemList: React13.forwardRef((props, ref) => /* @__PURE__ */ jsx88("div", { ...props, ref, ...mergeProps21(void 0, {
|
|
16682
16722
|
...props.style,
|
|
16683
16723
|
...style.minWidthPx !== void 0 ? {
|
|
16684
16724
|
minWidth: style.minWidthPx
|
|
@@ -16690,13 +16730,13 @@ function VirtualGridTableView({
|
|
|
16690
16730
|
}) })),
|
|
16691
16731
|
List: VirtualRoot(style, columns, id, xss),
|
|
16692
16732
|
Footer: () => {
|
|
16693
|
-
return /* @__PURE__ */
|
|
16733
|
+
return /* @__PURE__ */ jsx88("div", { ...trussProps52({
|
|
16694
16734
|
...style.virtualFooterPaddingBottomPx !== void 0 ? {
|
|
16695
16735
|
paddingBottom: ["pb_var", {
|
|
16696
16736
|
"--paddingBottom": `${style.virtualFooterPaddingBottomPx ?? 0}px`
|
|
16697
16737
|
}]
|
|
16698
16738
|
} : {}
|
|
16699
|
-
}), children: fetchMoreInProgress && /* @__PURE__ */
|
|
16739
|
+
}), children: fetchMoreInProgress && /* @__PURE__ */ jsx88("div", { className: "h5 df aic jcc", children: /* @__PURE__ */ jsx88(Loader, { size: "xs" }) }) });
|
|
16700
16740
|
}
|
|
16701
16741
|
},
|
|
16702
16742
|
topItemCount,
|
|
@@ -16717,11 +16757,11 @@ function VirtualGridTableView({
|
|
|
16717
16757
|
if (index === 0) {
|
|
16718
16758
|
return (
|
|
16719
16759
|
// Ensure the fallback message is the same width as the table
|
|
16720
|
-
/* @__PURE__ */
|
|
16760
|
+
/* @__PURE__ */ jsx88("div", { ...trussProps52({
|
|
16721
16761
|
...getTableRefWidthStyles(true, inDocumentScrollLayout),
|
|
16722
16762
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
16723
16763
|
...visibleDataRows.length === 0 && style.lastRowCss
|
|
16724
|
-
}), children: /* @__PURE__ */
|
|
16764
|
+
}), children: /* @__PURE__ */ jsx88("div", { ...trussProps52({
|
|
16725
16765
|
...style.firstRowMessageCss,
|
|
16726
16766
|
...visibleDataRows.length === 0 && style.lastRowCellCss,
|
|
16727
16767
|
...visibleDataRows.length === 0 && style.lastRowFirstCellCss,
|
|
@@ -16779,7 +16819,7 @@ function CardView({
|
|
|
16779
16819
|
const validatedScrollIndex = savedScrollIndex !== void 0 && savedScrollIndex > 0 && savedScrollIndex < cardRows.length ? savedScrollIndex : void 0;
|
|
16780
16820
|
const virtuosoKey = !!validatedScrollIndex && cardRows.length > 0 ? "with-data" : "virtuoso";
|
|
16781
16821
|
if (runningInJest) {
|
|
16782
|
-
return /* @__PURE__ */
|
|
16822
|
+
return /* @__PURE__ */ jsx88("div", { className: "pt2 pb2", children: /* @__PURE__ */ jsx88("div", { ...trussProps52({
|
|
16783
16823
|
display: "dg",
|
|
16784
16824
|
gridTemplateColumns: ["gtc_var", {
|
|
16785
16825
|
"--gridTemplateColumns": maybeCssVar31(`repeat(auto-fill, minmax(${CARD_MIN_WIDTH_PX}px, 1fr))`)
|
|
@@ -16792,7 +16832,7 @@ function CardView({
|
|
|
16792
16832
|
paddingLeft: "pl3"
|
|
16793
16833
|
}), children: cardRows }) });
|
|
16794
16834
|
}
|
|
16795
|
-
return /* @__PURE__ */
|
|
16835
|
+
return /* @__PURE__ */ jsx88("div", { className: "pt2 pb2 h100", children: /* @__PURE__ */ createElement2(VirtuosoGrid, { useWindowScroll: inDocumentScrollLayout && !customScrollParent, ...customScrollParent ? {
|
|
16796
16836
|
customScrollParent
|
|
16797
16837
|
} : {}, ...validatedScrollIndex !== void 0 ? {
|
|
16798
16838
|
initialTopMostItemIndex: validatedScrollIndex
|
|
@@ -16801,7 +16841,7 @@ function CardView({
|
|
|
16801
16841
|
style,
|
|
16802
16842
|
children
|
|
16803
16843
|
}, ref) {
|
|
16804
|
-
return /* @__PURE__ */
|
|
16844
|
+
return /* @__PURE__ */ jsx88("div", { ref, ...mergeProps21(void 0, style, {
|
|
16805
16845
|
display: "dg",
|
|
16806
16846
|
gridTemplateColumns: ["gtc_var", {
|
|
16807
16847
|
"--gridTemplateColumns": maybeCssVar31(`repeat(auto-fill, minmax(${CARD_MIN_WIDTH_PX}px, 1fr))`)
|
|
@@ -16814,7 +16854,7 @@ function CardView({
|
|
|
16814
16854
|
paddingLeft: "pl3"
|
|
16815
16855
|
}), children });
|
|
16816
16856
|
}),
|
|
16817
|
-
Footer: () => /* @__PURE__ */
|
|
16857
|
+
Footer: () => /* @__PURE__ */ jsx88("div", { children: fetchMoreInProgress && /* @__PURE__ */ jsx88("div", { className: "h5 df aic jcc", children: /* @__PURE__ */ jsx88(Loader, { size: "xs" }) }) })
|
|
16818
16858
|
}, rangeChanged: (newRange) => {
|
|
16819
16859
|
virtuosoRangeRef.current = newRange;
|
|
16820
16860
|
if (!infiniteScroll && cardRows.length > 0) {
|
|
@@ -16840,7 +16880,7 @@ var VirtualRoot = memoizeOne((gs, _columns, id, xss) => {
|
|
|
16840
16880
|
style,
|
|
16841
16881
|
children
|
|
16842
16882
|
}, ref) {
|
|
16843
|
-
return /* @__PURE__ */
|
|
16883
|
+
return /* @__PURE__ */ jsx88("div", { ref, ...mergeProps21(void 0, style, {
|
|
16844
16884
|
...gs.rootCss,
|
|
16845
16885
|
...gs.minWidthPx ? {
|
|
16846
16886
|
minWidth: ["mw_var", {
|
|
@@ -16854,10 +16894,11 @@ var VirtualRoot = memoizeOne((gs, _columns, id, xss) => {
|
|
|
16854
16894
|
}), "data-testid": id, children });
|
|
16855
16895
|
});
|
|
16856
16896
|
});
|
|
16897
|
+
var CARD_MIN_WIDTH_PX = 280;
|
|
16857
16898
|
|
|
16858
16899
|
// src/components/ToggleChip.tsx
|
|
16859
16900
|
import { trussProps as trussProps53 } from "@homebound/truss/runtime";
|
|
16860
|
-
import { jsx as
|
|
16901
|
+
import { jsx as jsx89, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
16861
16902
|
function ToggleChip(props) {
|
|
16862
16903
|
const {
|
|
16863
16904
|
text,
|
|
@@ -16875,7 +16916,7 @@ function ToggleChip(props) {
|
|
|
16875
16916
|
} = useHover2({});
|
|
16876
16917
|
const compact = fieldProps?.compact;
|
|
16877
16918
|
const tid = useTestIds(props, "chip");
|
|
16878
|
-
return /* @__PURE__ */
|
|
16919
|
+
return /* @__PURE__ */ jsxs53("button", { type: "button", ...trussProps53({
|
|
16879
16920
|
...chipBaseStyles(compact),
|
|
16880
16921
|
...isHovered && !disabled && chipHoverStyles,
|
|
16881
16922
|
// Use a lower right-padding to get closer to the `X` circle when clearable, i.e. not disabled
|
|
@@ -16890,8 +16931,8 @@ function ToggleChip(props) {
|
|
|
16890
16931
|
},
|
|
16891
16932
|
...xss
|
|
16892
16933
|
}), disabled, onClick, ...hoverProps, ...tid, children: [
|
|
16893
|
-
icon && /* @__PURE__ */
|
|
16894
|
-
/* @__PURE__ */
|
|
16934
|
+
icon && /* @__PURE__ */ jsx89("span", { className: "fs0", ...tid.icon, children: /* @__PURE__ */ jsx89(Icon, { icon, color: "rgba(36, 36, 36, 1)" /* Gray900 */, inc: 2 }) }),
|
|
16935
|
+
/* @__PURE__ */ jsx89("span", { ...trussProps53({
|
|
16895
16936
|
textAlign: "tal",
|
|
16896
16937
|
overflow: "oh",
|
|
16897
16938
|
display: "d_negwebkit_box",
|
|
@@ -16903,14 +16944,14 @@ function ToggleChip(props) {
|
|
|
16903
16944
|
paddingRight: "pr0"
|
|
16904
16945
|
} : {}
|
|
16905
16946
|
}), title: text, children: text }),
|
|
16906
|
-
!disabled && /* @__PURE__ */
|
|
16947
|
+
!disabled && /* @__PURE__ */ jsx89("span", { ...trussProps53({
|
|
16907
16948
|
...{
|
|
16908
16949
|
flexShrink: "fs0",
|
|
16909
16950
|
borderRadius: "br16",
|
|
16910
16951
|
backgroundColor: "bgGray200"
|
|
16911
16952
|
},
|
|
16912
16953
|
...isHovered && chipHoverStyles
|
|
16913
|
-
}), ...tid.x, children: /* @__PURE__ */
|
|
16954
|
+
}), ...tid.x, children: /* @__PURE__ */ jsx89(Icon, { icon: "x", color: "rgba(141, 141, 141, 1)" /* Gray600 */, inc: 2 }) })
|
|
16914
16955
|
] });
|
|
16915
16956
|
}
|
|
16916
16957
|
var chipHoverStyles = {
|
|
@@ -16926,7 +16967,7 @@ var chipDisabledStyles = {
|
|
|
16926
16967
|
|
|
16927
16968
|
// src/components/ToggleChips.tsx
|
|
16928
16969
|
import { trussProps as trussProps54 } from "@homebound/truss/runtime";
|
|
16929
|
-
import { jsx as
|
|
16970
|
+
import { jsx as jsx90 } from "react/jsx-runtime";
|
|
16930
16971
|
function ToggleChips(props) {
|
|
16931
16972
|
const {
|
|
16932
16973
|
values,
|
|
@@ -16935,14 +16976,14 @@ function ToggleChips(props) {
|
|
|
16935
16976
|
xss
|
|
16936
16977
|
} = props;
|
|
16937
16978
|
const tid = useTestIds(props, "toggleChips");
|
|
16938
|
-
return /* @__PURE__ */
|
|
16979
|
+
return /* @__PURE__ */ jsx90("div", { ...trussProps54({
|
|
16939
16980
|
...{
|
|
16940
16981
|
display: "df",
|
|
16941
16982
|
flexWrap: "flexWrap_wrap",
|
|
16942
16983
|
gap: "gap1"
|
|
16943
16984
|
},
|
|
16944
16985
|
...xss
|
|
16945
|
-
}), ...tid, children: values.map((value) => /* @__PURE__ */
|
|
16986
|
+
}), ...tid, children: values.map((value) => /* @__PURE__ */ jsx90(ToggleChip, { text: getLabel(value), onClick: () => onRemove(value), ...tid.chip }, getLabel(value))) });
|
|
16946
16987
|
}
|
|
16947
16988
|
|
|
16948
16989
|
// src/components/Accordion.tsx
|
|
@@ -16950,7 +16991,7 @@ import { useId, useResizeObserver as useResizeObserver3 } from "@react-aria/util
|
|
|
16950
16991
|
import { useCallback as useCallback20, useEffect as useEffect21, useMemo as useMemo28, useState as useState34 } from "react";
|
|
16951
16992
|
import { useFocusRing as useFocusRing10 } from "react-aria";
|
|
16952
16993
|
import { trussProps as trussProps55, maybeCssVar as maybeCssVar32 } from "@homebound/truss/runtime";
|
|
16953
|
-
import { jsx as
|
|
16994
|
+
import { jsx as jsx91, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
16954
16995
|
var __maybeInc12 = (inc) => {
|
|
16955
16996
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
16956
16997
|
};
|
|
@@ -17049,7 +17090,7 @@ function Accordion(props) {
|
|
|
17049
17090
|
},
|
|
17050
17091
|
...xss
|
|
17051
17092
|
}), [compact, disabled, isFocusVisible, titleOnClick, xss]);
|
|
17052
|
-
return /* @__PURE__ */
|
|
17093
|
+
return /* @__PURE__ */ jsxs54("div", { ...tid.container, ...trussProps55({
|
|
17053
17094
|
...{
|
|
17054
17095
|
borderColor: "bcGray300",
|
|
17055
17096
|
...topBorder ? {
|
|
@@ -17067,14 +17108,14 @@ function Accordion(props) {
|
|
|
17067
17108
|
}]
|
|
17068
17109
|
} : {}
|
|
17069
17110
|
}), children: [
|
|
17070
|
-
titleOnClick ? /* @__PURE__ */
|
|
17071
|
-
/* @__PURE__ */
|
|
17111
|
+
titleOnClick ? /* @__PURE__ */ jsxs54("div", { ...focusProps, "aria-controls": id, "aria-expanded": expanded, className: "df", children: [
|
|
17112
|
+
/* @__PURE__ */ jsx91("button", { ...tid.title, disabled, ...trussProps55({
|
|
17072
17113
|
...touchableStyle,
|
|
17073
17114
|
...{
|
|
17074
17115
|
flexGrow: "fg1"
|
|
17075
17116
|
}
|
|
17076
17117
|
}), onClick: titleOnClick, children: title }),
|
|
17077
|
-
/* @__PURE__ */
|
|
17118
|
+
/* @__PURE__ */ jsx91("button", { ...tid.toggle, disabled, ...trussProps55({
|
|
17078
17119
|
...touchableStyle,
|
|
17079
17120
|
...{
|
|
17080
17121
|
paddingLeft: "pl2",
|
|
@@ -17085,23 +17126,23 @@ function Accordion(props) {
|
|
|
17085
17126
|
paddingRight: "pr_10px"
|
|
17086
17127
|
} : {}
|
|
17087
17128
|
}
|
|
17088
|
-
}), onClick: toggle, children: /* @__PURE__ */
|
|
17089
|
-
] }) : /* @__PURE__ */
|
|
17129
|
+
}), onClick: toggle, children: /* @__PURE__ */ jsx91(RotatingChevronIcon, { expanded }) })
|
|
17130
|
+
] }) : /* @__PURE__ */ jsxs54("button", { ...tid.title, ...focusProps, "aria-controls": id, "aria-expanded": expanded, disabled, ...trussProps55({
|
|
17090
17131
|
...{
|
|
17091
17132
|
width: "w100"
|
|
17092
17133
|
},
|
|
17093
17134
|
...touchableStyle
|
|
17094
17135
|
}), onClick: toggle, children: [
|
|
17095
|
-
/* @__PURE__ */
|
|
17096
|
-
/* @__PURE__ */
|
|
17136
|
+
/* @__PURE__ */ jsx91("span", { className: "fg1 tal", children: title }),
|
|
17137
|
+
/* @__PURE__ */ jsx91(RotatingChevronIcon, { expanded })
|
|
17097
17138
|
] }),
|
|
17098
|
-
/* @__PURE__ */
|
|
17139
|
+
/* @__PURE__ */ jsx91("div", { ...tid.details, id, "aria-hidden": !expanded, ...trussProps55({
|
|
17099
17140
|
overflow: "oh",
|
|
17100
17141
|
height: ["h_var", {
|
|
17101
17142
|
"--height": maybeCssVar32(__maybeInc12(contentHeight))
|
|
17102
17143
|
}],
|
|
17103
17144
|
transition: "transition_height_250ms_ease_in_out"
|
|
17104
|
-
}), children: expanded && /* @__PURE__ */
|
|
17145
|
+
}), children: expanded && /* @__PURE__ */ jsx91("div", { ...trussProps55({
|
|
17105
17146
|
paddingLeft: "pl2",
|
|
17106
17147
|
paddingRight: "pr2",
|
|
17107
17148
|
paddingBottom: "pb2",
|
|
@@ -17116,13 +17157,13 @@ function Accordion(props) {
|
|
|
17116
17157
|
] });
|
|
17117
17158
|
}
|
|
17118
17159
|
function RotatingChevronIcon(props) {
|
|
17119
|
-
return /* @__PURE__ */
|
|
17160
|
+
return /* @__PURE__ */ jsx91("span", { ...trussProps55({
|
|
17120
17161
|
flexShrink: "fs0",
|
|
17121
17162
|
transition: "transition_transform_250ms_linear",
|
|
17122
17163
|
transform: ["transform_var", {
|
|
17123
17164
|
"--transform": maybeCssVar32(props.expanded ? "rotate(180deg)" : "rotate(0deg)")
|
|
17124
17165
|
}]
|
|
17125
|
-
}), children: /* @__PURE__ */
|
|
17166
|
+
}), children: /* @__PURE__ */ jsx91(Icon, { icon: "chevronDown" }) });
|
|
17126
17167
|
}
|
|
17127
17168
|
var accordionSizes = {
|
|
17128
17169
|
xs: 240,
|
|
@@ -17133,14 +17174,14 @@ var accordionSizes = {
|
|
|
17133
17174
|
|
|
17134
17175
|
// src/components/AccordionList.tsx
|
|
17135
17176
|
import { useState as useState35 } from "react";
|
|
17136
|
-
import { Fragment as Fragment21, jsx as
|
|
17177
|
+
import { Fragment as Fragment21, jsx as jsx92 } from "react/jsx-runtime";
|
|
17137
17178
|
function AccordionList(props) {
|
|
17138
17179
|
const { accordions, size, allowMultipleExpanded = true, compact = false } = props;
|
|
17139
17180
|
const [expandedIndex, setExpandedIndex] = useState35(
|
|
17140
17181
|
accordions.findIndex((a) => a.defaultExpanded)
|
|
17141
17182
|
);
|
|
17142
17183
|
const tid = useTestIds(props, "accordionList");
|
|
17143
|
-
return /* @__PURE__ */
|
|
17184
|
+
return /* @__PURE__ */ jsx92(Fragment21, { children: accordions.map((accordionProps, index, arr) => /* @__PURE__ */ jsx92(
|
|
17144
17185
|
Accordion,
|
|
17145
17186
|
{
|
|
17146
17187
|
...accordionProps,
|
|
@@ -17165,7 +17206,7 @@ function assertNever(x) {
|
|
|
17165
17206
|
}
|
|
17166
17207
|
|
|
17167
17208
|
// src/components/AutoSaveIndicator.tsx
|
|
17168
|
-
import { jsx as
|
|
17209
|
+
import { jsx as jsx93, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
17169
17210
|
function AutoSaveIndicator({
|
|
17170
17211
|
hideOnIdle,
|
|
17171
17212
|
doNotReset
|
|
@@ -17186,11 +17227,11 @@ function AutoSaveIndicator({
|
|
|
17186
17227
|
);
|
|
17187
17228
|
switch (status) {
|
|
17188
17229
|
case "idle" /* IDLE */:
|
|
17189
|
-
return hideOnIdle ? null : /* @__PURE__ */
|
|
17230
|
+
return hideOnIdle ? null : /* @__PURE__ */ jsx93(Indicator, { icon: "cloudSave" });
|
|
17190
17231
|
case "saving" /* SAVING */:
|
|
17191
|
-
return /* @__PURE__ */
|
|
17232
|
+
return /* @__PURE__ */ jsx93(Indicator, { icon: "refresh", text: "Saving..." });
|
|
17192
17233
|
case "done" /* DONE */:
|
|
17193
|
-
return /* @__PURE__ */
|
|
17234
|
+
return /* @__PURE__ */ jsx93(Indicator, { icon: "cloudSave", text: "Saved" });
|
|
17194
17235
|
case "error" /* ERROR */:
|
|
17195
17236
|
return (
|
|
17196
17237
|
/**
|
|
@@ -17198,7 +17239,7 @@ function AutoSaveIndicator({
|
|
|
17198
17239
|
* rendering it far away from the Icon/Text. Wrap it with a div to constrain
|
|
17199
17240
|
* it.
|
|
17200
17241
|
*/
|
|
17201
|
-
/* @__PURE__ */
|
|
17242
|
+
/* @__PURE__ */ jsx93("div", { className: "dif", children: /* @__PURE__ */ jsx93(Tooltip, { title: String(errors), placement: "bottom", children: /* @__PURE__ */ jsx93(Indicator, { icon: "error", color: "rgba(239, 68, 68, 1)" /* Red500 */, text: "Error saving" }) }) })
|
|
17202
17243
|
);
|
|
17203
17244
|
default:
|
|
17204
17245
|
assertNever(status);
|
|
@@ -17209,15 +17250,15 @@ function Indicator({
|
|
|
17209
17250
|
icon,
|
|
17210
17251
|
color
|
|
17211
17252
|
}) {
|
|
17212
|
-
return /* @__PURE__ */
|
|
17213
|
-
/* @__PURE__ */
|
|
17253
|
+
return /* @__PURE__ */ jsxs55("div", { "data-testid": "autoSave", className: "df gap1 aic gray700 fw6 fz_14px lh_20px", children: [
|
|
17254
|
+
/* @__PURE__ */ jsx93(Icon, { icon, color }),
|
|
17214
17255
|
text
|
|
17215
17256
|
] });
|
|
17216
17257
|
}
|
|
17217
17258
|
|
|
17218
17259
|
// src/components/Banner.tsx
|
|
17219
17260
|
import { trussProps as trussProps56 } from "@homebound/truss/runtime";
|
|
17220
|
-
import { jsx as
|
|
17261
|
+
import { jsx as jsx94, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
17221
17262
|
function Banner(props) {
|
|
17222
17263
|
const {
|
|
17223
17264
|
type,
|
|
@@ -17227,7 +17268,7 @@ function Banner(props) {
|
|
|
17227
17268
|
...others
|
|
17228
17269
|
} = props;
|
|
17229
17270
|
const tid = useTestIds(others, "banner");
|
|
17230
|
-
return /* @__PURE__ */
|
|
17271
|
+
return /* @__PURE__ */ jsxs56("div", { ...trussProps56({
|
|
17231
17272
|
...variantStyles3[type],
|
|
17232
17273
|
...{
|
|
17233
17274
|
display: "df",
|
|
@@ -17245,9 +17286,9 @@ function Banner(props) {
|
|
|
17245
17286
|
boxShadow: "bshBasic"
|
|
17246
17287
|
}
|
|
17247
17288
|
}), ...tid, role: "alert", children: [
|
|
17248
|
-
showIcon && /* @__PURE__ */
|
|
17249
|
-
/* @__PURE__ */
|
|
17250
|
-
onClose && /* @__PURE__ */
|
|
17289
|
+
showIcon && /* @__PURE__ */ jsx94("span", { className: "fs0", children: /* @__PURE__ */ jsx94(Icon, { icon: typeToIcon[type], ...tid.type, color: "rgba(36, 36, 36, 1)" /* Gray900 */ }) }),
|
|
17290
|
+
/* @__PURE__ */ jsx94("span", { className: "fg1", ...tid.message, children: message }),
|
|
17291
|
+
onClose && /* @__PURE__ */ jsx94("span", { className: "lh_0", children: /* @__PURE__ */ jsx94(IconButton, { icon: "x", onClick: onClose, ...tid.close, color: "rgba(36, 36, 36, 1)" /* Gray900 */ }) })
|
|
17251
17292
|
] });
|
|
17252
17293
|
}
|
|
17253
17294
|
var typeToIcon = {
|
|
@@ -17295,11 +17336,11 @@ import { useEffect as useEffect23, useMemo as useMemo30, useRef as useRef42 } fr
|
|
|
17295
17336
|
|
|
17296
17337
|
// src/components/Modal/ModalContext.tsx
|
|
17297
17338
|
import { createContext as createContext7, useContext as useContext17, useMemo as useMemo29 } from "react";
|
|
17298
|
-
import { jsx as
|
|
17339
|
+
import { jsx as jsx95 } from "react/jsx-runtime";
|
|
17299
17340
|
var ModalContext = createContext7({ inModal: false });
|
|
17300
17341
|
function ModalProvider({ children }) {
|
|
17301
17342
|
const value = useMemo29(() => ({ inModal: true }), []);
|
|
17302
|
-
return /* @__PURE__ */
|
|
17343
|
+
return /* @__PURE__ */ jsx95(ModalContext.Provider, { value, children });
|
|
17303
17344
|
}
|
|
17304
17345
|
function useModalContext() {
|
|
17305
17346
|
return useContext17(ModalContext);
|
|
@@ -17352,7 +17393,7 @@ function useModal() {
|
|
|
17352
17393
|
|
|
17353
17394
|
// src/components/Modal/Modal.tsx
|
|
17354
17395
|
import { trussProps as trussProps57, maybeCssVar as maybeCssVar33 } from "@homebound/truss/runtime";
|
|
17355
|
-
import { Fragment as Fragment22, jsx as
|
|
17396
|
+
import { Fragment as Fragment22, jsx as jsx96, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
17356
17397
|
function Modal(props) {
|
|
17357
17398
|
const {
|
|
17358
17399
|
size = "md",
|
|
@@ -17432,7 +17473,7 @@ function Modal(props) {
|
|
|
17432
17473
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17433
17474
|
[modalBodyRef, modalFooterRef, modalHeaderRef]
|
|
17434
17475
|
);
|
|
17435
|
-
return /* @__PURE__ */
|
|
17476
|
+
return /* @__PURE__ */ jsx96(ModalProvider, { children: /* @__PURE__ */ jsx96(OverlayContainer2, { children: /* @__PURE__ */ jsx96(AutoSaveStatusProvider, { children: /* @__PURE__ */ jsx96("div", { ...trussProps57({
|
|
17436
17477
|
position: "fixed",
|
|
17437
17478
|
top: "tp_0",
|
|
17438
17479
|
bottom: "bot_0",
|
|
@@ -17445,7 +17486,7 @@ function Modal(props) {
|
|
|
17445
17486
|
zIndex: ["z_var", {
|
|
17446
17487
|
"--zIndex": maybeCssVar33(zIndices.modalUnderlay)
|
|
17447
17488
|
}]
|
|
17448
|
-
}), ...underlayProps, ...testId.underlay, children: /* @__PURE__ */
|
|
17489
|
+
}), ...underlayProps, ...testId.underlay, children: /* @__PURE__ */ jsx96(FocusScope4, { contain: true, restoreFocus: true, autoFocus: true, children: /* @__PURE__ */ jsxs57("div", { ...trussProps57({
|
|
17449
17490
|
borderRadius: "br24",
|
|
17450
17491
|
backgroundColor: "bgWhite",
|
|
17451
17492
|
boxShadow: "bshModal",
|
|
@@ -17471,7 +17512,7 @@ function Modal(props) {
|
|
|
17471
17512
|
borderRadius: "br0"
|
|
17472
17513
|
} : {}
|
|
17473
17514
|
}), ref, ...overlayProps, ...dialogProps, ...modalProps, ...testId, children: [
|
|
17474
|
-
/* @__PURE__ */
|
|
17515
|
+
/* @__PURE__ */ jsxs57("header", { ...trussProps57({
|
|
17475
17516
|
display: "df",
|
|
17476
17517
|
flexDirection: "fdrr",
|
|
17477
17518
|
paddingTop: "pt3",
|
|
@@ -17485,10 +17526,10 @@ function Modal(props) {
|
|
|
17485
17526
|
borderColor: "bcGray200"
|
|
17486
17527
|
} : {}
|
|
17487
17528
|
}), children: [
|
|
17488
|
-
/* @__PURE__ */
|
|
17489
|
-
/* @__PURE__ */
|
|
17529
|
+
/* @__PURE__ */ jsx96("span", { className: "fs0 pl1", children: allowClosing && /* @__PURE__ */ jsx96(IconButton, { icon: "x", onClick: closeModal, ...testId.titleClose }) }),
|
|
17530
|
+
/* @__PURE__ */ jsx96("h1", { className: "fg1 fw6 fz_30px lh_36px gray900", ref: modalHeaderRef, ...titleProps, ...testId.title })
|
|
17490
17531
|
] }),
|
|
17491
|
-
/* @__PURE__ */
|
|
17532
|
+
/* @__PURE__ */ jsx96("main", { ref: modalBodyRef, ...trussProps57({
|
|
17492
17533
|
flexGrow: "fg1",
|
|
17493
17534
|
overflowY: "oya",
|
|
17494
17535
|
...hasScroll ? {
|
|
@@ -17500,7 +17541,7 @@ function Modal(props) {
|
|
|
17500
17541
|
overflowY: "oys"
|
|
17501
17542
|
} : {}
|
|
17502
17543
|
}), children: content }),
|
|
17503
|
-
/* @__PURE__ */
|
|
17544
|
+
/* @__PURE__ */ jsx96("footer", { className: "fs0", children: /* @__PURE__ */ jsx96("div", { ref: modalFooterRef }) })
|
|
17504
17545
|
] }) }) }) }) }) });
|
|
17505
17546
|
}
|
|
17506
17547
|
function ModalHeader({
|
|
@@ -17509,7 +17550,7 @@ function ModalHeader({
|
|
|
17509
17550
|
const {
|
|
17510
17551
|
modalHeaderDiv
|
|
17511
17552
|
} = useBeamContext();
|
|
17512
|
-
return createPortal3(/* @__PURE__ */
|
|
17553
|
+
return createPortal3(/* @__PURE__ */ jsx96(Fragment22, { children }), modalHeaderDiv);
|
|
17513
17554
|
}
|
|
17514
17555
|
function ModalBody({
|
|
17515
17556
|
children,
|
|
@@ -17521,7 +17562,7 @@ function ModalBody({
|
|
|
17521
17562
|
const testId = useTestIds({}, testIdPrefix);
|
|
17522
17563
|
return createPortal3(
|
|
17523
17564
|
// If `virtualized`, then we are expecting the `children` will handle their own scrollbar, so have the overflow hidden and adjust padding
|
|
17524
|
-
/* @__PURE__ */
|
|
17565
|
+
/* @__PURE__ */ jsx96("div", { ...trussProps57({
|
|
17525
17566
|
height: "h100",
|
|
17526
17567
|
...virtualized ? {
|
|
17527
17568
|
overflow: "oh",
|
|
@@ -17542,7 +17583,7 @@ function ModalFooter({
|
|
|
17542
17583
|
modalFooterDiv
|
|
17543
17584
|
} = useBeamContext();
|
|
17544
17585
|
const testId = useTestIds({}, testIdPrefix);
|
|
17545
|
-
return createPortal3(/* @__PURE__ */
|
|
17586
|
+
return createPortal3(/* @__PURE__ */ jsx96("div", { ...trussProps57({
|
|
17546
17587
|
...{
|
|
17547
17588
|
paddingTop: "pt3",
|
|
17548
17589
|
paddingBottom: "pb3",
|
|
@@ -17578,7 +17619,7 @@ import { createContext as createContext8, useContext as useContext18, useMemo as
|
|
|
17578
17619
|
|
|
17579
17620
|
// src/components/Snackbar/SnackbarNotice.tsx
|
|
17580
17621
|
import { trussProps as trussProps58 } from "@homebound/truss/runtime";
|
|
17581
|
-
import { jsx as
|
|
17622
|
+
import { jsx as jsx97, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
17582
17623
|
function SnackbarNotice(props) {
|
|
17583
17624
|
const {
|
|
17584
17625
|
icon,
|
|
@@ -17590,9 +17631,9 @@ function SnackbarNotice(props) {
|
|
|
17590
17631
|
} = props;
|
|
17591
17632
|
const tid = useTestIds(props, "snackbar");
|
|
17592
17633
|
const reallyHideClose = hideCloseButton && !persistent;
|
|
17593
|
-
return /* @__PURE__ */
|
|
17594
|
-
icon && /* @__PURE__ */
|
|
17595
|
-
/* @__PURE__ */
|
|
17634
|
+
return /* @__PURE__ */ jsxs58("div", { className: "white bgGray800 br4 fw4 fz_16px lh_24px df aic maxw_420px", "data-theme": contrastDataTheme, ...tid, role: "alert", children: [
|
|
17635
|
+
icon && /* @__PURE__ */ jsx97("span", { className: "fs0 pl_12px", children: /* @__PURE__ */ jsx97(Icon, { ...typeToIcon2[icon], ...tid.icon }) }),
|
|
17636
|
+
/* @__PURE__ */ jsx97(
|
|
17596
17637
|
"span",
|
|
17597
17638
|
{
|
|
17598
17639
|
...trussProps58({
|
|
@@ -17615,8 +17656,8 @@ function SnackbarNotice(props) {
|
|
|
17615
17656
|
children: message
|
|
17616
17657
|
}
|
|
17617
17658
|
),
|
|
17618
|
-
(action || !reallyHideClose) && /* @__PURE__ */
|
|
17619
|
-
action && /* @__PURE__ */
|
|
17659
|
+
(action || !reallyHideClose) && /* @__PURE__ */ jsxs58("span", { className: "fs0 df aic", children: [
|
|
17660
|
+
action && /* @__PURE__ */ jsx97("span", { ...trussProps58({
|
|
17620
17661
|
textTransform: "ttu",
|
|
17621
17662
|
fontWeight: "fw4",
|
|
17622
17663
|
fontSize: "fz_14px",
|
|
@@ -17624,8 +17665,8 @@ function SnackbarNotice(props) {
|
|
|
17624
17665
|
paddingRight: ["pr_var", {
|
|
17625
17666
|
"--paddingRight": `${!reallyHideClose && action.variant !== "text" ? 4 : 8}px`
|
|
17626
17667
|
}]
|
|
17627
|
-
}), children: /* @__PURE__ */
|
|
17628
|
-
!reallyHideClose && /* @__PURE__ */
|
|
17668
|
+
}), children: /* @__PURE__ */ jsx97(Button, { ...action, ...tid.action }) }),
|
|
17669
|
+
!reallyHideClose && /* @__PURE__ */ jsx97("span", { className: "pr1 lineHeight_0", children: /* @__PURE__ */ jsx97(IconButton, { icon: "x", onClick: onClose, ...tid.close }) })
|
|
17629
17670
|
] })
|
|
17630
17671
|
] });
|
|
17631
17672
|
}
|
|
@@ -17655,13 +17696,13 @@ var typeToIcon2 = {
|
|
|
17655
17696
|
|
|
17656
17697
|
// src/components/Snackbar/Snackbar.tsx
|
|
17657
17698
|
import { trussProps as trussProps59, maybeCssVar as maybeCssVar34 } from "@homebound/truss/runtime";
|
|
17658
|
-
import { jsx as
|
|
17699
|
+
import { jsx as jsx98 } from "react/jsx-runtime";
|
|
17659
17700
|
function Snackbar({
|
|
17660
17701
|
notices,
|
|
17661
17702
|
offset
|
|
17662
17703
|
}) {
|
|
17663
17704
|
const tid = useTestIds({});
|
|
17664
|
-
return /* @__PURE__ */
|
|
17705
|
+
return /* @__PURE__ */ jsx98("div", { ...tid.snackbarWrapper, ...trussProps59({
|
|
17665
17706
|
position: "fixed",
|
|
17666
17707
|
zIndex: ["z_var", {
|
|
17667
17708
|
"--zIndex": maybeCssVar34(zIndices.snackbar)
|
|
@@ -17674,14 +17715,14 @@ function Snackbar({
|
|
|
17674
17715
|
flexDirection: "fdc",
|
|
17675
17716
|
alignItems: "aifs",
|
|
17676
17717
|
gap: "gap_12px"
|
|
17677
|
-
}), children: notices.map((data) => /* @__PURE__ */
|
|
17718
|
+
}), children: notices.map((data) => /* @__PURE__ */ jsx98(SnackbarNotice, { ...data }, data.id)) });
|
|
17678
17719
|
}
|
|
17679
17720
|
var defaultOffset = {
|
|
17680
17721
|
bottom: 24
|
|
17681
17722
|
};
|
|
17682
17723
|
|
|
17683
17724
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
17684
|
-
import { jsx as
|
|
17725
|
+
import { jsx as jsx99, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
17685
17726
|
var SnackbarContext = createContext8({ setNotices: () => {
|
|
17686
17727
|
}, setOffset: () => {
|
|
17687
17728
|
} });
|
|
@@ -17689,9 +17730,9 @@ function SnackbarProvider(props) {
|
|
|
17689
17730
|
const [notices, setNotices] = useState37([]);
|
|
17690
17731
|
const [offset, setOffset] = useState37({});
|
|
17691
17732
|
const contextValue = useMemo31(() => ({ setNotices, setOffset }), []);
|
|
17692
|
-
return /* @__PURE__ */
|
|
17733
|
+
return /* @__PURE__ */ jsxs59(SnackbarContext.Provider, { value: contextValue, children: [
|
|
17693
17734
|
props.children,
|
|
17694
|
-
/* @__PURE__ */
|
|
17735
|
+
/* @__PURE__ */ jsx99(Snackbar, { notices, offset })
|
|
17695
17736
|
] });
|
|
17696
17737
|
}
|
|
17697
17738
|
function useSnackbarContext() {
|
|
@@ -17712,7 +17753,7 @@ var SuperDrawerWidth = /* @__PURE__ */ ((SuperDrawerWidth2) => {
|
|
|
17712
17753
|
|
|
17713
17754
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
17714
17755
|
import { trussProps as trussProps60, maybeCssVar as maybeCssVar35 } from "@homebound/truss/runtime";
|
|
17715
|
-
import { Fragment as Fragment23, jsx as
|
|
17756
|
+
import { Fragment as Fragment23, jsx as jsx100, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
17716
17757
|
import { createElement as createElement3 } from "react";
|
|
17717
17758
|
function SuperDrawer() {
|
|
17718
17759
|
const {
|
|
@@ -17750,7 +17791,7 @@ function SuperDrawer() {
|
|
|
17750
17791
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17751
17792
|
[headerRef, content]
|
|
17752
17793
|
);
|
|
17753
|
-
return createPortal4(/* @__PURE__ */
|
|
17794
|
+
return createPortal4(/* @__PURE__ */ jsx100(AnimatePresence, { children: content && /* @__PURE__ */ jsx100(Fragment23, { children: /* @__PURE__ */ createElement3(
|
|
17754
17795
|
motion.div,
|
|
17755
17796
|
{
|
|
17756
17797
|
...testId,
|
|
@@ -17782,7 +17823,7 @@ function SuperDrawer() {
|
|
|
17782
17823
|
},
|
|
17783
17824
|
onClick: closeDrawer
|
|
17784
17825
|
},
|
|
17785
|
-
/* @__PURE__ */
|
|
17826
|
+
/* @__PURE__ */ jsx100(
|
|
17786
17827
|
motion.aside,
|
|
17787
17828
|
{
|
|
17788
17829
|
...trussProps60({
|
|
@@ -17815,10 +17856,10 @@ function SuperDrawer() {
|
|
|
17815
17856
|
x: width2
|
|
17816
17857
|
},
|
|
17817
17858
|
onClick: (e) => e.stopPropagation(),
|
|
17818
|
-
children: /* @__PURE__ */
|
|
17819
|
-
/* @__PURE__ */
|
|
17820
|
-
/* @__PURE__ */
|
|
17821
|
-
/* @__PURE__ */
|
|
17859
|
+
children: /* @__PURE__ */ jsxs60(AutoSaveStatusProvider, { children: [
|
|
17860
|
+
/* @__PURE__ */ jsxs60("header", { className: "pt3 pb3 pr3 pl3 bbs_solid bbw_1px bcGray200 df aic jcsb gap3", children: [
|
|
17861
|
+
/* @__PURE__ */ jsx100("div", { ref: headerRef, className: "gray900 fg1" }),
|
|
17862
|
+
/* @__PURE__ */ jsx100(IconButton, { icon: "x", onClick: closeDrawer, ...testId.close })
|
|
17822
17863
|
] }),
|
|
17823
17864
|
content
|
|
17824
17865
|
] })
|
|
@@ -17842,7 +17883,7 @@ function defaultLabel(id) {
|
|
|
17842
17883
|
}
|
|
17843
17884
|
|
|
17844
17885
|
// src/forms/BoundCheckboxField.tsx
|
|
17845
|
-
import { jsx as
|
|
17886
|
+
import { jsx as jsx101 } from "react/jsx-runtime";
|
|
17846
17887
|
function BoundCheckboxField(props) {
|
|
17847
17888
|
const {
|
|
17848
17889
|
field,
|
|
@@ -17854,7 +17895,7 @@ function BoundCheckboxField(props) {
|
|
|
17854
17895
|
...others
|
|
17855
17896
|
} = props;
|
|
17856
17897
|
const testId = useTestIds(props, field.key);
|
|
17857
|
-
return /* @__PURE__ */
|
|
17898
|
+
return /* @__PURE__ */ jsx101(Observer, { children: () => /* @__PURE__ */ jsx101(
|
|
17858
17899
|
Checkbox,
|
|
17859
17900
|
{
|
|
17860
17901
|
label,
|
|
@@ -17881,7 +17922,7 @@ function BoundCheckboxField(props) {
|
|
|
17881
17922
|
|
|
17882
17923
|
// src/forms/BoundCheckboxGroupField.tsx
|
|
17883
17924
|
import { Observer as Observer2 } from "mobx-react";
|
|
17884
|
-
import { jsx as
|
|
17925
|
+
import { jsx as jsx102 } from "react/jsx-runtime";
|
|
17885
17926
|
function BoundCheckboxGroupField(props) {
|
|
17886
17927
|
const {
|
|
17887
17928
|
field,
|
|
@@ -17892,7 +17933,7 @@ function BoundCheckboxGroupField(props) {
|
|
|
17892
17933
|
...others
|
|
17893
17934
|
} = props;
|
|
17894
17935
|
const testId = useTestIds(props, field.key);
|
|
17895
|
-
return /* @__PURE__ */
|
|
17936
|
+
return /* @__PURE__ */ jsx102(Observer2, { children: () => /* @__PURE__ */ jsx102(
|
|
17896
17937
|
CheckboxGroup,
|
|
17897
17938
|
{
|
|
17898
17939
|
label,
|
|
@@ -17919,7 +17960,7 @@ function BoundCheckboxGroupField(props) {
|
|
|
17919
17960
|
|
|
17920
17961
|
// src/forms/BoundChipSelectField.tsx
|
|
17921
17962
|
import { Observer as Observer3 } from "mobx-react";
|
|
17922
|
-
import { jsx as
|
|
17963
|
+
import { jsx as jsx103 } from "react/jsx-runtime";
|
|
17923
17964
|
function BoundChipSelectField(props) {
|
|
17924
17965
|
const {
|
|
17925
17966
|
field,
|
|
@@ -17935,7 +17976,7 @@ function BoundChipSelectField(props) {
|
|
|
17935
17976
|
...others
|
|
17936
17977
|
} = props;
|
|
17937
17978
|
const testId = useTestIds(props, field.key);
|
|
17938
|
-
return /* @__PURE__ */
|
|
17979
|
+
return /* @__PURE__ */ jsx103(Observer3, { children: () => /* @__PURE__ */ jsx103(
|
|
17939
17980
|
ChipSelectField,
|
|
17940
17981
|
{
|
|
17941
17982
|
label,
|
|
@@ -17966,7 +18007,7 @@ function BoundChipSelectField(props) {
|
|
|
17966
18007
|
|
|
17967
18008
|
// src/forms/BoundDateField.tsx
|
|
17968
18009
|
import { Observer as Observer4 } from "mobx-react";
|
|
17969
|
-
import { jsx as
|
|
18010
|
+
import { jsx as jsx104 } from "react/jsx-runtime";
|
|
17970
18011
|
function BoundDateField(props) {
|
|
17971
18012
|
const {
|
|
17972
18013
|
field,
|
|
@@ -17979,7 +18020,7 @@ function BoundDateField(props) {
|
|
|
17979
18020
|
...others
|
|
17980
18021
|
} = props;
|
|
17981
18022
|
const testId = useTestIds(props, field.key);
|
|
17982
|
-
return /* @__PURE__ */
|
|
18023
|
+
return /* @__PURE__ */ jsx104(Observer4, { children: () => /* @__PURE__ */ jsx104(
|
|
17983
18024
|
DateField,
|
|
17984
18025
|
{
|
|
17985
18026
|
label,
|
|
@@ -18011,7 +18052,7 @@ function BoundDateField(props) {
|
|
|
18011
18052
|
|
|
18012
18053
|
// src/forms/BoundDateRangeField.tsx
|
|
18013
18054
|
import { Observer as Observer5 } from "mobx-react";
|
|
18014
|
-
import { jsx as
|
|
18055
|
+
import { jsx as jsx105 } from "react/jsx-runtime";
|
|
18015
18056
|
function BoundDateRangeField(props) {
|
|
18016
18057
|
const {
|
|
18017
18058
|
field,
|
|
@@ -18024,7 +18065,7 @@ function BoundDateRangeField(props) {
|
|
|
18024
18065
|
...others
|
|
18025
18066
|
} = props;
|
|
18026
18067
|
const testId = useTestIds(props, field.key);
|
|
18027
|
-
return /* @__PURE__ */
|
|
18068
|
+
return /* @__PURE__ */ jsx105(Observer5, { children: () => /* @__PURE__ */ jsx105(
|
|
18028
18069
|
DateRangeField,
|
|
18029
18070
|
{
|
|
18030
18071
|
label,
|
|
@@ -18059,7 +18100,7 @@ import { useCallback as useCallback22, useMemo as useMemo32 } from "react";
|
|
|
18059
18100
|
|
|
18060
18101
|
// src/forms/BoundListField.tsx
|
|
18061
18102
|
import { Observer as Observer6 } from "mobx-react";
|
|
18062
|
-
import { Fragment as Fragment24, jsx as
|
|
18103
|
+
import { Fragment as Fragment24, jsx as jsx106, jsxs as jsxs61 } from "react/jsx-runtime";
|
|
18063
18104
|
function ListField({
|
|
18064
18105
|
row,
|
|
18065
18106
|
formState
|
|
@@ -18076,9 +18117,9 @@ function ListField({
|
|
|
18076
18117
|
const tid = useTestIds({}, "listField");
|
|
18077
18118
|
const filteredRows = useComputed(() => filterDeleted ? listFieldObjectState.rows.filter((rowState) => filterDeleted(rowState)) : listFieldObjectState.rows, [filterDeleted]);
|
|
18078
18119
|
const listIsValid = useComputed(() => listFieldObjectState.valid, [filteredRows]);
|
|
18079
|
-
return /* @__PURE__ */
|
|
18080
|
-
filteredRows.map((rowState, index) => /* @__PURE__ */
|
|
18081
|
-
/* @__PURE__ */
|
|
18120
|
+
return /* @__PURE__ */ jsx106(Observer6, { children: () => /* @__PURE__ */ jsxs61("div", { className: "df fdc gap3", ...tid, children: [
|
|
18121
|
+
filteredRows.map((rowState, index) => /* @__PURE__ */ jsx106(ListFieldRowInputs, { rowState, rowNumber: index + 1, listFieldConfig, formState, listFieldKey }, `listFieldRowInputs-${listFieldKey}-${index}`)),
|
|
18122
|
+
/* @__PURE__ */ jsx106("div", { children: /* @__PURE__ */ jsx106(Button, { icon: "plus", label: `Add ${listFieldConfig.name}`, onClick: () => onNew(listFieldObjectState), variant: "secondary", disabled: !listIsValid }) })
|
|
18082
18123
|
] }) });
|
|
18083
18124
|
}
|
|
18084
18125
|
function ListFieldRowInputs({
|
|
@@ -18092,21 +18133,21 @@ function ListFieldRowInputs({
|
|
|
18092
18133
|
onDelete
|
|
18093
18134
|
} = listFieldConfig;
|
|
18094
18135
|
const tid = useTestIds({}, "listFieldRow");
|
|
18095
|
-
return /* @__PURE__ */
|
|
18096
|
-
/* @__PURE__ */
|
|
18097
|
-
/* @__PURE__ */
|
|
18136
|
+
return /* @__PURE__ */ jsxs61(Fragment24, { children: [
|
|
18137
|
+
/* @__PURE__ */ jsxs61("div", { className: "df jcsb", ...tid, children: [
|
|
18138
|
+
/* @__PURE__ */ jsxs61("span", { className: "fw6 fz_16px lh_24px", ...tid.name, children: [
|
|
18098
18139
|
listFieldConfig.name,
|
|
18099
18140
|
" ",
|
|
18100
18141
|
rowNumber
|
|
18101
18142
|
] }),
|
|
18102
|
-
onDelete && /* @__PURE__ */
|
|
18143
|
+
onDelete && /* @__PURE__ */ jsx106(ButtonMenu, { trigger: {
|
|
18103
18144
|
icon: "verticalDots"
|
|
18104
18145
|
}, items: [{
|
|
18105
18146
|
label: "Delete",
|
|
18106
18147
|
onClick: () => onDelete(formState[listFieldKey], rowState)
|
|
18107
18148
|
}], ...tid.menu })
|
|
18108
18149
|
] }),
|
|
18109
|
-
listFieldConfig.rows.map((row, rowIndex) => /* @__PURE__ */
|
|
18150
|
+
listFieldConfig.rows.map((row, rowIndex) => /* @__PURE__ */ jsx106(FormRow, { row, formState: rowState }, `listField-${listFieldKey}-row-${rowIndex}`))
|
|
18110
18151
|
] });
|
|
18111
18152
|
}
|
|
18112
18153
|
function isListFieldKey(key) {
|
|
@@ -18124,7 +18165,7 @@ function isListFieldRow(row) {
|
|
|
18124
18165
|
|
|
18125
18166
|
// src/forms/BoundMultiLineSelectField.tsx
|
|
18126
18167
|
import { Observer as Observer7 } from "mobx-react";
|
|
18127
|
-
import { jsx as
|
|
18168
|
+
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
18128
18169
|
function BoundMultiLineSelectField(props) {
|
|
18129
18170
|
const {
|
|
18130
18171
|
field,
|
|
@@ -18141,7 +18182,7 @@ function BoundMultiLineSelectField(props) {
|
|
|
18141
18182
|
...others
|
|
18142
18183
|
} = props;
|
|
18143
18184
|
const testId = useTestIds(props, field.key);
|
|
18144
|
-
return /* @__PURE__ */
|
|
18185
|
+
return /* @__PURE__ */ jsx107(Observer7, { children: () => /* @__PURE__ */ jsx107(
|
|
18145
18186
|
MultiLineSelectField,
|
|
18146
18187
|
{
|
|
18147
18188
|
label,
|
|
@@ -18172,7 +18213,7 @@ function BoundMultiLineSelectField(props) {
|
|
|
18172
18213
|
|
|
18173
18214
|
// src/forms/BoundMultiSelectField.tsx
|
|
18174
18215
|
import { Observer as Observer8 } from "mobx-react";
|
|
18175
|
-
import { jsx as
|
|
18216
|
+
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
18176
18217
|
function BoundMultiSelectField(props) {
|
|
18177
18218
|
const {
|
|
18178
18219
|
field,
|
|
@@ -18189,7 +18230,7 @@ function BoundMultiSelectField(props) {
|
|
|
18189
18230
|
...others
|
|
18190
18231
|
} = props;
|
|
18191
18232
|
const testId = useTestIds(props, field.key);
|
|
18192
|
-
return /* @__PURE__ */
|
|
18233
|
+
return /* @__PURE__ */ jsx108(Observer8, { children: () => /* @__PURE__ */ jsx108(
|
|
18193
18234
|
MultiSelectField,
|
|
18194
18235
|
{
|
|
18195
18236
|
label,
|
|
@@ -18220,7 +18261,7 @@ function BoundMultiSelectField(props) {
|
|
|
18220
18261
|
|
|
18221
18262
|
// src/forms/BoundNumberField.tsx
|
|
18222
18263
|
import { Observer as Observer9 } from "mobx-react";
|
|
18223
|
-
import { jsx as
|
|
18264
|
+
import { jsx as jsx109 } from "react/jsx-runtime";
|
|
18224
18265
|
function BoundNumberField(props) {
|
|
18225
18266
|
const {
|
|
18226
18267
|
field,
|
|
@@ -18234,7 +18275,7 @@ function BoundNumberField(props) {
|
|
|
18234
18275
|
...others
|
|
18235
18276
|
} = props;
|
|
18236
18277
|
const testId = useTestIds(props, label || field.key);
|
|
18237
|
-
return /* @__PURE__ */
|
|
18278
|
+
return /* @__PURE__ */ jsx109(Observer9, { children: () => /* @__PURE__ */ jsx109(
|
|
18238
18279
|
NumberField,
|
|
18239
18280
|
{
|
|
18240
18281
|
label,
|
|
@@ -18264,7 +18305,7 @@ function BoundNumberField(props) {
|
|
|
18264
18305
|
|
|
18265
18306
|
// src/forms/BoundRadioGroupField.tsx
|
|
18266
18307
|
import { Observer as Observer10 } from "mobx-react";
|
|
18267
|
-
import { jsx as
|
|
18308
|
+
import { jsx as jsx110 } from "react/jsx-runtime";
|
|
18268
18309
|
function BoundRadioGroupField(props) {
|
|
18269
18310
|
const {
|
|
18270
18311
|
field,
|
|
@@ -18275,7 +18316,7 @@ function BoundRadioGroupField(props) {
|
|
|
18275
18316
|
...others
|
|
18276
18317
|
} = props;
|
|
18277
18318
|
const testId = useTestIds(props, field.key);
|
|
18278
|
-
return /* @__PURE__ */
|
|
18319
|
+
return /* @__PURE__ */ jsx110(Observer10, { children: () => /* @__PURE__ */ jsx110(
|
|
18279
18320
|
RadioGroupField,
|
|
18280
18321
|
{
|
|
18281
18322
|
label,
|
|
@@ -18302,7 +18343,7 @@ function BoundRadioGroupField(props) {
|
|
|
18302
18343
|
|
|
18303
18344
|
// src/forms/BoundRichTextField.tsx
|
|
18304
18345
|
import { Observer as Observer11 } from "mobx-react";
|
|
18305
|
-
import { jsx as
|
|
18346
|
+
import { jsx as jsx111 } from "react/jsx-runtime";
|
|
18306
18347
|
function BoundRichTextField(props) {
|
|
18307
18348
|
const {
|
|
18308
18349
|
field,
|
|
@@ -18314,7 +18355,7 @@ function BoundRichTextField(props) {
|
|
|
18314
18355
|
...others
|
|
18315
18356
|
} = props;
|
|
18316
18357
|
const testId = useTestIds(props, field.key);
|
|
18317
|
-
return /* @__PURE__ */
|
|
18358
|
+
return /* @__PURE__ */ jsx111(Observer11, { children: () => /* @__PURE__ */ jsx111(
|
|
18318
18359
|
RichTextField,
|
|
18319
18360
|
{
|
|
18320
18361
|
label,
|
|
@@ -18337,11 +18378,11 @@ function BoundRichTextField(props) {
|
|
|
18337
18378
|
|
|
18338
18379
|
// src/forms/BoundSelectCardField.tsx
|
|
18339
18380
|
import { Observer as Observer12 } from "mobx-react";
|
|
18340
|
-
import { jsx as
|
|
18381
|
+
import { jsx as jsx112 } from "react/jsx-runtime";
|
|
18341
18382
|
function BoundSelectCardField(props) {
|
|
18342
18383
|
const { icon, field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
18343
18384
|
const testId = useTestIds(props, field.key);
|
|
18344
|
-
return /* @__PURE__ */
|
|
18385
|
+
return /* @__PURE__ */ jsx112(Observer12, { children: () => /* @__PURE__ */ jsx112(
|
|
18345
18386
|
SelectCard,
|
|
18346
18387
|
{
|
|
18347
18388
|
icon,
|
|
@@ -18360,11 +18401,11 @@ function BoundSelectCardField(props) {
|
|
|
18360
18401
|
|
|
18361
18402
|
// src/forms/BoundSelectCardGroupField.tsx
|
|
18362
18403
|
import { Observer as Observer13 } from "mobx-react";
|
|
18363
|
-
import { jsx as
|
|
18404
|
+
import { jsx as jsx113 } from "react/jsx-runtime";
|
|
18364
18405
|
function BoundSelectCardGroupField(props) {
|
|
18365
18406
|
const { field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
18366
18407
|
const testId = useTestIds(props, field.key);
|
|
18367
|
-
return /* @__PURE__ */
|
|
18408
|
+
return /* @__PURE__ */ jsx113(Observer13, { children: () => /* @__PURE__ */ jsx113(
|
|
18368
18409
|
SelectCardGroup,
|
|
18369
18410
|
{
|
|
18370
18411
|
label,
|
|
@@ -18382,7 +18423,7 @@ function BoundSelectCardGroupField(props) {
|
|
|
18382
18423
|
|
|
18383
18424
|
// src/forms/BoundSelectField.tsx
|
|
18384
18425
|
import { Observer as Observer14 } from "mobx-react";
|
|
18385
|
-
import { jsx as
|
|
18426
|
+
import { jsx as jsx114 } from "react/jsx-runtime";
|
|
18386
18427
|
function BoundSelectField(props) {
|
|
18387
18428
|
const {
|
|
18388
18429
|
field,
|
|
@@ -18397,7 +18438,7 @@ function BoundSelectField(props) {
|
|
|
18397
18438
|
...others
|
|
18398
18439
|
} = props;
|
|
18399
18440
|
const testId = useTestIds(props, field.key);
|
|
18400
|
-
return /* @__PURE__ */
|
|
18441
|
+
return /* @__PURE__ */ jsx114(Observer14, { children: () => /* @__PURE__ */ jsx114(
|
|
18401
18442
|
SelectField,
|
|
18402
18443
|
{
|
|
18403
18444
|
label,
|
|
@@ -18428,7 +18469,7 @@ function BoundSelectField(props) {
|
|
|
18428
18469
|
|
|
18429
18470
|
// src/forms/BoundSwitchField.tsx
|
|
18430
18471
|
import { Observer as Observer15 } from "mobx-react";
|
|
18431
|
-
import { jsx as
|
|
18472
|
+
import { jsx as jsx115 } from "react/jsx-runtime";
|
|
18432
18473
|
function BoundSwitchField(props) {
|
|
18433
18474
|
const {
|
|
18434
18475
|
field,
|
|
@@ -18439,7 +18480,7 @@ function BoundSwitchField(props) {
|
|
|
18439
18480
|
...others
|
|
18440
18481
|
} = props;
|
|
18441
18482
|
const testId = useTestIds(props, field.key);
|
|
18442
|
-
return /* @__PURE__ */
|
|
18483
|
+
return /* @__PURE__ */ jsx115(Observer15, { children: () => /* @__PURE__ */ jsx115(
|
|
18443
18484
|
Switch,
|
|
18444
18485
|
{
|
|
18445
18486
|
label,
|
|
@@ -18458,7 +18499,7 @@ function BoundSwitchField(props) {
|
|
|
18458
18499
|
|
|
18459
18500
|
// src/forms/BoundTextAreaField.tsx
|
|
18460
18501
|
import { Observer as Observer16 } from "mobx-react";
|
|
18461
|
-
import { jsx as
|
|
18502
|
+
import { jsx as jsx116 } from "react/jsx-runtime";
|
|
18462
18503
|
function BoundTextAreaField(props) {
|
|
18463
18504
|
const {
|
|
18464
18505
|
field,
|
|
@@ -18471,7 +18512,7 @@ function BoundTextAreaField(props) {
|
|
|
18471
18512
|
...others
|
|
18472
18513
|
} = props;
|
|
18473
18514
|
const testId = useTestIds(props, field.key);
|
|
18474
|
-
return /* @__PURE__ */
|
|
18515
|
+
return /* @__PURE__ */ jsx116(Observer16, { children: () => /* @__PURE__ */ jsx116(
|
|
18475
18516
|
TextAreaField,
|
|
18476
18517
|
{
|
|
18477
18518
|
label,
|
|
@@ -18500,7 +18541,7 @@ function BoundTextAreaField(props) {
|
|
|
18500
18541
|
|
|
18501
18542
|
// src/forms/BoundTextField.tsx
|
|
18502
18543
|
import { Observer as Observer17 } from "mobx-react";
|
|
18503
|
-
import { jsx as
|
|
18544
|
+
import { jsx as jsx117 } from "react/jsx-runtime";
|
|
18504
18545
|
function BoundTextField(props) {
|
|
18505
18546
|
const {
|
|
18506
18547
|
field,
|
|
@@ -18513,7 +18554,7 @@ function BoundTextField(props) {
|
|
|
18513
18554
|
...others
|
|
18514
18555
|
} = props;
|
|
18515
18556
|
const testId = useTestIds(props, field.key);
|
|
18516
|
-
return /* @__PURE__ */
|
|
18557
|
+
return /* @__PURE__ */ jsx117(Observer17, { children: () => /* @__PURE__ */ jsx117(
|
|
18517
18558
|
TextField,
|
|
18518
18559
|
{
|
|
18519
18560
|
label,
|
|
@@ -18542,11 +18583,11 @@ function BoundTextField(props) {
|
|
|
18542
18583
|
|
|
18543
18584
|
// src/forms/BoundToggleChipGroupField.tsx
|
|
18544
18585
|
import { Observer as Observer18 } from "mobx-react";
|
|
18545
|
-
import { jsx as
|
|
18586
|
+
import { jsx as jsx118 } from "react/jsx-runtime";
|
|
18546
18587
|
function BoundToggleChipGroupField(props) {
|
|
18547
18588
|
const { field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
18548
18589
|
const testId = useTestIds(props, field.key);
|
|
18549
|
-
return /* @__PURE__ */
|
|
18590
|
+
return /* @__PURE__ */ jsx118(Observer18, { children: () => /* @__PURE__ */ jsx118(
|
|
18550
18591
|
ToggleChipGroup,
|
|
18551
18592
|
{
|
|
18552
18593
|
label,
|
|
@@ -18561,7 +18602,7 @@ function BoundToggleChipGroupField(props) {
|
|
|
18561
18602
|
|
|
18562
18603
|
// src/forms/BoundTreeSelectField.tsx
|
|
18563
18604
|
import { Observer as Observer19 } from "mobx-react";
|
|
18564
|
-
import { jsx as
|
|
18605
|
+
import { jsx as jsx119 } from "react/jsx-runtime";
|
|
18565
18606
|
function BoundTreeSelectField(props) {
|
|
18566
18607
|
const {
|
|
18567
18608
|
field,
|
|
@@ -18578,7 +18619,7 @@ function BoundTreeSelectField(props) {
|
|
|
18578
18619
|
...others
|
|
18579
18620
|
} = props;
|
|
18580
18621
|
const testId = useTestIds(props, field.key);
|
|
18581
|
-
return /* @__PURE__ */
|
|
18622
|
+
return /* @__PURE__ */ jsx119(Observer19, { children: () => /* @__PURE__ */ jsx119(
|
|
18582
18623
|
TreeSelectField,
|
|
18583
18624
|
{
|
|
18584
18625
|
label,
|
|
@@ -18610,7 +18651,7 @@ function BoundTreeSelectField(props) {
|
|
|
18610
18651
|
// src/forms/FormLines.tsx
|
|
18611
18652
|
import { Children, cloneElement } from "react";
|
|
18612
18653
|
import { trussProps as trussProps61, maybeCssVar as maybeCssVar36 } from "@homebound/truss/runtime";
|
|
18613
|
-
import { jsx as
|
|
18654
|
+
import { jsx as jsx120 } from "react/jsx-runtime";
|
|
18614
18655
|
var __maybeInc13 = (inc) => {
|
|
18615
18656
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
18616
18657
|
};
|
|
@@ -18645,7 +18686,7 @@ function FormLines(props) {
|
|
|
18645
18686
|
fullWidth: true
|
|
18646
18687
|
} : {}
|
|
18647
18688
|
};
|
|
18648
|
-
return /* @__PURE__ */
|
|
18689
|
+
return /* @__PURE__ */ jsx120(PresentationProvider, { fieldProps: newFieldProps, children: /* @__PURE__ */ jsx120("div", { ...trussProps61({
|
|
18649
18690
|
display: "df",
|
|
18650
18691
|
flexDirection: "fdc",
|
|
18651
18692
|
gap: ["gap_var", {
|
|
@@ -18669,7 +18710,7 @@ function FormLines(props) {
|
|
|
18669
18710
|
}) }) });
|
|
18670
18711
|
}
|
|
18671
18712
|
function FormDivider() {
|
|
18672
|
-
return /* @__PURE__ */
|
|
18713
|
+
return /* @__PURE__ */ jsx120("div", { className: "h_1px bgGray200" });
|
|
18673
18714
|
}
|
|
18674
18715
|
function FieldGroup(props) {
|
|
18675
18716
|
const {
|
|
@@ -18681,7 +18722,7 @@ function FieldGroup(props) {
|
|
|
18681
18722
|
const width2 = widths2[i] || 1;
|
|
18682
18723
|
return typeof width2 === `number` ? `${width2}fr` : width2;
|
|
18683
18724
|
}).join(" ");
|
|
18684
|
-
return /* @__PURE__ */
|
|
18725
|
+
return /* @__PURE__ */ jsx120("div", { ...trussProps61({
|
|
18685
18726
|
display: "dg",
|
|
18686
18727
|
gap: "gap2",
|
|
18687
18728
|
gridTemplateColumns: ["gtc_var", {
|
|
@@ -18698,7 +18739,7 @@ var sizes = {
|
|
|
18698
18739
|
|
|
18699
18740
|
// src/forms/BoundForm.tsx
|
|
18700
18741
|
import { trussProps as trussProps62, maybeCssVar as maybeCssVar37 } from "@homebound/truss/runtime";
|
|
18701
|
-
import { jsx as
|
|
18742
|
+
import { jsx as jsx121 } from "react/jsx-runtime";
|
|
18702
18743
|
import { createElement as createElement4 } from "react";
|
|
18703
18744
|
var reactNodePrefix = "reactNode";
|
|
18704
18745
|
var listFieldPrefix = "listField";
|
|
@@ -18711,7 +18752,7 @@ function BoundForm(props) {
|
|
|
18711
18752
|
const getRowKey = useCallback22((row, rowType) => {
|
|
18712
18753
|
return `${rowType}-${Object.keys(row).join("-")}`;
|
|
18713
18754
|
}, []);
|
|
18714
|
-
return /* @__PURE__ */
|
|
18755
|
+
return /* @__PURE__ */ jsx121("div", { ...tid, children: /* @__PURE__ */ jsx121(FormLines, { width: "full", gap: 3.5, children: rows.map((row) => isListFieldRow(row) ? /* @__PURE__ */ jsx121(ListField, { row, formState }, getRowKey(row, "listField")) : /* @__PURE__ */ jsx121(FormRow, { row, formState }, getRowKey(row, "fieldGroup"))) }) });
|
|
18715
18756
|
}
|
|
18716
18757
|
function FormRow({
|
|
18717
18758
|
row,
|
|
@@ -18748,7 +18789,7 @@ function FormRow({
|
|
|
18748
18789
|
}, [row, formState]);
|
|
18749
18790
|
const isLoading = useComputed(() => formState.loading, [formState]);
|
|
18750
18791
|
const itemFlexBasis = 100 / componentsWithConfig.length - 3;
|
|
18751
|
-
return /* @__PURE__ */
|
|
18792
|
+
return /* @__PURE__ */ jsx121("div", { className: "df fww aic gap2", ...tid, children: componentsWithConfig.map(({
|
|
18752
18793
|
component,
|
|
18753
18794
|
key,
|
|
18754
18795
|
minWidth
|
|
@@ -18760,110 +18801,110 @@ function FormRow({
|
|
|
18760
18801
|
"--flexBasis": maybeCssVar37(`${itemFlexBasis}%`)
|
|
18761
18802
|
}],
|
|
18762
18803
|
flexGrow: "fg1"
|
|
18763
|
-
}), key: key.toString() }, isLoading ? /* @__PURE__ */
|
|
18804
|
+
}), key: key.toString() }, isLoading ? /* @__PURE__ */ jsx121(LoadingSkeleton, { size: "lg" }) : component)) });
|
|
18764
18805
|
}
|
|
18765
18806
|
function isCustomReactNodeKey(key) {
|
|
18766
18807
|
return key.toString().startsWith(reactNodePrefix);
|
|
18767
18808
|
}
|
|
18768
18809
|
function boundSelectField(props) {
|
|
18769
18810
|
return (field) => ({
|
|
18770
|
-
component: /* @__PURE__ */
|
|
18811
|
+
component: /* @__PURE__ */ jsx121(BoundSelectField, { field, ...props }),
|
|
18771
18812
|
minWidth: "200px"
|
|
18772
18813
|
});
|
|
18773
18814
|
}
|
|
18774
18815
|
function boundMultiSelectField(props) {
|
|
18775
18816
|
return (field) => ({
|
|
18776
|
-
component: /* @__PURE__ */
|
|
18817
|
+
component: /* @__PURE__ */ jsx121(BoundMultiSelectField, { field, ...props }),
|
|
18777
18818
|
minWidth: "200px"
|
|
18778
18819
|
});
|
|
18779
18820
|
}
|
|
18780
18821
|
function boundMultilineSelectField(props) {
|
|
18781
18822
|
return (field) => ({
|
|
18782
|
-
component: /* @__PURE__ */
|
|
18823
|
+
component: /* @__PURE__ */ jsx121(BoundMultiLineSelectField, { field, ...props }),
|
|
18783
18824
|
minWidth: "200px"
|
|
18784
18825
|
});
|
|
18785
18826
|
}
|
|
18786
18827
|
function boundTextField(props) {
|
|
18787
18828
|
return (field) => ({
|
|
18788
|
-
component: /* @__PURE__ */
|
|
18829
|
+
component: /* @__PURE__ */ jsx121(BoundTextField, { field, ...props }),
|
|
18789
18830
|
minWidth: "150px"
|
|
18790
18831
|
});
|
|
18791
18832
|
}
|
|
18792
18833
|
function boundTextAreaField(props) {
|
|
18793
18834
|
return (field) => ({
|
|
18794
|
-
component: /* @__PURE__ */
|
|
18835
|
+
component: /* @__PURE__ */ jsx121(BoundTextAreaField, { field, ...props }),
|
|
18795
18836
|
minWidth: "200px"
|
|
18796
18837
|
});
|
|
18797
18838
|
}
|
|
18798
18839
|
function boundNumberField(props) {
|
|
18799
18840
|
return (field) => ({
|
|
18800
|
-
component: /* @__PURE__ */
|
|
18841
|
+
component: /* @__PURE__ */ jsx121(BoundNumberField, { field, ...props }),
|
|
18801
18842
|
minWidth: "150px"
|
|
18802
18843
|
});
|
|
18803
18844
|
}
|
|
18804
18845
|
function boundDateField(props) {
|
|
18805
18846
|
return (field) => ({
|
|
18806
|
-
component: /* @__PURE__ */
|
|
18847
|
+
component: /* @__PURE__ */ jsx121(BoundDateField, { field, ...props }),
|
|
18807
18848
|
minWidth: "150px"
|
|
18808
18849
|
});
|
|
18809
18850
|
}
|
|
18810
18851
|
function boundDateRangeField(props) {
|
|
18811
18852
|
return (field) => ({
|
|
18812
|
-
component: /* @__PURE__ */
|
|
18853
|
+
component: /* @__PURE__ */ jsx121(BoundDateRangeField, { field, ...props }),
|
|
18813
18854
|
minWidth: "150px"
|
|
18814
18855
|
});
|
|
18815
18856
|
}
|
|
18816
18857
|
function boundCheckboxField(props) {
|
|
18817
18858
|
return (field) => ({
|
|
18818
|
-
component: /* @__PURE__ */
|
|
18859
|
+
component: /* @__PURE__ */ jsx121(BoundCheckboxField, { field, ...props }),
|
|
18819
18860
|
minWidth: "min-content"
|
|
18820
18861
|
});
|
|
18821
18862
|
}
|
|
18822
18863
|
function boundCheckboxGroupField(props) {
|
|
18823
18864
|
return (field) => ({
|
|
18824
|
-
component: /* @__PURE__ */
|
|
18865
|
+
component: /* @__PURE__ */ jsx121(BoundCheckboxGroupField, { field, ...props }),
|
|
18825
18866
|
minWidth: "200px"
|
|
18826
18867
|
});
|
|
18827
18868
|
}
|
|
18828
18869
|
function boundSelectCardField(props) {
|
|
18829
18870
|
return (field) => ({
|
|
18830
|
-
component: /* @__PURE__ */
|
|
18871
|
+
component: /* @__PURE__ */ jsx121(BoundSelectCardField, { field, ...props }),
|
|
18831
18872
|
minWidth: "150px"
|
|
18832
18873
|
});
|
|
18833
18874
|
}
|
|
18834
18875
|
function boundSelectCardGroupField(props) {
|
|
18835
18876
|
return (field) => ({
|
|
18836
|
-
component: /* @__PURE__ */
|
|
18877
|
+
component: /* @__PURE__ */ jsx121(BoundSelectCardGroupField, { field, ...props }),
|
|
18837
18878
|
minWidth: "100%"
|
|
18838
18879
|
});
|
|
18839
18880
|
}
|
|
18840
18881
|
function boundRadioGroupField(props) {
|
|
18841
18882
|
return (field) => ({
|
|
18842
|
-
component: /* @__PURE__ */
|
|
18883
|
+
component: /* @__PURE__ */ jsx121(BoundRadioGroupField, { field, ...props }),
|
|
18843
18884
|
minWidth: "200px"
|
|
18844
18885
|
});
|
|
18845
18886
|
}
|
|
18846
18887
|
function boundRichTextField(props) {
|
|
18847
18888
|
return (field) => ({
|
|
18848
|
-
component: /* @__PURE__ */
|
|
18889
|
+
component: /* @__PURE__ */ jsx121(BoundRichTextField, { field, ...props }),
|
|
18849
18890
|
minWidth: "200px"
|
|
18850
18891
|
});
|
|
18851
18892
|
}
|
|
18852
18893
|
function boundSwitchField(props) {
|
|
18853
18894
|
return (field) => ({
|
|
18854
|
-
component: /* @__PURE__ */
|
|
18895
|
+
component: /* @__PURE__ */ jsx121(BoundSwitchField, { field, labelStyle: "inline", ...props }),
|
|
18855
18896
|
minWidth: "min-content"
|
|
18856
18897
|
});
|
|
18857
18898
|
}
|
|
18858
18899
|
function boundToggleChipGroupField(props) {
|
|
18859
18900
|
return (field) => ({
|
|
18860
|
-
component: /* @__PURE__ */
|
|
18901
|
+
component: /* @__PURE__ */ jsx121(BoundToggleChipGroupField, { field, ...props }),
|
|
18861
18902
|
minWidth: "100%"
|
|
18862
18903
|
});
|
|
18863
18904
|
}
|
|
18864
18905
|
function boundTreeSelectField(props) {
|
|
18865
18906
|
return (field) => ({
|
|
18866
|
-
component: /* @__PURE__ */
|
|
18907
|
+
component: /* @__PURE__ */ jsx121(BoundTreeSelectField, { field, ...props }),
|
|
18867
18908
|
minWidth: "200px"
|
|
18868
18909
|
});
|
|
18869
18910
|
}
|
|
@@ -18871,7 +18912,7 @@ function boundTreeSelectField(props) {
|
|
|
18871
18912
|
// src/components/internal/CompoundField.tsx
|
|
18872
18913
|
import { cloneElement as cloneElement2, useState as useState38 } from "react";
|
|
18873
18914
|
import { trussProps as trussProps63 } from "@homebound/truss/runtime";
|
|
18874
|
-
import { jsx as
|
|
18915
|
+
import { jsx as jsx122, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
18875
18916
|
function CompoundField({
|
|
18876
18917
|
children
|
|
18877
18918
|
}) {
|
|
@@ -18903,8 +18944,8 @@ function CompoundField({
|
|
|
18903
18944
|
}
|
|
18904
18945
|
setHasFocusWithin(false);
|
|
18905
18946
|
}
|
|
18906
|
-
return /* @__PURE__ */
|
|
18907
|
-
/* @__PURE__ */
|
|
18947
|
+
return /* @__PURE__ */ jsxs62("div", { className: "df", onFocusCapture, onBlurCapture, children: [
|
|
18948
|
+
/* @__PURE__ */ jsx122("div", { ...trussProps63({
|
|
18908
18949
|
...commonStyles,
|
|
18909
18950
|
...{
|
|
18910
18951
|
borderLeftStyle: "bls_solid",
|
|
@@ -18917,7 +18958,7 @@ function CompoundField({
|
|
|
18917
18958
|
}), children: cloneElement2(children[0], {
|
|
18918
18959
|
internalProps
|
|
18919
18960
|
}) }),
|
|
18920
|
-
/* @__PURE__ */
|
|
18961
|
+
/* @__PURE__ */ jsx122("div", { ...trussProps63({
|
|
18921
18962
|
...{
|
|
18922
18963
|
width: "w_1px",
|
|
18923
18964
|
flex: "fn",
|
|
@@ -18927,7 +18968,7 @@ function CompoundField({
|
|
|
18927
18968
|
backgroundColor: "bgBlue700"
|
|
18928
18969
|
}
|
|
18929
18970
|
}) }),
|
|
18930
|
-
/* @__PURE__ */
|
|
18971
|
+
/* @__PURE__ */ jsx122("div", { ...trussProps63({
|
|
18931
18972
|
...commonStyles,
|
|
18932
18973
|
...{
|
|
18933
18974
|
flexGrow: "fg1",
|
|
@@ -18945,12 +18986,12 @@ function CompoundField({
|
|
|
18945
18986
|
}
|
|
18946
18987
|
|
|
18947
18988
|
// src/forms/BoundSelectAndTextField.tsx
|
|
18948
|
-
import { jsx as
|
|
18989
|
+
import { jsx as jsx123, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
18949
18990
|
function BoundSelectAndTextField(props) {
|
|
18950
18991
|
const { selectFieldProps, textFieldProps, compact = true } = props;
|
|
18951
18992
|
const tid = useTestIds(props);
|
|
18952
|
-
return /* @__PURE__ */
|
|
18953
|
-
/* @__PURE__ */
|
|
18993
|
+
return /* @__PURE__ */ jsxs63(CompoundField, { children: [
|
|
18994
|
+
/* @__PURE__ */ jsx123(
|
|
18954
18995
|
BoundSelectField,
|
|
18955
18996
|
{
|
|
18956
18997
|
...tid[defaultTestId(selectFieldProps.label ?? selectFieldProps.field.key)],
|
|
@@ -18959,7 +19000,7 @@ function BoundSelectAndTextField(props) {
|
|
|
18959
19000
|
compact
|
|
18960
19001
|
}
|
|
18961
19002
|
),
|
|
18962
|
-
/* @__PURE__ */
|
|
19003
|
+
/* @__PURE__ */ jsx123(
|
|
18963
19004
|
BoundTextField,
|
|
18964
19005
|
{
|
|
18965
19006
|
...tid[defaultTestId(textFieldProps.label ?? textFieldProps.field.key)],
|
|
@@ -18972,7 +19013,7 @@ function BoundSelectAndTextField(props) {
|
|
|
18972
19013
|
|
|
18973
19014
|
// src/forms/FormHeading.tsx
|
|
18974
19015
|
import { trussProps as trussProps64 } from "@homebound/truss/runtime";
|
|
18975
|
-
import { jsx as
|
|
19016
|
+
import { jsx as jsx124 } from "react/jsx-runtime";
|
|
18976
19017
|
function FormHeading(props) {
|
|
18977
19018
|
const {
|
|
18978
19019
|
title,
|
|
@@ -18982,7 +19023,7 @@ function FormHeading(props) {
|
|
|
18982
19023
|
} = props;
|
|
18983
19024
|
return (
|
|
18984
19025
|
// Add space before the heading, but only if it's not first.
|
|
18985
|
-
/* @__PURE__ */
|
|
19026
|
+
/* @__PURE__ */ jsx124("h3", { ...trussProps64({
|
|
18986
19027
|
...{
|
|
18987
19028
|
fontWeight: "fw4",
|
|
18988
19029
|
fontSize: "fz_16px",
|
|
@@ -19000,7 +19041,7 @@ FormHeading.isFormHeading = true;
|
|
|
19000
19041
|
// src/forms/StaticField.tsx
|
|
19001
19042
|
import { useId as useId2 } from "@react-aria/utils";
|
|
19002
19043
|
import { trussProps as trussProps65 } from "@homebound/truss/runtime";
|
|
19003
|
-
import { jsx as
|
|
19044
|
+
import { jsx as jsx125, jsxs as jsxs64 } from "react/jsx-runtime";
|
|
19004
19045
|
function StaticField(props) {
|
|
19005
19046
|
const {
|
|
19006
19047
|
fieldProps
|
|
@@ -19013,15 +19054,15 @@ function StaticField(props) {
|
|
|
19013
19054
|
} = props;
|
|
19014
19055
|
const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
|
|
19015
19056
|
const id = useId2();
|
|
19016
|
-
return /* @__PURE__ */
|
|
19057
|
+
return /* @__PURE__ */ jsxs64("div", { ...trussProps65({
|
|
19017
19058
|
...labelStyle === "left" ? {
|
|
19018
19059
|
display: "df",
|
|
19019
19060
|
justifyContent: "jcsb",
|
|
19020
19061
|
maxWidth: "maxw100"
|
|
19021
19062
|
} : {}
|
|
19022
19063
|
}), ...tid.container, children: [
|
|
19023
|
-
/* @__PURE__ */
|
|
19024
|
-
/* @__PURE__ */
|
|
19064
|
+
/* @__PURE__ */ jsx125("label", { className: "db fw4 fz_14px lh_20px gray700 mb_4px", htmlFor: id, ...tid.label, children: label }),
|
|
19065
|
+
/* @__PURE__ */ jsx125("div", { id, ...trussProps65({
|
|
19025
19066
|
fontWeight: "fw4",
|
|
19026
19067
|
fontSize: "fz_14px",
|
|
19027
19068
|
lineHeight: "lh_20px",
|
|
@@ -19037,7 +19078,7 @@ function StaticField(props) {
|
|
|
19037
19078
|
|
|
19038
19079
|
// src/forms/SubmitButton.tsx
|
|
19039
19080
|
import { useLocalObservable } from "mobx-react";
|
|
19040
|
-
import { jsx as
|
|
19081
|
+
import { jsx as jsx126 } from "react/jsx-runtime";
|
|
19041
19082
|
function SubmitButton(props) {
|
|
19042
19083
|
const { form, disabled, onClick, label = "Submit", ...others } = props;
|
|
19043
19084
|
if (typeof onClick === "string") {
|
|
@@ -19047,7 +19088,7 @@ function SubmitButton(props) {
|
|
|
19047
19088
|
const canSubmit = useComputed(() => {
|
|
19048
19089
|
return form.isNewEntity && !state.clicked ? true : form.dirty && form.valid;
|
|
19049
19090
|
}, [form]);
|
|
19050
|
-
return /* @__PURE__ */
|
|
19091
|
+
return /* @__PURE__ */ jsx126(
|
|
19051
19092
|
Button,
|
|
19052
19093
|
{
|
|
19053
19094
|
label,
|
|
@@ -19070,7 +19111,7 @@ import { useDebouncedCallback as useDebouncedCallback5 } from "use-debounce";
|
|
|
19070
19111
|
import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
|
|
19071
19112
|
import { useState as useState39 } from "react";
|
|
19072
19113
|
import { trussProps as trussProps66, maybeCssVar as maybeCssVar38 } from "@homebound/truss/runtime";
|
|
19073
|
-
import { Fragment as Fragment25, jsx as
|
|
19114
|
+
import { Fragment as Fragment25, jsx as jsx127, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
19074
19115
|
var RIGHT_SIDEBAR_MIN_WIDTH = "250px";
|
|
19075
19116
|
function RightSidebar({
|
|
19076
19117
|
content,
|
|
@@ -19078,8 +19119,8 @@ function RightSidebar({
|
|
|
19078
19119
|
}) {
|
|
19079
19120
|
const [selectedIcon, setSelectedIcon] = useState39(void 0);
|
|
19080
19121
|
const tid = useTestIds({}, "rightSidebar");
|
|
19081
|
-
return /* @__PURE__ */
|
|
19082
|
-
/* @__PURE__ */
|
|
19122
|
+
return /* @__PURE__ */ jsxs65(Fragment25, { children: [
|
|
19123
|
+
/* @__PURE__ */ jsx127("div", { className: "df jcfe absolute right0 pr3", children: /* @__PURE__ */ jsx127(AnimatePresence2, { children: !selectedIcon && /* @__PURE__ */ jsx127(motion2.div, { className: "df fdc gap2 z1", initial: {
|
|
19083
19124
|
x: "100%",
|
|
19084
19125
|
opacity: 0
|
|
19085
19126
|
}, animate: {
|
|
@@ -19092,8 +19133,8 @@ function RightSidebar({
|
|
|
19092
19133
|
ease: [0.51, 0.92, 0.24, 1],
|
|
19093
19134
|
duration: 0.3,
|
|
19094
19135
|
delay: 0.2
|
|
19095
|
-
}, children: /* @__PURE__ */
|
|
19096
|
-
/* @__PURE__ */
|
|
19136
|
+
}, children: /* @__PURE__ */ jsx127(IconButtonList, { content, selectedIcon, onIconClick: setSelectedIcon }) }) }) }),
|
|
19137
|
+
/* @__PURE__ */ jsx127(AnimatePresence2, { children: selectedIcon && /* @__PURE__ */ jsx127(motion2.div, { initial: {
|
|
19097
19138
|
x: "100%",
|
|
19098
19139
|
opacity: 0
|
|
19099
19140
|
}, animate: {
|
|
@@ -19121,9 +19162,9 @@ function RightSidebar({
|
|
|
19121
19162
|
overflowY: "oya",
|
|
19122
19163
|
paddingLeft: "pl4",
|
|
19123
19164
|
paddingRight: "pr3"
|
|
19124
|
-
}), children: /* @__PURE__ */
|
|
19125
|
-
/* @__PURE__ */
|
|
19126
|
-
/* @__PURE__ */
|
|
19165
|
+
}), children: /* @__PURE__ */ jsxs65(Fragment25, { children: [
|
|
19166
|
+
/* @__PURE__ */ jsxs65("div", { className: "sticky top0 bgWhite", children: [
|
|
19167
|
+
/* @__PURE__ */ jsxs65("div", { ...trussProps66({
|
|
19127
19168
|
position: "absolute",
|
|
19128
19169
|
left: ["left_var", {
|
|
19129
19170
|
"--left": `${-24}px`
|
|
@@ -19133,12 +19174,12 @@ function RightSidebar({
|
|
|
19133
19174
|
flexDirection: "fdc",
|
|
19134
19175
|
alignItems: "aic"
|
|
19135
19176
|
}), children: [
|
|
19136
|
-
/* @__PURE__ */
|
|
19137
|
-
/* @__PURE__ */
|
|
19177
|
+
/* @__PURE__ */ jsx127(IconButton, { bgColor: "rgba(255, 255, 255, 1)" /* White */, variant: "circle", onClick: () => setSelectedIcon(void 0), icon: "x", inc: 3.5 }),
|
|
19178
|
+
/* @__PURE__ */ jsx127("div", { className: "absolute top_48px h_calc_100vh_168px w_1px bgGray300" })
|
|
19138
19179
|
] }),
|
|
19139
|
-
/* @__PURE__ */
|
|
19180
|
+
/* @__PURE__ */ jsx127("div", { className: "df aic jcfe gap2 mb3", children: /* @__PURE__ */ jsx127(IconButtonList, { content, selectedIcon, onIconClick: setSelectedIcon }) })
|
|
19140
19181
|
] }),
|
|
19141
|
-
selectedIcon && /* @__PURE__ */
|
|
19182
|
+
selectedIcon && /* @__PURE__ */ jsx127("div", { ...tid.content, className: "pl3", children: content.find((sidebar) => sidebar.icon === selectedIcon)?.render() })
|
|
19142
19183
|
] }) }, "rightSidebar") })
|
|
19143
19184
|
] });
|
|
19144
19185
|
}
|
|
@@ -19147,9 +19188,9 @@ function IconButtonList({
|
|
|
19147
19188
|
selectedIcon,
|
|
19148
19189
|
onIconClick
|
|
19149
19190
|
}) {
|
|
19150
|
-
return /* @__PURE__ */
|
|
19191
|
+
return /* @__PURE__ */ jsx127(Fragment25, { children: content.map(({
|
|
19151
19192
|
icon
|
|
19152
|
-
}) => /* @__PURE__ */
|
|
19193
|
+
}) => /* @__PURE__ */ jsx127(
|
|
19153
19194
|
IconButton,
|
|
19154
19195
|
{
|
|
19155
19196
|
variant: "circle",
|
|
@@ -19164,7 +19205,7 @@ function IconButtonList({
|
|
|
19164
19205
|
|
|
19165
19206
|
// src/components/Toast/ToastContext.tsx
|
|
19166
19207
|
import { createContext as createContext9, useCallback as useCallback23, useContext as useContext19, useMemo as useMemo33, useState as useState40 } from "react";
|
|
19167
|
-
import { jsx as
|
|
19208
|
+
import { jsx as jsx128 } from "react/jsx-runtime";
|
|
19168
19209
|
var ToastContext = createContext9({
|
|
19169
19210
|
setNotice: () => {
|
|
19170
19211
|
throw new Error("Missing ToastProvider");
|
|
@@ -19177,25 +19218,25 @@ function ToastProvider(props) {
|
|
|
19177
19218
|
const [notice, setNotice] = useState40();
|
|
19178
19219
|
const clear = useCallback23(() => setNotice(void 0), [setNotice]);
|
|
19179
19220
|
const contextValue = useMemo33(() => ({ setNotice, notice, clear }), [notice, clear]);
|
|
19180
|
-
return /* @__PURE__ */
|
|
19221
|
+
return /* @__PURE__ */ jsx128(ToastContext.Provider, { value: contextValue, children: props.children });
|
|
19181
19222
|
}
|
|
19182
19223
|
function useToastContext() {
|
|
19183
19224
|
return useContext19(ToastContext);
|
|
19184
19225
|
}
|
|
19185
19226
|
|
|
19186
19227
|
// src/components/Toast/Toast.tsx
|
|
19187
|
-
import { Fragment as Fragment26, jsx as
|
|
19228
|
+
import { Fragment as Fragment26, jsx as jsx129 } from "react/jsx-runtime";
|
|
19188
19229
|
function Toast() {
|
|
19189
19230
|
const { setNotice, notice } = useToastContext();
|
|
19190
19231
|
const tid = useTestIds({}, "toast");
|
|
19191
|
-
return /* @__PURE__ */
|
|
19232
|
+
return /* @__PURE__ */ jsx129(Fragment26, { children: notice && /* @__PURE__ */ jsx129(Banner, { ...notice, ...tid, onClose: () => setNotice(void 0) }) });
|
|
19192
19233
|
}
|
|
19193
19234
|
|
|
19194
19235
|
// src/components/Layout/PageHeaderBreadcrumbs.tsx
|
|
19195
19236
|
import { Fragment as Fragment27, useMemo as useMemo34, useState as useState41 } from "react";
|
|
19196
19237
|
import { Link as Link5 } from "react-router-dom";
|
|
19197
19238
|
import { mergeProps as mergeProps22 } from "@homebound/truss/runtime";
|
|
19198
|
-
import { Fragment as Fragment28, jsx as
|
|
19239
|
+
import { Fragment as Fragment28, jsx as jsx130, jsxs as jsxs66 } from "react/jsx-runtime";
|
|
19199
19240
|
function PageHeaderBreadcrumbs({
|
|
19200
19241
|
breadcrumb
|
|
19201
19242
|
}) {
|
|
@@ -19205,9 +19246,9 @@ function PageHeaderBreadcrumbs({
|
|
|
19205
19246
|
function renderBreadcrumb(bc, index, hideDivisor) {
|
|
19206
19247
|
return (
|
|
19207
19248
|
// Adding index to key to prevent rendering issues when multiple items have the same label
|
|
19208
|
-
/* @__PURE__ */
|
|
19209
|
-
index > 0 && !hideDivisor && /* @__PURE__ */
|
|
19210
|
-
/* @__PURE__ */
|
|
19249
|
+
/* @__PURE__ */ jsxs66(Fragment27, { children: [
|
|
19250
|
+
index > 0 && !hideDivisor && /* @__PURE__ */ jsx130("span", { className: "fw6 fz_14px lh_20px gray700 ml1 mr1 mt_2px mb_2px", children: "/" }),
|
|
19251
|
+
/* @__PURE__ */ jsx130(Link5, { to: bc.href, ...mergeProps22("navLink", void 0, {
|
|
19211
19252
|
fontWeight: "fw6",
|
|
19212
19253
|
fontSize: "fz_14px",
|
|
19213
19254
|
lineHeight: "lh_20px",
|
|
@@ -19217,9 +19258,9 @@ function PageHeaderBreadcrumbs({
|
|
|
19217
19258
|
] }, `${bc.label}-${index}`)
|
|
19218
19259
|
);
|
|
19219
19260
|
}
|
|
19220
|
-
return /* @__PURE__ */
|
|
19261
|
+
return /* @__PURE__ */ jsx130("div", { className: "df aic mb_4px", children: breadcrumbs.length > 3 && collapsed ? /* @__PURE__ */ jsxs66(Fragment28, { children: [
|
|
19221
19262
|
renderBreadcrumb(breadcrumbs[0], 0),
|
|
19222
|
-
/* @__PURE__ */
|
|
19263
|
+
/* @__PURE__ */ jsx130("button", { ...tids.expand, className: "gray700 pl_8px pr_8px", onClick: () => setCollapsed(false), children: "..." }),
|
|
19223
19264
|
renderBreadcrumb(breadcrumbs[breadcrumbs.length - 2], breadcrumbs.length - 2, true),
|
|
19224
19265
|
renderBreadcrumb(breadcrumbs[breadcrumbs.length - 1], breadcrumbs.length - 1)
|
|
19225
19266
|
] }) : breadcrumbs.map((bc, i) => renderBreadcrumb(bc, i)) });
|
|
@@ -19227,7 +19268,7 @@ function PageHeaderBreadcrumbs({
|
|
|
19227
19268
|
|
|
19228
19269
|
// src/components/Layout/FormPageLayout.tsx
|
|
19229
19270
|
import { trussProps as trussProps67, maybeCssVar as maybeCssVar39 } from "@homebound/truss/runtime";
|
|
19230
|
-
import { jsx as
|
|
19271
|
+
import { jsx as jsx131, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
19231
19272
|
var headerHeightPx = 120;
|
|
19232
19273
|
var maxContentWidthPx = 1600;
|
|
19233
19274
|
function FormPageLayoutComponent(props) {
|
|
@@ -19249,7 +19290,7 @@ function FormPageLayoutComponent(props) {
|
|
|
19249
19290
|
// since this layout will be replacing most superdrawers/sidebars, we keep the listing mounted below to preserve the users's
|
|
19250
19291
|
// scroll position & filters
|
|
19251
19292
|
// Adding "align-items: start" allows "position: sticky" to work within a grid for the sidebars
|
|
19252
|
-
/* @__PURE__ */
|
|
19293
|
+
/* @__PURE__ */ jsx131("div", { ...trussProps67({
|
|
19253
19294
|
position: "fixed",
|
|
19254
19295
|
top: "top0",
|
|
19255
19296
|
bottom: "bottom0",
|
|
@@ -19263,7 +19304,7 @@ function FormPageLayoutComponent(props) {
|
|
|
19263
19304
|
display: "df",
|
|
19264
19305
|
justifyContent: "jcc",
|
|
19265
19306
|
alignItems: "aifs"
|
|
19266
|
-
}), ...tids, children: /* @__PURE__ */
|
|
19307
|
+
}), ...tids, children: /* @__PURE__ */ jsxs67("div", { ...trussProps67({
|
|
19267
19308
|
width: "w100",
|
|
19268
19309
|
maxWidth: ["maxw_var", {
|
|
19269
19310
|
"--maxWidth": `${maxContentWidthPx}px`
|
|
@@ -19276,17 +19317,17 @@ function FormPageLayoutComponent(props) {
|
|
|
19276
19317
|
columnGap: "cg3",
|
|
19277
19318
|
alignItems: "ais"
|
|
19278
19319
|
}), children: [
|
|
19279
|
-
/* @__PURE__ */
|
|
19280
|
-
/* @__PURE__ */
|
|
19281
|
-
/* @__PURE__ */
|
|
19282
|
-
rightSideBar && /* @__PURE__ */
|
|
19320
|
+
/* @__PURE__ */ jsx131(PageHeader, { ...props, ...tids.pageHeader }),
|
|
19321
|
+
/* @__PURE__ */ jsx131(LeftNav, { sectionsWithRefs, ...tids }),
|
|
19322
|
+
/* @__PURE__ */ jsx131(FormSections, { sectionsWithRefs, formState, ...tids }),
|
|
19323
|
+
rightSideBar && /* @__PURE__ */ jsx131("aside", { ...trussProps67({
|
|
19283
19324
|
gridRow: "gr_2",
|
|
19284
19325
|
gridColumn: "gc_3_4",
|
|
19285
19326
|
position: "sticky",
|
|
19286
19327
|
top: ["top_var", {
|
|
19287
19328
|
"--top": `${headerHeightPx}px`
|
|
19288
19329
|
}]
|
|
19289
|
-
}), children: /* @__PURE__ */
|
|
19330
|
+
}), children: /* @__PURE__ */ jsx131(RightSidebar, { content: rightSideBar, headerHeightPx }) })
|
|
19290
19331
|
] }) })
|
|
19291
19332
|
);
|
|
19292
19333
|
}
|
|
@@ -19304,7 +19345,7 @@ function PageHeader(props) {
|
|
|
19304
19345
|
notice
|
|
19305
19346
|
} = useToastContext();
|
|
19306
19347
|
const tids = useTestIds(props);
|
|
19307
|
-
return /* @__PURE__ */
|
|
19348
|
+
return /* @__PURE__ */ jsxs67("header", { ...trussProps67({
|
|
19308
19349
|
gridRow: "gr_1",
|
|
19309
19350
|
gridColumn: "gc_1_4",
|
|
19310
19351
|
position: "sticky",
|
|
@@ -19319,16 +19360,16 @@ function PageHeader(props) {
|
|
|
19319
19360
|
}]
|
|
19320
19361
|
} : {}
|
|
19321
19362
|
}), ...tids, children: [
|
|
19322
|
-
/* @__PURE__ */
|
|
19323
|
-
/* @__PURE__ */
|
|
19324
|
-
/* @__PURE__ */
|
|
19325
|
-
breadCrumb && /* @__PURE__ */
|
|
19326
|
-
/* @__PURE__ */
|
|
19363
|
+
/* @__PURE__ */ jsx131(Toast, {}),
|
|
19364
|
+
/* @__PURE__ */ jsxs67("div", { className: "pt2 pb2 pl3 pr3 df jcsb aic", children: [
|
|
19365
|
+
/* @__PURE__ */ jsxs67("div", { children: [
|
|
19366
|
+
breadCrumb && /* @__PURE__ */ jsx131(PageHeaderBreadcrumbs, { breadcrumb: breadCrumb }),
|
|
19367
|
+
/* @__PURE__ */ jsx131("h1", { className: "fw6 fz_30px lh_36px", ...tids.pageTitle, children: pageTitle })
|
|
19327
19368
|
] }),
|
|
19328
|
-
/* @__PURE__ */
|
|
19329
|
-
tertiaryAction && /* @__PURE__ */
|
|
19330
|
-
cancelAction && /* @__PURE__ */
|
|
19331
|
-
/* @__PURE__ */
|
|
19369
|
+
/* @__PURE__ */ jsxs67("div", { className: "df gap1", children: [
|
|
19370
|
+
tertiaryAction && /* @__PURE__ */ jsx131(Button, { label: tertiaryAction.label, onClick: tertiaryAction.onClick, variant: "tertiary", disabled: tertiaryAction.disabled, tooltip: tertiaryAction.tooltip }),
|
|
19371
|
+
cancelAction && /* @__PURE__ */ jsx131(Button, { label: cancelAction.label, onClick: cancelAction.onClick, variant: "quaternary", disabled: cancelAction.disabled, tooltip: cancelAction.tooltip }),
|
|
19372
|
+
/* @__PURE__ */ jsx131(SubmitButton, { form: formState, ...submitAction })
|
|
19332
19373
|
] })
|
|
19333
19374
|
] })
|
|
19334
19375
|
] });
|
|
@@ -19340,7 +19381,7 @@ function FormSections(props) {
|
|
|
19340
19381
|
} = props;
|
|
19341
19382
|
const tids = useTestIds(props);
|
|
19342
19383
|
const bottomPaddingPx = sectionsWithRefs.length > 1 ? 200 : 0;
|
|
19343
|
-
return /* @__PURE__ */
|
|
19384
|
+
return /* @__PURE__ */ jsx131("article", { ...trussProps67({
|
|
19344
19385
|
gridRow: "gr_2",
|
|
19345
19386
|
gridColumn: "gc_2_3",
|
|
19346
19387
|
paddingBottom: ["pb_var", {
|
|
@@ -19353,7 +19394,7 @@ function FormSections(props) {
|
|
|
19353
19394
|
sectionKey
|
|
19354
19395
|
}, i) => (
|
|
19355
19396
|
// Subgrid here allows for icon placement to the left of the section content
|
|
19356
|
-
/* @__PURE__ */
|
|
19397
|
+
/* @__PURE__ */ jsxs67(
|
|
19357
19398
|
"section",
|
|
19358
19399
|
{
|
|
19359
19400
|
id: sectionKey,
|
|
@@ -19369,10 +19410,10 @@ function FormSections(props) {
|
|
|
19369
19410
|
}),
|
|
19370
19411
|
...tids.formSection,
|
|
19371
19412
|
children: [
|
|
19372
|
-
/* @__PURE__ */
|
|
19373
|
-
/* @__PURE__ */
|
|
19374
|
-
section.title && /* @__PURE__ */
|
|
19375
|
-
/* @__PURE__ */
|
|
19413
|
+
/* @__PURE__ */ jsx131("div", { className: "gc_1", children: section.icon && /* @__PURE__ */ jsx131(Icon, { icon: section.icon, inc: 3.5 }) }),
|
|
19414
|
+
/* @__PURE__ */ jsxs67("div", { className: "gc_2", children: [
|
|
19415
|
+
section.title && /* @__PURE__ */ jsx131("h2", { className: "fw6 fz_20px lh_28px mb3", children: section.title }),
|
|
19416
|
+
/* @__PURE__ */ jsx131(BoundForm, { formState, rows: section.rows })
|
|
19376
19417
|
] })
|
|
19377
19418
|
]
|
|
19378
19419
|
},
|
|
@@ -19389,7 +19430,7 @@ function LeftNav(props) {
|
|
|
19389
19430
|
section
|
|
19390
19431
|
}) => !!section.title), [sectionsWithRefs]);
|
|
19391
19432
|
const activeSection = useActiveSection(sectionWithTitles);
|
|
19392
|
-
return /* @__PURE__ */
|
|
19433
|
+
return /* @__PURE__ */ jsx131("aside", { ...trussProps67({
|
|
19393
19434
|
gridRow: "gr_2",
|
|
19394
19435
|
gridColumn: "gc_1_2",
|
|
19395
19436
|
position: "sticky",
|
|
@@ -19401,7 +19442,7 @@ function LeftNav(props) {
|
|
|
19401
19442
|
display: "df",
|
|
19402
19443
|
flexDirection: "fdc",
|
|
19403
19444
|
gap: "gap1"
|
|
19404
|
-
}), ...tids.nav, children: sectionWithTitles.map((sectionWithRef) => /* @__PURE__ */
|
|
19445
|
+
}), ...tids.nav, children: sectionWithTitles.map((sectionWithRef) => /* @__PURE__ */ jsx131(SectionNavLink, { sectionWithRef, activeSection, ...tids }, `nav-${sectionWithRef.sectionKey}`)) });
|
|
19405
19446
|
}
|
|
19406
19447
|
var activeStyles = {
|
|
19407
19448
|
fontWeight: "fw6",
|
|
@@ -19458,7 +19499,7 @@ function SectionNavLink(props) {
|
|
|
19458
19499
|
hoverProps,
|
|
19459
19500
|
isHovered
|
|
19460
19501
|
} = useHover2({});
|
|
19461
|
-
return /* @__PURE__ */
|
|
19502
|
+
return /* @__PURE__ */ jsx131("button", { ref: buttonRef, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps67({
|
|
19462
19503
|
...{
|
|
19463
19504
|
fontWeight: "fw6",
|
|
19464
19505
|
fontSize: "fz_14px",
|
|
@@ -19591,13 +19632,13 @@ function invertSpacing(value) {
|
|
|
19591
19632
|
|
|
19592
19633
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
19593
19634
|
import { useResizeObserver as useResizeObserver5 } from "@react-aria/utils";
|
|
19594
|
-
import React17, { useCallback as useCallback27, useEffect as useEffect29, useLayoutEffect as
|
|
19635
|
+
import React17, { useCallback as useCallback27, useEffect as useEffect29, useLayoutEffect as useLayoutEffect6, useMemo as useMemo40, useRef as useRef48, useState as useState46 } from "react";
|
|
19595
19636
|
|
|
19596
19637
|
// src/components/ButtonMenu.tsx
|
|
19597
19638
|
import { useRef as useRef46 } from "react";
|
|
19598
19639
|
import { useMenuTrigger as useMenuTrigger2 } from "react-aria";
|
|
19599
19640
|
import { useMenuTriggerState as useMenuTriggerState2 } from "react-stately";
|
|
19600
|
-
import { jsx as
|
|
19641
|
+
import { jsx as jsx132 } from "react/jsx-runtime";
|
|
19601
19642
|
function ButtonMenu(props) {
|
|
19602
19643
|
const { defaultOpen, disabled, items, persistentItems, trigger, searchable } = props;
|
|
19603
19644
|
let selectedItem, onChange;
|
|
@@ -19612,7 +19653,7 @@ function ButtonMenu(props) {
|
|
|
19612
19653
|
props,
|
|
19613
19654
|
isTextButton(trigger) ? labelOr(trigger, "buttonMenu") : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
19614
19655
|
);
|
|
19615
|
-
return /* @__PURE__ */
|
|
19656
|
+
return /* @__PURE__ */ jsx132(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ jsx132(
|
|
19616
19657
|
Menu,
|
|
19617
19658
|
{
|
|
19618
19659
|
ariaMenuProps: menuProps,
|
|
@@ -19635,7 +19676,7 @@ import { memo as memo2, useEffect as useEffect28, useMemo as useMemo37, useState
|
|
|
19635
19676
|
|
|
19636
19677
|
// src/components/CountBadge.tsx
|
|
19637
19678
|
import { trussProps as trussProps68, maybeCssVar as maybeCssVar41 } from "@homebound/truss/runtime";
|
|
19638
|
-
import { jsx as
|
|
19679
|
+
import { jsx as jsx133 } from "react/jsx-runtime";
|
|
19639
19680
|
function CountBadge(props) {
|
|
19640
19681
|
const {
|
|
19641
19682
|
count,
|
|
@@ -19646,7 +19687,7 @@ function CountBadge(props) {
|
|
|
19646
19687
|
} = props;
|
|
19647
19688
|
const tid = useTestIds(otherProps, "countBadge");
|
|
19648
19689
|
if (hideIfZero && count === 0) return null;
|
|
19649
|
-
return /* @__PURE__ */
|
|
19690
|
+
return /* @__PURE__ */ jsx133("span", { ...tid, ...trussProps68({
|
|
19650
19691
|
...{
|
|
19651
19692
|
height: ["sq_var", {
|
|
19652
19693
|
"--height": `${count > 100 ? 18 : 16}px`
|
|
@@ -19695,7 +19736,7 @@ var BaseFilter = class {
|
|
|
19695
19736
|
};
|
|
19696
19737
|
|
|
19697
19738
|
// src/components/Filters/DateFilter.tsx
|
|
19698
|
-
import { Fragment as Fragment29, jsx as
|
|
19739
|
+
import { Fragment as Fragment29, jsx as jsx134, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
19699
19740
|
function dateFilter(props) {
|
|
19700
19741
|
return (key) => new DateFilter(key, props);
|
|
19701
19742
|
}
|
|
@@ -19717,10 +19758,10 @@ var DateFilter = class extends BaseFilter {
|
|
|
19717
19758
|
}
|
|
19718
19759
|
render(value, setValue, tid, inModal, vertical) {
|
|
19719
19760
|
const { label, operations, getOperationValue, getOperationLabel, defaultValue } = this.props;
|
|
19720
|
-
return /* @__PURE__ */
|
|
19721
|
-
vertical && /* @__PURE__ */
|
|
19722
|
-
/* @__PURE__ */
|
|
19723
|
-
/* @__PURE__ */
|
|
19761
|
+
return /* @__PURE__ */ jsxs68(Fragment29, { children: [
|
|
19762
|
+
vertical && /* @__PURE__ */ jsx134(Label, { label }),
|
|
19763
|
+
/* @__PURE__ */ jsxs68(CompoundField, { children: [
|
|
19764
|
+
/* @__PURE__ */ jsx134(
|
|
19724
19765
|
SelectField,
|
|
19725
19766
|
{
|
|
19726
19767
|
sizeToContent: true,
|
|
@@ -19742,7 +19783,7 @@ var DateFilter = class extends BaseFilter {
|
|
|
19742
19783
|
...tid[`${defaultTestId(this.label)}_dateOperation`]
|
|
19743
19784
|
}
|
|
19744
19785
|
),
|
|
19745
|
-
/* @__PURE__ */
|
|
19786
|
+
/* @__PURE__ */ jsx134(
|
|
19746
19787
|
DateField,
|
|
19747
19788
|
{
|
|
19748
19789
|
labelStyle: "inline",
|
|
@@ -19766,7 +19807,7 @@ function isDateFilterValue(value) {
|
|
|
19766
19807
|
}
|
|
19767
19808
|
|
|
19768
19809
|
// src/components/Filters/DateRangeFilter.tsx
|
|
19769
|
-
import { Fragment as Fragment30, jsx as
|
|
19810
|
+
import { Fragment as Fragment30, jsx as jsx135, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
19770
19811
|
function dateRangeFilter(props) {
|
|
19771
19812
|
return (key) => new DateRangeFilter(key, props);
|
|
19772
19813
|
}
|
|
@@ -19788,9 +19829,9 @@ var DateRangeFilter = class extends BaseFilter {
|
|
|
19788
19829
|
}
|
|
19789
19830
|
render(value, setValue, tid, inModal, vertical) {
|
|
19790
19831
|
const { label, placeholderText, disabledDays, testFieldLabel, defaultValue } = this.props;
|
|
19791
|
-
return /* @__PURE__ */
|
|
19792
|
-
vertical && /* @__PURE__ */
|
|
19793
|
-
/* @__PURE__ */
|
|
19832
|
+
return /* @__PURE__ */ jsxs69(Fragment30, { children: [
|
|
19833
|
+
vertical && /* @__PURE__ */ jsx135(Label, { label }),
|
|
19834
|
+
/* @__PURE__ */ jsx135(
|
|
19794
19835
|
DateRangeField,
|
|
19795
19836
|
{
|
|
19796
19837
|
labelStyle: "inline",
|
|
@@ -19846,7 +19887,7 @@ function resolveNestedOptions(optionsOrLoad) {
|
|
|
19846
19887
|
}
|
|
19847
19888
|
|
|
19848
19889
|
// src/components/Filters/MultiFilter.tsx
|
|
19849
|
-
import { jsx as
|
|
19890
|
+
import { jsx as jsx136 } from "react/jsx-runtime";
|
|
19850
19891
|
function multiFilter(props) {
|
|
19851
19892
|
return (key) => new MultiFilter(key, props);
|
|
19852
19893
|
}
|
|
@@ -19860,7 +19901,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
19860
19901
|
const { disabledOptions } = this.props;
|
|
19861
19902
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
19862
19903
|
const disabledKeys = Object.keys(disabledOptionsWithReasons);
|
|
19863
|
-
return /* @__PURE__ */
|
|
19904
|
+
return /* @__PURE__ */ jsx136(
|
|
19864
19905
|
ToggleChipGroup,
|
|
19865
19906
|
{
|
|
19866
19907
|
label: this.label,
|
|
@@ -19884,7 +19925,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
19884
19925
|
);
|
|
19885
19926
|
}
|
|
19886
19927
|
const { defaultValue, nothingSelectedText, ...props } = this.props;
|
|
19887
|
-
return /* @__PURE__ */
|
|
19928
|
+
return /* @__PURE__ */ jsx136(
|
|
19888
19929
|
MultiSelectField,
|
|
19889
19930
|
{
|
|
19890
19931
|
...props,
|
|
@@ -19903,7 +19944,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
19903
19944
|
};
|
|
19904
19945
|
|
|
19905
19946
|
// src/components/Filters/NumberRangeFilter.tsx
|
|
19906
|
-
import { Fragment as Fragment31, jsx as
|
|
19947
|
+
import { Fragment as Fragment31, jsx as jsx137, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
19907
19948
|
function numberRangeFilter(props) {
|
|
19908
19949
|
return (key) => new NumberRangeFilter(key, props);
|
|
19909
19950
|
}
|
|
@@ -19920,10 +19961,10 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
19920
19961
|
} = this.props;
|
|
19921
19962
|
const min = value?.min ?? void 0;
|
|
19922
19963
|
const max = value?.max ?? void 0;
|
|
19923
|
-
return /* @__PURE__ */
|
|
19924
|
-
vertical && /* @__PURE__ */
|
|
19925
|
-
/* @__PURE__ */
|
|
19926
|
-
/* @__PURE__ */
|
|
19964
|
+
return /* @__PURE__ */ jsxs70(Fragment31, { children: [
|
|
19965
|
+
vertical && /* @__PURE__ */ jsxs70("div", { ...tid, children: [
|
|
19966
|
+
/* @__PURE__ */ jsx137(Label, { label }),
|
|
19967
|
+
/* @__PURE__ */ jsx137("div", { className: "pb1", children: /* @__PURE__ */ jsx137(NumberField, { labelStyle: "inline", clearable: true, label: "Min", value: min, type: numberFieldType, numberFormatOptions, onChange: (minVal) => {
|
|
19927
19968
|
const maxValue = max ? {
|
|
19928
19969
|
max
|
|
19929
19970
|
} : {};
|
|
@@ -19932,7 +19973,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
19932
19973
|
...maxValue
|
|
19933
19974
|
} : void 0);
|
|
19934
19975
|
}, ...tid[`${defaultTestId(label)}_min_vertical`] }) }),
|
|
19935
|
-
/* @__PURE__ */
|
|
19976
|
+
/* @__PURE__ */ jsx137(NumberField, { labelStyle: "inline", clearable: true, label: "Max", value: max, type: numberFieldType, numberFormatOptions, onChange: (maxVal) => {
|
|
19936
19977
|
const minValue = min ? {
|
|
19937
19978
|
min
|
|
19938
19979
|
} : {};
|
|
@@ -19942,8 +19983,8 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
19942
19983
|
} : void 0);
|
|
19943
19984
|
}, ...tid[`${defaultTestId(label)}_max_vertical`] })
|
|
19944
19985
|
] }),
|
|
19945
|
-
!vertical && /* @__PURE__ */
|
|
19946
|
-
/* @__PURE__ */
|
|
19986
|
+
!vertical && /* @__PURE__ */ jsxs70(CompoundField, { ...tid, children: [
|
|
19987
|
+
/* @__PURE__ */ jsx137(
|
|
19947
19988
|
NumberField,
|
|
19948
19989
|
{
|
|
19949
19990
|
sizeToContent: !inModal,
|
|
@@ -19965,7 +20006,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
19965
20006
|
...tid[`${defaultTestId(label)}_min`]
|
|
19966
20007
|
}
|
|
19967
20008
|
),
|
|
19968
|
-
/* @__PURE__ */
|
|
20009
|
+
/* @__PURE__ */ jsx137(NumberField, { sizeToContent: !inModal, labelStyle: "inline", clearable: true, label: !inModal ? `${label} Max` : "Max", value: max, type: numberFieldType, numberFormatOptions, onChange: (maxVal) => {
|
|
19969
20010
|
const minValue = min ? {
|
|
19970
20011
|
min
|
|
19971
20012
|
} : {};
|
|
@@ -19980,7 +20021,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
19980
20021
|
};
|
|
19981
20022
|
|
|
19982
20023
|
// src/components/Filters/SingleFilter.tsx
|
|
19983
|
-
import { jsx as
|
|
20024
|
+
import { jsx as jsx138 } from "react/jsx-runtime";
|
|
19984
20025
|
function singleFilter(props) {
|
|
19985
20026
|
return (key) => new SingleFilter(key, props);
|
|
19986
20027
|
}
|
|
@@ -20001,7 +20042,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
20001
20042
|
...props
|
|
20002
20043
|
} = this.props;
|
|
20003
20044
|
const options = Array.isArray(maybeOptions) ? [allOption, ...maybeOptions] : { ...maybeOptions, current: maybeOptions.current };
|
|
20004
|
-
return /* @__PURE__ */
|
|
20045
|
+
return /* @__PURE__ */ jsx138(
|
|
20005
20046
|
SelectField,
|
|
20006
20047
|
{
|
|
20007
20048
|
...props,
|
|
@@ -20021,7 +20062,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
20021
20062
|
};
|
|
20022
20063
|
|
|
20023
20064
|
// src/components/Filters/TreeFilter.tsx
|
|
20024
|
-
import { jsx as
|
|
20065
|
+
import { jsx as jsx139 } from "react/jsx-runtime";
|
|
20025
20066
|
function treeFilter(props) {
|
|
20026
20067
|
return (key) => new TreeFilter(key, props);
|
|
20027
20068
|
}
|
|
@@ -20032,7 +20073,7 @@ var TreeFilter = class extends BaseFilter {
|
|
|
20032
20073
|
}
|
|
20033
20074
|
render(value, setValue, tid, inModal, vertical) {
|
|
20034
20075
|
const { defaultValue, nothingSelectedText, filterBy = "root", ...props } = this.props;
|
|
20035
|
-
return /* @__PURE__ */
|
|
20076
|
+
return /* @__PURE__ */ jsx139(
|
|
20036
20077
|
TreeSelectField,
|
|
20037
20078
|
{
|
|
20038
20079
|
...props,
|
|
@@ -20052,7 +20093,7 @@ var TreeFilter = class extends BaseFilter {
|
|
|
20052
20093
|
};
|
|
20053
20094
|
|
|
20054
20095
|
// src/components/Filters/BooleanFilter.tsx
|
|
20055
|
-
import { jsx as
|
|
20096
|
+
import { jsx as jsx140 } from "react/jsx-runtime";
|
|
20056
20097
|
function booleanFilter(props) {
|
|
20057
20098
|
return (key) => new BooleanFilter(key, props);
|
|
20058
20099
|
}
|
|
@@ -20064,7 +20105,7 @@ var BooleanFilter = class extends BaseFilter {
|
|
|
20064
20105
|
}
|
|
20065
20106
|
render(value, setValue, tid, inModal, vertical) {
|
|
20066
20107
|
const { options = defaultBooleanOptions, label, defaultValue, ...props } = this.props;
|
|
20067
|
-
return /* @__PURE__ */
|
|
20108
|
+
return /* @__PURE__ */ jsx140(
|
|
20068
20109
|
SelectField,
|
|
20069
20110
|
{
|
|
20070
20111
|
...props,
|
|
@@ -20091,7 +20132,7 @@ var defaultBooleanOptions = [
|
|
|
20091
20132
|
];
|
|
20092
20133
|
|
|
20093
20134
|
// src/components/Filters/CheckboxFilter.tsx
|
|
20094
|
-
import { jsx as
|
|
20135
|
+
import { jsx as jsx141 } from "react/jsx-runtime";
|
|
20095
20136
|
function checkboxFilter(props) {
|
|
20096
20137
|
return (key) => new CheckboxFilter(key, {
|
|
20097
20138
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -20106,7 +20147,7 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
20106
20147
|
}
|
|
20107
20148
|
render(value, setValue, tid, inModal, vertical) {
|
|
20108
20149
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
20109
|
-
return /* @__PURE__ */
|
|
20150
|
+
return /* @__PURE__ */ jsx141(
|
|
20110
20151
|
Checkbox,
|
|
20111
20152
|
{
|
|
20112
20153
|
...props,
|
|
@@ -20129,7 +20170,7 @@ import { useState as useState43 } from "react";
|
|
|
20129
20170
|
|
|
20130
20171
|
// src/components/Modal/OpenModal.tsx
|
|
20131
20172
|
import { useEffect as useEffect27 } from "react";
|
|
20132
|
-
import { jsx as
|
|
20173
|
+
import { jsx as jsx142 } from "react/jsx-runtime";
|
|
20133
20174
|
function OpenModal(props) {
|
|
20134
20175
|
const { openModal } = useModal();
|
|
20135
20176
|
const { size, children, keepOpen } = props;
|
|
@@ -20139,15 +20180,15 @@ function OpenModal(props) {
|
|
|
20139
20180
|
}
|
|
20140
20181
|
}, [keepOpen, openModal, size, children]);
|
|
20141
20182
|
if (keepOpen) {
|
|
20142
|
-
return /* @__PURE__ */
|
|
20183
|
+
return /* @__PURE__ */ jsx142(Modal, { size, content: children });
|
|
20143
20184
|
} else {
|
|
20144
|
-
return /* @__PURE__ */
|
|
20185
|
+
return /* @__PURE__ */ jsx142("div", { children: "dummy content" });
|
|
20145
20186
|
}
|
|
20146
20187
|
}
|
|
20147
20188
|
|
|
20148
20189
|
// src/components/Filters/FilterModal.tsx
|
|
20149
20190
|
import { trussProps as trussProps69 } from "@homebound/truss/runtime";
|
|
20150
|
-
import { Fragment as Fragment32, jsx as
|
|
20191
|
+
import { Fragment as Fragment32, jsx as jsx143, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
20151
20192
|
function FilterModal(props) {
|
|
20152
20193
|
const {
|
|
20153
20194
|
filter,
|
|
@@ -20159,19 +20200,19 @@ function FilterModal(props) {
|
|
|
20159
20200
|
closeModal
|
|
20160
20201
|
} = useModal();
|
|
20161
20202
|
const [modalFilter, setModalFilter] = useState43(filter);
|
|
20162
|
-
return /* @__PURE__ */
|
|
20163
|
-
/* @__PURE__ */
|
|
20164
|
-
/* @__PURE__ */
|
|
20165
|
-
/* @__PURE__ */
|
|
20203
|
+
return /* @__PURE__ */ jsxs71(Fragment32, { children: [
|
|
20204
|
+
/* @__PURE__ */ jsx143(ModalHeader, { children: "More Filters" }),
|
|
20205
|
+
/* @__PURE__ */ jsx143(ModalBody, { children: /* @__PURE__ */ jsx143("div", { className: "df fdc", children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ jsx143(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(modalFilter[key], (value) => setModalFilter(updateFilter(modalFilter, key, value)), testId, true, false) }, key)) }) }),
|
|
20206
|
+
/* @__PURE__ */ jsxs71(ModalFooter, { xss: {
|
|
20166
20207
|
justifyContent: "jcsb"
|
|
20167
20208
|
}, children: [
|
|
20168
|
-
/* @__PURE__ */
|
|
20209
|
+
/* @__PURE__ */ jsx143(Button, { label: "Clear", variant: "tertiary", disabled: safeKeys(filters).filter((fk) => modalFilter[fk] !== void 0).length === 0, onClick: () => (
|
|
20169
20210
|
// Only remove the filters keys that exist in the modal.
|
|
20170
20211
|
setModalFilter(safeKeys(filters).reduce((acc, fk) => omitKey(fk, acc), modalFilter))
|
|
20171
20212
|
), ...testId.modalClear }),
|
|
20172
|
-
/* @__PURE__ */
|
|
20173
|
-
/* @__PURE__ */
|
|
20174
|
-
/* @__PURE__ */
|
|
20213
|
+
/* @__PURE__ */ jsxs71("div", { className: "df gap1", children: [
|
|
20214
|
+
/* @__PURE__ */ jsx143(Button, { label: "Cancel", variant: "quaternary", onClick: closeModal, ...testId.modalClose }),
|
|
20215
|
+
/* @__PURE__ */ jsx143(Button, { label: "Apply", onClick: () => {
|
|
20175
20216
|
onApply(modalFilter);
|
|
20176
20217
|
closeModal();
|
|
20177
20218
|
}, ...testId.modalApply })
|
|
@@ -20183,7 +20224,7 @@ function ModalFilterItem({
|
|
|
20183
20224
|
label,
|
|
20184
20225
|
children
|
|
20185
20226
|
}) {
|
|
20186
|
-
return /* @__PURE__ */
|
|
20227
|
+
return /* @__PURE__ */ jsxs71("div", { ...trussProps69({
|
|
20187
20228
|
marginBottom: "mb4",
|
|
20188
20229
|
...!label ? {
|
|
20189
20230
|
borderTopStyle: "bts_solid",
|
|
@@ -20191,8 +20232,8 @@ function ModalFilterItem({
|
|
|
20191
20232
|
borderColor: "bcGray200"
|
|
20192
20233
|
} : {}
|
|
20193
20234
|
}), children: [
|
|
20194
|
-
label && /* @__PURE__ */
|
|
20195
|
-
/* @__PURE__ */
|
|
20235
|
+
label && /* @__PURE__ */ jsx143("h2", { className: "fw4 fz_16px lh_24px mb2", children: label }),
|
|
20236
|
+
/* @__PURE__ */ jsx143("div", { ...trussProps69({
|
|
20196
20237
|
...!label ? {
|
|
20197
20238
|
paddingTop: "pt3"
|
|
20198
20239
|
} : {}
|
|
@@ -20203,7 +20244,7 @@ function ModalFilterItem({
|
|
|
20203
20244
|
// src/components/Filters/Filters.tsx
|
|
20204
20245
|
import { memo, useMemo as useMemo36 } from "react";
|
|
20205
20246
|
import { trussProps as trussProps70 } from "@homebound/truss/runtime";
|
|
20206
|
-
import { jsx as
|
|
20247
|
+
import { jsx as jsx144, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
20207
20248
|
function Filters(props) {
|
|
20208
20249
|
const {
|
|
20209
20250
|
filter,
|
|
@@ -20225,8 +20266,8 @@ function Filters(props) {
|
|
|
20225
20266
|
return [Object.fromEntries(impls), {}];
|
|
20226
20267
|
}, [numberOfInlineFilters, vertical, filterDefs]);
|
|
20227
20268
|
const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
|
|
20228
|
-
const maybeGroupByField = groupBy ? /* @__PURE__ */
|
|
20229
|
-
return /* @__PURE__ */
|
|
20269
|
+
const maybeGroupByField = groupBy ? /* @__PURE__ */ jsx144("div", { children: /* @__PURE__ */ jsx144(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;
|
|
20270
|
+
return /* @__PURE__ */ jsxs72("div", { ...trussProps70({
|
|
20230
20271
|
...vertical ? {
|
|
20231
20272
|
display: "df",
|
|
20232
20273
|
flexDirection: "fdc",
|
|
@@ -20238,18 +20279,18 @@ function Filters(props) {
|
|
|
20238
20279
|
}
|
|
20239
20280
|
}), ...testId, children: [
|
|
20240
20281
|
maybeGroupByField,
|
|
20241
|
-
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */
|
|
20242
|
-
Object.keys(modalFilters).length > 0 && /* @__PURE__ */
|
|
20282
|
+
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */ jsx144("div", { children: f.render(filter[key], (value) => onChange(updateFilter(filter, key, value)), testId, false, vertical) }, key)),
|
|
20283
|
+
Object.keys(modalFilters).length > 0 && /* @__PURE__ */ jsx144(Button, { label: "More Filters", endAdornment: /* @__PURE__ */ jsx144(CountBadge, { count: numModalFilters, hideIfZero: true }), variant: "secondary", onClick: () => openModal({
|
|
20243
20284
|
// Spreading `props` to pass along `data-testid`
|
|
20244
|
-
content: /* @__PURE__ */
|
|
20285
|
+
content: /* @__PURE__ */ jsx144(FilterModal, { ...props, filter, onApply: onChange, filters: modalFilters })
|
|
20245
20286
|
}), ...testId.moreFiltersBtn }),
|
|
20246
|
-
Object.keys(filter).length > 0 && /* @__PURE__ */
|
|
20287
|
+
Object.keys(filter).length > 0 && /* @__PURE__ */ jsx144("div", { children: /* @__PURE__ */ jsx144(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange({}), ...testId.clearBtn }) })
|
|
20247
20288
|
] });
|
|
20248
20289
|
}
|
|
20249
20290
|
var _Filters = memo(Filters);
|
|
20250
20291
|
|
|
20251
20292
|
// src/components/Filters/ToggleFilter.tsx
|
|
20252
|
-
import { jsx as
|
|
20293
|
+
import { jsx as jsx145 } from "react/jsx-runtime";
|
|
20253
20294
|
function toggleFilter(props) {
|
|
20254
20295
|
return (key) => new ToggleFilter(key, {
|
|
20255
20296
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -20264,7 +20305,7 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
20264
20305
|
}
|
|
20265
20306
|
render(value, setValue, tid, inModal, vertical) {
|
|
20266
20307
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
20267
|
-
return /* @__PURE__ */
|
|
20308
|
+
return /* @__PURE__ */ jsx145(
|
|
20268
20309
|
Switch,
|
|
20269
20310
|
{
|
|
20270
20311
|
...props,
|
|
@@ -20284,6 +20325,9 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
20284
20325
|
};
|
|
20285
20326
|
|
|
20286
20327
|
// src/components/Filters/utils.tsx
|
|
20328
|
+
function getActiveFilterCount(filter) {
|
|
20329
|
+
return safeKeys(filter).filter((key) => isDefined(filter[key])).length;
|
|
20330
|
+
}
|
|
20287
20331
|
function updateFilter(currentFilter, key, value) {
|
|
20288
20332
|
if (value === void 0) {
|
|
20289
20333
|
return omitKey(key, currentFilter);
|
|
@@ -20297,7 +20341,7 @@ var filterTestIdPrefix = "filter";
|
|
|
20297
20341
|
import { useDebounce as useDebounce2 } from "use-debounce";
|
|
20298
20342
|
import { StringParam as StringParam2, useQueryParams as useQueryParams3 } from "use-query-params";
|
|
20299
20343
|
import { trussProps as trussProps71 } from "@homebound/truss/runtime";
|
|
20300
|
-
import { Fragment as Fragment33, jsx as
|
|
20344
|
+
import { Fragment as Fragment33, jsx as jsx146, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
20301
20345
|
function FilterDropdownMenu(props) {
|
|
20302
20346
|
const {
|
|
20303
20347
|
filter,
|
|
@@ -20336,11 +20380,11 @@ function FilterDropdownMenu(props) {
|
|
|
20336
20380
|
const entries = safeEntries(filterImpls);
|
|
20337
20381
|
const nonCheckbox = entries.filter(([_, f]) => !f.hideLabelInModal);
|
|
20338
20382
|
const checkbox = entries.filter(([_, f]) => f.hideLabelInModal);
|
|
20339
|
-
return [...nonCheckbox, ...checkbox].map(([key, f]) => /* @__PURE__ */
|
|
20383
|
+
return [...nonCheckbox, ...checkbox].map(([key, f]) => /* @__PURE__ */ jsx146("div", { children: f.render(filter[key], (value) => onChange(updateFilter(filter, key, value)), testId, false, false) }, key));
|
|
20340
20384
|
};
|
|
20341
|
-
const searchTextField = /* @__PURE__ */
|
|
20342
|
-
return /* @__PURE__ */
|
|
20343
|
-
hasSearch && /* @__PURE__ */
|
|
20385
|
+
const searchTextField = /* @__PURE__ */ jsx146(TextField, { label: "Search", labelStyle: "hidden", value: searchValue, onChange: (v) => setSearchValue(v ?? ""), placeholder: "Search", clearable: true, startAdornment: /* @__PURE__ */ jsx146(Icon, { icon: "search", color: "rgba(100, 100, 100, 1)" /* Gray700 */ }) });
|
|
20386
|
+
return /* @__PURE__ */ jsxs73(Fragment33, { children: [
|
|
20387
|
+
hasSearch && /* @__PURE__ */ jsx146("div", { ...trussProps71({
|
|
20344
20388
|
width: "w_244px",
|
|
20345
20389
|
...sm ? {
|
|
20346
20390
|
position: "absolute",
|
|
@@ -20356,13 +20400,13 @@ function FilterDropdownMenu(props) {
|
|
|
20356
20400
|
opacity: "o0"
|
|
20357
20401
|
} : {}
|
|
20358
20402
|
}), children: searchTextField }),
|
|
20359
|
-
sm && hasSearch && /* @__PURE__ */
|
|
20360
|
-
sm && hasFilters && /* @__PURE__ */
|
|
20361
|
-
!sm && hasFilters && /* @__PURE__ */
|
|
20362
|
-
activeFilterCount > 0 && /* @__PURE__ */
|
|
20363
|
-
/* @__PURE__ */
|
|
20403
|
+
sm && hasSearch && /* @__PURE__ */ jsx146(IconButton, { variant: "outline", icon: searchValue ? "searchBadged" : "search", label: "Search", onClick: () => setSearchIsOpen(!searchIsOpen), active: searchIsOpen, ...testId.searchButton }),
|
|
20404
|
+
sm && hasFilters && /* @__PURE__ */ jsx146(IconButton, { variant: "outline", icon: activeFilterCount > 0 ? "filterBadged" : "filter", label: "Filter", active: isOpen, onClick: () => setIsOpen(!isOpen), ...testId.button }),
|
|
20405
|
+
!sm && hasFilters && /* @__PURE__ */ jsx146(Button, { label: "Filter", icon: "filter", size: "md", endAdornment: /* @__PURE__ */ jsxs73("div", { className: "df aic gap1", children: [
|
|
20406
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsx146(CountBadge, { count: activeFilterCount }),
|
|
20407
|
+
/* @__PURE__ */ jsx146(Icon, { icon: isOpen ? "chevronUp" : "chevronDown" })
|
|
20364
20408
|
] }), variant: "secondaryBlack", onClick: () => setIsOpen(!isOpen), active: isOpen, ...testId.button }),
|
|
20365
|
-
searchIsOpen && /* @__PURE__ */
|
|
20409
|
+
searchIsOpen && /* @__PURE__ */ jsx146("div", { ...trussProps71({
|
|
20366
20410
|
width: "w100",
|
|
20367
20411
|
...!sm ? {
|
|
20368
20412
|
position: "absolute",
|
|
@@ -20378,12 +20422,12 @@ function FilterDropdownMenu(props) {
|
|
|
20378
20422
|
opacity: "o0"
|
|
20379
20423
|
} : {}
|
|
20380
20424
|
}), children: searchTextField }),
|
|
20381
|
-
hasFilters && isOpen && /* @__PURE__ */
|
|
20382
|
-
groupBy && /* @__PURE__ */
|
|
20425
|
+
hasFilters && isOpen && /* @__PURE__ */ jsxs73("div", { className: "df aic fww gap1 w100", children: [
|
|
20426
|
+
groupBy && /* @__PURE__ */ jsx146(SelectField, { label: "Group by", labelStyle: "inline", sizeToContent: true, options: groupBy.options, getOptionValue: (o) => o.id, getOptionLabel: (o) => o.name, value: groupBy.value, onSelect: (g) => g && groupBy.setValue(g) }),
|
|
20383
20427
|
renderFilters(),
|
|
20384
|
-
activeFilterCount > 0 && /* @__PURE__ */
|
|
20428
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsx146(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange?.({}), ...testId.clearBtn })
|
|
20385
20429
|
] }),
|
|
20386
|
-
hasFilters && !isOpen && filter && onChange && /* @__PURE__ */
|
|
20430
|
+
hasFilters && !isOpen && filter && onChange && /* @__PURE__ */ jsx146(FilterChips, { filter, filterImpls, onChange, onClear: () => onChange({}), testId })
|
|
20387
20431
|
] });
|
|
20388
20432
|
}
|
|
20389
20433
|
function FilterChips({
|
|
@@ -20395,9 +20439,9 @@ function FilterChips({
|
|
|
20395
20439
|
}) {
|
|
20396
20440
|
const chips = safeEntries(filterImpls).flatMap(([key, f]) => chipsForFilterKey(key, f, filter, onChange, testId));
|
|
20397
20441
|
if (chips.length === 0) return null;
|
|
20398
|
-
return /* @__PURE__ */
|
|
20442
|
+
return /* @__PURE__ */ jsxs73("div", { className: "df gap1 fww aic order_1", children: [
|
|
20399
20443
|
chips,
|
|
20400
|
-
/* @__PURE__ */
|
|
20444
|
+
/* @__PURE__ */ jsx146(Button, { label: "Clear", variant: "tertiary", onClick: onClear, ...testId.clearBtn })
|
|
20401
20445
|
] });
|
|
20402
20446
|
}
|
|
20403
20447
|
function chipsForFilterKey(key, f, filter, onChange, testId) {
|
|
@@ -20409,19 +20453,16 @@ function chipsForFilterKey(key, f, filter, onChange, testId) {
|
|
|
20409
20453
|
if (!isDefined(label2)) return [];
|
|
20410
20454
|
const chipKey = `${String(key)}_${item}`;
|
|
20411
20455
|
const newArray = value.filter((v) => v !== item);
|
|
20412
|
-
return /* @__PURE__ */
|
|
20456
|
+
return /* @__PURE__ */ jsx146(ToggleChip, { text: label2, onClick: () => onChange(updateFilter(filter, key, newArray.length > 0 ? newArray : void 0)), ...testId[`chip_${chipKey}`] }, chipKey);
|
|
20413
20457
|
});
|
|
20414
20458
|
}
|
|
20415
20459
|
const label = f.formatSelectedFilterLabel(value);
|
|
20416
20460
|
if (!isDefined(label)) return [];
|
|
20417
|
-
return /* @__PURE__ */
|
|
20461
|
+
return /* @__PURE__ */ jsx146(ToggleChip, { text: label, onClick: () => onChange(updateFilter(filter, key, void 0)), ...testId[`chip_${String(key)}`] }, String(key));
|
|
20418
20462
|
}
|
|
20419
20463
|
function buildFilterImpls(filterDefs) {
|
|
20420
20464
|
return Object.fromEntries(safeEntries(filterDefs).map(([key, fn]) => [key, fn(key)]));
|
|
20421
20465
|
}
|
|
20422
|
-
function getActiveFilterCount(filter) {
|
|
20423
|
-
return safeKeys(filter).filter((key) => filter[key] !== void 0).length;
|
|
20424
|
-
}
|
|
20425
20466
|
var _FilterDropdownMenu = memo2(FilterDropdownMenu);
|
|
20426
20467
|
|
|
20427
20468
|
// src/components/Table/components/EditColumnsButton.tsx
|
|
@@ -20429,7 +20470,7 @@ import { Fragment as Fragment34, useCallback as useCallback25, useMemo as useMem
|
|
|
20429
20470
|
import { useMenuTrigger as useMenuTrigger3 } from "react-aria";
|
|
20430
20471
|
import { useMenuTriggerState as useMenuTriggerState3 } from "react-stately";
|
|
20431
20472
|
import { trussProps as trussProps72 } from "@homebound/truss/runtime";
|
|
20432
|
-
import { jsx as
|
|
20473
|
+
import { jsx as jsx147, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
20433
20474
|
function EditColumnsButton(props) {
|
|
20434
20475
|
const {
|
|
20435
20476
|
defaultOpen,
|
|
@@ -20465,12 +20506,12 @@ function EditColumnsButton(props) {
|
|
|
20465
20506
|
api.resetColumnWidths();
|
|
20466
20507
|
api.setVisibleColumns(columns.filter((column2) => column2.canHide ? ids.includes(column2.id) : true).map((c) => c.id));
|
|
20467
20508
|
}, [columns, api]);
|
|
20468
|
-
return /* @__PURE__ */
|
|
20509
|
+
return /* @__PURE__ */ jsx147(OverlayTrigger, { ...props, trigger: {
|
|
20469
20510
|
icon: "columns",
|
|
20470
20511
|
size: "md",
|
|
20471
20512
|
label: "",
|
|
20472
20513
|
variant: "secondaryBlack"
|
|
20473
|
-
}, menuTriggerProps, state, buttonRef, hideEndAdornment: sm, ...tid, children: /* @__PURE__ */
|
|
20514
|
+
}, menuTriggerProps, state, buttonRef, hideEndAdornment: sm, ...tid, children: /* @__PURE__ */ jsxs74("div", { ...trussProps72({
|
|
20474
20515
|
display: "df",
|
|
20475
20516
|
flexDirection: "fdc",
|
|
20476
20517
|
backgroundColor: ["bgColor_var", {
|
|
@@ -20480,11 +20521,11 @@ function EditColumnsButton(props) {
|
|
|
20480
20521
|
maxHeight: "maxh_512px",
|
|
20481
20522
|
boxShadow: "h_bshHover"
|
|
20482
20523
|
}), children: [
|
|
20483
|
-
/* @__PURE__ */
|
|
20484
|
-
/* @__PURE__ */
|
|
20485
|
-
/* @__PURE__ */
|
|
20524
|
+
/* @__PURE__ */ jsx147("div", { className: "dg gtc_1fr_auto gap2 pt2 pb2 pr2 pl2 fg1 mh0 oya", children: options.map((option) => /* @__PURE__ */ jsxs74(Fragment34, { children: [
|
|
20525
|
+
/* @__PURE__ */ jsx147("div", { className: "fw4 fz_14px lh_20px wsnw oh to_ellipsis pr1", children: option.label }),
|
|
20526
|
+
/* @__PURE__ */ jsx147(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}`] })
|
|
20486
20527
|
] }, option.value)) }),
|
|
20487
|
-
/* @__PURE__ */
|
|
20528
|
+
/* @__PURE__ */ jsx147("div", { ...trussProps72({
|
|
20488
20529
|
display: "df",
|
|
20489
20530
|
justifyContent: "jcc",
|
|
20490
20531
|
paddingTop: "pt2",
|
|
@@ -20496,12 +20537,12 @@ function EditColumnsButton(props) {
|
|
|
20496
20537
|
borderColor: ["bc_var", {
|
|
20497
20538
|
"--borderColor": "var(--b-surface-separator)"
|
|
20498
20539
|
}]
|
|
20499
|
-
}), children: /* @__PURE__ */
|
|
20540
|
+
}), children: /* @__PURE__ */ jsx147(Button, { variant: "tertiary", label: "Reset Column Widths", onClick: () => api.resetColumnWidths() }) })
|
|
20500
20541
|
] }) });
|
|
20501
20542
|
}
|
|
20502
20543
|
|
|
20503
20544
|
// src/components/Table/components/ViewToggleButton.tsx
|
|
20504
|
-
import { jsx as
|
|
20545
|
+
import { jsx as jsx148 } from "react/jsx-runtime";
|
|
20505
20546
|
function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
20506
20547
|
const { sm } = useBreakpoint();
|
|
20507
20548
|
const tid = useTestIds({}, "viewToggleButton");
|
|
@@ -20509,7 +20550,7 @@ function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
|
20509
20550
|
{ label: "List", icon: "projects", onClick: () => onChange("list") },
|
|
20510
20551
|
{ label: "Card", icon: "tile", onClick: () => onChange("card") }
|
|
20511
20552
|
];
|
|
20512
|
-
return /* @__PURE__ */
|
|
20553
|
+
return /* @__PURE__ */ jsx148(
|
|
20513
20554
|
ButtonMenu,
|
|
20514
20555
|
{
|
|
20515
20556
|
trigger: { icon: view === "list" ? "projects" : "tile", label: "", size: "md", variant: "secondaryBlack" },
|
|
@@ -20523,14 +20564,14 @@ function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
|
20523
20564
|
|
|
20524
20565
|
// src/components/Table/TableActions.tsx
|
|
20525
20566
|
import { trussProps as trussProps73 } from "@homebound/truss/runtime";
|
|
20526
|
-
import { jsx as
|
|
20567
|
+
import { jsx as jsx149, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
20527
20568
|
function TableActions(props) {
|
|
20528
20569
|
const {
|
|
20529
20570
|
xss,
|
|
20530
20571
|
children,
|
|
20531
20572
|
right
|
|
20532
20573
|
} = props;
|
|
20533
|
-
return /* @__PURE__ */
|
|
20574
|
+
return /* @__PURE__ */ jsxs75("div", { ...trussProps73({
|
|
20534
20575
|
...{
|
|
20535
20576
|
display: "df",
|
|
20536
20577
|
gap: "gap1",
|
|
@@ -20540,7 +20581,7 @@ function TableActions(props) {
|
|
|
20540
20581
|
},
|
|
20541
20582
|
...xss
|
|
20542
20583
|
}), children: [
|
|
20543
|
-
/* @__PURE__ */
|
|
20584
|
+
/* @__PURE__ */ jsx149("div", { className: "df gap1 aic fww", children }),
|
|
20544
20585
|
right
|
|
20545
20586
|
] });
|
|
20546
20587
|
}
|
|
@@ -20555,7 +20596,7 @@ import { useMemo as useMemo39 } from "react";
|
|
|
20555
20596
|
|
|
20556
20597
|
// src/components/LoadingSkeleton.tsx
|
|
20557
20598
|
import { trussProps as trussProps74, maybeCssVar as maybeCssVar42 } from "@homebound/truss/runtime";
|
|
20558
|
-
import { jsx as
|
|
20599
|
+
import { jsx as jsx150 } from "react/jsx-runtime";
|
|
20559
20600
|
function LoadingSkeleton({
|
|
20560
20601
|
rows = 1,
|
|
20561
20602
|
columns = 1,
|
|
@@ -20567,7 +20608,7 @@ function LoadingSkeleton({
|
|
|
20567
20608
|
const rowHeight = sizeToPixels2[size];
|
|
20568
20609
|
const rowCells = (rowNumber) => {
|
|
20569
20610
|
const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
|
|
20570
|
-
return cellArray.map((_, i) => /* @__PURE__ */
|
|
20611
|
+
return cellArray.map((_, i) => /* @__PURE__ */ jsx150("div", { ...trussProps74({
|
|
20571
20612
|
borderRadius: "br4",
|
|
20572
20613
|
animation: "animation_pulse_2s_cubic_bezier_0_4_0_0_6_1_infinite",
|
|
20573
20614
|
flexGrow: ["flexGrow_var", {
|
|
@@ -20578,7 +20619,7 @@ function LoadingSkeleton({
|
|
|
20578
20619
|
}]
|
|
20579
20620
|
}) }, `row-${rowNumber}-cell-${i}`));
|
|
20580
20621
|
};
|
|
20581
|
-
return /* @__PURE__ */
|
|
20622
|
+
return /* @__PURE__ */ jsx150("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ jsx150("div", { ...trussProps74({
|
|
20582
20623
|
display: "df",
|
|
20583
20624
|
gap: "gap1",
|
|
20584
20625
|
marginBottom: "mb1",
|
|
@@ -20599,20 +20640,33 @@ var sizeToPixels2 = {
|
|
|
20599
20640
|
};
|
|
20600
20641
|
|
|
20601
20642
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
20602
|
-
import { Fragment as Fragment35, jsx as
|
|
20643
|
+
import { Fragment as Fragment35, jsx as jsx151, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
20603
20644
|
function QueryTable(props) {
|
|
20604
|
-
const {
|
|
20645
|
+
const {
|
|
20646
|
+
emptyFallback,
|
|
20647
|
+
query,
|
|
20648
|
+
createRows,
|
|
20649
|
+
columns,
|
|
20650
|
+
keepHeaderWhenLoading,
|
|
20651
|
+
emptyState: emptyStateProp,
|
|
20652
|
+
...others
|
|
20653
|
+
} = props;
|
|
20605
20654
|
const data = query.loading || query.error ? void 0 : query.data;
|
|
20606
20655
|
const rows = useMemo39(() => createRows(data), [createRows, data]);
|
|
20607
|
-
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` :
|
|
20656
|
+
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : void 0;
|
|
20657
|
+
const emptyState = useMemo39(() => {
|
|
20658
|
+
if (query.loading || query.error) return void 0;
|
|
20659
|
+
if (emptyStateProp) return emptyStateProp;
|
|
20660
|
+
return { title: emptyFallback };
|
|
20661
|
+
}, [emptyFallback, emptyStateProp, query.error, query.loading]);
|
|
20608
20662
|
const headers = rows.filter((row) => row.kind === "header");
|
|
20609
|
-
return query.loading ? /* @__PURE__ */
|
|
20663
|
+
return query.loading ? /* @__PURE__ */ jsx151("div", { children: keepHeaderWhenLoading ? /* @__PURE__ */ jsx151(GridTable, { ...{ columns, ...others }, rows: headers, fallbackMessage }) : /* @__PURE__ */ jsx151(LoadingTable, { columns: columns.length }) }) : /* @__PURE__ */ jsx151(GridTable, { ...{ rows, columns, fallbackMessage, emptyState, ...others } });
|
|
20610
20664
|
}
|
|
20611
20665
|
function LoadingTable(props) {
|
|
20612
20666
|
const { columns } = props;
|
|
20613
|
-
return /* @__PURE__ */
|
|
20614
|
-
/* @__PURE__ */
|
|
20615
|
-
/* @__PURE__ */
|
|
20667
|
+
return /* @__PURE__ */ jsxs76(Fragment35, { children: [
|
|
20668
|
+
/* @__PURE__ */ jsx151(LoadingSkeleton, { rows: 1, columns: 1 }),
|
|
20669
|
+
/* @__PURE__ */ jsx151(LoadingSkeleton, { rows: 5, columns: columns ?? 5 })
|
|
20616
20670
|
] });
|
|
20617
20671
|
}
|
|
20618
20672
|
|
|
@@ -20651,7 +20705,7 @@ function parseStoredTableView(raw) {
|
|
|
20651
20705
|
|
|
20652
20706
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
20653
20707
|
import { trussProps as trussProps75, maybeCssVar as maybeCssVar43 } from "@homebound/truss/runtime";
|
|
20654
|
-
import { Fragment as Fragment36, jsx as
|
|
20708
|
+
import { Fragment as Fragment36, jsx as jsx152, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
20655
20709
|
var __maybeInc15 = (inc) => {
|
|
20656
20710
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
20657
20711
|
};
|
|
@@ -20667,7 +20721,8 @@ function GridTableLayoutComponent(props) {
|
|
|
20667
20721
|
actionMenu,
|
|
20668
20722
|
hideEditColumns = false,
|
|
20669
20723
|
withCardView,
|
|
20670
|
-
defaultView = "list"
|
|
20724
|
+
defaultView = "list",
|
|
20725
|
+
emptyFallback: layoutEmptyFallback
|
|
20671
20726
|
} = props;
|
|
20672
20727
|
const tid = useTestIds(props);
|
|
20673
20728
|
const columns = tableProps.columns;
|
|
@@ -20692,32 +20747,34 @@ function GridTableLayoutComponent(props) {
|
|
|
20692
20747
|
}
|
|
20693
20748
|
}, [visibleColumnIds, layoutState]);
|
|
20694
20749
|
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
20695
|
-
const
|
|
20696
|
-
|
|
20697
|
-
|
|
20750
|
+
const filterSearchProps = useMemo40(() => layoutState?.search ? {
|
|
20751
|
+
onSearch: layoutState.setSearchString
|
|
20752
|
+
} : void 0, [layoutState?.search, layoutState?.setSearchString]);
|
|
20753
|
+
const emptyState = useMemo40(() => composeEmptyState(tableProps, layoutState, layoutEmptyFallback), [layoutEmptyFallback, layoutState, tableProps]);
|
|
20754
|
+
const tableActionsEl = /* @__PURE__ */ jsx152(TableActions, { right: (hasHideableColumns || withCardView) && /* @__PURE__ */ jsxs77("div", { className: "df gap1", children: [
|
|
20755
|
+
hasHideableColumns && view === "list" && /* @__PURE__ */ jsx152(EditColumnsButton, { columns, api, tooltip: "Display columns", ...tid.editColumnsButton }),
|
|
20756
|
+
withCardView && /* @__PURE__ */ jsx152(ViewToggleButton, { view, onChange: setView })
|
|
20698
20757
|
] }), xss: {
|
|
20699
20758
|
paddingTop: "pt3",
|
|
20700
20759
|
...inDocumentScrollLayout ? {
|
|
20701
20760
|
paddingLeft: "pl3",
|
|
20702
20761
|
paddingRight: "pr3"
|
|
20703
20762
|
} : {}
|
|
20704
|
-
}, children: layoutState && (layoutState.filterDefs || layoutState.search) && /* @__PURE__ */
|
|
20705
|
-
onSearch: layoutState.setSearchString
|
|
20706
|
-
} : void 0 }) });
|
|
20763
|
+
}, children: layoutState && (layoutState.filterDefs || layoutState.search) && /* @__PURE__ */ jsx152(_FilterDropdownMenu, { filterDefs: layoutState.filterDefs, filter: layoutState.filter, onChange: layoutState.setFilter, groupBy: layoutState.groupBy, searchProps: filterSearchProps }) });
|
|
20707
20764
|
const cardAs = withCardView && view === "card" ? "card" : void 0;
|
|
20708
|
-
const tableBody = /* @__PURE__ */
|
|
20765
|
+
const tableBody = /* @__PURE__ */ jsx152(Fragment36, { children: isGridTableProps(tableProps) ? /* @__PURE__ */ jsx152(GridTable, { ...tableProps, ...cardAs ? {
|
|
20709
20766
|
as: cardAs
|
|
20710
|
-
} : {}, api, filter: clientSearch, style: {
|
|
20767
|
+
} : {}, api, emptyState, filter: clientSearch, style: {
|
|
20711
20768
|
allWhite: true,
|
|
20712
20769
|
roundedHeader: !inDocumentScrollLayout
|
|
20713
|
-
}, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) : /* @__PURE__ */
|
|
20770
|
+
}, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) : /* @__PURE__ */ jsx152(QueryTable, { ...tableProps, ...cardAs ? {
|
|
20714
20771
|
as: cardAs
|
|
20715
|
-
} : {}, api, filter: clientSearch, style: {
|
|
20772
|
+
} : {}, api, emptyState, filter: clientSearch, style: {
|
|
20716
20773
|
allWhite: true,
|
|
20717
20774
|
roundedHeader: !inDocumentScrollLayout
|
|
20718
20775
|
}, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) });
|
|
20719
|
-
const tableScrollContent = /* @__PURE__ */
|
|
20720
|
-
showTableActions && /* @__PURE__ */
|
|
20776
|
+
const tableScrollContent = /* @__PURE__ */ jsxs77(Fragment36, { children: [
|
|
20777
|
+
showTableActions && /* @__PURE__ */ jsx152("div", { ref: tableActionsRef, ...trussProps75({
|
|
20721
20778
|
...inDocumentScrollLayout ? {
|
|
20722
20779
|
transition: "transitionTop",
|
|
20723
20780
|
position: "sticky",
|
|
@@ -20738,11 +20795,11 @@ function GridTableLayoutComponent(props) {
|
|
|
20738
20795
|
}]
|
|
20739
20796
|
} : {}
|
|
20740
20797
|
}), ...tid.stickyContent, children: tableActionsEl }),
|
|
20741
|
-
inDocumentScrollLayout ? tableBody : /* @__PURE__ */
|
|
20798
|
+
inDocumentScrollLayout ? tableBody : /* @__PURE__ */ jsx152(ScrollableContent, { virtualized: isVirtualized, children: tableBody })
|
|
20742
20799
|
] });
|
|
20743
|
-
return /* @__PURE__ */
|
|
20744
|
-
pageTitle && /* @__PURE__ */
|
|
20745
|
-
/* @__PURE__ */
|
|
20800
|
+
return /* @__PURE__ */ jsxs77(Fragment36, { children: [
|
|
20801
|
+
pageTitle && /* @__PURE__ */ jsx152(Header2, { pageTitle, breadCrumb, primaryAction, secondaryAction, tertiaryAction, actionMenu }),
|
|
20802
|
+
/* @__PURE__ */ jsx152("div", { ref: tableWrapperRef, className: "display_contents", ...tid.tableWrapper, children: tableScrollContent })
|
|
20746
20803
|
] });
|
|
20747
20804
|
}
|
|
20748
20805
|
var GridTableLayout = React17.memo(GridTableLayoutComponent);
|
|
@@ -20773,6 +20830,11 @@ function useGridTableLayoutState({
|
|
|
20773
20830
|
const [searchString, setSearchString] = useState46("");
|
|
20774
20831
|
const columnsFallback = "unset-columns";
|
|
20775
20832
|
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(persistedColumns?.storageKey ?? columnsFallback, void 0);
|
|
20833
|
+
const filteringActive = getActiveFilterCount(filter) > 0 || !!searchString;
|
|
20834
|
+
const clearFilters = useCallback27(() => {
|
|
20835
|
+
setFilter({});
|
|
20836
|
+
setSearchString("");
|
|
20837
|
+
}, [setFilter]);
|
|
20776
20838
|
return {
|
|
20777
20839
|
filter,
|
|
20778
20840
|
setFilter,
|
|
@@ -20783,7 +20845,20 @@ function useGridTableLayoutState({
|
|
|
20783
20845
|
groupBy: maybeGroupBy ? groupBy : void 0,
|
|
20784
20846
|
visibleColumnIds: persistedColumns ? visibleColumnIds : void 0,
|
|
20785
20847
|
setVisibleColumnIds: persistedColumns ? setVisibleColumnIds : void 0,
|
|
20786
|
-
persistedColumnsStorageKey: persistedColumns?.storageKey
|
|
20848
|
+
persistedColumnsStorageKey: persistedColumns?.storageKey,
|
|
20849
|
+
filteringActive,
|
|
20850
|
+
clearFilters
|
|
20851
|
+
};
|
|
20852
|
+
}
|
|
20853
|
+
function composeEmptyState(tableProps, layoutState, layoutEmptyFallback) {
|
|
20854
|
+
const tableEmptyState = "emptyState" in tableProps ? tableProps.emptyState : void 0;
|
|
20855
|
+
const tableEmptyFallback = "emptyFallback" in tableProps ? tableProps.emptyFallback : void 0;
|
|
20856
|
+
const filteringActive = layoutState?.filteringActive ?? false;
|
|
20857
|
+
const filterEmptyDescription = "Try adjusting your search or filters.";
|
|
20858
|
+
return {
|
|
20859
|
+
title: tableEmptyState?.title ?? tableEmptyFallback ?? layoutEmptyFallback,
|
|
20860
|
+
description: tableEmptyState?.description ?? (filteringActive ? filterEmptyDescription : void 0),
|
|
20861
|
+
actions: tableEmptyState?.actions ?? (filteringActive && layoutState ? /* @__PURE__ */ jsx152(Button, { label: "Clear Filters", variant: "tertiary", onClick: layoutState.clearFilters, "data-testid": "clearFilters" }) : void 0)
|
|
20787
20862
|
};
|
|
20788
20863
|
}
|
|
20789
20864
|
function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
@@ -20805,7 +20880,7 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
20805
20880
|
ref: tableActionsRef,
|
|
20806
20881
|
onResize: enabled ? syncHeightVar : noop
|
|
20807
20882
|
});
|
|
20808
|
-
|
|
20883
|
+
useLayoutEffect6(() => {
|
|
20809
20884
|
syncHeightVar();
|
|
20810
20885
|
const tableWrapper = tableWrapperRef.current;
|
|
20811
20886
|
return () => {
|
|
@@ -20823,7 +20898,7 @@ function Header2(props) {
|
|
|
20823
20898
|
actionMenu
|
|
20824
20899
|
} = props;
|
|
20825
20900
|
const tids = useTestIds(props);
|
|
20826
|
-
return /* @__PURE__ */
|
|
20901
|
+
return /* @__PURE__ */ jsx152(FullBleed, { children: /* @__PURE__ */ jsxs77("header", { ...trussProps75({
|
|
20827
20902
|
...{
|
|
20828
20903
|
paddingTop: "pt3",
|
|
20829
20904
|
paddingBottom: "pb3",
|
|
@@ -20836,15 +20911,15 @@ function Header2(props) {
|
|
|
20836
20911
|
alignItems: "aic"
|
|
20837
20912
|
}
|
|
20838
20913
|
}), ...tids.header, children: [
|
|
20839
|
-
/* @__PURE__ */
|
|
20840
|
-
breadCrumb && /* @__PURE__ */
|
|
20841
|
-
/* @__PURE__ */
|
|
20914
|
+
/* @__PURE__ */ jsxs77("div", { children: [
|
|
20915
|
+
breadCrumb && /* @__PURE__ */ jsx152(PageHeaderBreadcrumbs, { breadcrumb: breadCrumb }),
|
|
20916
|
+
/* @__PURE__ */ jsx152("h1", { className: "fw6 fz_30px lh_36px mt1", ...tids.pageTitle, children: pageTitle })
|
|
20842
20917
|
] }),
|
|
20843
|
-
/* @__PURE__ */
|
|
20844
|
-
tertiaryAction && /* @__PURE__ */
|
|
20845
|
-
secondaryAction && /* @__PURE__ */
|
|
20846
|
-
primaryAction && /* @__PURE__ */
|
|
20847
|
-
actionMenu && /* @__PURE__ */
|
|
20918
|
+
/* @__PURE__ */ jsxs77("div", { className: "df fwr jcfe gap1 aic", children: [
|
|
20919
|
+
tertiaryAction && /* @__PURE__ */ jsx152(Button, { ...tertiaryAction, variant: "tertiary" }),
|
|
20920
|
+
secondaryAction && /* @__PURE__ */ jsx152(Button, { ...secondaryAction, variant: "secondary" }),
|
|
20921
|
+
primaryAction && /* @__PURE__ */ jsx152(Button, { ...primaryAction }),
|
|
20922
|
+
actionMenu && /* @__PURE__ */ jsx152(ButtonMenu, { ...actionMenu, trigger: {
|
|
20848
20923
|
icon: "verticalDots"
|
|
20849
20924
|
} })
|
|
20850
20925
|
] })
|
|
@@ -20852,7 +20927,7 @@ function Header2(props) {
|
|
|
20852
20927
|
}
|
|
20853
20928
|
|
|
20854
20929
|
// src/components/Layout/PreventBrowserScroll.tsx
|
|
20855
|
-
import { jsx as
|
|
20930
|
+
import { jsx as jsx153 } from "react/jsx-runtime";
|
|
20856
20931
|
function PreventBrowserScroll({
|
|
20857
20932
|
children
|
|
20858
20933
|
}) {
|
|
@@ -20860,13 +20935,13 @@ function PreventBrowserScroll({
|
|
|
20860
20935
|
// Take over the full viewport and hide any overflown content.
|
|
20861
20936
|
// 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/
|
|
20862
20937
|
// 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.
|
|
20863
|
-
/* @__PURE__ */
|
|
20938
|
+
/* @__PURE__ */ jsx153("div", { className: "oh vh100 mh_negwebkit_fill_available maxh_negwebkit_fill_available", children: /* @__PURE__ */ jsx153("div", { className: "h100 df fdc mh0 oa", children }) })
|
|
20864
20939
|
);
|
|
20865
20940
|
}
|
|
20866
20941
|
|
|
20867
20942
|
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
20868
20943
|
import React18, { useCallback as useCallback28, useContext as useContext20, useMemo as useMemo41, useState as useState47 } from "react";
|
|
20869
|
-
import { jsx as
|
|
20944
|
+
import { jsx as jsx154 } from "react/jsx-runtime";
|
|
20870
20945
|
var RightPaneContext = React18.createContext({
|
|
20871
20946
|
openInPane: () => {
|
|
20872
20947
|
},
|
|
@@ -20893,7 +20968,7 @@ function RightPaneProvider({ children }) {
|
|
|
20893
20968
|
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
20894
20969
|
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
20895
20970
|
);
|
|
20896
|
-
return /* @__PURE__ */
|
|
20971
|
+
return /* @__PURE__ */ jsx154(RightPaneContext.Provider, { value: context, children });
|
|
20897
20972
|
}
|
|
20898
20973
|
function useRightPaneContext() {
|
|
20899
20974
|
return useContext20(RightPaneContext);
|
|
@@ -20903,7 +20978,7 @@ function useRightPaneContext() {
|
|
|
20903
20978
|
import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
|
|
20904
20979
|
import { useEffect as useEffect30 } from "react";
|
|
20905
20980
|
import { trussProps as trussProps76, maybeCssVar as maybeCssVar44 } from "@homebound/truss/runtime";
|
|
20906
|
-
import { Fragment as Fragment37, jsx as
|
|
20981
|
+
import { Fragment as Fragment37, jsx as jsx155, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
20907
20982
|
var __maybeInc16 = (inc) => {
|
|
20908
20983
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
20909
20984
|
};
|
|
@@ -20921,8 +20996,8 @@ function RightPaneLayout(props) {
|
|
|
20921
20996
|
closePane
|
|
20922
20997
|
} = useRightPaneContext();
|
|
20923
20998
|
useEffect30(() => closePane, [closePane]);
|
|
20924
|
-
return /* @__PURE__ */
|
|
20925
|
-
/* @__PURE__ */
|
|
20999
|
+
return /* @__PURE__ */ jsx155("div", { className: "h100 df oxh", children: /* @__PURE__ */ jsxs78(Fragment37, { children: [
|
|
21000
|
+
/* @__PURE__ */ jsx155("div", { ...trussProps76({
|
|
20926
21001
|
...{
|
|
20927
21002
|
width: ["w_var", {
|
|
20928
21003
|
"--width": maybeCssVar44(__maybeInc16(`calc(100% - ${paneWidth + 24}px)`))
|
|
@@ -20947,7 +21022,7 @@ function RightPaneLayout(props) {
|
|
|
20947
21022
|
} : {}
|
|
20948
21023
|
}
|
|
20949
21024
|
}), children }),
|
|
20950
|
-
/* @__PURE__ */
|
|
21025
|
+
/* @__PURE__ */ jsxs78("div", { ...trussProps76({
|
|
20951
21026
|
position: "relative",
|
|
20952
21027
|
...!!defaultPaneContent ? {
|
|
20953
21028
|
width: ["w_var", {
|
|
@@ -20955,7 +21030,7 @@ function RightPaneLayout(props) {
|
|
|
20955
21030
|
}]
|
|
20956
21031
|
} : {}
|
|
20957
21032
|
}), children: [
|
|
20958
|
-
defaultPaneContent && /* @__PURE__ */
|
|
21033
|
+
defaultPaneContent && /* @__PURE__ */ jsx155("div", { ...trussProps76({
|
|
20959
21034
|
height: "h100",
|
|
20960
21035
|
width: ["w_var", {
|
|
20961
21036
|
"--width": `${paneWidth}px`
|
|
@@ -20968,7 +21043,7 @@ function RightPaneLayout(props) {
|
|
|
20968
21043
|
left: "left_100"
|
|
20969
21044
|
} : {}
|
|
20970
21045
|
}), children: defaultPaneContent }),
|
|
20971
|
-
/* @__PURE__ */
|
|
21046
|
+
/* @__PURE__ */ jsx155(AnimatePresence3, { children: isRightPaneOpen && /* @__PURE__ */ jsx155(
|
|
20972
21047
|
motion3.div,
|
|
20973
21048
|
{
|
|
20974
21049
|
layout: "position",
|
|
@@ -21020,14 +21095,14 @@ function useRightPane() {
|
|
|
21020
21095
|
|
|
21021
21096
|
// src/components/Layout/ScrollableFooter.tsx
|
|
21022
21097
|
import { createPortal as createPortal5 } from "react-dom";
|
|
21023
|
-
import { Fragment as Fragment38, jsx as
|
|
21098
|
+
import { Fragment as Fragment38, jsx as jsx156 } from "react/jsx-runtime";
|
|
21024
21099
|
function ScrollableFooter(props) {
|
|
21025
21100
|
const { children } = props;
|
|
21026
21101
|
const { footerEl } = useScrollableParent();
|
|
21027
21102
|
if (!footerEl) {
|
|
21028
|
-
return /* @__PURE__ */
|
|
21103
|
+
return /* @__PURE__ */ jsx156(Fragment38, { children });
|
|
21029
21104
|
}
|
|
21030
|
-
return createPortal5(/* @__PURE__ */
|
|
21105
|
+
return createPortal5(/* @__PURE__ */ jsx156(Fragment38, { children }), footerEl);
|
|
21031
21106
|
}
|
|
21032
21107
|
|
|
21033
21108
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
@@ -21035,7 +21110,7 @@ import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-m
|
|
|
21035
21110
|
import { useEffect as useEffect31, useState as useState48 } from "react";
|
|
21036
21111
|
|
|
21037
21112
|
// src/components/Layout/TableReviewLayout/SidePanel.tsx
|
|
21038
|
-
import { jsx as
|
|
21113
|
+
import { jsx as jsx157, jsxs as jsxs79 } from "react/jsx-runtime";
|
|
21039
21114
|
function SidePanel(props) {
|
|
21040
21115
|
const {
|
|
21041
21116
|
title,
|
|
@@ -21045,19 +21120,19 @@ function SidePanel(props) {
|
|
|
21045
21120
|
} = props;
|
|
21046
21121
|
const tid = useTestIds(props, "sidePanel");
|
|
21047
21122
|
const hasFooter = primaryAction || secondaryAction;
|
|
21048
|
-
return /* @__PURE__ */
|
|
21049
|
-
/* @__PURE__ */
|
|
21050
|
-
/* @__PURE__ */
|
|
21051
|
-
hasFooter && /* @__PURE__ */
|
|
21052
|
-
secondaryAction && /* @__PURE__ */
|
|
21053
|
-
primaryAction && /* @__PURE__ */
|
|
21123
|
+
return /* @__PURE__ */ jsxs79("div", { className: "h100 df fdc oh", ...tid, children: [
|
|
21124
|
+
/* @__PURE__ */ jsx157("div", { className: "pt3 pb3 pr3 pl3 fs0", ...tid.header, children: /* @__PURE__ */ jsx157("h2", { className: "fw6 fz_20px lh_28px mt0 mb0", ...tid.title, children: title }) }),
|
|
21125
|
+
/* @__PURE__ */ jsx157("div", { className: "fg1 oya mh0", ...tid.body, children: content }),
|
|
21126
|
+
hasFooter && /* @__PURE__ */ jsxs79("div", { className: "df gap2 jcfe pt3 pb3 pr3 pl3 fs0", ...tid.footer, children: [
|
|
21127
|
+
secondaryAction && /* @__PURE__ */ jsx157(Button, { ...secondaryAction, variant: "secondaryBlack" }),
|
|
21128
|
+
primaryAction && /* @__PURE__ */ jsx157(Button, { ...primaryAction })
|
|
21054
21129
|
] })
|
|
21055
21130
|
] });
|
|
21056
21131
|
}
|
|
21057
21132
|
|
|
21058
21133
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
21059
21134
|
import { trussProps as trussProps77, maybeCssVar as maybeCssVar45 } from "@homebound/truss/runtime";
|
|
21060
|
-
import { jsx as
|
|
21135
|
+
import { jsx as jsx158, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
21061
21136
|
var defaultRightPaneWidth = 450;
|
|
21062
21137
|
function TableReviewLayout(props) {
|
|
21063
21138
|
const {
|
|
@@ -21083,22 +21158,22 @@ function TableReviewLayout(props) {
|
|
|
21083
21158
|
let tableContent;
|
|
21084
21159
|
if (isGridTableProps(tableProps)) {
|
|
21085
21160
|
if (emptyState && !tableProps.rows.some((r) => r.kind !== "header")) {
|
|
21086
|
-
tableContent = /* @__PURE__ */
|
|
21161
|
+
tableContent = /* @__PURE__ */ jsx158("div", { className: "h100 df fdc aic jcc", children: emptyState });
|
|
21087
21162
|
} else {
|
|
21088
|
-
tableContent = /* @__PURE__ */
|
|
21163
|
+
tableContent = /* @__PURE__ */ jsx158(GridTable, { ...tableProps, style: {
|
|
21089
21164
|
allWhite: true,
|
|
21090
21165
|
bordered: true
|
|
21091
21166
|
}, stickyHeader: true });
|
|
21092
21167
|
}
|
|
21093
21168
|
} else if (emptyState) {
|
|
21094
|
-
tableContent = /* @__PURE__ */
|
|
21169
|
+
tableContent = /* @__PURE__ */ jsx158("div", { className: "h100 df fdc aic jcc", children: emptyState });
|
|
21095
21170
|
} else {
|
|
21096
|
-
tableContent = /* @__PURE__ */
|
|
21171
|
+
tableContent = /* @__PURE__ */ jsx158(QueryTable, { ...tableProps, style: {
|
|
21097
21172
|
allWhite: true,
|
|
21098
21173
|
bordered: true
|
|
21099
21174
|
}, stickyHeader: true });
|
|
21100
21175
|
}
|
|
21101
|
-
return /* @__PURE__ */
|
|
21176
|
+
return /* @__PURE__ */ jsxs80("div", { ...trussProps77({
|
|
21102
21177
|
position: "fixed",
|
|
21103
21178
|
top: "top0",
|
|
21104
21179
|
bottom: "bottom0",
|
|
@@ -21111,19 +21186,19 @@ function TableReviewLayout(props) {
|
|
|
21111
21186
|
display: "df",
|
|
21112
21187
|
flexDirection: "fdc"
|
|
21113
21188
|
}), ...tid, children: [
|
|
21114
|
-
/* @__PURE__ */
|
|
21115
|
-
/* @__PURE__ */
|
|
21116
|
-
/* @__PURE__ */
|
|
21117
|
-
/* @__PURE__ */
|
|
21118
|
-
breadCrumb && /* @__PURE__ */
|
|
21119
|
-
/* @__PURE__ */
|
|
21189
|
+
/* @__PURE__ */ jsxs80("header", { className: "pl3 pr3 pt3 pb2 fs0", ...tid.header, children: [
|
|
21190
|
+
/* @__PURE__ */ jsx158(Toast, {}),
|
|
21191
|
+
/* @__PURE__ */ jsxs80("div", { className: "df jcsb aic", children: [
|
|
21192
|
+
/* @__PURE__ */ jsxs80("div", { children: [
|
|
21193
|
+
breadCrumb && /* @__PURE__ */ jsx158(PageHeaderBreadcrumbs, { breadcrumb: breadCrumb }),
|
|
21194
|
+
/* @__PURE__ */ jsx158("h1", { className: "fw6 fz_30px lh_36px mt1 mb0", ...tid.pageTitle, children: pageTitle })
|
|
21120
21195
|
] }),
|
|
21121
|
-
/* @__PURE__ */
|
|
21196
|
+
/* @__PURE__ */ jsx158(Button, { label: "Close", onClick: closeAction, ...tid.closeButton })
|
|
21122
21197
|
] }),
|
|
21123
|
-
/* @__PURE__ */
|
|
21198
|
+
/* @__PURE__ */ jsx158("div", { className: "fw4 fz_14px lh_20px gray700 mt2", ...tid.description, children: description })
|
|
21124
21199
|
] }),
|
|
21125
|
-
/* @__PURE__ */
|
|
21126
|
-
/* @__PURE__ */
|
|
21200
|
+
/* @__PURE__ */ jsxs80("div", { className: "fg1 df mh0", ...tid.content, children: [
|
|
21201
|
+
/* @__PURE__ */ jsx158("div", { ...trussProps77({
|
|
21127
21202
|
...{
|
|
21128
21203
|
flexGrow: "fg1",
|
|
21129
21204
|
overflowY: "oya",
|
|
@@ -21136,7 +21211,7 @@ function TableReviewLayout(props) {
|
|
|
21136
21211
|
} : {}
|
|
21137
21212
|
}
|
|
21138
21213
|
}), children: tableContent }),
|
|
21139
|
-
/* @__PURE__ */
|
|
21214
|
+
/* @__PURE__ */ jsx158(AnimatePresence4, { children: isPanelVisible && panelContent && /* @__PURE__ */ jsxs80(motion4.div, { initial: {
|
|
21140
21215
|
width: 0
|
|
21141
21216
|
}, animate: {
|
|
21142
21217
|
width: rightPaneWidth
|
|
@@ -21146,7 +21221,7 @@ function TableReviewLayout(props) {
|
|
|
21146
21221
|
ease: "linear",
|
|
21147
21222
|
duration: 0.2
|
|
21148
21223
|
}, className: "df fdc fs0 relative", children: [
|
|
21149
|
-
/* @__PURE__ */
|
|
21224
|
+
/* @__PURE__ */ jsxs80("div", { ...trussProps77({
|
|
21150
21225
|
position: "absolute",
|
|
21151
21226
|
top: ["top_var", {
|
|
21152
21227
|
"--top": `${-32}px`
|
|
@@ -21159,17 +21234,17 @@ function TableReviewLayout(props) {
|
|
|
21159
21234
|
}],
|
|
21160
21235
|
zIndex: "z1"
|
|
21161
21236
|
}), children: [
|
|
21162
|
-
/* @__PURE__ */
|
|
21163
|
-
/* @__PURE__ */
|
|
21237
|
+
/* @__PURE__ */ jsx158(IconButton, { bgColor: "rgba(255, 255, 255, 1)" /* White */, variant: "circle", icon: "x", inc: 3.5, onClick: handleClosePanel, ...tid.closePanelButton }),
|
|
21238
|
+
/* @__PURE__ */ jsx158("div", { className: "w_1px bgGray300 vh100" })
|
|
21164
21239
|
] }),
|
|
21165
|
-
/* @__PURE__ */
|
|
21240
|
+
/* @__PURE__ */ jsx158("div", { className: "fg1 oh mh0", children: /* @__PURE__ */ jsx158(SidePanel, { ...panelContent }) })
|
|
21166
21241
|
] }, "panel") })
|
|
21167
21242
|
] })
|
|
21168
21243
|
] });
|
|
21169
21244
|
}
|
|
21170
21245
|
|
|
21171
21246
|
// src/components/BeamContext.tsx
|
|
21172
|
-
import { jsx as
|
|
21247
|
+
import { jsx as jsx159, jsxs as jsxs81 } from "react/jsx-runtime";
|
|
21173
21248
|
var BeamContext = createContext10({
|
|
21174
21249
|
modalState: new EmptyRef(),
|
|
21175
21250
|
modalCanCloseChecks: new EmptyRef(),
|
|
@@ -21211,14 +21286,14 @@ function BeamProvider({ children, documentTitleConfig, ...presentationProps }) {
|
|
|
21211
21286
|
sdHeaderDiv
|
|
21212
21287
|
};
|
|
21213
21288
|
}, [modalBodyDiv, modalFooterDiv, modalHeaderDiv, sdHeaderDiv]);
|
|
21214
|
-
const beamTree = /* @__PURE__ */
|
|
21215
|
-
/* @__PURE__ */
|
|
21289
|
+
const beamTree = /* @__PURE__ */ jsx159(PresentationProvider, { ...presentationProps, children: /* @__PURE__ */ jsx159(RightPaneProvider, { children: /* @__PURE__ */ jsx159(AutoSaveStatusProvider, { children: /* @__PURE__ */ jsx159(SnackbarProvider, { children: /* @__PURE__ */ jsxs81(ToastProvider, { children: [
|
|
21290
|
+
/* @__PURE__ */ jsxs81(OverlayProvider, { children: [
|
|
21216
21291
|
children,
|
|
21217
|
-
modalRef.current && /* @__PURE__ */
|
|
21292
|
+
modalRef.current && /* @__PURE__ */ jsx159(Modal, { ...modalRef.current })
|
|
21218
21293
|
] }),
|
|
21219
|
-
/* @__PURE__ */
|
|
21294
|
+
/* @__PURE__ */ jsx159(SuperDrawer, {})
|
|
21220
21295
|
] }) }) }) }) });
|
|
21221
|
-
return /* @__PURE__ */
|
|
21296
|
+
return /* @__PURE__ */ jsx159(BeamContext.Provider, { value: { ...context }, children: documentTitleConfig ? /* @__PURE__ */ jsx159(DocumentTitleProvider, { ...documentTitleConfig, children: beamTree }) : beamTree });
|
|
21222
21297
|
}
|
|
21223
21298
|
var PretendRefThatTicks = class {
|
|
21224
21299
|
constructor(ref, tick) {
|
|
@@ -21241,7 +21316,7 @@ function useBeamContext() {
|
|
|
21241
21316
|
import { useRef as useRef50 } from "react";
|
|
21242
21317
|
import { useMenuTrigger as useMenuTrigger4 } from "react-aria";
|
|
21243
21318
|
import { useMenuTriggerState as useMenuTriggerState4 } from "react-stately";
|
|
21244
|
-
import { jsx as
|
|
21319
|
+
import { jsx as jsx160 } from "react/jsx-runtime";
|
|
21245
21320
|
function ButtonDatePicker(props) {
|
|
21246
21321
|
const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
|
|
21247
21322
|
const state = useMenuTriggerState4({ isOpen: defaultOpen });
|
|
@@ -21254,7 +21329,7 @@ function ButtonDatePicker(props) {
|
|
|
21254
21329
|
props,
|
|
21255
21330
|
isTextButton(trigger) ? defaultTestId(labelOr(trigger, "buttonDatePicker")) : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
21256
21331
|
);
|
|
21257
|
-
return /* @__PURE__ */
|
|
21332
|
+
return /* @__PURE__ */ jsx160(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ jsx160(DatePickerOverlay, { overlayProps: menuProps, children: /* @__PURE__ */ jsx160(
|
|
21258
21333
|
DatePicker,
|
|
21259
21334
|
{
|
|
21260
21335
|
...datePickerProps,
|
|
@@ -21271,7 +21346,7 @@ function ButtonDatePicker(props) {
|
|
|
21271
21346
|
import { useRef as useRef51 } from "react";
|
|
21272
21347
|
import { useButton as useButton10, useFocusRing as useFocusRing12, useHover as useHover15 } from "react-aria";
|
|
21273
21348
|
import { trussProps as trussProps78 } from "@homebound/truss/runtime";
|
|
21274
|
-
import { jsx as
|
|
21349
|
+
import { jsx as jsx161, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
21275
21350
|
function ButtonGroup(props) {
|
|
21276
21351
|
const {
|
|
21277
21352
|
buttons,
|
|
@@ -21281,7 +21356,7 @@ function ButtonGroup(props) {
|
|
|
21281
21356
|
const tid = useTestIds(props, "buttonGroup");
|
|
21282
21357
|
return (
|
|
21283
21358
|
// Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
|
|
21284
|
-
/* @__PURE__ */
|
|
21359
|
+
/* @__PURE__ */ jsx161("div", { ...tid, ...trussProps78({
|
|
21285
21360
|
...{
|
|
21286
21361
|
display: "df",
|
|
21287
21362
|
lineHeight: "lh_0"
|
|
@@ -21292,7 +21367,7 @@ function ButtonGroup(props) {
|
|
|
21292
21367
|
...buttonProps
|
|
21293
21368
|
}, i) => (
|
|
21294
21369
|
// Disable the button if the ButtonGroup is disabled or if the current button is disabled.
|
|
21295
|
-
/* @__PURE__ */
|
|
21370
|
+
/* @__PURE__ */ jsx161(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, isFirst: i === 0, isLast: i === buttons.length - 1, ...tid }, i)
|
|
21296
21371
|
)) })
|
|
21297
21372
|
);
|
|
21298
21373
|
}
|
|
@@ -21330,10 +21405,10 @@ function GroupButton(props) {
|
|
|
21330
21405
|
isHovered
|
|
21331
21406
|
} = useHover15(ariaProps);
|
|
21332
21407
|
const tid = useTestIds(props);
|
|
21333
|
-
return /* @__PURE__ */
|
|
21408
|
+
return /* @__PURE__ */ jsx161("span", { ...trussProps78(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
|
|
21334
21409
|
title: resolveTooltip(disabled, tooltip),
|
|
21335
21410
|
placement: "top",
|
|
21336
|
-
children: /* @__PURE__ */
|
|
21411
|
+
children: /* @__PURE__ */ jsxs82("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps78({
|
|
21337
21412
|
...{
|
|
21338
21413
|
fontWeight: "fw6",
|
|
21339
21414
|
fontSize: "fz_14px",
|
|
@@ -21356,7 +21431,7 @@ function GroupButton(props) {
|
|
|
21356
21431
|
...isPressed ? pressedStyles : isHovered ? hoverStyles4 : {},
|
|
21357
21432
|
...icon ? iconStyles2[size] : {}
|
|
21358
21433
|
}), ...tid[defaultTestId(typeof text === "string" && text || icon || "button")], children: [
|
|
21359
|
-
icon && /* @__PURE__ */
|
|
21434
|
+
icon && /* @__PURE__ */ jsx161(Icon, { xss: {
|
|
21360
21435
|
...!!text ? {
|
|
21361
21436
|
marginRight: "mr_4px"
|
|
21362
21437
|
} : {}
|
|
@@ -21441,11 +21516,12 @@ import { useHover as useHover16 } from "react-aria";
|
|
|
21441
21516
|
import { useResizeObserver as useResizeObserver6 } from "@react-aria/utils";
|
|
21442
21517
|
import { useRef as useRef52, useState as useState49 } from "react";
|
|
21443
21518
|
import { trussProps as trussProps79 } from "@homebound/truss/runtime";
|
|
21444
|
-
import { jsx as
|
|
21519
|
+
import { jsx as jsx162, jsxs as jsxs83 } from "react/jsx-runtime";
|
|
21445
21520
|
function Tag(props) {
|
|
21446
21521
|
const {
|
|
21447
21522
|
text,
|
|
21448
21523
|
type,
|
|
21524
|
+
variant = "primary",
|
|
21449
21525
|
xss,
|
|
21450
21526
|
preventTooltip = false,
|
|
21451
21527
|
iconOnly,
|
|
@@ -21455,8 +21531,10 @@ function Tag(props) {
|
|
|
21455
21531
|
const isIconOnly = !!iconOnly && !!icon;
|
|
21456
21532
|
const {
|
|
21457
21533
|
background,
|
|
21458
|
-
iconColor
|
|
21459
|
-
|
|
21534
|
+
iconColor,
|
|
21535
|
+
typography,
|
|
21536
|
+
padding
|
|
21537
|
+
} = getVariantStyles(variant, type);
|
|
21460
21538
|
const tid = useTestIds(otherProps);
|
|
21461
21539
|
const [showTooltip, setShowTooltip] = useState49(false);
|
|
21462
21540
|
const ref = useRef52(null);
|
|
@@ -21471,14 +21549,10 @@ function Tag(props) {
|
|
|
21471
21549
|
const tooltipTitle = !preventTooltip ? isIconOnly ? text : showTooltip ? text : void 0 : void 0;
|
|
21472
21550
|
return maybeTooltip({
|
|
21473
21551
|
title: tooltipTitle,
|
|
21474
|
-
children: /* @__PURE__ */
|
|
21552
|
+
children: /* @__PURE__ */ jsxs83("span", { ...tid, ...trussProps79({
|
|
21475
21553
|
...{
|
|
21476
21554
|
position: "relative",
|
|
21477
21555
|
display: "dif",
|
|
21478
|
-
fontWeight: "fw6",
|
|
21479
|
-
fontSize: "fz_10px",
|
|
21480
|
-
lineHeight: "lh_14px",
|
|
21481
|
-
textTransform: "ttu",
|
|
21482
21556
|
alignItems: "aic",
|
|
21483
21557
|
gap: "gap_4px",
|
|
21484
21558
|
paddingTop: "pt_2px",
|
|
@@ -21486,22 +21560,55 @@ function Tag(props) {
|
|
|
21486
21560
|
color: "gray900",
|
|
21487
21561
|
borderRadius: "br4"
|
|
21488
21562
|
},
|
|
21563
|
+
...typography,
|
|
21489
21564
|
...isIconOnly ? {
|
|
21490
21565
|
paddingLeft: "pl_2px",
|
|
21491
21566
|
paddingRight: "pr_2px"
|
|
21492
|
-
} :
|
|
21493
|
-
paddingLeft: "pl_6px",
|
|
21494
|
-
paddingRight: "pr_6px"
|
|
21495
|
-
},
|
|
21567
|
+
} : padding,
|
|
21496
21568
|
...background,
|
|
21497
21569
|
...xss
|
|
21498
21570
|
}), children: [
|
|
21499
|
-
icon && /* @__PURE__ */
|
|
21500
|
-
isIconOnly ? /* @__PURE__ */
|
|
21571
|
+
icon && /* @__PURE__ */ jsx162("span", { className: "fs0", children: /* @__PURE__ */ jsx162(Icon, { icon, inc: 1.75, color: iconColor }) }),
|
|
21572
|
+
isIconOnly ? /* @__PURE__ */ jsx162("span", { className: "absolute oh cli_inset_50 clp_none bd_0 h_1px m_neg1px w_1px p_0 wsnw o0", children: text }) : /* @__PURE__ */ jsx162("span", { ref, className: "oh d_negwebkit_box wbo_vertical to_ellipsis wlc_1 wbba", children: text })
|
|
21501
21573
|
] })
|
|
21502
21574
|
});
|
|
21503
21575
|
}
|
|
21504
|
-
function
|
|
21576
|
+
function getVariantStyles(variant, type) {
|
|
21577
|
+
if (variant === "secondary") {
|
|
21578
|
+
return {
|
|
21579
|
+
background: {
|
|
21580
|
+
backgroundColor: "bgWhite",
|
|
21581
|
+
borderColor: "bcGray300",
|
|
21582
|
+
borderWidth: "bw1",
|
|
21583
|
+
borderStyle: "bss"
|
|
21584
|
+
},
|
|
21585
|
+
iconColor: "rgba(100, 100, 100, 1)" /* Gray700 */,
|
|
21586
|
+
typography: {
|
|
21587
|
+
fontWeight: "fw4",
|
|
21588
|
+
fontSize: "fz_12px",
|
|
21589
|
+
lineHeight: "lh_16px"
|
|
21590
|
+
},
|
|
21591
|
+
padding: {
|
|
21592
|
+
paddingLeft: "pl_8px",
|
|
21593
|
+
paddingRight: "pr_8px"
|
|
21594
|
+
}
|
|
21595
|
+
};
|
|
21596
|
+
}
|
|
21597
|
+
return {
|
|
21598
|
+
...getPrimaryStyles(type),
|
|
21599
|
+
typography: {
|
|
21600
|
+
fontWeight: "fw6",
|
|
21601
|
+
fontSize: "fz_10px",
|
|
21602
|
+
lineHeight: "lh_14px",
|
|
21603
|
+
textTransform: "ttu"
|
|
21604
|
+
},
|
|
21605
|
+
padding: {
|
|
21606
|
+
paddingLeft: "pl_6px",
|
|
21607
|
+
paddingRight: "pr_6px"
|
|
21608
|
+
}
|
|
21609
|
+
};
|
|
21610
|
+
}
|
|
21611
|
+
function getPrimaryStyles(type) {
|
|
21505
21612
|
switch (type) {
|
|
21506
21613
|
case "info":
|
|
21507
21614
|
return {
|
|
@@ -21543,7 +21650,7 @@ function getStyles(type) {
|
|
|
21543
21650
|
|
|
21544
21651
|
// src/components/Card.tsx
|
|
21545
21652
|
import { trussProps as trussProps80, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
|
|
21546
|
-
import { jsx as
|
|
21653
|
+
import { jsx as jsx163, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
21547
21654
|
function Card(props) {
|
|
21548
21655
|
const {
|
|
21549
21656
|
title,
|
|
@@ -21573,8 +21680,8 @@ function Card(props) {
|
|
|
21573
21680
|
...isHovered && cardHoverStyles,
|
|
21574
21681
|
...isDisabled && disabledStyles3
|
|
21575
21682
|
}), [isDisabled, isHovered, bordered, type, isList]);
|
|
21576
|
-
return /* @__PURE__ */
|
|
21577
|
-
/* @__PURE__ */
|
|
21683
|
+
return /* @__PURE__ */ jsxs84("div", { ...trussProps80(styles), ...hoverProps, ...tid, children: [
|
|
21684
|
+
/* @__PURE__ */ jsx163("div", { ...trussProps80({
|
|
21578
21685
|
...{
|
|
21579
21686
|
height: ["h_var", {
|
|
21580
21687
|
"--height": `${imgHeight}px`
|
|
@@ -21591,14 +21698,14 @@ function Card(props) {
|
|
|
21591
21698
|
filter: "filter_brightness_1"
|
|
21592
21699
|
},
|
|
21593
21700
|
...isHovered && !isList && imageHoverStyles
|
|
21594
|
-
}), children: /* @__PURE__ */
|
|
21701
|
+
}), children: /* @__PURE__ */ jsx163("img", { ...trussProps80({
|
|
21595
21702
|
width: "w100",
|
|
21596
21703
|
height: "h100",
|
|
21597
21704
|
objectFit: ["objectFit_var", {
|
|
21598
21705
|
"--objectFit": maybeCssVar46(imageFit)
|
|
21599
21706
|
}]
|
|
21600
21707
|
}), src: imgSrc, alt: title, ...tid.img }) }),
|
|
21601
|
-
isHovered && buttonMenuItems && /* @__PURE__ */
|
|
21708
|
+
isHovered && buttonMenuItems && /* @__PURE__ */ jsx163("div", { ...trussProps80({
|
|
21602
21709
|
position: "absolute",
|
|
21603
21710
|
right: "right1",
|
|
21604
21711
|
top: "top1",
|
|
@@ -21606,15 +21713,15 @@ function Card(props) {
|
|
|
21606
21713
|
right: "right3",
|
|
21607
21714
|
top: "top3"
|
|
21608
21715
|
} : {}
|
|
21609
|
-
}), children: /* @__PURE__ */
|
|
21716
|
+
}), children: /* @__PURE__ */ jsx163(ButtonMenu, { trigger: {
|
|
21610
21717
|
icon: "verticalDots",
|
|
21611
21718
|
color: isList ? "rgba(100, 100, 100, 1)" /* Gray700 */ : "rgba(255, 255, 255, 1)" /* White */
|
|
21612
21719
|
}, items: buttonMenuItems }) }),
|
|
21613
|
-
tag && /* @__PURE__ */
|
|
21614
|
-
/* @__PURE__ */
|
|
21615
|
-
/* @__PURE__ */
|
|
21616
|
-
/* @__PURE__ */
|
|
21617
|
-
/* @__PURE__ */
|
|
21720
|
+
tag && /* @__PURE__ */ jsx163("div", { className: "absolute left1 top_4px", children: /* @__PURE__ */ jsx163(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
|
|
21721
|
+
/* @__PURE__ */ jsxs84("div", { className: "df fdc aifs gap1", children: [
|
|
21722
|
+
/* @__PURE__ */ jsxs84("div", { children: [
|
|
21723
|
+
/* @__PURE__ */ jsx163("div", { className: "fw6 fz_12px lh_16px gray700", ...tid.subtitle, children: subtitle }),
|
|
21724
|
+
/* @__PURE__ */ jsx163("div", { ...trussProps80({
|
|
21618
21725
|
fontWeight: "fw6",
|
|
21619
21726
|
fontSize: "fz_14px",
|
|
21620
21727
|
lineHeight: "lh_20px",
|
|
@@ -21624,7 +21731,7 @@ function Card(props) {
|
|
|
21624
21731
|
} : {}
|
|
21625
21732
|
}), ...tid.title, children: title })
|
|
21626
21733
|
] }),
|
|
21627
|
-
/* @__PURE__ */
|
|
21734
|
+
/* @__PURE__ */ jsx163("div", { ...tid.details, children: detailContent })
|
|
21628
21735
|
] })
|
|
21629
21736
|
] });
|
|
21630
21737
|
}
|
|
@@ -21673,9 +21780,9 @@ var imageHoverStyles = {
|
|
|
21673
21780
|
|
|
21674
21781
|
// src/components/Copy.tsx
|
|
21675
21782
|
import { mergeProps as mergeProps24 } from "@homebound/truss/runtime";
|
|
21676
|
-
import { jsx as
|
|
21783
|
+
import { jsx as jsx164 } from "react/jsx-runtime";
|
|
21677
21784
|
function Copy(props) {
|
|
21678
|
-
return /* @__PURE__ */
|
|
21785
|
+
return /* @__PURE__ */ jsx164("div", { ...mergeProps24("beam-copy", void 0, {
|
|
21679
21786
|
...{
|
|
21680
21787
|
fontWeight: "fw4",
|
|
21681
21788
|
fontSize: "fz_14px",
|
|
@@ -21705,7 +21812,7 @@ function useDnDGridContext() {
|
|
|
21705
21812
|
|
|
21706
21813
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
21707
21814
|
import { trussProps as trussProps81 } from "@homebound/truss/runtime";
|
|
21708
|
-
import { jsx as
|
|
21815
|
+
import { jsx as jsx165 } from "react/jsx-runtime";
|
|
21709
21816
|
function DnDGrid(props) {
|
|
21710
21817
|
const {
|
|
21711
21818
|
children,
|
|
@@ -21884,10 +21991,10 @@ function DnDGrid(props) {
|
|
|
21884
21991
|
}
|
|
21885
21992
|
}
|
|
21886
21993
|
}, [cancelReorder, commitReorder, initReorder, getGridItems]);
|
|
21887
|
-
return /* @__PURE__ */
|
|
21994
|
+
return /* @__PURE__ */ jsx165(DnDGridContext.Provider, { value: {
|
|
21888
21995
|
dragEl,
|
|
21889
21996
|
onDragHandleKeyDown
|
|
21890
|
-
}, children: /* @__PURE__ */
|
|
21997
|
+
}, children: /* @__PURE__ */ jsx165("div", { ref: gridEl, ...trussProps81({
|
|
21891
21998
|
...{
|
|
21892
21999
|
containerType: "ctis",
|
|
21893
22000
|
display: "dg"
|
|
@@ -21901,7 +22008,7 @@ var gridCloneKey = "dndgrid-clone";
|
|
|
21901
22008
|
// src/components/DnDGrid/DnDGridItemHandle.tsx
|
|
21902
22009
|
import { mergeProps as mergeProps25, useFocusRing as useFocusRing13, useHover as useHover17 } from "react-aria";
|
|
21903
22010
|
import { trussProps as trussProps82 } from "@homebound/truss/runtime";
|
|
21904
|
-
import { jsx as
|
|
22011
|
+
import { jsx as jsx166 } from "react/jsx-runtime";
|
|
21905
22012
|
function DnDGridItemHandle(props) {
|
|
21906
22013
|
const {
|
|
21907
22014
|
dragHandleProps,
|
|
@@ -21930,7 +22037,7 @@ function DnDGridItemHandle(props) {
|
|
|
21930
22037
|
borderRadius: "br4",
|
|
21931
22038
|
borderWidth: "bw1"
|
|
21932
22039
|
};
|
|
21933
|
-
return /* @__PURE__ */
|
|
22040
|
+
return /* @__PURE__ */ jsx166("button", { ...trussProps82({
|
|
21934
22041
|
...compact ? iconButtonCompact : iconButtonNormal,
|
|
21935
22042
|
...{
|
|
21936
22043
|
cursor: "cursor_grab",
|
|
@@ -21949,7 +22056,7 @@ function DnDGridItemHandle(props) {
|
|
|
21949
22056
|
...isHovered && {
|
|
21950
22057
|
backgroundColor: "bgGray200"
|
|
21951
22058
|
}
|
|
21952
|
-
}), ...mergeProps25(dragHandleProps, focusProps, hoverProps), ...tid, children: /* @__PURE__ */
|
|
22059
|
+
}), ...mergeProps25(dragHandleProps, focusProps, hoverProps), ...tid, children: /* @__PURE__ */ jsx166(Icon, { icon, inc: compact ? 2 : void 0, color }) });
|
|
21953
22060
|
}
|
|
21954
22061
|
|
|
21955
22062
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
@@ -21985,7 +22092,7 @@ function useDnDGridItem(props) {
|
|
|
21985
22092
|
|
|
21986
22093
|
// src/components/EnvironmentBanner/EnvironmentBanner.tsx
|
|
21987
22094
|
import { trussProps as trussProps83, maybeCssVar as maybeCssVar_1 } from "@homebound/truss/runtime";
|
|
21988
|
-
import { jsx as
|
|
22095
|
+
import { jsx as jsx167, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
21989
22096
|
function EnvironmentBanner(props) {
|
|
21990
22097
|
const {
|
|
21991
22098
|
env,
|
|
@@ -22004,7 +22111,7 @@ function EnvironmentBanner(props) {
|
|
|
22004
22111
|
tooltip
|
|
22005
22112
|
} = getEnvironmentBannerConfig(env, impersonating, showProdWarning);
|
|
22006
22113
|
const bgColorVar = maybeCssVar(bgColor);
|
|
22007
|
-
return /* @__PURE__ */
|
|
22114
|
+
return /* @__PURE__ */ jsxs85("div", { ...trussProps83({
|
|
22008
22115
|
flexShrink: "fs0",
|
|
22009
22116
|
position: "relative",
|
|
22010
22117
|
zIndex: ["z_var", {
|
|
@@ -22020,12 +22127,12 @@ function EnvironmentBanner(props) {
|
|
|
22020
22127
|
}), role: "banner", ...tid, children: [
|
|
22021
22128
|
getInvertedCorner("left", bgColorVar),
|
|
22022
22129
|
getInvertedCorner("right", bgColorVar),
|
|
22023
|
-
/* @__PURE__ */
|
|
22024
|
-
/* @__PURE__ */
|
|
22025
|
-
/* @__PURE__ */
|
|
22130
|
+
/* @__PURE__ */ jsxs85("div", { className: "relative z2 df aic jcsb h100 pl1 mdandup_pl5 pr1 mdandup_pr5", ...tid.content, children: [
|
|
22131
|
+
/* @__PURE__ */ jsxs85("span", { className: "df aic gap2 fg1 mh0 oh", ...tid.left, children: [
|
|
22132
|
+
/* @__PURE__ */ jsx167(Tag, { text: badgeLabel, xss: {
|
|
22026
22133
|
backgroundColor: "bgColor_FFFFFF90"
|
|
22027
22134
|
}, ...tid.badge }),
|
|
22028
|
-
/* @__PURE__ */
|
|
22135
|
+
/* @__PURE__ */ jsxs85("span", { ...trussProps83({
|
|
22029
22136
|
...{
|
|
22030
22137
|
alignItems: "aic",
|
|
22031
22138
|
gap: "gap1",
|
|
@@ -22041,15 +22148,15 @@ function EnvironmentBanner(props) {
|
|
|
22041
22148
|
}
|
|
22042
22149
|
}), ...tid.message, children: [
|
|
22043
22150
|
message,
|
|
22044
|
-
/* @__PURE__ */
|
|
22151
|
+
/* @__PURE__ */ jsx167("span", { className: "fs0", ...tid.info, children: /* @__PURE__ */ jsx167(Icon, { icon: "infoCircle", tooltip, inc: 2, color: "rgba(255, 255, 255, 1)" /* White */ }) })
|
|
22045
22152
|
] })
|
|
22046
22153
|
] }),
|
|
22047
|
-
impersonating != null && /* @__PURE__ */
|
|
22048
|
-
(env !== "prod" || showProdWarning) && /* @__PURE__ */
|
|
22049
|
-
/* @__PURE__ */
|
|
22154
|
+
impersonating != null && /* @__PURE__ */ jsxs85("span", { className: "df aic gap2 fw6 fz_12px lh_16px white fs0", ...tid.impersonating, children: [
|
|
22155
|
+
(env !== "prod" || showProdWarning) && /* @__PURE__ */ jsxs85("span", { children: [
|
|
22156
|
+
/* @__PURE__ */ jsx167("span", { className: "dn mdandup_dib", children: "Impersonating \xA0" }),
|
|
22050
22157
|
impersonating.name
|
|
22051
22158
|
] }),
|
|
22052
|
-
/* @__PURE__ */
|
|
22159
|
+
/* @__PURE__ */ jsx167("span", { className: "df fs0", ...tid.impersonatingIcon, children: /* @__PURE__ */ jsx167(Icon, { icon: "impersonate", inc: 2, color: "rgba(255, 255, 255, 1)" /* White */ }) })
|
|
22053
22160
|
] })
|
|
22054
22161
|
] })
|
|
22055
22162
|
] });
|
|
@@ -22122,10 +22229,10 @@ function getInvertedCorner(side, bgColorVar) {
|
|
|
22122
22229
|
right: "right0"
|
|
22123
22230
|
};
|
|
22124
22231
|
const shadowXOffset = side === "left" ? -invertedCornerRadiusPx : invertedCornerRadiusPx;
|
|
22125
|
-
return /* @__PURE__ */
|
|
22232
|
+
return /* @__PURE__ */ jsx167("div", { "aria-hidden": true, ...trussProps83({
|
|
22126
22233
|
...shell,
|
|
22127
22234
|
...outerPosition
|
|
22128
|
-
}), children: /* @__PURE__ */
|
|
22235
|
+
}), children: /* @__PURE__ */ jsx167("div", { ...trussProps83({
|
|
22129
22236
|
height: "h_200",
|
|
22130
22237
|
width: "w_200",
|
|
22131
22238
|
position: "absolute",
|
|
@@ -22165,7 +22272,7 @@ var ResponsiveGridContext = createContext12(void 0);
|
|
|
22165
22272
|
|
|
22166
22273
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
22167
22274
|
import { trussProps as trussProps84 } from "@homebound/truss/runtime";
|
|
22168
|
-
import { jsx as
|
|
22275
|
+
import { jsx as jsx168 } from "react/jsx-runtime";
|
|
22169
22276
|
function ResponsiveGrid(props) {
|
|
22170
22277
|
const {
|
|
22171
22278
|
children,
|
|
@@ -22185,13 +22292,13 @@ function ResponsiveGrid(props) {
|
|
|
22185
22292
|
gap,
|
|
22186
22293
|
columns
|
|
22187
22294
|
}), [minColumnWidth, gap, columns]);
|
|
22188
|
-
return /* @__PURE__ */
|
|
22295
|
+
return /* @__PURE__ */ jsx168(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx168("div", { ...trussProps84(gridStyles), children }) });
|
|
22189
22296
|
}
|
|
22190
22297
|
|
|
22191
22298
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
22192
22299
|
import { mergeProps as mergeProps26 } from "react-aria";
|
|
22193
22300
|
import { trussProps as trussProps85 } from "@homebound/truss/runtime";
|
|
22194
|
-
import { jsx as
|
|
22301
|
+
import { jsx as jsx169 } from "react/jsx-runtime";
|
|
22195
22302
|
function ResponsiveGridItem(props) {
|
|
22196
22303
|
const {
|
|
22197
22304
|
colSpan,
|
|
@@ -22203,7 +22310,7 @@ function ResponsiveGridItem(props) {
|
|
|
22203
22310
|
} = useResponsiveGridItem({
|
|
22204
22311
|
colSpan
|
|
22205
22312
|
});
|
|
22206
|
-
return /* @__PURE__ */
|
|
22313
|
+
return /* @__PURE__ */ jsx169("div", { ...mergeProps26(gridItemProps, trussProps85(gridItemStyles)), children });
|
|
22207
22314
|
}
|
|
22208
22315
|
|
|
22209
22316
|
// src/components/Grid/useResponsiveGrid.ts
|
|
@@ -22299,7 +22406,7 @@ import React22, { useContext as useContext24, useMemo as useMemo48 } from "react
|
|
|
22299
22406
|
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";
|
|
22300
22407
|
|
|
22301
22408
|
// src/components/HbLoadingSpinner.tsx
|
|
22302
|
-
import { jsx as
|
|
22409
|
+
import { jsx as jsx170, jsxs as jsxs86 } from "react/jsx-runtime";
|
|
22303
22410
|
function HbLoadingSpinner({
|
|
22304
22411
|
noQuips,
|
|
22305
22412
|
extraQuips = [],
|
|
@@ -22314,8 +22421,8 @@ function HbLoadingSpinner({
|
|
|
22314
22421
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
22315
22422
|
return allQuips[Math.floor(Math.random() * allQuips.length)];
|
|
22316
22423
|
}, [ctx.noQuips, ctx.quips, extraQuips, extraQuipsOnly, noQuips]);
|
|
22317
|
-
return /* @__PURE__ */
|
|
22318
|
-
/* @__PURE__ */
|
|
22424
|
+
return /* @__PURE__ */ jsxs86("div", { className: "df fdc jcc aic", ...tid, children: [
|
|
22425
|
+
/* @__PURE__ */ jsx170(
|
|
22319
22426
|
"img",
|
|
22320
22427
|
{
|
|
22321
22428
|
src: HbLoadingSpinner_base64_default,
|
|
@@ -22325,7 +22432,7 @@ function HbLoadingSpinner({
|
|
|
22325
22432
|
...tid.gif
|
|
22326
22433
|
}
|
|
22327
22434
|
),
|
|
22328
|
-
!iconOnly && /* @__PURE__ */
|
|
22435
|
+
!iconOnly && /* @__PURE__ */ jsx170(
|
|
22329
22436
|
"div",
|
|
22330
22437
|
{
|
|
22331
22438
|
"data-chromatic": "ignore",
|
|
@@ -22350,12 +22457,12 @@ function HbSpinnerProvider({
|
|
|
22350
22457
|
quips,
|
|
22351
22458
|
noQuips: quips.length === 0
|
|
22352
22459
|
}), [quips]);
|
|
22353
|
-
return /* @__PURE__ */
|
|
22460
|
+
return /* @__PURE__ */ jsx170(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
22354
22461
|
}
|
|
22355
22462
|
|
|
22356
22463
|
// src/components/HomeboundLogo.tsx
|
|
22357
22464
|
import { trussProps as trussProps86, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
|
|
22358
|
-
import { jsx as
|
|
22465
|
+
import { jsx as jsx171 } from "react/jsx-runtime";
|
|
22359
22466
|
var __maybeInc18 = (inc) => {
|
|
22360
22467
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
22361
22468
|
};
|
|
@@ -22365,7 +22472,7 @@ function HomeboundLogo(props) {
|
|
|
22365
22472
|
width: width2 = "auto",
|
|
22366
22473
|
height = "auto"
|
|
22367
22474
|
} = props;
|
|
22368
|
-
return /* @__PURE__ */
|
|
22475
|
+
return /* @__PURE__ */ jsx171("svg", { viewBox: "0 0 158.1 97.6", xmlns: "http://www.w3.org/2000/svg", ...trussProps86({
|
|
22369
22476
|
fill: ["fill_var", {
|
|
22370
22477
|
"--fill": maybeCssVar48(fill)
|
|
22371
22478
|
}],
|
|
@@ -22375,14 +22482,14 @@ function HomeboundLogo(props) {
|
|
|
22375
22482
|
height: ["h_var", {
|
|
22376
22483
|
"--height": maybeCssVar48(__maybeInc18(height))
|
|
22377
22484
|
}]
|
|
22378
|
-
}), children: /* @__PURE__ */
|
|
22485
|
+
}), children: /* @__PURE__ */ jsx171("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" }) });
|
|
22379
22486
|
}
|
|
22380
22487
|
|
|
22381
22488
|
// src/components/MaxLines.tsx
|
|
22382
|
-
import { useLayoutEffect as
|
|
22489
|
+
import { useLayoutEffect as useLayoutEffect7, useResizeObserver as useResizeObserver7 } from "@react-aria/utils";
|
|
22383
22490
|
import { useCallback as useCallback30, useEffect as useEffect33, useRef as useRef54, useState as useState50 } from "react";
|
|
22384
22491
|
import { trussProps as trussProps87, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
|
|
22385
|
-
import { jsx as
|
|
22492
|
+
import { jsx as jsx172, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
22386
22493
|
function MaxLines({
|
|
22387
22494
|
maxLines,
|
|
22388
22495
|
children
|
|
@@ -22390,7 +22497,7 @@ function MaxLines({
|
|
|
22390
22497
|
const elRef = useRef54(null);
|
|
22391
22498
|
const [hasMore, setHasMore] = useState50(false);
|
|
22392
22499
|
const [expanded, setExpanded] = useState50(false);
|
|
22393
|
-
|
|
22500
|
+
useLayoutEffect7(() => {
|
|
22394
22501
|
if (!elRef.current) return;
|
|
22395
22502
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
22396
22503
|
}, []);
|
|
@@ -22405,8 +22512,8 @@ function MaxLines({
|
|
|
22405
22512
|
ref: elRef,
|
|
22406
22513
|
onResize
|
|
22407
22514
|
});
|
|
22408
|
-
return /* @__PURE__ */
|
|
22409
|
-
/* @__PURE__ */
|
|
22515
|
+
return /* @__PURE__ */ jsxs87("div", { children: [
|
|
22516
|
+
/* @__PURE__ */ jsx172("div", { ref: elRef, ...trussProps87({
|
|
22410
22517
|
...!expanded ? {
|
|
22411
22518
|
WebkitLineClamp: ["lineClamp_var", {
|
|
22412
22519
|
"--WebkitLineClamp": maybeCssVar49(maxLines)
|
|
@@ -22417,7 +22524,7 @@ function MaxLines({
|
|
|
22417
22524
|
textOverflow: "to_ellipsis"
|
|
22418
22525
|
} : {}
|
|
22419
22526
|
}), children }),
|
|
22420
|
-
hasMore && /* @__PURE__ */
|
|
22527
|
+
hasMore && /* @__PURE__ */ jsx172("button", { className: "db fw4 fz_14px lh_20px", onClick: () => setExpanded((prev) => !prev), children: expanded ? "Show Less" : "Show More" })
|
|
22421
22528
|
] });
|
|
22422
22529
|
}
|
|
22423
22530
|
|
|
@@ -22433,7 +22540,7 @@ import { useCallback as useCallback32, useEffect as useEffect34, useMemo as useM
|
|
|
22433
22540
|
import { useMemo as useMemo49, useRef as useRef55 } from "react";
|
|
22434
22541
|
import { mergeProps as mergeProps27, useButton as useButton11, useFocusRing as useFocusRing14, useHover as useHover18 } from "react-aria";
|
|
22435
22542
|
import { trussProps as trussProps88, mergeProps as mergeProps_14 } from "@homebound/truss/runtime";
|
|
22436
|
-
import { jsx as
|
|
22543
|
+
import { jsx as jsx173, jsxs as jsxs88 } from "react/jsx-runtime";
|
|
22437
22544
|
function AppNavGroupTrigger(props) {
|
|
22438
22545
|
const {
|
|
22439
22546
|
label,
|
|
@@ -22464,7 +22571,7 @@ function AppNavGroupTrigger(props) {
|
|
|
22464
22571
|
hoverStyles: hoverStyles5,
|
|
22465
22572
|
pressedStyles: pressedStyles2
|
|
22466
22573
|
} = useMemo49(() => getNavLinkStyles("side"), []);
|
|
22467
|
-
return /* @__PURE__ */
|
|
22574
|
+
return /* @__PURE__ */ jsxs88("button", { type: "button", ...mergeProps27(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
22468
22575
|
ref,
|
|
22469
22576
|
"aria-expanded": expanded,
|
|
22470
22577
|
"aria-controls": navGroupId,
|
|
@@ -22476,7 +22583,7 @@ function AppNavGroupTrigger(props) {
|
|
|
22476
22583
|
})
|
|
22477
22584
|
}), children: [
|
|
22478
22585
|
label,
|
|
22479
|
-
/* @__PURE__ */
|
|
22586
|
+
/* @__PURE__ */ jsx173("span", { ...trussProps88({
|
|
22480
22587
|
...{
|
|
22481
22588
|
display: "df",
|
|
22482
22589
|
alignItems: "aic",
|
|
@@ -22486,7 +22593,7 @@ function AppNavGroupTrigger(props) {
|
|
|
22486
22593
|
...props.expanded ? {
|
|
22487
22594
|
transform: "transform_rotate_180deg"
|
|
22488
22595
|
} : {}
|
|
22489
|
-
}), children: /* @__PURE__ */
|
|
22596
|
+
}), children: /* @__PURE__ */ jsx173(Icon, { icon: "chevronDown" }) })
|
|
22490
22597
|
] });
|
|
22491
22598
|
}
|
|
22492
22599
|
|
|
@@ -22630,7 +22737,7 @@ function useAppNavGroupExpanded(linkGroup) {
|
|
|
22630
22737
|
|
|
22631
22738
|
// src/components/AppNav/AppNavGroup.tsx
|
|
22632
22739
|
import { trussProps as trussProps89, maybeCssVar as maybeCssVar50 } from "@homebound/truss/runtime";
|
|
22633
|
-
import { Fragment as Fragment39, jsx as
|
|
22740
|
+
import { Fragment as Fragment39, jsx as jsx174, jsxs as jsxs89 } from "react/jsx-runtime";
|
|
22634
22741
|
var __maybeInc19 = (inc) => {
|
|
22635
22742
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
22636
22743
|
};
|
|
@@ -22641,9 +22748,9 @@ function AppNavGroupView(props) {
|
|
|
22641
22748
|
} = props;
|
|
22642
22749
|
const tid = useTestIds(props, "linkGroup");
|
|
22643
22750
|
if (panelCollapsed) {
|
|
22644
|
-
return /* @__PURE__ */
|
|
22751
|
+
return /* @__PURE__ */ jsx174(Fragment39, { children: appNavLinkGroupLinks(linkGroup).map((link) => /* @__PURE__ */ jsx174(NavLink, { variant: "side", ...link, iconOnly: !!link.icon, ...tid[`link_${camelCase5(link.label)}`] }, link.label)) });
|
|
22645
22752
|
}
|
|
22646
|
-
return /* @__PURE__ */
|
|
22753
|
+
return /* @__PURE__ */ jsx174(AppNavGroupDisclosure, { ...props });
|
|
22647
22754
|
}
|
|
22648
22755
|
function AppNavGroupDisclosure(props) {
|
|
22649
22756
|
const {
|
|
@@ -22672,25 +22779,25 @@ function AppNavGroupDisclosure(props) {
|
|
|
22672
22779
|
ref: contentRef,
|
|
22673
22780
|
onResize
|
|
22674
22781
|
});
|
|
22675
|
-
return /* @__PURE__ */
|
|
22676
|
-
/* @__PURE__ */
|
|
22677
|
-
/* @__PURE__ */
|
|
22782
|
+
return /* @__PURE__ */ jsxs89("div", { className: "df fdc", ...tid, children: [
|
|
22783
|
+
/* @__PURE__ */ jsx174(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, onClick: onToggle, ...tid }),
|
|
22784
|
+
/* @__PURE__ */ jsx174("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...trussProps89({
|
|
22678
22785
|
overflow: "oh",
|
|
22679
22786
|
transition: "transitionHeight",
|
|
22680
22787
|
height: ["h_var", {
|
|
22681
22788
|
"--height": maybeCssVar50(__maybeInc19(contentHeight))
|
|
22682
22789
|
}]
|
|
22683
|
-
}), ...tid.panel, children: /* @__PURE__ */
|
|
22790
|
+
}), ...tid.panel, children: /* @__PURE__ */ jsx174("div", { ref: setContentEl, className: "df fdc pl2", children: /* @__PURE__ */ jsx174(AppNavItems, { items: linkGroup.items, panelCollapsed: false, ...tid }) }) })
|
|
22684
22791
|
] });
|
|
22685
22792
|
}
|
|
22686
22793
|
|
|
22687
22794
|
// src/components/AppNav/AppNavGroupMenu.tsx
|
|
22688
|
-
import { jsx as
|
|
22795
|
+
import { jsx as jsx175 } from "react/jsx-runtime";
|
|
22689
22796
|
function AppNavGroupMenu({
|
|
22690
22797
|
linkGroup,
|
|
22691
22798
|
...tid
|
|
22692
22799
|
}) {
|
|
22693
|
-
return /* @__PURE__ */
|
|
22800
|
+
return /* @__PURE__ */ jsx175(
|
|
22694
22801
|
ButtonMenu,
|
|
22695
22802
|
{
|
|
22696
22803
|
trigger: {
|
|
@@ -22707,7 +22814,7 @@ function AppNavGroupMenu({
|
|
|
22707
22814
|
|
|
22708
22815
|
// src/components/AppNav/AppNavSectionView.tsx
|
|
22709
22816
|
import { trussProps as trussProps90 } from "@homebound/truss/runtime";
|
|
22710
|
-
import { jsx as
|
|
22817
|
+
import { jsx as jsx176, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
22711
22818
|
function AppNavSectionView(props) {
|
|
22712
22819
|
const {
|
|
22713
22820
|
section,
|
|
@@ -22732,7 +22839,7 @@ function AppNavSectionView(props) {
|
|
|
22732
22839
|
"--borderColor": "var(--b-surface-separator)"
|
|
22733
22840
|
}]
|
|
22734
22841
|
};
|
|
22735
|
-
return /* @__PURE__ */
|
|
22842
|
+
return /* @__PURE__ */ jsxs90("div", { ...trussProps90({
|
|
22736
22843
|
...{
|
|
22737
22844
|
display: "df",
|
|
22738
22845
|
flexDirection: "fdc",
|
|
@@ -22740,7 +22847,7 @@ function AppNavSectionView(props) {
|
|
|
22740
22847
|
},
|
|
22741
22848
|
...showDivider ? dividerStyles : {}
|
|
22742
22849
|
}), ...tid, children: [
|
|
22743
|
-
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */
|
|
22850
|
+
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx176("div", { ...trussProps90({
|
|
22744
22851
|
fontWeight: "fw6",
|
|
22745
22852
|
fontSize: "fz_10px",
|
|
22746
22853
|
lineHeight: "lh_14px",
|
|
@@ -22752,18 +22859,18 @@ function AppNavSectionView(props) {
|
|
|
22752
22859
|
paddingBottom: "pb1",
|
|
22753
22860
|
textTransform: "ttu"
|
|
22754
22861
|
}), ...tid.label, children: section.label }),
|
|
22755
|
-
/* @__PURE__ */
|
|
22862
|
+
/* @__PURE__ */ jsx176(AppNavItems, { ...scopeProps, items: section.items, variant, panelCollapsed })
|
|
22756
22863
|
] });
|
|
22757
22864
|
}
|
|
22758
22865
|
|
|
22759
22866
|
// src/components/AppNav/AppNavItems.tsx
|
|
22760
|
-
import { Fragment as Fragment40, jsx as
|
|
22867
|
+
import { Fragment as Fragment40, jsx as jsx177 } from "react/jsx-runtime";
|
|
22761
22868
|
function AppNavItems(props) {
|
|
22762
22869
|
const { items, variant = "side", panelCollapsed = false } = props;
|
|
22763
22870
|
const tid = useTestIds(props, "appNav");
|
|
22764
|
-
return /* @__PURE__ */
|
|
22871
|
+
return /* @__PURE__ */ jsx177(Fragment40, { children: items.map((item, idx) => {
|
|
22765
22872
|
if (isAppNavLink(item)) {
|
|
22766
|
-
return /* @__PURE__ */
|
|
22873
|
+
return /* @__PURE__ */ jsx177(
|
|
22767
22874
|
NavLink,
|
|
22768
22875
|
{
|
|
22769
22876
|
variant,
|
|
@@ -22775,7 +22882,7 @@ function AppNavItems(props) {
|
|
|
22775
22882
|
);
|
|
22776
22883
|
}
|
|
22777
22884
|
if (isAppNavGroup(item)) {
|
|
22778
|
-
return variant === "global" ? /* @__PURE__ */
|
|
22885
|
+
return variant === "global" ? /* @__PURE__ */ jsx177(AppNavGroupMenu, { linkGroup: item, ...tid.linkGroup }, appNavItemKey(item)) : /* @__PURE__ */ jsx177(
|
|
22779
22886
|
AppNavGroupView,
|
|
22780
22887
|
{
|
|
22781
22888
|
linkGroup: item,
|
|
@@ -22786,7 +22893,7 @@ function AppNavItems(props) {
|
|
|
22786
22893
|
);
|
|
22787
22894
|
}
|
|
22788
22895
|
if (isAppNavSection(item)) {
|
|
22789
|
-
return /* @__PURE__ */
|
|
22896
|
+
return /* @__PURE__ */ jsx177(
|
|
22790
22897
|
AppNavSectionView,
|
|
22791
22898
|
{
|
|
22792
22899
|
section: item,
|
|
@@ -22811,10 +22918,10 @@ import { useLocation } from "react-router-dom";
|
|
|
22811
22918
|
|
|
22812
22919
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayoutHeightContext.tsx
|
|
22813
22920
|
import { createContext as createContext13, useContext as useContext25 } from "react";
|
|
22814
|
-
import { jsx as
|
|
22921
|
+
import { jsx as jsx178 } from "react/jsx-runtime";
|
|
22815
22922
|
var EnvironmentBannerLayoutHeightContext = createContext13(0);
|
|
22816
22923
|
function EnvironmentBannerLayoutHeightProvider({ value, children }) {
|
|
22817
|
-
return /* @__PURE__ */
|
|
22924
|
+
return /* @__PURE__ */ jsx178(EnvironmentBannerLayoutHeightContext.Provider, { value, children });
|
|
22818
22925
|
}
|
|
22819
22926
|
function useEnvironmentBannerLayoutHeight() {
|
|
22820
22927
|
return useContext25(EnvironmentBannerLayoutHeightContext);
|
|
@@ -22822,7 +22929,7 @@ function useEnvironmentBannerLayoutHeight() {
|
|
|
22822
22929
|
|
|
22823
22930
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
22824
22931
|
import { mergeProps as mergeProps28, maybeCssVar as maybeCssVar51 } from "@homebound/truss/runtime";
|
|
22825
|
-
import { Fragment as Fragment41, jsx as
|
|
22932
|
+
import { Fragment as Fragment41, jsx as jsx179, jsxs as jsxs91 } from "react/jsx-runtime";
|
|
22826
22933
|
function NavbarMobileMenu(props) {
|
|
22827
22934
|
const {
|
|
22828
22935
|
items
|
|
@@ -22840,9 +22947,9 @@ function NavbarMobileMenu(props) {
|
|
|
22840
22947
|
setIsOpen(false);
|
|
22841
22948
|
}, [pathname, search]);
|
|
22842
22949
|
const close = () => setIsOpen(false);
|
|
22843
|
-
return /* @__PURE__ */
|
|
22844
|
-
/* @__PURE__ */
|
|
22845
|
-
createPortal6(/* @__PURE__ */
|
|
22950
|
+
return /* @__PURE__ */ jsxs91(Fragment41, { children: [
|
|
22951
|
+
/* @__PURE__ */ jsx179(IconButton, { icon: isOpen ? "menuClose" : "menu", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: isOpen ? "Close navigation" : "Open navigation", onClick: () => setIsOpen((open) => !open), ...tid.mobileMenu }),
|
|
22952
|
+
createPortal6(/* @__PURE__ */ jsx179(ContrastScope, { children: /* @__PURE__ */ jsx179(AnimatePresence5, { children: isOpen && /* @__PURE__ */ jsx179(NavbarMobileDrawer, { items, onClose: close, tid }) }) }), document.body)
|
|
22846
22953
|
] });
|
|
22847
22954
|
}
|
|
22848
22955
|
function NavbarMobileDrawer({
|
|
@@ -22854,8 +22961,8 @@ function NavbarMobileDrawer({
|
|
|
22854
22961
|
const overlayTopStyle = {
|
|
22855
22962
|
top: bannerHeightPx
|
|
22856
22963
|
};
|
|
22857
|
-
return /* @__PURE__ */
|
|
22858
|
-
/* @__PURE__ */
|
|
22964
|
+
return /* @__PURE__ */ jsxs91(Fragment41, { children: [
|
|
22965
|
+
/* @__PURE__ */ jsx179(motion5.div, { ...mergeProps28(void 0, overlayTopStyle, {
|
|
22859
22966
|
position: "fixed",
|
|
22860
22967
|
right: "right0",
|
|
22861
22968
|
bottom: "bottom0",
|
|
@@ -22874,7 +22981,7 @@ function NavbarMobileDrawer({
|
|
|
22874
22981
|
ease: "linear",
|
|
22875
22982
|
duration: 0.2
|
|
22876
22983
|
}, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
|
|
22877
|
-
/* @__PURE__ */
|
|
22984
|
+
/* @__PURE__ */ jsx179(FocusScope5, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ jsxs91(motion5.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...mergeProps28(void 0, overlayTopStyle, {
|
|
22878
22985
|
position: "fixed",
|
|
22879
22986
|
bottom: "bottom0",
|
|
22880
22987
|
left: "left0",
|
|
@@ -22899,8 +23006,8 @@ function NavbarMobileDrawer({
|
|
|
22899
23006
|
ease: "linear",
|
|
22900
23007
|
duration: 0.2
|
|
22901
23008
|
}, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
|
|
22902
|
-
/* @__PURE__ */
|
|
22903
|
-
/* @__PURE__ */
|
|
23009
|
+
/* @__PURE__ */ jsx179("div", { className: "df aic jcfe pt2 pb2 pr2 pl2 fs0", children: /* @__PURE__ */ jsx179(IconButton, { icon: "menuClose", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: "Close navigation", onClick: onClose, ...tid.mobileMenuClose }) }),
|
|
23010
|
+
/* @__PURE__ */ jsx179(
|
|
22904
23011
|
"nav",
|
|
22905
23012
|
{
|
|
22906
23013
|
className: "fg1 oya pl2 pr2 pb3 df fdc gap1",
|
|
@@ -22910,7 +23017,7 @@ function NavbarMobileDrawer({
|
|
|
22910
23017
|
}
|
|
22911
23018
|
},
|
|
22912
23019
|
...tid.mobileMenuPanel,
|
|
22913
|
-
children: /* @__PURE__ */
|
|
23020
|
+
children: /* @__PURE__ */ jsx179(AppNavItems, { items, panelCollapsed: false, ...tid })
|
|
22914
23021
|
}
|
|
22915
23022
|
)
|
|
22916
23023
|
] }, "navbarMobileMenuDrawer") })
|
|
@@ -22919,7 +23026,7 @@ function NavbarMobileDrawer({
|
|
|
22919
23026
|
|
|
22920
23027
|
// src/components/Navbar/Navbar.tsx
|
|
22921
23028
|
import { trussProps as trussProps91 } from "@homebound/truss/runtime";
|
|
22922
|
-
import { jsx as
|
|
23029
|
+
import { jsx as jsx180, jsxs as jsxs92 } from "react/jsx-runtime";
|
|
22923
23030
|
function Navbar(props) {
|
|
22924
23031
|
const {
|
|
22925
23032
|
brand,
|
|
@@ -22938,7 +23045,7 @@ function Navbar(props) {
|
|
|
22938
23045
|
overflows
|
|
22939
23046
|
} = useContentOverflow(!sm);
|
|
22940
23047
|
const showMobile = sm || overflows;
|
|
22941
|
-
return /* @__PURE__ */
|
|
23048
|
+
return /* @__PURE__ */ jsx180(ContrastScope, { children: /* @__PURE__ */ jsxs92("nav", { ...trussProps91({
|
|
22942
23049
|
backgroundColor: "bgGray800",
|
|
22943
23050
|
flexShrink: "fs0",
|
|
22944
23051
|
display: "df",
|
|
@@ -22955,10 +23062,10 @@ function Navbar(props) {
|
|
|
22955
23062
|
paddingRight: "pr5"
|
|
22956
23063
|
} : {}
|
|
22957
23064
|
}), ...tid, children: [
|
|
22958
|
-
/* @__PURE__ */
|
|
22959
|
-
/* @__PURE__ */
|
|
22960
|
-
showMobile && /* @__PURE__ */
|
|
22961
|
-
/* @__PURE__ */
|
|
23065
|
+
/* @__PURE__ */ jsxs92("div", { className: "df aic gap3 fg1 mw0", children: [
|
|
23066
|
+
/* @__PURE__ */ jsxs92("div", { className: "df aic fs0 gap2", children: [
|
|
23067
|
+
showMobile && /* @__PURE__ */ jsx180(NavbarMobileMenu, { items, ...tid }),
|
|
23068
|
+
/* @__PURE__ */ jsx180("div", { ...trussProps91({
|
|
22962
23069
|
flexShrink: "fs0",
|
|
22963
23070
|
...hideBrandOnMobile && showMobile ? {
|
|
22964
23071
|
display: "dn"
|
|
@@ -22967,7 +23074,7 @@ function Navbar(props) {
|
|
|
22967
23074
|
] }),
|
|
22968
23075
|
!sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
|
|
22969
23076
|
// can expand again as space frees up.
|
|
22970
|
-
/* @__PURE__ */
|
|
23077
|
+
/* @__PURE__ */ jsx180("div", { ref: containerRef, ...trussProps91({
|
|
22971
23078
|
display: "df",
|
|
22972
23079
|
alignItems: "aic",
|
|
22973
23080
|
flexGrow: "fg1",
|
|
@@ -22976,11 +23083,11 @@ function Navbar(props) {
|
|
|
22976
23083
|
...overflows ? {
|
|
22977
23084
|
visibility: "visibility_hidden"
|
|
22978
23085
|
} : {}
|
|
22979
|
-
}), ...tid.items, children: /* @__PURE__ */
|
|
23086
|
+
}), ...tid.items, children: /* @__PURE__ */ jsx180("div", { ref: contentRef, className: "df aic gap2 width_max_content", children: /* @__PURE__ */ jsx180(AppNavItems, { variant: "global", items, ...tid }) }) })
|
|
22980
23087
|
] }),
|
|
22981
|
-
/* @__PURE__ */
|
|
22982
|
-
rightSlot && /* @__PURE__ */
|
|
22983
|
-
user && /* @__PURE__ */
|
|
23088
|
+
/* @__PURE__ */ jsxs92("div", { className: "df aic gap1", children: [
|
|
23089
|
+
rightSlot && /* @__PURE__ */ jsx180("div", { className: "df aic gap1", ...tid.rightSlot, children: rightSlot }),
|
|
23090
|
+
user && /* @__PURE__ */ jsx180(NavbarUserMenu, { user, ...tid.userMenu })
|
|
22984
23091
|
] })
|
|
22985
23092
|
] }) });
|
|
22986
23093
|
}
|
|
@@ -22988,7 +23095,7 @@ function NavbarUserMenu({
|
|
|
22988
23095
|
user,
|
|
22989
23096
|
...tid
|
|
22990
23097
|
}) {
|
|
22991
|
-
return /* @__PURE__ */
|
|
23098
|
+
return /* @__PURE__ */ jsx180("div", { className: "df aic fs0 ml1", children: /* @__PURE__ */ jsx180(ButtonMenu, { items: user.menuItems, persistentItems: user.persistentItems, trigger: {
|
|
22992
23099
|
src: user.picture,
|
|
22993
23100
|
name: user.name,
|
|
22994
23101
|
size: "sm",
|
|
@@ -23003,14 +23110,14 @@ import { mergeProps as mergeProps29, useFocusRing as useFocusRing15, useHover as
|
|
|
23003
23110
|
import { matchPath } from "react-router";
|
|
23004
23111
|
import { Link as Link6, useLocation as useLocation2 } from "react-router-dom";
|
|
23005
23112
|
import { trussProps as trussProps92, maybeCssVar as maybeCssVar52 } from "@homebound/truss/runtime";
|
|
23006
|
-
import { Fragment as Fragment42, jsx as
|
|
23113
|
+
import { Fragment as Fragment42, jsx as jsx181, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
23007
23114
|
function TabsWithContent(props) {
|
|
23008
23115
|
const styles = hideTabs(props) ? {} : {
|
|
23009
23116
|
paddingTop: "pt3"
|
|
23010
23117
|
};
|
|
23011
|
-
return /* @__PURE__ */
|
|
23012
|
-
/* @__PURE__ */
|
|
23013
|
-
/* @__PURE__ */
|
|
23118
|
+
return /* @__PURE__ */ jsxs93(Fragment42, { children: [
|
|
23119
|
+
/* @__PURE__ */ jsx181(Tabs, { ...props }),
|
|
23120
|
+
/* @__PURE__ */ jsx181(TabContent, { ...props, contentXss: {
|
|
23014
23121
|
...styles,
|
|
23015
23122
|
...props.contentXss
|
|
23016
23123
|
} })
|
|
@@ -23035,7 +23142,7 @@ function TabContent(props) {
|
|
|
23035
23142
|
return (
|
|
23036
23143
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
23037
23144
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
23038
|
-
/* @__PURE__ */
|
|
23145
|
+
/* @__PURE__ */ jsx181(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx181("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps92(contentXss), children: selectedTab.render() }) })
|
|
23039
23146
|
);
|
|
23040
23147
|
}
|
|
23041
23148
|
function Tabs(props) {
|
|
@@ -23077,7 +23184,7 @@ function Tabs(props) {
|
|
|
23077
23184
|
setActive(selected);
|
|
23078
23185
|
}
|
|
23079
23186
|
}
|
|
23080
|
-
return /* @__PURE__ */
|
|
23187
|
+
return /* @__PURE__ */ jsxs93("div", { ...trussProps92({
|
|
23081
23188
|
...{
|
|
23082
23189
|
display: "df",
|
|
23083
23190
|
alignItems: "aic",
|
|
@@ -23093,11 +23200,11 @@ function Tabs(props) {
|
|
|
23093
23200
|
}
|
|
23094
23201
|
} : {}
|
|
23095
23202
|
}), children: [
|
|
23096
|
-
!hideTabs(props) && /* @__PURE__ */
|
|
23203
|
+
!hideTabs(props) && /* @__PURE__ */ jsx181("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
23097
23204
|
const uniqueValue = uniqueTabValue(tab);
|
|
23098
|
-
return /* @__PURE__ */
|
|
23205
|
+
return /* @__PURE__ */ jsx181(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
|
|
23099
23206
|
}) }),
|
|
23100
|
-
right && /* @__PURE__ */
|
|
23207
|
+
right && /* @__PURE__ */ jsx181("div", { className: "mla df aic gap1 pb1", children: right })
|
|
23101
23208
|
] });
|
|
23102
23209
|
}
|
|
23103
23210
|
function TabImpl(props) {
|
|
@@ -23157,17 +23264,17 @@ function TabImpl(props) {
|
|
|
23157
23264
|
onClick: () => onClick(tab.value)
|
|
23158
23265
|
}
|
|
23159
23266
|
});
|
|
23160
|
-
const tabLabel = /* @__PURE__ */
|
|
23267
|
+
const tabLabel = /* @__PURE__ */ jsxs93(Fragment42, { children: [
|
|
23161
23268
|
label,
|
|
23162
|
-
(icon || endAdornment) && /* @__PURE__ */
|
|
23269
|
+
(icon || endAdornment) && /* @__PURE__ */ jsx181("span", { className: "ml1", children: icon ? /* @__PURE__ */ jsx181(Icon, { icon }) : endAdornment })
|
|
23163
23270
|
] });
|
|
23164
23271
|
return isDisabled ? maybeTooltip({
|
|
23165
23272
|
title: resolveTooltip(disabled),
|
|
23166
23273
|
placement: "top",
|
|
23167
|
-
children: /* @__PURE__ */
|
|
23168
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */
|
|
23274
|
+
children: /* @__PURE__ */ jsx181("div", { ...tabProps, children: tabLabel })
|
|
23275
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ jsx181(Link6, { ...mergeProps29(tabProps, interactiveProps, {
|
|
23169
23276
|
className: "navLink"
|
|
23170
|
-
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */
|
|
23277
|
+
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ jsx181("button", { ...{
|
|
23171
23278
|
...tabProps,
|
|
23172
23279
|
...interactiveProps
|
|
23173
23280
|
}, children: tabLabel });
|
|
@@ -23263,7 +23370,7 @@ function hideTabs(props) {
|
|
|
23263
23370
|
|
|
23264
23371
|
// src/components/PageHeader.tsx
|
|
23265
23372
|
import { trussProps as trussProps93 } from "@homebound/truss/runtime";
|
|
23266
|
-
import { jsx as
|
|
23373
|
+
import { jsx as jsx182, jsxs as jsxs94 } from "react/jsx-runtime";
|
|
23267
23374
|
function PageHeader2(props) {
|
|
23268
23375
|
const {
|
|
23269
23376
|
title,
|
|
@@ -23274,7 +23381,7 @@ function PageHeader2(props) {
|
|
|
23274
23381
|
} = props;
|
|
23275
23382
|
const tid = useTestIds(otherProps, "pageHeader");
|
|
23276
23383
|
useDocumentTitle(title, documentTitleSuffix);
|
|
23277
|
-
return /* @__PURE__ */
|
|
23384
|
+
return /* @__PURE__ */ jsxs94("header", { ...tid, ...trussProps93({
|
|
23278
23385
|
display: "df",
|
|
23279
23386
|
flexDirection: "fdc",
|
|
23280
23387
|
paddingTop: "pt3",
|
|
@@ -23289,16 +23396,16 @@ function PageHeader2(props) {
|
|
|
23289
23396
|
"--backgroundColor": "var(--b-surface)"
|
|
23290
23397
|
}]
|
|
23291
23398
|
}), children: [
|
|
23292
|
-
/* @__PURE__ */
|
|
23293
|
-
/* @__PURE__ */
|
|
23294
|
-
/* @__PURE__ */
|
|
23399
|
+
/* @__PURE__ */ jsxs94("div", { className: "df jcsb mb2 w100 gap1", children: [
|
|
23400
|
+
/* @__PURE__ */ jsx182("div", { children: /* @__PURE__ */ jsx182("h1", { ...tid.title, className: "fw6 fz_20px lh_28px", children: title }) }),
|
|
23401
|
+
/* @__PURE__ */ jsx182("div", { children: rightSlot })
|
|
23295
23402
|
] }),
|
|
23296
|
-
tabs && /* @__PURE__ */
|
|
23403
|
+
tabs && /* @__PURE__ */ jsx182(Tabs, { ...tabs })
|
|
23297
23404
|
] });
|
|
23298
23405
|
}
|
|
23299
23406
|
|
|
23300
23407
|
// src/components/Pagination.tsx
|
|
23301
|
-
import { jsx as
|
|
23408
|
+
import { jsx as jsx183, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
23302
23409
|
var defaultPage = {
|
|
23303
23410
|
offset: 0,
|
|
23304
23411
|
limit: 100
|
|
@@ -23330,25 +23437,25 @@ function Pagination(props) {
|
|
|
23330
23437
|
}
|
|
23331
23438
|
}
|
|
23332
23439
|
const tid = useTestIds(props, "pagination");
|
|
23333
|
-
return /* @__PURE__ */
|
|
23334
|
-
/* @__PURE__ */
|
|
23335
|
-
/* @__PURE__ */
|
|
23440
|
+
return /* @__PURE__ */ jsxs95("div", { className: "df bcGray200 bts_solid btw_1px fw4 fz_12px lh_16px gray500 pl2 pr2 pt2", ...tid, children: [
|
|
23441
|
+
/* @__PURE__ */ jsx183("div", { className: "df mta mba mr2", ...tid.pageSizeLabel, children: "Page size:" }),
|
|
23442
|
+
/* @__PURE__ */ jsx183("div", { className: "w_78px", children: /* @__PURE__ */ jsx183(SelectField, { compact: true, label: "Page Size", labelStyle: "hidden", options: pageOptions, value: pageSize, onSelect: (val) => set({
|
|
23336
23443
|
pageNumber: 1,
|
|
23337
23444
|
pageSize: val
|
|
23338
23445
|
}), autoSort: false, ...tid.pageSize }) }),
|
|
23339
|
-
/* @__PURE__ */
|
|
23340
|
-
/* @__PURE__ */
|
|
23446
|
+
/* @__PURE__ */ jsxs95("div", { className: "mla mta mba df", children: [
|
|
23447
|
+
/* @__PURE__ */ jsxs95("div", { className: "df mta mba mr2", ...tid.pageInfoLabel, children: [
|
|
23341
23448
|
first,
|
|
23342
23449
|
" ",
|
|
23343
23450
|
showLast ? `- ${last}` : "",
|
|
23344
23451
|
" of ",
|
|
23345
23452
|
totalCount
|
|
23346
23453
|
] }),
|
|
23347
|
-
/* @__PURE__ */
|
|
23454
|
+
/* @__PURE__ */ jsx183(IconButton, { icon: "chevronLeft", color: hasPrevPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */, onClick: () => set({
|
|
23348
23455
|
pageNumber: pageNumber - 1,
|
|
23349
23456
|
pageSize
|
|
23350
23457
|
}), disabled: !hasPrevPage, ...tid.previousIcon }),
|
|
23351
|
-
/* @__PURE__ */
|
|
23458
|
+
/* @__PURE__ */ jsx183(IconButton, { icon: "chevronRight", color: hasNextPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */, onClick: () => set({
|
|
23352
23459
|
pageNumber: pageNumber + 1,
|
|
23353
23460
|
pageSize
|
|
23354
23461
|
}), disabled: !hasNextPage, ...tid.nextIcon })
|
|
@@ -23373,7 +23480,7 @@ function toPageNumberSize(page) {
|
|
|
23373
23480
|
import { useResizeObserver as useResizeObserver9 } from "@react-aria/utils";
|
|
23374
23481
|
import { useCallback as useCallback33, useMemo as useMemo52, useRef as useRef57, useState as useState55 } from "react";
|
|
23375
23482
|
import { trussProps as trussProps94, maybeCssVar as maybeCssVar53 } from "@homebound/truss/runtime";
|
|
23376
|
-
import { jsx as
|
|
23483
|
+
import { jsx as jsx184, jsxs as jsxs96 } from "react/jsx-runtime";
|
|
23377
23484
|
function ScrollShadows(props) {
|
|
23378
23485
|
const {
|
|
23379
23486
|
children,
|
|
@@ -23463,7 +23570,7 @@ function ScrollShadows(props) {
|
|
|
23463
23570
|
ref: scrollRef,
|
|
23464
23571
|
onResize
|
|
23465
23572
|
});
|
|
23466
|
-
return /* @__PURE__ */
|
|
23573
|
+
return /* @__PURE__ */ jsxs96("div", { ...trussProps94({
|
|
23467
23574
|
display: "df",
|
|
23468
23575
|
flexDirection: ["fd_var", {
|
|
23469
23576
|
"--flexDirection": maybeCssVar53(!horizontal ? "column" : "row")
|
|
@@ -23479,7 +23586,7 @@ function ScrollShadows(props) {
|
|
|
23479
23586
|
width: width2
|
|
23480
23587
|
}
|
|
23481
23588
|
}), ...tid, children: [
|
|
23482
|
-
/* @__PURE__ */
|
|
23589
|
+
/* @__PURE__ */ jsx184("div", { ...trussProps94({
|
|
23483
23590
|
...startShadowStyles,
|
|
23484
23591
|
...{
|
|
23485
23592
|
opacity: ["o_var", {
|
|
@@ -23487,7 +23594,7 @@ function ScrollShadows(props) {
|
|
|
23487
23594
|
}]
|
|
23488
23595
|
}
|
|
23489
23596
|
}), "data-chromatic": "ignore" }),
|
|
23490
|
-
/* @__PURE__ */
|
|
23597
|
+
/* @__PURE__ */ jsx184("div", { ...trussProps94({
|
|
23491
23598
|
...endShadowStyles,
|
|
23492
23599
|
...{
|
|
23493
23600
|
opacity: ["o_var", {
|
|
@@ -23495,7 +23602,7 @@ function ScrollShadows(props) {
|
|
|
23495
23602
|
}]
|
|
23496
23603
|
}
|
|
23497
23604
|
}), "data-chromatic": "ignore" }),
|
|
23498
|
-
/* @__PURE__ */
|
|
23605
|
+
/* @__PURE__ */ jsx184("div", { ...trussProps94({
|
|
23499
23606
|
...xss,
|
|
23500
23607
|
...{
|
|
23501
23608
|
overflow: "oa",
|
|
@@ -23516,7 +23623,7 @@ import {
|
|
|
23516
23623
|
useRef as useRef58,
|
|
23517
23624
|
useState as useState56
|
|
23518
23625
|
} from "react";
|
|
23519
|
-
import { jsx as
|
|
23626
|
+
import { jsx as jsx185 } from "react/jsx-runtime";
|
|
23520
23627
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
23521
23628
|
function loadStoredNavState() {
|
|
23522
23629
|
try {
|
|
@@ -23564,7 +23671,7 @@ function SideNavLayoutProvider(props) {
|
|
|
23564
23671
|
});
|
|
23565
23672
|
}, []);
|
|
23566
23673
|
const value = useMemo53(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
23567
|
-
return /* @__PURE__ */
|
|
23674
|
+
return /* @__PURE__ */ jsx185(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
23568
23675
|
}
|
|
23569
23676
|
function useSideNavLayoutContext() {
|
|
23570
23677
|
return useContext26(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
@@ -23576,7 +23683,7 @@ function useHasSideNavLayoutProvider() {
|
|
|
23576
23683
|
|
|
23577
23684
|
// src/components/SideNav/SideNav.tsx
|
|
23578
23685
|
import { trussProps as trussProps95 } from "@homebound/truss/runtime";
|
|
23579
|
-
import { jsx as
|
|
23686
|
+
import { jsx as jsx186, jsxs as jsxs97 } from "react/jsx-runtime";
|
|
23580
23687
|
function SideNav(props) {
|
|
23581
23688
|
const {
|
|
23582
23689
|
top,
|
|
@@ -23589,8 +23696,8 @@ function SideNav(props) {
|
|
|
23589
23696
|
const tid = useTestIds(props, "sideNav");
|
|
23590
23697
|
const panelCollapsed = navState === "collapse";
|
|
23591
23698
|
const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
|
|
23592
|
-
return /* @__PURE__ */
|
|
23593
|
-
top !== void 0 && /* @__PURE__ */
|
|
23699
|
+
return /* @__PURE__ */ jsxs97("nav", { className: "df fdc h100 fs0", ...tid, children: [
|
|
23700
|
+
top !== void 0 && /* @__PURE__ */ jsx186("div", { ...trussProps95({
|
|
23594
23701
|
flexShrink: "fs0",
|
|
23595
23702
|
paddingLeft: "pl2",
|
|
23596
23703
|
paddingRight: "pr2",
|
|
@@ -23601,7 +23708,7 @@ function SideNav(props) {
|
|
|
23601
23708
|
paddingBottom: "pb4"
|
|
23602
23709
|
} : {}
|
|
23603
23710
|
}), ...tid.top, children: top }),
|
|
23604
|
-
/* @__PURE__ */
|
|
23711
|
+
/* @__PURE__ */ jsx186("div", { ...trussProps95({
|
|
23605
23712
|
flexGrow: "fg1",
|
|
23606
23713
|
overflowY: "oya",
|
|
23607
23714
|
display: "df",
|
|
@@ -23613,8 +23720,8 @@ function SideNav(props) {
|
|
|
23613
23720
|
...top === void 0 ? {
|
|
23614
23721
|
paddingTop: "pt5"
|
|
23615
23722
|
} : {}
|
|
23616
|
-
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */
|
|
23617
|
-
footer !== void 0 && /* @__PURE__ */
|
|
23723
|
+
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ jsx186(AppNavItems, { items, panelCollapsed }) }),
|
|
23724
|
+
footer !== void 0 && /* @__PURE__ */ jsx186("div", { ...trussProps95({
|
|
23618
23725
|
flexShrink: "fs0",
|
|
23619
23726
|
paddingLeft: "pl2",
|
|
23620
23727
|
paddingRight: "pr2",
|
|
@@ -23692,7 +23799,7 @@ var snackbarId = 1;
|
|
|
23692
23799
|
import { useRef as useRef59 } from "react";
|
|
23693
23800
|
import { useButton as useButton12, useFocusRing as useFocusRing16, useHover as useHover20 } from "react-aria";
|
|
23694
23801
|
import { trussProps as trussProps96, maybeCssVar as maybeCssVar54 } from "@homebound/truss/runtime";
|
|
23695
|
-
import { jsx as
|
|
23802
|
+
import { jsx as jsx187, jsxs as jsxs98 } from "react/jsx-runtime";
|
|
23696
23803
|
import { createElement as createElement5 } from "react";
|
|
23697
23804
|
var __maybeInc20 = (inc) => {
|
|
23698
23805
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -23711,8 +23818,8 @@ function Stepper(props) {
|
|
|
23711
23818
|
const maxStepWidth = 200;
|
|
23712
23819
|
const minStepWidth = 100;
|
|
23713
23820
|
const gap = 8;
|
|
23714
|
-
return /* @__PURE__ */
|
|
23715
|
-
/* @__PURE__ */
|
|
23821
|
+
return /* @__PURE__ */ jsxs98("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
|
|
23822
|
+
/* @__PURE__ */ jsx187("ol", { ...trussProps96({
|
|
23716
23823
|
padding: "p_0",
|
|
23717
23824
|
margin: "m_0",
|
|
23718
23825
|
listStyle: "lis_none",
|
|
@@ -23732,9 +23839,9 @@ function Stepper(props) {
|
|
|
23732
23839
|
minWidth: ["mw_var", {
|
|
23733
23840
|
"--minWidth": `${minStepWidth}px`
|
|
23734
23841
|
}]
|
|
23735
|
-
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */
|
|
23842
|
+
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx187(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
|
|
23736
23843
|
}) }),
|
|
23737
|
-
/* @__PURE__ */
|
|
23844
|
+
/* @__PURE__ */ jsx187("div", { ...trussProps96({
|
|
23738
23845
|
marginTop: "mt1",
|
|
23739
23846
|
backgroundColor: "bgGray300",
|
|
23740
23847
|
height: "h_4px",
|
|
@@ -23745,7 +23852,7 @@ function Stepper(props) {
|
|
|
23745
23852
|
"--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
|
|
23746
23853
|
}],
|
|
23747
23854
|
width: "w100"
|
|
23748
|
-
}), children: /* @__PURE__ */
|
|
23855
|
+
}), children: /* @__PURE__ */ jsx187("div", { ...trussProps96({
|
|
23749
23856
|
backgroundColor: "bgBlue600",
|
|
23750
23857
|
transition: "transition_width_200ms",
|
|
23751
23858
|
height: "h100",
|
|
@@ -23786,7 +23893,7 @@ function StepButton(props) {
|
|
|
23786
23893
|
boxShadow: "bshFocus"
|
|
23787
23894
|
};
|
|
23788
23895
|
const tid = useTestIds(props, "stepButton");
|
|
23789
|
-
return /* @__PURE__ */
|
|
23896
|
+
return /* @__PURE__ */ jsxs98("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps96({
|
|
23790
23897
|
...{
|
|
23791
23898
|
fontWeight: "fw6",
|
|
23792
23899
|
fontSize: "fz_14px",
|
|
@@ -23838,7 +23945,7 @@ function StepButton(props) {
|
|
|
23838
23945
|
} : {},
|
|
23839
23946
|
...isFocusVisible ? focusRingStyles2 : {}
|
|
23840
23947
|
}), ...tid[defaultTestId(label)], children: [
|
|
23841
|
-
/* @__PURE__ */
|
|
23948
|
+
/* @__PURE__ */ jsx187("span", { className: "fs0 mr_4px", children: /* @__PURE__ */ jsx187(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
23842
23949
|
label
|
|
23843
23950
|
] });
|
|
23844
23951
|
}
|
|
@@ -23849,12 +23956,12 @@ function StepIcon({
|
|
|
23849
23956
|
isCurrent = false
|
|
23850
23957
|
}) {
|
|
23851
23958
|
if (state === "error") {
|
|
23852
|
-
return /* @__PURE__ */
|
|
23959
|
+
return /* @__PURE__ */ jsx187(Icon, { icon: "errorCircle" });
|
|
23853
23960
|
}
|
|
23854
23961
|
if (state === "complete") {
|
|
23855
|
-
return /* @__PURE__ */
|
|
23962
|
+
return /* @__PURE__ */ jsx187(Icon, { icon: "check" });
|
|
23856
23963
|
}
|
|
23857
|
-
return /* @__PURE__ */
|
|
23964
|
+
return /* @__PURE__ */ jsx187("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx187("div", { ...trussProps96({
|
|
23858
23965
|
width: "w_10px",
|
|
23859
23966
|
height: "h_10px",
|
|
23860
23967
|
borderStyle: "bss",
|
|
@@ -23870,7 +23977,7 @@ function StepIcon({
|
|
|
23870
23977
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
23871
23978
|
import { createPortal as createPortal7 } from "react-dom";
|
|
23872
23979
|
import { trussProps as trussProps97 } from "@homebound/truss/runtime";
|
|
23873
|
-
import { jsx as
|
|
23980
|
+
import { jsx as jsx188, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
23874
23981
|
function SuperDrawerHeader(props) {
|
|
23875
23982
|
const {
|
|
23876
23983
|
hideControls
|
|
@@ -23887,20 +23994,20 @@ function SuperDrawerHeader(props) {
|
|
|
23887
23994
|
const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
|
|
23888
23995
|
const isDetail = currentContent !== firstContent;
|
|
23889
23996
|
const tid = useTestIds({}, "superDrawerHeader");
|
|
23890
|
-
return createPortal7(/* @__PURE__ */
|
|
23891
|
-
isStructuredProps(props) ? /* @__PURE__ */
|
|
23892
|
-
/* @__PURE__ */
|
|
23893
|
-
/* @__PURE__ */
|
|
23997
|
+
return createPortal7(/* @__PURE__ */ jsxs99("div", { className: "df aic jcsb gap3", ...tid, children: [
|
|
23998
|
+
isStructuredProps(props) ? /* @__PURE__ */ jsxs99("div", { className: "df jcsb aic gap2 fg1", children: [
|
|
23999
|
+
/* @__PURE__ */ jsxs99("div", { className: "fg1 df aic gap2", children: [
|
|
24000
|
+
/* @__PURE__ */ jsx188("h1", { className: "fw6 fz_30px lh_36px", children: props.title }),
|
|
23894
24001
|
props.left
|
|
23895
24002
|
] }),
|
|
23896
|
-
props.right && /* @__PURE__ */
|
|
23897
|
-
] }) : /* @__PURE__ */
|
|
23898
|
-
!hideControls && /* @__PURE__ */
|
|
24003
|
+
props.right && /* @__PURE__ */ jsx188("div", { className: "fs0", children: props.right })
|
|
24004
|
+
] }) : /* @__PURE__ */ jsx188("div", { className: "fg1", children: props.children }),
|
|
24005
|
+
!hideControls && /* @__PURE__ */ jsx188("div", { ...trussProps97({
|
|
23899
24006
|
flexShrink: "fs0",
|
|
23900
24007
|
...isDetail ? {
|
|
23901
24008
|
visibility: "vh"
|
|
23902
24009
|
} : {}
|
|
23903
|
-
}), children: /* @__PURE__ */
|
|
24010
|
+
}), children: /* @__PURE__ */ jsx188(ButtonGroup, { buttons: [{
|
|
23904
24011
|
icon: "chevronLeft",
|
|
23905
24012
|
onClick: () => onPrevClick && onPrevClick(),
|
|
23906
24013
|
disabled: !onPrevClick
|
|
@@ -23916,18 +24023,18 @@ function isStructuredProps(props) {
|
|
|
23916
24023
|
}
|
|
23917
24024
|
|
|
23918
24025
|
// src/components/SuperDrawer/ConfirmCloseModal.tsx
|
|
23919
|
-
import { Fragment as Fragment43, jsx as
|
|
24026
|
+
import { Fragment as Fragment43, jsx as jsx189, jsxs as jsxs100 } from "react/jsx-runtime";
|
|
23920
24027
|
function ConfirmCloseModal(props) {
|
|
23921
24028
|
const { onClose, discardText = "Discard Changes", continueText = "Continue Editing" } = props;
|
|
23922
24029
|
const { modalState } = useBeamContext();
|
|
23923
24030
|
function closeModal() {
|
|
23924
24031
|
modalState.current = void 0;
|
|
23925
24032
|
}
|
|
23926
|
-
return /* @__PURE__ */
|
|
23927
|
-
/* @__PURE__ */
|
|
23928
|
-
/* @__PURE__ */
|
|
23929
|
-
/* @__PURE__ */
|
|
23930
|
-
/* @__PURE__ */
|
|
24033
|
+
return /* @__PURE__ */ jsxs100(Fragment43, { children: [
|
|
24034
|
+
/* @__PURE__ */ jsx189(ModalHeader, { children: "Are you sure you want to cancel?" }),
|
|
24035
|
+
/* @__PURE__ */ jsx189(ModalBody, { children: /* @__PURE__ */ jsx189("p", { children: "Any changes you've made so far will be lost." }) }),
|
|
24036
|
+
/* @__PURE__ */ jsxs100(ModalFooter, { children: [
|
|
24037
|
+
/* @__PURE__ */ jsx189(
|
|
23931
24038
|
Button,
|
|
23932
24039
|
{
|
|
23933
24040
|
variant: "quaternary",
|
|
@@ -23938,7 +24045,7 @@ function ConfirmCloseModal(props) {
|
|
|
23938
24045
|
}
|
|
23939
24046
|
}
|
|
23940
24047
|
),
|
|
23941
|
-
/* @__PURE__ */
|
|
24048
|
+
/* @__PURE__ */ jsx189(Button, { label: continueText, onClick: closeModal })
|
|
23942
24049
|
] })
|
|
23943
24050
|
] });
|
|
23944
24051
|
}
|
|
@@ -23948,7 +24055,7 @@ import { motion as motion6 } from "framer-motion";
|
|
|
23948
24055
|
|
|
23949
24056
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
23950
24057
|
import { useMemo as useMemo54 } from "react";
|
|
23951
|
-
import { jsx as
|
|
24058
|
+
import { jsx as jsx190 } from "react/jsx-runtime";
|
|
23952
24059
|
function useSuperDrawer() {
|
|
23953
24060
|
const {
|
|
23954
24061
|
drawerContentStack: contentStack,
|
|
@@ -23960,7 +24067,7 @@ function useSuperDrawer() {
|
|
|
23960
24067
|
function canCloseDrawerDetails(i, doChange) {
|
|
23961
24068
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
23962
24069
|
if (!canClose(canCloseDrawerDetail)) {
|
|
23963
|
-
openModal({ content: /* @__PURE__ */
|
|
24070
|
+
openModal({ content: /* @__PURE__ */ jsx190(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
23964
24071
|
return false;
|
|
23965
24072
|
}
|
|
23966
24073
|
}
|
|
@@ -23980,7 +24087,7 @@ function useSuperDrawer() {
|
|
|
23980
24087
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
23981
24088
|
if (!canClose(canCloseDrawer)) {
|
|
23982
24089
|
openModal({
|
|
23983
|
-
content: /* @__PURE__ */
|
|
24090
|
+
content: /* @__PURE__ */ jsx190(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
23984
24091
|
});
|
|
23985
24092
|
return;
|
|
23986
24093
|
}
|
|
@@ -24076,7 +24183,7 @@ function canClose(canCloseCheck) {
|
|
|
24076
24183
|
|
|
24077
24184
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
24078
24185
|
import { mergeProps as mergeProps30 } from "@homebound/truss/runtime";
|
|
24079
|
-
import { Fragment as Fragment44, jsx as
|
|
24186
|
+
import { Fragment as Fragment44, jsx as jsx191, jsxs as jsxs101 } from "react/jsx-runtime";
|
|
24080
24187
|
var SuperDrawerContent = ({
|
|
24081
24188
|
children,
|
|
24082
24189
|
actions
|
|
@@ -24096,17 +24203,17 @@ var SuperDrawerContent = ({
|
|
|
24096
24203
|
} = firstContent ?? {};
|
|
24097
24204
|
function wrapWithMotionAndMaybeBack(children2) {
|
|
24098
24205
|
if (kind === "open") {
|
|
24099
|
-
return /* @__PURE__ */
|
|
24206
|
+
return /* @__PURE__ */ jsx191(motion6.div, { className: "pt3 pb3 pr3 pl3 fg1 oa", children: children2 }, "content");
|
|
24100
24207
|
} else if (kind === "detail") {
|
|
24101
|
-
return /* @__PURE__ */
|
|
24208
|
+
return /* @__PURE__ */ jsxs101(motion6.div, { className: "pl3 pr3 pt2 pb3 fg1", animate: {
|
|
24102
24209
|
overflow: "auto"
|
|
24103
24210
|
}, transition: {
|
|
24104
24211
|
overflow: {
|
|
24105
24212
|
delay: 0.3
|
|
24106
24213
|
}
|
|
24107
24214
|
}, children: [
|
|
24108
|
-
/* @__PURE__ */
|
|
24109
|
-
/* @__PURE__ */
|
|
24215
|
+
/* @__PURE__ */ jsx191(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
24216
|
+
/* @__PURE__ */ jsx191(motion6.div, { initial: {
|
|
24110
24217
|
x: width2,
|
|
24111
24218
|
opacity: 0
|
|
24112
24219
|
}, animate: {
|
|
@@ -24124,7 +24231,7 @@ var SuperDrawerContent = ({
|
|
|
24124
24231
|
}, className: "pt2", children: children2 })
|
|
24125
24232
|
] }, "content");
|
|
24126
24233
|
} else {
|
|
24127
|
-
return /* @__PURE__ */
|
|
24234
|
+
return /* @__PURE__ */ jsx191(motion6.div, { ...mergeProps30(void 0, {
|
|
24128
24235
|
overflow: "auto"
|
|
24129
24236
|
}, {
|
|
24130
24237
|
paddingTop: "pt3",
|
|
@@ -24135,9 +24242,9 @@ var SuperDrawerContent = ({
|
|
|
24135
24242
|
}) }, "content");
|
|
24136
24243
|
}
|
|
24137
24244
|
}
|
|
24138
|
-
return /* @__PURE__ */
|
|
24245
|
+
return /* @__PURE__ */ jsxs101(Fragment44, { children: [
|
|
24139
24246
|
wrapWithMotionAndMaybeBack(children),
|
|
24140
|
-
actions && /* @__PURE__ */
|
|
24247
|
+
actions && /* @__PURE__ */ jsx191("footer", { className: "bts_solid btw_1px bcGray200 pt3 pb3 pr3 pl3 df aic jcfe", children: /* @__PURE__ */ jsx191("div", { className: "df gap1", children: actions.map((buttonProps, i) => /* @__PURE__ */ jsx191(Button, { ...buttonProps }, i)) }) })
|
|
24141
24248
|
] });
|
|
24142
24249
|
};
|
|
24143
24250
|
|
|
@@ -24179,6 +24286,21 @@ function visit(rows, fn) {
|
|
|
24179
24286
|
}
|
|
24180
24287
|
}
|
|
24181
24288
|
|
|
24289
|
+
// src/components/TagGroup.tsx
|
|
24290
|
+
import { jsx as jsx192, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
24291
|
+
function TagGroup(props) {
|
|
24292
|
+
const {
|
|
24293
|
+
tags,
|
|
24294
|
+
onEdit,
|
|
24295
|
+
...otherProps
|
|
24296
|
+
} = props;
|
|
24297
|
+
const tid = useTestIds(otherProps, "tagGroup");
|
|
24298
|
+
return /* @__PURE__ */ jsxs102("div", { ...tid, className: "df aic fww gap1", children: [
|
|
24299
|
+
tags.map((tag) => /* @__PURE__ */ jsx192(Tag, { ...tag, variant: "secondary" }, tag.text)),
|
|
24300
|
+
onEdit && /* @__PURE__ */ jsx192("span", { className: "ml1 fw4 fz_14px lh_20px", children: /* @__PURE__ */ jsx192(Button, { label: "Edit", variant: "text", onClick: onEdit, ...tid.edit }) })
|
|
24301
|
+
] });
|
|
24302
|
+
}
|
|
24303
|
+
|
|
24182
24304
|
// src/components/Toast/useToast.tsx
|
|
24183
24305
|
import { useCallback as useCallback36 } from "react";
|
|
24184
24306
|
function useToast() {
|
|
@@ -24189,14 +24311,14 @@ function useToast() {
|
|
|
24189
24311
|
|
|
24190
24312
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
24191
24313
|
import { trussProps as trussProps98, mergeProps as mergeProps31, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
|
|
24192
|
-
import { jsx as
|
|
24314
|
+
import { jsx as jsx193, jsxs as jsxs103 } from "react/jsx-runtime";
|
|
24193
24315
|
var __maybeInc21 = (inc) => {
|
|
24194
24316
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24195
24317
|
};
|
|
24196
24318
|
function SideNavLayout(props) {
|
|
24197
24319
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
24198
|
-
if (hasProvider) return /* @__PURE__ */
|
|
24199
|
-
return /* @__PURE__ */
|
|
24320
|
+
if (hasProvider) return /* @__PURE__ */ jsx193(SideNavLayoutContent, { ...props });
|
|
24321
|
+
return /* @__PURE__ */ jsx193(SideNavLayoutProvider, { children: /* @__PURE__ */ jsx193(SideNavLayoutContent, { ...props }) });
|
|
24200
24322
|
}
|
|
24201
24323
|
function SideNavLayoutContent(props) {
|
|
24202
24324
|
const {
|
|
@@ -24218,7 +24340,7 @@ function SideNavLayoutContent(props) {
|
|
|
24218
24340
|
const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
|
|
24219
24341
|
const navTop = bannerAndNavbarChromeTop();
|
|
24220
24342
|
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
24221
|
-
const rail = showRail && /* @__PURE__ */
|
|
24343
|
+
const rail = showRail && /* @__PURE__ */ jsxs103("div", { ...trussProps98({
|
|
24222
24344
|
...{
|
|
24223
24345
|
display: "df",
|
|
24224
24346
|
flexDirection: "fdc",
|
|
@@ -24275,18 +24397,18 @@ function SideNavLayoutContent(props) {
|
|
|
24275
24397
|
}
|
|
24276
24398
|
}
|
|
24277
24399
|
}), ...tid.sideNav, children: [
|
|
24278
|
-
showCollapseToggle && /* @__PURE__ */
|
|
24279
|
-
/* @__PURE__ */
|
|
24400
|
+
showCollapseToggle && /* @__PURE__ */ jsx193("div", { className: "absolute right2 top2 z2", children: /* @__PURE__ */ jsx193(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
24401
|
+
/* @__PURE__ */ jsx193("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ jsx193(SideNav, { ...sideNav }) })
|
|
24280
24402
|
] });
|
|
24281
|
-
return /* @__PURE__ */
|
|
24403
|
+
return /* @__PURE__ */ jsx193(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsxs103("div", { ...mergeProps31(void 0, {
|
|
24282
24404
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
24283
24405
|
}, {
|
|
24284
24406
|
display: "df",
|
|
24285
24407
|
flexDirection: "fdr",
|
|
24286
24408
|
width: "w100"
|
|
24287
24409
|
}), ...tid, children: [
|
|
24288
|
-
contrastRail ? /* @__PURE__ */
|
|
24289
|
-
/* @__PURE__ */
|
|
24410
|
+
contrastRail ? /* @__PURE__ */ jsx193(ContrastScope, { children: rail }) : rail,
|
|
24411
|
+
/* @__PURE__ */ jsx193("div", { ...trussProps98({
|
|
24290
24412
|
display: "df",
|
|
24291
24413
|
flexDirection: "fdc",
|
|
24292
24414
|
flexGrow: "fg1",
|
|
@@ -24303,7 +24425,7 @@ function SideNavLayoutContent(props) {
|
|
|
24303
24425
|
|
|
24304
24426
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
|
|
24305
24427
|
import { trussProps as trussProps99, mergeProps as mergeProps32, maybeCssVar as maybeCssVar56 } from "@homebound/truss/runtime";
|
|
24306
|
-
import { jsx as
|
|
24428
|
+
import { jsx as jsx194, jsxs as jsxs104 } from "react/jsx-runtime";
|
|
24307
24429
|
var __maybeInc22 = (inc) => {
|
|
24308
24430
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24309
24431
|
};
|
|
@@ -24319,18 +24441,18 @@ function EnvironmentBannerLayout(props) {
|
|
|
24319
24441
|
[beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
|
|
24320
24442
|
};
|
|
24321
24443
|
const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
|
|
24322
|
-
return /* @__PURE__ */
|
|
24444
|
+
return /* @__PURE__ */ jsx194(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsx194(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ jsxs104("div", { ...mergeProps32(void 0, style, {
|
|
24323
24445
|
display: "df",
|
|
24324
24446
|
flexDirection: "fdc",
|
|
24325
24447
|
width: "wfc",
|
|
24326
24448
|
minWidth: "mw100"
|
|
24327
24449
|
}), ...tid, children: [
|
|
24328
|
-
showBanner && environmentBanner && /* @__PURE__ */
|
|
24450
|
+
showBanner && environmentBanner && /* @__PURE__ */ jsx194("div", { ...mergeProps32(void 0, {
|
|
24329
24451
|
height: environmentBannerSizePx
|
|
24330
24452
|
}, {
|
|
24331
24453
|
flexShrink: "fs0",
|
|
24332
24454
|
width: "w100"
|
|
24333
|
-
}), children: /* @__PURE__ */
|
|
24455
|
+
}), children: /* @__PURE__ */ jsx194("div", { ...trussProps99({
|
|
24334
24456
|
position: "fixed",
|
|
24335
24457
|
top: "top0",
|
|
24336
24458
|
left: "left0",
|
|
@@ -24340,7 +24462,7 @@ function EnvironmentBannerLayout(props) {
|
|
|
24340
24462
|
width: ["w_var", {
|
|
24341
24463
|
"--width": maybeCssVar56(__maybeInc22(innerWidth))
|
|
24342
24464
|
}]
|
|
24343
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */
|
|
24465
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ jsx194(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
|
|
24344
24466
|
children
|
|
24345
24467
|
] }) }) });
|
|
24346
24468
|
}
|
|
@@ -24350,7 +24472,7 @@ import { useMemo as useMemo55, useRef as useRef61 } from "react";
|
|
|
24350
24472
|
import { mergeProps as mergeProps33, maybeCssVar as maybeCssVar57 } from "@homebound/truss/runtime";
|
|
24351
24473
|
|
|
24352
24474
|
// src/layouts/useAutoHideOnScroll.ts
|
|
24353
|
-
import { useLayoutEffect as
|
|
24475
|
+
import { useLayoutEffect as useLayoutEffect8, useRef as useRef60, useState as useState57 } from "react";
|
|
24354
24476
|
var THRESHOLD = 80;
|
|
24355
24477
|
function getInitialAutoHideState() {
|
|
24356
24478
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -24368,7 +24490,7 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
24368
24490
|
getTopOffsetRef.current = getTopOffset;
|
|
24369
24491
|
const lastScrollY = useRef60(Number.POSITIVE_INFINITY);
|
|
24370
24492
|
const lastScrollHeight = useRef60(0);
|
|
24371
|
-
|
|
24493
|
+
useLayoutEffect8(() => {
|
|
24372
24494
|
if (!enabled) {
|
|
24373
24495
|
stateRef.current = "static";
|
|
24374
24496
|
atTopRef.current = true;
|
|
@@ -24441,7 +24563,7 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
24441
24563
|
|
|
24442
24564
|
// src/layouts/useMeasuredHeight.ts
|
|
24443
24565
|
import { useResizeObserver as useResizeObserver10 } from "@react-aria/utils";
|
|
24444
|
-
import { useCallback as useCallback37, useLayoutEffect as
|
|
24566
|
+
import { useCallback as useCallback37, useLayoutEffect as useLayoutEffect9, useState as useState58 } from "react";
|
|
24445
24567
|
function useMeasuredHeight(ref, enabled) {
|
|
24446
24568
|
const [height, setHeight] = useState58(0);
|
|
24447
24569
|
const syncElementHeight = useCallback37(() => {
|
|
@@ -24450,7 +24572,7 @@ function useMeasuredHeight(ref, enabled) {
|
|
|
24450
24572
|
setHeight((prev) => prev === next ? prev : next);
|
|
24451
24573
|
}, [ref]);
|
|
24452
24574
|
useResizeObserver10({ ref, onResize: syncElementHeight });
|
|
24453
|
-
|
|
24575
|
+
useLayoutEffect9(() => {
|
|
24454
24576
|
syncElementHeight();
|
|
24455
24577
|
}, [enabled, syncElementHeight]);
|
|
24456
24578
|
return height;
|
|
@@ -24458,17 +24580,17 @@ function useMeasuredHeight(ref, enabled) {
|
|
|
24458
24580
|
|
|
24459
24581
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
24460
24582
|
import { createContext as createContext15, useContext as useContext27 } from "react";
|
|
24461
|
-
import { jsx as
|
|
24583
|
+
import { jsx as jsx195 } from "react/jsx-runtime";
|
|
24462
24584
|
var NavbarLayoutHeightContext = createContext15(0);
|
|
24463
24585
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
24464
|
-
return /* @__PURE__ */
|
|
24586
|
+
return /* @__PURE__ */ jsx195(NavbarLayoutHeightContext.Provider, { value, children });
|
|
24465
24587
|
}
|
|
24466
24588
|
function useNavbarLayoutHeight() {
|
|
24467
24589
|
return useContext27(NavbarLayoutHeightContext);
|
|
24468
24590
|
}
|
|
24469
24591
|
|
|
24470
24592
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
24471
|
-
import { jsx as
|
|
24593
|
+
import { jsx as jsx196, jsxs as jsxs105 } from "react/jsx-runtime";
|
|
24472
24594
|
var __maybeInc23 = (inc) => {
|
|
24473
24595
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24474
24596
|
};
|
|
@@ -24521,20 +24643,20 @@ function NavbarLayout(props) {
|
|
|
24521
24643
|
const innerStyle = autoHideState !== "static" ? {
|
|
24522
24644
|
top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
|
|
24523
24645
|
} : void 0;
|
|
24524
|
-
const navbarEl = useMemo55(() => /* @__PURE__ */
|
|
24525
|
-
return /* @__PURE__ */
|
|
24646
|
+
const navbarEl = useMemo55(() => /* @__PURE__ */ jsx196(Navbar, { ...navbar }), [navbar]);
|
|
24647
|
+
return /* @__PURE__ */ jsx196(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsx196(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ jsxs105("div", { ...mergeProps33(void 0, cssVars, {
|
|
24526
24648
|
display: "df",
|
|
24527
24649
|
flexDirection: "fdc",
|
|
24528
24650
|
width: "wfc",
|
|
24529
24651
|
minWidth: "mw100"
|
|
24530
24652
|
}), ...tid, children: [
|
|
24531
|
-
/* @__PURE__ */
|
|
24653
|
+
/* @__PURE__ */ jsx196("div", { ref: spacerRef, ...mergeProps33(void 0, {
|
|
24532
24654
|
height: navHeight
|
|
24533
24655
|
}, {
|
|
24534
24656
|
flexShrink: "fs0",
|
|
24535
24657
|
width: "w100"
|
|
24536
|
-
}), children: /* @__PURE__ */
|
|
24537
|
-
/* @__PURE__ */
|
|
24658
|
+
}), children: /* @__PURE__ */ jsx196("div", { ref: navMetricsRef, ...mergeProps33(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
24659
|
+
/* @__PURE__ */ jsx196("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
24538
24660
|
] }) }) });
|
|
24539
24661
|
}
|
|
24540
24662
|
|
|
@@ -24548,7 +24670,7 @@ function useBannerAndNavbarHeight() {
|
|
|
24548
24670
|
|
|
24549
24671
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
24550
24672
|
import { mergeProps as mergeProps34, maybeCssVar as maybeCssVar58 } from "@homebound/truss/runtime";
|
|
24551
|
-
import { jsx as
|
|
24673
|
+
import { jsx as jsx197, jsxs as jsxs106 } from "react/jsx-runtime";
|
|
24552
24674
|
var __maybeInc24 = (inc) => {
|
|
24553
24675
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
24554
24676
|
};
|
|
@@ -24603,19 +24725,19 @@ function PageHeaderLayout(props) {
|
|
|
24603
24725
|
const innerStyle = autoHideState !== "static" ? {
|
|
24604
24726
|
top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
|
|
24605
24727
|
} : void 0;
|
|
24606
|
-
const pageHeaderEl = useMemo56(() => /* @__PURE__ */
|
|
24607
|
-
return /* @__PURE__ */
|
|
24728
|
+
const pageHeaderEl = useMemo56(() => /* @__PURE__ */ jsx197(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
24729
|
+
return /* @__PURE__ */ jsx197(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsxs106("div", { ...mergeProps34(void 0, cssVars, {
|
|
24608
24730
|
display: "df",
|
|
24609
24731
|
flexDirection: "fdc",
|
|
24610
24732
|
width: "w100"
|
|
24611
24733
|
}), ...tid, children: [
|
|
24612
|
-
/* @__PURE__ */
|
|
24734
|
+
/* @__PURE__ */ jsx197("div", { ref: spacerRef, ...mergeProps34(void 0, {
|
|
24613
24735
|
height: headerHeight
|
|
24614
24736
|
}, {
|
|
24615
24737
|
flexShrink: "fs0",
|
|
24616
24738
|
width: "w100"
|
|
24617
|
-
}), children: /* @__PURE__ */
|
|
24618
|
-
/* @__PURE__ */
|
|
24739
|
+
}), children: /* @__PURE__ */ jsx197("div", { ref: headerMetricsRef, ...mergeProps34(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
24740
|
+
/* @__PURE__ */ jsx197("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
|
|
24619
24741
|
] }) });
|
|
24620
24742
|
}
|
|
24621
24743
|
export {
|
|
@@ -24696,6 +24818,7 @@ export {
|
|
|
24696
24818
|
FormRow,
|
|
24697
24819
|
FullBleed,
|
|
24698
24820
|
GridTable,
|
|
24821
|
+
GridTableEmptyState,
|
|
24699
24822
|
GridTableLayout,
|
|
24700
24823
|
HB_QUIPS_FLAVOR,
|
|
24701
24824
|
HB_QUIPS_MISSION,
|
|
@@ -24770,6 +24893,7 @@ export {
|
|
|
24770
24893
|
Tabs,
|
|
24771
24894
|
TabsWithContent,
|
|
24772
24895
|
Tag,
|
|
24896
|
+
TagGroup,
|
|
24773
24897
|
TextAreaField,
|
|
24774
24898
|
TextField,
|
|
24775
24899
|
Toast,
|
|
@@ -24850,6 +24974,7 @@ export {
|
|
|
24850
24974
|
formatPlainDate,
|
|
24851
24975
|
formatValue,
|
|
24852
24976
|
generateColumnId,
|
|
24977
|
+
getActiveFilterCount,
|
|
24853
24978
|
getAlignment,
|
|
24854
24979
|
getColumnBorderCss,
|
|
24855
24980
|
getDateFormat,
|
|
@@ -24928,6 +25053,7 @@ export {
|
|
|
24928
25053
|
treeFilter,
|
|
24929
25054
|
updateFilter,
|
|
24930
25055
|
useAutoSaveStatus,
|
|
25056
|
+
useBodyBackgroundColor,
|
|
24931
25057
|
useBreakpoint,
|
|
24932
25058
|
useComputed,
|
|
24933
25059
|
useContentOverflow,
|