@homebound/beam 3.93.0 → 3.95.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 +738 -621
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +16 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.js +676 -560
- package/dist/index.js.map +1 -1
- package/dist/truss.css +2 -6
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -135,6 +135,7 @@ __export(index_exports, {
|
|
|
135
135
|
Icon: () => Icon,
|
|
136
136
|
IconButton: () => IconButton,
|
|
137
137
|
Icons: () => Icons,
|
|
138
|
+
InlineFeedbackBanner: () => InlineFeedbackBanner,
|
|
138
139
|
JumpLink: () => JumpLink,
|
|
139
140
|
KEPT_GROUP: () => KEPT_GROUP,
|
|
140
141
|
Loader: () => Loader,
|
|
@@ -19785,7 +19786,7 @@ var variantStyles3 = {
|
|
|
19785
19786
|
};
|
|
19786
19787
|
|
|
19787
19788
|
// src/components/BeamContext.tsx
|
|
19788
|
-
var
|
|
19789
|
+
var import_react130 = require("react");
|
|
19789
19790
|
var import_react_aria56 = require("react-aria");
|
|
19790
19791
|
|
|
19791
19792
|
// src/components/Modal/Modal.tsx
|
|
@@ -20118,9 +20119,11 @@ function getSize(size) {
|
|
|
20118
20119
|
}
|
|
20119
20120
|
|
|
20120
20121
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
20121
|
-
var
|
|
20122
|
+
var import_react99 = require("react");
|
|
20122
20123
|
|
|
20123
20124
|
// src/components/Snackbar/SnackbarNotice.tsx
|
|
20125
|
+
var import_utils98 = require("@react-aria/utils");
|
|
20126
|
+
var import_react98 = require("react");
|
|
20124
20127
|
var import_runtime88 = require("@homebound/truss/runtime");
|
|
20125
20128
|
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
20126
20129
|
function SnackbarNotice(props) {
|
|
@@ -20134,45 +20137,79 @@ function SnackbarNotice(props) {
|
|
|
20134
20137
|
} = props;
|
|
20135
20138
|
const tid = useTestIds(props, "snackbar");
|
|
20136
20139
|
const reallyHideClose = hideCloseButton && !persistent;
|
|
20140
|
+
const messageRef = (0, import_react98.useRef)(null);
|
|
20141
|
+
const [expanded, setExpanded] = (0, import_react98.useState)(false);
|
|
20142
|
+
const [hasOverflow, setHasOverflow] = (0, import_react98.useState)(false);
|
|
20143
|
+
const measureOverflow = (0, import_react98.useCallback)(() => {
|
|
20144
|
+
if (!messageRef.current || expanded) return;
|
|
20145
|
+
setHasOverflow(messageRef.current.scrollHeight > messageRef.current.clientHeight);
|
|
20146
|
+
}, [expanded]);
|
|
20147
|
+
(0, import_utils98.useLayoutEffect)(measureOverflow, [measureOverflow, message]);
|
|
20148
|
+
(0, import_utils98.useResizeObserver)({
|
|
20149
|
+
ref: messageRef,
|
|
20150
|
+
onResize: measureOverflow
|
|
20151
|
+
});
|
|
20137
20152
|
return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { ...(0, import_runtime88.trussProps)({
|
|
20138
|
-
|
|
20139
|
-
|
|
20140
|
-
|
|
20141
|
-
|
|
20142
|
-
|
|
20143
|
-
|
|
20144
|
-
|
|
20145
|
-
|
|
20146
|
-
|
|
20147
|
-
|
|
20148
|
-
|
|
20149
|
-
|
|
20150
|
-
|
|
20153
|
+
...{
|
|
20154
|
+
color: ["color_var", {
|
|
20155
|
+
"--color": "var(--b-on-surface)"
|
|
20156
|
+
}],
|
|
20157
|
+
backgroundColor: ["bgColor_var", {
|
|
20158
|
+
"--backgroundColor": "var(--b-surface-raised)"
|
|
20159
|
+
}],
|
|
20160
|
+
borderRadius: "br4",
|
|
20161
|
+
fontWeight: "fw4",
|
|
20162
|
+
fontSize: "fz_16px",
|
|
20163
|
+
lineHeight: "lh_24px",
|
|
20164
|
+
display: "df",
|
|
20165
|
+
paddingTop: "pt_12px",
|
|
20166
|
+
paddingBottom: "pb_12px",
|
|
20167
|
+
maxWidth: ["maxw_var", {
|
|
20168
|
+
"--maxWidth": `${noticeMaxWidthPx}px`
|
|
20169
|
+
}],
|
|
20170
|
+
alignItems: "aifs"
|
|
20171
|
+
},
|
|
20172
|
+
...expanded ? {
|
|
20173
|
+
maxWidth: ["maxw_var", {
|
|
20174
|
+
"--maxWidth": (0, import_runtime88.maybeCssVar)(expandedNoticeMaxWidth)
|
|
20175
|
+
}]
|
|
20176
|
+
} : void 0
|
|
20151
20177
|
}), "data-theme": contrastDataTheme, ...tid, role: "alert", children: [
|
|
20152
20178
|
icon && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("span", { className: "fs0 pl_12px", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Icon, { ...typeToIcon2[icon], ...tid.icon }) }),
|
|
20153
|
-
/* @__PURE__ */ (0, import_jsx_runtime117.
|
|
20154
|
-
"
|
|
20155
|
-
|
|
20156
|
-
|
|
20157
|
-
|
|
20158
|
-
|
|
20159
|
-
|
|
20160
|
-
|
|
20161
|
-
|
|
20162
|
-
|
|
20163
|
-
|
|
20164
|
-
|
|
20165
|
-
|
|
20166
|
-
|
|
20167
|
-
|
|
20168
|
-
|
|
20169
|
-
|
|
20170
|
-
|
|
20171
|
-
|
|
20172
|
-
|
|
20173
|
-
|
|
20174
|
-
|
|
20175
|
-
|
|
20179
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { ...(0, import_runtime88.trussProps)({
|
|
20180
|
+
flexGrow: "fg1",
|
|
20181
|
+
minWidth: "mw0",
|
|
20182
|
+
display: "df",
|
|
20183
|
+
flexDirection: "fdc",
|
|
20184
|
+
alignItems: "aifs",
|
|
20185
|
+
gap: "gap1",
|
|
20186
|
+
paddingRight: "pr2",
|
|
20187
|
+
paddingLeft: ["pl_var", {
|
|
20188
|
+
"--paddingLeft": `${icon ? 8 : 16}px`
|
|
20189
|
+
}]
|
|
20190
|
+
}), children: [
|
|
20191
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
20192
|
+
"span",
|
|
20193
|
+
{
|
|
20194
|
+
ref: messageRef,
|
|
20195
|
+
...(0, import_runtime88.trussProps)({
|
|
20196
|
+
...!expanded ? {
|
|
20197
|
+
overflow: "oh",
|
|
20198
|
+
display: "d_negwebkit_box",
|
|
20199
|
+
WebkitBoxOrient: "wbo_vertical",
|
|
20200
|
+
textOverflow: "to_ellipsis",
|
|
20201
|
+
WebkitLineClamp: "wlc_3"
|
|
20202
|
+
} : {}
|
|
20203
|
+
}),
|
|
20204
|
+
...typeof message === "string" && !expanded ? {
|
|
20205
|
+
title: message
|
|
20206
|
+
} : void 0,
|
|
20207
|
+
...tid.message,
|
|
20208
|
+
children: message
|
|
20209
|
+
}
|
|
20210
|
+
),
|
|
20211
|
+
hasOverflow && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Button, { variant: "text", size: "sm", label: expanded ? "Collapse" : "Expand", "aria-expanded": expanded, onClick: () => setExpanded((prev) => !prev), ...tid.expand })
|
|
20212
|
+
] }),
|
|
20176
20213
|
(action || !reallyHideClose) && /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("span", { className: "fs0 df aic", children: [
|
|
20177
20214
|
action && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("span", { ...(0, import_runtime88.trussProps)({
|
|
20178
20215
|
textTransform: "ttu",
|
|
@@ -20187,6 +20224,8 @@ function SnackbarNotice(props) {
|
|
|
20187
20224
|
] })
|
|
20188
20225
|
] });
|
|
20189
20226
|
}
|
|
20227
|
+
var noticeMaxWidthPx = 420;
|
|
20228
|
+
var expandedNoticeMaxWidth = `min(${noticeMaxWidthPx * 2}px, calc(100vw - (2 * var(--t-spacing) * 3)))`;
|
|
20190
20229
|
var typeToIcon2 = {
|
|
20191
20230
|
// Can change to a Tupple with IconKey and color?
|
|
20192
20231
|
error: {
|
|
@@ -20240,25 +20279,25 @@ var defaultOffset = {
|
|
|
20240
20279
|
|
|
20241
20280
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
20242
20281
|
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
20243
|
-
var SnackbarContext = (0,
|
|
20282
|
+
var SnackbarContext = (0, import_react99.createContext)({ setNotices: () => {
|
|
20244
20283
|
}, setOffset: () => {
|
|
20245
20284
|
} });
|
|
20246
20285
|
function SnackbarProvider(props) {
|
|
20247
|
-
const [notices, setNotices] = (0,
|
|
20248
|
-
const [offset, setOffset] = (0,
|
|
20249
|
-
const contextValue = (0,
|
|
20286
|
+
const [notices, setNotices] = (0, import_react99.useState)([]);
|
|
20287
|
+
const [offset, setOffset] = (0, import_react99.useState)({});
|
|
20288
|
+
const contextValue = (0, import_react99.useMemo)(() => ({ setNotices, setOffset }), []);
|
|
20250
20289
|
return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(SnackbarContext.Provider, { value: contextValue, children: [
|
|
20251
20290
|
props.children,
|
|
20252
20291
|
/* @__PURE__ */ (0, import_jsx_runtime119.jsx)(Snackbar, { notices, offset })
|
|
20253
20292
|
] });
|
|
20254
20293
|
}
|
|
20255
20294
|
function useSnackbarContext() {
|
|
20256
|
-
return (0,
|
|
20295
|
+
return (0, import_react99.useContext)(SnackbarContext);
|
|
20257
20296
|
}
|
|
20258
20297
|
|
|
20259
20298
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
20260
20299
|
var import_framer_motion = require("framer-motion");
|
|
20261
|
-
var
|
|
20300
|
+
var import_react100 = require("react");
|
|
20262
20301
|
var import_react_dom4 = require("react-dom");
|
|
20263
20302
|
|
|
20264
20303
|
// src/components/SuperDrawer/utils.ts
|
|
@@ -20271,7 +20310,7 @@ var SuperDrawerWidth = /* @__PURE__ */ ((SuperDrawerWidth2) => {
|
|
|
20271
20310
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
20272
20311
|
var import_runtime90 = require("@homebound/truss/runtime");
|
|
20273
20312
|
var import_jsx_runtime120 = require("react/jsx-runtime");
|
|
20274
|
-
var
|
|
20313
|
+
var import_react101 = require("react");
|
|
20275
20314
|
function SuperDrawer() {
|
|
20276
20315
|
const {
|
|
20277
20316
|
drawerContentStack: contentStack,
|
|
@@ -20280,7 +20319,7 @@ function SuperDrawer() {
|
|
|
20280
20319
|
const {
|
|
20281
20320
|
closeDrawer
|
|
20282
20321
|
} = useSuperDrawer();
|
|
20283
|
-
const headerRef = (0,
|
|
20322
|
+
const headerRef = (0, import_react100.useRef)(null);
|
|
20284
20323
|
const testId = useTestIds({}, "superDrawer");
|
|
20285
20324
|
const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
|
|
20286
20325
|
const {
|
|
@@ -20290,7 +20329,7 @@ function SuperDrawer() {
|
|
|
20290
20329
|
const {
|
|
20291
20330
|
width: width2 = 1040 /* Normal */
|
|
20292
20331
|
} = firstContent ?? {};
|
|
20293
|
-
(0,
|
|
20332
|
+
(0, import_react100.useEffect)(() => {
|
|
20294
20333
|
if (content) {
|
|
20295
20334
|
document.body.style.overflow = "hidden";
|
|
20296
20335
|
return () => {
|
|
@@ -20298,7 +20337,7 @@ function SuperDrawer() {
|
|
|
20298
20337
|
};
|
|
20299
20338
|
}
|
|
20300
20339
|
}, [content]);
|
|
20301
|
-
(0,
|
|
20340
|
+
(0, import_react100.useEffect)(
|
|
20302
20341
|
() => {
|
|
20303
20342
|
if (headerRef.current?.childNodes.length === 0 && content) {
|
|
20304
20343
|
headerRef.current.appendChild(sdHeaderDiv);
|
|
@@ -20308,7 +20347,7 @@ function SuperDrawer() {
|
|
|
20308
20347
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20309
20348
|
[headerRef, content]
|
|
20310
20349
|
);
|
|
20311
|
-
return (0, import_react_dom4.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_framer_motion.AnimatePresence, { children: content && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_jsx_runtime120.Fragment, { children: /* @__PURE__ */ (0,
|
|
20350
|
+
return (0, import_react_dom4.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_framer_motion.AnimatePresence, { children: content && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_jsx_runtime120.Fragment, { children: /* @__PURE__ */ (0, import_react101.createElement)(
|
|
20312
20351
|
import_framer_motion.motion.div,
|
|
20313
20352
|
{
|
|
20314
20353
|
...testId,
|
|
@@ -20410,7 +20449,7 @@ function SuperDrawer() {
|
|
|
20410
20449
|
}
|
|
20411
20450
|
|
|
20412
20451
|
// src/components/Layout/FormPageLayout.tsx
|
|
20413
|
-
var
|
|
20452
|
+
var import_react113 = __toESM(require("react"), 1);
|
|
20414
20453
|
var import_react_aria52 = require("react-aria");
|
|
20415
20454
|
|
|
20416
20455
|
// src/forms/BoundCheckboxField.tsx
|
|
@@ -20636,7 +20675,7 @@ function BoundDateRangeField(props) {
|
|
|
20636
20675
|
}
|
|
20637
20676
|
|
|
20638
20677
|
// src/forms/BoundForm.tsx
|
|
20639
|
-
var
|
|
20678
|
+
var import_react103 = require("react");
|
|
20640
20679
|
|
|
20641
20680
|
// src/forms/BoundListField.tsx
|
|
20642
20681
|
var import_mobx_react7 = require("mobx-react");
|
|
@@ -21188,7 +21227,7 @@ function BoundTreeSelectField(props) {
|
|
|
21188
21227
|
}
|
|
21189
21228
|
|
|
21190
21229
|
// src/forms/FormLines.tsx
|
|
21191
|
-
var
|
|
21230
|
+
var import_react102 = require("react");
|
|
21192
21231
|
var import_runtime91 = require("@homebound/truss/runtime");
|
|
21193
21232
|
var import_jsx_runtime140 = require("react/jsx-runtime");
|
|
21194
21233
|
var __maybeInc19 = (inc) => {
|
|
@@ -21237,9 +21276,9 @@ function FormLines(props) {
|
|
|
21237
21276
|
width: ["w_var", {
|
|
21238
21277
|
"--width": (0, import_runtime91.maybeCssVar)(__maybeInc19(sizes[width2]))
|
|
21239
21278
|
}]
|
|
21240
|
-
}), children:
|
|
21279
|
+
}), children: import_react102.Children.map(children, (child) => {
|
|
21241
21280
|
if (child && typeof child === "object" && "type" in child && child.type.isFormHeading) {
|
|
21242
|
-
const clone = (0,
|
|
21281
|
+
const clone = (0, import_react102.cloneElement)(child, {
|
|
21243
21282
|
isFirst: firstFormHeading
|
|
21244
21283
|
});
|
|
21245
21284
|
firstFormHeading = false;
|
|
@@ -21284,7 +21323,7 @@ var sizes = {
|
|
|
21284
21323
|
// src/forms/BoundForm.tsx
|
|
21285
21324
|
var import_runtime92 = require("@homebound/truss/runtime");
|
|
21286
21325
|
var import_jsx_runtime141 = require("react/jsx-runtime");
|
|
21287
|
-
var
|
|
21326
|
+
var import_react104 = require("react");
|
|
21288
21327
|
var reactNodePrefix = "reactNode";
|
|
21289
21328
|
var listFieldPrefix = "listField";
|
|
21290
21329
|
function BoundForm(props) {
|
|
@@ -21293,7 +21332,7 @@ function BoundForm(props) {
|
|
|
21293
21332
|
formState
|
|
21294
21333
|
} = props;
|
|
21295
21334
|
const tid = useTestIds({}, "boundForm");
|
|
21296
|
-
const getRowKey = (0,
|
|
21335
|
+
const getRowKey = (0, import_react103.useCallback)((row, rowType) => {
|
|
21297
21336
|
return `${rowType}-${Object.keys(row).join("-")}`;
|
|
21298
21337
|
}, []);
|
|
21299
21338
|
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("div", { ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(FormLines, { width: "full", gap: 3.5, children: rows.map((row) => isListFieldRow(row) ? /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(ListField, { row, formState }, getRowKey(row, "listField")) : /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(FormRow, { row, formState }, getRowKey(row, "fieldGroup"))) }) });
|
|
@@ -21303,7 +21342,7 @@ function FormRow({
|
|
|
21303
21342
|
formState
|
|
21304
21343
|
}) {
|
|
21305
21344
|
const tid = useTestIds({}, "boundFormRow");
|
|
21306
|
-
const componentsWithConfig = (0,
|
|
21345
|
+
const componentsWithConfig = (0, import_react103.useMemo)(() => {
|
|
21307
21346
|
return Object.entries(row).map(([key, fieldFnOrCustomNode]) => {
|
|
21308
21347
|
if (typeof fieldFnOrCustomNode === "function" && !isCustomReactNodeKey(key)) {
|
|
21309
21348
|
const field = formState[key] ?? fail(`Field ${key.toString()} not found in formState`);
|
|
@@ -21337,7 +21376,7 @@ function FormRow({
|
|
|
21337
21376
|
component,
|
|
21338
21377
|
key,
|
|
21339
21378
|
minWidth
|
|
21340
|
-
}) => /* @__PURE__ */ (0,
|
|
21379
|
+
}) => /* @__PURE__ */ (0, import_react104.createElement)("div", { ...(0, import_runtime92.trussProps)({
|
|
21341
21380
|
minWidth: ["mw_var", {
|
|
21342
21381
|
"--minWidth": (0, import_runtime92.maybeCssVar)(minWidth)
|
|
21343
21382
|
}],
|
|
@@ -21454,7 +21493,7 @@ function boundTreeSelectField(props) {
|
|
|
21454
21493
|
}
|
|
21455
21494
|
|
|
21456
21495
|
// src/components/internal/CompoundField.tsx
|
|
21457
|
-
var
|
|
21496
|
+
var import_react105 = require("react");
|
|
21458
21497
|
var import_runtime93 = require("@homebound/truss/runtime");
|
|
21459
21498
|
var import_jsx_runtime142 = require("react/jsx-runtime");
|
|
21460
21499
|
function CompoundField({
|
|
@@ -21479,7 +21518,7 @@ function CompoundField({
|
|
|
21479
21518
|
const internalProps = {
|
|
21480
21519
|
compound: true
|
|
21481
21520
|
};
|
|
21482
|
-
const [hasFocusWithin, setHasFocusWithin] = (0,
|
|
21521
|
+
const [hasFocusWithin, setHasFocusWithin] = (0, import_react105.useState)(false);
|
|
21483
21522
|
function onFocusCapture() {
|
|
21484
21523
|
setHasFocusWithin(true);
|
|
21485
21524
|
}
|
|
@@ -21503,7 +21542,7 @@ function CompoundField({
|
|
|
21503
21542
|
"--borderColor": "var(--b-field-border-focus)"
|
|
21504
21543
|
}]
|
|
21505
21544
|
}
|
|
21506
|
-
}), children: (0,
|
|
21545
|
+
}), children: (0, import_react105.cloneElement)(children[0], {
|
|
21507
21546
|
internalProps
|
|
21508
21547
|
}) }),
|
|
21509
21548
|
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("div", { ...(0, import_runtime93.trussProps)({
|
|
@@ -21533,7 +21572,7 @@ function CompoundField({
|
|
|
21533
21572
|
"--borderColor": "var(--b-field-border-focus)"
|
|
21534
21573
|
}]
|
|
21535
21574
|
}
|
|
21536
|
-
}), children: (0,
|
|
21575
|
+
}), children: (0, import_react105.cloneElement)(children[1], {
|
|
21537
21576
|
internalProps
|
|
21538
21577
|
}) })
|
|
21539
21578
|
] });
|
|
@@ -21594,17 +21633,17 @@ FormHeading.isFormHeading = true;
|
|
|
21594
21633
|
|
|
21595
21634
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
21596
21635
|
var import_fast_deep_equal2 = __toESM(require("fast-deep-equal"), 1);
|
|
21597
|
-
var
|
|
21636
|
+
var import_react107 = require("react");
|
|
21598
21637
|
|
|
21599
21638
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
21600
|
-
var
|
|
21601
|
-
var DnDGridContext = (0,
|
|
21639
|
+
var import_react106 = require("react");
|
|
21640
|
+
var DnDGridContext = (0, import_react106.createContext)({
|
|
21602
21641
|
dragEl: { current: void 0 },
|
|
21603
21642
|
onDragHandleKeyDown: () => {
|
|
21604
21643
|
}
|
|
21605
21644
|
});
|
|
21606
21645
|
function useDnDGridContext() {
|
|
21607
|
-
return (0,
|
|
21646
|
+
return (0, import_react106.useContext)(DnDGridContext);
|
|
21608
21647
|
}
|
|
21609
21648
|
|
|
21610
21649
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
@@ -21617,13 +21656,13 @@ function DnDGrid(props) {
|
|
|
21617
21656
|
onReorder,
|
|
21618
21657
|
activeItemStyles
|
|
21619
21658
|
} = props;
|
|
21620
|
-
const gridEl = (0,
|
|
21621
|
-
const dragEl = (0,
|
|
21622
|
-
const cloneEl = (0,
|
|
21623
|
-
const initialOrder = (0,
|
|
21624
|
-
const styleSnapshot = (0,
|
|
21625
|
-
const reorderViaKeyboard = (0,
|
|
21626
|
-
const transformFrom = (0,
|
|
21659
|
+
const gridEl = (0, import_react107.useRef)(null);
|
|
21660
|
+
const dragEl = (0, import_react107.useRef)();
|
|
21661
|
+
const cloneEl = (0, import_react107.useRef)();
|
|
21662
|
+
const initialOrder = (0, import_react107.useRef)();
|
|
21663
|
+
const styleSnapshot = (0, import_react107.useRef)();
|
|
21664
|
+
const reorderViaKeyboard = (0, import_react107.useRef)(false);
|
|
21665
|
+
const transformFrom = (0, import_react107.useRef)({
|
|
21627
21666
|
x: 0,
|
|
21628
21667
|
y: 0
|
|
21629
21668
|
});
|
|
@@ -21631,20 +21670,20 @@ function DnDGrid(props) {
|
|
|
21631
21670
|
const activeStyles3 = activeItemStyles ?? {
|
|
21632
21671
|
boxShadow: "bshModal"
|
|
21633
21672
|
};
|
|
21634
|
-
const getGridItems = (0,
|
|
21673
|
+
const getGridItems = (0, import_react107.useCallback)(() => {
|
|
21635
21674
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
21636
21675
|
}, []);
|
|
21637
|
-
const getGridItemIdOrder = (0,
|
|
21676
|
+
const getGridItemIdOrder = (0, import_react107.useCallback)(() => {
|
|
21638
21677
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
21639
21678
|
}, [getGridItems]);
|
|
21640
|
-
const initReorder = (0,
|
|
21679
|
+
const initReorder = (0, import_react107.useCallback)(() => {
|
|
21641
21680
|
if (gridEl.current && dragEl.current) {
|
|
21642
21681
|
initialOrder.current = getGridItemIdOrder();
|
|
21643
21682
|
styleSnapshot.current = snapshotElementStyle(dragEl.current);
|
|
21644
21683
|
applyActiveStyles(dragEl.current, activeStyles3);
|
|
21645
21684
|
}
|
|
21646
21685
|
}, [getGridItemIdOrder, activeStyles3]);
|
|
21647
|
-
const commitReorder = (0,
|
|
21686
|
+
const commitReorder = (0, import_react107.useCallback)(() => {
|
|
21648
21687
|
if (gridEl.current && dragEl.current) {
|
|
21649
21688
|
const currentOrder = getGridItemIdOrder();
|
|
21650
21689
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -21654,7 +21693,7 @@ function DnDGrid(props) {
|
|
|
21654
21693
|
initialOrder.current = currentOrder;
|
|
21655
21694
|
}
|
|
21656
21695
|
}, [onReorder, getGridItemIdOrder]);
|
|
21657
|
-
const cancelReorder = (0,
|
|
21696
|
+
const cancelReorder = (0, import_react107.useCallback)(() => {
|
|
21658
21697
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
21659
21698
|
const currentOrder = getGridItemIdOrder();
|
|
21660
21699
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) {
|
|
@@ -21676,7 +21715,7 @@ function DnDGrid(props) {
|
|
|
21676
21715
|
reorderViaKeyboard.current = false;
|
|
21677
21716
|
}
|
|
21678
21717
|
}, [getGridItemIdOrder, getGridItems]);
|
|
21679
|
-
const onMove = (0,
|
|
21718
|
+
const onMove = (0, import_react107.useCallback)((e) => {
|
|
21680
21719
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
21681
21720
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
21682
21721
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -21699,7 +21738,7 @@ function DnDGrid(props) {
|
|
|
21699
21738
|
}
|
|
21700
21739
|
}
|
|
21701
21740
|
}, []);
|
|
21702
|
-
const onDragStart = (0,
|
|
21741
|
+
const onDragStart = (0, import_react107.useCallback)((e) => {
|
|
21703
21742
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
21704
21743
|
const rect = dragEl.current.getBoundingClientRect();
|
|
21705
21744
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
@@ -21728,7 +21767,7 @@ function DnDGrid(props) {
|
|
|
21728
21767
|
gridEl.current.addEventListener("touchmove", onMove);
|
|
21729
21768
|
}
|
|
21730
21769
|
}, [initReorder, onMove]);
|
|
21731
|
-
const onDragEnd = (0,
|
|
21770
|
+
const onDragEnd = (0, import_react107.useCallback)((e) => {
|
|
21732
21771
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
21733
21772
|
e.preventDefault();
|
|
21734
21773
|
cloneEl.current.replaceWith(dragEl.current);
|
|
@@ -21740,7 +21779,7 @@ function DnDGrid(props) {
|
|
|
21740
21779
|
gridEl.current.removeEventListener("touchmove", onMove);
|
|
21741
21780
|
}
|
|
21742
21781
|
}, [commitReorder, onMove]);
|
|
21743
|
-
const onDragHandleKeyDown = (0,
|
|
21782
|
+
const onDragHandleKeyDown = (0, import_react107.useCallback)((e) => {
|
|
21744
21783
|
const moveHandle = e.target;
|
|
21745
21784
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
21746
21785
|
const isSpaceKey = e.key === " ";
|
|
@@ -21920,7 +21959,7 @@ var headingByLevel = {
|
|
|
21920
21959
|
var import_runtime99 = require("@homebound/truss/runtime");
|
|
21921
21960
|
|
|
21922
21961
|
// src/forms/FormSection/FormSectionChild.tsx
|
|
21923
|
-
var
|
|
21962
|
+
var import_react109 = require("react");
|
|
21924
21963
|
|
|
21925
21964
|
// src/components/DnDGrid/DnDGridItemHandle.tsx
|
|
21926
21965
|
var import_react_aria51 = require("react-aria");
|
|
@@ -21977,11 +22016,11 @@ function DnDGridItemHandle(props) {
|
|
|
21977
22016
|
}
|
|
21978
22017
|
|
|
21979
22018
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
21980
|
-
var
|
|
22019
|
+
var import_react108 = require("react");
|
|
21981
22020
|
function useDnDGridItem(props) {
|
|
21982
22021
|
const { id, itemRef } = props;
|
|
21983
22022
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
21984
|
-
const { dragItemProps, dragHandleProps } = (0,
|
|
22023
|
+
const { dragItemProps, dragHandleProps } = (0, import_react108.useMemo)(() => {
|
|
21985
22024
|
function initDraggable() {
|
|
21986
22025
|
if (itemRef.current) {
|
|
21987
22026
|
dragEl.current = itemRef.current;
|
|
@@ -22014,7 +22053,7 @@ function FormSectionChild(props) {
|
|
|
22014
22053
|
orderField
|
|
22015
22054
|
} = props;
|
|
22016
22055
|
const tid = useTestIds(props, "formSectionChild");
|
|
22017
|
-
const itemRef = (0,
|
|
22056
|
+
const itemRef = (0, import_react109.useRef)(null);
|
|
22018
22057
|
const isDraggable = !!orderField;
|
|
22019
22058
|
const {
|
|
22020
22059
|
dragItemProps,
|
|
@@ -22101,7 +22140,7 @@ function sortByOrderField(childSections) {
|
|
|
22101
22140
|
}
|
|
22102
22141
|
|
|
22103
22142
|
// src/forms/StaticField.tsx
|
|
22104
|
-
var
|
|
22143
|
+
var import_utils130 = require("@react-aria/utils");
|
|
22105
22144
|
var import_runtime100 = require("@homebound/truss/runtime");
|
|
22106
22145
|
var import_jsx_runtime151 = require("react/jsx-runtime");
|
|
22107
22146
|
function StaticField(props) {
|
|
@@ -22115,7 +22154,7 @@ function StaticField(props) {
|
|
|
22115
22154
|
children
|
|
22116
22155
|
} = props;
|
|
22117
22156
|
const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
|
|
22118
|
-
const id = (0,
|
|
22157
|
+
const id = (0, import_utils130.useId)();
|
|
22119
22158
|
return /* @__PURE__ */ (0, import_jsx_runtime151.jsxs)("div", { ...(0, import_runtime100.trussProps)({
|
|
22120
22159
|
...labelStyle === "left" ? {
|
|
22121
22160
|
display: "df",
|
|
@@ -22182,7 +22221,7 @@ var import_use_debounce6 = require("use-debounce");
|
|
|
22182
22221
|
|
|
22183
22222
|
// src/components/RightSidebar.tsx
|
|
22184
22223
|
var import_framer_motion2 = require("framer-motion");
|
|
22185
|
-
var
|
|
22224
|
+
var import_react110 = require("react");
|
|
22186
22225
|
var import_runtime101 = require("@homebound/truss/runtime");
|
|
22187
22226
|
var import_jsx_runtime153 = require("react/jsx-runtime");
|
|
22188
22227
|
var __maybeInc20 = (inc) => {
|
|
@@ -22193,7 +22232,7 @@ function RightSidebar({
|
|
|
22193
22232
|
content,
|
|
22194
22233
|
headerHeightPx: headerHeightPx2
|
|
22195
22234
|
}) {
|
|
22196
|
-
const [selectedIcon, setSelectedIcon] = (0,
|
|
22235
|
+
const [selectedIcon, setSelectedIcon] = (0, import_react110.useState)(void 0);
|
|
22197
22236
|
const tid = useTestIds({}, "rightSidebar");
|
|
22198
22237
|
return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)(import_jsx_runtime153.Fragment, { children: [
|
|
22199
22238
|
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { className: "df jcfe absolute right0 pr3", children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_framer_motion2.AnimatePresence, { children: !selectedIcon && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_framer_motion2.motion.div, { className: "df fdc gap2 z1", initial: {
|
|
@@ -22294,9 +22333,9 @@ function IconButtonList({
|
|
|
22294
22333
|
}
|
|
22295
22334
|
|
|
22296
22335
|
// src/components/Toast/ToastContext.tsx
|
|
22297
|
-
var
|
|
22336
|
+
var import_react111 = require("react");
|
|
22298
22337
|
var import_jsx_runtime154 = require("react/jsx-runtime");
|
|
22299
|
-
var ToastContext = (0,
|
|
22338
|
+
var ToastContext = (0, import_react111.createContext)({
|
|
22300
22339
|
setNotice: () => {
|
|
22301
22340
|
throw new Error("Missing ToastProvider");
|
|
22302
22341
|
},
|
|
@@ -22305,13 +22344,13 @@ var ToastContext = (0, import_react110.createContext)({
|
|
|
22305
22344
|
notice: void 0
|
|
22306
22345
|
});
|
|
22307
22346
|
function ToastProvider(props) {
|
|
22308
|
-
const [notice, setNotice] = (0,
|
|
22309
|
-
const clear = (0,
|
|
22310
|
-
const contextValue = (0,
|
|
22347
|
+
const [notice, setNotice] = (0, import_react111.useState)();
|
|
22348
|
+
const clear = (0, import_react111.useCallback)(() => setNotice(void 0), [setNotice]);
|
|
22349
|
+
const contextValue = (0, import_react111.useMemo)(() => ({ setNotice, notice, clear }), [notice, clear]);
|
|
22311
22350
|
return /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(ToastContext.Provider, { value: contextValue, children: props.children });
|
|
22312
22351
|
}
|
|
22313
22352
|
function useToastContext() {
|
|
22314
|
-
return (0,
|
|
22353
|
+
return (0, import_react111.useContext)(ToastContext);
|
|
22315
22354
|
}
|
|
22316
22355
|
|
|
22317
22356
|
// src/components/Toast/Toast.tsx
|
|
@@ -22323,7 +22362,7 @@ function Toast() {
|
|
|
22323
22362
|
}
|
|
22324
22363
|
|
|
22325
22364
|
// src/components/Layout/PageHeaderBreadcrumbs.tsx
|
|
22326
|
-
var
|
|
22365
|
+
var import_react112 = require("react");
|
|
22327
22366
|
var import_react_router_dom5 = require("react-router-dom");
|
|
22328
22367
|
var import_runtime102 = require("@homebound/truss/runtime");
|
|
22329
22368
|
var import_jsx_runtime156 = (
|
|
@@ -22334,10 +22373,10 @@ function PageHeaderBreadcrumbs({
|
|
|
22334
22373
|
breadcrumb
|
|
22335
22374
|
}) {
|
|
22336
22375
|
const tids = useTestIds({}, "pageHeaderBreadcrumbs");
|
|
22337
|
-
const breadcrumbs = (0,
|
|
22338
|
-
const [collapsed, setCollapsed] = (0,
|
|
22376
|
+
const breadcrumbs = (0, import_react112.useMemo)(() => Array.isArray(breadcrumb) ? breadcrumb : [breadcrumb], [breadcrumb]);
|
|
22377
|
+
const [collapsed, setCollapsed] = (0, import_react112.useState)(true);
|
|
22339
22378
|
function renderBreadcrumb(bc, index, hideDivisor) {
|
|
22340
|
-
return /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)(
|
|
22379
|
+
return /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)(import_react112.Fragment, { children: [
|
|
22341
22380
|
index > 0 && !hideDivisor && /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("span", { ...(0, import_runtime102.trussProps)({
|
|
22342
22381
|
fontWeight: "fw6",
|
|
22343
22382
|
fontSize: "fz_14px",
|
|
@@ -22388,9 +22427,9 @@ function FormPageLayoutComponent(props) {
|
|
|
22388
22427
|
rightSideBar
|
|
22389
22428
|
} = props;
|
|
22390
22429
|
const tids = useTestIds(props, "formPageLayout");
|
|
22391
|
-
const sectionsWithRefs = (0,
|
|
22430
|
+
const sectionsWithRefs = (0, import_react113.useMemo)(() => formSections.map((section, id) => ({
|
|
22392
22431
|
section,
|
|
22393
|
-
ref: (0,
|
|
22432
|
+
ref: (0, import_react113.createRef)(),
|
|
22394
22433
|
// Unique key for each section to use in the observer
|
|
22395
22434
|
sectionKey: `section-${section.title ?? id}`
|
|
22396
22435
|
})), [formSections]);
|
|
@@ -22443,7 +22482,7 @@ function FormPageLayoutComponent(props) {
|
|
|
22443
22482
|
] }) })
|
|
22444
22483
|
);
|
|
22445
22484
|
}
|
|
22446
|
-
var FormPageLayout =
|
|
22485
|
+
var FormPageLayout = import_react113.default.memo(FormPageLayoutComponent);
|
|
22447
22486
|
function PageHeader(props) {
|
|
22448
22487
|
const {
|
|
22449
22488
|
pageTitle,
|
|
@@ -22540,7 +22579,7 @@ function LeftNav(props) {
|
|
|
22540
22579
|
sectionsWithRefs
|
|
22541
22580
|
} = props;
|
|
22542
22581
|
const tids = useTestIds(props);
|
|
22543
|
-
const sectionWithTitles = (0,
|
|
22582
|
+
const sectionWithTitles = (0, import_react113.useMemo)(() => sectionsWithRefs.filter(({
|
|
22544
22583
|
section
|
|
22545
22584
|
}) => !!section.title), [sectionsWithRefs]);
|
|
22546
22585
|
const activeSection = useActiveSection(sectionWithTitles);
|
|
@@ -22591,14 +22630,14 @@ function SectionNavLink(props) {
|
|
|
22591
22630
|
ref: sectionRef
|
|
22592
22631
|
} = sectionWithRef;
|
|
22593
22632
|
const active = activeSection === sectionWithRef.sectionKey;
|
|
22594
|
-
const handleNavClick = (0,
|
|
22633
|
+
const handleNavClick = (0, import_react113.useCallback)(() => {
|
|
22595
22634
|
sectionRef.current?.scrollIntoView({
|
|
22596
22635
|
behavior: "smooth",
|
|
22597
22636
|
block: "start"
|
|
22598
22637
|
});
|
|
22599
22638
|
}, [sectionRef]);
|
|
22600
22639
|
const tids = useTestIds(props);
|
|
22601
|
-
const buttonRef = (0,
|
|
22640
|
+
const buttonRef = (0, import_react113.useRef)(null);
|
|
22602
22641
|
const {
|
|
22603
22642
|
buttonProps,
|
|
22604
22643
|
isPressed
|
|
@@ -22640,7 +22679,7 @@ function SectionNavLink(props) {
|
|
|
22640
22679
|
}), ...tids.sectionNavLink, children: section.title });
|
|
22641
22680
|
}
|
|
22642
22681
|
function useActiveSection(sectionsWithRefs) {
|
|
22643
|
-
const [activeSection, setActiveSection] = (0,
|
|
22682
|
+
const [activeSection, setActiveSection] = (0, import_react113.useState)(null);
|
|
22644
22683
|
const debouncedIntersectionCallback = (0, import_use_debounce6.useDebouncedCallback)((entries) => {
|
|
22645
22684
|
const sectionsInView = entries.filter((entry) => entry.isIntersecting && entry.intersectionRatio > 0.2).sort((a, b) => {
|
|
22646
22685
|
const ratioDiff = b.intersectionRatio - a.intersectionRatio;
|
|
@@ -22655,7 +22694,7 @@ function useActiveSection(sectionsWithRefs) {
|
|
|
22655
22694
|
}, 200, {
|
|
22656
22695
|
maxWait: 500
|
|
22657
22696
|
});
|
|
22658
|
-
(0,
|
|
22697
|
+
(0, import_react113.useEffect)(() => {
|
|
22659
22698
|
if (!("IntersectionObserver" in window)) return;
|
|
22660
22699
|
const observer2 = new IntersectionObserver((entries) => debouncedIntersectionCallback(entries), {
|
|
22661
22700
|
/**
|
|
@@ -22691,7 +22730,7 @@ function useActiveSection(sectionsWithRefs) {
|
|
|
22691
22730
|
|
|
22692
22731
|
// src/components/Layout/FullBleed.tsx
|
|
22693
22732
|
var import_runtime104 = require("@homebound/truss/runtime");
|
|
22694
|
-
var
|
|
22733
|
+
var import_react114 = require("react");
|
|
22695
22734
|
var __maybeInc21 = (inc) => {
|
|
22696
22735
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
22697
22736
|
};
|
|
@@ -22708,7 +22747,7 @@ function FullBleed({
|
|
|
22708
22747
|
style,
|
|
22709
22748
|
...others
|
|
22710
22749
|
} = children.props;
|
|
22711
|
-
return paddingRight === "0px" && paddingLeft === "0px" ? children : (0,
|
|
22750
|
+
return paddingRight === "0px" && paddingLeft === "0px" ? children : (0, import_react114.cloneElement)(
|
|
22712
22751
|
children,
|
|
22713
22752
|
// The child might already have className/style set, let Css.props also create
|
|
22714
22753
|
// a className/style, and then mergeProps the two together.
|
|
@@ -22747,8 +22786,8 @@ function invertSpacing(value) {
|
|
|
22747
22786
|
}
|
|
22748
22787
|
|
|
22749
22788
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
22750
|
-
var
|
|
22751
|
-
var
|
|
22789
|
+
var import_utils150 = require("@react-aria/utils");
|
|
22790
|
+
var import_react127 = __toESM(require("react"), 1);
|
|
22752
22791
|
|
|
22753
22792
|
// src/components/Filters/utils.tsx
|
|
22754
22793
|
function getActiveFilterCount(filter) {
|
|
@@ -22769,30 +22808,30 @@ function isGridTableProps(props) {
|
|
|
22769
22808
|
}
|
|
22770
22809
|
|
|
22771
22810
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPaneLayout.tsx
|
|
22772
|
-
var
|
|
22811
|
+
var import_react118 = require("react");
|
|
22773
22812
|
var import_runtime106 = require("@homebound/truss/runtime");
|
|
22774
22813
|
|
|
22775
22814
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
22776
22815
|
var import_framer_motion3 = require("framer-motion");
|
|
22777
|
-
var
|
|
22816
|
+
var import_react117 = require("react");
|
|
22778
22817
|
var import_react_aria53 = require("react-aria");
|
|
22779
22818
|
var import_react_dom5 = require("react-dom");
|
|
22780
22819
|
|
|
22781
22820
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayoutHeightContext.tsx
|
|
22782
|
-
var
|
|
22821
|
+
var import_react115 = require("react");
|
|
22783
22822
|
var import_jsx_runtime158 = require("react/jsx-runtime");
|
|
22784
|
-
var EnvironmentBannerLayoutHeightContext = (0,
|
|
22823
|
+
var EnvironmentBannerLayoutHeightContext = (0, import_react115.createContext)(0);
|
|
22785
22824
|
function EnvironmentBannerLayoutHeightProvider({ value, children }) {
|
|
22786
22825
|
return /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(EnvironmentBannerLayoutHeightContext.Provider, { value, children });
|
|
22787
22826
|
}
|
|
22788
22827
|
function useEnvironmentBannerLayoutHeight() {
|
|
22789
|
-
return (0,
|
|
22828
|
+
return (0, import_react115.useContext)(EnvironmentBannerLayoutHeightContext);
|
|
22790
22829
|
}
|
|
22791
22830
|
|
|
22792
22831
|
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
22793
|
-
var
|
|
22832
|
+
var import_react116 = __toESM(require("react"), 1);
|
|
22794
22833
|
var import_jsx_runtime159 = require("react/jsx-runtime");
|
|
22795
|
-
var RightPaneContext =
|
|
22834
|
+
var RightPaneContext = import_react116.default.createContext({
|
|
22796
22835
|
openInPane: () => {
|
|
22797
22836
|
},
|
|
22798
22837
|
closePane: () => {
|
|
@@ -22803,25 +22842,25 @@ var RightPaneContext = import_react115.default.createContext({
|
|
|
22803
22842
|
rightPaneContent: null
|
|
22804
22843
|
});
|
|
22805
22844
|
function RightPaneProvider({ children }) {
|
|
22806
|
-
const [rightPaneContent, setRightPaneContent] = (0,
|
|
22807
|
-
const [isRightPaneOpen, setIsRightPaneOpen] = (0,
|
|
22808
|
-
const openInPane = (0,
|
|
22845
|
+
const [rightPaneContent, setRightPaneContent] = (0, import_react116.useState)(void 0);
|
|
22846
|
+
const [isRightPaneOpen, setIsRightPaneOpen] = (0, import_react116.useState)(false);
|
|
22847
|
+
const openInPane = (0, import_react116.useCallback)(
|
|
22809
22848
|
(opts) => {
|
|
22810
22849
|
setRightPaneContent(opts?.content);
|
|
22811
22850
|
setIsRightPaneOpen(true);
|
|
22812
22851
|
},
|
|
22813
22852
|
[setRightPaneContent]
|
|
22814
22853
|
);
|
|
22815
|
-
const closePane = (0,
|
|
22816
|
-
const clearPane = (0,
|
|
22817
|
-
const context = (0,
|
|
22854
|
+
const closePane = (0, import_react116.useCallback)(() => setIsRightPaneOpen(false), []);
|
|
22855
|
+
const clearPane = (0, import_react116.useCallback)(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
22856
|
+
const context = (0, import_react116.useMemo)(
|
|
22818
22857
|
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
22819
22858
|
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
22820
22859
|
);
|
|
22821
22860
|
return /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(RightPaneContext.Provider, { value: context, children });
|
|
22822
22861
|
}
|
|
22823
22862
|
function useRightPaneContext() {
|
|
22824
|
-
return (0,
|
|
22863
|
+
return (0, import_react116.useContext)(RightPaneContext);
|
|
22825
22864
|
}
|
|
22826
22865
|
|
|
22827
22866
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
@@ -22848,7 +22887,7 @@ function DocumentScrollRightPane({
|
|
|
22848
22887
|
(0, import_react_aria53.usePreventScroll)({
|
|
22849
22888
|
isDisabled: !isMobileOverlay
|
|
22850
22889
|
});
|
|
22851
|
-
(0,
|
|
22890
|
+
(0, import_react117.useEffect)(() => closePane, [closePane]);
|
|
22852
22891
|
const slideX = sm ? "100%" : paneWidth;
|
|
22853
22892
|
const pane = /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(import_framer_motion3.AnimatePresence, { children: isRightPaneOpen && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(import_framer_motion3.motion.div, { ...tid, ...(0, import_runtime105.mergeProps)(void 0, sm ? {
|
|
22854
22893
|
top: bannerHeightPx
|
|
@@ -22919,7 +22958,7 @@ function DocumentScrollRightPaneLayout(props) {
|
|
|
22919
22958
|
} = useBreakpoint();
|
|
22920
22959
|
const isSplitPaneOpen = isRightPaneOpen && !sm;
|
|
22921
22960
|
const effectivePaneWidth = isSplitPaneOpen ? documentScrollRightPaneWidth(paneWidth) : "0px";
|
|
22922
|
-
(0,
|
|
22961
|
+
(0, import_react118.useLayoutEffect)(() => {
|
|
22923
22962
|
const root = document.documentElement;
|
|
22924
22963
|
const previous = root.style.getPropertyValue(beamFloatingRightOffsetVar);
|
|
22925
22964
|
root.style.setProperty(beamFloatingRightOffsetVar, effectivePaneWidth);
|
|
@@ -22969,10 +23008,10 @@ function DocumentScrollRightPaneSpacer({
|
|
|
22969
23008
|
}
|
|
22970
23009
|
|
|
22971
23010
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
22972
|
-
var
|
|
23011
|
+
var import_react124 = require("react");
|
|
22973
23012
|
|
|
22974
23013
|
// src/components/ButtonMenu.tsx
|
|
22975
|
-
var
|
|
23014
|
+
var import_react119 = require("react");
|
|
22976
23015
|
var import_react_aria54 = require("react-aria");
|
|
22977
23016
|
var import_react_stately17 = require("react-stately");
|
|
22978
23017
|
var import_jsx_runtime162 = require("react/jsx-runtime");
|
|
@@ -22984,7 +23023,7 @@ function ButtonMenu(props) {
|
|
|
22984
23023
|
onChange = props.onChange;
|
|
22985
23024
|
}
|
|
22986
23025
|
const state = (0, import_react_stately17.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
22987
|
-
const buttonRef = (0,
|
|
23026
|
+
const buttonRef = (0, import_react119.useRef)(null);
|
|
22988
23027
|
const { menuTriggerProps, menuProps } = (0, import_react_aria54.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
22989
23028
|
const tid = useTestIds(
|
|
22990
23029
|
props,
|
|
@@ -23500,7 +23539,7 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
23500
23539
|
};
|
|
23501
23540
|
|
|
23502
23541
|
// src/components/Filters/FilterModal.tsx
|
|
23503
|
-
var
|
|
23542
|
+
var import_react121 = require("react");
|
|
23504
23543
|
|
|
23505
23544
|
// src/components/Modal/ConfirmCloseModal.tsx
|
|
23506
23545
|
var import_jsx_runtime172 = require("react/jsx-runtime");
|
|
@@ -23547,12 +23586,12 @@ function ConfirmCloseModal(props) {
|
|
|
23547
23586
|
}
|
|
23548
23587
|
|
|
23549
23588
|
// src/components/Modal/OpenModal.tsx
|
|
23550
|
-
var
|
|
23589
|
+
var import_react120 = require("react");
|
|
23551
23590
|
var import_jsx_runtime173 = require("react/jsx-runtime");
|
|
23552
23591
|
function OpenModal(props) {
|
|
23553
23592
|
const { openModal } = useModal();
|
|
23554
23593
|
const { size, children, keepOpen, aiMode } = props;
|
|
23555
|
-
(0,
|
|
23594
|
+
(0, import_react120.useEffect)(() => {
|
|
23556
23595
|
if (!keepOpen) {
|
|
23557
23596
|
openModal({ size, content: children, aiMode });
|
|
23558
23597
|
}
|
|
@@ -23577,7 +23616,7 @@ function FilterModal(props) {
|
|
|
23577
23616
|
const {
|
|
23578
23617
|
closeModal
|
|
23579
23618
|
} = useModal();
|
|
23580
|
-
const [modalFilter, setModalFilter] = (0,
|
|
23619
|
+
const [modalFilter, setModalFilter] = (0, import_react121.useState)(filter);
|
|
23581
23620
|
return /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(import_jsx_runtime174.Fragment, { children: [
|
|
23582
23621
|
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(ModalHeader, { children: "More Filters" }),
|
|
23583
23622
|
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { className: "df fdc", children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(modalFilter[key], (value) => setModalFilter(updateFilter(modalFilter, key, value)), testId, true, false) }, key)) }) }),
|
|
@@ -23620,7 +23659,7 @@ function ModalFilterItem({
|
|
|
23620
23659
|
}
|
|
23621
23660
|
|
|
23622
23661
|
// src/components/Filters/Filters.tsx
|
|
23623
|
-
var
|
|
23662
|
+
var import_react122 = require("react");
|
|
23624
23663
|
var import_runtime109 = require("@homebound/truss/runtime");
|
|
23625
23664
|
var import_jsx_runtime175 = require("react/jsx-runtime");
|
|
23626
23665
|
function Filters(props) {
|
|
@@ -23636,7 +23675,7 @@ function Filters(props) {
|
|
|
23636
23675
|
const {
|
|
23637
23676
|
openModal
|
|
23638
23677
|
} = useModal();
|
|
23639
|
-
const [pageFilters, modalFilters] = (0,
|
|
23678
|
+
const [pageFilters, modalFilters] = (0, import_react122.useMemo)(() => {
|
|
23640
23679
|
const impls = safeEntries(filterDefs).map(([key, fn]) => [key, fn(key)]);
|
|
23641
23680
|
if (!vertical && impls.length > numberOfInlineFilters) {
|
|
23642
23681
|
return [Object.fromEntries(impls.slice(0, numberOfInlineFilters - 1)), Object.fromEntries(impls.slice(numberOfInlineFilters - 1))];
|
|
@@ -23665,7 +23704,7 @@ function Filters(props) {
|
|
|
23665
23704
|
Object.keys(filter).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange({}), ...testId.clearBtn }) })
|
|
23666
23705
|
] });
|
|
23667
23706
|
}
|
|
23668
|
-
var _Filters = (0,
|
|
23707
|
+
var _Filters = (0, import_react122.memo)(Filters);
|
|
23669
23708
|
|
|
23670
23709
|
// src/components/Filters/ToggleFilter.tsx
|
|
23671
23710
|
var import_jsx_runtime176 = require("react/jsx-runtime");
|
|
@@ -23703,7 +23742,7 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
23703
23742
|
};
|
|
23704
23743
|
|
|
23705
23744
|
// src/components/Table/components/EditColumnsButton.tsx
|
|
23706
|
-
var
|
|
23745
|
+
var import_react123 = require("react");
|
|
23707
23746
|
var import_react_aria55 = require("react-aria");
|
|
23708
23747
|
var import_react_stately18 = require("react-stately");
|
|
23709
23748
|
var import_runtime110 = require("@homebound/truss/runtime");
|
|
@@ -23718,7 +23757,7 @@ function EditColumnsButton(props) {
|
|
|
23718
23757
|
const state = (0, import_react_stately18.useMenuTriggerState)({
|
|
23719
23758
|
isOpen: defaultOpen
|
|
23720
23759
|
});
|
|
23721
|
-
const buttonRef = (0,
|
|
23760
|
+
const buttonRef = (0, import_react123.useRef)(null);
|
|
23722
23761
|
const {
|
|
23723
23762
|
menuTriggerProps
|
|
23724
23763
|
} = (0, import_react_aria55.useMenuTrigger)({
|
|
@@ -23728,7 +23767,7 @@ function EditColumnsButton(props) {
|
|
|
23728
23767
|
const {
|
|
23729
23768
|
sm
|
|
23730
23769
|
} = useBreakpoint();
|
|
23731
|
-
const options = (0,
|
|
23770
|
+
const options = (0, import_react123.useMemo)(() => columns.filter((column2) => column2.canHide).filter((column2) => {
|
|
23732
23771
|
if (!column2.name || column2.name.length === 0 || !column2.id || column2.id.length === 0) {
|
|
23733
23772
|
console.warn("Column is missing 'name' and/or 'id' property required by the Edit Columns button", column2);
|
|
23734
23773
|
return false;
|
|
@@ -23739,11 +23778,11 @@ function EditColumnsButton(props) {
|
|
|
23739
23778
|
value: column2.id
|
|
23740
23779
|
})), [columns]);
|
|
23741
23780
|
const selectedValues = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
23742
|
-
const setSelectedValues = (0,
|
|
23781
|
+
const setSelectedValues = (0, import_react123.useCallback)((ids) => {
|
|
23743
23782
|
api.resetColumnWidths();
|
|
23744
23783
|
api.setVisibleColumns(columns.filter((column2) => column2.canHide ? ids.includes(column2.id) : true).map((c) => c.id));
|
|
23745
23784
|
}, [columns, api]);
|
|
23746
|
-
const hasHiddenColumn = (0,
|
|
23785
|
+
const hasHiddenColumn = (0, import_react123.useMemo)(() => {
|
|
23747
23786
|
const selectableOptionValues = options.map((option) => option.value);
|
|
23748
23787
|
return selectableOptionValues.some((option) => !selectedValues.includes(option));
|
|
23749
23788
|
}, [options, selectedValues]);
|
|
@@ -23768,7 +23807,7 @@ function EditColumnsButton(props) {
|
|
|
23768
23807
|
maxHeight: "maxh_512px",
|
|
23769
23808
|
boxShadow: "bshBasic h_bshHover"
|
|
23770
23809
|
}), children: [
|
|
23771
|
-
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)("div", { className: "dg gtc_1fr_auto gap2 pt2 pb2 pr2 pl2 fg1 mh0 oya", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(
|
|
23810
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)("div", { className: "dg gtc_1fr_auto gap2 pt2 pb2 pr2 pl2 fg1 mh0 oya", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(import_react123.Fragment, { children: [
|
|
23772
23811
|
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)("div", { className: "fw4 fz_14px lh_20px wsnw oh to_ellipsis pr1", children: option.label }),
|
|
23773
23812
|
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Switch, { compact: true, selected: selectedValues.includes(option.value), onChange: (value) => setSelectedValues(value ? [...selectedValues, option.value] : selectedValues.filter((v) => v !== option.value)), labelStyle: "hidden", label: option.label, ...tid[`option${option.value}`] })
|
|
23774
23813
|
] }, option.value)) }),
|
|
@@ -23948,14 +23987,14 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
23948
23987
|
sm
|
|
23949
23988
|
} = useBreakpoint();
|
|
23950
23989
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
23951
|
-
const [showSearch, setShowSearch] = (0,
|
|
23952
|
-
const [showFilters, setShowFilters] = (0,
|
|
23990
|
+
const [showSearch, setShowSearch] = (0, import_react124.useState)(false);
|
|
23991
|
+
const [showFilters, setShowFilters] = (0, import_react124.useState)(false);
|
|
23953
23992
|
const [{
|
|
23954
23993
|
search: initialValue
|
|
23955
23994
|
}, setQueryParams] = (0, import_use_query_params3.useQueryParams)({
|
|
23956
23995
|
search: import_use_query_params3.StringParam
|
|
23957
23996
|
});
|
|
23958
|
-
const [searchValue, setSearchValue] = (0,
|
|
23997
|
+
const [searchValue, setSearchValue] = (0, import_react124.useState)(initialValue || "");
|
|
23959
23998
|
const handleSearchDebounced = (0, import_use_debounce7.useDebouncedCallback)((value) => {
|
|
23960
23999
|
if (searchProps) {
|
|
23961
24000
|
searchProps.onSearch(value);
|
|
@@ -23970,8 +24009,8 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
23970
24009
|
const controlCount = filterCount + (hasGroupBy ? 1 : 0);
|
|
23971
24010
|
const hasFilterControls = controlCount > 0;
|
|
23972
24011
|
const showInlineControl = !sm && controlCount === 1 && (hasGroupBy || !!(filter && setFilter));
|
|
23973
|
-
const activeFilterCount = (0,
|
|
23974
|
-
const filterImpls = (0,
|
|
24012
|
+
const activeFilterCount = (0, import_react124.useMemo)(() => filter ? getActiveFilterCount(filter) : 0, [filter]);
|
|
24013
|
+
const filterImpls = (0, import_react124.useMemo)(() => filterDefs ? buildFilterImpls(filterDefs) : {}, [filterDefs]);
|
|
23975
24014
|
const searchTextField = /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(TextField, { label: "Search", labelStyle: "hidden", value: searchValue, onChange: (v) => {
|
|
23976
24015
|
setSearchValue(v ?? "");
|
|
23977
24016
|
handleSearchDebounced(v ?? "");
|
|
@@ -24027,10 +24066,10 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
24027
24066
|
hasFilterControls && !showInlineControl && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(FilterPanel, { isOpen: showFilters, groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
|
|
24028
24067
|
] });
|
|
24029
24068
|
}
|
|
24030
|
-
var _GridTableLayoutActions = (0,
|
|
24069
|
+
var _GridTableLayoutActions = (0, import_react124.memo)(GridTableLayoutActionsComponent);
|
|
24031
24070
|
|
|
24032
24071
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
24033
|
-
var
|
|
24072
|
+
var import_react125 = require("react");
|
|
24034
24073
|
|
|
24035
24074
|
// src/components/LoadingSkeleton.tsx
|
|
24036
24075
|
var import_runtime113 = require("@homebound/truss/runtime");
|
|
@@ -24090,9 +24129,9 @@ function QueryTable(props) {
|
|
|
24090
24129
|
...others
|
|
24091
24130
|
} = props;
|
|
24092
24131
|
const data = query.loading || query.error ? void 0 : query.data;
|
|
24093
|
-
const rows = (0,
|
|
24132
|
+
const rows = (0, import_react125.useMemo)(() => createRows(data), [createRows, data]);
|
|
24094
24133
|
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : void 0;
|
|
24095
|
-
const emptyState = (0,
|
|
24134
|
+
const emptyState = (0, import_react125.useMemo)(() => {
|
|
24096
24135
|
if (query.loading || query.error) return void 0;
|
|
24097
24136
|
if (emptyStateProp) return emptyStateProp;
|
|
24098
24137
|
return { title: emptyFallback };
|
|
@@ -24109,10 +24148,10 @@ function LoadingTable(props) {
|
|
|
24109
24148
|
}
|
|
24110
24149
|
|
|
24111
24150
|
// src/components/Layout/GridTableLayout/usePersistedTableView.ts
|
|
24112
|
-
var
|
|
24151
|
+
var import_react126 = require("react");
|
|
24113
24152
|
function usePersistedTableView(defaultView, persist) {
|
|
24114
24153
|
const storageKey = persist ? getGridTableViewStorageKey(window.location.pathname) : void 0;
|
|
24115
|
-
const [view, setView] = (0,
|
|
24154
|
+
const [view, setView] = (0, import_react126.useState)(() => {
|
|
24116
24155
|
if (!storageKey) return defaultView;
|
|
24117
24156
|
try {
|
|
24118
24157
|
return parseStoredTableView(localStorage.getItem(storageKey)) ?? defaultView;
|
|
@@ -24120,7 +24159,7 @@ function usePersistedTableView(defaultView, persist) {
|
|
|
24120
24159
|
return defaultView;
|
|
24121
24160
|
}
|
|
24122
24161
|
});
|
|
24123
|
-
const setViewAndPersist = (0,
|
|
24162
|
+
const setViewAndPersist = (0, import_react126.useCallback)(
|
|
24124
24163
|
(next) => {
|
|
24125
24164
|
setView(next);
|
|
24126
24165
|
if (storageKey) {
|
|
@@ -24161,36 +24200,36 @@ function GridTableLayoutComponent(props) {
|
|
|
24161
24200
|
const rightPaneWidth = withRightPane === true ? defaultDocumentScrollRightPaneWidth : typeof withRightPane === "number" ? withRightPane : void 0;
|
|
24162
24201
|
const tid = useTestIds(props);
|
|
24163
24202
|
const columns = tableProps.columns;
|
|
24164
|
-
const hasHideableColumns = (0,
|
|
24203
|
+
const hasHideableColumns = (0, import_react127.useMemo)(() => {
|
|
24165
24204
|
if (hideEditColumns) return false;
|
|
24166
24205
|
validateColumns(columns);
|
|
24167
24206
|
return columns.some((c) => c.canHide);
|
|
24168
24207
|
}, [columns, hideEditColumns]);
|
|
24169
|
-
const api = (0,
|
|
24208
|
+
const api = (0, import_react127.useMemo)(() => tableProps.api ?? new GridTableApiImpl(), [tableProps.api]);
|
|
24170
24209
|
const [view, setView] = usePersistedTableView(defaultView, !!withCardView);
|
|
24171
24210
|
const clientSearch = layoutState?.search === "client" ? layoutState.searchString : void 0;
|
|
24172
24211
|
const showTableActions = !!(layoutState?.filterDefs || layoutState?.search || hasHideableColumns || withCardView || actionMenu);
|
|
24173
24212
|
const isVirtualized = tableProps.as === "virtual" || view === "card";
|
|
24174
24213
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
24175
|
-
const tableActionsRef = (0,
|
|
24176
|
-
const tableWrapperRef = (0,
|
|
24214
|
+
const tableActionsRef = (0, import_react127.useRef)(null);
|
|
24215
|
+
const tableWrapperRef = (0, import_react127.useRef)(null);
|
|
24177
24216
|
useSetTableActionsHeight(tableWrapperRef, tableActionsRef, inDocumentScrollLayout && showTableActions);
|
|
24178
24217
|
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
24179
|
-
(0,
|
|
24218
|
+
(0, import_react127.useEffect)(() => {
|
|
24180
24219
|
if (layoutState?.setVisibleColumnIds) {
|
|
24181
24220
|
layoutState.setVisibleColumnIds(visibleColumnIds);
|
|
24182
24221
|
}
|
|
24183
24222
|
}, [visibleColumnIds, layoutState]);
|
|
24184
24223
|
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
24185
|
-
const filterSearchProps = (0,
|
|
24224
|
+
const filterSearchProps = (0, import_react127.useMemo)(() => layoutState?.search ? {
|
|
24186
24225
|
onSearch: layoutState.setSearchString
|
|
24187
24226
|
} : void 0, [layoutState?.search, layoutState?.setSearchString]);
|
|
24188
|
-
const searchApiRef = (0,
|
|
24189
|
-
const clearFilters = (0,
|
|
24227
|
+
const searchApiRef = (0, import_react127.useRef)();
|
|
24228
|
+
const clearFilters = (0, import_react127.useCallback)(() => {
|
|
24190
24229
|
layoutState?.clearFilters();
|
|
24191
24230
|
searchApiRef.current?.clear();
|
|
24192
24231
|
}, [layoutState]);
|
|
24193
|
-
const emptyState = (0,
|
|
24232
|
+
const emptyState = (0, import_react127.useMemo)(() => composeEmptyState(tableProps, layoutState, layoutEmptyFallback, clearFilters), [layoutEmptyFallback, layoutState, tableProps, clearFilters]);
|
|
24194
24233
|
const tableActionsEl = /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(_GridTableLayoutActions, { filterDefs: layoutState?.filterDefs, filter: layoutState?.filter, setFilter: layoutState?.setFilter, groupBy: layoutState?.groupBy, searchProps: filterSearchProps, hasHideableColumns, columns, api, withCardView, view, setView, clearFilters, searchApi: searchApiRef, actionMenu });
|
|
24195
24234
|
const cardAs = view === "card" ? "card" : void 0;
|
|
24196
24235
|
const tableStyle = resolveGridTableLayoutStyle(tableProps.style, inDocumentScrollLayout);
|
|
@@ -24231,7 +24270,7 @@ function GridTableLayoutComponent(props) {
|
|
|
24231
24270
|
/* @__PURE__ */ (0, import_jsx_runtime184.jsx)("div", { ref: tableWrapperRef, className: "display_contents", ...tid.tableWrapper, children: tableScrollContent })
|
|
24232
24271
|
);
|
|
24233
24272
|
}
|
|
24234
|
-
var GridTableLayout =
|
|
24273
|
+
var GridTableLayout = import_react127.default.memo(GridTableLayoutComponent);
|
|
24235
24274
|
function validateColumns(columns) {
|
|
24236
24275
|
for (const col of columns) {
|
|
24237
24276
|
if (!col.id || !col.name) {
|
|
@@ -24256,11 +24295,11 @@ function useGridTableLayoutState({
|
|
|
24256
24295
|
const groupBy = useGroupBy(maybeGroupBy ?? {
|
|
24257
24296
|
none: "none"
|
|
24258
24297
|
});
|
|
24259
|
-
const [searchString, setSearchString] = (0,
|
|
24298
|
+
const [searchString, setSearchString] = (0, import_react127.useState)("");
|
|
24260
24299
|
const columnsFallback = "unset-columns";
|
|
24261
24300
|
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(persistedColumns?.storageKey ?? columnsFallback, void 0);
|
|
24262
24301
|
const filteringActive = getActiveFilterCount(filter) > 0 || !!searchString;
|
|
24263
|
-
const clearFilters = (0,
|
|
24302
|
+
const clearFilters = (0, import_react127.useCallback)(() => {
|
|
24264
24303
|
setFilter({});
|
|
24265
24304
|
setSearchString("");
|
|
24266
24305
|
}, [setFilter]);
|
|
@@ -24291,7 +24330,7 @@ function composeEmptyState(tableProps, layoutState, layoutEmptyFallback, clearFi
|
|
|
24291
24330
|
};
|
|
24292
24331
|
}
|
|
24293
24332
|
function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
24294
|
-
const syncHeightVar = (0,
|
|
24333
|
+
const syncHeightVar = (0, import_react127.useCallback)(() => {
|
|
24295
24334
|
const tableWrapper = tableWrapperRef.current;
|
|
24296
24335
|
if (!tableWrapper) return;
|
|
24297
24336
|
if (!enabled) {
|
|
@@ -24305,11 +24344,11 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
24305
24344
|
tableWrapper.style.removeProperty(beamTableActionsHeightVar);
|
|
24306
24345
|
}
|
|
24307
24346
|
}, [enabled, tableActionsRef, tableWrapperRef]);
|
|
24308
|
-
(0,
|
|
24347
|
+
(0, import_utils150.useResizeObserver)({
|
|
24309
24348
|
ref: tableActionsRef,
|
|
24310
24349
|
onResize: enabled ? syncHeightVar : noop
|
|
24311
24350
|
});
|
|
24312
|
-
(0,
|
|
24351
|
+
(0, import_react127.useLayoutEffect)(() => {
|
|
24313
24352
|
syncHeightVar();
|
|
24314
24353
|
const tableWrapper = tableWrapperRef.current;
|
|
24315
24354
|
return () => {
|
|
@@ -24349,7 +24388,7 @@ function PreventBrowserScroll({
|
|
|
24349
24388
|
|
|
24350
24389
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
24351
24390
|
var import_framer_motion4 = require("framer-motion");
|
|
24352
|
-
var
|
|
24391
|
+
var import_react128 = require("react");
|
|
24353
24392
|
var import_runtime115 = require("@homebound/truss/runtime");
|
|
24354
24393
|
var import_jsx_runtime186 = require("react/jsx-runtime");
|
|
24355
24394
|
var __maybeInc24 = (inc) => {
|
|
@@ -24368,7 +24407,7 @@ function RightPaneLayout(props) {
|
|
|
24368
24407
|
clearPane,
|
|
24369
24408
|
closePane
|
|
24370
24409
|
} = useRightPaneContext();
|
|
24371
|
-
(0,
|
|
24410
|
+
(0, import_react128.useEffect)(() => closePane, [closePane]);
|
|
24372
24411
|
return /* @__PURE__ */ (0, import_jsx_runtime186.jsx)("div", { className: "h100 df oxh", children: /* @__PURE__ */ (0, import_jsx_runtime186.jsxs)(import_jsx_runtime186.Fragment, { children: [
|
|
24373
24412
|
/* @__PURE__ */ (0, import_jsx_runtime186.jsx)("div", { ...(0, import_runtime115.trussProps)({
|
|
24374
24413
|
...{
|
|
@@ -24480,7 +24519,7 @@ function ScrollableFooter(props) {
|
|
|
24480
24519
|
|
|
24481
24520
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
24482
24521
|
var import_framer_motion5 = require("framer-motion");
|
|
24483
|
-
var
|
|
24522
|
+
var import_react129 = require("react");
|
|
24484
24523
|
|
|
24485
24524
|
// src/components/Layout/TableReviewLayout/SidePanel.tsx
|
|
24486
24525
|
var import_jsx_runtime188 = require("react/jsx-runtime");
|
|
@@ -24520,8 +24559,8 @@ function TableReviewLayout(props) {
|
|
|
24520
24559
|
rightPaneWidth = defaultRightPaneWidth
|
|
24521
24560
|
} = props;
|
|
24522
24561
|
const tid = useTestIds(props, "tableReviewLayout");
|
|
24523
|
-
const [isPanelVisible, setIsPanelVisible] = (0,
|
|
24524
|
-
(0,
|
|
24562
|
+
const [isPanelVisible, setIsPanelVisible] = (0, import_react129.useState)(!!panelContent);
|
|
24563
|
+
(0, import_react129.useEffect)(() => {
|
|
24525
24564
|
setIsPanelVisible(!!panelContent);
|
|
24526
24565
|
}, [panelContent]);
|
|
24527
24566
|
function handleClosePanel() {
|
|
@@ -24634,7 +24673,7 @@ function TableReviewLayout(props) {
|
|
|
24634
24673
|
|
|
24635
24674
|
// src/components/BeamContext.tsx
|
|
24636
24675
|
var import_jsx_runtime190 = require("react/jsx-runtime");
|
|
24637
|
-
var BeamContext = (0,
|
|
24676
|
+
var BeamContext = (0, import_react130.createContext)({
|
|
24638
24677
|
modalState: new EmptyRef(),
|
|
24639
24678
|
modalCanCloseChecks: new EmptyRef(),
|
|
24640
24679
|
modalHeaderDiv: void 0,
|
|
@@ -24647,22 +24686,22 @@ var BeamContext = (0, import_react129.createContext)({
|
|
|
24647
24686
|
sdHeaderDiv: void 0
|
|
24648
24687
|
});
|
|
24649
24688
|
function BeamProvider({ children, documentTitleConfig, ...presentationProps }) {
|
|
24650
|
-
const [, tick] = (0,
|
|
24651
|
-
const modalRef = (0,
|
|
24652
|
-
const modalHeaderDiv = (0,
|
|
24653
|
-
const modalBannerDiv = (0,
|
|
24654
|
-
const modalBodyDiv = (0,
|
|
24689
|
+
const [, tick] = (0, import_react130.useReducer)((prev) => prev + 1, 0);
|
|
24690
|
+
const modalRef = (0, import_react130.useRef)();
|
|
24691
|
+
const modalHeaderDiv = (0, import_react130.useMemo)(() => document.createElement("div"), []);
|
|
24692
|
+
const modalBannerDiv = (0, import_react130.useMemo)(() => document.createElement("div"), []);
|
|
24693
|
+
const modalBodyDiv = (0, import_react130.useMemo)(() => {
|
|
24655
24694
|
const el = document.createElement("div");
|
|
24656
24695
|
el.style.height = "100%";
|
|
24657
24696
|
return el;
|
|
24658
24697
|
}, []);
|
|
24659
|
-
const modalCanCloseChecksRef = (0,
|
|
24660
|
-
const modalFooterDiv = (0,
|
|
24661
|
-
const drawerContentStackRef = (0,
|
|
24662
|
-
const drawerCanCloseChecks = (0,
|
|
24663
|
-
const drawerCanCloseDetailsChecks = (0,
|
|
24664
|
-
const sdHeaderDiv = (0,
|
|
24665
|
-
const context = (0,
|
|
24698
|
+
const modalCanCloseChecksRef = (0, import_react130.useRef)([]);
|
|
24699
|
+
const modalFooterDiv = (0, import_react130.useMemo)(() => document.createElement("div"), []);
|
|
24700
|
+
const drawerContentStackRef = (0, import_react130.useRef)([]);
|
|
24701
|
+
const drawerCanCloseChecks = (0, import_react130.useRef)([]);
|
|
24702
|
+
const drawerCanCloseDetailsChecks = (0, import_react130.useRef)([]);
|
|
24703
|
+
const sdHeaderDiv = (0, import_react130.useMemo)(() => document.createElement("div"), []);
|
|
24704
|
+
const context = (0, import_react130.useMemo)(() => {
|
|
24666
24705
|
return {
|
|
24667
24706
|
// These two keys need to trigger re-renders on change
|
|
24668
24707
|
modalState: new PretendRefThatTicks(modalRef, tick),
|
|
@@ -24701,11 +24740,11 @@ var PretendRefThatTicks = class {
|
|
|
24701
24740
|
}
|
|
24702
24741
|
};
|
|
24703
24742
|
function useBeamContext() {
|
|
24704
|
-
return (0,
|
|
24743
|
+
return (0, import_react130.useContext)(BeamContext);
|
|
24705
24744
|
}
|
|
24706
24745
|
|
|
24707
24746
|
// src/components/Breadcrumbs.tsx
|
|
24708
|
-
var
|
|
24747
|
+
var import_react131 = require("react");
|
|
24709
24748
|
var import_react_router_dom6 = require("react-router-dom");
|
|
24710
24749
|
var import_runtime117 = require("@homebound/truss/runtime");
|
|
24711
24750
|
var import_jsx_runtime191 = (
|
|
@@ -24717,14 +24756,14 @@ function Breadcrumbs({
|
|
|
24717
24756
|
}) {
|
|
24718
24757
|
const tid = useTestIds({}, "breadcrumb");
|
|
24719
24758
|
const items = Array.isArray(breadcrumbs) ? breadcrumbs : [breadcrumbs];
|
|
24720
|
-
const [collapsed, setCollapsed] = (0,
|
|
24759
|
+
const [collapsed, setCollapsed] = (0, import_react131.useState)(true);
|
|
24721
24760
|
const {
|
|
24722
24761
|
sm
|
|
24723
24762
|
} = useBreakpoint();
|
|
24724
24763
|
const leadCount = sm ? 1 : 2;
|
|
24725
24764
|
const shouldCollapse = collapsed && items.length >= leadCount + 2;
|
|
24726
24765
|
function renderBreadcrumb(bc, index, isLast) {
|
|
24727
|
-
return /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)(
|
|
24766
|
+
return /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)(import_react131.Fragment, { children: [
|
|
24728
24767
|
index > 0 && /* @__PURE__ */ (0, import_jsx_runtime191.jsx)("span", { className: "fs0 fw4 fz_12px lh_16px", children: "/" }),
|
|
24729
24768
|
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)(import_react_router_dom6.Link, { ...tid.link, to: bc.href, title: bc.label, ...(0, import_runtime117.trussProps)({
|
|
24730
24769
|
...{
|
|
@@ -24753,14 +24792,14 @@ function Breadcrumbs({
|
|
|
24753
24792
|
}
|
|
24754
24793
|
|
|
24755
24794
|
// src/components/ButtonDatePicker.tsx
|
|
24756
|
-
var
|
|
24795
|
+
var import_react132 = require("react");
|
|
24757
24796
|
var import_react_aria57 = require("react-aria");
|
|
24758
24797
|
var import_react_stately19 = require("react-stately");
|
|
24759
24798
|
var import_jsx_runtime192 = require("react/jsx-runtime");
|
|
24760
24799
|
function ButtonDatePicker(props) {
|
|
24761
24800
|
const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
|
|
24762
24801
|
const state = (0, import_react_stately19.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
24763
|
-
const buttonRef = (0,
|
|
24802
|
+
const buttonRef = (0, import_react132.useRef)(null);
|
|
24764
24803
|
const {
|
|
24765
24804
|
menuTriggerProps,
|
|
24766
24805
|
menuProps: { autoFocus: _af, ...menuProps }
|
|
@@ -24783,7 +24822,7 @@ function ButtonDatePicker(props) {
|
|
|
24783
24822
|
}
|
|
24784
24823
|
|
|
24785
24824
|
// src/components/ButtonGroup.tsx
|
|
24786
|
-
var
|
|
24825
|
+
var import_react133 = require("react");
|
|
24787
24826
|
var import_react_aria58 = require("react-aria");
|
|
24788
24827
|
var import_runtime118 = require("@homebound/truss/runtime");
|
|
24789
24828
|
var import_jsx_runtime193 = (
|
|
@@ -24831,7 +24870,7 @@ function GroupButton(props) {
|
|
|
24831
24870
|
isDisabled: !!disabled,
|
|
24832
24871
|
...otherProps
|
|
24833
24872
|
};
|
|
24834
|
-
const ref = (0,
|
|
24873
|
+
const ref = (0, import_react133.useRef)(null);
|
|
24835
24874
|
const {
|
|
24836
24875
|
buttonProps,
|
|
24837
24876
|
isPressed
|
|
@@ -24965,12 +25004,12 @@ var iconStyles2 = {
|
|
|
24965
25004
|
};
|
|
24966
25005
|
|
|
24967
25006
|
// src/components/Card.tsx
|
|
24968
|
-
var
|
|
25007
|
+
var import_react135 = require("react");
|
|
24969
25008
|
var import_react_aria59 = require("react-aria");
|
|
24970
25009
|
|
|
24971
25010
|
// src/components/Tag.tsx
|
|
24972
|
-
var
|
|
24973
|
-
var
|
|
25011
|
+
var import_utils159 = require("@react-aria/utils");
|
|
25012
|
+
var import_react134 = require("react");
|
|
24974
25013
|
var import_runtime119 = require("@homebound/truss/runtime");
|
|
24975
25014
|
var import_jsx_runtime194 = require("react/jsx-runtime");
|
|
24976
25015
|
function Tag(props) {
|
|
@@ -24992,9 +25031,9 @@ function Tag(props) {
|
|
|
24992
25031
|
padding
|
|
24993
25032
|
} = getVariantStyles(variant, type);
|
|
24994
25033
|
const tid = useTestIds(otherProps);
|
|
24995
|
-
const [showTooltip, setShowTooltip] = (0,
|
|
24996
|
-
const ref = (0,
|
|
24997
|
-
(0,
|
|
25034
|
+
const [showTooltip, setShowTooltip] = (0, import_react134.useState)(false);
|
|
25035
|
+
const ref = (0, import_react134.useRef)(null);
|
|
25036
|
+
(0, import_utils159.useResizeObserver)({
|
|
24998
25037
|
ref,
|
|
24999
25038
|
onResize: () => {
|
|
25000
25039
|
if (!isIconOnly && ref.current) {
|
|
@@ -25137,7 +25176,7 @@ function Card(props) {
|
|
|
25137
25176
|
});
|
|
25138
25177
|
const isList = type === "list";
|
|
25139
25178
|
const imgHeight = isList ? 96 : bordered ? 224 : 256;
|
|
25140
|
-
const styles = (0,
|
|
25179
|
+
const styles = (0, import_react135.useMemo)(() => ({
|
|
25141
25180
|
...baseStyles3(type),
|
|
25142
25181
|
...fullWidth && fullWidthStyles,
|
|
25143
25182
|
...isList && listStyles,
|
|
@@ -25487,12 +25526,12 @@ function setEnvironmentFavicon(env, favicons) {
|
|
|
25487
25526
|
}
|
|
25488
25527
|
|
|
25489
25528
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
25490
|
-
var
|
|
25529
|
+
var import_react137 = require("react");
|
|
25491
25530
|
|
|
25492
25531
|
// src/components/Grid/utils.ts
|
|
25493
|
-
var
|
|
25532
|
+
var import_react136 = require("react");
|
|
25494
25533
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
25495
|
-
var ResponsiveGridContext = (0,
|
|
25534
|
+
var ResponsiveGridContext = (0, import_react136.createContext)(void 0);
|
|
25496
25535
|
|
|
25497
25536
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
25498
25537
|
var import_runtime123 = require("@homebound/truss/runtime");
|
|
@@ -25511,7 +25550,7 @@ function ResponsiveGrid(props) {
|
|
|
25511
25550
|
gap,
|
|
25512
25551
|
columns
|
|
25513
25552
|
});
|
|
25514
|
-
const config = (0,
|
|
25553
|
+
const config = (0, import_react137.useMemo)(() => ({
|
|
25515
25554
|
minColumnWidth,
|
|
25516
25555
|
gap,
|
|
25517
25556
|
columns
|
|
@@ -25538,7 +25577,7 @@ function ResponsiveGridItem(props) {
|
|
|
25538
25577
|
}
|
|
25539
25578
|
|
|
25540
25579
|
// src/components/Grid/useResponsiveGrid.ts
|
|
25541
|
-
var
|
|
25580
|
+
var import_react138 = require("react");
|
|
25542
25581
|
var import_runtime125 = require("@homebound/truss/runtime");
|
|
25543
25582
|
var __maybeInc25 = (inc) => {
|
|
25544
25583
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -25549,7 +25588,7 @@ function useResponsiveGrid(props) {
|
|
|
25549
25588
|
gap,
|
|
25550
25589
|
columns
|
|
25551
25590
|
} = props;
|
|
25552
|
-
const gridStyles = (0,
|
|
25591
|
+
const gridStyles = (0, import_react138.useMemo)(() => {
|
|
25553
25592
|
const gapCount = columns - 1;
|
|
25554
25593
|
const totalGapWidth = gap * gapCount;
|
|
25555
25594
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -25572,14 +25611,14 @@ function useResponsiveGrid(props) {
|
|
|
25572
25611
|
}
|
|
25573
25612
|
|
|
25574
25613
|
// src/components/Grid/useResponsiveGridItem.ts
|
|
25575
|
-
var
|
|
25614
|
+
var import_react139 = require("react");
|
|
25576
25615
|
var injectedResponsiveGridClasses = /* @__PURE__ */ new Set();
|
|
25577
25616
|
var responsiveGridStyleEl;
|
|
25578
25617
|
function useResponsiveGridItem(props) {
|
|
25579
25618
|
const { colSpan = 1, gridConfig } = props;
|
|
25580
|
-
const contextConfig = (0,
|
|
25619
|
+
const contextConfig = (0, import_react139.useContext)(ResponsiveGridContext);
|
|
25581
25620
|
const config = gridConfig ?? contextConfig;
|
|
25582
|
-
const { className, cssText } = (0,
|
|
25621
|
+
const { className, cssText } = (0, import_react139.useMemo)(() => {
|
|
25583
25622
|
if (!config || colSpan <= 1) return { className: "", cssText: "" };
|
|
25584
25623
|
const { minColumnWidth, gap } = config;
|
|
25585
25624
|
const className2 = responsiveGridItemClassName(config, colSpan);
|
|
@@ -25602,7 +25641,7 @@ function useResponsiveGridItem(props) {
|
|
|
25602
25641
|
};
|
|
25603
25642
|
}
|
|
25604
25643
|
function useResponsiveGridItemStyle(className, cssText) {
|
|
25605
|
-
(0,
|
|
25644
|
+
(0, import_react139.useEffect)(
|
|
25606
25645
|
function() {
|
|
25607
25646
|
if (!className || !cssText || typeof document === "undefined") return;
|
|
25608
25647
|
if (!responsiveGridStyleEl) {
|
|
@@ -25624,7 +25663,7 @@ function responsiveGridItemClassName(config, colSpan) {
|
|
|
25624
25663
|
}
|
|
25625
25664
|
|
|
25626
25665
|
// src/components/HbLoadingSpinner.tsx
|
|
25627
|
-
var
|
|
25666
|
+
var import_react140 = __toESM(require("react"), 1);
|
|
25628
25667
|
|
|
25629
25668
|
// src/components/HbLoadingSpinner.base64.ts
|
|
25630
25669
|
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";
|
|
@@ -25637,9 +25676,9 @@ function HbLoadingSpinner({
|
|
|
25637
25676
|
extraQuipsOnly,
|
|
25638
25677
|
iconOnly
|
|
25639
25678
|
}) {
|
|
25640
|
-
const ctx = (0,
|
|
25679
|
+
const ctx = (0, import_react140.useContext)(HbLoadingSpinnerContext);
|
|
25641
25680
|
const tid = useTestIds({}, "hbSpinner");
|
|
25642
|
-
const quip = (0,
|
|
25681
|
+
const quip = (0, import_react140.useMemo)(() => {
|
|
25643
25682
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
25644
25683
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
25645
25684
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
@@ -25669,7 +25708,7 @@ function HbLoadingSpinner({
|
|
|
25669
25708
|
var dotDotDot = (str) => str.concat("...");
|
|
25670
25709
|
var HB_QUIPS_MISSION = ["Loading", "One Team", "On a Mission", "Executing Relentlessly", "Building Better", "In Service of Our Customers"].map(dotDotDot);
|
|
25671
25710
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
25672
|
-
var HbLoadingSpinnerContext =
|
|
25711
|
+
var HbLoadingSpinnerContext = import_react140.default.createContext({
|
|
25673
25712
|
quips: ["Loading..."],
|
|
25674
25713
|
noQuips: false
|
|
25675
25714
|
});
|
|
@@ -25677,18 +25716,95 @@ function HbSpinnerProvider({
|
|
|
25677
25716
|
quips = [],
|
|
25678
25717
|
children
|
|
25679
25718
|
}) {
|
|
25680
|
-
const state = (0,
|
|
25719
|
+
const state = (0, import_react140.useMemo)(() => ({
|
|
25681
25720
|
quips,
|
|
25682
25721
|
noQuips: quips.length === 0
|
|
25683
25722
|
}), [quips]);
|
|
25684
25723
|
return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
25685
25724
|
}
|
|
25686
25725
|
|
|
25687
|
-
// src/components/
|
|
25688
|
-
var import_react140 = require("react");
|
|
25689
|
-
var import_react_aria61 = require("react-aria");
|
|
25726
|
+
// src/components/InlineFeedbackBanner.tsx
|
|
25690
25727
|
var import_runtime126 = require("@homebound/truss/runtime");
|
|
25691
25728
|
var import_jsx_runtime201 = require("react/jsx-runtime");
|
|
25729
|
+
function InlineFeedbackBanner(props) {
|
|
25730
|
+
const {
|
|
25731
|
+
type,
|
|
25732
|
+
tagText,
|
|
25733
|
+
description,
|
|
25734
|
+
actions = []
|
|
25735
|
+
} = props;
|
|
25736
|
+
const {
|
|
25737
|
+
icon,
|
|
25738
|
+
tagType,
|
|
25739
|
+
borderColor,
|
|
25740
|
+
fallbackTagText
|
|
25741
|
+
} = typeStyles2[type];
|
|
25742
|
+
const tid = useTestIds(props, "inlineFeedbackBanner");
|
|
25743
|
+
const tagProps = tagText ? {
|
|
25744
|
+
type: tagType,
|
|
25745
|
+
icon,
|
|
25746
|
+
text: tagText
|
|
25747
|
+
} : {
|
|
25748
|
+
type: tagType,
|
|
25749
|
+
icon,
|
|
25750
|
+
text: fallbackTagText,
|
|
25751
|
+
iconOnly: true
|
|
25752
|
+
};
|
|
25753
|
+
return /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)("div", { ...(0, import_runtime126.trussProps)({
|
|
25754
|
+
display: "df",
|
|
25755
|
+
alignItems: "ais",
|
|
25756
|
+
gap: "gap1",
|
|
25757
|
+
width: "w100",
|
|
25758
|
+
paddingTop: "pt1",
|
|
25759
|
+
paddingBottom: "pb1",
|
|
25760
|
+
paddingRight: "pr1",
|
|
25761
|
+
paddingLeft: "pl1",
|
|
25762
|
+
borderRadius: "br4",
|
|
25763
|
+
fontWeight: "fw4",
|
|
25764
|
+
fontSize: "fz_12px",
|
|
25765
|
+
lineHeight: "lh_16px",
|
|
25766
|
+
backgroundColor: ["bgColor_var", {
|
|
25767
|
+
"--backgroundColor": "var(--b-surface)"
|
|
25768
|
+
}],
|
|
25769
|
+
borderStyle: "bss",
|
|
25770
|
+
borderWidth: "bw1",
|
|
25771
|
+
borderColor: ["bc_var", {
|
|
25772
|
+
"--borderColor": (0, import_runtime126.maybeCssVar)(borderColor)
|
|
25773
|
+
}],
|
|
25774
|
+
boxShadow: "bshBasic"
|
|
25775
|
+
}), ...tid, children: [
|
|
25776
|
+
/* @__PURE__ */ (0, import_jsx_runtime201.jsx)("span", { className: "df fs0", children: /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(Tag, { ...tagProps, ...tid.tag }) }),
|
|
25777
|
+
/* @__PURE__ */ (0, import_jsx_runtime201.jsx)("span", { ...(0, import_runtime126.trussProps)({
|
|
25778
|
+
flexGrow: "fg1",
|
|
25779
|
+
minWidth: "mw0",
|
|
25780
|
+
color: ["color_var", {
|
|
25781
|
+
"--color": "var(--b-on-surface)"
|
|
25782
|
+
}]
|
|
25783
|
+
}), ...tid.description, children: description }),
|
|
25784
|
+
actions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { className: "df aic gap_1_5 fs0", children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(Button, { ...action, variant: "text" }, `${action.label}`)) })
|
|
25785
|
+
] });
|
|
25786
|
+
}
|
|
25787
|
+
var typeStyles2 = {
|
|
25788
|
+
error: {
|
|
25789
|
+
icon: "xCircle",
|
|
25790
|
+
tagType: "error",
|
|
25791
|
+
borderColor: "--b-danger" /* Danger */,
|
|
25792
|
+
fallbackTagText: "Error"
|
|
25793
|
+
},
|
|
25794
|
+
// Warning has no semantic border token
|
|
25795
|
+
warning: {
|
|
25796
|
+
icon: "error",
|
|
25797
|
+
tagType: "warning",
|
|
25798
|
+
borderColor: "rgba(194, 65, 12, 1)" /* Orange700 */,
|
|
25799
|
+
fallbackTagText: "Warning"
|
|
25800
|
+
}
|
|
25801
|
+
};
|
|
25802
|
+
|
|
25803
|
+
// src/components/JumpLink.tsx
|
|
25804
|
+
var import_react141 = require("react");
|
|
25805
|
+
var import_react_aria61 = require("react-aria");
|
|
25806
|
+
var import_runtime127 = require("@homebound/truss/runtime");
|
|
25807
|
+
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
25692
25808
|
function JumpLink(props) {
|
|
25693
25809
|
const {
|
|
25694
25810
|
label,
|
|
@@ -25698,7 +25814,7 @@ function JumpLink(props) {
|
|
|
25698
25814
|
__storyState,
|
|
25699
25815
|
...otherProps
|
|
25700
25816
|
} = props;
|
|
25701
|
-
const ref = (0,
|
|
25817
|
+
const ref = (0, import_react141.useRef)(null);
|
|
25702
25818
|
const {
|
|
25703
25819
|
linkProps
|
|
25704
25820
|
} = (0, import_react_aria61.useLink)({
|
|
@@ -25730,14 +25846,14 @@ function JumpLink(props) {
|
|
|
25730
25846
|
});
|
|
25731
25847
|
}
|
|
25732
25848
|
}
|
|
25733
|
-
return /* @__PURE__ */ (0,
|
|
25849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("a", { ref, ...(0, import_react_aria61.mergeProps)(linkProps, focusProps, hoverProps), ...tid, ...(0, import_runtime127.trussProps)({
|
|
25734
25850
|
...jumpLinkStyles.baseStyles,
|
|
25735
25851
|
...active && jumpLinkStyles.activeStyles,
|
|
25736
25852
|
...isHovered && !disabled && jumpLinkStyles.hoverStyles,
|
|
25737
25853
|
...isFocusVisible && jumpLinkStyles.focusStyles,
|
|
25738
25854
|
...disabled && jumpLinkStyles.disabledStyles,
|
|
25739
25855
|
...disabled && active && jumpLinkStyles.disabledActiveStyles
|
|
25740
|
-
}), children: /* @__PURE__ */ (0,
|
|
25856
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("span", { className: "oh d_negwebkit_box wbo_vertical to_ellipsis wlc_2", children: label }) });
|
|
25741
25857
|
}
|
|
25742
25858
|
var jumpLinkStyles = {
|
|
25743
25859
|
baseStyles: {
|
|
@@ -25785,37 +25901,37 @@ var jumpLinkStyles = {
|
|
|
25785
25901
|
};
|
|
25786
25902
|
|
|
25787
25903
|
// src/components/MaxLines.tsx
|
|
25788
|
-
var
|
|
25789
|
-
var
|
|
25790
|
-
var
|
|
25791
|
-
var
|
|
25904
|
+
var import_utils168 = require("@react-aria/utils");
|
|
25905
|
+
var import_react142 = require("react");
|
|
25906
|
+
var import_runtime128 = require("@homebound/truss/runtime");
|
|
25907
|
+
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
25792
25908
|
function MaxLines({
|
|
25793
25909
|
maxLines,
|
|
25794
25910
|
children
|
|
25795
25911
|
}) {
|
|
25796
|
-
const elRef = (0,
|
|
25797
|
-
const [hasMore, setHasMore] = (0,
|
|
25798
|
-
const [expanded, setExpanded] = (0,
|
|
25799
|
-
(0,
|
|
25912
|
+
const elRef = (0, import_react142.useRef)(null);
|
|
25913
|
+
const [hasMore, setHasMore] = (0, import_react142.useState)(false);
|
|
25914
|
+
const [expanded, setExpanded] = (0, import_react142.useState)(false);
|
|
25915
|
+
(0, import_utils168.useLayoutEffect)(() => {
|
|
25800
25916
|
if (!elRef.current) return;
|
|
25801
25917
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
25802
25918
|
}, []);
|
|
25803
|
-
(0,
|
|
25919
|
+
(0, import_react142.useEffect)(() => {
|
|
25804
25920
|
setExpanded(false);
|
|
25805
25921
|
}, [children]);
|
|
25806
|
-
const onResize = (0,
|
|
25922
|
+
const onResize = (0, import_react142.useCallback)(() => {
|
|
25807
25923
|
if (!elRef.current) return;
|
|
25808
25924
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
25809
25925
|
}, [expanded]);
|
|
25810
|
-
(0,
|
|
25926
|
+
(0, import_utils168.useResizeObserver)({
|
|
25811
25927
|
ref: elRef,
|
|
25812
25928
|
onResize
|
|
25813
25929
|
});
|
|
25814
|
-
return /* @__PURE__ */ (0,
|
|
25815
|
-
/* @__PURE__ */ (0,
|
|
25930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("div", { children: [
|
|
25931
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { ref: elRef, ...(0, import_runtime128.trussProps)({
|
|
25816
25932
|
...!expanded ? {
|
|
25817
25933
|
WebkitLineClamp: ["lineClamp_var", {
|
|
25818
|
-
"--WebkitLineClamp": (0,
|
|
25934
|
+
"--WebkitLineClamp": (0, import_runtime128.maybeCssVar)(maxLines)
|
|
25819
25935
|
}],
|
|
25820
25936
|
overflow: "oh",
|
|
25821
25937
|
display: "d_negwebkit_box",
|
|
@@ -25823,7 +25939,7 @@ function MaxLines({
|
|
|
25823
25939
|
textOverflow: "to_ellipsis"
|
|
25824
25940
|
} : {}
|
|
25825
25941
|
}), children }),
|
|
25826
|
-
hasMore && /* @__PURE__ */ (0,
|
|
25942
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime203.jsx)("button", { className: "db fw4 fz_14px lh_20px", onClick: () => setExpanded((prev) => !prev), children: expanded ? "Show Less" : "Show More" })
|
|
25827
25943
|
] });
|
|
25828
25944
|
}
|
|
25829
25945
|
|
|
@@ -25831,15 +25947,15 @@ function MaxLines({
|
|
|
25831
25947
|
var import_change_case8 = require("change-case");
|
|
25832
25948
|
|
|
25833
25949
|
// src/components/AppNav/AppNavGroup.tsx
|
|
25834
|
-
var
|
|
25950
|
+
var import_utils170 = require("@react-aria/utils");
|
|
25835
25951
|
var import_change_case7 = require("change-case");
|
|
25836
|
-
var
|
|
25952
|
+
var import_react145 = require("react");
|
|
25837
25953
|
|
|
25838
25954
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
25839
|
-
var
|
|
25955
|
+
var import_react143 = require("react");
|
|
25840
25956
|
var import_react_aria62 = require("react-aria");
|
|
25841
|
-
var
|
|
25842
|
-
var
|
|
25957
|
+
var import_runtime129 = require("@homebound/truss/runtime");
|
|
25958
|
+
var import_jsx_runtime204 = require("react/jsx-runtime");
|
|
25843
25959
|
function AppNavGroupTrigger(props) {
|
|
25844
25960
|
const {
|
|
25845
25961
|
label,
|
|
@@ -25849,7 +25965,7 @@ function AppNavGroupTrigger(props) {
|
|
|
25849
25965
|
active = false
|
|
25850
25966
|
} = props;
|
|
25851
25967
|
const tid = useTestIds(props, "trigger");
|
|
25852
|
-
const ref = (0,
|
|
25968
|
+
const ref = (0, import_react143.useRef)(null);
|
|
25853
25969
|
const {
|
|
25854
25970
|
buttonProps,
|
|
25855
25971
|
isPressed
|
|
@@ -25870,12 +25986,12 @@ function AppNavGroupTrigger(props) {
|
|
|
25870
25986
|
focusRingStyles: focusRingStyles2,
|
|
25871
25987
|
hoverStyles: hoverStyles4,
|
|
25872
25988
|
pressedStyles: pressedStyles2
|
|
25873
|
-
} = (0,
|
|
25874
|
-
return /* @__PURE__ */ (0,
|
|
25989
|
+
} = (0, import_react143.useMemo)(() => getNavLinkStyles("side"), []);
|
|
25990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)("button", { type: "button", ...(0, import_react_aria62.mergeProps)(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
25875
25991
|
ref,
|
|
25876
25992
|
"aria-expanded": expanded,
|
|
25877
25993
|
"aria-controls": navGroupId,
|
|
25878
|
-
...(0,
|
|
25994
|
+
...(0, import_runtime129.mergeProps)(navLink, void 0, {
|
|
25879
25995
|
...baseStyles4,
|
|
25880
25996
|
...isFocusVisible && focusRingStyles2,
|
|
25881
25997
|
...isHovered && hoverStyles4,
|
|
@@ -25889,7 +26005,7 @@ function AppNavGroupTrigger(props) {
|
|
|
25889
26005
|
})
|
|
25890
26006
|
}), children: [
|
|
25891
26007
|
label,
|
|
25892
|
-
/* @__PURE__ */ (0,
|
|
26008
|
+
/* @__PURE__ */ (0, import_jsx_runtime204.jsx)("div", { ...(0, import_runtime129.trussProps)({
|
|
25893
26009
|
...{
|
|
25894
26010
|
display: "df",
|
|
25895
26011
|
alignItems: "aic",
|
|
@@ -25899,7 +26015,7 @@ function AppNavGroupTrigger(props) {
|
|
|
25899
26015
|
...props.expanded ? {
|
|
25900
26016
|
transform: "transform_rotate_180deg"
|
|
25901
26017
|
} : {}
|
|
25902
|
-
}), children: /* @__PURE__ */ (0,
|
|
26018
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(Icon, { icon: "chevronDown" }) })
|
|
25903
26019
|
] });
|
|
25904
26020
|
}
|
|
25905
26021
|
|
|
@@ -26008,7 +26124,7 @@ function entryHasIcons(item) {
|
|
|
26008
26124
|
}
|
|
26009
26125
|
|
|
26010
26126
|
// src/components/AppNav/useAppNavGroupExpanded.ts
|
|
26011
|
-
var
|
|
26127
|
+
var import_react144 = require("react");
|
|
26012
26128
|
var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
|
|
26013
26129
|
function loadStored() {
|
|
26014
26130
|
try {
|
|
@@ -26027,13 +26143,13 @@ function persistLabel(label, expanded) {
|
|
|
26027
26143
|
}
|
|
26028
26144
|
function useAppNavGroupExpanded(linkGroup) {
|
|
26029
26145
|
const { label } = linkGroup;
|
|
26030
|
-
const [userExpanded, setUserExpanded] = (0,
|
|
26146
|
+
const [userExpanded, setUserExpanded] = (0, import_react144.useState)(() => {
|
|
26031
26147
|
const stored = loadStored();
|
|
26032
26148
|
return label in stored ? stored[label] : null;
|
|
26033
26149
|
});
|
|
26034
26150
|
const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
|
|
26035
26151
|
const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
|
|
26036
|
-
const onToggle = (0,
|
|
26152
|
+
const onToggle = (0, import_react144.useCallback)(() => {
|
|
26037
26153
|
const next = !expanded;
|
|
26038
26154
|
setUserExpanded(next);
|
|
26039
26155
|
persistLabel(label, next);
|
|
@@ -26042,8 +26158,8 @@ function useAppNavGroupExpanded(linkGroup) {
|
|
|
26042
26158
|
}
|
|
26043
26159
|
|
|
26044
26160
|
// src/components/AppNav/AppNavGroup.tsx
|
|
26045
|
-
var
|
|
26046
|
-
var
|
|
26161
|
+
var import_runtime130 = require("@homebound/truss/runtime");
|
|
26162
|
+
var import_jsx_runtime205 = require("react/jsx-runtime");
|
|
26047
26163
|
var __maybeInc26 = (inc) => {
|
|
26048
26164
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26049
26165
|
};
|
|
@@ -26054,9 +26170,9 @@ function AppNavGroupView(props) {
|
|
|
26054
26170
|
} = props;
|
|
26055
26171
|
const tid = useTestIds(props, "linkGroup");
|
|
26056
26172
|
if (panelCollapsed) {
|
|
26057
|
-
return /* @__PURE__ */ (0,
|
|
26173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(import_jsx_runtime205.Fragment, { children: appNavLinkGroupLinks(linkGroup).map((link) => /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(NavLink, { variant: "side", ...link, iconOnly: !!link.icon, ...tid[`link_${(0, import_change_case7.camelCase)(link.label)}`] }, link.label)) });
|
|
26058
26174
|
}
|
|
26059
|
-
return /* @__PURE__ */ (0,
|
|
26175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(AppNavGroupDisclosure, { ...props });
|
|
26060
26176
|
}
|
|
26061
26177
|
function AppNavGroupDisclosure(props) {
|
|
26062
26178
|
const {
|
|
@@ -26068,44 +26184,44 @@ function AppNavGroupDisclosure(props) {
|
|
|
26068
26184
|
} = useAppNavGroupExpanded(linkGroup);
|
|
26069
26185
|
const tid = useTestIds(props, "linkGroup");
|
|
26070
26186
|
const navGroupId = `nav-group-${(0, import_change_case7.kebabCase)(linkGroup.label)}`;
|
|
26071
|
-
const [contentEl, setContentEl] = (0,
|
|
26072
|
-
const contentRef = (0,
|
|
26187
|
+
const [contentEl, setContentEl] = (0, import_react145.useState)(null);
|
|
26188
|
+
const contentRef = (0, import_react145.useMemo)(() => ({
|
|
26073
26189
|
current: contentEl
|
|
26074
26190
|
}), [contentEl]);
|
|
26075
|
-
const [contentHeight, setContentHeight] = (0,
|
|
26076
|
-
(0,
|
|
26191
|
+
const [contentHeight, setContentHeight] = (0, import_react145.useState)(expanded ? "auto" : "0");
|
|
26192
|
+
(0, import_react145.useEffect)(() => {
|
|
26077
26193
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
26078
26194
|
}, [expanded, contentEl]);
|
|
26079
|
-
const onResize = (0,
|
|
26195
|
+
const onResize = (0, import_react145.useCallback)(() => {
|
|
26080
26196
|
if (contentEl && expanded) {
|
|
26081
26197
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
26082
26198
|
}
|
|
26083
26199
|
}, [expanded, contentEl]);
|
|
26084
|
-
(0,
|
|
26200
|
+
(0, import_utils170.useResizeObserver)({
|
|
26085
26201
|
ref: contentRef,
|
|
26086
26202
|
onResize
|
|
26087
26203
|
});
|
|
26088
|
-
return /* @__PURE__ */ (0,
|
|
26089
|
-
/* @__PURE__ */ (0,
|
|
26090
|
-
/* @__PURE__ */ (0,
|
|
26204
|
+
return /* @__PURE__ */ (0, import_jsx_runtime205.jsxs)("div", { className: "df fdc", ...tid, children: [
|
|
26205
|
+
/* @__PURE__ */ (0, import_jsx_runtime205.jsx)(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, active: linkGroupHasActiveLink(linkGroup), onClick: onToggle, ...tid }),
|
|
26206
|
+
/* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...(0, import_runtime130.trussProps)({
|
|
26091
26207
|
overflow: "oh",
|
|
26092
26208
|
transition: "transitionHeight",
|
|
26093
26209
|
height: ["h_var", {
|
|
26094
|
-
"--height": (0,
|
|
26210
|
+
"--height": (0, import_runtime130.maybeCssVar)(__maybeInc26(contentHeight))
|
|
26095
26211
|
}]
|
|
26096
26212
|
}), ...tid.panel, ...!expanded ? {
|
|
26097
26213
|
inert: "true"
|
|
26098
|
-
} : {}, children: /* @__PURE__ */ (0,
|
|
26214
|
+
} : {}, children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { ref: setContentEl, className: "df fdc", children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(AppNavItems, { items: linkGroup.items, panelCollapsed: false, nested: true, ...tid }) }) })
|
|
26099
26215
|
] });
|
|
26100
26216
|
}
|
|
26101
26217
|
|
|
26102
26218
|
// src/components/AppNav/AppNavGroupMenu.tsx
|
|
26103
|
-
var
|
|
26219
|
+
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
26104
26220
|
function AppNavGroupMenu({
|
|
26105
26221
|
linkGroup,
|
|
26106
26222
|
...tid
|
|
26107
26223
|
}) {
|
|
26108
|
-
return /* @__PURE__ */ (0,
|
|
26224
|
+
return /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(
|
|
26109
26225
|
ButtonMenu,
|
|
26110
26226
|
{
|
|
26111
26227
|
trigger: {
|
|
@@ -26121,8 +26237,8 @@ function AppNavGroupMenu({
|
|
|
26121
26237
|
}
|
|
26122
26238
|
|
|
26123
26239
|
// src/components/AppNav/AppNavSectionView.tsx
|
|
26124
|
-
var
|
|
26125
|
-
var
|
|
26240
|
+
var import_runtime131 = require("@homebound/truss/runtime");
|
|
26241
|
+
var import_jsx_runtime207 = require("react/jsx-runtime");
|
|
26126
26242
|
function AppNavSectionView(props) {
|
|
26127
26243
|
const {
|
|
26128
26244
|
section,
|
|
@@ -26148,7 +26264,7 @@ function AppNavSectionView(props) {
|
|
|
26148
26264
|
"--borderColor": "var(--b-surface-separator)"
|
|
26149
26265
|
}]
|
|
26150
26266
|
};
|
|
26151
|
-
return /* @__PURE__ */ (0,
|
|
26267
|
+
return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)("div", { ...(0, import_runtime131.trussProps)({
|
|
26152
26268
|
...{
|
|
26153
26269
|
display: "df",
|
|
26154
26270
|
flexDirection: "fdc",
|
|
@@ -26156,7 +26272,7 @@ function AppNavSectionView(props) {
|
|
|
26156
26272
|
},
|
|
26157
26273
|
...showDivider ? dividerStyles : {}
|
|
26158
26274
|
}), ...tid, children: [
|
|
26159
|
-
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0,
|
|
26275
|
+
section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0, import_jsx_runtime207.jsx)("div", { ...(0, import_runtime131.trussProps)({
|
|
26160
26276
|
fontWeight: "fw6",
|
|
26161
26277
|
fontSize: "fz_10px",
|
|
26162
26278
|
lineHeight: "lh_14px",
|
|
@@ -26169,18 +26285,18 @@ function AppNavSectionView(props) {
|
|
|
26169
26285
|
paddingBottom: "pb1",
|
|
26170
26286
|
textTransform: "ttu"
|
|
26171
26287
|
}), ...tid.label, children: section.label }),
|
|
26172
|
-
/* @__PURE__ */ (0,
|
|
26288
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsx)(AppNavItems, { ...scopeProps, items: section.items, variant, panelCollapsed, nested })
|
|
26173
26289
|
] });
|
|
26174
26290
|
}
|
|
26175
26291
|
|
|
26176
26292
|
// src/components/AppNav/AppNavItems.tsx
|
|
26177
|
-
var
|
|
26293
|
+
var import_jsx_runtime208 = require("react/jsx-runtime");
|
|
26178
26294
|
function AppNavItems(props) {
|
|
26179
26295
|
const { items, variant = "side", panelCollapsed = false, nested = false } = props;
|
|
26180
26296
|
const tid = useTestIds(props, "appNav");
|
|
26181
|
-
return /* @__PURE__ */ (0,
|
|
26297
|
+
return /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(import_jsx_runtime208.Fragment, { children: items.map((item, idx) => {
|
|
26182
26298
|
if (isAppNavLink(item)) {
|
|
26183
|
-
return /* @__PURE__ */ (0,
|
|
26299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(
|
|
26184
26300
|
NavLink,
|
|
26185
26301
|
{
|
|
26186
26302
|
variant,
|
|
@@ -26193,7 +26309,7 @@ function AppNavItems(props) {
|
|
|
26193
26309
|
);
|
|
26194
26310
|
}
|
|
26195
26311
|
if (isAppNavGroup(item)) {
|
|
26196
|
-
return variant === "global" ? /* @__PURE__ */ (0,
|
|
26312
|
+
return variant === "global" ? /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(AppNavGroupMenu, { linkGroup: item, ...tid.linkGroup }, appNavItemKey(item)) : /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(
|
|
26197
26313
|
AppNavGroupView,
|
|
26198
26314
|
{
|
|
26199
26315
|
linkGroup: item,
|
|
@@ -26204,7 +26320,7 @@ function AppNavItems(props) {
|
|
|
26204
26320
|
);
|
|
26205
26321
|
}
|
|
26206
26322
|
if (isAppNavSection(item)) {
|
|
26207
|
-
return /* @__PURE__ */ (0,
|
|
26323
|
+
return /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(
|
|
26208
26324
|
AppNavSectionView,
|
|
26209
26325
|
{
|
|
26210
26326
|
section: item,
|
|
@@ -26223,33 +26339,33 @@ function AppNavItems(props) {
|
|
|
26223
26339
|
|
|
26224
26340
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
26225
26341
|
var import_framer_motion6 = require("framer-motion");
|
|
26226
|
-
var
|
|
26342
|
+
var import_react147 = require("react");
|
|
26227
26343
|
var import_react_aria63 = require("react-aria");
|
|
26228
26344
|
var import_react_dom7 = require("react-dom");
|
|
26229
26345
|
var import_react_router_dom7 = require("react-router-dom");
|
|
26230
26346
|
|
|
26231
26347
|
// src/layouts/NavbarLayout/MobileSubNavContext.tsx
|
|
26232
|
-
var
|
|
26233
|
-
var
|
|
26234
|
-
var MobileSubNavContext = (0,
|
|
26348
|
+
var import_react146 = require("react");
|
|
26349
|
+
var import_jsx_runtime209 = require("react/jsx-runtime");
|
|
26350
|
+
var MobileSubNavContext = (0, import_react146.createContext)(void 0);
|
|
26235
26351
|
function MobileSubNavProvider(props) {
|
|
26236
|
-
const [mobileSubNav, setMobileSubNav] = (0,
|
|
26237
|
-
const value = (0,
|
|
26238
|
-
return /* @__PURE__ */ (0,
|
|
26352
|
+
const [mobileSubNav, setMobileSubNav] = (0, import_react146.useState)(null);
|
|
26353
|
+
const value = (0, import_react146.useMemo)(() => ({ mobileSubNav, setMobileSubNav }), [mobileSubNav]);
|
|
26354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(MobileSubNavContext.Provider, { value, children: props.children });
|
|
26239
26355
|
}
|
|
26240
26356
|
function useMobileSubNav() {
|
|
26241
|
-
return (0,
|
|
26357
|
+
return (0, import_react146.useContext)(MobileSubNavContext)?.mobileSubNav ?? null;
|
|
26242
26358
|
}
|
|
26243
26359
|
function useRegisterMobileSubNav(content) {
|
|
26244
|
-
const ctx = (0,
|
|
26360
|
+
const ctx = (0, import_react146.useContext)(MobileSubNavContext);
|
|
26245
26361
|
const setMobileSubNav = ctx?.setMobileSubNav;
|
|
26246
26362
|
const enabled = !useBreakpoint().mdAndUp;
|
|
26247
26363
|
const { top, items, footer } = content;
|
|
26248
|
-
(0,
|
|
26364
|
+
(0, import_react146.useLayoutEffect)(() => {
|
|
26249
26365
|
if (!setMobileSubNav || !enabled) return;
|
|
26250
26366
|
setMobileSubNav({ top, items, footer });
|
|
26251
26367
|
}, [setMobileSubNav, enabled, top, items, footer]);
|
|
26252
|
-
(0,
|
|
26368
|
+
(0, import_react146.useLayoutEffect)(() => {
|
|
26253
26369
|
if (!setMobileSubNav || !enabled) return;
|
|
26254
26370
|
return () => setMobileSubNav(null);
|
|
26255
26371
|
}, [setMobileSubNav, enabled]);
|
|
@@ -26257,15 +26373,15 @@ function useRegisterMobileSubNav(content) {
|
|
|
26257
26373
|
}
|
|
26258
26374
|
|
|
26259
26375
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
26260
|
-
var
|
|
26261
|
-
var
|
|
26376
|
+
var import_runtime132 = require("@homebound/truss/runtime");
|
|
26377
|
+
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
26262
26378
|
function NavbarMobileMenu(props) {
|
|
26263
26379
|
const {
|
|
26264
26380
|
items
|
|
26265
26381
|
} = props;
|
|
26266
26382
|
const tid = useTestIds(props, "navbar");
|
|
26267
|
-
const [isOpen, setIsOpen] = (0,
|
|
26268
|
-
const [level, setLevel] = (0,
|
|
26383
|
+
const [isOpen, setIsOpen] = (0, import_react147.useState)(false);
|
|
26384
|
+
const [level, setLevel] = (0, import_react147.useState)("sub");
|
|
26269
26385
|
const {
|
|
26270
26386
|
pathname,
|
|
26271
26387
|
search
|
|
@@ -26275,11 +26391,11 @@ function NavbarMobileMenu(props) {
|
|
|
26275
26391
|
isDisabled: !isOpen
|
|
26276
26392
|
});
|
|
26277
26393
|
const close = () => setIsOpen(false);
|
|
26278
|
-
(0,
|
|
26394
|
+
(0, import_react147.useEffect)(() => {
|
|
26279
26395
|
close();
|
|
26280
26396
|
}, [pathname, search]);
|
|
26281
|
-
return /* @__PURE__ */ (0,
|
|
26282
|
-
/* @__PURE__ */ (0,
|
|
26397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(import_jsx_runtime210.Fragment, { children: [
|
|
26398
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(IconButton, { icon: isOpen ? "menuClose" : "menu", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: isOpen ? "Close navigation" : "Open navigation", onClick: () => {
|
|
26283
26399
|
if (isOpen) {
|
|
26284
26400
|
close();
|
|
26285
26401
|
return;
|
|
@@ -26289,7 +26405,7 @@ function NavbarMobileMenu(props) {
|
|
|
26289
26405
|
}, ...tid.mobileMenu }),
|
|
26290
26406
|
(0, import_react_dom7.createPortal)(
|
|
26291
26407
|
/* AnimatePresence keeps the drawer mounted through its slide/fade-out before unmounting.*/
|
|
26292
|
-
/* @__PURE__ */ (0,
|
|
26408
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_framer_motion6.AnimatePresence, { children: isOpen && /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(NavbarMobileDrawer, { items, mobileSubNav, level, onLevelChange: setLevel, onClose: close, tid }) }),
|
|
26293
26409
|
document.body
|
|
26294
26410
|
)
|
|
26295
26411
|
] });
|
|
@@ -26307,14 +26423,14 @@ function NavbarMobileDrawer({
|
|
|
26307
26423
|
top: bannerHeightPx
|
|
26308
26424
|
};
|
|
26309
26425
|
const showSubLevel = mobileSubNav != null && level === "sub";
|
|
26310
|
-
return /* @__PURE__ */ (0,
|
|
26311
|
-
/* @__PURE__ */ (0,
|
|
26426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(import_jsx_runtime210.Fragment, { children: [
|
|
26427
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_framer_motion6.motion.div, { ...(0, import_runtime132.mergeProps)(void 0, overlayTopStyle, {
|
|
26312
26428
|
position: "fixed",
|
|
26313
26429
|
right: "right0",
|
|
26314
26430
|
bottom: "bottom0",
|
|
26315
26431
|
left: "left0",
|
|
26316
26432
|
zIndex: ["z_var", {
|
|
26317
|
-
"--zIndex": (0,
|
|
26433
|
+
"--zIndex": (0, import_runtime132.maybeCssVar)(zIndices.navbarMobileMenuScrim)
|
|
26318
26434
|
}],
|
|
26319
26435
|
backgroundColor: ["bgColor_var", {
|
|
26320
26436
|
"--backgroundColor": "var(--b-scrim)"
|
|
@@ -26329,7 +26445,7 @@ function NavbarMobileDrawer({
|
|
|
26329
26445
|
ease: "linear",
|
|
26330
26446
|
duration: 0.2
|
|
26331
26447
|
}, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
|
|
26332
|
-
/* @__PURE__ */ (0,
|
|
26448
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_aria63.FocusScope, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(import_framer_motion6.motion.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...(0, import_runtime132.mergeProps)(void 0, overlayTopStyle, {
|
|
26333
26449
|
position: "fixed",
|
|
26334
26450
|
bottom: "bottom0",
|
|
26335
26451
|
left: "left0",
|
|
@@ -26339,7 +26455,7 @@ function NavbarMobileDrawer({
|
|
|
26339
26455
|
width: "w_260px",
|
|
26340
26456
|
overflow: "oh",
|
|
26341
26457
|
zIndex: ["z_var", {
|
|
26342
|
-
"--zIndex": (0,
|
|
26458
|
+
"--zIndex": (0, import_runtime132.maybeCssVar)(zIndices.navbarMobileMenu)
|
|
26343
26459
|
}],
|
|
26344
26460
|
backgroundColor: ["bgColor_var", {
|
|
26345
26461
|
"--backgroundColor": "var(--b-surface)"
|
|
@@ -26354,7 +26470,7 @@ function NavbarMobileDrawer({
|
|
|
26354
26470
|
ease: "linear",
|
|
26355
26471
|
duration: 0.2
|
|
26356
26472
|
}, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
|
|
26357
|
-
/* @__PURE__ */ (0,
|
|
26473
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...(0, import_runtime132.trussProps)({
|
|
26358
26474
|
...{
|
|
26359
26475
|
display: "df",
|
|
26360
26476
|
alignItems: "aic",
|
|
@@ -26370,13 +26486,13 @@ function NavbarMobileDrawer({
|
|
|
26370
26486
|
},
|
|
26371
26487
|
...pageContentPaddingX
|
|
26372
26488
|
}), children: [
|
|
26373
|
-
/* @__PURE__ */ (0,
|
|
26374
|
-
/* @__PURE__ */ (0,
|
|
26489
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { className: "mw0", children: showSubLevel && /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(Button, { label: "Main Menu", icon: "chevronLeft", variant: "quaternary", size: "sm", onClick: () => onLevelChange("global"), ...tid.mobileMenuMainMenu }) }),
|
|
26490
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(IconButton, { icon: "x", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: "Close navigation", onClick: onClose, ...tid.mobileMenuClose })
|
|
26375
26491
|
] }),
|
|
26376
|
-
/* @__PURE__ */ (0,
|
|
26492
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { className: "fg1 mh0 oh relative", children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_framer_motion6.AnimatePresence, { initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(
|
|
26377
26493
|
import_framer_motion6.motion.nav,
|
|
26378
26494
|
{
|
|
26379
|
-
...(0,
|
|
26495
|
+
...(0, import_runtime132.trussProps)({
|
|
26380
26496
|
...{
|
|
26381
26497
|
position: "absolute",
|
|
26382
26498
|
top: "top0",
|
|
@@ -26413,7 +26529,7 @@ function NavbarMobileDrawer({
|
|
|
26413
26529
|
...tid.mobileMenuPanel,
|
|
26414
26530
|
children: [
|
|
26415
26531
|
showSubLevel && mobileSubNav?.top,
|
|
26416
|
-
/* @__PURE__ */ (0,
|
|
26532
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(AppNavItems, { items: showSubLevel && mobileSubNav ? mobileSubNav.items : items, panelCollapsed: false, ...tid }),
|
|
26417
26533
|
showSubLevel && mobileSubNav?.footer
|
|
26418
26534
|
]
|
|
26419
26535
|
},
|
|
@@ -26424,8 +26540,8 @@ function NavbarMobileDrawer({
|
|
|
26424
26540
|
}
|
|
26425
26541
|
|
|
26426
26542
|
// src/components/Navbar/Navbar.tsx
|
|
26427
|
-
var
|
|
26428
|
-
var
|
|
26543
|
+
var import_runtime133 = require("@homebound/truss/runtime");
|
|
26544
|
+
var import_jsx_runtime211 = require("react/jsx-runtime");
|
|
26429
26545
|
function Navbar(props) {
|
|
26430
26546
|
const {
|
|
26431
26547
|
brand,
|
|
@@ -26444,7 +26560,7 @@ function Navbar(props) {
|
|
|
26444
26560
|
overflows
|
|
26445
26561
|
} = useContentOverflow(!sm);
|
|
26446
26562
|
const showMobile = sm || overflows;
|
|
26447
|
-
return /* @__PURE__ */ (0,
|
|
26563
|
+
return /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(ContrastScope, { children: /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)("nav", { ...(0, import_runtime133.trussProps)({
|
|
26448
26564
|
...{
|
|
26449
26565
|
backgroundColor: ["bgColor_var", {
|
|
26450
26566
|
"--backgroundColor": "var(--b-surface-raised)"
|
|
@@ -26460,10 +26576,10 @@ function Navbar(props) {
|
|
|
26460
26576
|
},
|
|
26461
26577
|
...headerContentPaddingX(showMobile)
|
|
26462
26578
|
}), ...tid, children: [
|
|
26463
|
-
/* @__PURE__ */ (0,
|
|
26464
|
-
/* @__PURE__ */ (0,
|
|
26465
|
-
showMobile && /* @__PURE__ */ (0,
|
|
26466
|
-
/* @__PURE__ */ (0,
|
|
26579
|
+
/* @__PURE__ */ (0, import_jsx_runtime211.jsxs)("div", { className: "df aic gap3 fg1 mw0", children: [
|
|
26580
|
+
/* @__PURE__ */ (0, import_jsx_runtime211.jsxs)("div", { className: "df aic fs0 gap2", children: [
|
|
26581
|
+
showMobile && /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(NavbarMobileMenu, { items, ...tid }),
|
|
26582
|
+
/* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
|
|
26467
26583
|
flexShrink: "fs0",
|
|
26468
26584
|
...hideBrandOnMobile && showMobile ? {
|
|
26469
26585
|
display: "dn"
|
|
@@ -26472,7 +26588,7 @@ function Navbar(props) {
|
|
|
26472
26588
|
] }),
|
|
26473
26589
|
!sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
|
|
26474
26590
|
// can expand again as space frees up.
|
|
26475
|
-
/* @__PURE__ */ (0,
|
|
26591
|
+
/* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ref: containerRef, ...(0, import_runtime133.trussProps)({
|
|
26476
26592
|
display: "df",
|
|
26477
26593
|
alignItems: "aic",
|
|
26478
26594
|
flexGrow: "fg1",
|
|
@@ -26481,11 +26597,11 @@ function Navbar(props) {
|
|
|
26481
26597
|
...overflows ? {
|
|
26482
26598
|
visibility: "visibility_hidden"
|
|
26483
26599
|
} : {}
|
|
26484
|
-
}), ...tid.items, children: /* @__PURE__ */ (0,
|
|
26600
|
+
}), ...tid.items, children: /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ref: contentRef, className: "df aic gap2 width_max_content", children: /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(AppNavItems, { variant: "global", items, ...tid }) }) })
|
|
26485
26601
|
] }),
|
|
26486
|
-
/* @__PURE__ */ (0,
|
|
26487
|
-
rightSlot && /* @__PURE__ */ (0,
|
|
26488
|
-
user && /* @__PURE__ */ (0,
|
|
26602
|
+
/* @__PURE__ */ (0, import_jsx_runtime211.jsxs)("div", { className: "df aic gap1", children: [
|
|
26603
|
+
rightSlot && /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { className: "df aic gap1", ...tid.rightSlot, children: rightSlot }),
|
|
26604
|
+
user && /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(NavbarUserMenu, { user, ...tid.userMenu })
|
|
26489
26605
|
] })
|
|
26490
26606
|
] }) });
|
|
26491
26607
|
}
|
|
@@ -26493,7 +26609,7 @@ function NavbarUserMenu({
|
|
|
26493
26609
|
user,
|
|
26494
26610
|
...tid
|
|
26495
26611
|
}) {
|
|
26496
|
-
return /* @__PURE__ */ (0,
|
|
26612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { className: "df aic fs0 ml1", children: /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(ButtonMenu, { items: user.menuItems, persistentItems: user.persistentItems, trigger: {
|
|
26497
26613
|
src: user.picture,
|
|
26498
26614
|
name: user.name,
|
|
26499
26615
|
size: "sm",
|
|
@@ -26502,8 +26618,8 @@ function NavbarUserMenu({
|
|
|
26502
26618
|
}
|
|
26503
26619
|
|
|
26504
26620
|
// src/components/Pagination.tsx
|
|
26505
|
-
var
|
|
26506
|
-
var
|
|
26621
|
+
var import_runtime134 = require("@homebound/truss/runtime");
|
|
26622
|
+
var import_jsx_runtime212 = require("react/jsx-runtime");
|
|
26507
26623
|
var defaultPage = {
|
|
26508
26624
|
offset: 0,
|
|
26509
26625
|
limit: 100
|
|
@@ -26535,7 +26651,7 @@ function Pagination(props) {
|
|
|
26535
26651
|
}
|
|
26536
26652
|
}
|
|
26537
26653
|
const tid = useTestIds(props, "pagination");
|
|
26538
|
-
return /* @__PURE__ */ (0,
|
|
26654
|
+
return /* @__PURE__ */ (0, import_jsx_runtime212.jsxs)("div", { ...(0, import_runtime134.trussProps)({
|
|
26539
26655
|
display: "df",
|
|
26540
26656
|
borderColor: ["bc_var", {
|
|
26541
26657
|
"--borderColor": "var(--b-surface-separator)"
|
|
@@ -26552,24 +26668,24 @@ function Pagination(props) {
|
|
|
26552
26668
|
paddingRight: "pr2",
|
|
26553
26669
|
paddingTop: "pt2"
|
|
26554
26670
|
}), ...tid, children: [
|
|
26555
|
-
/* @__PURE__ */ (0,
|
|
26556
|
-
/* @__PURE__ */ (0,
|
|
26671
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsx)("div", { className: "df mta mba mr2", ...tid.pageSizeLabel, children: "Page size:" }),
|
|
26672
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsx)("div", { className: "w_78px", children: /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(SelectField, { compact: true, label: "Page Size", labelStyle: "hidden", options: pageOptions, value: pageSize, onSelect: (val) => set({
|
|
26557
26673
|
pageNumber: 1,
|
|
26558
26674
|
pageSize: val
|
|
26559
26675
|
}), autoSort: false, ...tid.pageSize }) }),
|
|
26560
|
-
/* @__PURE__ */ (0,
|
|
26561
|
-
/* @__PURE__ */ (0,
|
|
26676
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsxs)("div", { className: "mla mta mba df", children: [
|
|
26677
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsxs)("div", { className: "df mta mba mr2", ...tid.pageInfoLabel, children: [
|
|
26562
26678
|
first,
|
|
26563
26679
|
" ",
|
|
26564
26680
|
showLast ? `- ${last}` : "",
|
|
26565
26681
|
" of ",
|
|
26566
26682
|
totalCount
|
|
26567
26683
|
] }),
|
|
26568
|
-
/* @__PURE__ */ (0,
|
|
26684
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsx)(IconButton, { icon: "chevronLeft", color: hasPrevPage ? "--b-text-link-default" /* TextLinkDefault */ : "--b-surface-separator" /* SurfaceSeparator */, onClick: () => set({
|
|
26569
26685
|
pageNumber: pageNumber - 1,
|
|
26570
26686
|
pageSize
|
|
26571
26687
|
}), disabled: !hasPrevPage, ...tid.previousIcon }),
|
|
26572
|
-
/* @__PURE__ */ (0,
|
|
26688
|
+
/* @__PURE__ */ (0, import_jsx_runtime212.jsx)(IconButton, { icon: "chevronRight", color: hasNextPage ? "--b-text-link-default" /* TextLinkDefault */ : "--b-surface-separator" /* SurfaceSeparator */, onClick: () => set({
|
|
26573
26689
|
pageNumber: pageNumber + 1,
|
|
26574
26690
|
pageSize
|
|
26575
26691
|
}), disabled: !hasNextPage, ...tid.nextIcon })
|
|
@@ -26591,10 +26707,10 @@ function toPageNumberSize(page) {
|
|
|
26591
26707
|
}
|
|
26592
26708
|
|
|
26593
26709
|
// src/components/ScrollShadows.tsx
|
|
26594
|
-
var
|
|
26595
|
-
var
|
|
26596
|
-
var
|
|
26597
|
-
var
|
|
26710
|
+
var import_utils177 = require("@react-aria/utils");
|
|
26711
|
+
var import_react148 = require("react");
|
|
26712
|
+
var import_runtime135 = require("@homebound/truss/runtime");
|
|
26713
|
+
var import_jsx_runtime213 = require("react/jsx-runtime");
|
|
26598
26714
|
function ScrollShadows(props) {
|
|
26599
26715
|
const {
|
|
26600
26716
|
children,
|
|
@@ -26610,15 +26726,15 @@ function ScrollShadows(props) {
|
|
|
26610
26726
|
if (!bgColor.includes("rgba")) {
|
|
26611
26727
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
26612
26728
|
}
|
|
26613
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
26614
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
26615
|
-
const scrollRef = (0,
|
|
26616
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
26729
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react148.useState)(false);
|
|
26730
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react148.useState)(false);
|
|
26731
|
+
const scrollRef = (0, import_react148.useRef)(null);
|
|
26732
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react148.useMemo)(() => {
|
|
26617
26733
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
26618
26734
|
const commonStyles = {
|
|
26619
26735
|
position: "absolute",
|
|
26620
26736
|
zIndex: ["z_var", {
|
|
26621
|
-
"--zIndex": (0,
|
|
26737
|
+
"--zIndex": (0, import_runtime135.maybeCssVar)(zIndices.scrollShadow)
|
|
26622
26738
|
}],
|
|
26623
26739
|
pointerEvents: "pointerEvents_none"
|
|
26624
26740
|
};
|
|
@@ -26651,7 +26767,7 @@ function ScrollShadows(props) {
|
|
|
26651
26767
|
...startShadowStyles2,
|
|
26652
26768
|
...{
|
|
26653
26769
|
background: ["background_var", {
|
|
26654
|
-
"--background": (0,
|
|
26770
|
+
"--background": (0, import_runtime135.maybeCssVar)(startGradient)
|
|
26655
26771
|
}]
|
|
26656
26772
|
}
|
|
26657
26773
|
}, {
|
|
@@ -26659,12 +26775,12 @@ function ScrollShadows(props) {
|
|
|
26659
26775
|
...endShadowStyles2,
|
|
26660
26776
|
...{
|
|
26661
26777
|
background: ["background_var", {
|
|
26662
|
-
"--background": (0,
|
|
26778
|
+
"--background": (0, import_runtime135.maybeCssVar)(endGradient)
|
|
26663
26779
|
}]
|
|
26664
26780
|
}
|
|
26665
26781
|
}];
|
|
26666
26782
|
}, [horizontal, bgColor]);
|
|
26667
|
-
const updateScrollProps = (0,
|
|
26783
|
+
const updateScrollProps = (0, import_react148.useCallback)((el) => {
|
|
26668
26784
|
const {
|
|
26669
26785
|
scrollTop,
|
|
26670
26786
|
scrollHeight,
|
|
@@ -26679,15 +26795,15 @@ function ScrollShadows(props) {
|
|
|
26679
26795
|
setShowStartShadow(start > 0);
|
|
26680
26796
|
setShowEndShadow(start + boxSize < end);
|
|
26681
26797
|
}, [horizontal]);
|
|
26682
|
-
const onResize = (0,
|
|
26683
|
-
(0,
|
|
26798
|
+
const onResize = (0, import_react148.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
26799
|
+
(0, import_utils177.useResizeObserver)({
|
|
26684
26800
|
ref: scrollRef,
|
|
26685
26801
|
onResize
|
|
26686
26802
|
});
|
|
26687
|
-
return /* @__PURE__ */ (0,
|
|
26803
|
+
return /* @__PURE__ */ (0, import_jsx_runtime213.jsxs)("div", { ...(0, import_runtime135.trussProps)({
|
|
26688
26804
|
display: "df",
|
|
26689
26805
|
flexDirection: ["fd_var", {
|
|
26690
|
-
"--flexDirection": (0,
|
|
26806
|
+
"--flexDirection": (0, import_runtime135.maybeCssVar)(!horizontal ? "column" : "row")
|
|
26691
26807
|
}],
|
|
26692
26808
|
position: "relative",
|
|
26693
26809
|
overflow: "oh",
|
|
@@ -26700,23 +26816,23 @@ function ScrollShadows(props) {
|
|
|
26700
26816
|
width: width2
|
|
26701
26817
|
}
|
|
26702
26818
|
}), ...tid, children: [
|
|
26703
|
-
/* @__PURE__ */ (0,
|
|
26819
|
+
/* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime135.trussProps)({
|
|
26704
26820
|
...startShadowStyles,
|
|
26705
26821
|
...{
|
|
26706
26822
|
opacity: ["o_var", {
|
|
26707
|
-
"--opacity": (0,
|
|
26823
|
+
"--opacity": (0, import_runtime135.maybeCssVar)(showStartShadow ? 1 : 0)
|
|
26708
26824
|
}]
|
|
26709
26825
|
}
|
|
26710
26826
|
}), "data-chromatic": "ignore" }),
|
|
26711
|
-
/* @__PURE__ */ (0,
|
|
26827
|
+
/* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime135.trussProps)({
|
|
26712
26828
|
...endShadowStyles,
|
|
26713
26829
|
...{
|
|
26714
26830
|
opacity: ["o_var", {
|
|
26715
|
-
"--opacity": (0,
|
|
26831
|
+
"--opacity": (0, import_runtime135.maybeCssVar)(showEndShadow ? 1 : 0)
|
|
26716
26832
|
}]
|
|
26717
26833
|
}
|
|
26718
26834
|
}), "data-chromatic": "ignore" }),
|
|
26719
|
-
/* @__PURE__ */ (0,
|
|
26835
|
+
/* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime135.trussProps)({
|
|
26720
26836
|
...xss,
|
|
26721
26837
|
...{
|
|
26722
26838
|
overflow: "oa",
|
|
@@ -26728,8 +26844,8 @@ function ScrollShadows(props) {
|
|
|
26728
26844
|
}
|
|
26729
26845
|
|
|
26730
26846
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
26731
|
-
var
|
|
26732
|
-
var
|
|
26847
|
+
var import_react149 = require("react");
|
|
26848
|
+
var import_jsx_runtime214 = require("react/jsx-runtime");
|
|
26733
26849
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
26734
26850
|
function loadStoredNavState() {
|
|
26735
26851
|
try {
|
|
@@ -26751,20 +26867,20 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
26751
26867
|
}
|
|
26752
26868
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
26753
26869
|
}
|
|
26754
|
-
var SideNavLayoutContext = (0,
|
|
26870
|
+
var SideNavLayoutContext = (0, import_react149.createContext)(void 0);
|
|
26755
26871
|
function SideNavLayoutProvider(props) {
|
|
26756
|
-
const [navState, setNavStateInternal] = (0,
|
|
26872
|
+
const [navState, setNavStateInternal] = (0, import_react149.useState)(
|
|
26757
26873
|
() => resolveInitialNavState(props.defaultNavState)
|
|
26758
26874
|
);
|
|
26759
26875
|
const bp = useBreakpoint();
|
|
26760
|
-
const prevMdAndUp = (0,
|
|
26761
|
-
(0,
|
|
26876
|
+
const prevMdAndUp = (0, import_react149.useRef)(bp.mdAndUp);
|
|
26877
|
+
(0, import_react149.useEffect)(() => {
|
|
26762
26878
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
26763
26879
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
26764
26880
|
}
|
|
26765
26881
|
prevMdAndUp.current = bp.mdAndUp;
|
|
26766
26882
|
}, [bp.mdAndUp]);
|
|
26767
|
-
const setNavState = (0,
|
|
26883
|
+
const setNavState = (0, import_react149.useCallback)((value2) => {
|
|
26768
26884
|
setNavStateInternal((prev) => {
|
|
26769
26885
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
26770
26886
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -26776,20 +26892,20 @@ function SideNavLayoutProvider(props) {
|
|
|
26776
26892
|
return next;
|
|
26777
26893
|
});
|
|
26778
26894
|
}, []);
|
|
26779
|
-
const value = (0,
|
|
26780
|
-
return /* @__PURE__ */ (0,
|
|
26895
|
+
const value = (0, import_react149.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
26896
|
+
return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
26781
26897
|
}
|
|
26782
26898
|
function useSideNavLayoutContext() {
|
|
26783
|
-
return (0,
|
|
26899
|
+
return (0, import_react149.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
26784
26900
|
} };
|
|
26785
26901
|
}
|
|
26786
26902
|
function useHasSideNavLayoutProvider() {
|
|
26787
|
-
return (0,
|
|
26903
|
+
return (0, import_react149.useContext)(SideNavLayoutContext) !== void 0;
|
|
26788
26904
|
}
|
|
26789
26905
|
|
|
26790
26906
|
// src/components/SideNav/SideNav.tsx
|
|
26791
|
-
var
|
|
26792
|
-
var
|
|
26907
|
+
var import_runtime136 = require("@homebound/truss/runtime");
|
|
26908
|
+
var import_jsx_runtime215 = require("react/jsx-runtime");
|
|
26793
26909
|
function SideNav(props) {
|
|
26794
26910
|
const {
|
|
26795
26911
|
top,
|
|
@@ -26802,8 +26918,8 @@ function SideNav(props) {
|
|
|
26802
26918
|
const tid = useTestIds(props, "sideNav");
|
|
26803
26919
|
const panelCollapsed = navState === "collapse";
|
|
26804
26920
|
const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
|
|
26805
|
-
return /* @__PURE__ */ (0,
|
|
26806
|
-
top !== void 0 && /* @__PURE__ */ (0,
|
|
26921
|
+
return /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)("nav", { className: "df fdc h100 fs0", ...tid, children: [
|
|
26922
|
+
top !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("div", { ...(0, import_runtime136.trussProps)({
|
|
26807
26923
|
flexShrink: "fs0",
|
|
26808
26924
|
paddingLeft: "pl2",
|
|
26809
26925
|
paddingRight: "pr2",
|
|
@@ -26814,7 +26930,7 @@ function SideNav(props) {
|
|
|
26814
26930
|
paddingBottom: "pb4"
|
|
26815
26931
|
} : {}
|
|
26816
26932
|
}), ...tid.top, children: top }),
|
|
26817
|
-
/* @__PURE__ */ (0,
|
|
26933
|
+
/* @__PURE__ */ (0, import_jsx_runtime215.jsx)("div", { ...(0, import_runtime136.trussProps)({
|
|
26818
26934
|
flexGrow: "fg1",
|
|
26819
26935
|
overflowY: "oya",
|
|
26820
26936
|
display: "df",
|
|
@@ -26826,8 +26942,8 @@ function SideNav(props) {
|
|
|
26826
26942
|
...top === void 0 ? {
|
|
26827
26943
|
paddingTop: "pt5"
|
|
26828
26944
|
} : {}
|
|
26829
|
-
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0,
|
|
26830
|
-
footer !== void 0 && /* @__PURE__ */ (0,
|
|
26945
|
+
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(AppNavItems, { items, panelCollapsed }) }),
|
|
26946
|
+
footer !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("div", { ...(0, import_runtime136.trussProps)({
|
|
26831
26947
|
flexShrink: "fs0",
|
|
26832
26948
|
paddingLeft: "pl2",
|
|
26833
26949
|
paddingRight: "pr2",
|
|
@@ -26843,10 +26959,10 @@ function SideNav(props) {
|
|
|
26843
26959
|
}
|
|
26844
26960
|
|
|
26845
26961
|
// src/components/Snackbar/useSnackbar.tsx
|
|
26846
|
-
var
|
|
26962
|
+
var import_react150 = require("react");
|
|
26847
26963
|
function useSnackbar() {
|
|
26848
26964
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
26849
|
-
const onClose = (0,
|
|
26965
|
+
const onClose = (0, import_react150.useCallback)(
|
|
26850
26966
|
(noticeId) => {
|
|
26851
26967
|
setNotices((prev) => {
|
|
26852
26968
|
let returnValue = prev;
|
|
@@ -26863,7 +26979,7 @@ function useSnackbar() {
|
|
|
26863
26979
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26864
26980
|
[]
|
|
26865
26981
|
);
|
|
26866
|
-
const triggerNotice = (0,
|
|
26982
|
+
const triggerNotice = (0, import_react150.useCallback)(
|
|
26867
26983
|
(props) => {
|
|
26868
26984
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
26869
26985
|
let maybeTimeout;
|
|
@@ -26892,8 +27008,8 @@ function useSnackbar() {
|
|
|
26892
27008
|
},
|
|
26893
27009
|
[onClose, setNotices]
|
|
26894
27010
|
);
|
|
26895
|
-
const closeNotice = (0,
|
|
26896
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
27011
|
+
const closeNotice = (0, import_react150.useCallback)((id) => onClose(id), [onClose]);
|
|
27012
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react150.useEffect)(() => {
|
|
26897
27013
|
setOffset({ bottom });
|
|
26898
27014
|
return () => setOffset({});
|
|
26899
27015
|
}, [bottom]);
|
|
@@ -26902,11 +27018,11 @@ function useSnackbar() {
|
|
|
26902
27018
|
var snackbarId = 1;
|
|
26903
27019
|
|
|
26904
27020
|
// src/components/Stepper.tsx
|
|
26905
|
-
var import_react150 = require("react");
|
|
26906
|
-
var import_react_aria64 = require("react-aria");
|
|
26907
|
-
var import_runtime136 = require("@homebound/truss/runtime");
|
|
26908
|
-
var import_jsx_runtime215 = require("react/jsx-runtime");
|
|
26909
27021
|
var import_react151 = require("react");
|
|
27022
|
+
var import_react_aria64 = require("react-aria");
|
|
27023
|
+
var import_runtime137 = require("@homebound/truss/runtime");
|
|
27024
|
+
var import_jsx_runtime216 = require("react/jsx-runtime");
|
|
27025
|
+
var import_react152 = require("react");
|
|
26910
27026
|
var __maybeInc27 = (inc) => {
|
|
26911
27027
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26912
27028
|
};
|
|
@@ -26924,8 +27040,8 @@ function Stepper(props) {
|
|
|
26924
27040
|
const maxStepWidth = 200;
|
|
26925
27041
|
const minStepWidth = 100;
|
|
26926
27042
|
const gap = 8;
|
|
26927
|
-
return /* @__PURE__ */ (0,
|
|
26928
|
-
/* @__PURE__ */ (0,
|
|
27043
|
+
return /* @__PURE__ */ (0, import_jsx_runtime216.jsxs)("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
|
|
27044
|
+
/* @__PURE__ */ (0, import_jsx_runtime216.jsx)("ol", { ...(0, import_runtime137.trussProps)({
|
|
26929
27045
|
padding: "p_0",
|
|
26930
27046
|
margin: "m_0",
|
|
26931
27047
|
listStyle: "lis_none",
|
|
@@ -26935,7 +27051,7 @@ function Stepper(props) {
|
|
|
26935
27051
|
}]
|
|
26936
27052
|
}), children: steps.map((step) => {
|
|
26937
27053
|
const isCurrent = currentStep === step.value;
|
|
26938
|
-
return /* @__PURE__ */ (0,
|
|
27054
|
+
return /* @__PURE__ */ (0, import_react152.createElement)("li", { ...(0, import_runtime137.trussProps)({
|
|
26939
27055
|
display: "df",
|
|
26940
27056
|
flexGrow: "fg1",
|
|
26941
27057
|
flexDirection: "fdc",
|
|
@@ -26945,9 +27061,9 @@ function Stepper(props) {
|
|
|
26945
27061
|
minWidth: ["mw_var", {
|
|
26946
27062
|
"--minWidth": `${minStepWidth}px`
|
|
26947
27063
|
}]
|
|
26948
|
-
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0,
|
|
27064
|
+
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
|
|
26949
27065
|
}) }),
|
|
26950
|
-
/* @__PURE__ */ (0,
|
|
27066
|
+
/* @__PURE__ */ (0, import_jsx_runtime216.jsx)("div", { ...(0, import_runtime137.trussProps)({
|
|
26951
27067
|
marginTop: "mt1",
|
|
26952
27068
|
backgroundColor: ["bgColor_var", {
|
|
26953
27069
|
"--backgroundColor": "var(--b-field-border-default)"
|
|
@@ -26960,14 +27076,14 @@ function Stepper(props) {
|
|
|
26960
27076
|
"--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
|
|
26961
27077
|
}],
|
|
26962
27078
|
width: "w100"
|
|
26963
|
-
}), children: /* @__PURE__ */ (0,
|
|
27079
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime216.jsx)("div", { ...(0, import_runtime137.trussProps)({
|
|
26964
27080
|
backgroundColor: ["bgColor_var", {
|
|
26965
27081
|
"--backgroundColor": "var(--b-primary)"
|
|
26966
27082
|
}],
|
|
26967
27083
|
transition: "transition_width_200ms",
|
|
26968
27084
|
height: "h100",
|
|
26969
27085
|
width: ["w_var", {
|
|
26970
|
-
"--width": (0,
|
|
27086
|
+
"--width": (0, import_runtime137.maybeCssVar)(__maybeInc27(`${(lastCompletedStep + 1) / steps.length * 100}%`))
|
|
26971
27087
|
}]
|
|
26972
27088
|
}) }) })
|
|
26973
27089
|
] });
|
|
@@ -26984,7 +27100,7 @@ function StepButton(props) {
|
|
|
26984
27100
|
onPress: onClick,
|
|
26985
27101
|
isDisabled: disabled
|
|
26986
27102
|
};
|
|
26987
|
-
const ref = (0,
|
|
27103
|
+
const ref = (0, import_react151.useRef)(null);
|
|
26988
27104
|
const {
|
|
26989
27105
|
buttonProps,
|
|
26990
27106
|
isPressed
|
|
@@ -27003,7 +27119,7 @@ function StepButton(props) {
|
|
|
27003
27119
|
boxShadow: "bshFocus"
|
|
27004
27120
|
};
|
|
27005
27121
|
const tid = useTestIds(props, "stepButton");
|
|
27006
|
-
return /* @__PURE__ */ (0,
|
|
27122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime216.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime137.trussProps)({
|
|
27007
27123
|
...{
|
|
27008
27124
|
fontWeight: "fw6",
|
|
27009
27125
|
fontSize: "fz_14px",
|
|
@@ -27064,7 +27180,7 @@ function StepButton(props) {
|
|
|
27064
27180
|
} : {},
|
|
27065
27181
|
...isFocusVisible ? focusRingStyles2 : {}
|
|
27066
27182
|
}), ...tid[defaultTestId(label)], children: [
|
|
27067
|
-
/* @__PURE__ */ (0,
|
|
27183
|
+
/* @__PURE__ */ (0, import_jsx_runtime216.jsx)("span", { className: "fs0 mr_4px", children: /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
27068
27184
|
label
|
|
27069
27185
|
] });
|
|
27070
27186
|
}
|
|
@@ -27075,12 +27191,12 @@ function StepIcon({
|
|
|
27075
27191
|
isCurrent = false
|
|
27076
27192
|
}) {
|
|
27077
27193
|
if (state === "error") {
|
|
27078
|
-
return /* @__PURE__ */ (0,
|
|
27194
|
+
return /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(Icon, { icon: "errorCircle" });
|
|
27079
27195
|
}
|
|
27080
27196
|
if (state === "complete") {
|
|
27081
|
-
return /* @__PURE__ */ (0,
|
|
27197
|
+
return /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(Icon, { icon: "check" });
|
|
27082
27198
|
}
|
|
27083
|
-
return /* @__PURE__ */ (0,
|
|
27199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime216.jsx)("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ (0, import_jsx_runtime216.jsx)("div", { ...(0, import_runtime137.trussProps)({
|
|
27084
27200
|
width: "w_10px",
|
|
27085
27201
|
height: "h_10px",
|
|
27086
27202
|
borderStyle: "bss",
|
|
@@ -27094,10 +27210,10 @@ function StepIcon({
|
|
|
27094
27210
|
}
|
|
27095
27211
|
|
|
27096
27212
|
// src/components/StepperTabs/StepperTab.tsx
|
|
27097
|
-
var
|
|
27213
|
+
var import_react153 = require("react");
|
|
27098
27214
|
var import_react_aria65 = require("react-aria");
|
|
27099
|
-
var
|
|
27100
|
-
var
|
|
27215
|
+
var import_runtime138 = require("@homebound/truss/runtime");
|
|
27216
|
+
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
27101
27217
|
function StepperTab(props) {
|
|
27102
27218
|
const {
|
|
27103
27219
|
label,
|
|
@@ -27113,7 +27229,7 @@ function StepperTab(props) {
|
|
|
27113
27229
|
onPress: () => onClick(value),
|
|
27114
27230
|
isDisabled: disabled || collapsed
|
|
27115
27231
|
};
|
|
27116
|
-
const ref = (0,
|
|
27232
|
+
const ref = (0, import_react153.useRef)(null);
|
|
27117
27233
|
const {
|
|
27118
27234
|
buttonProps
|
|
27119
27235
|
} = (0, import_react_aria65.useButton)(ariaProps, ref);
|
|
@@ -27128,7 +27244,7 @@ function StepperTab(props) {
|
|
|
27128
27244
|
const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
|
|
27129
27245
|
const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
|
|
27130
27246
|
const tid = useTestIds(props, "stepperTab");
|
|
27131
|
-
return /* @__PURE__ */ (0,
|
|
27247
|
+
return /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)("button", { ref, ...(0, import_react_aria65.mergeProps)(buttonProps, focusProps, hoverProps), "aria-label": label, ...(0, import_runtime138.trussProps)({
|
|
27132
27248
|
...stepperTabStyles.baseStyles,
|
|
27133
27249
|
...getStateStyles(active, completed),
|
|
27134
27250
|
...isHovered && !disabled ? stepperTabStyles.hoverStyles : {},
|
|
@@ -27136,10 +27252,10 @@ function StepperTab(props) {
|
|
|
27136
27252
|
...disabled ? stepperTabStyles.disabledStyles : {},
|
|
27137
27253
|
...isFocusVisible ? stepperTabStyles.focusRingStyles : {}
|
|
27138
27254
|
}), ...tid[defaultTestId(value)], children: [
|
|
27139
|
-
!collapsed && /* @__PURE__ */ (0,
|
|
27140
|
-
/* @__PURE__ */ (0,
|
|
27141
|
-
/* @__PURE__ */ (0,
|
|
27142
|
-
/* @__PURE__ */ (0,
|
|
27255
|
+
!collapsed && /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)(import_jsx_runtime217.Fragment, { children: [
|
|
27256
|
+
/* @__PURE__ */ (0, import_jsx_runtime217.jsxs)("span", { className: "dg jic mw0", children: [
|
|
27257
|
+
/* @__PURE__ */ (0, import_jsx_runtime217.jsx)("span", { className: "fw6 fz_14px lh_20px visibility_hidden gridArea_1_1 oh d_negwebkit_box wbo_vertical to_ellipsis wlc_1 wordBreak_break_all", "aria-hidden": true, children: label }),
|
|
27258
|
+
/* @__PURE__ */ (0, import_jsx_runtime217.jsx)("span", { ...(0, import_runtime138.trussProps)({
|
|
27143
27259
|
gridArea: "gridArea_1_1",
|
|
27144
27260
|
overflow: "oh",
|
|
27145
27261
|
display: "d_negwebkit_box",
|
|
@@ -27154,7 +27270,7 @@ function StepperTab(props) {
|
|
|
27154
27270
|
} : {}
|
|
27155
27271
|
}), children: label })
|
|
27156
27272
|
] }),
|
|
27157
|
-
/* @__PURE__ */ (0,
|
|
27273
|
+
/* @__PURE__ */ (0, import_jsx_runtime217.jsx)("span", { ...(0, import_runtime138.trussProps)({
|
|
27158
27274
|
flexShrink: "fs0",
|
|
27159
27275
|
marginLeft: "ml1",
|
|
27160
27276
|
transition: "transitionAll",
|
|
@@ -27164,10 +27280,10 @@ function StepperTab(props) {
|
|
|
27164
27280
|
opacity: "o100",
|
|
27165
27281
|
transform: "transform_scale_1_translateY_0"
|
|
27166
27282
|
} : {}
|
|
27167
|
-
}), children: /* @__PURE__ */ (0,
|
|
27283
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(Icon, { icon: "check", inc: 2.5, ...tid.check }) })
|
|
27168
27284
|
] }),
|
|
27169
|
-
/* @__PURE__ */ (0,
|
|
27170
|
-
/* @__PURE__ */ (0,
|
|
27285
|
+
/* @__PURE__ */ (0, import_jsx_runtime217.jsx)("span", { "aria-hidden": true, ...(0, import_runtime138.trussProps)(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
|
|
27286
|
+
/* @__PURE__ */ (0, import_jsx_runtime217.jsx)(import_react_aria65.VisuallyHidden, { children: completed ? "Complete" : "Not Complete" })
|
|
27171
27287
|
] });
|
|
27172
27288
|
}
|
|
27173
27289
|
function getStateStyles(active, completed) {
|
|
@@ -27248,9 +27364,9 @@ var stepperTabStyles = {
|
|
|
27248
27364
|
};
|
|
27249
27365
|
|
|
27250
27366
|
// src/components/StepperTabs/StepperTabs.tsx
|
|
27251
|
-
var
|
|
27252
|
-
var
|
|
27253
|
-
var
|
|
27367
|
+
var import_runtime139 = require("@homebound/truss/runtime");
|
|
27368
|
+
var import_jsx_runtime218 = require("react/jsx-runtime");
|
|
27369
|
+
var import_react154 = require("react");
|
|
27254
27370
|
function StepperTabs(props) {
|
|
27255
27371
|
const {
|
|
27256
27372
|
steps,
|
|
@@ -27265,7 +27381,7 @@ function StepperTabs(props) {
|
|
|
27265
27381
|
const collapsed = isMobile || !!forceCollapsed;
|
|
27266
27382
|
const capWidth = steps.length <= 3;
|
|
27267
27383
|
const currentStepIndex = Math.max(0, steps.findIndex((step) => step.value === currentStep));
|
|
27268
|
-
return /* @__PURE__ */ (0,
|
|
27384
|
+
return /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("ol", { ...(0, import_runtime139.trussProps)({
|
|
27269
27385
|
padding: "p_0",
|
|
27270
27386
|
margin: "m_0",
|
|
27271
27387
|
listStyle: "lis_none",
|
|
@@ -27280,7 +27396,7 @@ function StepperTabs(props) {
|
|
|
27280
27396
|
}), children: steps.map((step, idx) => {
|
|
27281
27397
|
const isCurrent = idx === currentStepIndex;
|
|
27282
27398
|
const isCompleted = idx < currentStepIndex;
|
|
27283
|
-
return /* @__PURE__ */ (0,
|
|
27399
|
+
return /* @__PURE__ */ (0, import_react154.createElement)("li", { ...(0, import_runtime139.trussProps)({
|
|
27284
27400
|
display: "df",
|
|
27285
27401
|
flexGrow: "fg1",
|
|
27286
27402
|
flexBasis: "fb_0",
|
|
@@ -27292,7 +27408,7 @@ function StepperTabs(props) {
|
|
|
27292
27408
|
"--maxWidth": `${maxStepWidthPx}px`
|
|
27293
27409
|
}]
|
|
27294
27410
|
} : {}
|
|
27295
|
-
}), key: step.value, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0,
|
|
27411
|
+
}), key: step.value, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(StepperTab, { label: step.label, value: step.value, active: isCurrent, completed: isCompleted, disabled: step.disabled, collapsed, onClick: onChange, ...tid.tab }));
|
|
27296
27412
|
}) }) });
|
|
27297
27413
|
}
|
|
27298
27414
|
var maxStepWidthPx = 280;
|
|
@@ -27300,8 +27416,8 @@ var gapPx = 6;
|
|
|
27300
27416
|
|
|
27301
27417
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
27302
27418
|
var import_react_dom8 = require("react-dom");
|
|
27303
|
-
var
|
|
27304
|
-
var
|
|
27419
|
+
var import_runtime140 = require("@homebound/truss/runtime");
|
|
27420
|
+
var import_jsx_runtime219 = require("react/jsx-runtime");
|
|
27305
27421
|
function SuperDrawerHeader(props) {
|
|
27306
27422
|
const {
|
|
27307
27423
|
hideControls
|
|
@@ -27318,20 +27434,20 @@ function SuperDrawerHeader(props) {
|
|
|
27318
27434
|
const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
|
|
27319
27435
|
const isDetail = currentContent !== firstContent;
|
|
27320
27436
|
const tid = useTestIds({}, "superDrawerHeader");
|
|
27321
|
-
return (0, import_react_dom8.createPortal)(/* @__PURE__ */ (0,
|
|
27322
|
-
isStructuredProps(props) ? /* @__PURE__ */ (0,
|
|
27323
|
-
/* @__PURE__ */ (0,
|
|
27324
|
-
/* @__PURE__ */ (0,
|
|
27437
|
+
return (0, import_react_dom8.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime219.jsxs)("div", { className: "df aic jcsb gap3", ...tid, children: [
|
|
27438
|
+
isStructuredProps(props) ? /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)("div", { className: "df jcsb aic gap2 fg1", children: [
|
|
27439
|
+
/* @__PURE__ */ (0, import_jsx_runtime219.jsxs)("div", { className: "fg1 df aic gap2", children: [
|
|
27440
|
+
/* @__PURE__ */ (0, import_jsx_runtime219.jsx)("h1", { className: "fw6 fz_30px lh_36px", children: props.title }),
|
|
27325
27441
|
props.left
|
|
27326
27442
|
] }),
|
|
27327
|
-
props.right && /* @__PURE__ */ (0,
|
|
27328
|
-
] }) : /* @__PURE__ */ (0,
|
|
27329
|
-
!hideControls && /* @__PURE__ */ (0,
|
|
27443
|
+
props.right && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("div", { className: "fs0", children: props.right })
|
|
27444
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("div", { className: "fg1", children: props.children }),
|
|
27445
|
+
!hideControls && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("div", { ...(0, import_runtime140.trussProps)({
|
|
27330
27446
|
flexShrink: "fs0",
|
|
27331
27447
|
...isDetail ? {
|
|
27332
27448
|
visibility: "vh"
|
|
27333
27449
|
} : {}
|
|
27334
|
-
}), children: /* @__PURE__ */ (0,
|
|
27450
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(ButtonGroup, { buttons: [{
|
|
27335
27451
|
icon: "chevronLeft",
|
|
27336
27452
|
onClick: () => onPrevClick && onPrevClick(),
|
|
27337
27453
|
disabled: !onPrevClick
|
|
@@ -27350,8 +27466,8 @@ function isStructuredProps(props) {
|
|
|
27350
27466
|
var import_framer_motion7 = require("framer-motion");
|
|
27351
27467
|
|
|
27352
27468
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
27353
|
-
var
|
|
27354
|
-
var
|
|
27469
|
+
var import_react155 = require("react");
|
|
27470
|
+
var import_jsx_runtime220 = require("react/jsx-runtime");
|
|
27355
27471
|
function useSuperDrawer() {
|
|
27356
27472
|
const {
|
|
27357
27473
|
drawerContentStack: contentStack,
|
|
@@ -27363,7 +27479,7 @@ function useSuperDrawer() {
|
|
|
27363
27479
|
function canCloseDrawerDetails(i, doChange) {
|
|
27364
27480
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
27365
27481
|
if (!canClose(canCloseDrawerDetail)) {
|
|
27366
|
-
openModal({ content: /* @__PURE__ */ (0,
|
|
27482
|
+
openModal({ content: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
27367
27483
|
return false;
|
|
27368
27484
|
}
|
|
27369
27485
|
}
|
|
@@ -27383,14 +27499,14 @@ function useSuperDrawer() {
|
|
|
27383
27499
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
27384
27500
|
if (!canClose(canCloseDrawer)) {
|
|
27385
27501
|
openModal({
|
|
27386
|
-
content: /* @__PURE__ */ (0,
|
|
27502
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
27387
27503
|
});
|
|
27388
27504
|
return;
|
|
27389
27505
|
}
|
|
27390
27506
|
}
|
|
27391
27507
|
doChange();
|
|
27392
27508
|
}
|
|
27393
|
-
const closeActions = (0,
|
|
27509
|
+
const closeActions = (0, import_react155.useMemo)(
|
|
27394
27510
|
() => {
|
|
27395
27511
|
return {
|
|
27396
27512
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -27425,7 +27541,7 @@ function useSuperDrawer() {
|
|
|
27425
27541
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27426
27542
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
27427
27543
|
);
|
|
27428
|
-
const actions = (0,
|
|
27544
|
+
const actions = (0, import_react155.useMemo)(
|
|
27429
27545
|
() => {
|
|
27430
27546
|
return {
|
|
27431
27547
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -27478,8 +27594,8 @@ function canClose(canCloseCheck) {
|
|
|
27478
27594
|
}
|
|
27479
27595
|
|
|
27480
27596
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
27481
|
-
var
|
|
27482
|
-
var
|
|
27597
|
+
var import_runtime141 = require("@homebound/truss/runtime");
|
|
27598
|
+
var import_jsx_runtime221 = require("react/jsx-runtime");
|
|
27483
27599
|
var SuperDrawerContent = ({
|
|
27484
27600
|
children,
|
|
27485
27601
|
banner,
|
|
@@ -27500,20 +27616,20 @@ var SuperDrawerContent = ({
|
|
|
27500
27616
|
} = firstContent ?? {};
|
|
27501
27617
|
function wrapWithMotionAndMaybeBack(children2) {
|
|
27502
27618
|
if (kind === "open") {
|
|
27503
|
-
return /* @__PURE__ */ (0,
|
|
27504
|
-
banner && /* @__PURE__ */ (0,
|
|
27619
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_framer_motion7.motion.div, { className: "pt3 pb3 pr3 pl3 fg1 oa", children: [
|
|
27620
|
+
banner && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { className: "ml_neg3 mr_neg3 mt_neg3 mb3", children: banner }),
|
|
27505
27621
|
children2
|
|
27506
27622
|
] }, "content");
|
|
27507
27623
|
} else if (kind === "detail") {
|
|
27508
|
-
return /* @__PURE__ */ (0,
|
|
27624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_framer_motion7.motion.div, { className: "pl3 pr3 pt2 pb3 fg1", animate: {
|
|
27509
27625
|
overflow: "auto"
|
|
27510
27626
|
}, transition: {
|
|
27511
27627
|
overflow: {
|
|
27512
27628
|
delay: 0.3
|
|
27513
27629
|
}
|
|
27514
27630
|
}, children: [
|
|
27515
|
-
/* @__PURE__ */ (0,
|
|
27516
|
-
/* @__PURE__ */ (0,
|
|
27631
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
27632
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(import_framer_motion7.motion.div, { initial: {
|
|
27517
27633
|
x: width2,
|
|
27518
27634
|
opacity: 0
|
|
27519
27635
|
}, animate: {
|
|
@@ -27531,7 +27647,7 @@ var SuperDrawerContent = ({
|
|
|
27531
27647
|
}, className: "pt2", children: children2 })
|
|
27532
27648
|
] }, "content");
|
|
27533
27649
|
} else {
|
|
27534
|
-
return /* @__PURE__ */ (0,
|
|
27650
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(import_framer_motion7.motion.div, { ...(0, import_runtime141.mergeProps)(void 0, {
|
|
27535
27651
|
overflow: "auto"
|
|
27536
27652
|
}, {
|
|
27537
27653
|
paddingTop: "pt3",
|
|
@@ -27542,9 +27658,9 @@ var SuperDrawerContent = ({
|
|
|
27542
27658
|
}) }, "content");
|
|
27543
27659
|
}
|
|
27544
27660
|
}
|
|
27545
|
-
return /* @__PURE__ */ (0,
|
|
27661
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_jsx_runtime221.Fragment, { children: [
|
|
27546
27662
|
wrapWithMotionAndMaybeBack(children),
|
|
27547
|
-
actions && /* @__PURE__ */ (0,
|
|
27663
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("footer", { ...(0, import_runtime141.trussProps)({
|
|
27548
27664
|
borderTopStyle: "bts_solid",
|
|
27549
27665
|
borderTopWidth: "btw_1px",
|
|
27550
27666
|
borderColor: ["bc_var", {
|
|
@@ -27557,7 +27673,7 @@ var SuperDrawerContent = ({
|
|
|
27557
27673
|
display: "df",
|
|
27558
27674
|
alignItems: "aic",
|
|
27559
27675
|
justifyContent: "jcfe"
|
|
27560
|
-
}), children: /* @__PURE__ */ (0,
|
|
27676
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { className: "df gap1", children: actions.map((buttonProps, i) => /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(Button, { ...buttonProps }, i)) }) })
|
|
27561
27677
|
] });
|
|
27562
27678
|
};
|
|
27563
27679
|
|
|
@@ -27613,19 +27729,19 @@ function visit(rows, fn) {
|
|
|
27613
27729
|
|
|
27614
27730
|
// src/components/Tabs.tsx
|
|
27615
27731
|
var import_change_case9 = require("change-case");
|
|
27616
|
-
var
|
|
27732
|
+
var import_react156 = require("react");
|
|
27617
27733
|
var import_react_aria66 = require("react-aria");
|
|
27618
27734
|
var import_react_router = require("react-router");
|
|
27619
27735
|
var import_react_router_dom8 = require("react-router-dom");
|
|
27620
|
-
var
|
|
27621
|
-
var
|
|
27736
|
+
var import_runtime142 = require("@homebound/truss/runtime");
|
|
27737
|
+
var import_jsx_runtime222 = require("react/jsx-runtime");
|
|
27622
27738
|
function TabsWithContent(props) {
|
|
27623
27739
|
const styles = hideTabs(props) ? {} : {
|
|
27624
27740
|
paddingTop: "pt3"
|
|
27625
27741
|
};
|
|
27626
|
-
return /* @__PURE__ */ (0,
|
|
27627
|
-
/* @__PURE__ */ (0,
|
|
27628
|
-
/* @__PURE__ */ (0,
|
|
27742
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)(import_jsx_runtime222.Fragment, { children: [
|
|
27743
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)(Tabs, { ...props }),
|
|
27744
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)(TabContent, { ...props, contentXss: {
|
|
27629
27745
|
...styles,
|
|
27630
27746
|
...props.contentXss
|
|
27631
27747
|
} })
|
|
@@ -27650,7 +27766,7 @@ function TabContent(props) {
|
|
|
27650
27766
|
return (
|
|
27651
27767
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
27652
27768
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
27653
|
-
/* @__PURE__ */ (0,
|
|
27769
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...(0, import_runtime142.trussProps)(contentXss), children: selectedTab.render() }) })
|
|
27654
27770
|
);
|
|
27655
27771
|
}
|
|
27656
27772
|
function Tabs(props) {
|
|
@@ -27674,9 +27790,9 @@ function Tabs(props) {
|
|
|
27674
27790
|
focusProps
|
|
27675
27791
|
} = (0, import_react_aria66.useFocusRing)();
|
|
27676
27792
|
const tid = useTestIds(others, "tabs");
|
|
27677
|
-
const [active, setActive] = (0,
|
|
27678
|
-
const ref = (0,
|
|
27679
|
-
(0,
|
|
27793
|
+
const [active, setActive] = (0, import_react156.useState)(selected);
|
|
27794
|
+
const ref = (0, import_react156.useRef)(null);
|
|
27795
|
+
(0, import_react156.useEffect)(() => setActive(selected), [selected]);
|
|
27680
27796
|
function onKeyUp(e) {
|
|
27681
27797
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
27682
27798
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -27692,7 +27808,7 @@ function Tabs(props) {
|
|
|
27692
27808
|
setActive(selected);
|
|
27693
27809
|
}
|
|
27694
27810
|
}
|
|
27695
|
-
return /* @__PURE__ */ (0,
|
|
27811
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { ...(0, import_runtime142.trussProps)({
|
|
27696
27812
|
...{
|
|
27697
27813
|
display: "df",
|
|
27698
27814
|
alignItems: "aic",
|
|
@@ -27710,11 +27826,11 @@ function Tabs(props) {
|
|
|
27710
27826
|
}
|
|
27711
27827
|
} : {}
|
|
27712
27828
|
}), children: [
|
|
27713
|
-
!hideTabs(props) && /* @__PURE__ */ (0,
|
|
27829
|
+
!hideTabs(props) && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
27714
27830
|
const uniqueValue = uniqueTabValue(tab);
|
|
27715
|
-
return /* @__PURE__ */ (0,
|
|
27831
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
|
|
27716
27832
|
}) }),
|
|
27717
|
-
right && /* @__PURE__ */ (0,
|
|
27833
|
+
right && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { className: "mla df aic gap1 pb1", children: right })
|
|
27718
27834
|
] });
|
|
27719
27835
|
}
|
|
27720
27836
|
function TabImpl(props) {
|
|
@@ -27750,7 +27866,7 @@ function TabImpl(props) {
|
|
|
27750
27866
|
disabledStyles: disabledStyles3,
|
|
27751
27867
|
activeHoverStyles,
|
|
27752
27868
|
aiStyles
|
|
27753
|
-
} = (0,
|
|
27869
|
+
} = (0, import_react156.useMemo)(() => getTabStyles(), []);
|
|
27754
27870
|
const uniqueValue = uniqueTabValue(tab);
|
|
27755
27871
|
const tabProps = {
|
|
27756
27872
|
"aria-controls": `${uniqueValue}-tabPanel`,
|
|
@@ -27760,7 +27876,7 @@ function TabImpl(props) {
|
|
|
27760
27876
|
role: "tab",
|
|
27761
27877
|
tabIndex: active ? 0 : -1,
|
|
27762
27878
|
...others,
|
|
27763
|
-
...(0,
|
|
27879
|
+
...(0, import_runtime142.trussProps)({
|
|
27764
27880
|
...baseStyles4,
|
|
27765
27881
|
// Only tints the label while the tab is unselected; selected keeps its own darker treatment.
|
|
27766
27882
|
...aiMode && aiStyles,
|
|
@@ -27778,18 +27894,18 @@ function TabImpl(props) {
|
|
|
27778
27894
|
onClick: () => onClick(tab.value)
|
|
27779
27895
|
}
|
|
27780
27896
|
});
|
|
27781
|
-
const decoration = aiMode ? /* @__PURE__ */ (0,
|
|
27782
|
-
const tabLabel = /* @__PURE__ */ (0,
|
|
27897
|
+
const decoration = aiMode ? /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(AiBadge, {}) : icon ? /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(Icon, { icon }) : endAdornment;
|
|
27898
|
+
const tabLabel = /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)(import_jsx_runtime222.Fragment, { children: [
|
|
27783
27899
|
label,
|
|
27784
|
-
decoration && /* @__PURE__ */ (0,
|
|
27900
|
+
decoration && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("span", { className: "ml1 df aic", children: decoration })
|
|
27785
27901
|
] });
|
|
27786
27902
|
return isDisabled ? maybeTooltip({
|
|
27787
27903
|
title: resolveTooltip(disabled),
|
|
27788
27904
|
placement: "top",
|
|
27789
|
-
children: /* @__PURE__ */ (0,
|
|
27790
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */ (0,
|
|
27905
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ...tabProps, children: tabLabel })
|
|
27906
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(import_react_router_dom8.Link, { ...(0, import_react_aria66.mergeProps)(tabProps, interactiveProps, {
|
|
27791
27907
|
className: "navLink"
|
|
27792
|
-
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0,
|
|
27908
|
+
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("button", { ...{
|
|
27793
27909
|
...tabProps,
|
|
27794
27910
|
...interactiveProps
|
|
27795
27911
|
}, children: tabLabel });
|
|
@@ -27800,7 +27916,7 @@ function getTabStyles() {
|
|
|
27800
27916
|
const borderBottomStyles = {
|
|
27801
27917
|
borderBottomStyle: "bbs_solid",
|
|
27802
27918
|
borderBottomWidth: ["borderBottomWidth_var", {
|
|
27803
|
-
"--borderBottomWidth": (0,
|
|
27919
|
+
"--borderBottomWidth": (0, import_runtime142.maybeCssVar)(`${borderBottomWidthPx}px`)
|
|
27804
27920
|
}],
|
|
27805
27921
|
paddingBottom: ["pb_var", {
|
|
27806
27922
|
"--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
|
|
@@ -27853,7 +27969,7 @@ function getTabStyles() {
|
|
|
27853
27969
|
// The AI label tint is part of the brand ramp rather than a semantic token, same as the sparkle's gradient.
|
|
27854
27970
|
aiStyles: {
|
|
27855
27971
|
color: ["color_var", {
|
|
27856
|
-
"--color": (0,
|
|
27972
|
+
"--color": (0, import_runtime142.maybeCssVar)("rgba(109, 40, 217, 1)" /* Purple700 */)
|
|
27857
27973
|
}]
|
|
27858
27974
|
},
|
|
27859
27975
|
focusRingStyles: {
|
|
@@ -27903,7 +28019,7 @@ function hideTabs(props) {
|
|
|
27903
28019
|
}
|
|
27904
28020
|
|
|
27905
28021
|
// src/components/TagGroup.tsx
|
|
27906
|
-
var
|
|
28022
|
+
var import_jsx_runtime223 = require("react/jsx-runtime");
|
|
27907
28023
|
function TagGroup(props) {
|
|
27908
28024
|
const {
|
|
27909
28025
|
tags,
|
|
@@ -27911,30 +28027,30 @@ function TagGroup(props) {
|
|
|
27911
28027
|
...otherProps
|
|
27912
28028
|
} = props;
|
|
27913
28029
|
const tid = useTestIds(otherProps, "tagGroup");
|
|
27914
|
-
return /* @__PURE__ */ (0,
|
|
27915
|
-
tags.map((tag) => /* @__PURE__ */ (0,
|
|
27916
|
-
onEdit && /* @__PURE__ */ (0,
|
|
28030
|
+
return /* @__PURE__ */ (0, import_jsx_runtime223.jsxs)("div", { ...tid, className: "df aic fww gap1", children: [
|
|
28031
|
+
tags.map((tag) => /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Tag, { ...tag, variant: "secondary" }, tag.text)),
|
|
28032
|
+
onEdit && /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("span", { className: "ml1 fw4 fz_14px lh_20px", children: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Button, { label: "Edit", variant: "text", onClick: onEdit, ...tid.edit }) })
|
|
27917
28033
|
] });
|
|
27918
28034
|
}
|
|
27919
28035
|
|
|
27920
28036
|
// src/components/Toast/useToast.tsx
|
|
27921
|
-
var
|
|
28037
|
+
var import_react157 = require("react");
|
|
27922
28038
|
function useToast() {
|
|
27923
28039
|
const { setNotice, clear } = useToastContext();
|
|
27924
|
-
const showToast = (0,
|
|
28040
|
+
const showToast = (0, import_react157.useCallback)((props) => setNotice(props), [setNotice]);
|
|
27925
28041
|
return { showToast, clear };
|
|
27926
28042
|
}
|
|
27927
28043
|
|
|
27928
28044
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
27929
|
-
var
|
|
27930
|
-
var
|
|
28045
|
+
var import_runtime143 = require("@homebound/truss/runtime");
|
|
28046
|
+
var import_jsx_runtime224 = require("react/jsx-runtime");
|
|
27931
28047
|
var __maybeInc28 = (inc) => {
|
|
27932
28048
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
27933
28049
|
};
|
|
27934
28050
|
function SideNavLayout(props) {
|
|
27935
28051
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
27936
|
-
if (hasProvider) return /* @__PURE__ */ (0,
|
|
27937
|
-
return /* @__PURE__ */ (0,
|
|
28052
|
+
if (hasProvider) return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(SideNavLayoutContent, { ...props });
|
|
28053
|
+
return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(SideNavLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(SideNavLayoutContent, { ...props }) });
|
|
27938
28054
|
}
|
|
27939
28055
|
function SideNavLayoutContent(props) {
|
|
27940
28056
|
const {
|
|
@@ -27957,7 +28073,7 @@ function SideNavLayoutContent(props) {
|
|
|
27957
28073
|
const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
|
|
27958
28074
|
const navTop = bannerAndNavbarChromeTop();
|
|
27959
28075
|
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
27960
|
-
const rail = showRail && /* @__PURE__ */ (0,
|
|
28076
|
+
const rail = showRail && /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)("div", { ...(0, import_runtime143.trussProps)({
|
|
27961
28077
|
...{
|
|
27962
28078
|
display: "df",
|
|
27963
28079
|
flexDirection: "fdc",
|
|
@@ -27981,14 +28097,14 @@ function SideNavLayoutContent(props) {
|
|
|
27981
28097
|
position: "sticky",
|
|
27982
28098
|
left: "left0",
|
|
27983
28099
|
zIndex: ["z_var", {
|
|
27984
|
-
"--zIndex": (0,
|
|
28100
|
+
"--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.sideNav)
|
|
27985
28101
|
}],
|
|
27986
28102
|
top: ["top_var", {
|
|
27987
|
-
"--top": (0,
|
|
28103
|
+
"--top": (0, import_runtime143.maybeCssVar)(__maybeInc28(navTop))
|
|
27988
28104
|
}],
|
|
27989
28105
|
alignSelf: "asfs",
|
|
27990
28106
|
height: ["h_var", {
|
|
27991
|
-
"--height": (0,
|
|
28107
|
+
"--height": (0, import_runtime143.maybeCssVar)(__maybeInc28(railViewportHeight))
|
|
27992
28108
|
}],
|
|
27993
28109
|
width: ["w_var", {
|
|
27994
28110
|
"--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
|
|
@@ -27998,11 +28114,11 @@ function SideNavLayoutContent(props) {
|
|
|
27998
28114
|
position: "fixed",
|
|
27999
28115
|
left: "left0",
|
|
28000
28116
|
top: ["top_var", {
|
|
28001
|
-
"--top": (0,
|
|
28117
|
+
"--top": (0, import_runtime143.maybeCssVar)(__maybeInc28(navTop))
|
|
28002
28118
|
}],
|
|
28003
28119
|
bottom: "bottom0",
|
|
28004
28120
|
zIndex: ["z_var", {
|
|
28005
|
-
"--zIndex": (0,
|
|
28121
|
+
"--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.sideNav)
|
|
28006
28122
|
}]
|
|
28007
28123
|
},
|
|
28008
28124
|
...collapsed ? {
|
|
@@ -28014,18 +28130,18 @@ function SideNavLayoutContent(props) {
|
|
|
28014
28130
|
}
|
|
28015
28131
|
}
|
|
28016
28132
|
}), ...tid.sideNav, children: [
|
|
28017
|
-
showCollapseToggle && /* @__PURE__ */ (0,
|
|
28018
|
-
/* @__PURE__ */ (0,
|
|
28133
|
+
showCollapseToggle && /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { className: "absolute right2 top2 z2", children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
28134
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(SideNav, { ...sideNav }) })
|
|
28019
28135
|
] });
|
|
28020
|
-
return /* @__PURE__ */ (0,
|
|
28136
|
+
return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)("div", { ...(0, import_runtime143.mergeProps)(void 0, {
|
|
28021
28137
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
28022
28138
|
}, {
|
|
28023
28139
|
display: "df",
|
|
28024
28140
|
flexDirection: "fdr",
|
|
28025
28141
|
width: "w100"
|
|
28026
28142
|
}), ...tid, children: [
|
|
28027
|
-
contrastRail ? /* @__PURE__ */ (0,
|
|
28028
|
-
/* @__PURE__ */ (0,
|
|
28143
|
+
contrastRail ? /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(ContrastScope, { children: rail }) : rail,
|
|
28144
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime143.trussProps)({
|
|
28029
28145
|
display: "df",
|
|
28030
28146
|
flexDirection: "fdc",
|
|
28031
28147
|
flexGrow: "fg1",
|
|
@@ -28041,8 +28157,8 @@ function SideNavLayoutContent(props) {
|
|
|
28041
28157
|
}
|
|
28042
28158
|
|
|
28043
28159
|
// src/layouts/CenteredLayout/CenteredLayout.tsx
|
|
28044
|
-
var
|
|
28045
|
-
var
|
|
28160
|
+
var import_runtime144 = require("@homebound/truss/runtime");
|
|
28161
|
+
var import_jsx_runtime225 = require("react/jsx-runtime");
|
|
28046
28162
|
var __maybeInc29 = (inc) => {
|
|
28047
28163
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28048
28164
|
};
|
|
@@ -28055,7 +28171,7 @@ function CenteredLayout(props) {
|
|
|
28055
28171
|
const {
|
|
28056
28172
|
mdAndUp
|
|
28057
28173
|
} = useBreakpoint();
|
|
28058
|
-
return /* @__PURE__ */ (0,
|
|
28174
|
+
return /* @__PURE__ */ (0, import_jsx_runtime225.jsx)("div", { ...(0, import_runtime144.mergeProps)(void 0, {
|
|
28059
28175
|
// layoutContainer descendants (e.g. ContentHeader) read this to inset sticky horizontal chrome within the shell padding.
|
|
28060
28176
|
[beamLayoutContentPaddingXVar]: mdAndUp ? mdAndUpContentPaddingX : smContentPaddingX
|
|
28061
28177
|
}, {
|
|
@@ -28083,16 +28199,16 @@ var smContentPaddingX = "12px";
|
|
|
28083
28199
|
var mdAndUpContentPaddingX = pageContentPaddingXValue;
|
|
28084
28200
|
var centeredPaddingX = {
|
|
28085
28201
|
paddingLeft: ["px_var mdandup_pl3", {
|
|
28086
|
-
"--paddingLeft": (0,
|
|
28202
|
+
"--paddingLeft": (0, import_runtime144.maybeCssVar)(__maybeInc29(smContentPaddingX))
|
|
28087
28203
|
}],
|
|
28088
28204
|
paddingRight: ["px_var mdandup_pr3", {
|
|
28089
|
-
"--paddingRight": (0,
|
|
28205
|
+
"--paddingRight": (0, import_runtime144.maybeCssVar)(__maybeInc29(smContentPaddingX))
|
|
28090
28206
|
}]
|
|
28091
28207
|
};
|
|
28092
28208
|
|
|
28093
28209
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
|
|
28094
|
-
var
|
|
28095
|
-
var
|
|
28210
|
+
var import_runtime145 = require("@homebound/truss/runtime");
|
|
28211
|
+
var import_jsx_runtime226 = require("react/jsx-runtime");
|
|
28096
28212
|
var __maybeInc30 = (inc) => {
|
|
28097
28213
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28098
28214
|
};
|
|
@@ -28108,35 +28224,35 @@ function EnvironmentBannerLayout(props) {
|
|
|
28108
28224
|
[beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
|
|
28109
28225
|
};
|
|
28110
28226
|
const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
|
|
28111
|
-
return /* @__PURE__ */ (0,
|
|
28227
|
+
return /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)("div", { ...(0, import_runtime145.mergeProps)(void 0, style, {
|
|
28112
28228
|
display: "df",
|
|
28113
28229
|
flexDirection: "fdc",
|
|
28114
28230
|
width: "wfc",
|
|
28115
28231
|
minWidth: "mw100"
|
|
28116
28232
|
}), ...tid, children: [
|
|
28117
|
-
showBanner && environmentBanner && /* @__PURE__ */ (0,
|
|
28233
|
+
showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime226.jsx)("div", { ...(0, import_runtime145.mergeProps)(void 0, {
|
|
28118
28234
|
height: environmentBannerSizePx
|
|
28119
28235
|
}, {
|
|
28120
28236
|
flexShrink: "fs0",
|
|
28121
28237
|
width: "w100"
|
|
28122
|
-
}), children: /* @__PURE__ */ (0,
|
|
28238
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)("div", { ...(0, import_runtime145.trussProps)({
|
|
28123
28239
|
position: "fixed",
|
|
28124
28240
|
top: "top0",
|
|
28125
28241
|
left: "left0",
|
|
28126
28242
|
zIndex: ["z_var", {
|
|
28127
|
-
"--zIndex": (0,
|
|
28243
|
+
"--zIndex": (0, import_runtime145.maybeCssVar)(zIndices.environmentBanner)
|
|
28128
28244
|
}],
|
|
28129
28245
|
width: ["w_var", {
|
|
28130
|
-
"--width": (0,
|
|
28246
|
+
"--width": (0, import_runtime145.maybeCssVar)(__maybeInc30(innerWidth))
|
|
28131
28247
|
}]
|
|
28132
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0,
|
|
28248
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
|
|
28133
28249
|
children
|
|
28134
28250
|
] }) }) });
|
|
28135
28251
|
}
|
|
28136
28252
|
|
|
28137
28253
|
// src/layouts/FormSectionLayout/FormSectionLayout.tsx
|
|
28138
|
-
var
|
|
28139
|
-
var
|
|
28254
|
+
var import_runtime146 = require("@homebound/truss/runtime");
|
|
28255
|
+
var import_jsx_runtime227 = require("react/jsx-runtime");
|
|
28140
28256
|
function FormSectionLayout(props) {
|
|
28141
28257
|
const {
|
|
28142
28258
|
title,
|
|
@@ -28148,7 +28264,7 @@ function FormSectionLayout(props) {
|
|
|
28148
28264
|
aiMode = false
|
|
28149
28265
|
} = props;
|
|
28150
28266
|
const tid = useTestIds(props, "formSectionLayout");
|
|
28151
|
-
const content = /* @__PURE__ */ (0,
|
|
28267
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)("div", { ...(0, import_runtime146.trussProps)({
|
|
28152
28268
|
display: "df",
|
|
28153
28269
|
flexDirection: "fdc",
|
|
28154
28270
|
gap: "gap8",
|
|
@@ -28159,21 +28275,21 @@ function FormSectionLayout(props) {
|
|
|
28159
28275
|
paddingLeft: "pl3"
|
|
28160
28276
|
} : {}
|
|
28161
28277
|
}), children: [
|
|
28162
|
-
/* @__PURE__ */ (0,
|
|
28163
|
-
/* @__PURE__ */ (0,
|
|
28278
|
+
/* @__PURE__ */ (0, import_jsx_runtime227.jsxs)("div", { className: "df fdc gap3", children: [
|
|
28279
|
+
/* @__PURE__ */ (0, import_jsx_runtime227.jsx)(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2, aiMode }),
|
|
28164
28280
|
initialFields
|
|
28165
28281
|
] }),
|
|
28166
|
-
sections && /* @__PURE__ */ (0,
|
|
28282
|
+
sections && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { className: "df fdc gap8", children: sections.map((section, i) => /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(FormSection, { ...section }, defaultTestId(section.title) || i)) })
|
|
28167
28283
|
] });
|
|
28168
|
-
return /* @__PURE__ */ (0,
|
|
28284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(CenteredLayout, { size: "sm", children: aiMode ? /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(AiCard, { size: "lg", ...tid, children: content }) : content });
|
|
28169
28285
|
}
|
|
28170
28286
|
|
|
28171
28287
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
28172
|
-
var
|
|
28173
|
-
var
|
|
28288
|
+
var import_react161 = require("react");
|
|
28289
|
+
var import_runtime147 = require("@homebound/truss/runtime");
|
|
28174
28290
|
|
|
28175
28291
|
// src/layouts/useAutoHideOnScroll.ts
|
|
28176
|
-
var
|
|
28292
|
+
var import_react158 = require("react");
|
|
28177
28293
|
var THRESHOLD = 80;
|
|
28178
28294
|
function getInitialAutoHideState() {
|
|
28179
28295
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -28183,15 +28299,15 @@ function getInitialAutoHideState() {
|
|
|
28183
28299
|
}
|
|
28184
28300
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
28185
28301
|
const initial = getInitialAutoHideState();
|
|
28186
|
-
const [state, setState] = (0,
|
|
28187
|
-
const stateRef = (0,
|
|
28188
|
-
const [atTop, setAtTop] = (0,
|
|
28189
|
-
const atTopRef = (0,
|
|
28190
|
-
const getTopOffsetRef = (0,
|
|
28302
|
+
const [state, setState] = (0, import_react158.useState)(initial.state);
|
|
28303
|
+
const stateRef = (0, import_react158.useRef)(initial.state);
|
|
28304
|
+
const [atTop, setAtTop] = (0, import_react158.useState)(initial.atTop);
|
|
28305
|
+
const atTopRef = (0, import_react158.useRef)(initial.atTop);
|
|
28306
|
+
const getTopOffsetRef = (0, import_react158.useRef)(getTopOffset);
|
|
28191
28307
|
getTopOffsetRef.current = getTopOffset;
|
|
28192
|
-
const lastScrollY = (0,
|
|
28193
|
-
const lastScrollHeight = (0,
|
|
28194
|
-
(0,
|
|
28308
|
+
const lastScrollY = (0, import_react158.useRef)(Number.POSITIVE_INFINITY);
|
|
28309
|
+
const lastScrollHeight = (0, import_react158.useRef)(0);
|
|
28310
|
+
(0, import_react158.useLayoutEffect)(() => {
|
|
28195
28311
|
if (!enabled) {
|
|
28196
28312
|
stateRef.current = "static";
|
|
28197
28313
|
atTopRef.current = true;
|
|
@@ -28263,35 +28379,35 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
28263
28379
|
}
|
|
28264
28380
|
|
|
28265
28381
|
// src/layouts/useMeasuredHeight.ts
|
|
28266
|
-
var
|
|
28267
|
-
var
|
|
28382
|
+
var import_utils191 = require("@react-aria/utils");
|
|
28383
|
+
var import_react159 = require("react");
|
|
28268
28384
|
function useMeasuredHeight(ref, enabled) {
|
|
28269
|
-
const [height, setHeight] = (0,
|
|
28270
|
-
const syncElementHeight = (0,
|
|
28385
|
+
const [height, setHeight] = (0, import_react159.useState)(0);
|
|
28386
|
+
const syncElementHeight = (0, import_react159.useCallback)(() => {
|
|
28271
28387
|
const el = ref.current;
|
|
28272
28388
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
28273
28389
|
setHeight((prev) => prev === next ? prev : next);
|
|
28274
28390
|
}, [ref]);
|
|
28275
|
-
(0,
|
|
28276
|
-
(0,
|
|
28391
|
+
(0, import_utils191.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
28392
|
+
(0, import_react159.useLayoutEffect)(() => {
|
|
28277
28393
|
syncElementHeight();
|
|
28278
28394
|
}, [enabled, syncElementHeight]);
|
|
28279
28395
|
return height;
|
|
28280
28396
|
}
|
|
28281
28397
|
|
|
28282
28398
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
28283
|
-
var
|
|
28284
|
-
var
|
|
28285
|
-
var NavbarLayoutHeightContext = (0,
|
|
28399
|
+
var import_react160 = require("react");
|
|
28400
|
+
var import_jsx_runtime228 = require("react/jsx-runtime");
|
|
28401
|
+
var NavbarLayoutHeightContext = (0, import_react160.createContext)(0);
|
|
28286
28402
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
28287
|
-
return /* @__PURE__ */ (0,
|
|
28403
|
+
return /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
28288
28404
|
}
|
|
28289
28405
|
function useNavbarLayoutHeight() {
|
|
28290
|
-
return (0,
|
|
28406
|
+
return (0, import_react160.useContext)(NavbarLayoutHeightContext);
|
|
28291
28407
|
}
|
|
28292
28408
|
|
|
28293
28409
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
28294
|
-
var
|
|
28410
|
+
var import_jsx_runtime229 = require("react/jsx-runtime");
|
|
28295
28411
|
var __maybeInc31 = (inc) => {
|
|
28296
28412
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28297
28413
|
};
|
|
@@ -28301,8 +28417,8 @@ function NavbarLayout(props) {
|
|
|
28301
28417
|
children
|
|
28302
28418
|
} = props;
|
|
28303
28419
|
const tid = useTestIds(props, "navbarLayout");
|
|
28304
|
-
const navMetricsRef = (0,
|
|
28305
|
-
const spacerRef = (0,
|
|
28420
|
+
const navMetricsRef = (0, import_react161.useRef)(null);
|
|
28421
|
+
const spacerRef = (0, import_react161.useRef)(null);
|
|
28306
28422
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
28307
28423
|
const {
|
|
28308
28424
|
state: autoHideState,
|
|
@@ -28320,10 +28436,10 @@ function NavbarLayout(props) {
|
|
|
28320
28436
|
position: "sticky",
|
|
28321
28437
|
left: "left0",
|
|
28322
28438
|
zIndex: ["z_var", {
|
|
28323
|
-
"--zIndex": (0,
|
|
28439
|
+
"--zIndex": (0, import_runtime147.maybeCssVar)(zIndices.navbar)
|
|
28324
28440
|
}],
|
|
28325
28441
|
width: ["w_var", {
|
|
28326
|
-
"--width": (0,
|
|
28442
|
+
"--width": (0, import_runtime147.maybeCssVar)(__maybeInc31(innerWidth))
|
|
28327
28443
|
}]
|
|
28328
28444
|
}
|
|
28329
28445
|
) : (
|
|
@@ -28332,10 +28448,10 @@ function NavbarLayout(props) {
|
|
|
28332
28448
|
position: "fixed",
|
|
28333
28449
|
left: "left0",
|
|
28334
28450
|
zIndex: ["z_var", {
|
|
28335
|
-
"--zIndex": (0,
|
|
28451
|
+
"--zIndex": (0, import_runtime147.maybeCssVar)(zIndices.navbar)
|
|
28336
28452
|
}],
|
|
28337
28453
|
width: ["w_var", {
|
|
28338
|
-
"--width": (0,
|
|
28454
|
+
"--width": (0, import_runtime147.maybeCssVar)(__maybeInc31(innerWidth))
|
|
28339
28455
|
}],
|
|
28340
28456
|
transition: "transitionTop"
|
|
28341
28457
|
}
|
|
@@ -28344,29 +28460,29 @@ function NavbarLayout(props) {
|
|
|
28344
28460
|
const innerStyle = autoHideState !== "static" ? {
|
|
28345
28461
|
top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
|
|
28346
28462
|
} : void 0;
|
|
28347
|
-
const navbarEl = (0,
|
|
28348
|
-
return /* @__PURE__ */ (0,
|
|
28463
|
+
const navbarEl = (0, import_react161.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
28464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(MobileSubNavProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime229.jsxs)("div", { ...(0, import_runtime147.mergeProps)(void 0, cssVars, {
|
|
28349
28465
|
display: "df",
|
|
28350
28466
|
flexDirection: "fdc",
|
|
28351
28467
|
width: "wfc",
|
|
28352
28468
|
minWidth: "mw100"
|
|
28353
28469
|
}), ...tid, children: [
|
|
28354
|
-
/* @__PURE__ */ (0,
|
|
28470
|
+
/* @__PURE__ */ (0, import_jsx_runtime229.jsx)("div", { ref: spacerRef, ...(0, import_runtime147.mergeProps)(void 0, {
|
|
28355
28471
|
height: navHeight
|
|
28356
28472
|
}, {
|
|
28357
28473
|
flexShrink: "fs0",
|
|
28358
28474
|
width: "w100"
|
|
28359
|
-
}), children: /* @__PURE__ */ (0,
|
|
28360
|
-
/* @__PURE__ */ (0,
|
|
28475
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime147.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
28476
|
+
/* @__PURE__ */ (0, import_jsx_runtime229.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
28361
28477
|
] }) }) }) });
|
|
28362
28478
|
}
|
|
28363
28479
|
|
|
28364
28480
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
28365
|
-
var
|
|
28481
|
+
var import_react162 = require("react");
|
|
28366
28482
|
|
|
28367
28483
|
// src/components/Headers/BaseHeader.tsx
|
|
28368
|
-
var
|
|
28369
|
-
var
|
|
28484
|
+
var import_runtime148 = require("@homebound/truss/runtime");
|
|
28485
|
+
var import_jsx_runtime230 = require("react/jsx-runtime");
|
|
28370
28486
|
function BaseHeader(props) {
|
|
28371
28487
|
const {
|
|
28372
28488
|
title,
|
|
@@ -28378,7 +28494,7 @@ function BaseHeader(props) {
|
|
|
28378
28494
|
} = props;
|
|
28379
28495
|
const tid = useTestIds(otherProps, "header");
|
|
28380
28496
|
useDocumentTitle(title, documentTitleSuffix);
|
|
28381
|
-
return /* @__PURE__ */ (0,
|
|
28497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("header", { ...tid, ...(0, import_runtime148.trussProps)({
|
|
28382
28498
|
display: "df",
|
|
28383
28499
|
flexDirection: "fdc",
|
|
28384
28500
|
paddingTop: "pt3",
|
|
@@ -28392,7 +28508,7 @@ function BaseHeader(props) {
|
|
|
28392
28508
|
"--backgroundColor": "var(--b-surface)"
|
|
28393
28509
|
}]
|
|
28394
28510
|
}), children: [
|
|
28395
|
-
/* @__PURE__ */ (0,
|
|
28511
|
+
/* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("div", { ...(0, import_runtime148.trussProps)({
|
|
28396
28512
|
...{
|
|
28397
28513
|
display: "df",
|
|
28398
28514
|
justifyContent: "jcsb",
|
|
@@ -28406,9 +28522,9 @@ function BaseHeader(props) {
|
|
|
28406
28522
|
} : {}
|
|
28407
28523
|
}
|
|
28408
28524
|
}), children: [
|
|
28409
|
-
/* @__PURE__ */ (0,
|
|
28410
|
-
breadcrumbs && /* @__PURE__ */ (0,
|
|
28411
|
-
/* @__PURE__ */ (0,
|
|
28525
|
+
/* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("div", { className: "mw0", children: [
|
|
28526
|
+
breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(Breadcrumbs, { ...breadcrumbs }),
|
|
28527
|
+
/* @__PURE__ */ (0, import_jsx_runtime230.jsx)("h1", { ...tid.title, ...(0, import_runtime148.trussProps)({
|
|
28412
28528
|
fontWeight: "fw6",
|
|
28413
28529
|
fontSize: "fz_20px",
|
|
28414
28530
|
lineHeight: "lh_28px",
|
|
@@ -28417,22 +28533,22 @@ function BaseHeader(props) {
|
|
|
28417
28533
|
}]
|
|
28418
28534
|
}), children: title })
|
|
28419
28535
|
] }),
|
|
28420
|
-
/* @__PURE__ */ (0,
|
|
28536
|
+
/* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { className: "fs0", children: rightSlot })
|
|
28421
28537
|
] }),
|
|
28422
28538
|
bottomSlot
|
|
28423
28539
|
] });
|
|
28424
28540
|
}
|
|
28425
28541
|
|
|
28426
28542
|
// src/components/Headers/PageHeader.tsx
|
|
28427
|
-
var
|
|
28428
|
-
var
|
|
28543
|
+
var import_runtime149 = require("@homebound/truss/runtime");
|
|
28544
|
+
var import_jsx_runtime231 = require("react/jsx-runtime");
|
|
28429
28545
|
function PageHeader2(props) {
|
|
28430
28546
|
const {
|
|
28431
28547
|
tabs,
|
|
28432
28548
|
...otherProps
|
|
28433
28549
|
} = props;
|
|
28434
28550
|
const tid = useTestIds(otherProps, "header");
|
|
28435
|
-
return /* @__PURE__ */ (0,
|
|
28551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime231.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime231.jsx)("div", { ...(0, import_runtime149.trussProps)(pageContentPaddingX), children: /* @__PURE__ */ (0, import_jsx_runtime231.jsx)(Tabs, { ...tabs, ...tid.tabs }) }) });
|
|
28436
28552
|
}
|
|
28437
28553
|
|
|
28438
28554
|
// src/layouts/useBannerAndNavbarHeight.ts
|
|
@@ -28441,8 +28557,8 @@ function useBannerAndNavbarHeight() {
|
|
|
28441
28557
|
}
|
|
28442
28558
|
|
|
28443
28559
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
28444
|
-
var
|
|
28445
|
-
var
|
|
28560
|
+
var import_runtime150 = require("@homebound/truss/runtime");
|
|
28561
|
+
var import_jsx_runtime232 = require("react/jsx-runtime");
|
|
28446
28562
|
var __maybeInc32 = (inc) => {
|
|
28447
28563
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28448
28564
|
};
|
|
@@ -28453,11 +28569,11 @@ function PageHeaderLayout(props) {
|
|
|
28453
28569
|
} = props;
|
|
28454
28570
|
const tid = useTestIds(props, "pageHeaderLayout");
|
|
28455
28571
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
28456
|
-
const bannerAndNavbarHeightRef = (0,
|
|
28572
|
+
const bannerAndNavbarHeightRef = (0, import_react162.useRef)(bannerAndNavbarHeight);
|
|
28457
28573
|
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
28458
|
-
const getBannerAndNavbarHeight = (0,
|
|
28459
|
-
const headerMetricsRef = (0,
|
|
28460
|
-
const spacerRef = (0,
|
|
28574
|
+
const getBannerAndNavbarHeight = (0, import_react162.useCallback)(() => bannerAndNavbarHeightRef.current, []);
|
|
28575
|
+
const headerMetricsRef = (0, import_react162.useRef)(null);
|
|
28576
|
+
const spacerRef = (0, import_react162.useRef)(null);
|
|
28461
28577
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
28462
28578
|
const {
|
|
28463
28579
|
state: autoHideState,
|
|
@@ -28473,49 +28589,49 @@ function PageHeaderLayout(props) {
|
|
|
28473
28589
|
const innerCss = autoHideState === "static" ? {
|
|
28474
28590
|
position: "sticky",
|
|
28475
28591
|
left: ["left_var", {
|
|
28476
|
-
"--left": (0,
|
|
28592
|
+
"--left": (0, import_runtime150.maybeCssVar)(__maybeInc32(headerLeft))
|
|
28477
28593
|
}],
|
|
28478
28594
|
width: ["w_var", {
|
|
28479
|
-
"--width": (0,
|
|
28595
|
+
"--width": (0, import_runtime150.maybeCssVar)(__maybeInc32(headerWidth))
|
|
28480
28596
|
}],
|
|
28481
28597
|
zIndex: ["z_var", {
|
|
28482
|
-
"--zIndex": (0,
|
|
28598
|
+
"--zIndex": (0, import_runtime150.maybeCssVar)(zIndices.pageStickyHeader)
|
|
28483
28599
|
}]
|
|
28484
28600
|
} : {
|
|
28485
28601
|
position: "fixed",
|
|
28486
28602
|
left: ["left_var", {
|
|
28487
|
-
"--left": (0,
|
|
28603
|
+
"--left": (0, import_runtime150.maybeCssVar)(__maybeInc32(headerLeft))
|
|
28488
28604
|
}],
|
|
28489
28605
|
width: ["w_var", {
|
|
28490
|
-
"--width": (0,
|
|
28606
|
+
"--width": (0, import_runtime150.maybeCssVar)(__maybeInc32(headerWidth))
|
|
28491
28607
|
}],
|
|
28492
28608
|
zIndex: ["z_var", {
|
|
28493
|
-
"--zIndex": (0,
|
|
28609
|
+
"--zIndex": (0, import_runtime150.maybeCssVar)(zIndices.pageStickyHeader)
|
|
28494
28610
|
}],
|
|
28495
28611
|
transition: "transitionTop"
|
|
28496
28612
|
};
|
|
28497
28613
|
const innerStyle = autoHideState !== "static" ? {
|
|
28498
28614
|
top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
|
|
28499
28615
|
} : void 0;
|
|
28500
|
-
const pageHeaderEl = (0,
|
|
28501
|
-
return /* @__PURE__ */ (0,
|
|
28616
|
+
const pageHeaderEl = (0, import_react162.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
28617
|
+
return /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)("div", { ...(0, import_runtime150.mergeProps)(void 0, cssVars, {
|
|
28502
28618
|
display: "df",
|
|
28503
28619
|
flexDirection: "fdc",
|
|
28504
28620
|
width: "w100"
|
|
28505
28621
|
}), ...tid, children: [
|
|
28506
|
-
/* @__PURE__ */ (0,
|
|
28622
|
+
/* @__PURE__ */ (0, import_jsx_runtime232.jsx)("div", { ref: spacerRef, ...(0, import_runtime150.mergeProps)(void 0, {
|
|
28507
28623
|
height: headerHeight
|
|
28508
28624
|
}, {
|
|
28509
28625
|
flexShrink: "fs0",
|
|
28510
28626
|
width: "w100"
|
|
28511
|
-
}), children: /* @__PURE__ */ (0,
|
|
28512
|
-
/* @__PURE__ */ (0,
|
|
28627
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime150.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
28628
|
+
/* @__PURE__ */ (0, import_jsx_runtime232.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
|
|
28513
28629
|
] }) });
|
|
28514
28630
|
}
|
|
28515
28631
|
|
|
28516
28632
|
// src/layouts/Workflow/JumpLinksRail.tsx
|
|
28517
|
-
var
|
|
28518
|
-
var
|
|
28633
|
+
var import_runtime151 = require("@homebound/truss/runtime");
|
|
28634
|
+
var import_jsx_runtime233 = require("react/jsx-runtime");
|
|
28519
28635
|
var __maybeInc33 = (inc) => {
|
|
28520
28636
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28521
28637
|
};
|
|
@@ -28526,7 +28642,7 @@ function JumpLinksRail(props) {
|
|
|
28526
28642
|
activeId
|
|
28527
28643
|
} = props;
|
|
28528
28644
|
const tid = useTestIds(props, "jumpLinks");
|
|
28529
|
-
return /* @__PURE__ */ (0,
|
|
28645
|
+
return /* @__PURE__ */ (0, import_jsx_runtime233.jsx)("nav", { ...(0, import_runtime151.trussProps)({
|
|
28530
28646
|
display: "df",
|
|
28531
28647
|
flexDirection: "fdc",
|
|
28532
28648
|
flexShrink: "fs0",
|
|
@@ -28536,18 +28652,18 @@ function JumpLinksRail(props) {
|
|
|
28536
28652
|
position: "sticky",
|
|
28537
28653
|
alignSelf: "asfs",
|
|
28538
28654
|
top: ["top_var", {
|
|
28539
|
-
"--top": (0,
|
|
28655
|
+
"--top": (0, import_runtime151.maybeCssVar)(__maybeInc33(stickyNavAndHeaderOffset()))
|
|
28540
28656
|
}]
|
|
28541
|
-
}), ...tid, children: links.map((link) => /* @__PURE__ */ (0,
|
|
28657
|
+
}), ...tid, children: links.map((link) => /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(JumpLink, { label: link.label, href: `#${link.id}`, active: link.id === activeId, ...tid.link }, link.id)) });
|
|
28542
28658
|
}
|
|
28543
28659
|
|
|
28544
28660
|
// src/layouts/Workflow/useActiveJumpLink.ts
|
|
28545
|
-
var
|
|
28661
|
+
var import_react163 = require("react");
|
|
28546
28662
|
var activationLeadPx = 120;
|
|
28547
28663
|
function useActiveJumpLink(sectionIds) {
|
|
28548
28664
|
const idsKey = sectionIds.join("\0");
|
|
28549
|
-
const [activeId, setActiveId] = (0,
|
|
28550
|
-
(0,
|
|
28665
|
+
const [activeId, setActiveId] = (0, import_react163.useState)(sectionIds[0]);
|
|
28666
|
+
(0, import_react163.useLayoutEffect)(() => {
|
|
28551
28667
|
const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
|
|
28552
28668
|
if (ids.length === 0) return;
|
|
28553
28669
|
const update = () => {
|
|
@@ -28571,32 +28687,32 @@ function useActiveJumpLink(sectionIds) {
|
|
|
28571
28687
|
}
|
|
28572
28688
|
|
|
28573
28689
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
28574
|
-
var
|
|
28690
|
+
var import_react165 = require("react");
|
|
28575
28691
|
|
|
28576
28692
|
// src/components/Headers/WorkflowHeader.tsx
|
|
28577
|
-
var
|
|
28693
|
+
var import_jsx_runtime234 = require("react/jsx-runtime");
|
|
28578
28694
|
function WorkflowHeader(props) {
|
|
28579
28695
|
const { stepperTabs, ...otherProps } = props;
|
|
28580
28696
|
const tid = useTestIds(otherProps, "header");
|
|
28581
|
-
return /* @__PURE__ */ (0,
|
|
28697
|
+
return /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(
|
|
28582
28698
|
BaseHeader,
|
|
28583
28699
|
{
|
|
28584
28700
|
...otherProps,
|
|
28585
|
-
bottomSlot: stepperTabs ? /* @__PURE__ */ (0,
|
|
28701
|
+
bottomSlot: stepperTabs ? /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) : void 0
|
|
28586
28702
|
}
|
|
28587
28703
|
);
|
|
28588
28704
|
}
|
|
28589
28705
|
|
|
28590
28706
|
// src/layouts/Workflow/useUnsavedChangesGuard.tsx
|
|
28591
|
-
var
|
|
28707
|
+
var import_react164 = require("react");
|
|
28592
28708
|
var import_react_router_dom9 = require("react-router-dom");
|
|
28593
|
-
var
|
|
28709
|
+
var import_jsx_runtime235 = require("react/jsx-runtime");
|
|
28594
28710
|
function useUnsavedChangesGuard(options) {
|
|
28595
28711
|
const { isDirty, onCancel } = options;
|
|
28596
28712
|
const { openModal } = useModal();
|
|
28597
|
-
const isDirtyRef = (0,
|
|
28713
|
+
const isDirtyRef = (0, import_react164.useRef)(isDirty);
|
|
28598
28714
|
isDirtyRef.current = isDirty;
|
|
28599
|
-
(0,
|
|
28715
|
+
(0, import_react164.useEffect)(() => {
|
|
28600
28716
|
const onBeforeUnload = (e) => {
|
|
28601
28717
|
if (isDirtyRef.current?.()) {
|
|
28602
28718
|
e.preventDefault();
|
|
@@ -28613,7 +28729,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
28613
28729
|
}
|
|
28614
28730
|
openModal({
|
|
28615
28731
|
allowClosing: false,
|
|
28616
|
-
content: /* @__PURE__ */ (0,
|
|
28732
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
|
|
28617
28733
|
});
|
|
28618
28734
|
};
|
|
28619
28735
|
const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
|
|
@@ -28622,10 +28738,10 @@ function useUnsavedChangesGuard(options) {
|
|
|
28622
28738
|
function UnsavedChangesNavigationModal(props) {
|
|
28623
28739
|
const { proceed, cancelNavigation } = props;
|
|
28624
28740
|
const { openModal, closeModal } = useModal();
|
|
28625
|
-
(0,
|
|
28741
|
+
(0, import_react164.useEffect)(() => {
|
|
28626
28742
|
openModal({
|
|
28627
28743
|
allowClosing: false,
|
|
28628
|
-
content: /* @__PURE__ */ (0,
|
|
28744
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
28629
28745
|
});
|
|
28630
28746
|
return () => closeModal();
|
|
28631
28747
|
}, []);
|
|
@@ -28633,7 +28749,7 @@ function UnsavedChangesNavigationModal(props) {
|
|
|
28633
28749
|
}
|
|
28634
28750
|
|
|
28635
28751
|
// src/layouts/Workflow/WorkflowActions.tsx
|
|
28636
|
-
var
|
|
28752
|
+
var import_jsx_runtime236 = require("react/jsx-runtime");
|
|
28637
28753
|
function WorkflowActions(props) {
|
|
28638
28754
|
const {
|
|
28639
28755
|
onCancel,
|
|
@@ -28651,12 +28767,12 @@ function WorkflowActions(props) {
|
|
|
28651
28767
|
sm: isMobile
|
|
28652
28768
|
} = useBreakpoint();
|
|
28653
28769
|
const primaryVariant = aiMode ? "ai" : "primary";
|
|
28654
|
-
return /* @__PURE__ */ (0,
|
|
28655
|
-
/* @__PURE__ */ (0,
|
|
28656
|
-
/* @__PURE__ */ (0,
|
|
28657
|
-
/* @__PURE__ */ (0,
|
|
28658
|
-
onSaveAndExit && /* @__PURE__ */ (0,
|
|
28659
|
-
isLastStep ? /* @__PURE__ */ (0,
|
|
28770
|
+
return /* @__PURE__ */ (0, import_jsx_runtime236.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
|
|
28771
|
+
/* @__PURE__ */ (0, import_jsx_runtime236.jsx)("div", { className: "df aic", children: !isFirstStep && isMobile && onBack && /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
|
|
28772
|
+
/* @__PURE__ */ (0, import_jsx_runtime236.jsxs)("div", { className: "df aic gap1", children: [
|
|
28773
|
+
/* @__PURE__ */ (0, import_jsx_runtime236.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
|
|
28774
|
+
onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
|
|
28775
|
+
isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(Button, { label: "Continue", variant: primaryVariant, onClick: async () => {
|
|
28660
28776
|
await onContinue?.();
|
|
28661
28777
|
}, disabled: primaryDisabled })
|
|
28662
28778
|
] })
|
|
@@ -28664,8 +28780,8 @@ function WorkflowActions(props) {
|
|
|
28664
28780
|
}
|
|
28665
28781
|
|
|
28666
28782
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
28667
|
-
var
|
|
28668
|
-
var
|
|
28783
|
+
var import_runtime152 = require("@homebound/truss/runtime");
|
|
28784
|
+
var import_jsx_runtime237 = require("react/jsx-runtime");
|
|
28669
28785
|
var __maybeInc34 = (inc) => {
|
|
28670
28786
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28671
28787
|
};
|
|
@@ -28693,8 +28809,8 @@ function WorkflowPageLayout(props) {
|
|
|
28693
28809
|
isDirty,
|
|
28694
28810
|
onCancel
|
|
28695
28811
|
});
|
|
28696
|
-
const actions = /* @__PURE__ */ (0,
|
|
28697
|
-
const headerMetricsRef = (0,
|
|
28812
|
+
const actions = /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick });
|
|
28813
|
+
const headerMetricsRef = (0, import_react165.useRef)(null);
|
|
28698
28814
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
28699
28815
|
const headerWidth = documentScrollChromeWidth();
|
|
28700
28816
|
const outerTop = bannerAndNavbarChromeTop();
|
|
@@ -28702,7 +28818,7 @@ function WorkflowPageLayout(props) {
|
|
|
28702
28818
|
[beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
|
|
28703
28819
|
} : void 0;
|
|
28704
28820
|
const showFooter = isMobile;
|
|
28705
|
-
(0,
|
|
28821
|
+
(0, import_react165.useLayoutEffect)(() => {
|
|
28706
28822
|
const root = document.documentElement;
|
|
28707
28823
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
28708
28824
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -28714,26 +28830,26 @@ function WorkflowPageLayout(props) {
|
|
|
28714
28830
|
}
|
|
28715
28831
|
};
|
|
28716
28832
|
}, [showFooter]);
|
|
28717
|
-
return /* @__PURE__ */ (0,
|
|
28718
|
-
/* @__PURE__ */ (0,
|
|
28833
|
+
return /* @__PURE__ */ (0, import_jsx_runtime237.jsxs)(DocumentScrollLayoutProvider, { children: [
|
|
28834
|
+
/* @__PURE__ */ (0, import_jsx_runtime237.jsxs)("div", { ...(0, import_runtime152.mergeProps)(void 0, cssVars, {
|
|
28719
28835
|
display: "df",
|
|
28720
28836
|
flexDirection: "fdc",
|
|
28721
28837
|
width: "w100"
|
|
28722
28838
|
}), ...tid, children: [
|
|
28723
|
-
/* @__PURE__ */ (0,
|
|
28839
|
+
/* @__PURE__ */ (0, import_jsx_runtime237.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime152.trussProps)({
|
|
28724
28840
|
position: "sticky",
|
|
28725
28841
|
left: "left0",
|
|
28726
28842
|
width: ["w_var", {
|
|
28727
|
-
"--width": (0,
|
|
28843
|
+
"--width": (0, import_runtime152.maybeCssVar)(__maybeInc34(headerWidth))
|
|
28728
28844
|
}],
|
|
28729
28845
|
zIndex: ["z_var", {
|
|
28730
|
-
"--zIndex": (0,
|
|
28846
|
+
"--zIndex": (0, import_runtime152.maybeCssVar)(zIndices.pageStickyHeader)
|
|
28731
28847
|
}],
|
|
28732
28848
|
top: ["top_var", {
|
|
28733
|
-
"--top": (0,
|
|
28849
|
+
"--top": (0, import_runtime152.maybeCssVar)(__maybeInc34(outerTop))
|
|
28734
28850
|
}]
|
|
28735
|
-
}), ...tid.header, children: /* @__PURE__ */ (0,
|
|
28736
|
-
/* @__PURE__ */ (0,
|
|
28851
|
+
}), ...tid.header, children: /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(WorkflowHeader, { title, documentTitleSuffix, breadcrumbs, rightSlot: isMobile ? void 0 : actions, stepperTabs }) }),
|
|
28852
|
+
/* @__PURE__ */ (0, import_jsx_runtime237.jsx)("div", { ...(0, import_runtime152.trussProps)({
|
|
28737
28853
|
...{
|
|
28738
28854
|
display: "df",
|
|
28739
28855
|
flexDirection: "fdc",
|
|
@@ -28745,28 +28861,28 @@ function WorkflowPageLayout(props) {
|
|
|
28745
28861
|
...aiMode && {
|
|
28746
28862
|
backgroundImage: "aiBackground",
|
|
28747
28863
|
minHeight: ["mh_var", {
|
|
28748
|
-
"--minHeight": (0,
|
|
28864
|
+
"--minHeight": (0, import_runtime152.maybeCssVar)(documentScrollBodyMinHeight())
|
|
28749
28865
|
}]
|
|
28750
28866
|
}
|
|
28751
28867
|
}), ...tid.body, children }),
|
|
28752
|
-
showFooter && /* @__PURE__ */ (0,
|
|
28868
|
+
showFooter && /* @__PURE__ */ (0, import_jsx_runtime237.jsx)("div", { ...(0, import_runtime152.trussProps)({
|
|
28753
28869
|
flexShrink: "fs0",
|
|
28754
28870
|
width: "w100",
|
|
28755
28871
|
height: ["h_var", {
|
|
28756
28872
|
"--height": `${mobileFooterHeightPx}px`
|
|
28757
28873
|
}]
|
|
28758
|
-
}), children: /* @__PURE__ */ (0,
|
|
28874
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime237.jsx)("div", { ...(0, import_runtime152.trussProps)({
|
|
28759
28875
|
...{
|
|
28760
28876
|
position: "fixed",
|
|
28761
28877
|
bottom: "bottom0",
|
|
28762
28878
|
width: ["w_var", {
|
|
28763
|
-
"--width": (0,
|
|
28879
|
+
"--width": (0, import_runtime152.maybeCssVar)(__maybeInc34(headerWidth))
|
|
28764
28880
|
}],
|
|
28765
28881
|
height: ["h_var", {
|
|
28766
28882
|
"--height": `${mobileFooterHeightPx}px`
|
|
28767
28883
|
}],
|
|
28768
28884
|
zIndex: ["z_var", {
|
|
28769
|
-
"--zIndex": (0,
|
|
28885
|
+
"--zIndex": (0, import_runtime152.maybeCssVar)(zIndices.pageStickyFooter)
|
|
28770
28886
|
}],
|
|
28771
28887
|
display: "df",
|
|
28772
28888
|
alignItems: "aic",
|
|
@@ -28784,12 +28900,12 @@ function WorkflowPageLayout(props) {
|
|
|
28784
28900
|
...pageContentPaddingX
|
|
28785
28901
|
}), ...tid.footer, children: actions }) })
|
|
28786
28902
|
] }),
|
|
28787
|
-
navigationBlocker && /* @__PURE__ */ (0,
|
|
28903
|
+
navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
|
|
28788
28904
|
] });
|
|
28789
28905
|
}
|
|
28790
28906
|
|
|
28791
28907
|
// src/layouts/Workflow/FocusedFormLayout.tsx
|
|
28792
|
-
var
|
|
28908
|
+
var import_jsx_runtime238 = require("react/jsx-runtime");
|
|
28793
28909
|
function FocusedFormLayout(props) {
|
|
28794
28910
|
const {
|
|
28795
28911
|
onCancel,
|
|
@@ -28816,25 +28932,25 @@ function FocusedFormLayout(props) {
|
|
|
28816
28932
|
});
|
|
28817
28933
|
const activeId = useActiveJumpLink(jumpLinks.map((link) => link.id));
|
|
28818
28934
|
const showRail = withJumpLinks && jumpLinks.length >= 2 && !isMobile;
|
|
28819
|
-
return /* @__PURE__ */ (0,
|
|
28820
|
-
showRail && /* @__PURE__ */ (0,
|
|
28821
|
-
/* @__PURE__ */ (0,
|
|
28935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(WorkflowPageLayout, { ...tid, ...headerProps, aiMode, isDirty, onCancel, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !isValid, children: /* @__PURE__ */ (0, import_jsx_runtime238.jsxs)("div", { className: "df w100", children: [
|
|
28936
|
+
showRail && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(JumpLinksRail, { links: jumpLinks, activeId, ...tid.jumpLinks }),
|
|
28937
|
+
/* @__PURE__ */ (0, import_jsx_runtime238.jsx)("div", { className: "fg1 mw0 mb4", children: /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(FormSectionLayout, { ...form, aiMode }) })
|
|
28822
28938
|
] }) });
|
|
28823
28939
|
}
|
|
28824
28940
|
|
|
28825
28941
|
// src/layouts/Workflow/StepperLayout.tsx
|
|
28826
|
-
var
|
|
28827
|
-
var
|
|
28942
|
+
var import_react166 = require("react");
|
|
28943
|
+
var import_jsx_runtime239 = require("react/jsx-runtime");
|
|
28828
28944
|
function StepperLayout(props) {
|
|
28829
28945
|
const { steps, defaultStep, onCancel, completeLabel, onComplete, onSaveAndExit, isDirty, aiMode, ...headerProps } = props;
|
|
28830
28946
|
const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
|
|
28831
|
-
const [currentStep, setCurrentStep] = (0,
|
|
28947
|
+
const [currentStep, setCurrentStep] = (0, import_react166.useState)(() => getInitialStep(stepTabs, defaultStep));
|
|
28832
28948
|
const tid = useTestIds(props, "stepperLayout");
|
|
28833
28949
|
const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
|
|
28834
28950
|
const isFirstStep = currentIndex <= 0;
|
|
28835
28951
|
const isLastStep = currentIndex >= stepTabs.length - 1;
|
|
28836
28952
|
const activeStep = stepTabs[currentIndex];
|
|
28837
|
-
return /* @__PURE__ */ (0,
|
|
28953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(
|
|
28838
28954
|
WorkflowPageLayout,
|
|
28839
28955
|
{
|
|
28840
28956
|
...tid,
|
|
@@ -28979,6 +29095,7 @@ function getInitialStep(steps, defaultStep) {
|
|
|
28979
29095
|
Icon,
|
|
28980
29096
|
IconButton,
|
|
28981
29097
|
Icons,
|
|
29098
|
+
InlineFeedbackBanner,
|
|
28982
29099
|
JumpLink,
|
|
28983
29100
|
KEPT_GROUP,
|
|
28984
29101
|
Loader,
|