@homebound/beam 3.17.1 → 3.19.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 +637 -373
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +40 -4
- package/dist/index.d.ts +40 -4
- package/dist/index.js +692 -437
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5779,9 +5779,19 @@ var beamPageHeaderLayoutHeightVar = "--beam-page-header-layout-height";
|
|
|
5779
5779
|
var beamLayoutViewportWidthVar = "--beam-layout-viewport-width";
|
|
5780
5780
|
var beamLayoutViewportHeightVar = "--beam-layout-viewport-height";
|
|
5781
5781
|
var beamSideNavLayoutWidthVar = "--beam-side-nav-layout-width";
|
|
5782
|
+
var beamTableActionsHeightVar = "--beam-table-actions-height";
|
|
5783
|
+
function documentScrollChromeLeft() {
|
|
5784
|
+
return `var(${beamSideNavLayoutWidthVar}, 0px)`;
|
|
5785
|
+
}
|
|
5786
|
+
function documentScrollChromeWidth() {
|
|
5787
|
+
return `calc(var(${beamLayoutViewportWidthVar}, 100vw) - var(${beamSideNavLayoutWidthVar}, 0px))`;
|
|
5788
|
+
}
|
|
5782
5789
|
function stickyNavAndHeaderOffset(basePx = 0) {
|
|
5783
5790
|
return `calc(${basePx}px + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px))`;
|
|
5784
5791
|
}
|
|
5792
|
+
function stickyTableHeaderOffset(basePx = 0) {
|
|
5793
|
+
return `calc(${basePx}px + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px) + var(${beamTableActionsHeightVar}, 0px))`;
|
|
5794
|
+
}
|
|
5785
5795
|
|
|
5786
5796
|
// src/utils/zIndices.ts
|
|
5787
5797
|
var zIndices = {
|
|
@@ -5790,6 +5800,7 @@ var zIndices = {
|
|
|
5790
5800
|
tableExpandableTitle: 20,
|
|
5791
5801
|
tableStickyColumn: 30,
|
|
5792
5802
|
tableStickyHeader: 40,
|
|
5803
|
+
tableActions: 45,
|
|
5793
5804
|
// Page chrome - ensure these items sit above the table
|
|
5794
5805
|
scrollShadow: 50,
|
|
5795
5806
|
superDrawerScrim: 50,
|
|
@@ -5956,6 +5967,9 @@ function SortHeader(props) {
|
|
|
5956
5967
|
// src/components/Table/utils/utils.tsx
|
|
5957
5968
|
import { trussProps as trussProps11, maybeCssVar as maybeCssVar9 } from "@homebound/truss/runtime";
|
|
5958
5969
|
import { Fragment as Fragment4, jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
5970
|
+
var __maybeInc4 = (inc) => {
|
|
5971
|
+
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
5972
|
+
};
|
|
5959
5973
|
function toContent(maybeContent, isHeader, canSortColumn, isClientSideSorting, style, as, alignment, column2, isExpandableHeader, isExpandable, minStickyLeftOffset, isKeptSelectedRow) {
|
|
5960
5974
|
if (isKeptSelectedRow && column2.id === "beamCollapseColumn") {
|
|
5961
5975
|
return /* @__PURE__ */ jsx14(Fragment4, {});
|
|
@@ -6150,12 +6164,21 @@ function recursivelyGetContainingRow(rowId, rowArray, parent) {
|
|
|
6150
6164
|
}
|
|
6151
6165
|
return void 0;
|
|
6152
6166
|
}
|
|
6153
|
-
function getTableRefWidthStyles(isVirtual) {
|
|
6154
|
-
|
|
6155
|
-
|
|
6156
|
-
|
|
6167
|
+
function getTableRefWidthStyles(isVirtual, inDocumentScrollLayout = false) {
|
|
6168
|
+
if (inDocumentScrollLayout) {
|
|
6169
|
+
return {
|
|
6170
|
+
width: ["w_var", {
|
|
6171
|
+
"--width": maybeCssVar9(__maybeInc4(documentScrollChromeWidth()))
|
|
6172
|
+
}]
|
|
6173
|
+
};
|
|
6174
|
+
}
|
|
6175
|
+
if (isVirtual) {
|
|
6176
|
+
return {
|
|
6157
6177
|
width: "w_calc_100_20px"
|
|
6158
|
-
}
|
|
6178
|
+
};
|
|
6179
|
+
}
|
|
6180
|
+
return {
|
|
6181
|
+
width: "w100"
|
|
6159
6182
|
};
|
|
6160
6183
|
}
|
|
6161
6184
|
|
|
@@ -6963,7 +6986,7 @@ function ColumnResizeHandle({
|
|
|
6963
6986
|
import { useContext as useContext9 } from "react";
|
|
6964
6987
|
import { trussProps as trussProps17, maybeCssVar as maybeCssVar11 } from "@homebound/truss/runtime";
|
|
6965
6988
|
import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
6966
|
-
var
|
|
6989
|
+
var __maybeInc5 = (inc) => {
|
|
6967
6990
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
6968
6991
|
};
|
|
6969
6992
|
function KeptGroupRow(props) {
|
|
@@ -6990,7 +7013,7 @@ function KeptGroupRow(props) {
|
|
|
6990
7013
|
...{
|
|
6991
7014
|
paddingLeft: "pl0",
|
|
6992
7015
|
width: ["w_var", {
|
|
6993
|
-
"--width": maybeCssVar11(
|
|
7016
|
+
"--width": maybeCssVar11(__maybeInc5(`calc(${columnSizes.join(" + ")})`))
|
|
6994
7017
|
}]
|
|
6995
7018
|
}
|
|
6996
7019
|
}), ...as === "table" ? {
|
|
@@ -7799,7 +7822,7 @@ function isZonedDateTime(value) {
|
|
|
7799
7822
|
import { useDebouncedCallback as useDebouncedCallback2 } from "use-debounce";
|
|
7800
7823
|
import { trussProps as trussProps18, mergeProps as mergeProps_12, maybeCssVar as maybeCssVar13 } from "@homebound/truss/runtime";
|
|
7801
7824
|
import { Fragment as Fragment8, jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
7802
|
-
var
|
|
7825
|
+
var __maybeInc6 = (inc) => {
|
|
7803
7826
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
7804
7827
|
};
|
|
7805
7828
|
var __typography2 = {
|
|
@@ -8023,12 +8046,12 @@ function RowImpl(props) {
|
|
|
8023
8046
|
},
|
|
8024
8047
|
...maybeSticky === "left" ? {
|
|
8025
8048
|
left: ["left_var", {
|
|
8026
|
-
"--left": maybeCssVar13(
|
|
8049
|
+
"--left": maybeCssVar13(__maybeInc6(columnIndex === 0 ? `var(${beamSideNavLayoutWidthVar}, 0px)` : `calc(var(${beamSideNavLayoutWidthVar}, 0px) + (${columnSizes.slice(0, columnIndex).join(" + ")}))`))
|
|
8027
8050
|
}]
|
|
8028
8051
|
} : {},
|
|
8029
8052
|
...maybeSticky === "right" ? {
|
|
8030
8053
|
right: ["right_var", {
|
|
8031
|
-
"--right": maybeCssVar13(
|
|
8054
|
+
"--right": maybeCssVar13(__maybeInc6(columnIndex + 1 === columnSizes.length ? 0 : `calc(${columnSizes.slice(columnIndex + 1 - columnSizes.length).join(" + ")})`))
|
|
8032
8055
|
}]
|
|
8033
8056
|
} : {}
|
|
8034
8057
|
} : {};
|
|
@@ -8118,7 +8141,7 @@ function RowImpl(props) {
|
|
|
8118
8141
|
// If we have a 'levelIndent' defined, then subtract that amount from the first content column's width to ensure all columns will still line up properly.
|
|
8119
8142
|
...{
|
|
8120
8143
|
width: ["w_var", {
|
|
8121
|
-
"--width": maybeCssVar13(
|
|
8144
|
+
"--width": maybeCssVar13(__maybeInc6(`calc(${columnSizes.slice(columnIndex, columnIndex + currentColspan).join(" + ")}${applyFirstContentColumnStyles && levelIndent ? ` - ${levelIndent}px` : ""})`))
|
|
8122
8145
|
}]
|
|
8123
8146
|
}
|
|
8124
8147
|
};
|
|
@@ -8215,7 +8238,7 @@ function getFieldWidth(fullWidth) {
|
|
|
8215
8238
|
// src/inputs/TextFieldBase.tsx
|
|
8216
8239
|
import { trussProps as trussProps20, mergeProps as mergeProps_13, maybeCssVar as maybeCssVar14 } from "@homebound/truss/runtime";
|
|
8217
8240
|
import { Fragment as Fragment10, jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
8218
|
-
var
|
|
8241
|
+
var __maybeInc7 = (inc) => {
|
|
8219
8242
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
8220
8243
|
};
|
|
8221
8244
|
var __typography3 = {
|
|
@@ -8389,7 +8412,7 @@ function TextFieldBase(props) {
|
|
|
8389
8412
|
} : {},
|
|
8390
8413
|
...labelStyle === "left" ? {
|
|
8391
8414
|
width: ["w_var", {
|
|
8392
|
-
"--width": maybeCssVar14(
|
|
8415
|
+
"--width": maybeCssVar14(__maybeInc7(labelLeftFieldWidth))
|
|
8393
8416
|
}]
|
|
8394
8417
|
} : {}
|
|
8395
8418
|
},
|
|
@@ -8465,7 +8488,7 @@ function TextFieldBase(props) {
|
|
|
8465
8488
|
} : {},
|
|
8466
8489
|
...labelStyle === "left" ? {
|
|
8467
8490
|
width: ["w_var", {
|
|
8468
|
-
"--width": maybeCssVar14(
|
|
8491
|
+
"--width": maybeCssVar14(__maybeInc7(labelLeftFieldWidth))
|
|
8469
8492
|
}]
|
|
8470
8493
|
} : {}
|
|
8471
8494
|
},
|
|
@@ -13580,7 +13603,7 @@ import { useRef as useRef32 } from "react";
|
|
|
13580
13603
|
import { useFocusRing as useFocusRing7, useHover as useHover13, useSwitch, VisuallyHidden as VisuallyHidden5 } from "react-aria";
|
|
13581
13604
|
import { trussProps as trussProps46, maybeCssVar as maybeCssVar27 } from "@homebound/truss/runtime";
|
|
13582
13605
|
import { jsx as jsx74, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
13583
|
-
var
|
|
13606
|
+
var __maybeInc8 = (inc) => {
|
|
13584
13607
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
13585
13608
|
};
|
|
13586
13609
|
function Switch(props) {
|
|
@@ -13674,7 +13697,7 @@ function Switch(props) {
|
|
|
13674
13697
|
/* @__PURE__ */ jsx74("div", { ...trussProps46({
|
|
13675
13698
|
...labelStyle === "left" ? {
|
|
13676
13699
|
width: ["w_var", {
|
|
13677
|
-
"--width": maybeCssVar27(
|
|
13700
|
+
"--width": maybeCssVar27(__maybeInc8(labelLeftFieldWidth))
|
|
13678
13701
|
}]
|
|
13679
13702
|
} : {}
|
|
13680
13703
|
}), children: /* @__PURE__ */ jsx74("div", { "aria-hidden": "true", ...trussProps46({
|
|
@@ -13755,7 +13778,7 @@ function switchCircleDefaultStyles(isCompact) {
|
|
|
13755
13778
|
function switchCircleSelectedStyles(isCompact) {
|
|
13756
13779
|
return {
|
|
13757
13780
|
left: ["left_var", {
|
|
13758
|
-
"--left": maybeCssVar27(
|
|
13781
|
+
"--left": maybeCssVar27(__maybeInc8(`calc(100% - ${circleDiameter(isCompact)}px - 2px)`))
|
|
13759
13782
|
}]
|
|
13760
13783
|
};
|
|
13761
13784
|
}
|
|
@@ -14008,7 +14031,7 @@ import { useCheckboxGroup as useCheckboxGroup2, useCheckboxGroupItem as useCheck
|
|
|
14008
14031
|
import { useCheckboxGroupState as useCheckboxGroupState2 } from "react-stately";
|
|
14009
14032
|
import { trussProps as trussProps48, maybeCssVar as maybeCssVar28 } from "@homebound/truss/runtime";
|
|
14010
14033
|
import { jsx as jsx78, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
14011
|
-
var
|
|
14034
|
+
var __maybeInc9 = (inc) => {
|
|
14012
14035
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
14013
14036
|
};
|
|
14014
14037
|
function ToggleChipGroup(props) {
|
|
@@ -14056,7 +14079,7 @@ function ToggleChipGroup(props) {
|
|
|
14056
14079
|
flexWrap: "flexWrap_wrap",
|
|
14057
14080
|
...labelStyle === "left" ? {
|
|
14058
14081
|
width: ["w_var", {
|
|
14059
|
-
"--width": maybeCssVar28(
|
|
14082
|
+
"--width": maybeCssVar28(__maybeInc9(labelLeftFieldWidth))
|
|
14060
14083
|
}]
|
|
14061
14084
|
} : {}
|
|
14062
14085
|
}), children: options.map((o) => /* @__PURE__ */ jsx78(ToggleChip2, { value: o.value, groupState: state, selected: state.value.includes(o.value), label: o.label, disabled: o.disabled, readonly: o.readonly, startAdornment: o.startAdornment, xss, ...tid[o.value] }, o.value)) })
|
|
@@ -14249,16 +14272,60 @@ function nonKindDefaults() {
|
|
|
14249
14272
|
function parseWidthToPx(widthStr, tableWidth) {
|
|
14250
14273
|
if (!widthStr) return null;
|
|
14251
14274
|
if (widthStr.endsWith("px")) {
|
|
14252
|
-
const parsed =
|
|
14275
|
+
const parsed = parseFloat(widthStr.replace("px", ""));
|
|
14253
14276
|
return isNaN(parsed) ? null : parsed;
|
|
14254
14277
|
}
|
|
14255
|
-
if (widthStr.endsWith("%") && tableWidth) {
|
|
14278
|
+
if (widthStr.endsWith("%") && tableWidth !== void 0) {
|
|
14256
14279
|
const percent = parseFloat(widthStr.replace("%", ""));
|
|
14257
14280
|
if (isNaN(percent)) return null;
|
|
14258
14281
|
return Math.round(percent / 100 * tableWidth);
|
|
14259
14282
|
}
|
|
14260
14283
|
return null;
|
|
14261
14284
|
}
|
|
14285
|
+
function sumColumnSizesPx(columnSizes, tableWidth) {
|
|
14286
|
+
if (tableWidth === void 0) return null;
|
|
14287
|
+
let sum = 0;
|
|
14288
|
+
for (const size of columnSizes) {
|
|
14289
|
+
const px2 = parseWidthToPx(size, tableWidth);
|
|
14290
|
+
if (px2 === null) return null;
|
|
14291
|
+
sum += px2;
|
|
14292
|
+
}
|
|
14293
|
+
return sum;
|
|
14294
|
+
}
|
|
14295
|
+
function sumColumnSizeParts(columnSizes) {
|
|
14296
|
+
let pxSum = 0;
|
|
14297
|
+
let percentSum = 0;
|
|
14298
|
+
let hasCalc = false;
|
|
14299
|
+
for (const size of columnSizes) {
|
|
14300
|
+
if (size.endsWith("px")) {
|
|
14301
|
+
pxSum += parseFloat(size.replace("px", ""));
|
|
14302
|
+
} else if (size.endsWith("%")) {
|
|
14303
|
+
percentSum += parseFloat(size.replace("%", ""));
|
|
14304
|
+
} else {
|
|
14305
|
+
hasCalc = true;
|
|
14306
|
+
}
|
|
14307
|
+
}
|
|
14308
|
+
return {
|
|
14309
|
+
pxSum,
|
|
14310
|
+
percentSum,
|
|
14311
|
+
hasCalc
|
|
14312
|
+
};
|
|
14313
|
+
}
|
|
14314
|
+
function resolveTableContentWidth(tableWidth, columnSizes, minWidthPx = 0) {
|
|
14315
|
+
if (tableWidth === void 0) return void 0;
|
|
14316
|
+
const {
|
|
14317
|
+
pxSum,
|
|
14318
|
+
percentSum,
|
|
14319
|
+
hasCalc
|
|
14320
|
+
} = sumColumnSizeParts(columnSizes);
|
|
14321
|
+
if (!hasCalc && percentSum > 0 && percentSum < 100) {
|
|
14322
|
+
const selfConsistent = pxSum / (1 - percentSum / 100);
|
|
14323
|
+
return Math.max(tableWidth, minWidthPx, Math.ceil(selfConsistent));
|
|
14324
|
+
}
|
|
14325
|
+
const sum = sumColumnSizesPx(columnSizes, tableWidth);
|
|
14326
|
+
if (sum === null) return void 0;
|
|
14327
|
+
return Math.max(tableWidth, sum, minWidthPx);
|
|
14328
|
+
}
|
|
14262
14329
|
function calcColumnSizes(columns, tableWidth, tableMinWidthPx = 0, expandedColumnIds, resizedWidths) {
|
|
14263
14330
|
const {
|
|
14264
14331
|
claimedPercentages,
|
|
@@ -14357,6 +14424,29 @@ function calcColumnSizes(columns, tableWidth, tableMinWidthPx = 0, expandedColum
|
|
|
14357
14424
|
});
|
|
14358
14425
|
return sizes2;
|
|
14359
14426
|
}
|
|
14427
|
+
function calcColumnLayout(columns, probeWidth, tableMinWidthPx = 0, expandedColumnIds, resizedWidths, inDocumentScrollLayout) {
|
|
14428
|
+
if (probeWidth === void 0) {
|
|
14429
|
+
return {
|
|
14430
|
+
columnSizes: calcColumnSizes(columns, void 0, tableMinWidthPx, expandedColumnIds, resizedWidths),
|
|
14431
|
+
contentWidth: void 0
|
|
14432
|
+
};
|
|
14433
|
+
}
|
|
14434
|
+
if (!inDocumentScrollLayout) {
|
|
14435
|
+
return {
|
|
14436
|
+
columnSizes: calcColumnSizes(columns, probeWidth, tableMinWidthPx, expandedColumnIds, resizedWidths),
|
|
14437
|
+
contentWidth: probeWidth
|
|
14438
|
+
};
|
|
14439
|
+
}
|
|
14440
|
+
let columnSizes = calcColumnSizes(columns, probeWidth, tableMinWidthPx, expandedColumnIds, resizedWidths);
|
|
14441
|
+
const contentWidth = resolveTableContentWidth(probeWidth, columnSizes, tableMinWidthPx) ?? probeWidth;
|
|
14442
|
+
if (contentWidth > probeWidth + 1) {
|
|
14443
|
+
columnSizes = calcColumnSizes(columns, contentWidth, tableMinWidthPx, expandedColumnIds, resizedWidths);
|
|
14444
|
+
}
|
|
14445
|
+
return {
|
|
14446
|
+
columnSizes,
|
|
14447
|
+
contentWidth
|
|
14448
|
+
};
|
|
14449
|
+
}
|
|
14360
14450
|
function assignDefaultColumnIds(columns) {
|
|
14361
14451
|
return columns.map((c, idx) => {
|
|
14362
14452
|
const {
|
|
@@ -15321,22 +15411,32 @@ function useColumnResizing(storageKey) {
|
|
|
15321
15411
|
|
|
15322
15412
|
// src/components/Table/hooks/useSetupColumnSizes.ts
|
|
15323
15413
|
import { useDebouncedCallback as useDebouncedCallback4 } from "use-debounce";
|
|
15324
|
-
function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visibleColumnsStorageKey, disableColumnResizing) {
|
|
15414
|
+
function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visibleColumnsStorageKey, disableColumnResizing, inDocumentScrollLayout) {
|
|
15325
15415
|
const { resizedWidths, setResizedWidth, setResizedWidths, resetColumnWidths } = useColumnResizing(
|
|
15326
15416
|
disableColumnResizing ? void 0 : visibleColumnsStorageKey
|
|
15327
15417
|
);
|
|
15328
15418
|
const calculateImmediately = useRef38(true);
|
|
15329
15419
|
const [tableWidth, setTableWidth] = useState29();
|
|
15330
|
-
const
|
|
15420
|
+
const [contentWidth, setContentWidth] = useState29();
|
|
15331
15421
|
const [columnSizes, setColumnSizes] = useState29(
|
|
15332
|
-
|
|
15422
|
+
() => calcColumnLayout(columns, void 0, style.minWidthPx, expandedColumnIds, resizedWidths, inDocumentScrollLayout).columnSizes
|
|
15333
15423
|
);
|
|
15334
|
-
const
|
|
15335
|
-
|
|
15336
|
-
|
|
15337
|
-
|
|
15424
|
+
const prevTableWidthRef = useRef38(tableWidth);
|
|
15425
|
+
const applyColumnLayout = useCallback15(
|
|
15426
|
+
(probeWidth) => {
|
|
15427
|
+
const layout = calcColumnLayout(
|
|
15428
|
+
columns,
|
|
15429
|
+
probeWidth,
|
|
15430
|
+
style.minWidthPx,
|
|
15431
|
+
expandedColumnIds,
|
|
15432
|
+
resizedWidths,
|
|
15433
|
+
inDocumentScrollLayout
|
|
15434
|
+
);
|
|
15435
|
+
setTableWidth(probeWidth);
|
|
15436
|
+
setContentWidth(layout.contentWidth);
|
|
15437
|
+
setColumnSizes(layout.columnSizes);
|
|
15338
15438
|
},
|
|
15339
|
-
[
|
|
15439
|
+
[columns, style.minWidthPx, expandedColumnIds, resizedWidths, inDocumentScrollLayout]
|
|
15340
15440
|
);
|
|
15341
15441
|
useEffect18(() => {
|
|
15342
15442
|
if (!prevTableWidthRef.current) {
|
|
@@ -15365,32 +15465,40 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visib
|
|
|
15365
15465
|
() => {
|
|
15366
15466
|
if (!calculateImmediately.current) {
|
|
15367
15467
|
const width2 = resizeRef.current?.clientWidth;
|
|
15368
|
-
width2 &&
|
|
15468
|
+
width2 && applyColumnLayout(width2);
|
|
15369
15469
|
}
|
|
15370
15470
|
},
|
|
15371
15471
|
// TODO: validate this eslint-disable. It was automatically ignored as part of https://app.shortcut.com/homebound-team/story/40033/enable-react-hooks-exhaustive-deps-for-react-projects
|
|
15372
15472
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
15373
|
-
[columns, resizedWidths,
|
|
15473
|
+
[columns, resizedWidths, applyColumnLayout]
|
|
15374
15474
|
);
|
|
15375
|
-
const
|
|
15475
|
+
const applyColumnLayoutDebounced = useDebouncedCallback4(applyColumnLayout, 100);
|
|
15376
15476
|
const onResize = useCallback15(
|
|
15377
15477
|
() => {
|
|
15378
15478
|
const target = resizeRef.current;
|
|
15379
15479
|
if (target && target.clientWidth !== tableWidth) {
|
|
15380
15480
|
if (calculateImmediately.current) {
|
|
15381
15481
|
calculateImmediately.current = false;
|
|
15382
|
-
|
|
15482
|
+
applyColumnLayout(target.clientWidth);
|
|
15383
15483
|
} else {
|
|
15384
|
-
|
|
15484
|
+
applyColumnLayoutDebounced(target.clientWidth);
|
|
15385
15485
|
}
|
|
15386
15486
|
}
|
|
15387
15487
|
},
|
|
15388
15488
|
// TODO: validate this eslint-disable. It was automatically ignored as part of https://app.shortcut.com/homebound-team/story/40033/enable-react-hooks-exhaustive-deps-for-react-projects
|
|
15389
15489
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
15390
|
-
[tableWidth,
|
|
15490
|
+
[tableWidth, applyColumnLayout, applyColumnLayoutDebounced]
|
|
15391
15491
|
);
|
|
15392
15492
|
useResizeObserver({ ref: resizeRef, onResize });
|
|
15393
|
-
return {
|
|
15493
|
+
return {
|
|
15494
|
+
columnSizes,
|
|
15495
|
+
tableWidth,
|
|
15496
|
+
contentWidth,
|
|
15497
|
+
resizedWidths,
|
|
15498
|
+
setResizedWidth,
|
|
15499
|
+
setResizedWidths,
|
|
15500
|
+
resetColumnWidths
|
|
15501
|
+
};
|
|
15394
15502
|
}
|
|
15395
15503
|
|
|
15396
15504
|
// src/hooks/useRenderCount.ts
|
|
@@ -15464,7 +15572,7 @@ function DocumentScrollLayoutViewportRoot({
|
|
|
15464
15572
|
// src/components/Table/GridTable.tsx
|
|
15465
15573
|
import { trussProps as trussProps49, mergeProps as mergeProps19, maybeCssVar as maybeCssVar29 } from "@homebound/truss/runtime";
|
|
15466
15574
|
import { jsx as jsx82, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
15467
|
-
var
|
|
15575
|
+
var __maybeInc10 = (inc) => {
|
|
15468
15576
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
15469
15577
|
};
|
|
15470
15578
|
var runningInJest = false;
|
|
@@ -15539,6 +15647,7 @@ function GridTable(props) {
|
|
|
15539
15647
|
const {
|
|
15540
15648
|
tableState
|
|
15541
15649
|
} = api;
|
|
15650
|
+
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
15542
15651
|
tableState.onRowSelect = onRowSelect;
|
|
15543
15652
|
useEffect19(() => {
|
|
15544
15653
|
runInAction(() => {
|
|
@@ -15561,11 +15670,12 @@ function GridTable(props) {
|
|
|
15561
15670
|
const {
|
|
15562
15671
|
columnSizes,
|
|
15563
15672
|
tableWidth,
|
|
15673
|
+
contentWidth,
|
|
15564
15674
|
resizedWidths,
|
|
15565
15675
|
setResizedWidth,
|
|
15566
15676
|
setResizedWidths,
|
|
15567
15677
|
resetColumnWidths
|
|
15568
|
-
} = useSetupColumnSizes(style, columns, resizeTarget ?? resizeRef, expandedColumnIds, visibleColumnsStorageKey, disableColumnResizing);
|
|
15678
|
+
} = useSetupColumnSizes(style, columns, resizeTarget ?? resizeRef, expandedColumnIds, visibleColumnsStorageKey, disableColumnResizing, inDocumentScrollLayout);
|
|
15569
15679
|
useEffect19(() => {
|
|
15570
15680
|
api.resetColumnWidthsFn = !disableColumnResizing ? resetColumnWidths : void 0;
|
|
15571
15681
|
}, [api, resetColumnWidths, disableColumnResizing]);
|
|
@@ -15736,9 +15846,18 @@ function GridTable(props) {
|
|
|
15736
15846
|
tableState,
|
|
15737
15847
|
tableContainerRef
|
|
15738
15848
|
}), [tableState, tableContainerRef]);
|
|
15849
|
+
const tableStyle = useMemo24(() => {
|
|
15850
|
+
if (!inDocumentScrollLayout || contentWidth === void 0 || tableWidth === void 0) return style;
|
|
15851
|
+
const minWidthPx = Math.max(style.minWidthPx ?? 0, contentWidth);
|
|
15852
|
+
if (minWidthPx === style.minWidthPx) return style;
|
|
15853
|
+
return {
|
|
15854
|
+
...style,
|
|
15855
|
+
minWidthPx
|
|
15856
|
+
};
|
|
15857
|
+
}, [contentWidth, inDocumentScrollLayout, style, tableWidth]);
|
|
15739
15858
|
return /* @__PURE__ */ jsx82(TableStateContext.Provider, { value: rowStateContext, children: /* @__PURE__ */ jsxs48(PresentationProvider, { fieldProps, wrap: style?.presentationSettings?.wrap, children: [
|
|
15740
|
-
/* @__PURE__ */ jsx82("div", { ref: resizeRef, ...trussProps49(getTableRefWidthStyles(as === "virtual")) }),
|
|
15741
|
-
renders[_as](
|
|
15859
|
+
/* @__PURE__ */ jsx82("div", { ref: resizeRef, ...trussProps49(getTableRefWidthStyles(as === "virtual", inDocumentScrollLayout)) }),
|
|
15860
|
+
renders[_as](tableStyle, id, columns, visibleDataRows, keptSelectedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, stickyOffset, infiniteScroll, tableContainerRef, persistScrollPosition)
|
|
15742
15861
|
] }) });
|
|
15743
15862
|
}
|
|
15744
15863
|
var renders = {
|
|
@@ -15766,8 +15885,9 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, firstR
|
|
|
15766
15885
|
/* @__PURE__ */ jsx82("div", { ...trussProps49({
|
|
15767
15886
|
...stickyHeader ? {
|
|
15768
15887
|
position: "sticky",
|
|
15888
|
+
transition: "transitionTop",
|
|
15769
15889
|
top: ["top_var", {
|
|
15770
|
-
"--top": maybeCssVar29(
|
|
15890
|
+
"--top": maybeCssVar29(__maybeInc10(stickyTableHeaderOffset(stickyOffset)))
|
|
15771
15891
|
}],
|
|
15772
15892
|
zIndex: ["z_var", {
|
|
15773
15893
|
"--zIndex": maybeCssVar29(zIndices.tableStickyHeader)
|
|
@@ -15806,8 +15926,9 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, firs
|
|
|
15806
15926
|
/* @__PURE__ */ jsx82("thead", { ...trussProps49({
|
|
15807
15927
|
...stickyHeader ? {
|
|
15808
15928
|
position: "sticky",
|
|
15929
|
+
transition: "transitionTop",
|
|
15809
15930
|
top: ["top_var", {
|
|
15810
|
-
"--top": maybeCssVar29(
|
|
15931
|
+
"--top": maybeCssVar29(__maybeInc10(stickyTableHeaderOffset(stickyOffset)))
|
|
15811
15932
|
}],
|
|
15812
15933
|
zIndex: ["z_var", {
|
|
15813
15934
|
"--zIndex": maybeCssVar29(zIndices.tableStickyHeader)
|
|
@@ -15858,11 +15979,16 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, fi
|
|
|
15858
15979
|
components: {
|
|
15859
15980
|
// zIndex keeps the pinned head above sticky columns; `top` matches the offsets used by
|
|
15860
15981
|
// the div/table render paths so virtualized tables pin below the global nav + page header.
|
|
15861
|
-
TopItemList: React13.forwardRef((props, ref) => /* @__PURE__ */ jsx82("div", { ...props, ref,
|
|
15982
|
+
TopItemList: React13.forwardRef((props, ref) => /* @__PURE__ */ jsx82("div", { ...props, ref, ...mergeProps19(void 0, {
|
|
15862
15983
|
...props.style,
|
|
15984
|
+
...style.minWidthPx !== void 0 ? {
|
|
15985
|
+
minWidth: style.minWidthPx
|
|
15986
|
+
} : {},
|
|
15863
15987
|
zIndex: zIndices.tableStickyHeader,
|
|
15864
|
-
top:
|
|
15865
|
-
}
|
|
15988
|
+
top: stickyTableHeaderOffset(stickyOffset)
|
|
15989
|
+
}, {
|
|
15990
|
+
transition: "transitionTop"
|
|
15991
|
+
}) })),
|
|
15866
15992
|
List: VirtualRoot(style, columns, id, xss),
|
|
15867
15993
|
Footer: () => {
|
|
15868
15994
|
return /* @__PURE__ */ jsx82("div", { ...trussProps49({
|
|
@@ -15889,7 +16015,7 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, fi
|
|
|
15889
16015
|
return (
|
|
15890
16016
|
// Ensure the fallback message is the same width as the table
|
|
15891
16017
|
/* @__PURE__ */ jsx82("div", { ...trussProps49({
|
|
15892
|
-
...getTableRefWidthStyles(true),
|
|
16018
|
+
...getTableRefWidthStyles(true, inDocumentScrollLayout),
|
|
15893
16019
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
15894
16020
|
...visibleDataRows.length === 0 && style.lastRowCss
|
|
15895
16021
|
}), children: /* @__PURE__ */ jsx82("div", { ...trussProps49({
|
|
@@ -16048,7 +16174,7 @@ import { useCallback as useCallback18, useEffect as useEffect20, useMemo as useM
|
|
|
16048
16174
|
import { useFocusRing as useFocusRing10 } from "react-aria";
|
|
16049
16175
|
import { trussProps as trussProps52, maybeCssVar as maybeCssVar30 } from "@homebound/truss/runtime";
|
|
16050
16176
|
import { jsx as jsx85, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
16051
|
-
var
|
|
16177
|
+
var __maybeInc11 = (inc) => {
|
|
16052
16178
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
16053
16179
|
};
|
|
16054
16180
|
function Accordion(props) {
|
|
@@ -16195,7 +16321,7 @@ function Accordion(props) {
|
|
|
16195
16321
|
/* @__PURE__ */ jsx85("div", { ...tid.details, id, "aria-hidden": !expanded, ...trussProps52({
|
|
16196
16322
|
overflow: "oh",
|
|
16197
16323
|
height: ["h_var", {
|
|
16198
|
-
"--height": maybeCssVar30(
|
|
16324
|
+
"--height": maybeCssVar30(__maybeInc11(contentHeight))
|
|
16199
16325
|
}],
|
|
16200
16326
|
transition: "transition_height_250ms_ease_in_out"
|
|
16201
16327
|
}), children: expanded && /* @__PURE__ */ jsx85("div", { ...trussProps52({
|
|
@@ -16378,7 +16504,7 @@ var variantStyles2 = {
|
|
|
16378
16504
|
};
|
|
16379
16505
|
|
|
16380
16506
|
// src/components/BeamContext.tsx
|
|
16381
|
-
import { createContext as createContext9, useContext as useContext19, useMemo as useMemo40, useReducer, useRef as
|
|
16507
|
+
import { createContext as createContext9, useContext as useContext19, useMemo as useMemo40, useReducer, useRef as useRef49 } from "react";
|
|
16382
16508
|
import { OverlayProvider } from "react-aria";
|
|
16383
16509
|
|
|
16384
16510
|
// src/components/Modal/Modal.tsx
|
|
@@ -17779,7 +17905,7 @@ function BoundTreeSelectField(props) {
|
|
|
17779
17905
|
import { Children, cloneElement } from "react";
|
|
17780
17906
|
import { trussProps as trussProps59, maybeCssVar as maybeCssVar34 } from "@homebound/truss/runtime";
|
|
17781
17907
|
import { jsx as jsx115 } from "react/jsx-runtime";
|
|
17782
|
-
var
|
|
17908
|
+
var __maybeInc12 = (inc) => {
|
|
17783
17909
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
17784
17910
|
};
|
|
17785
17911
|
function FormLines(props) {
|
|
@@ -17817,13 +17943,13 @@ function FormLines(props) {
|
|
|
17817
17943
|
display: "df",
|
|
17818
17944
|
flexDirection: "fdc",
|
|
17819
17945
|
gap: ["gap_var", {
|
|
17820
|
-
"--gap": maybeCssVar34(
|
|
17946
|
+
"--gap": maybeCssVar34(__maybeInc12(gap))
|
|
17821
17947
|
}],
|
|
17822
17948
|
paddingBottom: ["pb_var", {
|
|
17823
|
-
"--paddingBottom": maybeCssVar34(
|
|
17949
|
+
"--paddingBottom": maybeCssVar34(__maybeInc12(gap))
|
|
17824
17950
|
}],
|
|
17825
17951
|
width: ["w_var", {
|
|
17826
|
-
"--width": maybeCssVar34(
|
|
17952
|
+
"--width": maybeCssVar34(__maybeInc12(sizes[width2]))
|
|
17827
17953
|
}]
|
|
17828
17954
|
}), children: Children.map(children, (child) => {
|
|
17829
17955
|
if (child && typeof child === "object" && "type" in child && child.type.isFormHeading) {
|
|
@@ -18703,7 +18829,7 @@ function useActiveSection(sectionsWithRefs) {
|
|
|
18703
18829
|
// src/components/Layout/FullBleed.tsx
|
|
18704
18830
|
import { mergeProps as mergeProps22, maybeCssVar as maybeCssVar38 } from "@homebound/truss/runtime";
|
|
18705
18831
|
import { cloneElement as cloneElement3 } from "react";
|
|
18706
|
-
var
|
|
18832
|
+
var __maybeInc13 = (inc) => {
|
|
18707
18833
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
18708
18834
|
};
|
|
18709
18835
|
function FullBleed({
|
|
@@ -18734,17 +18860,17 @@ function FullBleed({
|
|
|
18734
18860
|
// inverts that padding with negative margins before re-applying it to the child.
|
|
18735
18861
|
{
|
|
18736
18862
|
marginLeft: ["ml_var", {
|
|
18737
|
-
"--marginLeft": maybeCssVar38(
|
|
18863
|
+
"--marginLeft": maybeCssVar38(__maybeInc13(invertSpacing(paddingLeft)))
|
|
18738
18864
|
}],
|
|
18739
18865
|
marginRight: ["mr_var", {
|
|
18740
|
-
"--marginRight": maybeCssVar38(
|
|
18866
|
+
"--marginRight": maybeCssVar38(__maybeInc13(invertSpacing(paddingRight)))
|
|
18741
18867
|
}],
|
|
18742
18868
|
...!omitPadding ? {
|
|
18743
18869
|
paddingLeft: ["pl_var", {
|
|
18744
|
-
"--paddingLeft": maybeCssVar38(
|
|
18870
|
+
"--paddingLeft": maybeCssVar38(__maybeInc13(paddingLeft))
|
|
18745
18871
|
}],
|
|
18746
18872
|
paddingRight: ["pr_var", {
|
|
18747
|
-
"--paddingRight": maybeCssVar38(
|
|
18873
|
+
"--paddingRight": maybeCssVar38(__maybeInc13(paddingRight))
|
|
18748
18874
|
}]
|
|
18749
18875
|
} : {}
|
|
18750
18876
|
}
|
|
@@ -18758,7 +18884,8 @@ function invertSpacing(value) {
|
|
|
18758
18884
|
}
|
|
18759
18885
|
|
|
18760
18886
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
18761
|
-
import
|
|
18887
|
+
import { useResizeObserver as useResizeObserver5 } from "@react-aria/utils";
|
|
18888
|
+
import React17, { useCallback as useCallback25, useEffect as useEffect28, useLayoutEffect as useLayoutEffect4, useMemo as useMemo38, useRef as useRef48, useState as useState44 } from "react";
|
|
18762
18889
|
|
|
18763
18890
|
// src/components/ButtonMenu.tsx
|
|
18764
18891
|
import { useRef as useRef46 } from "react";
|
|
@@ -19667,9 +19794,30 @@ function EditColumnsButton(props) {
|
|
|
19667
19794
|
] }) });
|
|
19668
19795
|
}
|
|
19669
19796
|
|
|
19797
|
+
// src/components/Table/components/ViewToggleButton.tsx
|
|
19798
|
+
import { jsx as jsx144 } from "react/jsx-runtime";
|
|
19799
|
+
function ViewToggleButton({ view, onChange, defaultOpen }) {
|
|
19800
|
+
const { sm } = useBreakpoint();
|
|
19801
|
+
const tid = useTestIds({}, "viewToggleButton");
|
|
19802
|
+
const menuItems = [
|
|
19803
|
+
{ label: "List", icon: "projects", onClick: () => onChange("list") },
|
|
19804
|
+
{ label: "Card", icon: "tile", onClick: () => onChange("card") }
|
|
19805
|
+
];
|
|
19806
|
+
return /* @__PURE__ */ jsx144(
|
|
19807
|
+
ButtonMenu,
|
|
19808
|
+
{
|
|
19809
|
+
trigger: { icon: view === "list" ? "projects" : "tile", label: "", size: "md", variant: "secondaryBlack" },
|
|
19810
|
+
items: menuItems,
|
|
19811
|
+
hideEndAdornment: sm,
|
|
19812
|
+
defaultOpen,
|
|
19813
|
+
...tid
|
|
19814
|
+
}
|
|
19815
|
+
);
|
|
19816
|
+
}
|
|
19817
|
+
|
|
19670
19818
|
// src/components/Table/TableActions.tsx
|
|
19671
19819
|
import { trussProps as trussProps70 } from "@homebound/truss/runtime";
|
|
19672
|
-
import { jsx as
|
|
19820
|
+
import { jsx as jsx145, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
19673
19821
|
function TableActions(props) {
|
|
19674
19822
|
const {
|
|
19675
19823
|
xss,
|
|
@@ -19686,7 +19834,7 @@ function TableActions(props) {
|
|
|
19686
19834
|
},
|
|
19687
19835
|
...xss
|
|
19688
19836
|
}), children: [
|
|
19689
|
-
/* @__PURE__ */
|
|
19837
|
+
/* @__PURE__ */ jsx145("div", { className: "df gap1 aic fww", children }),
|
|
19690
19838
|
right
|
|
19691
19839
|
] });
|
|
19692
19840
|
}
|
|
@@ -19701,7 +19849,7 @@ import { useMemo as useMemo37 } from "react";
|
|
|
19701
19849
|
|
|
19702
19850
|
// src/components/LoadingSkeleton.tsx
|
|
19703
19851
|
import { trussProps as trussProps71, maybeCssVar as maybeCssVar40 } from "@homebound/truss/runtime";
|
|
19704
|
-
import { jsx as
|
|
19852
|
+
import { jsx as jsx146 } from "react/jsx-runtime";
|
|
19705
19853
|
function LoadingSkeleton({
|
|
19706
19854
|
rows = 1,
|
|
19707
19855
|
columns = 1,
|
|
@@ -19713,7 +19861,7 @@ function LoadingSkeleton({
|
|
|
19713
19861
|
const rowHeight = sizeToPixels2[size];
|
|
19714
19862
|
const rowCells = (rowNumber) => {
|
|
19715
19863
|
const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
|
|
19716
|
-
return cellArray.map((_, i) => /* @__PURE__ */
|
|
19864
|
+
return cellArray.map((_, i) => /* @__PURE__ */ jsx146("div", { ...trussProps71({
|
|
19717
19865
|
borderRadius: "br4",
|
|
19718
19866
|
animation: "animation_pulse_2s_cubic_bezier_0_4_0_0_6_1_infinite",
|
|
19719
19867
|
flexGrow: ["flexGrow_var", {
|
|
@@ -19724,7 +19872,7 @@ function LoadingSkeleton({
|
|
|
19724
19872
|
}]
|
|
19725
19873
|
}) }, `row-${rowNumber}-cell-${i}`));
|
|
19726
19874
|
};
|
|
19727
|
-
return /* @__PURE__ */
|
|
19875
|
+
return /* @__PURE__ */ jsx146("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ jsx146("div", { ...trussProps71({
|
|
19728
19876
|
display: "df",
|
|
19729
19877
|
gap: "gap1",
|
|
19730
19878
|
marginBottom: "mb1",
|
|
@@ -19745,7 +19893,7 @@ var sizeToPixels2 = {
|
|
|
19745
19893
|
};
|
|
19746
19894
|
|
|
19747
19895
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
19748
|
-
import { Fragment as Fragment35, jsx as
|
|
19896
|
+
import { Fragment as Fragment35, jsx as jsx147, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
19749
19897
|
function QueryTable(props) {
|
|
19750
19898
|
const { emptyFallback, query, createRows, getPageInfo, columns, keepHeaderWhenLoading, ...others } = props;
|
|
19751
19899
|
const data = query.loading || query.error ? void 0 : query.data;
|
|
@@ -19754,19 +19902,22 @@ function QueryTable(props) {
|
|
|
19754
19902
|
const infoMessage = hasNextPage ? "Too many rows" : void 0;
|
|
19755
19903
|
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : emptyFallback;
|
|
19756
19904
|
const headers = rows.filter((row) => row.kind === "header");
|
|
19757
|
-
return query.loading ? /* @__PURE__ */
|
|
19905
|
+
return query.loading ? /* @__PURE__ */ jsx147("div", { children: keepHeaderWhenLoading ? /* @__PURE__ */ jsx147(GridTable, { ...{ columns, ...others }, rows: headers, fallbackMessage }) : /* @__PURE__ */ jsx147(LoadingTable, { columns: columns.length }) }) : /* @__PURE__ */ jsx147(GridTable, { ...{ rows, columns, fallbackMessage, infoMessage, ...others } });
|
|
19758
19906
|
}
|
|
19759
19907
|
function LoadingTable(props) {
|
|
19760
19908
|
const { columns } = props;
|
|
19761
19909
|
return /* @__PURE__ */ jsxs74(Fragment35, { children: [
|
|
19762
|
-
/* @__PURE__ */
|
|
19763
|
-
/* @__PURE__ */
|
|
19910
|
+
/* @__PURE__ */ jsx147(LoadingSkeleton, { rows: 1, columns: 1 }),
|
|
19911
|
+
/* @__PURE__ */ jsx147(LoadingSkeleton, { rows: 5, columns: columns ?? 5 })
|
|
19764
19912
|
] });
|
|
19765
19913
|
}
|
|
19766
19914
|
|
|
19767
19915
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
19768
|
-
import { trussProps as trussProps72 } from "@homebound/truss/runtime";
|
|
19769
|
-
import { Fragment as Fragment36, jsx as
|
|
19916
|
+
import { trussProps as trussProps72, maybeCssVar as maybeCssVar41 } from "@homebound/truss/runtime";
|
|
19917
|
+
import { Fragment as Fragment36, jsx as jsx148, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
19918
|
+
var __maybeInc14 = (inc) => {
|
|
19919
|
+
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
19920
|
+
};
|
|
19770
19921
|
function GridTableLayoutComponent(props) {
|
|
19771
19922
|
const {
|
|
19772
19923
|
pageTitle,
|
|
@@ -19778,7 +19929,9 @@ function GridTableLayoutComponent(props) {
|
|
|
19778
19929
|
tertiaryAction,
|
|
19779
19930
|
actionMenu,
|
|
19780
19931
|
hideEditColumns = false,
|
|
19781
|
-
totalCount
|
|
19932
|
+
totalCount,
|
|
19933
|
+
withCardView,
|
|
19934
|
+
defaultView = "list"
|
|
19782
19935
|
} = props;
|
|
19783
19936
|
const tid = useTestIds(props);
|
|
19784
19937
|
const columns = tableProps.columns;
|
|
@@ -19788,9 +19941,14 @@ function GridTableLayoutComponent(props) {
|
|
|
19788
19941
|
return columns.some((c) => c.canHide);
|
|
19789
19942
|
}, [columns, hideEditColumns]);
|
|
19790
19943
|
const api = useMemo38(() => tableProps.api ?? new GridTableApiImpl(), [tableProps.api]);
|
|
19944
|
+
const [view, setView] = useState44(defaultView);
|
|
19791
19945
|
const clientSearch = layoutState?.search === "client" ? layoutState.searchString : void 0;
|
|
19792
|
-
const showTableActions = layoutState?.filterDefs || layoutState?.search || hasHideableColumns;
|
|
19946
|
+
const showTableActions = !!(layoutState?.filterDefs || layoutState?.search || hasHideableColumns || withCardView);
|
|
19793
19947
|
const isVirtualized = tableProps.as === "virtual";
|
|
19948
|
+
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
19949
|
+
const tableActionsRef = useRef48(null);
|
|
19950
|
+
const tableWrapperRef = useRef48(null);
|
|
19951
|
+
useSetTableActionsHeight(tableWrapperRef, tableActionsRef, inDocumentScrollLayout && showTableActions);
|
|
19794
19952
|
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
19795
19953
|
useEffect28(() => {
|
|
19796
19954
|
if (layoutState?.setVisibleColumnIds) {
|
|
@@ -19798,24 +19956,58 @@ function GridTableLayoutComponent(props) {
|
|
|
19798
19956
|
}
|
|
19799
19957
|
}, [visibleColumnIds, layoutState]);
|
|
19800
19958
|
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
19801
|
-
|
|
19802
|
-
|
|
19803
|
-
showTableActions && /* @__PURE__ */ jsx147(TableActions, { right: hasHideableColumns && /* @__PURE__ */ jsx147(EditColumnsButton, { columns, api, tooltip: "Display columns", trigger: {
|
|
19959
|
+
const tableActionsEl = /* @__PURE__ */ jsx148(TableActions, { right: (hasHideableColumns || withCardView) && /* @__PURE__ */ jsxs75("div", { className: "df gap1", children: [
|
|
19960
|
+
hasHideableColumns && /* @__PURE__ */ jsx148(EditColumnsButton, { columns, api, tooltip: "Display columns", trigger: {
|
|
19804
19961
|
icon: "kanban",
|
|
19805
19962
|
size: "md",
|
|
19806
19963
|
label: "",
|
|
19807
19964
|
variant: "secondaryBlack"
|
|
19808
|
-
}, ...tid.editColumnsButton }),
|
|
19809
|
-
|
|
19810
|
-
|
|
19811
|
-
|
|
19812
|
-
|
|
19813
|
-
|
|
19814
|
-
|
|
19815
|
-
|
|
19816
|
-
|
|
19817
|
-
|
|
19818
|
-
|
|
19965
|
+
}, ...tid.editColumnsButton }),
|
|
19966
|
+
withCardView && /* @__PURE__ */ jsx148(ViewToggleButton, { view, onChange: setView })
|
|
19967
|
+
] }), xss: {
|
|
19968
|
+
paddingTop: "pt3",
|
|
19969
|
+
...inDocumentScrollLayout ? {
|
|
19970
|
+
paddingLeft: "pl3",
|
|
19971
|
+
paddingRight: "pr3"
|
|
19972
|
+
} : {}
|
|
19973
|
+
}, children: layoutState && (layoutState.filterDefs || layoutState.search) && /* @__PURE__ */ jsx148(_FilterDropdownMenu, { filterDefs: layoutState.filterDefs, filter: layoutState.filter, onChange: layoutState.setFilter, groupBy: layoutState.groupBy, searchProps: layoutState.search ? {
|
|
19974
|
+
onSearch: layoutState.setSearchString
|
|
19975
|
+
} : void 0 }) });
|
|
19976
|
+
const tableBody = /* @__PURE__ */ jsxs75(Fragment36, { children: [
|
|
19977
|
+
view === "card" && withCardView ? withCardView : isGridTableProps(tableProps) ? /* @__PURE__ */ jsx148(GridTable, { ...tableProps, api, filter: clientSearch, style: {
|
|
19978
|
+
allWhite: true
|
|
19979
|
+
}, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey }) : /* @__PURE__ */ jsx148(QueryTable, { ...tableProps, api, filter: clientSearch, style: {
|
|
19980
|
+
allWhite: true
|
|
19981
|
+
}, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey }),
|
|
19982
|
+
layoutState && totalCount !== void 0 && /* @__PURE__ */ jsx148(Pagination, { page: [layoutState.page, layoutState._pagination.setPage], totalCount, pageSizes: layoutState._pagination.pageSizes, ...tid.pagination })
|
|
19983
|
+
] });
|
|
19984
|
+
const tableScrollContent = /* @__PURE__ */ jsxs75(Fragment36, { children: [
|
|
19985
|
+
showTableActions && /* @__PURE__ */ jsx148("div", { ref: tableActionsRef, ...trussProps72({
|
|
19986
|
+
...inDocumentScrollLayout ? {
|
|
19987
|
+
transition: "transitionTop",
|
|
19988
|
+
position: "sticky",
|
|
19989
|
+
top: ["top_var", {
|
|
19990
|
+
"--top": maybeCssVar41(__maybeInc14(stickyNavAndHeaderOffset()))
|
|
19991
|
+
}],
|
|
19992
|
+
left: ["left_var", {
|
|
19993
|
+
"--left": maybeCssVar41(__maybeInc14(documentScrollChromeLeft()))
|
|
19994
|
+
}],
|
|
19995
|
+
width: ["w_var", {
|
|
19996
|
+
"--width": maybeCssVar41(__maybeInc14(documentScrollChromeWidth()))
|
|
19997
|
+
}],
|
|
19998
|
+
zIndex: ["z_var", {
|
|
19999
|
+
"--zIndex": maybeCssVar41(zIndices.tableActions)
|
|
20000
|
+
}],
|
|
20001
|
+
backgroundColor: ["bgColor_var", {
|
|
20002
|
+
"--backgroundColor": "var(--b-surface)"
|
|
20003
|
+
}]
|
|
20004
|
+
} : {}
|
|
20005
|
+
}), ...tid.stickyContent, children: tableActionsEl }),
|
|
20006
|
+
inDocumentScrollLayout ? tableBody : /* @__PURE__ */ jsx148(ScrollableContent, { virtualized: isVirtualized, children: tableBody })
|
|
20007
|
+
] });
|
|
20008
|
+
return /* @__PURE__ */ jsxs75(Fragment36, { children: [
|
|
20009
|
+
pageTitle && /* @__PURE__ */ jsx148(Header2, { pageTitle, breadCrumb, primaryAction, secondaryAction, tertiaryAction, actionMenu }),
|
|
20010
|
+
/* @__PURE__ */ jsx148("div", { ref: tableWrapperRef, className: "display_contents", ...tid.tableWrapper, children: tableScrollContent })
|
|
19819
20011
|
] });
|
|
19820
20012
|
}
|
|
19821
20013
|
var GridTableLayout = React17.memo(GridTableLayoutComponent);
|
|
@@ -19885,6 +20077,33 @@ function useGridTableLayoutState({
|
|
|
19885
20077
|
}
|
|
19886
20078
|
};
|
|
19887
20079
|
}
|
|
20080
|
+
function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
20081
|
+
const syncHeightVar = useCallback25(() => {
|
|
20082
|
+
const tableWrapper = tableWrapperRef.current;
|
|
20083
|
+
if (!tableWrapper) return;
|
|
20084
|
+
if (!enabled) {
|
|
20085
|
+
tableWrapper.style.removeProperty(beamTableActionsHeightVar);
|
|
20086
|
+
return;
|
|
20087
|
+
}
|
|
20088
|
+
const height = tableActionsRef.current ? Math.round(tableActionsRef.current.getBoundingClientRect().height) : 0;
|
|
20089
|
+
if (height > 0) {
|
|
20090
|
+
tableWrapper.style.setProperty(beamTableActionsHeightVar, `${height}px`);
|
|
20091
|
+
} else {
|
|
20092
|
+
tableWrapper.style.removeProperty(beamTableActionsHeightVar);
|
|
20093
|
+
}
|
|
20094
|
+
}, [enabled, tableActionsRef, tableWrapperRef]);
|
|
20095
|
+
useResizeObserver5({
|
|
20096
|
+
ref: tableActionsRef,
|
|
20097
|
+
onResize: enabled ? syncHeightVar : noop
|
|
20098
|
+
});
|
|
20099
|
+
useLayoutEffect4(() => {
|
|
20100
|
+
syncHeightVar();
|
|
20101
|
+
const tableWrapper = tableWrapperRef.current;
|
|
20102
|
+
return () => {
|
|
20103
|
+
tableWrapper?.style.removeProperty(beamTableActionsHeightVar);
|
|
20104
|
+
};
|
|
20105
|
+
}, [tableWrapperRef, syncHeightVar]);
|
|
20106
|
+
}
|
|
19888
20107
|
function Header2(props) {
|
|
19889
20108
|
const {
|
|
19890
20109
|
pageTitle,
|
|
@@ -19895,13 +20114,12 @@ function Header2(props) {
|
|
|
19895
20114
|
actionMenu
|
|
19896
20115
|
} = props;
|
|
19897
20116
|
const tids = useTestIds(props);
|
|
19898
|
-
return /* @__PURE__ */
|
|
20117
|
+
return /* @__PURE__ */ jsx148(FullBleed, { children: /* @__PURE__ */ jsxs75("header", { ...trussProps72({
|
|
19899
20118
|
...{
|
|
19900
20119
|
paddingTop: "pt3",
|
|
19901
20120
|
paddingBottom: "pb3",
|
|
19902
20121
|
paddingRight: "pr3",
|
|
19903
20122
|
paddingLeft: "pl3",
|
|
19904
|
-
marginBottom: "mb3",
|
|
19905
20123
|
minHeight: "mh_50px",
|
|
19906
20124
|
backgroundColor: "bgWhite",
|
|
19907
20125
|
display: "df",
|
|
@@ -19910,14 +20128,14 @@ function Header2(props) {
|
|
|
19910
20128
|
}
|
|
19911
20129
|
}), ...tids.header, children: [
|
|
19912
20130
|
/* @__PURE__ */ jsxs75("div", { children: [
|
|
19913
|
-
breadCrumb && /* @__PURE__ */
|
|
19914
|
-
/* @__PURE__ */
|
|
20131
|
+
breadCrumb && /* @__PURE__ */ jsx148(PageHeaderBreadcrumbs, { breadcrumb: breadCrumb }),
|
|
20132
|
+
/* @__PURE__ */ jsx148("h1", { className: "fw6 fz_30px lh_36px mt1", ...tids.pageTitle, children: pageTitle })
|
|
19915
20133
|
] }),
|
|
19916
20134
|
/* @__PURE__ */ jsxs75("div", { className: "df fwr jcfe gap1 aic", children: [
|
|
19917
|
-
tertiaryAction && /* @__PURE__ */
|
|
19918
|
-
secondaryAction && /* @__PURE__ */
|
|
19919
|
-
primaryAction && /* @__PURE__ */
|
|
19920
|
-
actionMenu && /* @__PURE__ */
|
|
20135
|
+
tertiaryAction && /* @__PURE__ */ jsx148(Button, { ...tertiaryAction, variant: "tertiary" }),
|
|
20136
|
+
secondaryAction && /* @__PURE__ */ jsx148(Button, { ...secondaryAction, variant: "secondary" }),
|
|
20137
|
+
primaryAction && /* @__PURE__ */ jsx148(Button, { ...primaryAction }),
|
|
20138
|
+
actionMenu && /* @__PURE__ */ jsx148(ButtonMenu, { ...actionMenu, trigger: {
|
|
19921
20139
|
icon: "verticalDots"
|
|
19922
20140
|
} })
|
|
19923
20141
|
] })
|
|
@@ -19925,7 +20143,7 @@ function Header2(props) {
|
|
|
19925
20143
|
}
|
|
19926
20144
|
|
|
19927
20145
|
// src/components/Layout/PreventBrowserScroll.tsx
|
|
19928
|
-
import { jsx as
|
|
20146
|
+
import { jsx as jsx149 } from "react/jsx-runtime";
|
|
19929
20147
|
function PreventBrowserScroll({
|
|
19930
20148
|
children
|
|
19931
20149
|
}) {
|
|
@@ -19933,13 +20151,13 @@ function PreventBrowserScroll({
|
|
|
19933
20151
|
// Take over the full viewport and hide any overflown content.
|
|
19934
20152
|
// 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/
|
|
19935
20153
|
// 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.
|
|
19936
|
-
/* @__PURE__ */
|
|
20154
|
+
/* @__PURE__ */ jsx149("div", { className: "oh vh100 mh_negwebkit_fill_available maxh_negwebkit_fill_available", children: /* @__PURE__ */ jsx149("div", { className: "h100 df fdc mh0 oa", children }) })
|
|
19937
20155
|
);
|
|
19938
20156
|
}
|
|
19939
20157
|
|
|
19940
20158
|
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
19941
|
-
import React18, { useCallback as
|
|
19942
|
-
import { jsx as
|
|
20159
|
+
import React18, { useCallback as useCallback26, useContext as useContext18, useMemo as useMemo39, useState as useState45 } from "react";
|
|
20160
|
+
import { jsx as jsx150 } from "react/jsx-runtime";
|
|
19943
20161
|
var RightPaneContext = React18.createContext({
|
|
19944
20162
|
openInPane: () => {
|
|
19945
20163
|
},
|
|
@@ -19953,20 +20171,20 @@ var RightPaneContext = React18.createContext({
|
|
|
19953
20171
|
function RightPaneProvider({ children }) {
|
|
19954
20172
|
const [rightPaneContent, setRightPaneContent] = useState45(void 0);
|
|
19955
20173
|
const [isRightPaneOpen, setIsRightPaneOpen] = useState45(false);
|
|
19956
|
-
const openInPane =
|
|
20174
|
+
const openInPane = useCallback26(
|
|
19957
20175
|
(opts) => {
|
|
19958
20176
|
setRightPaneContent(opts?.content);
|
|
19959
20177
|
setIsRightPaneOpen(true);
|
|
19960
20178
|
},
|
|
19961
20179
|
[setRightPaneContent]
|
|
19962
20180
|
);
|
|
19963
|
-
const closePane =
|
|
19964
|
-
const clearPane =
|
|
20181
|
+
const closePane = useCallback26(() => setIsRightPaneOpen(false), []);
|
|
20182
|
+
const clearPane = useCallback26(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
19965
20183
|
const context = useMemo39(
|
|
19966
20184
|
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
19967
20185
|
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
19968
20186
|
);
|
|
19969
|
-
return /* @__PURE__ */
|
|
20187
|
+
return /* @__PURE__ */ jsx150(RightPaneContext.Provider, { value: context, children });
|
|
19970
20188
|
}
|
|
19971
20189
|
function useRightPaneContext() {
|
|
19972
20190
|
return useContext18(RightPaneContext);
|
|
@@ -19975,9 +20193,9 @@ function useRightPaneContext() {
|
|
|
19975
20193
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
19976
20194
|
import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
|
|
19977
20195
|
import { useEffect as useEffect29 } from "react";
|
|
19978
|
-
import { trussProps as trussProps73, maybeCssVar as
|
|
19979
|
-
import { Fragment as Fragment37, jsx as
|
|
19980
|
-
var
|
|
20196
|
+
import { trussProps as trussProps73, maybeCssVar as maybeCssVar42 } from "@homebound/truss/runtime";
|
|
20197
|
+
import { Fragment as Fragment37, jsx as jsx151, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
20198
|
+
var __maybeInc15 = (inc) => {
|
|
19981
20199
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
19982
20200
|
};
|
|
19983
20201
|
function RightPaneLayout(props) {
|
|
@@ -19994,11 +20212,11 @@ function RightPaneLayout(props) {
|
|
|
19994
20212
|
closePane
|
|
19995
20213
|
} = useRightPaneContext();
|
|
19996
20214
|
useEffect29(() => closePane, [closePane]);
|
|
19997
|
-
return /* @__PURE__ */
|
|
19998
|
-
/* @__PURE__ */
|
|
20215
|
+
return /* @__PURE__ */ jsx151("div", { className: "h100 df oxh", children: /* @__PURE__ */ jsxs76(Fragment37, { children: [
|
|
20216
|
+
/* @__PURE__ */ jsx151("div", { ...trussProps73({
|
|
19999
20217
|
...{
|
|
20000
20218
|
width: ["w_var", {
|
|
20001
|
-
"--width":
|
|
20219
|
+
"--width": maybeCssVar42(__maybeInc15(`calc(100% - ${paneWidth + 24}px)`))
|
|
20002
20220
|
}],
|
|
20003
20221
|
transition: "transition_width_2s_linear",
|
|
20004
20222
|
height: "h100",
|
|
@@ -20014,7 +20232,7 @@ function RightPaneLayout(props) {
|
|
|
20014
20232
|
...{
|
|
20015
20233
|
...!!defaultPaneContent ? {
|
|
20016
20234
|
width: ["w_var", {
|
|
20017
|
-
"--width":
|
|
20235
|
+
"--width": maybeCssVar42(__maybeInc15(`calc(100% - ${paneWidth + 24}px)`))
|
|
20018
20236
|
}],
|
|
20019
20237
|
marginRight: "mr3"
|
|
20020
20238
|
} : {}
|
|
@@ -20028,7 +20246,7 @@ function RightPaneLayout(props) {
|
|
|
20028
20246
|
}]
|
|
20029
20247
|
} : {}
|
|
20030
20248
|
}), children: [
|
|
20031
|
-
defaultPaneContent && /* @__PURE__ */
|
|
20249
|
+
defaultPaneContent && /* @__PURE__ */ jsx151("div", { ...trussProps73({
|
|
20032
20250
|
height: "h100",
|
|
20033
20251
|
width: ["w_var", {
|
|
20034
20252
|
"--width": `${paneWidth}px`
|
|
@@ -20041,14 +20259,14 @@ function RightPaneLayout(props) {
|
|
|
20041
20259
|
left: "left_100"
|
|
20042
20260
|
} : {}
|
|
20043
20261
|
}), children: defaultPaneContent }),
|
|
20044
|
-
/* @__PURE__ */
|
|
20262
|
+
/* @__PURE__ */ jsx151(AnimatePresence3, { children: isRightPaneOpen && /* @__PURE__ */ jsx151(
|
|
20045
20263
|
motion3.div,
|
|
20046
20264
|
{
|
|
20047
20265
|
layout: "position",
|
|
20048
20266
|
"data-testid": "rightPaneContent",
|
|
20049
20267
|
...trussProps73({
|
|
20050
20268
|
backgroundColor: ["bgColor_var", {
|
|
20051
|
-
"--backgroundColor":
|
|
20269
|
+
"--backgroundColor": maybeCssVar42(paneBgColor)
|
|
20052
20270
|
}],
|
|
20053
20271
|
height: "h100",
|
|
20054
20272
|
width: ["w_var", {
|
|
@@ -20093,14 +20311,14 @@ function useRightPane() {
|
|
|
20093
20311
|
|
|
20094
20312
|
// src/components/Layout/ScrollableFooter.tsx
|
|
20095
20313
|
import { createPortal as createPortal5 } from "react-dom";
|
|
20096
|
-
import { Fragment as Fragment38, jsx as
|
|
20314
|
+
import { Fragment as Fragment38, jsx as jsx152 } from "react/jsx-runtime";
|
|
20097
20315
|
function ScrollableFooter(props) {
|
|
20098
20316
|
const { children } = props;
|
|
20099
20317
|
const { footerEl } = useScrollableParent();
|
|
20100
20318
|
if (!footerEl) {
|
|
20101
|
-
return /* @__PURE__ */
|
|
20319
|
+
return /* @__PURE__ */ jsx152(Fragment38, { children });
|
|
20102
20320
|
}
|
|
20103
|
-
return createPortal5(/* @__PURE__ */
|
|
20321
|
+
return createPortal5(/* @__PURE__ */ jsx152(Fragment38, { children }), footerEl);
|
|
20104
20322
|
}
|
|
20105
20323
|
|
|
20106
20324
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
@@ -20108,7 +20326,7 @@ import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-m
|
|
|
20108
20326
|
import { useEffect as useEffect30, useState as useState46 } from "react";
|
|
20109
20327
|
|
|
20110
20328
|
// src/components/Layout/TableReviewLayout/SidePanel.tsx
|
|
20111
|
-
import { jsx as
|
|
20329
|
+
import { jsx as jsx153, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
20112
20330
|
function SidePanel(props) {
|
|
20113
20331
|
const {
|
|
20114
20332
|
title,
|
|
@@ -20119,18 +20337,18 @@ function SidePanel(props) {
|
|
|
20119
20337
|
const tid = useTestIds(props, "sidePanel");
|
|
20120
20338
|
const hasFooter = primaryAction || secondaryAction;
|
|
20121
20339
|
return /* @__PURE__ */ jsxs77("div", { className: "h100 df fdc oh", ...tid, children: [
|
|
20122
|
-
/* @__PURE__ */
|
|
20123
|
-
/* @__PURE__ */
|
|
20340
|
+
/* @__PURE__ */ jsx153("div", { className: "pt3 pb3 pr3 pl3 fs0", ...tid.header, children: /* @__PURE__ */ jsx153("h2", { className: "fw6 fz_20px lh_28px mt0 mb0", ...tid.title, children: title }) }),
|
|
20341
|
+
/* @__PURE__ */ jsx153("div", { className: "fg1 oya mh0", ...tid.body, children: content }),
|
|
20124
20342
|
hasFooter && /* @__PURE__ */ jsxs77("div", { className: "df gap2 jcfe pt3 pb3 pr3 pl3 fs0", ...tid.footer, children: [
|
|
20125
|
-
secondaryAction && /* @__PURE__ */
|
|
20126
|
-
primaryAction && /* @__PURE__ */
|
|
20343
|
+
secondaryAction && /* @__PURE__ */ jsx153(Button, { ...secondaryAction, variant: "secondaryBlack" }),
|
|
20344
|
+
primaryAction && /* @__PURE__ */ jsx153(Button, { ...primaryAction })
|
|
20127
20345
|
] })
|
|
20128
20346
|
] });
|
|
20129
20347
|
}
|
|
20130
20348
|
|
|
20131
20349
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
20132
|
-
import { trussProps as trussProps74, maybeCssVar as
|
|
20133
|
-
import { jsx as
|
|
20350
|
+
import { trussProps as trussProps74, maybeCssVar as maybeCssVar43 } from "@homebound/truss/runtime";
|
|
20351
|
+
import { jsx as jsx154, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
20134
20352
|
var defaultRightPaneWidth = 450;
|
|
20135
20353
|
function TableReviewLayout(props) {
|
|
20136
20354
|
const {
|
|
@@ -20156,17 +20374,17 @@ function TableReviewLayout(props) {
|
|
|
20156
20374
|
let tableContent;
|
|
20157
20375
|
if (isGridTableProps(tableProps)) {
|
|
20158
20376
|
if (emptyState && !tableProps.rows.some((r) => r.kind !== "header")) {
|
|
20159
|
-
tableContent = /* @__PURE__ */
|
|
20377
|
+
tableContent = /* @__PURE__ */ jsx154("div", { className: "h100 df fdc aic jcc", children: emptyState });
|
|
20160
20378
|
} else {
|
|
20161
|
-
tableContent = /* @__PURE__ */
|
|
20379
|
+
tableContent = /* @__PURE__ */ jsx154(GridTable, { ...tableProps, style: {
|
|
20162
20380
|
allWhite: true,
|
|
20163
20381
|
bordered: true
|
|
20164
20382
|
}, stickyHeader: true });
|
|
20165
20383
|
}
|
|
20166
20384
|
} else if (emptyState) {
|
|
20167
|
-
tableContent = /* @__PURE__ */
|
|
20385
|
+
tableContent = /* @__PURE__ */ jsx154("div", { className: "h100 df fdc aic jcc", children: emptyState });
|
|
20168
20386
|
} else {
|
|
20169
|
-
tableContent = /* @__PURE__ */
|
|
20387
|
+
tableContent = /* @__PURE__ */ jsx154(QueryTable, { ...tableProps, style: {
|
|
20170
20388
|
allWhite: true,
|
|
20171
20389
|
bordered: true
|
|
20172
20390
|
}, stickyHeader: true });
|
|
@@ -20178,25 +20396,25 @@ function TableReviewLayout(props) {
|
|
|
20178
20396
|
left: "left0",
|
|
20179
20397
|
right: "right0",
|
|
20180
20398
|
zIndex: ["z_var", {
|
|
20181
|
-
"--zIndex":
|
|
20399
|
+
"--zIndex": maybeCssVar43(zIndices.pageOverlay)
|
|
20182
20400
|
}],
|
|
20183
20401
|
backgroundColor: "bgWhite",
|
|
20184
20402
|
display: "df",
|
|
20185
20403
|
flexDirection: "fdc"
|
|
20186
20404
|
}), ...tid, children: [
|
|
20187
20405
|
/* @__PURE__ */ jsxs78("header", { className: "pl3 pr3 pt3 pb2 fs0", ...tid.header, children: [
|
|
20188
|
-
/* @__PURE__ */
|
|
20406
|
+
/* @__PURE__ */ jsx154(Toast, {}),
|
|
20189
20407
|
/* @__PURE__ */ jsxs78("div", { className: "df jcsb aic", children: [
|
|
20190
20408
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
20191
|
-
breadCrumb && /* @__PURE__ */
|
|
20192
|
-
/* @__PURE__ */
|
|
20409
|
+
breadCrumb && /* @__PURE__ */ jsx154(PageHeaderBreadcrumbs, { breadcrumb: breadCrumb }),
|
|
20410
|
+
/* @__PURE__ */ jsx154("h1", { className: "fw6 fz_30px lh_36px mt1 mb0", ...tid.pageTitle, children: pageTitle })
|
|
20193
20411
|
] }),
|
|
20194
|
-
/* @__PURE__ */
|
|
20412
|
+
/* @__PURE__ */ jsx154(Button, { label: "Close", onClick: closeAction, ...tid.closeButton })
|
|
20195
20413
|
] }),
|
|
20196
|
-
/* @__PURE__ */
|
|
20414
|
+
/* @__PURE__ */ jsx154("div", { className: "fw4 fz_14px lh_20px gray700 mt2", ...tid.description, children: description })
|
|
20197
20415
|
] }),
|
|
20198
20416
|
/* @__PURE__ */ jsxs78("div", { className: "fg1 df mh0", ...tid.content, children: [
|
|
20199
|
-
/* @__PURE__ */
|
|
20417
|
+
/* @__PURE__ */ jsx154("div", { ...trussProps74({
|
|
20200
20418
|
...{
|
|
20201
20419
|
flexGrow: "fg1",
|
|
20202
20420
|
overflowY: "oya",
|
|
@@ -20209,7 +20427,7 @@ function TableReviewLayout(props) {
|
|
|
20209
20427
|
} : {}
|
|
20210
20428
|
}
|
|
20211
20429
|
}), children: tableContent }),
|
|
20212
|
-
/* @__PURE__ */
|
|
20430
|
+
/* @__PURE__ */ jsx154(AnimatePresence4, { children: isPanelVisible && panelContent && /* @__PURE__ */ jsxs78(motion4.div, { initial: {
|
|
20213
20431
|
width: 0
|
|
20214
20432
|
}, animate: {
|
|
20215
20433
|
width: rightPaneWidth
|
|
@@ -20232,17 +20450,17 @@ function TableReviewLayout(props) {
|
|
|
20232
20450
|
}],
|
|
20233
20451
|
zIndex: "z1"
|
|
20234
20452
|
}), children: [
|
|
20235
|
-
/* @__PURE__ */
|
|
20236
|
-
/* @__PURE__ */
|
|
20453
|
+
/* @__PURE__ */ jsx154(IconButton, { bgColor: "rgba(255, 255, 255, 1)" /* White */, variant: "circle", icon: "x", inc: 3.5, onClick: handleClosePanel, ...tid.closePanelButton }),
|
|
20454
|
+
/* @__PURE__ */ jsx154("div", { className: "w_1px bgGray300 vh100" })
|
|
20237
20455
|
] }),
|
|
20238
|
-
/* @__PURE__ */
|
|
20456
|
+
/* @__PURE__ */ jsx154("div", { className: "fg1 oh mh0", children: /* @__PURE__ */ jsx154(SidePanel, { ...panelContent }) })
|
|
20239
20457
|
] }, "panel") })
|
|
20240
20458
|
] })
|
|
20241
20459
|
] });
|
|
20242
20460
|
}
|
|
20243
20461
|
|
|
20244
20462
|
// src/components/BeamContext.tsx
|
|
20245
|
-
import { jsx as
|
|
20463
|
+
import { jsx as jsx155, jsxs as jsxs79 } from "react/jsx-runtime";
|
|
20246
20464
|
var BeamContext = createContext9({
|
|
20247
20465
|
modalState: new EmptyRef(),
|
|
20248
20466
|
modalCanCloseChecks: new EmptyRef(),
|
|
@@ -20256,18 +20474,18 @@ var BeamContext = createContext9({
|
|
|
20256
20474
|
});
|
|
20257
20475
|
function BeamProvider({ children, ...presentationProps }) {
|
|
20258
20476
|
const [, tick] = useReducer((prev) => prev + 1, 0);
|
|
20259
|
-
const modalRef =
|
|
20477
|
+
const modalRef = useRef49();
|
|
20260
20478
|
const modalHeaderDiv = useMemo40(() => document.createElement("div"), []);
|
|
20261
20479
|
const modalBodyDiv = useMemo40(() => {
|
|
20262
20480
|
const el = document.createElement("div");
|
|
20263
20481
|
el.style.height = "100%";
|
|
20264
20482
|
return el;
|
|
20265
20483
|
}, []);
|
|
20266
|
-
const modalCanCloseChecksRef =
|
|
20484
|
+
const modalCanCloseChecksRef = useRef49([]);
|
|
20267
20485
|
const modalFooterDiv = useMemo40(() => document.createElement("div"), []);
|
|
20268
|
-
const drawerContentStackRef =
|
|
20269
|
-
const drawerCanCloseChecks =
|
|
20270
|
-
const drawerCanCloseDetailsChecks =
|
|
20486
|
+
const drawerContentStackRef = useRef49([]);
|
|
20487
|
+
const drawerCanCloseChecks = useRef49([]);
|
|
20488
|
+
const drawerCanCloseDetailsChecks = useRef49([]);
|
|
20271
20489
|
const sdHeaderDiv = useMemo40(() => document.createElement("div"), []);
|
|
20272
20490
|
const context = useMemo40(() => {
|
|
20273
20491
|
return {
|
|
@@ -20284,12 +20502,12 @@ function BeamProvider({ children, ...presentationProps }) {
|
|
|
20284
20502
|
sdHeaderDiv
|
|
20285
20503
|
};
|
|
20286
20504
|
}, [modalBodyDiv, modalFooterDiv, modalHeaderDiv, sdHeaderDiv]);
|
|
20287
|
-
return /* @__PURE__ */
|
|
20505
|
+
return /* @__PURE__ */ jsx155(BeamContext.Provider, { value: { ...context }, children: /* @__PURE__ */ jsx155(PresentationProvider, { ...presentationProps, children: /* @__PURE__ */ jsx155(RightPaneProvider, { children: /* @__PURE__ */ jsx155(AutoSaveStatusProvider, { children: /* @__PURE__ */ jsx155(SnackbarProvider, { children: /* @__PURE__ */ jsxs79(ToastProvider, { children: [
|
|
20288
20506
|
/* @__PURE__ */ jsxs79(OverlayProvider, { children: [
|
|
20289
20507
|
children,
|
|
20290
|
-
modalRef.current && /* @__PURE__ */
|
|
20508
|
+
modalRef.current && /* @__PURE__ */ jsx155(Modal, { ...modalRef.current })
|
|
20291
20509
|
] }),
|
|
20292
|
-
/* @__PURE__ */
|
|
20510
|
+
/* @__PURE__ */ jsx155(SuperDrawer, {})
|
|
20293
20511
|
] }) }) }) }) }) });
|
|
20294
20512
|
}
|
|
20295
20513
|
var PretendRefThatTicks = class {
|
|
@@ -20310,14 +20528,14 @@ function useBeamContext() {
|
|
|
20310
20528
|
}
|
|
20311
20529
|
|
|
20312
20530
|
// src/components/ButtonDatePicker.tsx
|
|
20313
|
-
import { useRef as
|
|
20531
|
+
import { useRef as useRef50 } from "react";
|
|
20314
20532
|
import { useMenuTrigger as useMenuTrigger4 } from "react-aria";
|
|
20315
20533
|
import { useMenuTriggerState as useMenuTriggerState4 } from "react-stately";
|
|
20316
|
-
import { jsx as
|
|
20534
|
+
import { jsx as jsx156 } from "react/jsx-runtime";
|
|
20317
20535
|
function ButtonDatePicker(props) {
|
|
20318
20536
|
const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
|
|
20319
20537
|
const state = useMenuTriggerState4({ isOpen: defaultOpen });
|
|
20320
|
-
const buttonRef =
|
|
20538
|
+
const buttonRef = useRef50(null);
|
|
20321
20539
|
const {
|
|
20322
20540
|
menuTriggerProps,
|
|
20323
20541
|
menuProps: { autoFocus: _af, ...menuProps }
|
|
@@ -20326,7 +20544,7 @@ function ButtonDatePicker(props) {
|
|
|
20326
20544
|
props,
|
|
20327
20545
|
isTextButton(trigger) ? defaultTestId(labelOr(trigger, "buttonDatePicker")) : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
20328
20546
|
);
|
|
20329
|
-
return /* @__PURE__ */
|
|
20547
|
+
return /* @__PURE__ */ jsx156(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ jsx156(DatePickerOverlay, { overlayProps: menuProps, children: /* @__PURE__ */ jsx156(
|
|
20330
20548
|
DatePicker,
|
|
20331
20549
|
{
|
|
20332
20550
|
...datePickerProps,
|
|
@@ -20340,10 +20558,10 @@ function ButtonDatePicker(props) {
|
|
|
20340
20558
|
}
|
|
20341
20559
|
|
|
20342
20560
|
// src/components/ButtonGroup.tsx
|
|
20343
|
-
import { useRef as
|
|
20561
|
+
import { useRef as useRef51 } from "react";
|
|
20344
20562
|
import { useButton as useButton10, useFocusRing as useFocusRing12, useHover as useHover15 } from "react-aria";
|
|
20345
20563
|
import { trussProps as trussProps75 } from "@homebound/truss/runtime";
|
|
20346
|
-
import { jsx as
|
|
20564
|
+
import { jsx as jsx157, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
20347
20565
|
function ButtonGroup(props) {
|
|
20348
20566
|
const {
|
|
20349
20567
|
buttons,
|
|
@@ -20353,7 +20571,7 @@ function ButtonGroup(props) {
|
|
|
20353
20571
|
const tid = useTestIds(props, "buttonGroup");
|
|
20354
20572
|
return (
|
|
20355
20573
|
// Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
|
|
20356
|
-
/* @__PURE__ */
|
|
20574
|
+
/* @__PURE__ */ jsx157("div", { ...tid, ...trussProps75({
|
|
20357
20575
|
...{
|
|
20358
20576
|
display: "df",
|
|
20359
20577
|
lineHeight: "lh_0"
|
|
@@ -20364,7 +20582,7 @@ function ButtonGroup(props) {
|
|
|
20364
20582
|
...buttonProps
|
|
20365
20583
|
}, i) => (
|
|
20366
20584
|
// Disable the button if the ButtonGroup is disabled or if the current button is disabled.
|
|
20367
|
-
/* @__PURE__ */
|
|
20585
|
+
/* @__PURE__ */ jsx157(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, isFirst: i === 0, isLast: i === buttons.length - 1, ...tid }, i)
|
|
20368
20586
|
)) })
|
|
20369
20587
|
);
|
|
20370
20588
|
}
|
|
@@ -20388,7 +20606,7 @@ function GroupButton(props) {
|
|
|
20388
20606
|
isDisabled: !!disabled,
|
|
20389
20607
|
...otherProps
|
|
20390
20608
|
};
|
|
20391
|
-
const ref =
|
|
20609
|
+
const ref = useRef51(null);
|
|
20392
20610
|
const {
|
|
20393
20611
|
buttonProps,
|
|
20394
20612
|
isPressed
|
|
@@ -20402,7 +20620,7 @@ function GroupButton(props) {
|
|
|
20402
20620
|
isHovered
|
|
20403
20621
|
} = useHover15(ariaProps);
|
|
20404
20622
|
const tid = useTestIds(props);
|
|
20405
|
-
return /* @__PURE__ */
|
|
20623
|
+
return /* @__PURE__ */ jsx157("span", { ...trussProps75(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
|
|
20406
20624
|
title: resolveTooltip(disabled, tooltip),
|
|
20407
20625
|
placement: "top",
|
|
20408
20626
|
children: /* @__PURE__ */ jsxs80("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps75({
|
|
@@ -20428,7 +20646,7 @@ function GroupButton(props) {
|
|
|
20428
20646
|
...isPressed ? pressedStyles : isHovered ? hoverStyles3 : {},
|
|
20429
20647
|
...icon ? iconStyles2[size] : {}
|
|
20430
20648
|
}), ...tid[defaultTestId(typeof text === "string" && text || icon || "button")], children: [
|
|
20431
|
-
icon && /* @__PURE__ */
|
|
20649
|
+
icon && /* @__PURE__ */ jsx157(Icon, { xss: {
|
|
20432
20650
|
...!!text ? {
|
|
20433
20651
|
marginRight: "mr_4px"
|
|
20434
20652
|
} : {}
|
|
@@ -20510,10 +20728,10 @@ import { useMemo as useMemo41 } from "react";
|
|
|
20510
20728
|
import { useHover as useHover16 } from "react-aria";
|
|
20511
20729
|
|
|
20512
20730
|
// src/components/Tag.tsx
|
|
20513
|
-
import { useResizeObserver as
|
|
20514
|
-
import { useRef as
|
|
20731
|
+
import { useResizeObserver as useResizeObserver6 } from "@react-aria/utils";
|
|
20732
|
+
import { useRef as useRef52, useState as useState47 } from "react";
|
|
20515
20733
|
import { trussProps as trussProps76 } from "@homebound/truss/runtime";
|
|
20516
|
-
import { jsx as
|
|
20734
|
+
import { jsx as jsx158, jsxs as jsxs81 } from "react/jsx-runtime";
|
|
20517
20735
|
function Tag(props) {
|
|
20518
20736
|
const {
|
|
20519
20737
|
text,
|
|
@@ -20525,8 +20743,8 @@ function Tag(props) {
|
|
|
20525
20743
|
const typeStyles2 = getStyles(type);
|
|
20526
20744
|
const tid = useTestIds(otherProps);
|
|
20527
20745
|
const [showTooltip, setShowTooltip] = useState47(false);
|
|
20528
|
-
const ref =
|
|
20529
|
-
|
|
20746
|
+
const ref = useRef52(null);
|
|
20747
|
+
useResizeObserver6({
|
|
20530
20748
|
ref,
|
|
20531
20749
|
onResize: () => {
|
|
20532
20750
|
if (ref.current) {
|
|
@@ -20555,8 +20773,8 @@ function Tag(props) {
|
|
|
20555
20773
|
...typeStyles2,
|
|
20556
20774
|
...xss
|
|
20557
20775
|
}), children: [
|
|
20558
|
-
otherProps.icon && /* @__PURE__ */
|
|
20559
|
-
/* @__PURE__ */
|
|
20776
|
+
otherProps.icon && /* @__PURE__ */ jsx158("span", { className: "fs0", children: /* @__PURE__ */ jsx158(Icon, { icon: otherProps.icon, inc: 1.5 }) }),
|
|
20777
|
+
/* @__PURE__ */ jsx158("span", { ref, className: "oh d_negwebkit_box wbo_vertical to_ellipsis wlc_1 wbba", children: text })
|
|
20560
20778
|
] })
|
|
20561
20779
|
});
|
|
20562
20780
|
}
|
|
@@ -20586,8 +20804,8 @@ function getStyles(type) {
|
|
|
20586
20804
|
}
|
|
20587
20805
|
|
|
20588
20806
|
// src/components/Card.tsx
|
|
20589
|
-
import { trussProps as trussProps77, maybeCssVar as
|
|
20590
|
-
import { jsx as
|
|
20807
|
+
import { trussProps as trussProps77, maybeCssVar as maybeCssVar44 } from "@homebound/truss/runtime";
|
|
20808
|
+
import { jsx as jsx159, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
20591
20809
|
function Card(props) {
|
|
20592
20810
|
const {
|
|
20593
20811
|
title,
|
|
@@ -20618,7 +20836,7 @@ function Card(props) {
|
|
|
20618
20836
|
...isDisabled && disabledStyles3
|
|
20619
20837
|
}), [isDisabled, isHovered, bordered, type, isList]);
|
|
20620
20838
|
return /* @__PURE__ */ jsxs82("div", { ...trussProps77(styles), ...hoverProps, ...tid, children: [
|
|
20621
|
-
/* @__PURE__ */
|
|
20839
|
+
/* @__PURE__ */ jsx159("div", { ...trussProps77({
|
|
20622
20840
|
...{
|
|
20623
20841
|
height: ["h_var", {
|
|
20624
20842
|
"--height": `${imgHeight}px`
|
|
@@ -20635,14 +20853,14 @@ function Card(props) {
|
|
|
20635
20853
|
filter: "filter_brightness_1"
|
|
20636
20854
|
},
|
|
20637
20855
|
...isHovered && !isList && imageHoverStyles
|
|
20638
|
-
}), children: /* @__PURE__ */
|
|
20856
|
+
}), children: /* @__PURE__ */ jsx159("img", { ...trussProps77({
|
|
20639
20857
|
width: "w100",
|
|
20640
20858
|
height: "h100",
|
|
20641
20859
|
objectFit: ["objectFit_var", {
|
|
20642
|
-
"--objectFit":
|
|
20860
|
+
"--objectFit": maybeCssVar44(imageFit)
|
|
20643
20861
|
}]
|
|
20644
20862
|
}), src: imgSrc, alt: title, ...tid.img }) }),
|
|
20645
|
-
isHovered && buttonMenuItems && /* @__PURE__ */
|
|
20863
|
+
isHovered && buttonMenuItems && /* @__PURE__ */ jsx159("div", { ...trussProps77({
|
|
20646
20864
|
position: "absolute",
|
|
20647
20865
|
right: "right1",
|
|
20648
20866
|
top: "top1",
|
|
@@ -20650,15 +20868,15 @@ function Card(props) {
|
|
|
20650
20868
|
right: "right3",
|
|
20651
20869
|
top: "top3"
|
|
20652
20870
|
} : {}
|
|
20653
|
-
}), children: /* @__PURE__ */
|
|
20871
|
+
}), children: /* @__PURE__ */ jsx159(ButtonMenu, { trigger: {
|
|
20654
20872
|
icon: "verticalDots",
|
|
20655
20873
|
color: isList ? "rgba(100, 100, 100, 1)" /* Gray700 */ : "rgba(255, 255, 255, 1)" /* White */
|
|
20656
20874
|
}, items: buttonMenuItems }) }),
|
|
20657
|
-
tag && /* @__PURE__ */
|
|
20875
|
+
tag && /* @__PURE__ */ jsx159("div", { className: "absolute left1 top_4px", children: /* @__PURE__ */ jsx159(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
|
|
20658
20876
|
/* @__PURE__ */ jsxs82("div", { className: "df fdc aifs gap1", children: [
|
|
20659
20877
|
/* @__PURE__ */ jsxs82("div", { children: [
|
|
20660
|
-
/* @__PURE__ */
|
|
20661
|
-
/* @__PURE__ */
|
|
20878
|
+
/* @__PURE__ */ jsx159("div", { className: "fw6 fz_12px lh_16px gray700", ...tid.subtitle, children: subtitle }),
|
|
20879
|
+
/* @__PURE__ */ jsx159("div", { ...trussProps77({
|
|
20662
20880
|
fontWeight: "fw6",
|
|
20663
20881
|
fontSize: "fz_14px",
|
|
20664
20882
|
lineHeight: "lh_20px",
|
|
@@ -20668,7 +20886,7 @@ function Card(props) {
|
|
|
20668
20886
|
} : {}
|
|
20669
20887
|
}), ...tid.title, children: title })
|
|
20670
20888
|
] }),
|
|
20671
|
-
/* @__PURE__ */
|
|
20889
|
+
/* @__PURE__ */ jsx159("div", { ...tid.details, children: detailContent })
|
|
20672
20890
|
] })
|
|
20673
20891
|
] });
|
|
20674
20892
|
}
|
|
@@ -20717,9 +20935,9 @@ var imageHoverStyles = {
|
|
|
20717
20935
|
|
|
20718
20936
|
// src/components/Copy.tsx
|
|
20719
20937
|
import { mergeProps as mergeProps23 } from "@homebound/truss/runtime";
|
|
20720
|
-
import { jsx as
|
|
20938
|
+
import { jsx as jsx160 } from "react/jsx-runtime";
|
|
20721
20939
|
function Copy(props) {
|
|
20722
|
-
return /* @__PURE__ */
|
|
20940
|
+
return /* @__PURE__ */ jsx160("div", { ...mergeProps23("beam-copy", void 0, {
|
|
20723
20941
|
...{
|
|
20724
20942
|
fontWeight: "fw4",
|
|
20725
20943
|
fontSize: "fz_14px",
|
|
@@ -20734,7 +20952,7 @@ function Copy(props) {
|
|
|
20734
20952
|
|
|
20735
20953
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
20736
20954
|
import equal2 from "fast-deep-equal";
|
|
20737
|
-
import { useCallback as
|
|
20955
|
+
import { useCallback as useCallback27, useRef as useRef53 } from "react";
|
|
20738
20956
|
|
|
20739
20957
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
20740
20958
|
import { createContext as createContext10, useContext as useContext20 } from "react";
|
|
@@ -20749,7 +20967,7 @@ function useDnDGridContext() {
|
|
|
20749
20967
|
|
|
20750
20968
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
20751
20969
|
import { trussProps as trussProps78 } from "@homebound/truss/runtime";
|
|
20752
|
-
import { jsx as
|
|
20970
|
+
import { jsx as jsx161 } from "react/jsx-runtime";
|
|
20753
20971
|
function DnDGrid(props) {
|
|
20754
20972
|
const {
|
|
20755
20973
|
children,
|
|
@@ -20757,12 +20975,12 @@ function DnDGrid(props) {
|
|
|
20757
20975
|
onReorder,
|
|
20758
20976
|
activeItemStyles
|
|
20759
20977
|
} = props;
|
|
20760
|
-
const gridEl =
|
|
20761
|
-
const dragEl =
|
|
20762
|
-
const cloneEl =
|
|
20763
|
-
const initialOrder =
|
|
20764
|
-
const reorderViaKeyboard =
|
|
20765
|
-
const transformFrom =
|
|
20978
|
+
const gridEl = useRef53(null);
|
|
20979
|
+
const dragEl = useRef53();
|
|
20980
|
+
const cloneEl = useRef53();
|
|
20981
|
+
const initialOrder = useRef53();
|
|
20982
|
+
const reorderViaKeyboard = useRef53(false);
|
|
20983
|
+
const transformFrom = useRef53({
|
|
20766
20984
|
x: 0,
|
|
20767
20985
|
y: 0
|
|
20768
20986
|
});
|
|
@@ -20770,19 +20988,19 @@ function DnDGrid(props) {
|
|
|
20770
20988
|
const activeStyles3 = activeItemStyles ?? {
|
|
20771
20989
|
boxShadow: "bshModal"
|
|
20772
20990
|
};
|
|
20773
|
-
const getGridItems =
|
|
20991
|
+
const getGridItems = useCallback27(() => {
|
|
20774
20992
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
20775
20993
|
}, []);
|
|
20776
|
-
const getGridItemIdOrder =
|
|
20994
|
+
const getGridItemIdOrder = useCallback27(() => {
|
|
20777
20995
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
20778
20996
|
}, [getGridItems]);
|
|
20779
|
-
const initReorder =
|
|
20997
|
+
const initReorder = useCallback27(() => {
|
|
20780
20998
|
if (gridEl.current && dragEl.current) {
|
|
20781
20999
|
initialOrder.current = getGridItemIdOrder();
|
|
20782
21000
|
setInlineStyles(dragEl.current, activeStyles3);
|
|
20783
21001
|
}
|
|
20784
21002
|
}, [getGridItemIdOrder, activeStyles3]);
|
|
20785
|
-
const commitReorder =
|
|
21003
|
+
const commitReorder = useCallback27(() => {
|
|
20786
21004
|
if (gridEl.current && dragEl.current) {
|
|
20787
21005
|
const currentOrder = getGridItemIdOrder();
|
|
20788
21006
|
if (!equal2(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -20792,7 +21010,7 @@ function DnDGrid(props) {
|
|
|
20792
21010
|
initialOrder.current = currentOrder;
|
|
20793
21011
|
}
|
|
20794
21012
|
}, [onReorder, getGridItemIdOrder, activeStyles3]);
|
|
20795
|
-
const cancelReorder =
|
|
21013
|
+
const cancelReorder = useCallback27(() => {
|
|
20796
21014
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
20797
21015
|
const currentOrder = getGridItemIdOrder();
|
|
20798
21016
|
if (!equal2(currentOrder, initialOrder.current)) {
|
|
@@ -20814,7 +21032,7 @@ function DnDGrid(props) {
|
|
|
20814
21032
|
reorderViaKeyboard.current = false;
|
|
20815
21033
|
}
|
|
20816
21034
|
}, [getGridItemIdOrder, getGridItems, activeStyles3]);
|
|
20817
|
-
const onMove =
|
|
21035
|
+
const onMove = useCallback27((e) => {
|
|
20818
21036
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
20819
21037
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
20820
21038
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -20837,7 +21055,7 @@ function DnDGrid(props) {
|
|
|
20837
21055
|
}
|
|
20838
21056
|
}
|
|
20839
21057
|
}, []);
|
|
20840
|
-
const onDragStart =
|
|
21058
|
+
const onDragStart = useCallback27((e) => {
|
|
20841
21059
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
20842
21060
|
initReorder();
|
|
20843
21061
|
const rect = dragEl.current.getBoundingClientRect();
|
|
@@ -20867,7 +21085,7 @@ function DnDGrid(props) {
|
|
|
20867
21085
|
gridEl.current.addEventListener("touchmove", onMove);
|
|
20868
21086
|
}
|
|
20869
21087
|
}, [initReorder, onMove, activeStyles3]);
|
|
20870
|
-
const onDragEnd =
|
|
21088
|
+
const onDragEnd = useCallback27((e) => {
|
|
20871
21089
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
20872
21090
|
e.preventDefault();
|
|
20873
21091
|
cloneEl.current.replaceWith(dragEl.current);
|
|
@@ -20880,7 +21098,7 @@ function DnDGrid(props) {
|
|
|
20880
21098
|
gridEl.current.removeEventListener("touchmove", onMove);
|
|
20881
21099
|
}
|
|
20882
21100
|
}, [commitReorder, onMove]);
|
|
20883
|
-
const onDragHandleKeyDown =
|
|
21101
|
+
const onDragHandleKeyDown = useCallback27((e) => {
|
|
20884
21102
|
const moveHandle = e.target;
|
|
20885
21103
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
20886
21104
|
const isSpaceKey = e.key === " ";
|
|
@@ -20928,10 +21146,10 @@ function DnDGrid(props) {
|
|
|
20928
21146
|
}
|
|
20929
21147
|
}
|
|
20930
21148
|
}, [cancelReorder, commitReorder, initReorder, getGridItems]);
|
|
20931
|
-
return /* @__PURE__ */
|
|
21149
|
+
return /* @__PURE__ */ jsx161(DnDGridContext.Provider, { value: {
|
|
20932
21150
|
dragEl,
|
|
20933
21151
|
onDragHandleKeyDown
|
|
20934
|
-
}, children: /* @__PURE__ */
|
|
21152
|
+
}, children: /* @__PURE__ */ jsx161("div", { ref: gridEl, ...trussProps78({
|
|
20935
21153
|
...{
|
|
20936
21154
|
containerType: "ctis",
|
|
20937
21155
|
display: "dg"
|
|
@@ -20945,7 +21163,7 @@ var gridCloneKey = "dndgrid-clone";
|
|
|
20945
21163
|
// src/components/DnDGrid/DnDGridItemHandle.tsx
|
|
20946
21164
|
import { mergeProps as mergeProps24, useFocusRing as useFocusRing13, useHover as useHover17 } from "react-aria";
|
|
20947
21165
|
import { trussProps as trussProps79 } from "@homebound/truss/runtime";
|
|
20948
|
-
import { jsx as
|
|
21166
|
+
import { jsx as jsx162 } from "react/jsx-runtime";
|
|
20949
21167
|
function DnDGridItemHandle(props) {
|
|
20950
21168
|
const {
|
|
20951
21169
|
dragHandleProps,
|
|
@@ -20974,7 +21192,7 @@ function DnDGridItemHandle(props) {
|
|
|
20974
21192
|
borderRadius: "br4",
|
|
20975
21193
|
borderWidth: "bw1"
|
|
20976
21194
|
};
|
|
20977
|
-
return /* @__PURE__ */
|
|
21195
|
+
return /* @__PURE__ */ jsx162("button", { ...trussProps79({
|
|
20978
21196
|
...compact ? iconButtonCompact2 : iconButtonNormal2,
|
|
20979
21197
|
...{
|
|
20980
21198
|
cursor: "cursor_grab",
|
|
@@ -20993,7 +21211,7 @@ function DnDGridItemHandle(props) {
|
|
|
20993
21211
|
...isHovered && {
|
|
20994
21212
|
backgroundColor: "bgGray200"
|
|
20995
21213
|
}
|
|
20996
|
-
}), ...mergeProps24(dragHandleProps, focusProps, hoverProps), ...tid, children: /* @__PURE__ */
|
|
21214
|
+
}), ...mergeProps24(dragHandleProps, focusProps, hoverProps), ...tid, children: /* @__PURE__ */ jsx162(Icon, { icon, inc: compact ? 2 : void 0, color }) });
|
|
20997
21215
|
}
|
|
20998
21216
|
|
|
20999
21217
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
@@ -21037,7 +21255,7 @@ var ResponsiveGridContext = createContext11(void 0);
|
|
|
21037
21255
|
|
|
21038
21256
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
21039
21257
|
import { trussProps as trussProps80 } from "@homebound/truss/runtime";
|
|
21040
|
-
import { jsx as
|
|
21258
|
+
import { jsx as jsx163 } from "react/jsx-runtime";
|
|
21041
21259
|
function ResponsiveGrid(props) {
|
|
21042
21260
|
const {
|
|
21043
21261
|
children,
|
|
@@ -21057,13 +21275,13 @@ function ResponsiveGrid(props) {
|
|
|
21057
21275
|
gap,
|
|
21058
21276
|
columns
|
|
21059
21277
|
}), [minColumnWidth, gap, columns]);
|
|
21060
|
-
return /* @__PURE__ */
|
|
21278
|
+
return /* @__PURE__ */ jsx163(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx163("div", { ...trussProps80(gridStyles), children }) });
|
|
21061
21279
|
}
|
|
21062
21280
|
|
|
21063
21281
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
21064
21282
|
import { mergeProps as mergeProps25 } from "react-aria";
|
|
21065
21283
|
import { trussProps as trussProps81 } from "@homebound/truss/runtime";
|
|
21066
|
-
import { jsx as
|
|
21284
|
+
import { jsx as jsx164 } from "react/jsx-runtime";
|
|
21067
21285
|
function ResponsiveGridItem(props) {
|
|
21068
21286
|
const {
|
|
21069
21287
|
colSpan,
|
|
@@ -21075,13 +21293,13 @@ function ResponsiveGridItem(props) {
|
|
|
21075
21293
|
} = useResponsiveGridItem({
|
|
21076
21294
|
colSpan
|
|
21077
21295
|
});
|
|
21078
|
-
return /* @__PURE__ */
|
|
21296
|
+
return /* @__PURE__ */ jsx164("div", { ...mergeProps25(gridItemProps, trussProps81(gridItemStyles)), children });
|
|
21079
21297
|
}
|
|
21080
21298
|
|
|
21081
21299
|
// src/components/Grid/useResponsiveGrid.ts
|
|
21082
21300
|
import { useMemo as useMemo44 } from "react";
|
|
21083
|
-
import { maybeCssVar as
|
|
21084
|
-
var
|
|
21301
|
+
import { maybeCssVar as maybeCssVar45 } from "@homebound/truss/runtime";
|
|
21302
|
+
var __maybeInc16 = (inc) => {
|
|
21085
21303
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
21086
21304
|
};
|
|
21087
21305
|
function useResponsiveGrid(props) {
|
|
@@ -21099,11 +21317,11 @@ function useResponsiveGrid(props) {
|
|
|
21099
21317
|
return {
|
|
21100
21318
|
display: "dg",
|
|
21101
21319
|
gridTemplateColumns: ["gtc_var", {
|
|
21102
|
-
"--gridTemplateColumns":
|
|
21320
|
+
"--gridTemplateColumns": maybeCssVar45(gridTemplateColumns)
|
|
21103
21321
|
}],
|
|
21104
21322
|
containerType: "ctis",
|
|
21105
21323
|
gap: ["gap_var", {
|
|
21106
|
-
"--gap":
|
|
21324
|
+
"--gap": maybeCssVar45(__maybeInc16(gridGap))
|
|
21107
21325
|
}]
|
|
21108
21326
|
};
|
|
21109
21327
|
}, [minColumnWidth, gap, columns]);
|
|
@@ -21171,7 +21389,7 @@ import React22, { useContext as useContext22, useMemo as useMemo46 } from "react
|
|
|
21171
21389
|
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";
|
|
21172
21390
|
|
|
21173
21391
|
// src/components/HbLoadingSpinner.tsx
|
|
21174
|
-
import { jsx as
|
|
21392
|
+
import { jsx as jsx165, jsxs as jsxs83 } from "react/jsx-runtime";
|
|
21175
21393
|
function HbLoadingSpinner({
|
|
21176
21394
|
noQuips,
|
|
21177
21395
|
extraQuips = [],
|
|
@@ -21187,7 +21405,7 @@ function HbLoadingSpinner({
|
|
|
21187
21405
|
return allQuips[Math.floor(Math.random() * allQuips.length)];
|
|
21188
21406
|
}, [ctx.noQuips, ctx.quips, extraQuips, extraQuipsOnly, noQuips]);
|
|
21189
21407
|
return /* @__PURE__ */ jsxs83("div", { className: "df fdc jcc aic", ...tid, children: [
|
|
21190
|
-
/* @__PURE__ */
|
|
21408
|
+
/* @__PURE__ */ jsx165(
|
|
21191
21409
|
"img",
|
|
21192
21410
|
{
|
|
21193
21411
|
src: HbLoadingSpinner_base64_default,
|
|
@@ -21197,7 +21415,7 @@ function HbLoadingSpinner({
|
|
|
21197
21415
|
...tid.gif
|
|
21198
21416
|
}
|
|
21199
21417
|
),
|
|
21200
|
-
!iconOnly && /* @__PURE__ */
|
|
21418
|
+
!iconOnly && /* @__PURE__ */ jsx165(
|
|
21201
21419
|
"div",
|
|
21202
21420
|
{
|
|
21203
21421
|
"data-chromatic": "ignore",
|
|
@@ -21222,13 +21440,13 @@ function HbSpinnerProvider({
|
|
|
21222
21440
|
quips,
|
|
21223
21441
|
noQuips: quips.length === 0
|
|
21224
21442
|
}), [quips]);
|
|
21225
|
-
return /* @__PURE__ */
|
|
21443
|
+
return /* @__PURE__ */ jsx165(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
21226
21444
|
}
|
|
21227
21445
|
|
|
21228
21446
|
// src/components/HomeboundLogo.tsx
|
|
21229
|
-
import { trussProps as trussProps82, maybeCssVar as
|
|
21230
|
-
import { jsx as
|
|
21231
|
-
var
|
|
21447
|
+
import { trussProps as trussProps82, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
|
|
21448
|
+
import { jsx as jsx166 } from "react/jsx-runtime";
|
|
21449
|
+
var __maybeInc17 = (inc) => {
|
|
21232
21450
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
21233
21451
|
};
|
|
21234
21452
|
function HomeboundLogo(props) {
|
|
@@ -21237,51 +21455,51 @@ function HomeboundLogo(props) {
|
|
|
21237
21455
|
width: width2 = "auto",
|
|
21238
21456
|
height = "auto"
|
|
21239
21457
|
} = props;
|
|
21240
|
-
return /* @__PURE__ */
|
|
21458
|
+
return /* @__PURE__ */ jsx166("svg", { viewBox: "0 0 158.1 97.6", xmlns: "http://www.w3.org/2000/svg", ...trussProps82({
|
|
21241
21459
|
fill: ["fill_var", {
|
|
21242
|
-
"--fill":
|
|
21460
|
+
"--fill": maybeCssVar46(fill)
|
|
21243
21461
|
}],
|
|
21244
21462
|
width: ["w_var", {
|
|
21245
|
-
"--width":
|
|
21463
|
+
"--width": maybeCssVar46(__maybeInc17(width2))
|
|
21246
21464
|
}],
|
|
21247
21465
|
height: ["h_var", {
|
|
21248
|
-
"--height":
|
|
21466
|
+
"--height": maybeCssVar46(__maybeInc17(height))
|
|
21249
21467
|
}]
|
|
21250
|
-
}), children: /* @__PURE__ */
|
|
21468
|
+
}), children: /* @__PURE__ */ jsx166("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" }) });
|
|
21251
21469
|
}
|
|
21252
21470
|
|
|
21253
21471
|
// src/components/MaxLines.tsx
|
|
21254
|
-
import { useLayoutEffect as
|
|
21255
|
-
import { useCallback as
|
|
21256
|
-
import { trussProps as trussProps83, maybeCssVar as
|
|
21257
|
-
import { jsx as
|
|
21472
|
+
import { useLayoutEffect as useLayoutEffect5, useResizeObserver as useResizeObserver7 } from "@react-aria/utils";
|
|
21473
|
+
import { useCallback as useCallback28, useEffect as useEffect32, useRef as useRef54, useState as useState48 } from "react";
|
|
21474
|
+
import { trussProps as trussProps83, maybeCssVar as maybeCssVar47 } from "@homebound/truss/runtime";
|
|
21475
|
+
import { jsx as jsx167, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
21258
21476
|
function MaxLines({
|
|
21259
21477
|
maxLines,
|
|
21260
21478
|
children
|
|
21261
21479
|
}) {
|
|
21262
|
-
const elRef =
|
|
21480
|
+
const elRef = useRef54(null);
|
|
21263
21481
|
const [hasMore, setHasMore] = useState48(false);
|
|
21264
21482
|
const [expanded, setExpanded] = useState48(false);
|
|
21265
|
-
|
|
21483
|
+
useLayoutEffect5(() => {
|
|
21266
21484
|
if (!elRef.current) return;
|
|
21267
21485
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
21268
21486
|
}, []);
|
|
21269
21487
|
useEffect32(() => {
|
|
21270
21488
|
setExpanded(false);
|
|
21271
21489
|
}, [children]);
|
|
21272
|
-
const onResize =
|
|
21490
|
+
const onResize = useCallback28(() => {
|
|
21273
21491
|
if (!elRef.current) return;
|
|
21274
21492
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
21275
21493
|
}, [expanded]);
|
|
21276
|
-
|
|
21494
|
+
useResizeObserver7({
|
|
21277
21495
|
ref: elRef,
|
|
21278
21496
|
onResize
|
|
21279
21497
|
});
|
|
21280
21498
|
return /* @__PURE__ */ jsxs84("div", { children: [
|
|
21281
|
-
/* @__PURE__ */
|
|
21499
|
+
/* @__PURE__ */ jsx167("div", { ref: elRef, ...trussProps83({
|
|
21282
21500
|
...!expanded ? {
|
|
21283
21501
|
WebkitLineClamp: ["lineClamp_var", {
|
|
21284
|
-
"--WebkitLineClamp":
|
|
21502
|
+
"--WebkitLineClamp": maybeCssVar47(maxLines)
|
|
21285
21503
|
}],
|
|
21286
21504
|
overflow: "oh",
|
|
21287
21505
|
display: "d_negwebkit_box",
|
|
@@ -21289,7 +21507,7 @@ function MaxLines({
|
|
|
21289
21507
|
textOverflow: "to_ellipsis"
|
|
21290
21508
|
} : {}
|
|
21291
21509
|
}), children }),
|
|
21292
|
-
hasMore && /* @__PURE__ */
|
|
21510
|
+
hasMore && /* @__PURE__ */ jsx167("button", { className: "db fw4 fz_14px lh_20px", onClick: () => setExpanded((prev) => !prev), children: expanded ? "Show Less" : "Show More" })
|
|
21293
21511
|
] });
|
|
21294
21512
|
}
|
|
21295
21513
|
|
|
@@ -21297,15 +21515,15 @@ function MaxLines({
|
|
|
21297
21515
|
import { camelCase as camelCase6 } from "change-case";
|
|
21298
21516
|
|
|
21299
21517
|
// src/components/AppNav/AppNavGroup.tsx
|
|
21300
|
-
import { useResizeObserver as
|
|
21518
|
+
import { useResizeObserver as useResizeObserver8 } from "@react-aria/utils";
|
|
21301
21519
|
import { camelCase as camelCase5, kebabCase } from "change-case";
|
|
21302
|
-
import { useCallback as
|
|
21520
|
+
import { useCallback as useCallback30, useEffect as useEffect33, useMemo as useMemo48, useState as useState50 } from "react";
|
|
21303
21521
|
|
|
21304
21522
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
21305
|
-
import { useMemo as useMemo47, useRef as
|
|
21523
|
+
import { useMemo as useMemo47, useRef as useRef55 } from "react";
|
|
21306
21524
|
import { mergeProps as mergeProps26, useButton as useButton11, useFocusRing as useFocusRing14, useHover as useHover18 } from "react-aria";
|
|
21307
21525
|
import { trussProps as trussProps84, mergeProps as mergeProps_14 } from "@homebound/truss/runtime";
|
|
21308
|
-
import { jsx as
|
|
21526
|
+
import { jsx as jsx168, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
21309
21527
|
function AppNavGroupTrigger(props) {
|
|
21310
21528
|
const {
|
|
21311
21529
|
label,
|
|
@@ -21314,7 +21532,7 @@ function AppNavGroupTrigger(props) {
|
|
|
21314
21532
|
onClick
|
|
21315
21533
|
} = props;
|
|
21316
21534
|
const tid = useTestIds(props, "trigger");
|
|
21317
|
-
const ref =
|
|
21535
|
+
const ref = useRef55(null);
|
|
21318
21536
|
const {
|
|
21319
21537
|
buttonProps,
|
|
21320
21538
|
isPressed
|
|
@@ -21348,7 +21566,7 @@ function AppNavGroupTrigger(props) {
|
|
|
21348
21566
|
})
|
|
21349
21567
|
}), children: [
|
|
21350
21568
|
label,
|
|
21351
|
-
/* @__PURE__ */
|
|
21569
|
+
/* @__PURE__ */ jsx168("span", { ...trussProps84({
|
|
21352
21570
|
...{
|
|
21353
21571
|
display: "df",
|
|
21354
21572
|
alignItems: "aic",
|
|
@@ -21358,7 +21576,7 @@ function AppNavGroupTrigger(props) {
|
|
|
21358
21576
|
...props.expanded ? {
|
|
21359
21577
|
transform: "transform_rotate_180deg"
|
|
21360
21578
|
} : {}
|
|
21361
|
-
}), children: /* @__PURE__ */
|
|
21579
|
+
}), children: /* @__PURE__ */ jsx168(Icon, { icon: "chevronDown" }) })
|
|
21362
21580
|
] });
|
|
21363
21581
|
}
|
|
21364
21582
|
|
|
@@ -21467,7 +21685,7 @@ function entryHasIcons(item) {
|
|
|
21467
21685
|
}
|
|
21468
21686
|
|
|
21469
21687
|
// src/components/AppNav/useAppNavGroupExpanded.ts
|
|
21470
|
-
import { useCallback as
|
|
21688
|
+
import { useCallback as useCallback29, useState as useState49 } from "react";
|
|
21471
21689
|
var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
|
|
21472
21690
|
function loadStored() {
|
|
21473
21691
|
try {
|
|
@@ -21492,7 +21710,7 @@ function useAppNavGroupExpanded(linkGroup) {
|
|
|
21492
21710
|
});
|
|
21493
21711
|
const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
|
|
21494
21712
|
const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
|
|
21495
|
-
const onToggle =
|
|
21713
|
+
const onToggle = useCallback29(() => {
|
|
21496
21714
|
const next = !expanded;
|
|
21497
21715
|
setUserExpanded(next);
|
|
21498
21716
|
persistLabel(label, next);
|
|
@@ -21501,9 +21719,9 @@ function useAppNavGroupExpanded(linkGroup) {
|
|
|
21501
21719
|
}
|
|
21502
21720
|
|
|
21503
21721
|
// src/components/AppNav/AppNavGroup.tsx
|
|
21504
|
-
import { trussProps as trussProps85, maybeCssVar as
|
|
21505
|
-
import { Fragment as Fragment39, jsx as
|
|
21506
|
-
var
|
|
21722
|
+
import { trussProps as trussProps85, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
|
|
21723
|
+
import { Fragment as Fragment39, jsx as jsx169, jsxs as jsxs86 } from "react/jsx-runtime";
|
|
21724
|
+
var __maybeInc18 = (inc) => {
|
|
21507
21725
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
21508
21726
|
};
|
|
21509
21727
|
function AppNavGroupView(props) {
|
|
@@ -21513,9 +21731,9 @@ function AppNavGroupView(props) {
|
|
|
21513
21731
|
} = props;
|
|
21514
21732
|
const tid = useTestIds(props, "linkGroup");
|
|
21515
21733
|
if (panelCollapsed) {
|
|
21516
|
-
return /* @__PURE__ */
|
|
21734
|
+
return /* @__PURE__ */ jsx169(Fragment39, { children: appNavLinkGroupLinks(linkGroup).map((link) => /* @__PURE__ */ jsx169(NavLink, { variant: "side", ...link, iconOnly: !!link.icon, ...tid[`link_${camelCase5(link.label)}`] }, link.label)) });
|
|
21517
21735
|
}
|
|
21518
|
-
return /* @__PURE__ */
|
|
21736
|
+
return /* @__PURE__ */ jsx169(AppNavGroupDisclosure, { ...props });
|
|
21519
21737
|
}
|
|
21520
21738
|
function AppNavGroupDisclosure(props) {
|
|
21521
21739
|
const {
|
|
@@ -21535,34 +21753,34 @@ function AppNavGroupDisclosure(props) {
|
|
|
21535
21753
|
useEffect33(() => {
|
|
21536
21754
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
21537
21755
|
}, [expanded, contentEl]);
|
|
21538
|
-
const onResize =
|
|
21756
|
+
const onResize = useCallback30(() => {
|
|
21539
21757
|
if (contentEl && expanded) {
|
|
21540
21758
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
21541
21759
|
}
|
|
21542
21760
|
}, [expanded, contentEl]);
|
|
21543
|
-
|
|
21761
|
+
useResizeObserver8({
|
|
21544
21762
|
ref: contentRef,
|
|
21545
21763
|
onResize
|
|
21546
21764
|
});
|
|
21547
21765
|
return /* @__PURE__ */ jsxs86("div", { className: "df fdc", ...tid, children: [
|
|
21548
|
-
/* @__PURE__ */
|
|
21549
|
-
/* @__PURE__ */
|
|
21766
|
+
/* @__PURE__ */ jsx169(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, onClick: onToggle, ...tid }),
|
|
21767
|
+
/* @__PURE__ */ jsx169("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...trussProps85({
|
|
21550
21768
|
overflow: "oh",
|
|
21551
21769
|
transition: "transitionHeight",
|
|
21552
21770
|
height: ["h_var", {
|
|
21553
|
-
"--height":
|
|
21771
|
+
"--height": maybeCssVar48(__maybeInc18(contentHeight))
|
|
21554
21772
|
}]
|
|
21555
|
-
}), ...tid.panel, children: /* @__PURE__ */
|
|
21773
|
+
}), ...tid.panel, children: /* @__PURE__ */ jsx169("div", { ref: setContentEl, className: "df fdc pl2", children: /* @__PURE__ */ jsx169(AppNavItems, { items: linkGroup.items, panelCollapsed: false, ...tid }) }) })
|
|
21556
21774
|
] });
|
|
21557
21775
|
}
|
|
21558
21776
|
|
|
21559
21777
|
// src/components/AppNav/AppNavGroupMenu.tsx
|
|
21560
|
-
import { jsx as
|
|
21778
|
+
import { jsx as jsx170 } from "react/jsx-runtime";
|
|
21561
21779
|
function AppNavGroupMenu({
|
|
21562
21780
|
linkGroup,
|
|
21563
21781
|
...tid
|
|
21564
21782
|
}) {
|
|
21565
|
-
return /* @__PURE__ */
|
|
21783
|
+
return /* @__PURE__ */ jsx170(
|
|
21566
21784
|
ButtonMenu,
|
|
21567
21785
|
{
|
|
21568
21786
|
trigger: {
|
|
@@ -21579,7 +21797,7 @@ function AppNavGroupMenu({
|
|
|
21579
21797
|
|
|
21580
21798
|
// src/components/AppNav/AppNavSectionView.tsx
|
|
21581
21799
|
import { trussProps as trussProps86 } from "@homebound/truss/runtime";
|
|
21582
|
-
import { jsx as
|
|
21800
|
+
import { jsx as jsx171, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
21583
21801
|
function AppNavSectionView(props) {
|
|
21584
21802
|
const {
|
|
21585
21803
|
section,
|
|
@@ -21612,7 +21830,7 @@ function AppNavSectionView(props) {
|
|
|
21612
21830
|
},
|
|
21613
21831
|
...showDivider ? dividerStyles : {}
|
|
21614
21832
|
}), ...tid, children: [
|
|
21615
|
-
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */
|
|
21833
|
+
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx171("div", { ...trussProps86({
|
|
21616
21834
|
fontWeight: "fw6",
|
|
21617
21835
|
fontSize: "fz_10px",
|
|
21618
21836
|
lineHeight: "lh_14px",
|
|
@@ -21624,18 +21842,18 @@ function AppNavSectionView(props) {
|
|
|
21624
21842
|
paddingBottom: "pb1",
|
|
21625
21843
|
textTransform: "ttu"
|
|
21626
21844
|
}), ...tid.label, children: section.label }),
|
|
21627
|
-
/* @__PURE__ */
|
|
21845
|
+
/* @__PURE__ */ jsx171(AppNavItems, { ...scopeProps, items: section.items, variant, panelCollapsed })
|
|
21628
21846
|
] });
|
|
21629
21847
|
}
|
|
21630
21848
|
|
|
21631
21849
|
// src/components/AppNav/AppNavItems.tsx
|
|
21632
|
-
import { Fragment as Fragment40, jsx as
|
|
21850
|
+
import { Fragment as Fragment40, jsx as jsx172 } from "react/jsx-runtime";
|
|
21633
21851
|
function AppNavItems(props) {
|
|
21634
21852
|
const { items, variant = "side", panelCollapsed = false } = props;
|
|
21635
21853
|
const tid = useTestIds(props, "appNav");
|
|
21636
|
-
return /* @__PURE__ */
|
|
21854
|
+
return /* @__PURE__ */ jsx172(Fragment40, { children: items.map((item, idx) => {
|
|
21637
21855
|
if (isAppNavLink(item)) {
|
|
21638
|
-
return /* @__PURE__ */
|
|
21856
|
+
return /* @__PURE__ */ jsx172(
|
|
21639
21857
|
NavLink,
|
|
21640
21858
|
{
|
|
21641
21859
|
variant,
|
|
@@ -21647,7 +21865,7 @@ function AppNavItems(props) {
|
|
|
21647
21865
|
);
|
|
21648
21866
|
}
|
|
21649
21867
|
if (isAppNavGroup(item)) {
|
|
21650
|
-
return variant === "global" ? /* @__PURE__ */
|
|
21868
|
+
return variant === "global" ? /* @__PURE__ */ jsx172(AppNavGroupMenu, { linkGroup: item, ...tid.linkGroup }, appNavItemKey(item)) : /* @__PURE__ */ jsx172(
|
|
21651
21869
|
AppNavGroupView,
|
|
21652
21870
|
{
|
|
21653
21871
|
linkGroup: item,
|
|
@@ -21658,7 +21876,7 @@ function AppNavItems(props) {
|
|
|
21658
21876
|
);
|
|
21659
21877
|
}
|
|
21660
21878
|
if (isAppNavSection(item)) {
|
|
21661
|
-
return /* @__PURE__ */
|
|
21879
|
+
return /* @__PURE__ */ jsx172(
|
|
21662
21880
|
AppNavSectionView,
|
|
21663
21881
|
{
|
|
21664
21882
|
section: item,
|
|
@@ -21680,8 +21898,8 @@ import { useEffect as useEffect34, useState as useState51 } from "react";
|
|
|
21680
21898
|
import { FocusScope as FocusScope5, usePreventScroll as usePreventScroll2 } from "react-aria";
|
|
21681
21899
|
import { createPortal as createPortal6 } from "react-dom";
|
|
21682
21900
|
import { useLocation } from "react-router-dom";
|
|
21683
|
-
import { trussProps as trussProps87, maybeCssVar as
|
|
21684
|
-
import { Fragment as Fragment41, jsx as
|
|
21901
|
+
import { trussProps as trussProps87, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
|
|
21902
|
+
import { Fragment as Fragment41, jsx as jsx173, jsxs as jsxs88 } from "react/jsx-runtime";
|
|
21685
21903
|
function NavbarMobileMenu(props) {
|
|
21686
21904
|
const {
|
|
21687
21905
|
items
|
|
@@ -21700,8 +21918,8 @@ function NavbarMobileMenu(props) {
|
|
|
21700
21918
|
}, [pathname, search]);
|
|
21701
21919
|
const close = () => setIsOpen(false);
|
|
21702
21920
|
return /* @__PURE__ */ jsxs88(Fragment41, { children: [
|
|
21703
|
-
/* @__PURE__ */
|
|
21704
|
-
createPortal6(/* @__PURE__ */
|
|
21921
|
+
/* @__PURE__ */ jsx173(IconButton, { icon: isOpen ? "menuClose" : "menu", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: isOpen ? "Close navigation" : "Open navigation", onClick: () => setIsOpen((open) => !open), ...tid.mobileMenu }),
|
|
21922
|
+
createPortal6(/* @__PURE__ */ jsx173(ContrastScope, { children: /* @__PURE__ */ jsx173(AnimatePresence5, { children: isOpen && /* @__PURE__ */ jsx173(NavbarMobileDrawer, { items, onClose: close, tid }) }) }), document.body)
|
|
21705
21923
|
] });
|
|
21706
21924
|
}
|
|
21707
21925
|
function NavbarMobileDrawer({
|
|
@@ -21710,14 +21928,14 @@ function NavbarMobileDrawer({
|
|
|
21710
21928
|
tid
|
|
21711
21929
|
}) {
|
|
21712
21930
|
return /* @__PURE__ */ jsxs88(Fragment41, { children: [
|
|
21713
|
-
/* @__PURE__ */
|
|
21931
|
+
/* @__PURE__ */ jsx173(motion5.div, { ...trussProps87({
|
|
21714
21932
|
position: "fixed",
|
|
21715
21933
|
top: "top0",
|
|
21716
21934
|
right: "right0",
|
|
21717
21935
|
bottom: "bottom0",
|
|
21718
21936
|
left: "left0",
|
|
21719
21937
|
zIndex: ["z_var", {
|
|
21720
|
-
"--zIndex":
|
|
21938
|
+
"--zIndex": maybeCssVar49(zIndices.modalUnderlay)
|
|
21721
21939
|
}],
|
|
21722
21940
|
backgroundColor: "backgroundColor_rgba_36_36_36_0_2"
|
|
21723
21941
|
}), initial: {
|
|
@@ -21730,7 +21948,7 @@ function NavbarMobileDrawer({
|
|
|
21730
21948
|
ease: "linear",
|
|
21731
21949
|
duration: 0.2
|
|
21732
21950
|
}, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
|
|
21733
|
-
/* @__PURE__ */
|
|
21951
|
+
/* @__PURE__ */ jsx173(FocusScope5, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ jsxs88(motion5.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...trussProps87({
|
|
21734
21952
|
position: "fixed",
|
|
21735
21953
|
top: "top0",
|
|
21736
21954
|
bottom: "bottom0",
|
|
@@ -21741,7 +21959,7 @@ function NavbarMobileDrawer({
|
|
|
21741
21959
|
width: "w100",
|
|
21742
21960
|
overflow: "oh",
|
|
21743
21961
|
zIndex: ["z_var", {
|
|
21744
|
-
"--zIndex":
|
|
21962
|
+
"--zIndex": maybeCssVar49(zIndices.sideNav)
|
|
21745
21963
|
}],
|
|
21746
21964
|
backgroundColor: ["bgColor_var", {
|
|
21747
21965
|
"--backgroundColor": "var(--b-surface)"
|
|
@@ -21756,8 +21974,8 @@ function NavbarMobileDrawer({
|
|
|
21756
21974
|
ease: "linear",
|
|
21757
21975
|
duration: 0.2
|
|
21758
21976
|
}, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
|
|
21759
|
-
/* @__PURE__ */
|
|
21760
|
-
/* @__PURE__ */
|
|
21977
|
+
/* @__PURE__ */ jsx173("div", { className: "df aic jcfe pt2 pb2 pr2 pl2 fs0", children: /* @__PURE__ */ jsx173(IconButton, { icon: "menuClose", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: "Close navigation", onClick: onClose, ...tid.mobileMenuClose }) }),
|
|
21978
|
+
/* @__PURE__ */ jsx173(
|
|
21761
21979
|
"nav",
|
|
21762
21980
|
{
|
|
21763
21981
|
className: "fg1 oya pl2 pr2 pb3 df fdc gap1",
|
|
@@ -21767,7 +21985,7 @@ function NavbarMobileDrawer({
|
|
|
21767
21985
|
}
|
|
21768
21986
|
},
|
|
21769
21987
|
...tid.mobileMenuPanel,
|
|
21770
|
-
children: /* @__PURE__ */
|
|
21988
|
+
children: /* @__PURE__ */ jsx173(AppNavItems, { items, panelCollapsed: false, ...tid })
|
|
21771
21989
|
}
|
|
21772
21990
|
)
|
|
21773
21991
|
] }, "navbarMobileMenuDrawer") })
|
|
@@ -21776,7 +21994,7 @@ function NavbarMobileDrawer({
|
|
|
21776
21994
|
|
|
21777
21995
|
// src/components/Navbar/Navbar.tsx
|
|
21778
21996
|
import { trussProps as trussProps88 } from "@homebound/truss/runtime";
|
|
21779
|
-
import { jsx as
|
|
21997
|
+
import { jsx as jsx174, jsxs as jsxs89 } from "react/jsx-runtime";
|
|
21780
21998
|
function Navbar(props) {
|
|
21781
21999
|
const {
|
|
21782
22000
|
brand,
|
|
@@ -21795,7 +22013,7 @@ function Navbar(props) {
|
|
|
21795
22013
|
overflows
|
|
21796
22014
|
} = useContentOverflow(!sm);
|
|
21797
22015
|
const showMobile = sm || overflows;
|
|
21798
|
-
return /* @__PURE__ */
|
|
22016
|
+
return /* @__PURE__ */ jsx174(ContrastScope, { children: /* @__PURE__ */ jsxs89("nav", { ...trussProps88({
|
|
21799
22017
|
backgroundColor: "bgGray800",
|
|
21800
22018
|
flexShrink: "fs0",
|
|
21801
22019
|
display: "df",
|
|
@@ -21814,8 +22032,8 @@ function Navbar(props) {
|
|
|
21814
22032
|
}), ...tid, children: [
|
|
21815
22033
|
/* @__PURE__ */ jsxs89("div", { className: "df aic gap3 fg1 mw0", children: [
|
|
21816
22034
|
/* @__PURE__ */ jsxs89("div", { className: "df aic fs0 gap2", children: [
|
|
21817
|
-
showMobile && /* @__PURE__ */
|
|
21818
|
-
/* @__PURE__ */
|
|
22035
|
+
showMobile && /* @__PURE__ */ jsx174(NavbarMobileMenu, { items, ...tid }),
|
|
22036
|
+
/* @__PURE__ */ jsx174("div", { ...trussProps88({
|
|
21819
22037
|
flexShrink: "fs0",
|
|
21820
22038
|
...hideBrandOnMobile && showMobile ? {
|
|
21821
22039
|
display: "dn"
|
|
@@ -21824,7 +22042,7 @@ function Navbar(props) {
|
|
|
21824
22042
|
] }),
|
|
21825
22043
|
!sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
|
|
21826
22044
|
// can expand again as space frees up.
|
|
21827
|
-
/* @__PURE__ */
|
|
22045
|
+
/* @__PURE__ */ jsx174("div", { ref: containerRef, ...trussProps88({
|
|
21828
22046
|
display: "df",
|
|
21829
22047
|
alignItems: "aic",
|
|
21830
22048
|
flexGrow: "fg1",
|
|
@@ -21833,11 +22051,11 @@ function Navbar(props) {
|
|
|
21833
22051
|
...overflows ? {
|
|
21834
22052
|
visibility: "visibility_hidden"
|
|
21835
22053
|
} : {}
|
|
21836
|
-
}), ...tid.items, children: /* @__PURE__ */
|
|
22054
|
+
}), ...tid.items, children: /* @__PURE__ */ jsx174("div", { ref: contentRef, className: "df aic gap2 width_max_content", children: /* @__PURE__ */ jsx174(AppNavItems, { variant: "global", items, ...tid }) }) })
|
|
21837
22055
|
] }),
|
|
21838
22056
|
/* @__PURE__ */ jsxs89("div", { className: "df aic gap1", children: [
|
|
21839
|
-
rightSlot && /* @__PURE__ */
|
|
21840
|
-
user && /* @__PURE__ */
|
|
22057
|
+
rightSlot && /* @__PURE__ */ jsx174("div", { className: "df aic gap1", ...tid.rightSlot, children: rightSlot }),
|
|
22058
|
+
user && /* @__PURE__ */ jsx174(NavbarUserMenu, { user, ...tid.userMenu })
|
|
21841
22059
|
] })
|
|
21842
22060
|
] }) });
|
|
21843
22061
|
}
|
|
@@ -21845,7 +22063,7 @@ function NavbarUserMenu({
|
|
|
21845
22063
|
user,
|
|
21846
22064
|
...tid
|
|
21847
22065
|
}) {
|
|
21848
|
-
return /* @__PURE__ */
|
|
22066
|
+
return /* @__PURE__ */ jsx174("div", { className: "df aic fs0 ml1", children: /* @__PURE__ */ jsx174(ButtonMenu, { items: user.menuItems, persistentItems: user.persistentItems, trigger: {
|
|
21849
22067
|
src: user.picture,
|
|
21850
22068
|
name: user.name,
|
|
21851
22069
|
size: "sm",
|
|
@@ -21855,19 +22073,19 @@ function NavbarUserMenu({
|
|
|
21855
22073
|
|
|
21856
22074
|
// src/components/Tabs.tsx
|
|
21857
22075
|
import { camelCase as camelCase7 } from "change-case";
|
|
21858
|
-
import { useEffect as useEffect35, useMemo as useMemo49, useRef as
|
|
22076
|
+
import { useEffect as useEffect35, useMemo as useMemo49, useRef as useRef56, useState as useState52 } from "react";
|
|
21859
22077
|
import { mergeProps as mergeProps27, useFocusRing as useFocusRing15, useHover as useHover19 } from "react-aria";
|
|
21860
22078
|
import { matchPath } from "react-router";
|
|
21861
22079
|
import { Link as Link5, useLocation as useLocation2 } from "react-router-dom";
|
|
21862
|
-
import { trussProps as trussProps89, maybeCssVar as
|
|
21863
|
-
import { Fragment as Fragment42, jsx as
|
|
22080
|
+
import { trussProps as trussProps89, maybeCssVar as maybeCssVar50 } from "@homebound/truss/runtime";
|
|
22081
|
+
import { Fragment as Fragment42, jsx as jsx175, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
21864
22082
|
function TabsWithContent(props) {
|
|
21865
22083
|
const styles = hideTabs(props) ? {} : {
|
|
21866
22084
|
paddingTop: "pt3"
|
|
21867
22085
|
};
|
|
21868
22086
|
return /* @__PURE__ */ jsxs90(Fragment42, { children: [
|
|
21869
|
-
/* @__PURE__ */
|
|
21870
|
-
/* @__PURE__ */
|
|
22087
|
+
/* @__PURE__ */ jsx175(Tabs, { ...props }),
|
|
22088
|
+
/* @__PURE__ */ jsx175(TabContent, { ...props, contentXss: {
|
|
21871
22089
|
...styles,
|
|
21872
22090
|
...props.contentXss
|
|
21873
22091
|
} })
|
|
@@ -21892,7 +22110,7 @@ function TabContent(props) {
|
|
|
21892
22110
|
return (
|
|
21893
22111
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
21894
22112
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
21895
|
-
/* @__PURE__ */
|
|
22113
|
+
/* @__PURE__ */ jsx175(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx175("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps89(contentXss), children: selectedTab.render() }) })
|
|
21896
22114
|
);
|
|
21897
22115
|
}
|
|
21898
22116
|
function Tabs(props) {
|
|
@@ -21917,7 +22135,7 @@ function Tabs(props) {
|
|
|
21917
22135
|
} = useFocusRing15();
|
|
21918
22136
|
const tid = useTestIds(others, "tabs");
|
|
21919
22137
|
const [active, setActive] = useState52(selected);
|
|
21920
|
-
const ref =
|
|
22138
|
+
const ref = useRef56(null);
|
|
21921
22139
|
useEffect35(() => setActive(selected), [selected]);
|
|
21922
22140
|
function onKeyUp(e) {
|
|
21923
22141
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
@@ -21950,11 +22168,11 @@ function Tabs(props) {
|
|
|
21950
22168
|
}
|
|
21951
22169
|
} : {}
|
|
21952
22170
|
}), children: [
|
|
21953
|
-
!hideTabs(props) && /* @__PURE__ */
|
|
22171
|
+
!hideTabs(props) && /* @__PURE__ */ jsx175("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
21954
22172
|
const uniqueValue = uniqueTabValue(tab);
|
|
21955
|
-
return /* @__PURE__ */
|
|
22173
|
+
return /* @__PURE__ */ jsx175(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
|
|
21956
22174
|
}) }),
|
|
21957
|
-
right && /* @__PURE__ */
|
|
22175
|
+
right && /* @__PURE__ */ jsx175("div", { className: "mla df aic gap1 pb1", children: right })
|
|
21958
22176
|
] });
|
|
21959
22177
|
}
|
|
21960
22178
|
function TabImpl(props) {
|
|
@@ -22016,15 +22234,15 @@ function TabImpl(props) {
|
|
|
22016
22234
|
});
|
|
22017
22235
|
const tabLabel = /* @__PURE__ */ jsxs90(Fragment42, { children: [
|
|
22018
22236
|
label,
|
|
22019
|
-
(icon || endAdornment) && /* @__PURE__ */
|
|
22237
|
+
(icon || endAdornment) && /* @__PURE__ */ jsx175("span", { className: "ml1", children: icon ? /* @__PURE__ */ jsx175(Icon, { icon }) : endAdornment })
|
|
22020
22238
|
] });
|
|
22021
22239
|
return isDisabled ? maybeTooltip({
|
|
22022
22240
|
title: resolveTooltip(disabled),
|
|
22023
22241
|
placement: "top",
|
|
22024
|
-
children: /* @__PURE__ */
|
|
22025
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */
|
|
22242
|
+
children: /* @__PURE__ */ jsx175("div", { ...tabProps, children: tabLabel })
|
|
22243
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ jsx175(Link5, { ...mergeProps27(tabProps, interactiveProps, {
|
|
22026
22244
|
className: "navLink"
|
|
22027
|
-
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */
|
|
22245
|
+
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ jsx175("button", { ...{
|
|
22028
22246
|
...tabProps,
|
|
22029
22247
|
...interactiveProps
|
|
22030
22248
|
}, children: tabLabel });
|
|
@@ -22035,7 +22253,7 @@ function getTabStyles() {
|
|
|
22035
22253
|
const borderBottomStyles = {
|
|
22036
22254
|
borderBottomStyle: "bbs_solid",
|
|
22037
22255
|
borderBottomWidth: ["borderBottomWidth_var", {
|
|
22038
|
-
"--borderBottomWidth":
|
|
22256
|
+
"--borderBottomWidth": maybeCssVar50(`${borderBottomWidthPx}px`)
|
|
22039
22257
|
}],
|
|
22040
22258
|
paddingBottom: ["pb_var", {
|
|
22041
22259
|
"--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
|
|
@@ -22120,7 +22338,7 @@ function hideTabs(props) {
|
|
|
22120
22338
|
|
|
22121
22339
|
// src/components/PageHeader.tsx
|
|
22122
22340
|
import { trussProps as trussProps90 } from "@homebound/truss/runtime";
|
|
22123
|
-
import { jsx as
|
|
22341
|
+
import { jsx as jsx176, jsxs as jsxs91 } from "react/jsx-runtime";
|
|
22124
22342
|
function PageHeader2(props) {
|
|
22125
22343
|
const {
|
|
22126
22344
|
title,
|
|
@@ -22145,18 +22363,18 @@ function PageHeader2(props) {
|
|
|
22145
22363
|
}]
|
|
22146
22364
|
}), children: [
|
|
22147
22365
|
/* @__PURE__ */ jsxs91("div", { className: "df jcsb mb2 w100 gap1", children: [
|
|
22148
|
-
/* @__PURE__ */
|
|
22149
|
-
/* @__PURE__ */
|
|
22366
|
+
/* @__PURE__ */ jsx176("div", { children: /* @__PURE__ */ jsx176("h1", { ...tid.title, className: "fw6 fz_20px lh_28px", children: title }) }),
|
|
22367
|
+
/* @__PURE__ */ jsx176("div", { children: rightSlot })
|
|
22150
22368
|
] }),
|
|
22151
|
-
tabs && /* @__PURE__ */
|
|
22369
|
+
tabs && /* @__PURE__ */ jsx176(Tabs, { ...tabs })
|
|
22152
22370
|
] });
|
|
22153
22371
|
}
|
|
22154
22372
|
|
|
22155
22373
|
// src/components/ScrollShadows.tsx
|
|
22156
|
-
import { useResizeObserver as
|
|
22157
|
-
import { useCallback as
|
|
22158
|
-
import { trussProps as trussProps91, maybeCssVar as
|
|
22159
|
-
import { jsx as
|
|
22374
|
+
import { useResizeObserver as useResizeObserver9 } from "@react-aria/utils";
|
|
22375
|
+
import { useCallback as useCallback31, useMemo as useMemo50, useRef as useRef57, useState as useState53 } from "react";
|
|
22376
|
+
import { trussProps as trussProps91, maybeCssVar as maybeCssVar51 } from "@homebound/truss/runtime";
|
|
22377
|
+
import { jsx as jsx177, jsxs as jsxs92 } from "react/jsx-runtime";
|
|
22160
22378
|
function ScrollShadows(props) {
|
|
22161
22379
|
const {
|
|
22162
22380
|
children,
|
|
@@ -22174,13 +22392,13 @@ function ScrollShadows(props) {
|
|
|
22174
22392
|
}
|
|
22175
22393
|
const [showStartShadow, setShowStartShadow] = useState53(false);
|
|
22176
22394
|
const [showEndShadow, setShowEndShadow] = useState53(false);
|
|
22177
|
-
const scrollRef =
|
|
22395
|
+
const scrollRef = useRef57(null);
|
|
22178
22396
|
const [startShadowStyles, endShadowStyles] = useMemo50(() => {
|
|
22179
22397
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
22180
22398
|
const commonStyles = {
|
|
22181
22399
|
position: "absolute",
|
|
22182
22400
|
zIndex: ["z_var", {
|
|
22183
|
-
"--zIndex":
|
|
22401
|
+
"--zIndex": maybeCssVar51(zIndices.scrollShadow)
|
|
22184
22402
|
}],
|
|
22185
22403
|
pointerEvents: "pointerEvents_none"
|
|
22186
22404
|
};
|
|
@@ -22213,7 +22431,7 @@ function ScrollShadows(props) {
|
|
|
22213
22431
|
...startShadowStyles2,
|
|
22214
22432
|
...{
|
|
22215
22433
|
background: ["background_var", {
|
|
22216
|
-
"--background":
|
|
22434
|
+
"--background": maybeCssVar51(startGradient)
|
|
22217
22435
|
}]
|
|
22218
22436
|
}
|
|
22219
22437
|
}, {
|
|
@@ -22221,12 +22439,12 @@ function ScrollShadows(props) {
|
|
|
22221
22439
|
...endShadowStyles2,
|
|
22222
22440
|
...{
|
|
22223
22441
|
background: ["background_var", {
|
|
22224
|
-
"--background":
|
|
22442
|
+
"--background": maybeCssVar51(endGradient)
|
|
22225
22443
|
}]
|
|
22226
22444
|
}
|
|
22227
22445
|
}];
|
|
22228
22446
|
}, [horizontal, bgColor]);
|
|
22229
|
-
const updateScrollProps =
|
|
22447
|
+
const updateScrollProps = useCallback31((el) => {
|
|
22230
22448
|
const {
|
|
22231
22449
|
scrollTop,
|
|
22232
22450
|
scrollHeight,
|
|
@@ -22241,15 +22459,15 @@ function ScrollShadows(props) {
|
|
|
22241
22459
|
setShowStartShadow(start > 0);
|
|
22242
22460
|
setShowEndShadow(start + boxSize < end);
|
|
22243
22461
|
}, [horizontal]);
|
|
22244
|
-
const onResize =
|
|
22245
|
-
|
|
22462
|
+
const onResize = useCallback31(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
22463
|
+
useResizeObserver9({
|
|
22246
22464
|
ref: scrollRef,
|
|
22247
22465
|
onResize
|
|
22248
22466
|
});
|
|
22249
22467
|
return /* @__PURE__ */ jsxs92("div", { ...trussProps91({
|
|
22250
22468
|
display: "df",
|
|
22251
22469
|
flexDirection: ["fd_var", {
|
|
22252
|
-
"--flexDirection":
|
|
22470
|
+
"--flexDirection": maybeCssVar51(!horizontal ? "column" : "row")
|
|
22253
22471
|
}],
|
|
22254
22472
|
position: "relative",
|
|
22255
22473
|
overflow: "oh",
|
|
@@ -22262,23 +22480,23 @@ function ScrollShadows(props) {
|
|
|
22262
22480
|
width: width2
|
|
22263
22481
|
}
|
|
22264
22482
|
}), ...tid, children: [
|
|
22265
|
-
/* @__PURE__ */
|
|
22483
|
+
/* @__PURE__ */ jsx177("div", { ...trussProps91({
|
|
22266
22484
|
...startShadowStyles,
|
|
22267
22485
|
...{
|
|
22268
22486
|
opacity: ["o_var", {
|
|
22269
|
-
"--opacity":
|
|
22487
|
+
"--opacity": maybeCssVar51(showStartShadow ? 1 : 0)
|
|
22270
22488
|
}]
|
|
22271
22489
|
}
|
|
22272
22490
|
}), "data-chromatic": "ignore" }),
|
|
22273
|
-
/* @__PURE__ */
|
|
22491
|
+
/* @__PURE__ */ jsx177("div", { ...trussProps91({
|
|
22274
22492
|
...endShadowStyles,
|
|
22275
22493
|
...{
|
|
22276
22494
|
opacity: ["o_var", {
|
|
22277
|
-
"--opacity":
|
|
22495
|
+
"--opacity": maybeCssVar51(showEndShadow ? 1 : 0)
|
|
22278
22496
|
}]
|
|
22279
22497
|
}
|
|
22280
22498
|
}), "data-chromatic": "ignore" }),
|
|
22281
|
-
/* @__PURE__ */
|
|
22499
|
+
/* @__PURE__ */ jsx177("div", { ...trussProps91({
|
|
22282
22500
|
...xss,
|
|
22283
22501
|
...{
|
|
22284
22502
|
overflow: "oa",
|
|
@@ -22292,14 +22510,14 @@ function ScrollShadows(props) {
|
|
|
22292
22510
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
22293
22511
|
import {
|
|
22294
22512
|
createContext as createContext12,
|
|
22295
|
-
useCallback as
|
|
22513
|
+
useCallback as useCallback32,
|
|
22296
22514
|
useContext as useContext23,
|
|
22297
22515
|
useEffect as useEffect36,
|
|
22298
22516
|
useMemo as useMemo51,
|
|
22299
|
-
useRef as
|
|
22517
|
+
useRef as useRef58,
|
|
22300
22518
|
useState as useState54
|
|
22301
22519
|
} from "react";
|
|
22302
|
-
import { jsx as
|
|
22520
|
+
import { jsx as jsx178 } from "react/jsx-runtime";
|
|
22303
22521
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
22304
22522
|
function loadStoredNavState() {
|
|
22305
22523
|
try {
|
|
@@ -22327,14 +22545,14 @@ function SideNavLayoutProvider(props) {
|
|
|
22327
22545
|
() => resolveInitialNavState(props.defaultNavState)
|
|
22328
22546
|
);
|
|
22329
22547
|
const bp = useBreakpoint();
|
|
22330
|
-
const prevMdAndUp =
|
|
22548
|
+
const prevMdAndUp = useRef58(bp.mdAndUp);
|
|
22331
22549
|
useEffect36(() => {
|
|
22332
22550
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
22333
22551
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
22334
22552
|
}
|
|
22335
22553
|
prevMdAndUp.current = bp.mdAndUp;
|
|
22336
22554
|
}, [bp.mdAndUp]);
|
|
22337
|
-
const setNavState =
|
|
22555
|
+
const setNavState = useCallback32((value2) => {
|
|
22338
22556
|
setNavStateInternal((prev) => {
|
|
22339
22557
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
22340
22558
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -22347,7 +22565,7 @@ function SideNavLayoutProvider(props) {
|
|
|
22347
22565
|
});
|
|
22348
22566
|
}, []);
|
|
22349
22567
|
const value = useMemo51(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
22350
|
-
return /* @__PURE__ */
|
|
22568
|
+
return /* @__PURE__ */ jsx178(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
22351
22569
|
}
|
|
22352
22570
|
function useSideNavLayoutContext() {
|
|
22353
22571
|
return useContext23(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
@@ -22359,7 +22577,7 @@ function useHasSideNavLayoutProvider() {
|
|
|
22359
22577
|
|
|
22360
22578
|
// src/components/SideNav/SideNav.tsx
|
|
22361
22579
|
import { trussProps as trussProps92 } from "@homebound/truss/runtime";
|
|
22362
|
-
import { jsx as
|
|
22580
|
+
import { jsx as jsx179, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
22363
22581
|
function SideNav(props) {
|
|
22364
22582
|
const {
|
|
22365
22583
|
top,
|
|
@@ -22373,7 +22591,7 @@ function SideNav(props) {
|
|
|
22373
22591
|
const panelCollapsed = navState === "collapse";
|
|
22374
22592
|
const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
|
|
22375
22593
|
return /* @__PURE__ */ jsxs93("nav", { className: "df fdc h100 fs0", ...tid, children: [
|
|
22376
|
-
top !== void 0 && /* @__PURE__ */
|
|
22594
|
+
top !== void 0 && /* @__PURE__ */ jsx179("div", { ...trussProps92({
|
|
22377
22595
|
flexShrink: "fs0",
|
|
22378
22596
|
paddingLeft: "pl2",
|
|
22379
22597
|
paddingRight: "pr2",
|
|
@@ -22384,7 +22602,7 @@ function SideNav(props) {
|
|
|
22384
22602
|
paddingBottom: "pb4"
|
|
22385
22603
|
} : {}
|
|
22386
22604
|
}), ...tid.top, children: top }),
|
|
22387
|
-
/* @__PURE__ */
|
|
22605
|
+
/* @__PURE__ */ jsx179("div", { ...trussProps92({
|
|
22388
22606
|
flexGrow: "fg1",
|
|
22389
22607
|
overflowY: "oya",
|
|
22390
22608
|
display: "df",
|
|
@@ -22396,8 +22614,8 @@ function SideNav(props) {
|
|
|
22396
22614
|
...top === void 0 ? {
|
|
22397
22615
|
paddingTop: "pt5"
|
|
22398
22616
|
} : {}
|
|
22399
|
-
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */
|
|
22400
|
-
footer !== void 0 && /* @__PURE__ */
|
|
22617
|
+
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ jsx179(AppNavItems, { items, panelCollapsed }) }),
|
|
22618
|
+
footer !== void 0 && /* @__PURE__ */ jsx179("div", { ...trussProps92({
|
|
22401
22619
|
flexShrink: "fs0",
|
|
22402
22620
|
paddingLeft: "pl2",
|
|
22403
22621
|
paddingRight: "pr2",
|
|
@@ -22413,10 +22631,10 @@ function SideNav(props) {
|
|
|
22413
22631
|
}
|
|
22414
22632
|
|
|
22415
22633
|
// src/components/Snackbar/useSnackbar.tsx
|
|
22416
|
-
import { useCallback as
|
|
22634
|
+
import { useCallback as useCallback33, useEffect as useEffect37 } from "react";
|
|
22417
22635
|
function useSnackbar() {
|
|
22418
22636
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
22419
|
-
const onClose =
|
|
22637
|
+
const onClose = useCallback33(
|
|
22420
22638
|
(noticeId) => {
|
|
22421
22639
|
setNotices((prev) => {
|
|
22422
22640
|
let returnValue = prev;
|
|
@@ -22433,7 +22651,7 @@ function useSnackbar() {
|
|
|
22433
22651
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
22434
22652
|
[]
|
|
22435
22653
|
);
|
|
22436
|
-
const triggerNotice =
|
|
22654
|
+
const triggerNotice = useCallback33(
|
|
22437
22655
|
(props) => {
|
|
22438
22656
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
22439
22657
|
let maybeTimeout;
|
|
@@ -22462,7 +22680,7 @@ function useSnackbar() {
|
|
|
22462
22680
|
},
|
|
22463
22681
|
[onClose, setNotices]
|
|
22464
22682
|
);
|
|
22465
|
-
const closeNotice =
|
|
22683
|
+
const closeNotice = useCallback33((id) => onClose(id), [onClose]);
|
|
22466
22684
|
const useSnackbarOffset = ({ bottom }) => useEffect37(() => {
|
|
22467
22685
|
setOffset({ bottom });
|
|
22468
22686
|
return () => setOffset({});
|
|
@@ -22472,12 +22690,12 @@ function useSnackbar() {
|
|
|
22472
22690
|
var snackbarId = 1;
|
|
22473
22691
|
|
|
22474
22692
|
// src/components/Stepper.tsx
|
|
22475
|
-
import { useRef as
|
|
22693
|
+
import { useRef as useRef59 } from "react";
|
|
22476
22694
|
import { useButton as useButton12, useFocusRing as useFocusRing16, useHover as useHover20 } from "react-aria";
|
|
22477
|
-
import { trussProps as trussProps93, maybeCssVar as
|
|
22478
|
-
import { jsx as
|
|
22695
|
+
import { trussProps as trussProps93, maybeCssVar as maybeCssVar52 } from "@homebound/truss/runtime";
|
|
22696
|
+
import { jsx as jsx180, jsxs as jsxs94 } from "react/jsx-runtime";
|
|
22479
22697
|
import { createElement as createElement4 } from "react";
|
|
22480
|
-
var
|
|
22698
|
+
var __maybeInc19 = (inc) => {
|
|
22481
22699
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
22482
22700
|
};
|
|
22483
22701
|
function Stepper(props) {
|
|
@@ -22495,7 +22713,7 @@ function Stepper(props) {
|
|
|
22495
22713
|
const minStepWidth = 100;
|
|
22496
22714
|
const gap = 8;
|
|
22497
22715
|
return /* @__PURE__ */ jsxs94("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
|
|
22498
|
-
/* @__PURE__ */
|
|
22716
|
+
/* @__PURE__ */ jsx180("ol", { ...trussProps93({
|
|
22499
22717
|
padding: "p_0",
|
|
22500
22718
|
margin: "m_0",
|
|
22501
22719
|
listStyle: "lis_none",
|
|
@@ -22515,9 +22733,9 @@ function Stepper(props) {
|
|
|
22515
22733
|
minWidth: ["mw_var", {
|
|
22516
22734
|
"--minWidth": `${minStepWidth}px`
|
|
22517
22735
|
}]
|
|
22518
|
-
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */
|
|
22736
|
+
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx180(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
|
|
22519
22737
|
}) }),
|
|
22520
|
-
/* @__PURE__ */
|
|
22738
|
+
/* @__PURE__ */ jsx180("div", { ...trussProps93({
|
|
22521
22739
|
marginTop: "mt1",
|
|
22522
22740
|
backgroundColor: "bgGray300",
|
|
22523
22741
|
height: "h_4px",
|
|
@@ -22528,12 +22746,12 @@ function Stepper(props) {
|
|
|
22528
22746
|
"--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
|
|
22529
22747
|
}],
|
|
22530
22748
|
width: "w100"
|
|
22531
|
-
}), children: /* @__PURE__ */
|
|
22749
|
+
}), children: /* @__PURE__ */ jsx180("div", { ...trussProps93({
|
|
22532
22750
|
backgroundColor: "bgBlue600",
|
|
22533
22751
|
transition: "transition_width_200ms",
|
|
22534
22752
|
height: "h100",
|
|
22535
22753
|
width: ["w_var", {
|
|
22536
|
-
"--width":
|
|
22754
|
+
"--width": maybeCssVar52(__maybeInc19(`${(lastCompletedStep + 1) / steps.length * 100}%`))
|
|
22537
22755
|
}]
|
|
22538
22756
|
}) }) })
|
|
22539
22757
|
] });
|
|
@@ -22550,7 +22768,7 @@ function StepButton(props) {
|
|
|
22550
22768
|
onPress: onClick,
|
|
22551
22769
|
isDisabled: disabled
|
|
22552
22770
|
};
|
|
22553
|
-
const ref =
|
|
22771
|
+
const ref = useRef59(null);
|
|
22554
22772
|
const {
|
|
22555
22773
|
buttonProps,
|
|
22556
22774
|
isPressed
|
|
@@ -22621,7 +22839,7 @@ function StepButton(props) {
|
|
|
22621
22839
|
} : {},
|
|
22622
22840
|
...isFocusVisible ? focusRingStyles2 : {}
|
|
22623
22841
|
}), ...tid[defaultTestId(label)], children: [
|
|
22624
|
-
/* @__PURE__ */
|
|
22842
|
+
/* @__PURE__ */ jsx180("span", { className: "fs0 mr_4px", children: /* @__PURE__ */ jsx180(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
22625
22843
|
label
|
|
22626
22844
|
] });
|
|
22627
22845
|
}
|
|
@@ -22632,12 +22850,12 @@ function StepIcon({
|
|
|
22632
22850
|
isCurrent = false
|
|
22633
22851
|
}) {
|
|
22634
22852
|
if (state === "error") {
|
|
22635
|
-
return /* @__PURE__ */
|
|
22853
|
+
return /* @__PURE__ */ jsx180(Icon, { icon: "errorCircle" });
|
|
22636
22854
|
}
|
|
22637
22855
|
if (state === "complete") {
|
|
22638
|
-
return /* @__PURE__ */
|
|
22856
|
+
return /* @__PURE__ */ jsx180(Icon, { icon: "check" });
|
|
22639
22857
|
}
|
|
22640
|
-
return /* @__PURE__ */
|
|
22858
|
+
return /* @__PURE__ */ jsx180("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx180("div", { ...trussProps93({
|
|
22641
22859
|
width: "w_10px",
|
|
22642
22860
|
height: "h_10px",
|
|
22643
22861
|
borderStyle: "bss",
|
|
@@ -22653,7 +22871,7 @@ function StepIcon({
|
|
|
22653
22871
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
22654
22872
|
import { createPortal as createPortal7 } from "react-dom";
|
|
22655
22873
|
import { trussProps as trussProps94 } from "@homebound/truss/runtime";
|
|
22656
|
-
import { jsx as
|
|
22874
|
+
import { jsx as jsx181, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
22657
22875
|
function SuperDrawerHeader(props) {
|
|
22658
22876
|
const {
|
|
22659
22877
|
hideControls
|
|
@@ -22673,17 +22891,17 @@ function SuperDrawerHeader(props) {
|
|
|
22673
22891
|
return createPortal7(/* @__PURE__ */ jsxs95("div", { className: "df aic jcsb gap3", ...tid, children: [
|
|
22674
22892
|
isStructuredProps(props) ? /* @__PURE__ */ jsxs95("div", { className: "df jcsb aic gap2 fg1", children: [
|
|
22675
22893
|
/* @__PURE__ */ jsxs95("div", { className: "fg1 df aic gap2", children: [
|
|
22676
|
-
/* @__PURE__ */
|
|
22894
|
+
/* @__PURE__ */ jsx181("h1", { className: "fw6 fz_30px lh_36px", children: props.title }),
|
|
22677
22895
|
props.left
|
|
22678
22896
|
] }),
|
|
22679
|
-
props.right && /* @__PURE__ */
|
|
22680
|
-
] }) : /* @__PURE__ */
|
|
22681
|
-
!hideControls && /* @__PURE__ */
|
|
22897
|
+
props.right && /* @__PURE__ */ jsx181("div", { className: "fs0", children: props.right })
|
|
22898
|
+
] }) : /* @__PURE__ */ jsx181("div", { className: "fg1", children: props.children }),
|
|
22899
|
+
!hideControls && /* @__PURE__ */ jsx181("div", { ...trussProps94({
|
|
22682
22900
|
flexShrink: "fs0",
|
|
22683
22901
|
...isDetail ? {
|
|
22684
22902
|
visibility: "vh"
|
|
22685
22903
|
} : {}
|
|
22686
|
-
}), children: /* @__PURE__ */
|
|
22904
|
+
}), children: /* @__PURE__ */ jsx181(ButtonGroup, { buttons: [{
|
|
22687
22905
|
icon: "chevronLeft",
|
|
22688
22906
|
onClick: () => onPrevClick && onPrevClick(),
|
|
22689
22907
|
disabled: !onPrevClick
|
|
@@ -22699,7 +22917,7 @@ function isStructuredProps(props) {
|
|
|
22699
22917
|
}
|
|
22700
22918
|
|
|
22701
22919
|
// src/components/SuperDrawer/ConfirmCloseModal.tsx
|
|
22702
|
-
import { Fragment as Fragment43, jsx as
|
|
22920
|
+
import { Fragment as Fragment43, jsx as jsx182, jsxs as jsxs96 } from "react/jsx-runtime";
|
|
22703
22921
|
function ConfirmCloseModal(props) {
|
|
22704
22922
|
const { onClose, discardText = "Discard Changes", continueText = "Continue Editing" } = props;
|
|
22705
22923
|
const { modalState } = useBeamContext();
|
|
@@ -22707,10 +22925,10 @@ function ConfirmCloseModal(props) {
|
|
|
22707
22925
|
modalState.current = void 0;
|
|
22708
22926
|
}
|
|
22709
22927
|
return /* @__PURE__ */ jsxs96(Fragment43, { children: [
|
|
22710
|
-
/* @__PURE__ */
|
|
22711
|
-
/* @__PURE__ */
|
|
22928
|
+
/* @__PURE__ */ jsx182(ModalHeader, { children: "Are you sure you want to cancel?" }),
|
|
22929
|
+
/* @__PURE__ */ jsx182(ModalBody, { children: /* @__PURE__ */ jsx182("p", { children: "Any changes you've made so far will be lost." }) }),
|
|
22712
22930
|
/* @__PURE__ */ jsxs96(ModalFooter, { children: [
|
|
22713
|
-
/* @__PURE__ */
|
|
22931
|
+
/* @__PURE__ */ jsx182(
|
|
22714
22932
|
Button,
|
|
22715
22933
|
{
|
|
22716
22934
|
variant: "quaternary",
|
|
@@ -22721,7 +22939,7 @@ function ConfirmCloseModal(props) {
|
|
|
22721
22939
|
}
|
|
22722
22940
|
}
|
|
22723
22941
|
),
|
|
22724
|
-
/* @__PURE__ */
|
|
22942
|
+
/* @__PURE__ */ jsx182(Button, { label: continueText, onClick: closeModal })
|
|
22725
22943
|
] })
|
|
22726
22944
|
] });
|
|
22727
22945
|
}
|
|
@@ -22731,7 +22949,7 @@ import { motion as motion6 } from "framer-motion";
|
|
|
22731
22949
|
|
|
22732
22950
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
22733
22951
|
import { useMemo as useMemo52 } from "react";
|
|
22734
|
-
import { jsx as
|
|
22952
|
+
import { jsx as jsx183 } from "react/jsx-runtime";
|
|
22735
22953
|
function useSuperDrawer() {
|
|
22736
22954
|
const {
|
|
22737
22955
|
drawerContentStack: contentStack,
|
|
@@ -22743,7 +22961,7 @@ function useSuperDrawer() {
|
|
|
22743
22961
|
function canCloseDrawerDetails(i, doChange) {
|
|
22744
22962
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
22745
22963
|
if (!canClose(canCloseDrawerDetail)) {
|
|
22746
|
-
openModal({ content: /* @__PURE__ */
|
|
22964
|
+
openModal({ content: /* @__PURE__ */ jsx183(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
22747
22965
|
return false;
|
|
22748
22966
|
}
|
|
22749
22967
|
}
|
|
@@ -22763,7 +22981,7 @@ function useSuperDrawer() {
|
|
|
22763
22981
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
22764
22982
|
if (!canClose(canCloseDrawer)) {
|
|
22765
22983
|
openModal({
|
|
22766
|
-
content: /* @__PURE__ */
|
|
22984
|
+
content: /* @__PURE__ */ jsx183(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
22767
22985
|
});
|
|
22768
22986
|
return;
|
|
22769
22987
|
}
|
|
@@ -22859,7 +23077,7 @@ function canClose(canCloseCheck) {
|
|
|
22859
23077
|
|
|
22860
23078
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
22861
23079
|
import { mergeProps as mergeProps28 } from "@homebound/truss/runtime";
|
|
22862
|
-
import { Fragment as Fragment44, jsx as
|
|
23080
|
+
import { Fragment as Fragment44, jsx as jsx184, jsxs as jsxs97 } from "react/jsx-runtime";
|
|
22863
23081
|
var SuperDrawerContent = ({
|
|
22864
23082
|
children,
|
|
22865
23083
|
actions
|
|
@@ -22879,7 +23097,7 @@ var SuperDrawerContent = ({
|
|
|
22879
23097
|
} = firstContent ?? {};
|
|
22880
23098
|
function wrapWithMotionAndMaybeBack(children2) {
|
|
22881
23099
|
if (kind === "open") {
|
|
22882
|
-
return /* @__PURE__ */
|
|
23100
|
+
return /* @__PURE__ */ jsx184(motion6.div, { className: "pt3 pb3 pr3 pl3 fg1 oa", children: children2 }, "content");
|
|
22883
23101
|
} else if (kind === "detail") {
|
|
22884
23102
|
return /* @__PURE__ */ jsxs97(motion6.div, { className: "pl3 pr3 pt2 pb3 fg1", animate: {
|
|
22885
23103
|
overflow: "auto"
|
|
@@ -22888,8 +23106,8 @@ var SuperDrawerContent = ({
|
|
|
22888
23106
|
delay: 0.3
|
|
22889
23107
|
}
|
|
22890
23108
|
}, children: [
|
|
22891
|
-
/* @__PURE__ */
|
|
22892
|
-
/* @__PURE__ */
|
|
23109
|
+
/* @__PURE__ */ jsx184(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
23110
|
+
/* @__PURE__ */ jsx184(motion6.div, { initial: {
|
|
22893
23111
|
x: width2,
|
|
22894
23112
|
opacity: 0
|
|
22895
23113
|
}, animate: {
|
|
@@ -22907,7 +23125,7 @@ var SuperDrawerContent = ({
|
|
|
22907
23125
|
}, className: "pt2", children: children2 })
|
|
22908
23126
|
] }, "content");
|
|
22909
23127
|
} else {
|
|
22910
|
-
return /* @__PURE__ */
|
|
23128
|
+
return /* @__PURE__ */ jsx184(motion6.div, { ...mergeProps28(void 0, {
|
|
22911
23129
|
overflow: "auto"
|
|
22912
23130
|
}, {
|
|
22913
23131
|
paddingTop: "pt3",
|
|
@@ -22920,7 +23138,7 @@ var SuperDrawerContent = ({
|
|
|
22920
23138
|
}
|
|
22921
23139
|
return /* @__PURE__ */ jsxs97(Fragment44, { children: [
|
|
22922
23140
|
wrapWithMotionAndMaybeBack(children),
|
|
22923
|
-
actions && /* @__PURE__ */
|
|
23141
|
+
actions && /* @__PURE__ */ jsx184("footer", { className: "bts_solid btw_1px bcGray200 pt3 pb3 pr3 pl3 df aic jcfe", children: /* @__PURE__ */ jsx184("div", { className: "df gap1", children: actions.map((buttonProps, i) => /* @__PURE__ */ jsx184(Button, { ...buttonProps }, i)) }) })
|
|
22924
23142
|
] });
|
|
22925
23143
|
};
|
|
22926
23144
|
|
|
@@ -22943,23 +23161,23 @@ function visit(rows, fn) {
|
|
|
22943
23161
|
}
|
|
22944
23162
|
|
|
22945
23163
|
// src/components/Toast/useToast.tsx
|
|
22946
|
-
import { useCallback as
|
|
23164
|
+
import { useCallback as useCallback34 } from "react";
|
|
22947
23165
|
function useToast() {
|
|
22948
23166
|
const { setNotice, clear } = useToastContext();
|
|
22949
|
-
const showToast =
|
|
23167
|
+
const showToast = useCallback34((props) => setNotice(props), [setNotice]);
|
|
22950
23168
|
return { showToast, clear };
|
|
22951
23169
|
}
|
|
22952
23170
|
|
|
22953
23171
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
22954
|
-
import { trussProps as trussProps95, mergeProps as mergeProps29, maybeCssVar as
|
|
22955
|
-
import { jsx as
|
|
22956
|
-
var
|
|
23172
|
+
import { trussProps as trussProps95, mergeProps as mergeProps29, maybeCssVar as maybeCssVar53 } from "@homebound/truss/runtime";
|
|
23173
|
+
import { jsx as jsx185, jsxs as jsxs98 } from "react/jsx-runtime";
|
|
23174
|
+
var __maybeInc20 = (inc) => {
|
|
22957
23175
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
22958
23176
|
};
|
|
22959
23177
|
function SideNavLayout(props) {
|
|
22960
23178
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
22961
|
-
if (hasProvider) return /* @__PURE__ */
|
|
22962
|
-
return /* @__PURE__ */
|
|
23179
|
+
if (hasProvider) return /* @__PURE__ */ jsx185(SideNavLayoutContent, { ...props });
|
|
23180
|
+
return /* @__PURE__ */ jsx185(SideNavLayoutProvider, { children: /* @__PURE__ */ jsx185(SideNavLayoutContent, { ...props }) });
|
|
22963
23181
|
}
|
|
22964
23182
|
function SideNavLayoutContent(props) {
|
|
22965
23183
|
const {
|
|
@@ -23005,14 +23223,14 @@ function SideNavLayoutContent(props) {
|
|
|
23005
23223
|
position: "sticky",
|
|
23006
23224
|
left: "left0",
|
|
23007
23225
|
zIndex: ["z_var", {
|
|
23008
|
-
"--zIndex":
|
|
23226
|
+
"--zIndex": maybeCssVar53(zIndices.sideNav)
|
|
23009
23227
|
}],
|
|
23010
23228
|
top: ["top_var", {
|
|
23011
|
-
"--top":
|
|
23229
|
+
"--top": maybeCssVar53(__maybeInc20(navTop))
|
|
23012
23230
|
}],
|
|
23013
23231
|
alignSelf: "asfs",
|
|
23014
23232
|
height: ["h_var", {
|
|
23015
|
-
"--height":
|
|
23233
|
+
"--height": maybeCssVar53(__maybeInc20(railViewportHeight))
|
|
23016
23234
|
}],
|
|
23017
23235
|
width: ["w_var", {
|
|
23018
23236
|
"--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
|
|
@@ -23022,11 +23240,11 @@ function SideNavLayoutContent(props) {
|
|
|
23022
23240
|
position: "fixed",
|
|
23023
23241
|
left: "left0",
|
|
23024
23242
|
top: ["top_var", {
|
|
23025
|
-
"--top":
|
|
23243
|
+
"--top": maybeCssVar53(__maybeInc20(navTop))
|
|
23026
23244
|
}],
|
|
23027
23245
|
bottom: "bottom0",
|
|
23028
23246
|
zIndex: ["z_var", {
|
|
23029
|
-
"--zIndex":
|
|
23247
|
+
"--zIndex": maybeCssVar53(zIndices.sideNav)
|
|
23030
23248
|
}]
|
|
23031
23249
|
},
|
|
23032
23250
|
...collapsed ? {
|
|
@@ -23038,18 +23256,18 @@ function SideNavLayoutContent(props) {
|
|
|
23038
23256
|
}
|
|
23039
23257
|
}
|
|
23040
23258
|
}), ...tid.sideNav, children: [
|
|
23041
|
-
showCollapseToggle && /* @__PURE__ */
|
|
23042
|
-
/* @__PURE__ */
|
|
23259
|
+
showCollapseToggle && /* @__PURE__ */ jsx185("div", { className: "absolute right2 top2 z2", children: /* @__PURE__ */ jsx185(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
23260
|
+
/* @__PURE__ */ jsx185("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ jsx185(SideNav, { ...sideNav }) })
|
|
23043
23261
|
] });
|
|
23044
|
-
return /* @__PURE__ */
|
|
23262
|
+
return /* @__PURE__ */ jsx185(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsxs98("div", { ...mergeProps29(void 0, {
|
|
23045
23263
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
23046
23264
|
}, {
|
|
23047
23265
|
display: "df",
|
|
23048
23266
|
flexDirection: "fdr",
|
|
23049
23267
|
width: "w100"
|
|
23050
23268
|
}), ...tid, children: [
|
|
23051
|
-
contrastRail ? /* @__PURE__ */
|
|
23052
|
-
/* @__PURE__ */
|
|
23269
|
+
contrastRail ? /* @__PURE__ */ jsx185(ContrastScope, { children: rail }) : rail,
|
|
23270
|
+
/* @__PURE__ */ jsx185("div", { ...trussProps95({
|
|
23053
23271
|
display: "df",
|
|
23054
23272
|
flexDirection: "fdc",
|
|
23055
23273
|
flexGrow: "fg1",
|
|
@@ -23065,25 +23283,34 @@ function SideNavLayoutContent(props) {
|
|
|
23065
23283
|
}
|
|
23066
23284
|
|
|
23067
23285
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
23068
|
-
import { useMemo as useMemo53, useRef as
|
|
23069
|
-
import { mergeProps as mergeProps30, maybeCssVar as
|
|
23286
|
+
import { useMemo as useMemo53, useRef as useRef61 } from "react";
|
|
23287
|
+
import { mergeProps as mergeProps30, maybeCssVar as maybeCssVar54 } from "@homebound/truss/runtime";
|
|
23070
23288
|
|
|
23071
23289
|
// src/layouts/useAutoHideOnScroll.ts
|
|
23072
|
-
import {
|
|
23290
|
+
import { useLayoutEffect as useLayoutEffect6, useRef as useRef60, useState as useState55 } from "react";
|
|
23073
23291
|
var THRESHOLD = 80;
|
|
23292
|
+
function getInitialAutoHideState() {
|
|
23293
|
+
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
23294
|
+
return { state: "static", atTop: true };
|
|
23295
|
+
}
|
|
23296
|
+
return { state: "hidden", atTop: false };
|
|
23297
|
+
}
|
|
23074
23298
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
23075
|
-
const
|
|
23076
|
-
const
|
|
23077
|
-
const
|
|
23078
|
-
const
|
|
23079
|
-
const
|
|
23299
|
+
const initial = getInitialAutoHideState();
|
|
23300
|
+
const [state, setState] = useState55(initial.state);
|
|
23301
|
+
const stateRef = useRef60(initial.state);
|
|
23302
|
+
const [atTop, setAtTop] = useState55(initial.atTop);
|
|
23303
|
+
const atTopRef = useRef60(initial.atTop);
|
|
23304
|
+
const getTopOffsetRef = useRef60(getTopOffset);
|
|
23080
23305
|
getTopOffsetRef.current = getTopOffset;
|
|
23081
|
-
const lastScrollY =
|
|
23082
|
-
|
|
23306
|
+
const lastScrollY = useRef60(Number.POSITIVE_INFINITY);
|
|
23307
|
+
const lastScrollHeight = useRef60(0);
|
|
23308
|
+
useLayoutEffect6(() => {
|
|
23083
23309
|
if (!enabled) {
|
|
23084
23310
|
stateRef.current = "static";
|
|
23085
23311
|
atTopRef.current = true;
|
|
23086
23312
|
lastScrollY.current = Number.POSITIVE_INFINITY;
|
|
23313
|
+
lastScrollHeight.current = 0;
|
|
23087
23314
|
setState("static");
|
|
23088
23315
|
setAtTop(true);
|
|
23089
23316
|
return;
|
|
@@ -23098,22 +23325,41 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
23098
23325
|
setAtTop(nextAtTop);
|
|
23099
23326
|
}
|
|
23100
23327
|
};
|
|
23328
|
+
const autoHideStateOnLayoutChange = (rect, topOffset) => {
|
|
23329
|
+
const nextAtTop = rect.top >= topOffset;
|
|
23330
|
+
let next = stateRef.current;
|
|
23331
|
+
if (nextAtTop) {
|
|
23332
|
+
next = "static";
|
|
23333
|
+
} else if (rect.bottom < -THRESHOLD && next !== "revealed") {
|
|
23334
|
+
next = "hidden";
|
|
23335
|
+
}
|
|
23336
|
+
return { next, nextAtTop };
|
|
23337
|
+
};
|
|
23101
23338
|
const updateAutoHideState = () => {
|
|
23102
23339
|
const el = spacerRef.current;
|
|
23103
23340
|
if (!el) return;
|
|
23341
|
+
const doc = document.documentElement;
|
|
23342
|
+
const currentScrollHeight = doc.scrollHeight;
|
|
23343
|
+
const scrollHeightChanged = lastScrollHeight.current !== 0 && currentScrollHeight !== lastScrollHeight.current;
|
|
23344
|
+
lastScrollHeight.current = currentScrollHeight;
|
|
23104
23345
|
if (window.scrollY <= 0) {
|
|
23105
23346
|
lastScrollY.current = 0;
|
|
23106
23347
|
commit("static", true);
|
|
23107
23348
|
return;
|
|
23108
23349
|
}
|
|
23109
|
-
const rect = el.getBoundingClientRect();
|
|
23110
23350
|
const currentY = window.scrollY;
|
|
23351
|
+
const rect = el.getBoundingClientRect();
|
|
23352
|
+
const topOffset = getTopOffsetRef.current?.() ?? 0;
|
|
23353
|
+
if (scrollHeightChanged) {
|
|
23354
|
+
lastScrollY.current = currentY;
|
|
23355
|
+
const { next: next2, nextAtTop: nextAtTop2 } = autoHideStateOnLayoutChange(rect, topOffset);
|
|
23356
|
+
commit(next2, nextAtTop2);
|
|
23357
|
+
return;
|
|
23358
|
+
}
|
|
23111
23359
|
const dy = currentY - lastScrollY.current;
|
|
23112
23360
|
lastScrollY.current = currentY;
|
|
23113
|
-
const topOffset = getTopOffsetRef.current?.() ?? 0;
|
|
23114
|
-
const nextAtTop = rect.top >= topOffset;
|
|
23115
|
-
const doc = document.documentElement;
|
|
23116
23361
|
const atBottom = currentY >= doc.scrollHeight - doc.clientHeight;
|
|
23362
|
+
const nextAtTop = rect.top >= topOffset;
|
|
23117
23363
|
let next = stateRef.current;
|
|
23118
23364
|
if (nextAtTop) {
|
|
23119
23365
|
next = "static";
|
|
@@ -23131,17 +23377,17 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
23131
23377
|
}
|
|
23132
23378
|
|
|
23133
23379
|
// src/layouts/useMeasuredHeight.ts
|
|
23134
|
-
import { useResizeObserver as
|
|
23135
|
-
import { useCallback as
|
|
23380
|
+
import { useResizeObserver as useResizeObserver10 } from "@react-aria/utils";
|
|
23381
|
+
import { useCallback as useCallback35, useLayoutEffect as useLayoutEffect7, useState as useState56 } from "react";
|
|
23136
23382
|
function useMeasuredHeight(ref, enabled) {
|
|
23137
23383
|
const [height, setHeight] = useState56(0);
|
|
23138
|
-
const syncElementHeight =
|
|
23384
|
+
const syncElementHeight = useCallback35(() => {
|
|
23139
23385
|
const el = ref.current;
|
|
23140
23386
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
23141
23387
|
setHeight((prev) => prev === next ? prev : next);
|
|
23142
23388
|
}, [ref]);
|
|
23143
|
-
|
|
23144
|
-
|
|
23389
|
+
useResizeObserver10({ ref, onResize: syncElementHeight });
|
|
23390
|
+
useLayoutEffect7(() => {
|
|
23145
23391
|
syncElementHeight();
|
|
23146
23392
|
}, [enabled, syncElementHeight]);
|
|
23147
23393
|
return height;
|
|
@@ -23149,18 +23395,18 @@ function useMeasuredHeight(ref, enabled) {
|
|
|
23149
23395
|
|
|
23150
23396
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
23151
23397
|
import { createContext as createContext13, useContext as useContext24 } from "react";
|
|
23152
|
-
import { jsx as
|
|
23398
|
+
import { jsx as jsx186 } from "react/jsx-runtime";
|
|
23153
23399
|
var NavbarLayoutHeightContext = createContext13(0);
|
|
23154
23400
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
23155
|
-
return /* @__PURE__ */
|
|
23401
|
+
return /* @__PURE__ */ jsx186(NavbarLayoutHeightContext.Provider, { value, children });
|
|
23156
23402
|
}
|
|
23157
23403
|
function useNavbarLayoutHeight() {
|
|
23158
23404
|
return useContext24(NavbarLayoutHeightContext);
|
|
23159
23405
|
}
|
|
23160
23406
|
|
|
23161
23407
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
23162
|
-
import { jsx as
|
|
23163
|
-
var
|
|
23408
|
+
import { jsx as jsx187, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
23409
|
+
var __maybeInc21 = (inc) => {
|
|
23164
23410
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
23165
23411
|
};
|
|
23166
23412
|
function NavbarLayout(props) {
|
|
@@ -23169,8 +23415,8 @@ function NavbarLayout(props) {
|
|
|
23169
23415
|
children
|
|
23170
23416
|
} = props;
|
|
23171
23417
|
const tid = useTestIds(props, "navbarLayout");
|
|
23172
|
-
const navMetricsRef =
|
|
23173
|
-
const spacerRef =
|
|
23418
|
+
const navMetricsRef = useRef61(null);
|
|
23419
|
+
const spacerRef = useRef61(null);
|
|
23174
23420
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
23175
23421
|
const {
|
|
23176
23422
|
state: autoHideState,
|
|
@@ -23188,10 +23434,10 @@ function NavbarLayout(props) {
|
|
|
23188
23434
|
position: "sticky",
|
|
23189
23435
|
left: "left0",
|
|
23190
23436
|
zIndex: ["z_var", {
|
|
23191
|
-
"--zIndex":
|
|
23437
|
+
"--zIndex": maybeCssVar54(zIndices.navbar)
|
|
23192
23438
|
}],
|
|
23193
23439
|
width: ["w_var", {
|
|
23194
|
-
"--width":
|
|
23440
|
+
"--width": maybeCssVar54(__maybeInc21(innerWidth))
|
|
23195
23441
|
}]
|
|
23196
23442
|
}
|
|
23197
23443
|
) : (
|
|
@@ -23200,10 +23446,10 @@ function NavbarLayout(props) {
|
|
|
23200
23446
|
position: "fixed",
|
|
23201
23447
|
left: "left0",
|
|
23202
23448
|
zIndex: ["z_var", {
|
|
23203
|
-
"--zIndex":
|
|
23449
|
+
"--zIndex": maybeCssVar54(zIndices.navbar)
|
|
23204
23450
|
}],
|
|
23205
23451
|
width: ["w_var", {
|
|
23206
|
-
"--width":
|
|
23452
|
+
"--width": maybeCssVar54(__maybeInc21(innerWidth))
|
|
23207
23453
|
}],
|
|
23208
23454
|
transition: "transitionTop"
|
|
23209
23455
|
}
|
|
@@ -23211,28 +23457,28 @@ function NavbarLayout(props) {
|
|
|
23211
23457
|
const innerStyle = autoHideState !== "static" ? {
|
|
23212
23458
|
top: autoHideState === "revealed" ? 0 : -navHeight
|
|
23213
23459
|
} : void 0;
|
|
23214
|
-
const navbarEl = useMemo53(() => /* @__PURE__ */
|
|
23215
|
-
return /* @__PURE__ */
|
|
23460
|
+
const navbarEl = useMemo53(() => /* @__PURE__ */ jsx187(Navbar, { ...navbar }), [navbar]);
|
|
23461
|
+
return /* @__PURE__ */ jsx187(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsx187(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ jsxs99("div", { ...mergeProps30(void 0, cssVars, {
|
|
23216
23462
|
display: "df",
|
|
23217
23463
|
flexDirection: "fdc",
|
|
23218
23464
|
width: "wfc",
|
|
23219
23465
|
minWidth: "mw100"
|
|
23220
23466
|
}), ...tid, children: [
|
|
23221
|
-
/* @__PURE__ */
|
|
23467
|
+
/* @__PURE__ */ jsx187("div", { ref: spacerRef, ...mergeProps30(void 0, {
|
|
23222
23468
|
height: navHeight
|
|
23223
23469
|
}, {
|
|
23224
23470
|
flexShrink: "fs0",
|
|
23225
23471
|
width: "w100"
|
|
23226
|
-
}), children: /* @__PURE__ */
|
|
23227
|
-
/* @__PURE__ */
|
|
23472
|
+
}), children: /* @__PURE__ */ jsx187("div", { ref: navMetricsRef, ...mergeProps30(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
23473
|
+
/* @__PURE__ */ jsx187("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
23228
23474
|
] }) }) });
|
|
23229
23475
|
}
|
|
23230
23476
|
|
|
23231
23477
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
23232
|
-
import { useCallback as
|
|
23233
|
-
import { mergeProps as mergeProps31, maybeCssVar as
|
|
23234
|
-
import { jsx as
|
|
23235
|
-
var
|
|
23478
|
+
import { useCallback as useCallback36, useMemo as useMemo54, useRef as useRef62 } from "react";
|
|
23479
|
+
import { mergeProps as mergeProps31, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
|
|
23480
|
+
import { jsx as jsx188, jsxs as jsxs100 } from "react/jsx-runtime";
|
|
23481
|
+
var __maybeInc22 = (inc) => {
|
|
23236
23482
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
23237
23483
|
};
|
|
23238
23484
|
function PageHeaderLayout(props) {
|
|
@@ -23242,11 +23488,11 @@ function PageHeaderLayout(props) {
|
|
|
23242
23488
|
} = props;
|
|
23243
23489
|
const tid = useTestIds(props, "pageHeaderLayout");
|
|
23244
23490
|
const navbarHeight = useNavbarLayoutHeight();
|
|
23245
|
-
const navbarHeightRef =
|
|
23491
|
+
const navbarHeightRef = useRef62(navbarHeight);
|
|
23246
23492
|
navbarHeightRef.current = navbarHeight;
|
|
23247
|
-
const getNavbarBottom =
|
|
23248
|
-
const headerMetricsRef =
|
|
23249
|
-
const spacerRef =
|
|
23493
|
+
const getNavbarBottom = useCallback36(() => navbarHeightRef.current, []);
|
|
23494
|
+
const headerMetricsRef = useRef62(null);
|
|
23495
|
+
const spacerRef = useRef62(null);
|
|
23250
23496
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
23251
23497
|
const {
|
|
23252
23498
|
state: autoHideState,
|
|
@@ -23256,49 +23502,49 @@ function PageHeaderLayout(props) {
|
|
|
23256
23502
|
const cssVars = headerHeight > 0 && headerOccupiesPosition ? {
|
|
23257
23503
|
[beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
|
|
23258
23504
|
} : void 0;
|
|
23259
|
-
const headerLeft =
|
|
23260
|
-
const headerWidth =
|
|
23505
|
+
const headerLeft = documentScrollChromeLeft();
|
|
23506
|
+
const headerWidth = documentScrollChromeWidth();
|
|
23261
23507
|
const outerTop = `var(${beamNavbarLayoutHeightVar}, 0px)`;
|
|
23262
23508
|
const innerCss = autoHideState === "static" ? {
|
|
23263
23509
|
position: "sticky",
|
|
23264
23510
|
left: ["left_var", {
|
|
23265
|
-
"--left":
|
|
23511
|
+
"--left": maybeCssVar55(__maybeInc22(headerLeft))
|
|
23266
23512
|
}],
|
|
23267
23513
|
width: ["w_var", {
|
|
23268
|
-
"--width":
|
|
23514
|
+
"--width": maybeCssVar55(__maybeInc22(headerWidth))
|
|
23269
23515
|
}],
|
|
23270
23516
|
zIndex: ["z_var", {
|
|
23271
|
-
"--zIndex":
|
|
23517
|
+
"--zIndex": maybeCssVar55(zIndices.pageStickyHeader)
|
|
23272
23518
|
}]
|
|
23273
23519
|
} : {
|
|
23274
23520
|
position: "fixed",
|
|
23275
23521
|
left: ["left_var", {
|
|
23276
|
-
"--left":
|
|
23522
|
+
"--left": maybeCssVar55(__maybeInc22(headerLeft))
|
|
23277
23523
|
}],
|
|
23278
23524
|
width: ["w_var", {
|
|
23279
|
-
"--width":
|
|
23525
|
+
"--width": maybeCssVar55(__maybeInc22(headerWidth))
|
|
23280
23526
|
}],
|
|
23281
23527
|
zIndex: ["z_var", {
|
|
23282
|
-
"--zIndex":
|
|
23528
|
+
"--zIndex": maybeCssVar55(zIndices.pageStickyHeader)
|
|
23283
23529
|
}],
|
|
23284
23530
|
transition: "transitionTop"
|
|
23285
23531
|
};
|
|
23286
23532
|
const innerStyle = autoHideState !== "static" ? {
|
|
23287
23533
|
top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
|
|
23288
23534
|
} : void 0;
|
|
23289
|
-
const pageHeaderEl = useMemo54(() => /* @__PURE__ */
|
|
23290
|
-
return /* @__PURE__ */
|
|
23535
|
+
const pageHeaderEl = useMemo54(() => /* @__PURE__ */ jsx188(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
23536
|
+
return /* @__PURE__ */ jsx188(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsxs100("div", { ...mergeProps31(void 0, cssVars, {
|
|
23291
23537
|
display: "df",
|
|
23292
23538
|
flexDirection: "fdc",
|
|
23293
23539
|
width: "w100"
|
|
23294
23540
|
}), ...tid, children: [
|
|
23295
|
-
/* @__PURE__ */
|
|
23541
|
+
/* @__PURE__ */ jsx188("div", { ref: spacerRef, ...mergeProps31(void 0, {
|
|
23296
23542
|
height: headerHeight
|
|
23297
23543
|
}, {
|
|
23298
23544
|
flexShrink: "fs0",
|
|
23299
23545
|
width: "w100"
|
|
23300
|
-
}), children: /* @__PURE__ */
|
|
23301
|
-
/* @__PURE__ */
|
|
23546
|
+
}), children: /* @__PURE__ */ jsx188("div", { ref: headerMetricsRef, ...mergeProps31(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
23547
|
+
/* @__PURE__ */ jsx188("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
|
|
23302
23548
|
] }) });
|
|
23303
23549
|
}
|
|
23304
23550
|
export {
|
|
@@ -23458,6 +23704,7 @@ export {
|
|
|
23458
23704
|
Tokens,
|
|
23459
23705
|
Tooltip,
|
|
23460
23706
|
TreeSelectField,
|
|
23707
|
+
ViewToggleButton,
|
|
23461
23708
|
actionColumn,
|
|
23462
23709
|
applyRowFn,
|
|
23463
23710
|
assignDefaultColumnIds,
|
|
@@ -23466,6 +23713,7 @@ export {
|
|
|
23466
23713
|
beamNavbarLayoutHeightVar,
|
|
23467
23714
|
beamPageHeaderLayoutHeightVar,
|
|
23468
23715
|
beamSideNavLayoutWidthVar,
|
|
23716
|
+
beamTableActionsHeightVar,
|
|
23469
23717
|
booleanFilter,
|
|
23470
23718
|
boundCheckboxField,
|
|
23471
23719
|
boundCheckboxGroupField,
|
|
@@ -23484,6 +23732,7 @@ export {
|
|
|
23484
23732
|
boundTextField,
|
|
23485
23733
|
boundToggleChipGroupField,
|
|
23486
23734
|
boundTreeSelectField,
|
|
23735
|
+
calcColumnLayout,
|
|
23487
23736
|
calcColumnSizes,
|
|
23488
23737
|
cardStyle,
|
|
23489
23738
|
checkboxFilter,
|
|
@@ -23504,6 +23753,8 @@ export {
|
|
|
23504
23753
|
defaultRenderFn,
|
|
23505
23754
|
defaultStyle,
|
|
23506
23755
|
defaultTestId,
|
|
23756
|
+
documentScrollChromeLeft,
|
|
23757
|
+
documentScrollChromeWidth,
|
|
23507
23758
|
dragHandleColumn,
|
|
23508
23759
|
emptyCell,
|
|
23509
23760
|
ensureClientSideSortValueIsSortable,
|
|
@@ -23558,6 +23809,7 @@ export {
|
|
|
23558
23809
|
px,
|
|
23559
23810
|
recursivelyGetContainingRow,
|
|
23560
23811
|
reservedRowKinds,
|
|
23812
|
+
resolveTableContentWidth,
|
|
23561
23813
|
resolveTooltip,
|
|
23562
23814
|
rowClickRenderFn,
|
|
23563
23815
|
rowLinkRenderFn,
|
|
@@ -23572,6 +23824,9 @@ export {
|
|
|
23572
23824
|
singleFilter,
|
|
23573
23825
|
sortFn,
|
|
23574
23826
|
sortRows,
|
|
23827
|
+
stickyNavAndHeaderOffset,
|
|
23828
|
+
stickyTableHeaderOffset,
|
|
23829
|
+
sumColumnSizesPx,
|
|
23575
23830
|
switchFocusStyles,
|
|
23576
23831
|
switchHoverStyles,
|
|
23577
23832
|
switchSelectedHoverStyles,
|