@homebound/beam 2.389.0 → 2.390.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 +488 -482
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +40 -2
- package/dist/index.d.ts +40 -2
- package/dist/index.js +143 -140
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -192,6 +192,9 @@ __export(index_exports, {
|
|
|
192
192
|
calcColumnSizes: () => calcColumnSizes,
|
|
193
193
|
cardStyle: () => cardStyle,
|
|
194
194
|
checkboxFilter: () => checkboxFilter,
|
|
195
|
+
chipBaseStyles: () => chipBaseStyles,
|
|
196
|
+
chipDisabledStyles: () => chipDisabledStyles,
|
|
197
|
+
chipHoverStyles: () => chipHoverStyles,
|
|
195
198
|
collapseColumn: () => collapseColumn,
|
|
196
199
|
column: () => column,
|
|
197
200
|
condensedStyle: () => condensedStyle,
|
|
@@ -4445,6 +4448,9 @@ function useAutoSaveStatus() {
|
|
|
4445
4448
|
return (0, import_react2.useContext)(AutoSaveStatusContext);
|
|
4446
4449
|
}
|
|
4447
4450
|
|
|
4451
|
+
// src/components/Chip.tsx
|
|
4452
|
+
var import_react6 = require("react");
|
|
4453
|
+
|
|
4448
4454
|
// src/components/Icon.tsx
|
|
4449
4455
|
var import_react4 = __toESM(require("react"), 1);
|
|
4450
4456
|
|
|
@@ -5235,43 +5241,40 @@ var ChipTypes = {
|
|
|
5235
5241
|
darkMode: "darkMode",
|
|
5236
5242
|
info: "info"
|
|
5237
5243
|
};
|
|
5238
|
-
function Chip({
|
|
5239
|
-
type = ChipTypes.neutral,
|
|
5240
|
-
...props
|
|
5241
|
-
}) {
|
|
5244
|
+
function Chip(props) {
|
|
5242
5245
|
const { fieldProps } = usePresentationContext();
|
|
5243
|
-
const { text, title, xss = {}, compact = fieldProps?.compact, icon } = props;
|
|
5246
|
+
const { text, title, xss = {}, compact = fieldProps?.compact, icon, type = ChipTypes.neutral } = props;
|
|
5244
5247
|
const tid = useTestIds(props, "chip");
|
|
5248
|
+
const styles = (0, import_react6.useMemo)(
|
|
5249
|
+
() => ({
|
|
5250
|
+
...chipBaseStyles(compact),
|
|
5251
|
+
...typeStyles[type],
|
|
5252
|
+
...xss
|
|
5253
|
+
}),
|
|
5254
|
+
[type, xss, compact]
|
|
5255
|
+
);
|
|
5245
5256
|
return maybeTooltip({
|
|
5246
5257
|
title,
|
|
5247
5258
|
placement: "bottom",
|
|
5248
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
5249
|
-
|
|
5250
|
-
{
|
|
5251
|
-
|
|
5252
|
-
...Css[compact ? "xs" : "sm"].dif.aic.gapPx(4).br16.pl1.px1.pyPx(2).gray900.$,
|
|
5253
|
-
...typeStyles[type],
|
|
5254
|
-
...xss
|
|
5255
|
-
},
|
|
5256
|
-
...tid,
|
|
5257
|
-
children: [
|
|
5258
|
-
icon && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon, { icon, inc: 2, xss: Css.fs0.$ }),
|
|
5259
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { css: Css.lineClamp1.wbba.$, children: text })
|
|
5260
|
-
]
|
|
5261
|
-
}
|
|
5262
|
-
)
|
|
5259
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("span", { css: styles, ...tid, children: [
|
|
5260
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon, { icon, inc: 2, xss: Css.fs0.$ }),
|
|
5261
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { css: Css.lineClamp1.wbba.$, children: text })
|
|
5262
|
+
] })
|
|
5263
5263
|
});
|
|
5264
5264
|
}
|
|
5265
5265
|
var typeStyles = {
|
|
5266
5266
|
caution: Css.bgYellow200.$,
|
|
5267
|
-
warning: Css.
|
|
5268
|
-
success: Css.
|
|
5267
|
+
warning: Css.bgRed100.$,
|
|
5268
|
+
success: Css.bgGreen100.$,
|
|
5269
5269
|
light: Css.bgWhite.$,
|
|
5270
5270
|
dark: Css.bgGray900.white.$,
|
|
5271
5271
|
neutral: Css.bgGray200.$,
|
|
5272
5272
|
darkMode: Css.bgGray700.white.$,
|
|
5273
5273
|
info: Css.bgBlue100.$
|
|
5274
5274
|
};
|
|
5275
|
+
var chipBaseStyles = (compact) => Css.xsMd.dif.aic.br16.px1.gapPx(4).pyPx(pyHeight(compact)).mhPx(minhPx(compact)).gray900.bgGray200.$;
|
|
5276
|
+
var pyHeight = (compact) => compact ? 2 : 4;
|
|
5277
|
+
var minhPx = (compact) => compact ? 20 : 24;
|
|
5275
5278
|
|
|
5276
5279
|
// src/components/Chips.tsx
|
|
5277
5280
|
var import_jsx_runtime6 = require("@emotion/react/jsx-runtime");
|
|
@@ -5297,17 +5300,17 @@ function Chips(props) {
|
|
|
5297
5300
|
// src/components/Table/GridTable.tsx
|
|
5298
5301
|
var import_memoize_one = __toESM(require("memoize-one"), 1);
|
|
5299
5302
|
var import_mobx10 = require("mobx");
|
|
5300
|
-
var
|
|
5303
|
+
var import_react69 = __toESM(require("react"), 1);
|
|
5301
5304
|
var import_react_virtuoso2 = require("react-virtuoso");
|
|
5302
5305
|
|
|
5303
5306
|
// src/components/Table/GridTableApi.ts
|
|
5304
5307
|
var import_mobx9 = require("mobx");
|
|
5305
5308
|
var import_mobx_utils = require("mobx-utils");
|
|
5306
|
-
var
|
|
5309
|
+
var import_react67 = require("react");
|
|
5307
5310
|
|
|
5308
5311
|
// src/components/Table/utils/TableState.ts
|
|
5309
5312
|
var import_mobx8 = require("mobx");
|
|
5310
|
-
var
|
|
5313
|
+
var import_react66 = __toESM(require("react"), 1);
|
|
5311
5314
|
|
|
5312
5315
|
// src/components/Table/utils/ColumnStates.ts
|
|
5313
5316
|
var import_change_case5 = require("change-case");
|
|
@@ -5317,20 +5320,20 @@ var import_mobx5 = require("mobx");
|
|
|
5317
5320
|
var import_mobx3 = require("mobx");
|
|
5318
5321
|
|
|
5319
5322
|
// src/components/Table/components/CollapseToggle.tsx
|
|
5320
|
-
var
|
|
5323
|
+
var import_react14 = require("react");
|
|
5321
5324
|
|
|
5322
5325
|
// src/hooks/useBreakpoint.tsx
|
|
5323
5326
|
var import_fast_deep_equal = __toESM(require("fast-deep-equal"), 1);
|
|
5324
|
-
var
|
|
5327
|
+
var import_react7 = require("react");
|
|
5325
5328
|
var import_use_debounce = require("use-debounce");
|
|
5326
5329
|
function useBreakpoint() {
|
|
5327
|
-
const [breakpoints, setBreakpoints] = (0,
|
|
5330
|
+
const [breakpoints, setBreakpoints] = (0, import_react7.useState)(matchMediaBreakpoints());
|
|
5328
5331
|
const handleResize = (0, import_use_debounce.useDebouncedCallback)(() => {
|
|
5329
5332
|
const newBps = matchMediaBreakpoints();
|
|
5330
5333
|
if ((0, import_fast_deep_equal.default)(breakpoints, newBps)) return;
|
|
5331
5334
|
setBreakpoints(newBps);
|
|
5332
5335
|
}, 250);
|
|
5333
|
-
(0,
|
|
5336
|
+
(0, import_react7.useEffect)(() => {
|
|
5334
5337
|
window.addEventListener("resize", handleResize);
|
|
5335
5338
|
return () => window.removeEventListener("resize", handleResize);
|
|
5336
5339
|
}, [handleResize]);
|
|
@@ -5346,7 +5349,7 @@ function matchMediaBreakpoints() {
|
|
|
5346
5349
|
|
|
5347
5350
|
// src/hooks/useComputed.ts
|
|
5348
5351
|
var import_mobx = require("mobx");
|
|
5349
|
-
var
|
|
5352
|
+
var import_react8 = require("react");
|
|
5350
5353
|
|
|
5351
5354
|
// src/utils/shallowEqual.ts
|
|
5352
5355
|
function shallowEqual(objA, objB) {
|
|
@@ -5372,13 +5375,13 @@ function shallowEqual(objA, objB) {
|
|
|
5372
5375
|
|
|
5373
5376
|
// src/hooks/useComputed.ts
|
|
5374
5377
|
function useComputed(fn, deps) {
|
|
5375
|
-
const [, setTick] = (0,
|
|
5376
|
-
const ref = (0,
|
|
5378
|
+
const [, setTick] = (0, import_react8.useState)(0);
|
|
5379
|
+
const ref = (0, import_react8.useRef)({
|
|
5377
5380
|
runner: void 0,
|
|
5378
5381
|
value: void 0,
|
|
5379
5382
|
hasRan: false
|
|
5380
5383
|
});
|
|
5381
|
-
(0,
|
|
5384
|
+
(0, import_react8.useMemo)(() => {
|
|
5382
5385
|
const { current } = ref;
|
|
5383
5386
|
if (current.runner) {
|
|
5384
5387
|
current.runner();
|
|
@@ -5395,7 +5398,7 @@ function useComputed(fn, deps) {
|
|
|
5395
5398
|
}
|
|
5396
5399
|
});
|
|
5397
5400
|
}, deps);
|
|
5398
|
-
(0,
|
|
5401
|
+
(0, import_react8.useEffect)(() => {
|
|
5399
5402
|
return ref.current.runner;
|
|
5400
5403
|
}, []);
|
|
5401
5404
|
if (!ref.current.hasRan) {
|
|
@@ -5405,9 +5408,9 @@ function useComputed(fn, deps) {
|
|
|
5405
5408
|
}
|
|
5406
5409
|
|
|
5407
5410
|
// src/hooks/useFilter.ts
|
|
5408
|
-
var
|
|
5411
|
+
var import_react9 = require("react");
|
|
5409
5412
|
function useFilter({ filterDefs }) {
|
|
5410
|
-
const [filter, setFilter] = (0,
|
|
5413
|
+
const [filter, setFilter] = (0, import_react9.useState)(
|
|
5411
5414
|
Object.fromEntries(
|
|
5412
5415
|
safeEntries(filterDefs).filter(([key, def]) => def(key).defaultValue !== void 0).map(([key, def]) => [key, def(key).defaultValue])
|
|
5413
5416
|
)
|
|
@@ -5416,21 +5419,21 @@ function useFilter({ filterDefs }) {
|
|
|
5416
5419
|
}
|
|
5417
5420
|
|
|
5418
5421
|
// src/hooks/useGroupBy.ts
|
|
5419
|
-
var
|
|
5422
|
+
var import_react11 = require("react");
|
|
5420
5423
|
|
|
5421
5424
|
// src/hooks/useQueryState.ts
|
|
5422
|
-
var
|
|
5425
|
+
var import_react10 = require("react");
|
|
5423
5426
|
var import_use_query_params = require("use-query-params");
|
|
5424
5427
|
function useQueryState(name, initialValue) {
|
|
5425
5428
|
const [params, setParams] = (0, import_use_query_params.useQueryParams)({ [name]: import_use_query_params.StringParam });
|
|
5426
5429
|
const value = params[name] || initialValue;
|
|
5427
|
-
const setValue = (0,
|
|
5430
|
+
const setValue = (0, import_react10.useCallback)((value2) => setParams({ [name]: value2 }, "pushIn"), [name, setParams]);
|
|
5428
5431
|
return [value, setValue];
|
|
5429
5432
|
}
|
|
5430
5433
|
|
|
5431
5434
|
// src/hooks/useGroupBy.ts
|
|
5432
5435
|
function useGroupBy(opts) {
|
|
5433
|
-
const options = (0,
|
|
5436
|
+
const options = (0, import_react11.useMemo)(
|
|
5434
5437
|
() => safeEntries(opts).map(([key, value2]) => ({ id: key, name: value2 })),
|
|
5435
5438
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5436
5439
|
[]
|
|
@@ -5447,11 +5450,11 @@ function useHover(props) {
|
|
|
5447
5450
|
}
|
|
5448
5451
|
|
|
5449
5452
|
// src/hooks/usePersistedFilter.ts
|
|
5450
|
-
var
|
|
5453
|
+
var import_react12 = require("react");
|
|
5451
5454
|
var import_use_query_params2 = require("use-query-params");
|
|
5452
5455
|
function usePersistedFilter({ storageKey, filterDefs }) {
|
|
5453
5456
|
const filterKeys = Object.keys(filterDefs);
|
|
5454
|
-
const defaultFilter = (0,
|
|
5457
|
+
const defaultFilter = (0, import_react12.useMemo)(
|
|
5455
5458
|
() => Object.fromEntries(
|
|
5456
5459
|
safeEntries(filterDefs).filter(([key, def]) => def(key).defaultValue !== void 0).map(([key, def]) => [key, def(key).defaultValue])
|
|
5457
5460
|
),
|
|
@@ -5462,7 +5465,7 @@ function usePersistedFilter({ storageKey, filterDefs }) {
|
|
|
5462
5465
|
const isQueryParamFilterValid = hasValidFilterKeys(queryParamsFilter, filterKeys);
|
|
5463
5466
|
const filter = isQueryParamFilterValid ? queryParamsFilter : storedFilter ?? defaultFilter;
|
|
5464
5467
|
const setFilter = (filter2) => setQueryParams({ filter: filter2 });
|
|
5465
|
-
(0,
|
|
5468
|
+
(0, import_react12.useEffect)(
|
|
5466
5469
|
() => {
|
|
5467
5470
|
if (queryParamsFilter === void 0) {
|
|
5468
5471
|
setQueryParams({ filter: storedFilter }, "replaceIn");
|
|
@@ -5483,14 +5486,14 @@ function hasValidFilterKeys(queryParamsFilter, definedKeys) {
|
|
|
5483
5486
|
}
|
|
5484
5487
|
|
|
5485
5488
|
// src/hooks/useSessionStorage.ts
|
|
5486
|
-
var
|
|
5489
|
+
var import_react13 = require("react");
|
|
5487
5490
|
function useSessionStorage(key, defaultValue) {
|
|
5488
5491
|
let hasSessionStorage = false;
|
|
5489
5492
|
try {
|
|
5490
5493
|
hasSessionStorage = !!window.sessionStorage;
|
|
5491
5494
|
} catch (e) {
|
|
5492
5495
|
}
|
|
5493
|
-
const [state, setState] = (0,
|
|
5496
|
+
const [state, setState] = (0, import_react13.useState)(() => {
|
|
5494
5497
|
if (!hasSessionStorage) {
|
|
5495
5498
|
return defaultValue;
|
|
5496
5499
|
}
|
|
@@ -5501,7 +5504,7 @@ function useSessionStorage(key, defaultValue) {
|
|
|
5501
5504
|
sessionStorage.setItem(key, JSON.stringify(defaultValue));
|
|
5502
5505
|
return defaultValue;
|
|
5503
5506
|
});
|
|
5504
|
-
const setAndSave = (0,
|
|
5507
|
+
const setAndSave = (0, import_react13.useCallback)(
|
|
5505
5508
|
(value) => {
|
|
5506
5509
|
if (hasSessionStorage && value) {
|
|
5507
5510
|
sessionStorage.setItem(key, JSON.stringify(value));
|
|
@@ -5525,7 +5528,7 @@ function getParsedStorage(key) {
|
|
|
5525
5528
|
var import_jsx_runtime7 = require("@emotion/react/jsx-runtime");
|
|
5526
5529
|
function CollapseToggle(props) {
|
|
5527
5530
|
const { row, compact } = props;
|
|
5528
|
-
const { tableState } = (0,
|
|
5531
|
+
const { tableState } = (0, import_react14.useContext)(TableStateContext);
|
|
5529
5532
|
const isCollapsed = useComputed(() => tableState.isCollapsed(row.id), [tableState]);
|
|
5530
5533
|
const iconKey = isCollapsed ? "chevronRight" : "chevronDown";
|
|
5531
5534
|
const headerIconKey = isCollapsed ? "chevronsRight" : "chevronsDown";
|
|
@@ -5546,10 +5549,10 @@ function CollapseToggle(props) {
|
|
|
5546
5549
|
}
|
|
5547
5550
|
|
|
5548
5551
|
// src/components/Table/components/SelectToggle.tsx
|
|
5549
|
-
var
|
|
5552
|
+
var import_react65 = require("react");
|
|
5550
5553
|
|
|
5551
5554
|
// src/inputs/Autocomplete.tsx
|
|
5552
|
-
var
|
|
5555
|
+
var import_react47 = require("react");
|
|
5553
5556
|
var import_react_aria28 = require("react-aria");
|
|
5554
5557
|
var import_react_stately8 = require("react-stately");
|
|
5555
5558
|
|
|
@@ -5557,12 +5560,12 @@ var import_react_stately8 = require("react-stately");
|
|
|
5557
5560
|
var import_react_day_picker3 = require("react-day-picker");
|
|
5558
5561
|
|
|
5559
5562
|
// src/components/internal/DatePicker/Day.tsx
|
|
5560
|
-
var
|
|
5563
|
+
var import_react15 = require("react");
|
|
5561
5564
|
var import_react_day_picker = require("react-day-picker");
|
|
5562
5565
|
var import_jsx_runtime8 = require("@emotion/react/jsx-runtime");
|
|
5563
5566
|
function Day(props) {
|
|
5564
5567
|
const tid = useTestIds(props, "datePickerDay");
|
|
5565
|
-
const buttonRef = (0,
|
|
5568
|
+
const buttonRef = (0, import_react15.useRef)(null);
|
|
5566
5569
|
const { isHidden, isButton, activeModifiers, buttonProps, divProps } = (0, import_react_day_picker.useDayRender)(
|
|
5567
5570
|
props.date,
|
|
5568
5571
|
props.displayMonth,
|
|
@@ -5636,13 +5639,13 @@ var import_date_fns = require("date-fns");
|
|
|
5636
5639
|
var import_react_day_picker2 = require("react-day-picker");
|
|
5637
5640
|
|
|
5638
5641
|
// src/components/IconButton.tsx
|
|
5639
|
-
var
|
|
5642
|
+
var import_react17 = require("react");
|
|
5640
5643
|
var import_react_aria3 = require("react-aria");
|
|
5641
5644
|
|
|
5642
5645
|
// src/hooks/useGetRef.ts
|
|
5643
|
-
var
|
|
5646
|
+
var import_react16 = require("react");
|
|
5644
5647
|
var useGetRef = (maybeRef) => {
|
|
5645
|
-
const newRef = (0,
|
|
5648
|
+
const newRef = (0, import_react16.useRef)(null);
|
|
5646
5649
|
return maybeRef || newRef;
|
|
5647
5650
|
};
|
|
5648
5651
|
|
|
@@ -5702,7 +5705,7 @@ function IconButton(props) {
|
|
|
5702
5705
|
const { focusProps, isFocusVisible } = (0, import_react_aria3.useFocusRing)(ariaProps);
|
|
5703
5706
|
const { hoverProps, isHovered } = (0, import_react_aria3.useHover)(ariaProps);
|
|
5704
5707
|
const testIds = useTestIds(props, icon);
|
|
5705
|
-
const styles = (0,
|
|
5708
|
+
const styles = (0, import_react17.useMemo)(
|
|
5706
5709
|
() => ({
|
|
5707
5710
|
...iconButtonStylesReset,
|
|
5708
5711
|
...circle ? iconButtonCircle : compact ? iconButtonCompact : iconButtonNormal,
|
|
@@ -5854,7 +5857,7 @@ function DateRangePicker(props) {
|
|
|
5854
5857
|
|
|
5855
5858
|
// src/components/internal/Menu.tsx
|
|
5856
5859
|
var import_change_case2 = require("change-case");
|
|
5857
|
-
var
|
|
5860
|
+
var import_react33 = require("react");
|
|
5858
5861
|
var import_react_aria13 = require("react-aria");
|
|
5859
5862
|
var import_react_stately3 = require("react-stately");
|
|
5860
5863
|
|
|
@@ -5875,10 +5878,10 @@ function MenuSectionImpl(props) {
|
|
|
5875
5878
|
|
|
5876
5879
|
// src/inputs/internal/MenuSearchField.tsx
|
|
5877
5880
|
var import_textfield = require("@react-aria/textfield");
|
|
5878
|
-
var
|
|
5881
|
+
var import_react32 = require("react");
|
|
5879
5882
|
|
|
5880
5883
|
// src/inputs/TextFieldBase.tsx
|
|
5881
|
-
var
|
|
5884
|
+
var import_react31 = require("react");
|
|
5882
5885
|
var import_react_aria12 = require("react-aria");
|
|
5883
5886
|
|
|
5884
5887
|
// src/components/HelperText.tsx
|
|
@@ -5889,7 +5892,7 @@ function HelperText(props) {
|
|
|
5889
5892
|
}
|
|
5890
5893
|
|
|
5891
5894
|
// src/components/Label.tsx
|
|
5892
|
-
var
|
|
5895
|
+
var import_react18 = __toESM(require("react"), 1);
|
|
5893
5896
|
var import_react_aria5 = require("react-aria");
|
|
5894
5897
|
var import_jsx_runtime18 = require("@emotion/react/jsx-runtime");
|
|
5895
5898
|
function LabelComponent(props) {
|
|
@@ -5912,7 +5915,7 @@ function LabelComponent(props) {
|
|
|
5912
5915
|
);
|
|
5913
5916
|
return hidden ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_aria5.VisuallyHidden, { children: labelEl }) : labelEl;
|
|
5914
5917
|
}
|
|
5915
|
-
var Label =
|
|
5918
|
+
var Label = import_react18.default.memo(LabelComponent);
|
|
5916
5919
|
function InlineLabel({ labelProps, label, contrast, multiline = false, ...others }) {
|
|
5917
5920
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
5918
5921
|
"label",
|
|
@@ -5930,19 +5933,19 @@ function InlineLabel({ labelProps, label, contrast, multiline = false, ...others
|
|
|
5930
5933
|
|
|
5931
5934
|
// src/components/Table/components/Row.tsx
|
|
5932
5935
|
var import_mobx_react = require("mobx-react");
|
|
5933
|
-
var
|
|
5936
|
+
var import_react30 = require("react");
|
|
5934
5937
|
|
|
5935
5938
|
// src/components/Table/components/cell.tsx
|
|
5936
5939
|
var import_react_router_dom2 = require("react-router-dom");
|
|
5937
5940
|
|
|
5938
5941
|
// src/components/CssReset.tsx
|
|
5939
|
-
var
|
|
5942
|
+
var import_react19 = require("@emotion/react");
|
|
5940
5943
|
var import_jsx_runtime19 = require("@emotion/react/jsx-runtime");
|
|
5941
5944
|
function CssReset() {
|
|
5942
|
-
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
5945
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react19.Global, { styles: [modernNormalizeReset, tailwindPreflightReset, ourReset] });
|
|
5943
5946
|
}
|
|
5944
5947
|
var navLink = "navLink";
|
|
5945
|
-
var ourReset =
|
|
5948
|
+
var ourReset = import_react19.css`
|
|
5946
5949
|
a:not(.${navLink}) {
|
|
5947
5950
|
color: ${"rgba(29, 78, 216, 1)" /* Blue700 */};
|
|
5948
5951
|
}
|
|
@@ -5988,7 +5991,7 @@ var ourReset = import_react18.css`
|
|
|
5988
5991
|
}
|
|
5989
5992
|
}
|
|
5990
5993
|
`;
|
|
5991
|
-
var modernNormalizeReset =
|
|
5994
|
+
var modernNormalizeReset = import_react19.css`
|
|
5992
5995
|
/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
|
|
5993
5996
|
|
|
5994
5997
|
/*
|
|
@@ -6297,7 +6300,7 @@ Add the correct display in Chrome and Safari.
|
|
|
6297
6300
|
padding: 0;
|
|
6298
6301
|
}
|
|
6299
6302
|
`;
|
|
6300
|
-
var tailwindPreflightReset =
|
|
6303
|
+
var tailwindPreflightReset = import_react19.css`
|
|
6301
6304
|
/**
|
|
6302
6305
|
* Tailwind custom reset styles
|
|
6303
6306
|
*/
|
|
@@ -6494,7 +6497,7 @@ var tailwindPreflightReset = import_react18.css`
|
|
|
6494
6497
|
height: auto;
|
|
6495
6498
|
}
|
|
6496
6499
|
`;
|
|
6497
|
-
var tailwindFormResets =
|
|
6500
|
+
var tailwindFormResets = import_react19.css`
|
|
6498
6501
|
[type="text"],
|
|
6499
6502
|
[type="email"],
|
|
6500
6503
|
[type="url"],
|
|
@@ -6732,32 +6735,32 @@ var rowClickRenderFn = (as, api, colSpan) => (key, css2, content, row, rowStyle,
|
|
|
6732
6735
|
};
|
|
6733
6736
|
|
|
6734
6737
|
// src/components/Table/components/KeptGroupRow.tsx
|
|
6735
|
-
var
|
|
6738
|
+
var import_react29 = require("react");
|
|
6736
6739
|
|
|
6737
6740
|
// src/components/Table/components/EditColumnsButton.tsx
|
|
6738
|
-
var
|
|
6741
|
+
var import_react25 = require("react");
|
|
6739
6742
|
var import_react_aria10 = require("react-aria");
|
|
6740
6743
|
var import_react_stately2 = require("react-stately");
|
|
6741
6744
|
|
|
6742
6745
|
// src/components/Button.tsx
|
|
6743
|
-
var
|
|
6746
|
+
var import_react24 = require("react");
|
|
6744
6747
|
var import_react_aria9 = require("react-aria");
|
|
6745
6748
|
|
|
6746
6749
|
// src/components/internal/OverlayTrigger.tsx
|
|
6747
|
-
var
|
|
6750
|
+
var import_react23 = require("react");
|
|
6748
6751
|
var import_react_aria8 = require("react-aria");
|
|
6749
6752
|
|
|
6750
6753
|
// src/components/Avatar/AvatarButton.tsx
|
|
6751
|
-
var
|
|
6754
|
+
var import_react21 = require("react");
|
|
6752
6755
|
var import_react_aria6 = require("react-aria");
|
|
6753
6756
|
|
|
6754
6757
|
// src/components/Avatar/Avatar.tsx
|
|
6755
|
-
var
|
|
6758
|
+
var import_react20 = require("react");
|
|
6756
6759
|
var import_jsx_runtime21 = require("@emotion/react/jsx-runtime");
|
|
6757
6760
|
function Avatar({ src, name, size = "md", showName = false, disableTooltip = false, ...others }) {
|
|
6758
6761
|
const tid = useTestIds(others, "avatar");
|
|
6759
6762
|
const px2 = sizeToPixel[size];
|
|
6760
|
-
const [showFallback, setShowFallback] = (0,
|
|
6763
|
+
const [showFallback, setShowFallback] = (0, import_react20.useState)(src === void 0);
|
|
6761
6764
|
const styles = Css.br100.wPx(px2).hPx(px2).mwPx(px2).oh.$;
|
|
6762
6765
|
const img = showFallback ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { css: { ...styles, ...Css[sizeToFallbackTypeScale[size]].bgGray400.gray100.df.aic.jcc.$ }, ...tid, children: name ? nameToInitials(name) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { icon: "userCircle", inc: sizeToIconInc[size] }) }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6763
6766
|
"img",
|
|
@@ -6831,7 +6834,7 @@ function AvatarButton(props) {
|
|
|
6831
6834
|
const { focusProps, isFocusVisible } = (0, import_react_aria6.useFocusRing)(ariaProps);
|
|
6832
6835
|
const { hoverProps, isHovered } = (0, import_react_aria6.useHover)(ariaProps);
|
|
6833
6836
|
const tid = useTestIds(props, avatarProps.name);
|
|
6834
|
-
const styles = (0,
|
|
6837
|
+
const styles = (0, import_react21.useMemo)(
|
|
6835
6838
|
() => ({
|
|
6836
6839
|
...resetStyles,
|
|
6837
6840
|
...isHovered && hoverStyles,
|
|
@@ -6868,7 +6871,7 @@ var pressedStyles = Css.addIn(
|
|
|
6868
6871
|
).$;
|
|
6869
6872
|
|
|
6870
6873
|
// src/components/NavLink.tsx
|
|
6871
|
-
var
|
|
6874
|
+
var import_react22 = require("react");
|
|
6872
6875
|
var import_react_aria7 = require("react-aria");
|
|
6873
6876
|
var import_jsx_runtime23 = require("@emotion/react/jsx-runtime");
|
|
6874
6877
|
function NavLink(props) {
|
|
@@ -6887,7 +6890,7 @@ function NavLink(props) {
|
|
|
6887
6890
|
const { buttonProps, isPressed } = (0, import_react_aria7.useButton)({ ...ariaProps, elementType: href ? "a" : "button" }, ref);
|
|
6888
6891
|
const { hoverProps, isHovered } = (0, import_react_aria7.useHover)({ isDisabled });
|
|
6889
6892
|
const { isFocusVisible, focusProps } = (0, import_react_aria7.useFocusRing)(ariaProps);
|
|
6890
|
-
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3 } = (0,
|
|
6893
|
+
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3 } = (0, import_react22.useMemo)(
|
|
6891
6894
|
() => getNavLinkStyles(variant, contrast),
|
|
6892
6895
|
[variant, contrast]
|
|
6893
6896
|
);
|
|
@@ -6959,7 +6962,7 @@ function OverlayTrigger(props) {
|
|
|
6959
6962
|
showActiveBorder = false,
|
|
6960
6963
|
contrast = false
|
|
6961
6964
|
} = props;
|
|
6962
|
-
const popoverRef = (0,
|
|
6965
|
+
const popoverRef = (0, import_react23.useRef)(null);
|
|
6963
6966
|
const { overlayProps: positionProps } = (0, import_react_aria8.useOverlayPosition)({
|
|
6964
6967
|
targetRef: buttonRef,
|
|
6965
6968
|
overlayRef: popoverRef,
|
|
@@ -7069,7 +7072,7 @@ function Button(props) {
|
|
|
7069
7072
|
} = props;
|
|
7070
7073
|
const asLink = typeof onPress === "string";
|
|
7071
7074
|
const showExternalLinkIcon = asLink && isAbsoluteUrl(onPress) || openInNew;
|
|
7072
|
-
const [asyncInProgress, setAsyncInProgress] = (0,
|
|
7075
|
+
const [asyncInProgress, setAsyncInProgress] = (0, import_react24.useState)(false);
|
|
7073
7076
|
const isDisabled = !!disabled;
|
|
7074
7077
|
const ariaProps = { onPress, isDisabled: isDisabled || asyncInProgress, ...otherProps, ...menuTriggerProps };
|
|
7075
7078
|
const {
|
|
@@ -7099,7 +7102,7 @@ function Button(props) {
|
|
|
7099
7102
|
);
|
|
7100
7103
|
const { isFocusVisible, focusProps } = (0, import_react_aria9.useFocusRing)(ariaProps);
|
|
7101
7104
|
const { hoverProps, isHovered } = (0, import_react_aria9.useHover)(ariaProps);
|
|
7102
|
-
const { baseStyles: baseStyles5, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3, focusStyles: focusStyles2 } = (0,
|
|
7105
|
+
const { baseStyles: baseStyles5, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3, focusStyles: focusStyles2 } = (0, import_react24.useMemo)(
|
|
7103
7106
|
() => getButtonStyles(variant, size, contrast),
|
|
7104
7107
|
[variant, size, contrast]
|
|
7105
7108
|
);
|
|
@@ -7215,13 +7218,13 @@ var import_jsx_runtime26 = require("@emotion/react/jsx-runtime");
|
|
|
7215
7218
|
function EditColumnsButton(props) {
|
|
7216
7219
|
const { defaultOpen, disabled, columns, trigger, title, api } = props;
|
|
7217
7220
|
const state = (0, import_react_stately2.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
7218
|
-
const buttonRef = (0,
|
|
7221
|
+
const buttonRef = (0, import_react25.useRef)(null);
|
|
7219
7222
|
const { menuTriggerProps } = (0, import_react_aria10.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
7220
7223
|
const tid = useTestIds(
|
|
7221
7224
|
props,
|
|
7222
7225
|
isTextButton(trigger) ? labelOr(trigger, "editColumnsButton") : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
7223
7226
|
);
|
|
7224
|
-
const options = (0,
|
|
7227
|
+
const options = (0, import_react25.useMemo)(
|
|
7225
7228
|
() => columns.filter((column2) => column2.canHide).filter((column2) => {
|
|
7226
7229
|
if (!column2.name || column2.name.length === 0 || !column2.id || column2.id.length === 0) {
|
|
7227
7230
|
console.warn("Column is missing 'name' and/or 'id' property required by the Edit Columns button", column2);
|
|
@@ -7232,7 +7235,7 @@ function EditColumnsButton(props) {
|
|
|
7232
7235
|
[columns]
|
|
7233
7236
|
);
|
|
7234
7237
|
const selectedValues = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
7235
|
-
const setSelectedValues = (0,
|
|
7238
|
+
const setSelectedValues = (0, import_react25.useCallback)(
|
|
7236
7239
|
(ids) => {
|
|
7237
7240
|
api.setVisibleColumns(
|
|
7238
7241
|
columns.filter((column2) => column2.canHide ? ids.includes(column2.id) : true).map((c) => c.id)
|
|
@@ -7267,15 +7270,15 @@ function EditColumnsButton(props) {
|
|
|
7267
7270
|
}
|
|
7268
7271
|
|
|
7269
7272
|
// src/components/Table/components/SortHeader.tsx
|
|
7270
|
-
var
|
|
7273
|
+
var import_react26 = require("react");
|
|
7271
7274
|
var import_jsx_runtime27 = require("@emotion/react/jsx-runtime");
|
|
7272
7275
|
function SortHeader(props) {
|
|
7273
7276
|
const { content, xss, iconOnLeft = false, sortKey, tooltipEl } = props;
|
|
7274
7277
|
const { isHovered, hoverProps } = useHover({});
|
|
7275
|
-
const { tableState } = (0,
|
|
7278
|
+
const { tableState } = (0, import_react26.useContext)(TableStateContext);
|
|
7276
7279
|
const current = useComputed(() => tableState.sortState?.current, [tableState]);
|
|
7277
7280
|
const sorted = sortKey === current?.columnId ? current?.direction : void 0;
|
|
7278
|
-
const toggleSort = (0,
|
|
7281
|
+
const toggleSort = (0, import_react26.useCallback)(() => tableState.setSortKey(sortKey), [sortKey, tableState]);
|
|
7279
7282
|
const tid = useTestIds(props, "sortHeader");
|
|
7280
7283
|
const icon = /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { css: Css.fs0.$, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
7281
7284
|
Icon,
|
|
@@ -7300,22 +7303,22 @@ function SortHeader(props) {
|
|
|
7300
7303
|
|
|
7301
7304
|
// src/components/Table/hooks/useSetupColumnSizes.ts
|
|
7302
7305
|
var import_utils17 = require("@react-aria/utils");
|
|
7303
|
-
var
|
|
7306
|
+
var import_react27 = require("react");
|
|
7304
7307
|
var import_use_debounce2 = require("use-debounce");
|
|
7305
7308
|
function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds) {
|
|
7306
|
-
const calculateImmediately = (0,
|
|
7307
|
-
const [tableWidth, setTableWidth] = (0,
|
|
7308
|
-
const [columnSizes, setColumnSizes] = (0,
|
|
7309
|
+
const calculateImmediately = (0, import_react27.useRef)(true);
|
|
7310
|
+
const [tableWidth, setTableWidth] = (0, import_react27.useState)();
|
|
7311
|
+
const [columnSizes, setColumnSizes] = (0, import_react27.useState)(
|
|
7309
7312
|
calcColumnSizes(columns, tableWidth, style.minWidthPx, expandedColumnIds)
|
|
7310
7313
|
);
|
|
7311
|
-
const setTableAndColumnWidths = (0,
|
|
7314
|
+
const setTableAndColumnWidths = (0, import_react27.useCallback)(
|
|
7312
7315
|
(width2) => {
|
|
7313
7316
|
setTableWidth(width2);
|
|
7314
7317
|
setColumnSizes(calcColumnSizes(columns, width2, style.minWidthPx, expandedColumnIds));
|
|
7315
7318
|
},
|
|
7316
7319
|
[setTableWidth, setColumnSizes, columns, style, expandedColumnIds]
|
|
7317
7320
|
);
|
|
7318
|
-
(0,
|
|
7321
|
+
(0, import_react27.useEffect)(
|
|
7319
7322
|
() => {
|
|
7320
7323
|
if (!calculateImmediately.current) {
|
|
7321
7324
|
const width2 = resizeRef.current?.clientWidth;
|
|
@@ -7327,7 +7330,7 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds) {
|
|
|
7327
7330
|
[columns, setTableAndColumnWidths]
|
|
7328
7331
|
);
|
|
7329
7332
|
const setTableAndColumnWidthsDebounced = (0, import_use_debounce2.useDebouncedCallback)(setTableAndColumnWidths, 100);
|
|
7330
|
-
const onResize = (0,
|
|
7333
|
+
const onResize = (0, import_react27.useCallback)(
|
|
7331
7334
|
() => {
|
|
7332
7335
|
const target = resizeRef.current;
|
|
7333
7336
|
if (target && target.clientWidth !== tableWidth) {
|
|
@@ -7555,7 +7558,7 @@ function simpleDataRows(data = []) {
|
|
|
7555
7558
|
}
|
|
7556
7559
|
|
|
7557
7560
|
// src/components/Table/components/ExpandableHeader.tsx
|
|
7558
|
-
var
|
|
7561
|
+
var import_react28 = require("react");
|
|
7559
7562
|
|
|
7560
7563
|
// src/components/Loader.tsx
|
|
7561
7564
|
var import_jsx_runtime28 = require("@emotion/react/jsx-runtime");
|
|
@@ -7581,10 +7584,10 @@ var sizeToPixels = {
|
|
|
7581
7584
|
var import_jsx_runtime29 = require("@emotion/react/jsx-runtime");
|
|
7582
7585
|
function ExpandableHeader(props) {
|
|
7583
7586
|
const { title, column: column2, minStickyLeftOffset, as, tooltipEl } = props;
|
|
7584
|
-
const { tableState } = (0,
|
|
7587
|
+
const { tableState } = (0, import_react28.useContext)(TableStateContext);
|
|
7585
7588
|
const expandedColumnIds = useComputed(() => tableState.expandedColumnIds, [tableState]);
|
|
7586
7589
|
const isExpanded = expandedColumnIds.includes(column2.id);
|
|
7587
|
-
const [isLoading, setIsLoading] = (0,
|
|
7590
|
+
const [isLoading, setIsLoading] = (0, import_react28.useState)(false);
|
|
7588
7591
|
const applyStickyStyles = isExpanded && as !== "table";
|
|
7589
7592
|
const { hoverProps, isHovered } = useHover({});
|
|
7590
7593
|
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
@@ -7898,7 +7901,7 @@ var import_jsx_runtime31 = require("@emotion/react/jsx-runtime");
|
|
|
7898
7901
|
function KeptGroupRow(props) {
|
|
7899
7902
|
const { as, columnSizes, style, row, colSpan } = props;
|
|
7900
7903
|
const CellTag = as === "table" ? "td" : "div";
|
|
7901
|
-
const { tableState } = (0,
|
|
7904
|
+
const { tableState } = (0, import_react29.useContext)(TableStateContext);
|
|
7902
7905
|
const numHiddenSelectedRows = useComputed(() => tableState.keptRows.length, [tableState]);
|
|
7903
7906
|
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
7904
7907
|
CellTag,
|
|
@@ -8226,7 +8229,7 @@ function RowImpl(props) {
|
|
|
8226
8229
|
onDragOver,
|
|
8227
8230
|
...others
|
|
8228
8231
|
} = props;
|
|
8229
|
-
const { tableState } = (0,
|
|
8232
|
+
const { tableState } = (0, import_react30.useContext)(TableStateContext);
|
|
8230
8233
|
const { api, visibleColumns: columns } = tableState;
|
|
8231
8234
|
const { row, api: rowApi, isActive, isKept: isKeptRow, isLastKeptRow, level } = rs;
|
|
8232
8235
|
const isHeader = row.kind === HEADER;
|
|
@@ -8274,8 +8277,8 @@ function RowImpl(props) {
|
|
|
8274
8277
|
let foundFirstContentColumn = false;
|
|
8275
8278
|
let minStickyLeftOffset = 0;
|
|
8276
8279
|
let expandColumnHidden = false;
|
|
8277
|
-
const ref = (0,
|
|
8278
|
-
const dragOverCallback = (0,
|
|
8280
|
+
const ref = (0, import_react30.useRef)(null);
|
|
8281
|
+
const dragOverCallback = (0, import_react30.useCallback)(
|
|
8279
8282
|
(row2, evt) => onDragOver?.(row2, evt),
|
|
8280
8283
|
[onDragOver]
|
|
8281
8284
|
);
|
|
@@ -8495,7 +8498,7 @@ function TextFieldBase(props) {
|
|
|
8495
8498
|
const labelSuffix = useLabelSuffix(required, inputProps.readOnly);
|
|
8496
8499
|
const ElementType = multiline ? "textarea" : "input";
|
|
8497
8500
|
const tid = useTestIds(props, defaultTestId(label));
|
|
8498
|
-
const [isFocused, setIsFocused] = (0,
|
|
8501
|
+
const [isFocused, setIsFocused] = (0, import_react31.useState)(false);
|
|
8499
8502
|
const { hoverProps, isHovered } = (0, import_react_aria12.useHover)({});
|
|
8500
8503
|
const { focusWithinProps } = (0, import_react_aria12.useFocusWithin)({ onFocusWithinChange: setIsFocused });
|
|
8501
8504
|
const fieldRef = useGetRef(inputRef);
|
|
@@ -8705,7 +8708,7 @@ function getInputStylePalette(inputStylePalette) {
|
|
|
8705
8708
|
var import_jsx_runtime35 = require("@emotion/react/jsx-runtime");
|
|
8706
8709
|
function MenuSearchField(props) {
|
|
8707
8710
|
const tid = useTestIds(props);
|
|
8708
|
-
const inputRef = (0,
|
|
8711
|
+
const inputRef = (0, import_react32.useRef)(null);
|
|
8709
8712
|
const { labelProps, inputProps } = (0, import_textfield.useTextField)({ ...props }, inputRef);
|
|
8710
8713
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
8711
8714
|
TextFieldBase,
|
|
@@ -8730,9 +8733,9 @@ function Menu(props) {
|
|
|
8730
8733
|
getKey: (item) => (0, import_change_case2.camelCase)(item.label),
|
|
8731
8734
|
getChildren: (item) => item.items ?? []
|
|
8732
8735
|
});
|
|
8733
|
-
const [search, setSearch] = (0,
|
|
8736
|
+
const [search, setSearch] = (0, import_react33.useState)(void 0);
|
|
8734
8737
|
const { contains } = (0, import_react_aria13.useFilter)({ sensitivity: "base" });
|
|
8735
|
-
const filteredTree = (0,
|
|
8738
|
+
const filteredTree = (0, import_react33.useMemo)(() => {
|
|
8736
8739
|
const { items: items2, ...others } = tree;
|
|
8737
8740
|
const [itemsSection, persistentSection] = items2;
|
|
8738
8741
|
if (search) {
|
|
@@ -8750,7 +8753,7 @@ function Menu(props) {
|
|
|
8750
8753
|
return tree;
|
|
8751
8754
|
}
|
|
8752
8755
|
}, [tree, search, contains]);
|
|
8753
|
-
const menuChildren = (0,
|
|
8756
|
+
const menuChildren = (0, import_react33.useMemo)(() => {
|
|
8754
8757
|
return filteredTree.items.map(({ value: s }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_stately3.Section, { title: s.label, items: s.items, children: (item) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_stately3.Item, { children: item.label }, item.label.replace(/"/g, "")) }, s.label.replace(/"/g, "")));
|
|
8755
8758
|
}, [filteredTree]);
|
|
8756
8759
|
const state = (0, import_react_stately3.useTreeState)({
|
|
@@ -8763,10 +8766,10 @@ function Menu(props) {
|
|
|
8763
8766
|
keys !== "all" && onChange && onChange([...keys.values()].map((k) => k.toString())[0]);
|
|
8764
8767
|
}
|
|
8765
8768
|
});
|
|
8766
|
-
const menuRef = (0,
|
|
8769
|
+
const menuRef = (0, import_react33.useRef)(null);
|
|
8767
8770
|
const { menuProps } = (0, import_react_aria13.useMenu)({ ...ariaMenuProps, autoFocus: searchable ? false : true }, state, menuRef);
|
|
8768
8771
|
const tid = useTestIds(props);
|
|
8769
|
-
(0,
|
|
8772
|
+
(0, import_react33.useEffect)(() => filteredTree.update("items", { label: "items", items }), [items]);
|
|
8770
8773
|
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_aria13.FocusScope, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
8771
8774
|
"div",
|
|
8772
8775
|
{
|
|
@@ -8803,13 +8806,13 @@ function Menu(props) {
|
|
|
8803
8806
|
}
|
|
8804
8807
|
|
|
8805
8808
|
// src/components/internal/MenuItem.tsx
|
|
8806
|
-
var
|
|
8809
|
+
var import_react35 = require("react");
|
|
8807
8810
|
var import_react_aria16 = require("react-aria");
|
|
8808
8811
|
var import_react_router = require("react-router");
|
|
8809
8812
|
var import_react_router_dom3 = require("react-router-dom");
|
|
8810
8813
|
|
|
8811
8814
|
// src/components/ButtonModal.tsx
|
|
8812
|
-
var
|
|
8815
|
+
var import_react34 = require("react");
|
|
8813
8816
|
var import_react_aria15 = require("react-aria");
|
|
8814
8817
|
var import_react_stately4 = require("react-stately");
|
|
8815
8818
|
|
|
@@ -8830,7 +8833,7 @@ var import_jsx_runtime38 = require("@emotion/react/jsx-runtime");
|
|
|
8830
8833
|
function ButtonModal(props) {
|
|
8831
8834
|
const { storybookDefaultOpen, trigger, disabled, content, title } = props;
|
|
8832
8835
|
const state = (0, import_react_stately4.useMenuTriggerState)({ isOpen: storybookDefaultOpen });
|
|
8833
|
-
const buttonRef = (0,
|
|
8836
|
+
const buttonRef = (0, import_react34.useRef)(null);
|
|
8834
8837
|
const { menuTriggerProps } = (0, import_react_aria15.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
8835
8838
|
const tid = useTestIds(
|
|
8836
8839
|
props,
|
|
@@ -8884,7 +8887,7 @@ function MenuItemImpl(props) {
|
|
|
8884
8887
|
const isDisabled = Boolean(disabled);
|
|
8885
8888
|
const isSelected = state.selectionManager.selectedKeys.has(label);
|
|
8886
8889
|
const isFocused = state.selectionManager.focusedKey === item.key;
|
|
8887
|
-
const ref = (0,
|
|
8890
|
+
const ref = (0, import_react35.useRef)(null);
|
|
8888
8891
|
const history = (0, import_react_router.useHistory)();
|
|
8889
8892
|
const { hoverProps, isHovered } = (0, import_react_aria16.useHover)({});
|
|
8890
8893
|
const tid = useTestIds(props);
|
|
@@ -9005,19 +9008,19 @@ function Popover(props) {
|
|
|
9005
9008
|
}
|
|
9006
9009
|
|
|
9007
9010
|
// src/inputs/internal/ComboBoxBase.tsx
|
|
9008
|
-
var
|
|
9011
|
+
var import_react46 = require("react");
|
|
9009
9012
|
var import_react_aria27 = require("react-aria");
|
|
9010
9013
|
var import_react_stately7 = require("react-stately");
|
|
9011
9014
|
|
|
9012
9015
|
// src/inputs/internal/ComboBoxInput.tsx
|
|
9013
|
-
var
|
|
9016
|
+
var import_react45 = require("react");
|
|
9014
9017
|
var import_react_aria26 = require("react-aria");
|
|
9015
9018
|
|
|
9016
9019
|
// src/inputs/hooks/useGrowingTextField.tsx
|
|
9017
9020
|
var import_utils32 = require("@react-aria/utils");
|
|
9018
|
-
var
|
|
9021
|
+
var import_react36 = require("react");
|
|
9019
9022
|
function useGrowingTextField({ inputRef, inputWrapRef, value, disabled }) {
|
|
9020
|
-
const onHeightChange = (0,
|
|
9023
|
+
const onHeightChange = (0, import_react36.useCallback)(() => {
|
|
9021
9024
|
if (disabled) return;
|
|
9022
9025
|
const input = inputRef.current;
|
|
9023
9026
|
const inputWrap = inputWrapRef.current;
|
|
@@ -9049,12 +9052,12 @@ function useGrowingTextField({ inputRef, inputWrapRef, value, disabled }) {
|
|
|
9049
9052
|
}
|
|
9050
9053
|
|
|
9051
9054
|
// src/inputs/TreeSelectField/TreeSelectField.tsx
|
|
9052
|
-
var
|
|
9055
|
+
var import_react44 = __toESM(require("react"), 1);
|
|
9053
9056
|
var import_react_aria25 = require("react-aria");
|
|
9054
9057
|
var import_react_stately6 = require("react-stately");
|
|
9055
9058
|
|
|
9056
9059
|
// src/inputs/internal/ListBox.tsx
|
|
9057
|
-
var
|
|
9060
|
+
var import_react43 = require("react");
|
|
9058
9061
|
var import_react_aria24 = require("react-aria");
|
|
9059
9062
|
|
|
9060
9063
|
// src/inputs/internal/constants.ts
|
|
@@ -9065,25 +9068,25 @@ var sectionSeparatorHeight = 1;
|
|
|
9065
9068
|
var import_react_aria23 = require("react-aria");
|
|
9066
9069
|
|
|
9067
9070
|
// src/inputs/internal/Option.tsx
|
|
9068
|
-
var
|
|
9071
|
+
var import_react39 = require("react");
|
|
9069
9072
|
var import_react_aria20 = require("react-aria");
|
|
9070
9073
|
|
|
9071
9074
|
// src/inputs/ChipSelectField.tsx
|
|
9072
9075
|
var import_change_case3 = require("change-case");
|
|
9073
|
-
var
|
|
9076
|
+
var import_react38 = require("react");
|
|
9074
9077
|
var import_react_aria19 = require("react-aria");
|
|
9075
9078
|
var import_react_stately5 = require("react-stately");
|
|
9076
9079
|
|
|
9077
9080
|
// src/inputs/ChipTextField.tsx
|
|
9078
|
-
var
|
|
9081
|
+
var import_react37 = require("react");
|
|
9079
9082
|
var import_react_aria18 = require("react-aria");
|
|
9080
9083
|
var import_jsx_runtime42 = require("@emotion/react/jsx-runtime");
|
|
9081
9084
|
function ChipTextField(props) {
|
|
9082
9085
|
const { autoFocus, onFocus, onBlur, onEnter, onChange, required, label, value, blurOnEscape = true } = props;
|
|
9083
9086
|
const { fieldProps } = usePresentationContext();
|
|
9084
|
-
const valueRef = (0,
|
|
9087
|
+
const valueRef = (0, import_react37.useRef)(value);
|
|
9085
9088
|
const tid = useTestIds(props, "chipField");
|
|
9086
|
-
const [isFocused, setIsFocused] = (0,
|
|
9089
|
+
const [isFocused, setIsFocused] = (0, import_react37.useState)(false);
|
|
9087
9090
|
const { focusProps } = (0, import_react_aria18.useFocus)({
|
|
9088
9091
|
onFocus: (e) => {
|
|
9089
9092
|
if (fieldRef.current) {
|
|
@@ -9100,9 +9103,8 @@ function ChipTextField(props) {
|
|
|
9100
9103
|
onBlur: () => maybeCall(onBlur),
|
|
9101
9104
|
onFocusChange: setIsFocused
|
|
9102
9105
|
});
|
|
9103
|
-
const fieldRef = (0,
|
|
9104
|
-
|
|
9105
|
-
(0, import_react36.useEffect)(
|
|
9106
|
+
const fieldRef = (0, import_react37.useRef)(null);
|
|
9107
|
+
(0, import_react37.useEffect)(
|
|
9106
9108
|
() => {
|
|
9107
9109
|
autoFocus && fieldRef.current?.focus();
|
|
9108
9110
|
},
|
|
@@ -9135,8 +9137,9 @@ function ChipTextField(props) {
|
|
|
9135
9137
|
},
|
|
9136
9138
|
...focusProps,
|
|
9137
9139
|
css: {
|
|
9138
|
-
...
|
|
9139
|
-
...
|
|
9140
|
+
...chipBaseStyles(fieldProps?.compact),
|
|
9141
|
+
...Css.mwPx(32).outline0.$,
|
|
9142
|
+
...isFocused && Css.bshFocus.$
|
|
9140
9143
|
},
|
|
9141
9144
|
...tid,
|
|
9142
9145
|
children: valueRef.current
|
|
@@ -9148,14 +9151,7 @@ function ChipTextField(props) {
|
|
|
9148
9151
|
var import_jsx_runtime43 = require("@emotion/react/jsx-runtime");
|
|
9149
9152
|
function ListBoxChip({ label }) {
|
|
9150
9153
|
const { fieldProps } = usePresentationContext();
|
|
9151
|
-
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
9152
|
-
"span",
|
|
9153
|
-
{
|
|
9154
|
-
css: Css[fieldProps?.typeScale ?? "sm"].tal.bgGray300.gray900.br16.pxPx(10).pyPx(2).lineClamp1.wbba.$,
|
|
9155
|
-
title: label,
|
|
9156
|
-
children: label
|
|
9157
|
-
}
|
|
9158
|
-
);
|
|
9154
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { css: { ...chipBaseStyles(fieldProps?.compact), ...Css.truncate.dib.$ }, title: label, children: label });
|
|
9159
9155
|
}
|
|
9160
9156
|
|
|
9161
9157
|
// src/inputs/Value.ts
|
|
@@ -9207,7 +9203,7 @@ function defaultOptionLabel(opt) {
|
|
|
9207
9203
|
// src/inputs/ChipSelectField.tsx
|
|
9208
9204
|
var import_jsx_runtime44 = require("@emotion/react/jsx-runtime");
|
|
9209
9205
|
function ChipSelectField(props) {
|
|
9210
|
-
const firstRender = (0,
|
|
9206
|
+
const firstRender = (0, import_react38.useRef)(true);
|
|
9211
9207
|
const { fieldProps } = usePresentationContext();
|
|
9212
9208
|
const {
|
|
9213
9209
|
label,
|
|
@@ -9229,9 +9225,9 @@ function ChipSelectField(props) {
|
|
|
9229
9225
|
const typeScale = fieldProps?.typeScale ?? "sm";
|
|
9230
9226
|
const isDisabled = !!disabled;
|
|
9231
9227
|
const showClearButton = !disabled && clearable && !!value;
|
|
9232
|
-
const chipStyles =
|
|
9233
|
-
const [visualFocus, setVisualFocus] = (0,
|
|
9234
|
-
const [isClearFocused, setIsClearFocused] = (0,
|
|
9228
|
+
const chipStyles = { ...chipBaseStyles(), ...Css.pyPx(2).gap0.aiStretch.$ };
|
|
9229
|
+
const [visualFocus, setVisualFocus] = (0, import_react38.useState)(false);
|
|
9230
|
+
const [isClearFocused, setIsClearFocused] = (0, import_react38.useState)(false);
|
|
9235
9231
|
const { focusProps } = (0, import_react_aria19.useFocus)({
|
|
9236
9232
|
onFocus: (e) => {
|
|
9237
9233
|
if (popoverRef.current && popoverRef.current.contains(e.relatedTarget)) {
|
|
@@ -9249,10 +9245,10 @@ function ChipSelectField(props) {
|
|
|
9249
9245
|
onFocusChange: (isFocused) => !state.isOpen && setVisualFocus(isFocused)
|
|
9250
9246
|
});
|
|
9251
9247
|
const { focusProps: clearFocusProps } = (0, import_react_aria19.useFocus)({ onFocusChange: setIsClearFocused });
|
|
9252
|
-
const buttonRef = (0,
|
|
9253
|
-
const popoverRef = (0,
|
|
9254
|
-
const listBoxRef = (0,
|
|
9255
|
-
const wrapperRef = (0,
|
|
9248
|
+
const buttonRef = (0, import_react38.useRef)(null);
|
|
9249
|
+
const popoverRef = (0, import_react38.useRef)(null);
|
|
9250
|
+
const listBoxRef = (0, import_react38.useRef)(null);
|
|
9251
|
+
const wrapperRef = (0, import_react38.useRef)(null);
|
|
9256
9252
|
const listData = (0, import_react_stately5.useListData)({
|
|
9257
9253
|
initialItems: !onCreateNew ? options : [
|
|
9258
9254
|
{ title: "Options", options },
|
|
@@ -9261,7 +9257,7 @@ function ChipSelectField(props) {
|
|
|
9261
9257
|
initialSelectedKeys: [valueToKey(value)],
|
|
9262
9258
|
getKey: (item) => isListBoxSection(item) ? item.title : getOptionValue(item)
|
|
9263
9259
|
});
|
|
9264
|
-
(0,
|
|
9260
|
+
(0, import_react38.useEffect)(
|
|
9265
9261
|
() => {
|
|
9266
9262
|
if (!firstRender.current) {
|
|
9267
9263
|
if (onCreateNew) {
|
|
@@ -9277,7 +9273,7 @@ function ChipSelectField(props) {
|
|
|
9277
9273
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9278
9274
|
[options]
|
|
9279
9275
|
);
|
|
9280
|
-
const selectChildren = (0,
|
|
9276
|
+
const selectChildren = (0, import_react38.useMemo)(
|
|
9281
9277
|
() => listData.items.map((s) => {
|
|
9282
9278
|
if (isListBoxSection(s)) {
|
|
9283
9279
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_react_stately5.Section, { title: s.title, items: s.options, children: (item) => {
|
|
@@ -9341,7 +9337,7 @@ function ChipSelectField(props) {
|
|
|
9341
9337
|
// Ensures the menu never gets too small.
|
|
9342
9338
|
minWidth: 200
|
|
9343
9339
|
};
|
|
9344
|
-
const [showInput, setShowInput] = (0,
|
|
9340
|
+
const [showInput, setShowInput] = (0, import_react38.useState)(false);
|
|
9345
9341
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
|
|
9346
9342
|
showInput && onCreateNew && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
9347
9343
|
CreateNewField,
|
|
@@ -9363,7 +9359,7 @@ function ChipSelectField(props) {
|
|
|
9363
9359
|
ref: wrapperRef,
|
|
9364
9360
|
css: {
|
|
9365
9361
|
...chipStyles,
|
|
9366
|
-
...Css.
|
|
9362
|
+
...Css.relative.p0.mwPx(32).$,
|
|
9367
9363
|
...visualFocus ? Css.bshFocus.$ : {},
|
|
9368
9364
|
...showInput ? Css.dn.$ : {}
|
|
9369
9365
|
},
|
|
@@ -9376,8 +9372,8 @@ function ChipSelectField(props) {
|
|
|
9376
9372
|
ref: buttonRef,
|
|
9377
9373
|
css: {
|
|
9378
9374
|
...Css.tal.br16.pxPx(10).pyPx(2).outline0.if(showClearButton).prPx(4).borderRadius("16px 0 0 16px").$,
|
|
9379
|
-
...isDisabled ?
|
|
9380
|
-
"&:hover:not(:disabled)":
|
|
9375
|
+
...isDisabled ? chipDisabledStyles : {},
|
|
9376
|
+
"&:hover:not(:disabled)": chipHoverStyles
|
|
9381
9377
|
},
|
|
9382
9378
|
title: state.selectedItem ? state.selectedItem.textValue : placeholder,
|
|
9383
9379
|
...tid,
|
|
@@ -9390,7 +9386,7 @@ function ChipSelectField(props) {
|
|
|
9390
9386
|
...clearFocusProps,
|
|
9391
9387
|
css: {
|
|
9392
9388
|
...Css.prPx(4).borderRadius("0 16px 16px 0").outline0.$,
|
|
9393
|
-
"&:hover":
|
|
9389
|
+
"&:hover": chipHoverStyles,
|
|
9394
9390
|
...isClearFocused ? Css.boxShadow(`0px 0px 0px 2px rgba(3,105,161,1)`).$ : {}
|
|
9395
9391
|
},
|
|
9396
9392
|
onClick: () => {
|
|
@@ -9399,7 +9395,7 @@ function ChipSelectField(props) {
|
|
|
9399
9395
|
},
|
|
9400
9396
|
"aria-label": "Remove",
|
|
9401
9397
|
...tid.clearButton,
|
|
9402
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Icon, { icon: "x", inc: typeScale === "xs" ? 2 : void 0 })
|
|
9398
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Icon, { icon: "x", color: "rgba(141, 141, 141, 1)" /* Gray600 */, inc: typeScale === "xs" ? 2 : void 0 })
|
|
9403
9399
|
}
|
|
9404
9400
|
)
|
|
9405
9401
|
]
|
|
@@ -9446,7 +9442,7 @@ function isListBoxSection(obj) {
|
|
|
9446
9442
|
}
|
|
9447
9443
|
function CreateNewField(props) {
|
|
9448
9444
|
const { onBlur, onEnter } = props;
|
|
9449
|
-
const [value, setValue] = (0,
|
|
9445
|
+
const [value, setValue] = (0, import_react38.useState)("Add new");
|
|
9450
9446
|
const tid = useTestIds(props);
|
|
9451
9447
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
9452
9448
|
ChipTextField,
|
|
@@ -9466,7 +9462,7 @@ function CreateNewField(props) {
|
|
|
9466
9462
|
var import_jsx_runtime45 = require("@emotion/react/jsx-runtime");
|
|
9467
9463
|
function Option(props) {
|
|
9468
9464
|
const { item, state, contrast = false, scrollToIndex, disabledReason } = props;
|
|
9469
|
-
const ref = (0,
|
|
9465
|
+
const ref = (0, import_react39.useRef)(null);
|
|
9470
9466
|
const { hoverProps, isHovered } = (0, import_react_aria20.useHover)({});
|
|
9471
9467
|
const themeStyles = {
|
|
9472
9468
|
item: Css.gray900.if(contrast).white.$,
|
|
@@ -9513,7 +9509,7 @@ function Option(props) {
|
|
|
9513
9509
|
}
|
|
9514
9510
|
|
|
9515
9511
|
// src/inputs/internal/VirtualizedOptions.tsx
|
|
9516
|
-
var
|
|
9512
|
+
var import_react42 = require("react");
|
|
9517
9513
|
var import_react_virtuoso = require("react-virtuoso");
|
|
9518
9514
|
|
|
9519
9515
|
// src/inputs/internal/LoadingDots.tsx
|
|
@@ -9537,11 +9533,11 @@ function LoadingDots({ contrast }) {
|
|
|
9537
9533
|
}
|
|
9538
9534
|
|
|
9539
9535
|
// src/inputs/TreeSelectField/TreeOption.tsx
|
|
9540
|
-
var
|
|
9536
|
+
var import_react41 = require("react");
|
|
9541
9537
|
var import_react_aria22 = require("react-aria");
|
|
9542
9538
|
|
|
9543
9539
|
// src/inputs/CheckboxBase.tsx
|
|
9544
|
-
var
|
|
9540
|
+
var import_react40 = require("react");
|
|
9545
9541
|
var import_react_aria21 = require("react-aria");
|
|
9546
9542
|
var import_jsx_runtime47 = require("@emotion/react/jsx-runtime");
|
|
9547
9543
|
function CheckboxBase(props) {
|
|
@@ -9558,7 +9554,7 @@ function CheckboxBase(props) {
|
|
|
9558
9554
|
withLabelElement = true,
|
|
9559
9555
|
tooltip
|
|
9560
9556
|
} = props;
|
|
9561
|
-
const ref = (0,
|
|
9557
|
+
const ref = (0, import_react40.useRef)(null);
|
|
9562
9558
|
const { isFocusVisible, focusProps } = (0, import_react_aria21.useFocusRing)(ariaProps);
|
|
9563
9559
|
const tid = useTestIds(props, defaultTestId(label));
|
|
9564
9560
|
const Tag2 = withLabelElement ? "label" : "div";
|
|
@@ -9639,7 +9635,7 @@ function TreeOption(props) {
|
|
|
9639
9635
|
const leveledOption = item.value;
|
|
9640
9636
|
if (!leveledOption) return null;
|
|
9641
9637
|
const [option, level] = leveledOption;
|
|
9642
|
-
const ref = (0,
|
|
9638
|
+
const ref = (0, import_react41.useRef)(null);
|
|
9643
9639
|
const { hoverProps, isHovered } = (0, import_react_aria22.useHover)({});
|
|
9644
9640
|
const tid = useTestIds(props, "treeOption");
|
|
9645
9641
|
const { collapsedKeys, setCollapsedKeys, getOptionValue } = useTreeSelectFieldProvider();
|
|
@@ -9756,10 +9752,10 @@ function VirtualizedOptions(props) {
|
|
|
9756
9752
|
isTree,
|
|
9757
9753
|
allowCollapsing
|
|
9758
9754
|
} = props;
|
|
9759
|
-
const virtuosoRef = (0,
|
|
9755
|
+
const virtuosoRef = (0, import_react42.useRef)(null);
|
|
9760
9756
|
const focusedItem = state.collection.getItem(state.selectionManager.focusedKey);
|
|
9761
9757
|
const selectedItem = state.selectionManager.selectedKeys.size > 0 ? state.collection.getItem([...state.selectionManager.selectedKeys.values()][0]) : void 0;
|
|
9762
|
-
(0,
|
|
9758
|
+
(0, import_react42.useEffect)(
|
|
9763
9759
|
() => {
|
|
9764
9760
|
if (scrollOnFocus && virtuosoRef.current && focusedItem?.index) {
|
|
9765
9761
|
virtuosoRef.current.scrollToIndex({ index: focusedItem.index, align: "center" });
|
|
@@ -9899,13 +9895,13 @@ function ListBox(props) {
|
|
|
9899
9895
|
const { listBoxProps } = (0, import_react_aria24.useListBox)({ disallowEmptySelection: true, ...props }, state, listBoxRef);
|
|
9900
9896
|
const positionMaxHeight = positionProps.style?.maxHeight;
|
|
9901
9897
|
const popoverMaxHeight = positionMaxHeight && typeof positionMaxHeight === "number" ? Math.min(positionMaxHeight, maxPopoverHeight) : maxPopoverHeight;
|
|
9902
|
-
const [popoverHeight, setPopoverHeight] = (0,
|
|
9898
|
+
const [popoverHeight, setPopoverHeight] = (0, import_react43.useState)(popoverMaxHeight);
|
|
9903
9899
|
const isMultiSelect = state.selectionManager.selectionMode === "multiple";
|
|
9904
9900
|
const firstItem = state.collection.at(0);
|
|
9905
9901
|
const hasSections = firstItem && firstItem.type === "section";
|
|
9906
|
-
const selectedList = (0,
|
|
9907
|
-
const firstRender = (0,
|
|
9908
|
-
const virtuosoListHeight = (0,
|
|
9902
|
+
const selectedList = (0, import_react43.useRef)(null);
|
|
9903
|
+
const firstRender = (0, import_react43.useRef)(true);
|
|
9904
|
+
const virtuosoListHeight = (0, import_react43.useRef)(0);
|
|
9909
9905
|
const onListHeightChange = (listHeight) => {
|
|
9910
9906
|
virtuosoListHeight.current = listHeight;
|
|
9911
9907
|
const height = (selectedList.current?.offsetHeight || 0) + listHeight;
|
|
@@ -9913,7 +9909,7 @@ function ListBox(props) {
|
|
|
9913
9909
|
Math.min(popoverMaxHeight, hasSections ? height + persistentItemHeight + sectionSeparatorHeight : height)
|
|
9914
9910
|
);
|
|
9915
9911
|
};
|
|
9916
|
-
(0,
|
|
9912
|
+
(0, import_react43.useEffect)(
|
|
9917
9913
|
() => {
|
|
9918
9914
|
if (!firstRender.current && isMultiSelect && (state.selectionManager.selectedKeys.size === 0 || state.selectionManager.selectedKeys.size === 1)) {
|
|
9919
9915
|
onListHeightChange(virtuosoListHeight.current);
|
|
@@ -10000,13 +9996,13 @@ function TreeSelectField(props) {
|
|
|
10000
9996
|
defaultCollapsed = false,
|
|
10001
9997
|
...otherProps
|
|
10002
9998
|
} = props;
|
|
10003
|
-
const [collapsedKeys, setCollapsedKeys] = (0,
|
|
10004
|
-
(0,
|
|
9999
|
+
const [collapsedKeys, setCollapsedKeys] = (0, import_react44.useState)([]);
|
|
10000
|
+
(0, import_react44.useEffect)(() => {
|
|
10005
10001
|
setCollapsedKeys(
|
|
10006
10002
|
!Array.isArray(options) ? [] : defaultCollapsed ? options.map((o) => getOptionValue(o)) : options.flatMap(flattenOptions).filter((o) => o.defaultCollapsed).map((o) => getOptionValue(o))
|
|
10007
10003
|
);
|
|
10008
10004
|
}, [options, defaultCollapsed]);
|
|
10009
|
-
const contextValue = (0,
|
|
10005
|
+
const contextValue = (0, import_react44.useMemo)(
|
|
10010
10006
|
() => ({ collapsedKeys, setCollapsedKeys, getOptionValue }),
|
|
10011
10007
|
// TODO: validate this eslint-disable. It was automatically ignored as part of https://app.shortcut.com/homebound-team/story/40033/enable-react-hooks-exhaustive-deps-for-react-projects
|
|
10012
10008
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -10027,9 +10023,9 @@ function TreeSelectField(props) {
|
|
|
10027
10023
|
) });
|
|
10028
10024
|
}
|
|
10029
10025
|
function useTreeSelectFieldProvider() {
|
|
10030
|
-
return (0,
|
|
10026
|
+
return (0, import_react44.useContext)(CollapsedContext);
|
|
10031
10027
|
}
|
|
10032
|
-
var CollapsedContext =
|
|
10028
|
+
var CollapsedContext = import_react44.default.createContext({
|
|
10033
10029
|
collapsedKeys: [],
|
|
10034
10030
|
setCollapsedKeys: () => {
|
|
10035
10031
|
},
|
|
@@ -10063,7 +10059,7 @@ function TreeSelectFieldBase(props) {
|
|
|
10063
10059
|
const { contains } = (0, import_react_aria25.useFilter)({ sensitivity: "base" });
|
|
10064
10060
|
const { collapsedKeys } = useTreeSelectFieldProvider();
|
|
10065
10061
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
10066
|
-
const initTreeFieldState = (0,
|
|
10062
|
+
const initTreeFieldState = (0, import_react44.useCallback)(() => {
|
|
10067
10063
|
const selectedKeys = new Set(
|
|
10068
10064
|
values?.flatMap((v) => {
|
|
10069
10065
|
const foundOptions = findOptions(initialOptions, valueToKey(v), getOptionValue);
|
|
@@ -10113,13 +10109,13 @@ function TreeSelectFieldBase(props) {
|
|
|
10113
10109
|
getOptionValue,
|
|
10114
10110
|
collapsedKeys
|
|
10115
10111
|
]);
|
|
10116
|
-
const [fieldState, setFieldState] = (0,
|
|
10117
|
-
(0,
|
|
10112
|
+
const [fieldState, setFieldState] = (0, import_react44.useState)(() => initTreeFieldState());
|
|
10113
|
+
(0, import_react44.useEffect)(() => {
|
|
10118
10114
|
if (Array.isArray(options)) {
|
|
10119
10115
|
setFieldState((prevState) => ({ ...prevState, allOptions: options }));
|
|
10120
10116
|
}
|
|
10121
10117
|
}, [options]);
|
|
10122
|
-
(0,
|
|
10118
|
+
(0, import_react44.useEffect)(() => {
|
|
10123
10119
|
const selectedKeys = fieldState.selectedOptions.map((o) => valueToKey(getOptionValue(o)));
|
|
10124
10120
|
if (
|
|
10125
10121
|
// If the values were cleared
|
|
@@ -10129,8 +10125,8 @@ function TreeSelectFieldBase(props) {
|
|
|
10129
10125
|
setFieldState(initTreeFieldState());
|
|
10130
10126
|
}
|
|
10131
10127
|
}, [getOptionValue, initTreeFieldState, values]);
|
|
10132
|
-
const reactToCollapse = (0,
|
|
10133
|
-
(0,
|
|
10128
|
+
const reactToCollapse = (0, import_react44.useRef)(false);
|
|
10129
|
+
(0, import_react44.useEffect)(
|
|
10134
10130
|
() => {
|
|
10135
10131
|
if (reactToCollapse.current) {
|
|
10136
10132
|
setFieldState(({ allOptions, inputValue, ...others }) => ({
|
|
@@ -10150,7 +10146,7 @@ function TreeSelectFieldBase(props) {
|
|
|
10150
10146
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10151
10147
|
[collapsedKeys]
|
|
10152
10148
|
);
|
|
10153
|
-
const onInputChange = (0,
|
|
10149
|
+
const onInputChange = (0, import_react44.useCallback)(
|
|
10154
10150
|
(inputValue) => {
|
|
10155
10151
|
setFieldState((prevState) => {
|
|
10156
10152
|
return {
|
|
@@ -10167,7 +10163,7 @@ function TreeSelectFieldBase(props) {
|
|
|
10167
10163
|
},
|
|
10168
10164
|
[collapsedKeys, contains, getOptionLabel, getOptionValue]
|
|
10169
10165
|
);
|
|
10170
|
-
const maybeInitLoad = (0,
|
|
10166
|
+
const maybeInitLoad = (0, import_react44.useCallback)(
|
|
10171
10167
|
async (options2, fieldState2, setFieldState2) => {
|
|
10172
10168
|
if (!Array.isArray(options2)) {
|
|
10173
10169
|
setFieldState2((prevState) => ({ ...prevState, optionsLoading: true }));
|
|
@@ -10187,7 +10183,7 @@ function TreeSelectFieldBase(props) {
|
|
|
10187
10183
|
},
|
|
10188
10184
|
[collapsedKeys, contains, getOptionLabel, getOptionValue]
|
|
10189
10185
|
);
|
|
10190
|
-
const firstOpen = (0,
|
|
10186
|
+
const firstOpen = (0, import_react44.useRef)(true);
|
|
10191
10187
|
function onOpenChange(isOpen) {
|
|
10192
10188
|
if (firstOpen.current && isOpen) {
|
|
10193
10189
|
maybeInitLoad(options, fieldState, setFieldState);
|
|
@@ -10323,12 +10319,12 @@ function TreeSelectFieldBase(props) {
|
|
|
10323
10319
|
}));
|
|
10324
10320
|
}
|
|
10325
10321
|
}
|
|
10326
|
-
const comboBoxRef = (0,
|
|
10327
|
-
const triggerRef = (0,
|
|
10328
|
-
const inputRef = (0,
|
|
10329
|
-
const inputWrapRef = (0,
|
|
10330
|
-
const listBoxRef = (0,
|
|
10331
|
-
const popoverRef = (0,
|
|
10322
|
+
const comboBoxRef = (0, import_react44.useRef)(null);
|
|
10323
|
+
const triggerRef = (0, import_react44.useRef)(null);
|
|
10324
|
+
const inputRef = (0, import_react44.useRef)(null);
|
|
10325
|
+
const inputWrapRef = (0, import_react44.useRef)(null);
|
|
10326
|
+
const listBoxRef = (0, import_react44.useRef)(null);
|
|
10327
|
+
const popoverRef = (0, import_react44.useRef)(null);
|
|
10332
10328
|
const {
|
|
10333
10329
|
buttonProps: triggerProps,
|
|
10334
10330
|
inputProps,
|
|
@@ -10465,7 +10461,7 @@ function ComboBoxInput(props) {
|
|
|
10465
10461
|
const { wrap = false } = usePresentationContext();
|
|
10466
10462
|
const allowWrap = wrap || multiline;
|
|
10467
10463
|
const { collapsedKeys, setCollapsedKeys } = useTreeSelectFieldProvider();
|
|
10468
|
-
const [isFocused, setIsFocused] = (0,
|
|
10464
|
+
const [isFocused, setIsFocused] = (0, import_react45.useState)(false);
|
|
10469
10465
|
const isMultiSelect = state.selectionManager.selectionMode === "multiple";
|
|
10470
10466
|
const showNumSelection = isMultiSelect && state.selectionManager.selectedKeys.size > 1;
|
|
10471
10467
|
const showChipSelection = isMultiSelect && state.selectionManager.selectedKeys.size > 0;
|
|
@@ -10631,41 +10627,41 @@ function ComboBoxBase(props) {
|
|
|
10631
10627
|
...otherProps
|
|
10632
10628
|
} = props;
|
|
10633
10629
|
const labelStyle = otherProps.labelStyle ?? fieldProps?.labelStyle ?? "above";
|
|
10634
|
-
const getOptionLabel = (0,
|
|
10630
|
+
const getOptionLabel = (0, import_react46.useCallback)(
|
|
10635
10631
|
(o) => unsetLabel && o === unsetOption ? unsetLabel : onAddNew && o === addNewOption ? addNewOption.name : propOptionLabel(o),
|
|
10636
10632
|
// propOptionLabel is basically always a lambda, so don't dep on it
|
|
10637
10633
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10638
10634
|
[unsetLabel]
|
|
10639
10635
|
);
|
|
10640
|
-
const getOptionValue = (0,
|
|
10636
|
+
const getOptionValue = (0, import_react46.useCallback)(
|
|
10641
10637
|
(o) => unsetLabel && o === unsetOption ? void 0 : onAddNew && o === addNewOption ? addNewOption.id : propOptionValue(o),
|
|
10642
10638
|
// propOptionValue is basically always a lambda, so don't dep on it
|
|
10643
10639
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10644
10640
|
[unsetLabel]
|
|
10645
10641
|
);
|
|
10646
|
-
const getOptionMenuLabel = (0,
|
|
10642
|
+
const getOptionMenuLabel = (0, import_react46.useCallback)(
|
|
10647
10643
|
(o) => propOptionMenuLabel ? propOptionMenuLabel(o, Boolean(unsetLabel) && o === unsetOption, Boolean(onAddNew) && o === addNewOption) : getOptionLabel(o),
|
|
10648
10644
|
// propOptionMenuLabel is basically always a lambda, so don't dep on it
|
|
10649
10645
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10650
10646
|
[unsetLabel, getOptionLabel]
|
|
10651
10647
|
);
|
|
10652
|
-
const options = (0,
|
|
10648
|
+
const options = (0, import_react46.useMemo)(
|
|
10653
10649
|
() => initializeOptions(propOptions, getOptionValue, unsetLabel, !!onAddNew),
|
|
10654
10650
|
// If the caller is using { current, load, options }, memoize on only `current` and `options` values.
|
|
10655
10651
|
// ...and don't bother on memoizing on getOptionValue b/c it's basically always a lambda
|
|
10656
10652
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10657
10653
|
Array.isArray(propOptions) ? [propOptions, unsetLabel, onAddNew] : [propOptions.current, propOptions.options, unsetLabel, onAddNew]
|
|
10658
10654
|
);
|
|
10659
|
-
const values = (0,
|
|
10660
|
-
const inputStylePalette = (0,
|
|
10661
|
-
const selectedOptions = (0,
|
|
10655
|
+
const values = (0, import_react46.useMemo)(() => propValues ?? [], [propValues]);
|
|
10656
|
+
const inputStylePalette = (0, import_react46.useMemo)(() => propsInputStylePalette, [propsInputStylePalette]);
|
|
10657
|
+
const selectedOptions = (0, import_react46.useMemo)(
|
|
10662
10658
|
() => options.filter((o) => values.includes(getOptionValue(o))),
|
|
10663
10659
|
[options, values, getOptionValue]
|
|
10664
10660
|
);
|
|
10665
10661
|
const { contains } = (0, import_react_aria27.useFilter)({ sensitivity: "base" });
|
|
10666
10662
|
const isDisabled = !!disabled;
|
|
10667
10663
|
const isReadOnly = !!readOnly;
|
|
10668
|
-
const [fieldState, setFieldState] = (0,
|
|
10664
|
+
const [fieldState, setFieldState] = (0, import_react46.useState)(() => {
|
|
10669
10665
|
return {
|
|
10670
10666
|
inputValue: getInputValue(selectedOptions, getOptionLabel, multiselect, nothingSelectedText, isReadOnly),
|
|
10671
10667
|
searchValue: void 0,
|
|
@@ -10673,7 +10669,7 @@ function ComboBoxBase(props) {
|
|
|
10673
10669
|
};
|
|
10674
10670
|
});
|
|
10675
10671
|
const { searchValue } = fieldState;
|
|
10676
|
-
const filteredOptions = (0,
|
|
10672
|
+
const filteredOptions = (0, import_react46.useMemo)(() => {
|
|
10677
10673
|
return !searchValue ? options : options.filter((o) => contains(getOptionLabel(o), searchValue) || o === addNewOption);
|
|
10678
10674
|
}, [options, searchValue, getOptionLabel, contains]);
|
|
10679
10675
|
function resetField() {
|
|
@@ -10712,7 +10708,7 @@ function ComboBoxBase(props) {
|
|
|
10712
10708
|
setFieldState((prevState) => ({ ...prevState, optionsLoading: false }));
|
|
10713
10709
|
}
|
|
10714
10710
|
}
|
|
10715
|
-
const firstOpen = (0,
|
|
10711
|
+
const firstOpen = (0, import_react46.useRef)(true);
|
|
10716
10712
|
function onOpenChange(isOpen) {
|
|
10717
10713
|
if (firstOpen.current && isOpen) {
|
|
10718
10714
|
maybeInitLoad();
|
|
@@ -10722,12 +10718,12 @@ function ComboBoxBase(props) {
|
|
|
10722
10718
|
setFieldState((prevState) => ({ ...prevState, inputValue: "" }));
|
|
10723
10719
|
}
|
|
10724
10720
|
}
|
|
10725
|
-
const comboBoxRef = (0,
|
|
10726
|
-
const triggerRef = (0,
|
|
10727
|
-
const inputRef = (0,
|
|
10728
|
-
const inputWrapRef = (0,
|
|
10729
|
-
const listBoxRef = (0,
|
|
10730
|
-
const popoverRef = (0,
|
|
10721
|
+
const comboBoxRef = (0, import_react46.useRef)(null);
|
|
10722
|
+
const triggerRef = (0, import_react46.useRef)(null);
|
|
10723
|
+
const inputRef = (0, import_react46.useRef)(null);
|
|
10724
|
+
const inputWrapRef = (0, import_react46.useRef)(null);
|
|
10725
|
+
const listBoxRef = (0, import_react46.useRef)(null);
|
|
10726
|
+
const popoverRef = (0, import_react46.useRef)(null);
|
|
10731
10727
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
10732
10728
|
const comboBoxProps = {
|
|
10733
10729
|
...otherProps,
|
|
@@ -10755,7 +10751,7 @@ function ComboBoxBase(props) {
|
|
|
10755
10751
|
}
|
|
10756
10752
|
}
|
|
10757
10753
|
});
|
|
10758
|
-
const selectedKeys = (0,
|
|
10754
|
+
const selectedKeys = (0, import_react46.useMemo)(() => {
|
|
10759
10755
|
return selectedOptions.map((o) => valueToKey(getOptionValue(o)));
|
|
10760
10756
|
}, [selectedOptions, getOptionValue]);
|
|
10761
10757
|
state.selectionManager.state = (0, import_react_stately7.useMultipleSelectionState)({
|
|
@@ -10766,7 +10762,7 @@ function ComboBoxBase(props) {
|
|
|
10766
10762
|
onSelectionChange
|
|
10767
10763
|
});
|
|
10768
10764
|
const [debouncedSearch] = (0, import_use_debounce4.useDebounce)(searchValue, 300);
|
|
10769
|
-
(0,
|
|
10765
|
+
(0, import_react46.useEffect)(() => {
|
|
10770
10766
|
if (state.isOpen && multiselect && !debouncedSearch) {
|
|
10771
10767
|
setFieldState((prevState) => ({
|
|
10772
10768
|
...prevState,
|
|
@@ -10781,7 +10777,7 @@ function ComboBoxBase(props) {
|
|
|
10781
10777
|
}));
|
|
10782
10778
|
}
|
|
10783
10779
|
}, [state.isOpen, selectedOptions, getOptionLabel, multiselect, nothingSelectedText, isReadOnly, debouncedSearch]);
|
|
10784
|
-
(0,
|
|
10780
|
+
(0, import_react46.useEffect)(() => {
|
|
10785
10781
|
onSearch?.(debouncedSearch ?? "");
|
|
10786
10782
|
}, [onSearch, debouncedSearch]);
|
|
10787
10783
|
const {
|
|
@@ -10947,10 +10943,10 @@ function Autocomplete(props) {
|
|
|
10947
10943
|
...others
|
|
10948
10944
|
};
|
|
10949
10945
|
const state = (0, import_react_stately8.useComboBoxState)(comboBoxProps);
|
|
10950
|
-
const inputWrapRef = (0,
|
|
10951
|
-
const inputRef = (0,
|
|
10952
|
-
const listBoxRef = (0,
|
|
10953
|
-
const popoverRef = (0,
|
|
10946
|
+
const inputWrapRef = (0, import_react47.useRef)(null);
|
|
10947
|
+
const inputRef = (0, import_react47.useRef)(null);
|
|
10948
|
+
const listBoxRef = (0, import_react47.useRef)(null);
|
|
10949
|
+
const popoverRef = (0, import_react47.useRef)(null);
|
|
10954
10950
|
const { inputProps, listBoxProps, labelProps } = (0, import_react_aria28.useComboBox)(
|
|
10955
10951
|
{
|
|
10956
10952
|
...comboBoxProps,
|
|
@@ -11017,7 +11013,7 @@ function Autocomplete(props) {
|
|
|
11017
11013
|
}
|
|
11018
11014
|
|
|
11019
11015
|
// src/inputs/Checkbox.tsx
|
|
11020
|
-
var
|
|
11016
|
+
var import_react48 = require("react");
|
|
11021
11017
|
var import_react_aria29 = require("react-aria");
|
|
11022
11018
|
var import_react_stately9 = require("react-stately");
|
|
11023
11019
|
var import_jsx_runtime57 = require("@emotion/react/jsx-runtime");
|
|
@@ -11027,7 +11023,7 @@ function Checkbox(props) {
|
|
|
11027
11023
|
const isIndeterminate = selected === "indeterminate";
|
|
11028
11024
|
const ariaProps = { isSelected, isDisabled: !!disabled, isIndeterminate, ...otherProps };
|
|
11029
11025
|
const checkboxProps = { ...ariaProps, "aria-label": label };
|
|
11030
|
-
const ref = (0,
|
|
11026
|
+
const ref = (0, import_react48.useRef)(null);
|
|
11031
11027
|
const toggleState = (0, import_react_stately9.useToggleState)(ariaProps);
|
|
11032
11028
|
const { inputProps } = (0, import_react_aria29.useCheckbox)(checkboxProps, toggleState, ref);
|
|
11033
11029
|
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
@@ -11046,7 +11042,7 @@ function Checkbox(props) {
|
|
|
11046
11042
|
}
|
|
11047
11043
|
|
|
11048
11044
|
// src/inputs/CheckboxGroup.tsx
|
|
11049
|
-
var
|
|
11045
|
+
var import_react49 = require("react");
|
|
11050
11046
|
var import_react_aria30 = require("react-aria");
|
|
11051
11047
|
var import_react_stately10 = require("react-stately");
|
|
11052
11048
|
var import_jsx_runtime58 = require("@emotion/react/jsx-runtime");
|
|
@@ -11096,7 +11092,7 @@ function CheckboxGroupItem(props) {
|
|
|
11096
11092
|
} = props;
|
|
11097
11093
|
const ariaProps = { isSelected, isDisabled, isIndeterminate, value, ...otherProps };
|
|
11098
11094
|
const checkboxProps = { ...ariaProps, "aria-label": label };
|
|
11099
|
-
const ref = (0,
|
|
11095
|
+
const ref = (0, import_react49.useRef)(null);
|
|
11100
11096
|
const { inputProps } = (0, import_react_aria30.useCheckboxGroupItem)(checkboxProps, groupState, ref);
|
|
11101
11097
|
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11102
11098
|
CheckboxBase,
|
|
@@ -11115,12 +11111,12 @@ function CheckboxGroupItem(props) {
|
|
|
11115
11111
|
|
|
11116
11112
|
// src/inputs/DateFields/DateField.mock.tsx
|
|
11117
11113
|
var import_date_fns3 = require("date-fns");
|
|
11118
|
-
var
|
|
11114
|
+
var import_react50 = require("react");
|
|
11119
11115
|
var import_jsx_runtime59 = require("@emotion/react/jsx-runtime");
|
|
11120
11116
|
function DateFieldMock(props) {
|
|
11121
11117
|
const { onChange = () => {
|
|
11122
11118
|
}, errorMsg, onBlur, onFocus } = props;
|
|
11123
|
-
const [value, setValue] = (0,
|
|
11119
|
+
const [value, setValue] = (0, import_react50.useState)(props.value ? (0, import_date_fns3.format)(props.value, "MM/dd/yy") : "");
|
|
11124
11120
|
const tid = useTestIds(props, "date");
|
|
11125
11121
|
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
11126
11122
|
"input",
|
|
@@ -11143,7 +11139,7 @@ function DateFieldMock(props) {
|
|
|
11143
11139
|
}
|
|
11144
11140
|
|
|
11145
11141
|
// src/inputs/DateFields/DateFieldBase.tsx
|
|
11146
|
-
var
|
|
11142
|
+
var import_react51 = require("react");
|
|
11147
11143
|
var import_react_aria31 = require("react-aria");
|
|
11148
11144
|
var import_react_day_picker5 = require("react-day-picker");
|
|
11149
11145
|
var import_react_stately11 = require("react-stately");
|
|
@@ -11235,14 +11231,14 @@ function DateFieldBase(props) {
|
|
|
11235
11231
|
...others
|
|
11236
11232
|
} = props;
|
|
11237
11233
|
const isRangeMode = mode === "range";
|
|
11238
|
-
const inputRef = (0,
|
|
11239
|
-
const inputWrapRef = (0,
|
|
11240
|
-
const buttonRef = (0,
|
|
11241
|
-
const overlayRef = (0,
|
|
11242
|
-
const isFocused = (0,
|
|
11234
|
+
const inputRef = (0, import_react51.useRef)(null);
|
|
11235
|
+
const inputWrapRef = (0, import_react51.useRef)(null);
|
|
11236
|
+
const buttonRef = (0, import_react51.useRef)(null);
|
|
11237
|
+
const overlayRef = (0, import_react51.useRef)(null);
|
|
11238
|
+
const isFocused = (0, import_react51.useRef)(false);
|
|
11243
11239
|
const dateFormat = getDateFormat(format4);
|
|
11244
|
-
const [wipValue, setWipValue] = (0,
|
|
11245
|
-
const [inputValue, setInputValue] = (0,
|
|
11240
|
+
const [wipValue, setWipValue] = (0, import_react51.useState)(value);
|
|
11241
|
+
const [inputValue, setInputValue] = (0, import_react51.useState)(
|
|
11246
11242
|
(isRangeMode ? formatDateRange(props.value, dateFormat) : formatDate(props.value, dateFormat)) ?? ""
|
|
11247
11243
|
);
|
|
11248
11244
|
const tid = useTestIds(props, defaultTestId(label));
|
|
@@ -11315,7 +11311,7 @@ function DateFieldBase(props) {
|
|
|
11315
11311
|
shouldUpdatePosition: true,
|
|
11316
11312
|
offset: 4
|
|
11317
11313
|
});
|
|
11318
|
-
(0,
|
|
11314
|
+
(0, import_react51.useEffect)(() => {
|
|
11319
11315
|
if (!isFocused.current && !state.isOpen) {
|
|
11320
11316
|
setWipValue(value);
|
|
11321
11317
|
setInputValue(
|
|
@@ -11323,7 +11319,7 @@ function DateFieldBase(props) {
|
|
|
11323
11319
|
);
|
|
11324
11320
|
}
|
|
11325
11321
|
}, [value, dateFormat]);
|
|
11326
|
-
const onChange = (0,
|
|
11322
|
+
const onChange = (0, import_react51.useCallback)(
|
|
11327
11323
|
(d) => {
|
|
11328
11324
|
setWipValue(d);
|
|
11329
11325
|
if (d && isParsedDateValid(d)) {
|
|
@@ -11466,7 +11462,7 @@ function DateRangeField(props) {
|
|
|
11466
11462
|
}
|
|
11467
11463
|
|
|
11468
11464
|
// src/inputs/IconCard.tsx
|
|
11469
|
-
var
|
|
11465
|
+
var import_react52 = require("react");
|
|
11470
11466
|
var import_react_aria32 = require("react-aria");
|
|
11471
11467
|
var import_react_stately12 = require("react-stately");
|
|
11472
11468
|
var import_jsx_runtime64 = require("@emotion/react/jsx-runtime");
|
|
@@ -11486,7 +11482,7 @@ function IconCard(props) {
|
|
|
11486
11482
|
const { hoverProps, isHovered } = (0, import_react_aria32.useHover)({ isDisabled });
|
|
11487
11483
|
const toggleState = (0, import_react_stately12.useToggleState)(ariaProps);
|
|
11488
11484
|
const { inputProps } = (0, import_react_aria32.useCheckbox)(checkboxProps, toggleState, ref);
|
|
11489
|
-
const styles = (0,
|
|
11485
|
+
const styles = (0, import_react52.useMemo)(
|
|
11490
11486
|
() => ({
|
|
11491
11487
|
...baseStyles3,
|
|
11492
11488
|
...isHovered && iconCardStylesHover,
|
|
@@ -11512,7 +11508,7 @@ var disabledStyles2 = Css.bcGray200.bgGray50.$;
|
|
|
11512
11508
|
var iconCardStylesHover = Css.bgGray100.$;
|
|
11513
11509
|
|
|
11514
11510
|
// src/inputs/MultiLineSelectField.tsx
|
|
11515
|
-
var
|
|
11511
|
+
var import_react53 = require("react");
|
|
11516
11512
|
var import_jsx_runtime65 = require("@emotion/react/jsx-runtime");
|
|
11517
11513
|
function MultiLineSelectField(props) {
|
|
11518
11514
|
const {
|
|
@@ -11525,7 +11521,7 @@ function MultiLineSelectField(props) {
|
|
|
11525
11521
|
...otherProps
|
|
11526
11522
|
} = props;
|
|
11527
11523
|
const tid = useTestIds(props, "");
|
|
11528
|
-
const [isDisplayed, setIsDisplayed] = (0,
|
|
11524
|
+
const [isDisplayed, setIsDisplayed] = (0, import_react53.useState)(true);
|
|
11529
11525
|
const currentOptions = options.filter((o) => !values.includes(getOptionValue(o)));
|
|
11530
11526
|
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { css: Css.mt1.if(labelStyle === "left").df.$, children: [
|
|
11531
11527
|
labelStyle !== "hidden" && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { css: Css.if(labelStyle === "left").w50.$, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Label, { ...tid.label, label: props.label }) }),
|
|
@@ -11614,7 +11610,7 @@ function MultiSelectField(props) {
|
|
|
11614
11610
|
|
|
11615
11611
|
// src/inputs/NumberField.tsx
|
|
11616
11612
|
var import_number = require("@internationalized/number");
|
|
11617
|
-
var
|
|
11613
|
+
var import_react54 = require("react");
|
|
11618
11614
|
var import_react_aria33 = require("react-aria");
|
|
11619
11615
|
var import_react_stately13 = require("react-stately");
|
|
11620
11616
|
var import_jsx_runtime67 = require("@emotion/react/jsx-runtime");
|
|
@@ -11649,7 +11645,7 @@ function NumberField(props) {
|
|
|
11649
11645
|
const isReadOnly = !!readOnly;
|
|
11650
11646
|
const factor = type === "percent" ? 100 : type === "cents" ? 100 : type === "mills" ? 1e3 : type === "basisPoints" ? 1e4 : 1;
|
|
11651
11647
|
const signDisplay = displayDirection ? "always" : "auto";
|
|
11652
|
-
const defaultFormatOptions = (0,
|
|
11648
|
+
const defaultFormatOptions = (0, import_react54.useMemo)(
|
|
11653
11649
|
() => ({
|
|
11654
11650
|
[truncate ? "maximumFractionDigits" : "minimumFractionDigits"]: numFractionDigits,
|
|
11655
11651
|
...numIntegerDigits !== void 0 && { minimumIntegerDigits: numIntegerDigits },
|
|
@@ -11659,15 +11655,15 @@ function NumberField(props) {
|
|
|
11659
11655
|
[truncate, numIntegerDigits, useGrouping, signDisplay, numFractionDigits]
|
|
11660
11656
|
);
|
|
11661
11657
|
const { locale } = (0, import_react_aria33.useLocale)();
|
|
11662
|
-
const formatOptions = (0,
|
|
11658
|
+
const formatOptions = (0, import_react54.useMemo)(() => {
|
|
11663
11659
|
if (numberFormatOptions !== void 0) {
|
|
11664
11660
|
return numberFormatOptions;
|
|
11665
11661
|
}
|
|
11666
11662
|
const typeFormat = type === "percent" ? { style: "percent" } : type === "basisPoints" ? { style: "percent", minimumFractionDigits: 2 } : type === "cents" ? { style: "currency", currency: "USD", minimumFractionDigits: 2 } : type === "mills" ? { style: "currency", currency: "USD", minimumFractionDigits: 3 } : type === "dollars" ? { style: "currency", currency: "USD", minimumFractionDigits: numFractionDigits ?? 2 } : type === "days" ? { style: "unit", unit: "day", unitDisplay: "long", maximumFractionDigits: 0 } : {};
|
|
11667
11663
|
return { ...defaultFormatOptions, ...typeFormat };
|
|
11668
11664
|
}, [type, numberFormatOptions, defaultFormatOptions, numFractionDigits]);
|
|
11669
|
-
const numberParser = (0,
|
|
11670
|
-
const valueRef = (0,
|
|
11665
|
+
const numberParser = (0, import_react54.useMemo)(() => new import_number.NumberParser(locale, formatOptions), [locale, formatOptions]);
|
|
11666
|
+
const valueRef = (0, import_react54.useRef)({ wip: false });
|
|
11671
11667
|
const useProps = {
|
|
11672
11668
|
locale,
|
|
11673
11669
|
// We want percents && cents to be integers, useNumberFieldState excepts them as decimals
|
|
@@ -11696,7 +11692,7 @@ function NumberField(props) {
|
|
|
11696
11692
|
...otherProps
|
|
11697
11693
|
};
|
|
11698
11694
|
const state = (0, import_react_stately13.useNumberFieldState)(useProps);
|
|
11699
|
-
const inputRef = (0,
|
|
11695
|
+
const inputRef = (0, import_react54.useRef)(null);
|
|
11700
11696
|
const { labelProps, inputProps, groupProps } = (0, import_react_aria33.useNumberField)(useProps, state, inputRef);
|
|
11701
11697
|
if (readOnly && !inputRef.current) {
|
|
11702
11698
|
inputRef.current = document.createElement("input");
|
|
@@ -11741,14 +11737,14 @@ function formatValue(value, factor, numFractionDigits, numIntegerDigits, positiv
|
|
|
11741
11737
|
}
|
|
11742
11738
|
|
|
11743
11739
|
// src/inputs/RadioGroupField.tsx
|
|
11744
|
-
var
|
|
11740
|
+
var import_react55 = require("react");
|
|
11745
11741
|
var import_react_aria34 = require("react-aria");
|
|
11746
11742
|
var import_react_stately14 = require("react-stately");
|
|
11747
11743
|
var import_jsx_runtime68 = require("@emotion/react/jsx-runtime");
|
|
11748
11744
|
var nextNameId = 0;
|
|
11749
11745
|
function RadioGroupField(props) {
|
|
11750
11746
|
const { label, labelStyle, value, onChange, options, disabled = false, errorMsg, helperText, ...otherProps } = props;
|
|
11751
|
-
const name = (0,
|
|
11747
|
+
const name = (0, import_react55.useMemo)(() => `radio-group-${++nextNameId}`, []);
|
|
11752
11748
|
const state = (0, import_react_stately14.useRadioGroupState)({
|
|
11753
11749
|
name,
|
|
11754
11750
|
value,
|
|
@@ -11765,7 +11761,7 @@ function RadioGroupField(props) {
|
|
|
11765
11761
|
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { ...radioGroupProps, children: [
|
|
11766
11762
|
options.map((option) => {
|
|
11767
11763
|
const isDisabled = state.isDisabled || !!option.disabled;
|
|
11768
|
-
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
11764
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react55.Fragment, { children: maybeTooltip({
|
|
11769
11765
|
title: resolveTooltip(option.disabled),
|
|
11770
11766
|
placement: "bottom",
|
|
11771
11767
|
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
@@ -11796,7 +11792,7 @@ function Radio(props) {
|
|
|
11796
11792
|
const disabled = state.isDisabled;
|
|
11797
11793
|
const labelId = `${parentId}-${value}-label`;
|
|
11798
11794
|
const descriptionId = `${parentId}-${value}-description`;
|
|
11799
|
-
const ref = (0,
|
|
11795
|
+
const ref = (0, import_react55.useRef)(null);
|
|
11800
11796
|
const { inputProps } = (0, import_react_aria34.useRadio)({ value, "aria-labelledby": labelId }, state, ref);
|
|
11801
11797
|
const { focusProps, isFocusVisible } = (0, import_react_aria34.useFocusRing)();
|
|
11802
11798
|
const { hoverProps, isHovered } = (0, import_react_aria34.useHover)({ isDisabled: disabled });
|
|
@@ -11875,19 +11871,19 @@ var radioDisabled = {
|
|
|
11875
11871
|
};
|
|
11876
11872
|
|
|
11877
11873
|
// src/inputs/RichTextField.tsx
|
|
11878
|
-
var
|
|
11874
|
+
var import_react57 = require("@emotion/react");
|
|
11879
11875
|
var import_dompurify = __toESM(require("dompurify"), 1);
|
|
11880
|
-
var
|
|
11876
|
+
var import_react58 = require("react");
|
|
11881
11877
|
|
|
11882
11878
|
// src/inputs/RichTextField.mock.tsx
|
|
11883
11879
|
var import_change_case4 = require("change-case");
|
|
11884
|
-
var
|
|
11880
|
+
var import_react56 = require("react");
|
|
11885
11881
|
var import_jsx_runtime69 = require("@emotion/react/jsx-runtime");
|
|
11886
11882
|
function RichTextFieldMock(props) {
|
|
11887
11883
|
const { onBlur = () => {
|
|
11888
11884
|
}, onFocus = () => {
|
|
11889
11885
|
}, readOnly } = props;
|
|
11890
|
-
const [value, setValue] = (0,
|
|
11886
|
+
const [value, setValue] = (0, import_react56.useState)(props.value || "");
|
|
11891
11887
|
const tid = useTestIds(props, defaultTestId2(props.label || "richTextField"));
|
|
11892
11888
|
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
11893
11889
|
"input",
|
|
@@ -11929,16 +11925,16 @@ function RichTextFieldImpl(props) {
|
|
|
11929
11925
|
readOnly,
|
|
11930
11926
|
fullWidth = fieldProps?.fullWidth ?? false
|
|
11931
11927
|
} = props;
|
|
11932
|
-
const [editor, setEditor] = (0,
|
|
11933
|
-
const editorElement = (0,
|
|
11934
|
-
const currentHtml = (0,
|
|
11935
|
-
const onChangeRef = (0,
|
|
11928
|
+
const [editor, setEditor] = (0, import_react58.useState)();
|
|
11929
|
+
const editorElement = (0, import_react58.useRef)();
|
|
11930
|
+
const currentHtml = (0, import_react58.useRef)(void 0);
|
|
11931
|
+
const onChangeRef = (0, import_react58.useRef)(onChange);
|
|
11936
11932
|
onChangeRef.current = onChange;
|
|
11937
|
-
const onBlurRef = (0,
|
|
11933
|
+
const onBlurRef = (0, import_react58.useRef)(onBlur);
|
|
11938
11934
|
onBlurRef.current = onBlur;
|
|
11939
|
-
const onFocusRef = (0,
|
|
11935
|
+
const onFocusRef = (0, import_react58.useRef)(onFocus);
|
|
11940
11936
|
onFocusRef.current = onFocus;
|
|
11941
|
-
const id = (0,
|
|
11937
|
+
const id = (0, import_react58.useMemo)(() => {
|
|
11942
11938
|
if (readOnly) return;
|
|
11943
11939
|
const id2 = `trix-editor-${trixId}`;
|
|
11944
11940
|
trixId++;
|
|
@@ -11979,7 +11975,7 @@ function RichTextFieldImpl(props) {
|
|
|
11979
11975
|
window.addEventListener("trix-initialize", onEditorInit);
|
|
11980
11976
|
return id2;
|
|
11981
11977
|
}, [readOnly]);
|
|
11982
|
-
(0,
|
|
11978
|
+
(0, import_react58.useEffect)(() => {
|
|
11983
11979
|
if (!readOnly && editor && value !== currentHtml.current) {
|
|
11984
11980
|
editor.loadHTML(value || "");
|
|
11985
11981
|
}
|
|
@@ -11990,7 +11986,7 @@ function RichTextFieldImpl(props) {
|
|
|
11990
11986
|
label && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Label, { labelProps: {}, label }),
|
|
11991
11987
|
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { css: { ...Css.br4.bgWhite.$, ...trixCssOverrides }, children: [
|
|
11992
11988
|
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("input", { type: "hidden", id: `input-${id}`, value }),
|
|
11993
|
-
(0,
|
|
11989
|
+
(0, import_react58.createElement)("trix-editor", {
|
|
11994
11990
|
id,
|
|
11995
11991
|
input: `input-${id}`,
|
|
11996
11992
|
// Autofocus attribute is case sensitive since this is standard HTML
|
|
@@ -11998,7 +11994,7 @@ function RichTextFieldImpl(props) {
|
|
|
11998
11994
|
...placeholder ? { placeholder } : {}
|
|
11999
11995
|
})
|
|
12000
11996
|
] }),
|
|
12001
|
-
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
11997
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react57.Global, { styles: [tributeOverrides] })
|
|
12002
11998
|
] });
|
|
12003
11999
|
} else {
|
|
12004
12000
|
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { css: Css.w100.if(!fullWidth).maxw("550px").$, children: [
|
|
@@ -12073,7 +12069,7 @@ function extractIdsFromMentions(mergeTags, content) {
|
|
|
12073
12069
|
var trixId = 1;
|
|
12074
12070
|
|
|
12075
12071
|
// src/inputs/SelectField.tsx
|
|
12076
|
-
var
|
|
12072
|
+
var import_react59 = require("react");
|
|
12077
12073
|
var import_jsx_runtime71 = require("@emotion/react/jsx-runtime");
|
|
12078
12074
|
function SelectField(props) {
|
|
12079
12075
|
const {
|
|
@@ -12084,7 +12080,7 @@ function SelectField(props) {
|
|
|
12084
12080
|
value,
|
|
12085
12081
|
...otherProps
|
|
12086
12082
|
} = props;
|
|
12087
|
-
const values = (0,
|
|
12083
|
+
const values = (0, import_react59.useMemo)(() => [value], [value]);
|
|
12088
12084
|
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
12089
12085
|
ComboBoxBase,
|
|
12090
12086
|
{
|
|
@@ -12104,7 +12100,7 @@ function SelectField(props) {
|
|
|
12104
12100
|
}
|
|
12105
12101
|
|
|
12106
12102
|
// src/inputs/Switch.tsx
|
|
12107
|
-
var
|
|
12103
|
+
var import_react60 = require("react");
|
|
12108
12104
|
var import_react_aria35 = require("react-aria");
|
|
12109
12105
|
var import_jsx_runtime72 = require("@emotion/react/jsx-runtime");
|
|
12110
12106
|
function Switch(props) {
|
|
@@ -12124,7 +12120,7 @@ function Switch(props) {
|
|
|
12124
12120
|
const isDisabled = !!disabled;
|
|
12125
12121
|
const ariaProps = { isSelected, isDisabled, ...otherProps };
|
|
12126
12122
|
const state = toToggleState(isSelected, onChange);
|
|
12127
|
-
const ref = (0,
|
|
12123
|
+
const ref = (0, import_react60.useRef)(null);
|
|
12128
12124
|
const { inputProps } = (0, import_react_aria35.useSwitch)({ ...ariaProps, "aria-label": label }, state, ref);
|
|
12129
12125
|
const { isFocusVisible: isKeyboardFocus, focusProps } = (0, import_react_aria35.useFocusRing)(otherProps);
|
|
12130
12126
|
const { hoverProps, isHovered } = (0, import_react_aria35.useHover)(ariaProps);
|
|
@@ -12200,7 +12196,7 @@ function switchCircleSelectedStyles(isCompact) {
|
|
|
12200
12196
|
}
|
|
12201
12197
|
|
|
12202
12198
|
// src/inputs/TextAreaField.tsx
|
|
12203
|
-
var
|
|
12199
|
+
var import_react61 = require("react");
|
|
12204
12200
|
var import_react_aria36 = require("react-aria");
|
|
12205
12201
|
var import_jsx_runtime73 = require("@emotion/react/jsx-runtime");
|
|
12206
12202
|
function TextAreaField(props) {
|
|
@@ -12217,8 +12213,8 @@ function TextAreaField(props) {
|
|
|
12217
12213
|
const isDisabled = !!disabled;
|
|
12218
12214
|
const isReadOnly = !!readOnly;
|
|
12219
12215
|
const textFieldProps = { ...otherProps, value, isDisabled, isReadOnly };
|
|
12220
|
-
const inputRef = (0,
|
|
12221
|
-
const inputWrapRef = (0,
|
|
12216
|
+
const inputRef = (0, import_react61.useRef)(null);
|
|
12217
|
+
const inputWrapRef = (0, import_react61.useRef)(null);
|
|
12222
12218
|
useGrowingTextField({ inputRef, inputWrapRef, value });
|
|
12223
12219
|
const { labelProps, inputProps } = (0, import_react_aria36.useTextField)(
|
|
12224
12220
|
{
|
|
@@ -12256,7 +12252,7 @@ function TextAreaField(props) {
|
|
|
12256
12252
|
}
|
|
12257
12253
|
|
|
12258
12254
|
// src/inputs/TextField.tsx
|
|
12259
|
-
var
|
|
12255
|
+
var import_react62 = require("react");
|
|
12260
12256
|
var import_react_aria37 = require("react-aria");
|
|
12261
12257
|
var import_jsx_runtime74 = require("@emotion/react/jsx-runtime");
|
|
12262
12258
|
function TextField(props) {
|
|
@@ -12284,7 +12280,7 @@ function TextField(props) {
|
|
|
12284
12280
|
validationState: errorMsg ? "invalid" : "valid",
|
|
12285
12281
|
value
|
|
12286
12282
|
};
|
|
12287
|
-
const inputRef = (0,
|
|
12283
|
+
const inputRef = (0, import_react62.useRef)(null);
|
|
12288
12284
|
const { labelProps, inputProps } = (0, import_react_aria37.useTextField)(
|
|
12289
12285
|
{
|
|
12290
12286
|
...textFieldProps,
|
|
@@ -12320,13 +12316,13 @@ function TextField(props) {
|
|
|
12320
12316
|
}
|
|
12321
12317
|
|
|
12322
12318
|
// src/inputs/ToggleButton.tsx
|
|
12323
|
-
var
|
|
12319
|
+
var import_react63 = require("react");
|
|
12324
12320
|
var import_react_aria38 = require("react-aria");
|
|
12325
12321
|
var import_react_stately15 = require("react-stately");
|
|
12326
12322
|
var import_jsx_runtime75 = require("@emotion/react/jsx-runtime");
|
|
12327
12323
|
function ToggleButton(props) {
|
|
12328
12324
|
const { selected: isSelected = false, disabled = false, label, onChange, icon, ...otherProps } = props;
|
|
12329
|
-
const [asyncInProgress, setAsyncInProgress] = (0,
|
|
12325
|
+
const [asyncInProgress, setAsyncInProgress] = (0, import_react63.useState)(false);
|
|
12330
12326
|
const isDisabled = !!disabled || asyncInProgress;
|
|
12331
12327
|
const ariaProps = { "aria-label": label, isSelected, isDisabled, ...otherProps };
|
|
12332
12328
|
const state = (0, import_react_stately15.useToggleState)({
|
|
@@ -12340,8 +12336,8 @@ function ToggleButton(props) {
|
|
|
12340
12336
|
return result;
|
|
12341
12337
|
}
|
|
12342
12338
|
});
|
|
12343
|
-
const labelRef = (0,
|
|
12344
|
-
const ref = (0,
|
|
12339
|
+
const labelRef = (0, import_react63.useRef)(null);
|
|
12340
|
+
const ref = (0, import_react63.useRef)(null);
|
|
12345
12341
|
const tid = useTestIds(props, label);
|
|
12346
12342
|
const { isPressed, pressProps } = (0, import_react_aria38.usePress)({ ref: labelRef, isDisabled });
|
|
12347
12343
|
const { inputProps } = (0, import_react_aria38.useSwitch)(ariaProps, state, ref);
|
|
@@ -12377,7 +12373,7 @@ var toggleFocusStyles = Css.bshFocus.$;
|
|
|
12377
12373
|
var togglePressStyles = Css.bgGray300.$;
|
|
12378
12374
|
|
|
12379
12375
|
// src/inputs/ToggleChipGroup.tsx
|
|
12380
|
-
var
|
|
12376
|
+
var import_react64 = require("react");
|
|
12381
12377
|
var import_react_aria39 = require("react-aria");
|
|
12382
12378
|
var import_react_stately16 = require("react-stately");
|
|
12383
12379
|
var import_jsx_runtime76 = require("@emotion/react/jsx-runtime");
|
|
@@ -12425,7 +12421,7 @@ function ToggleChipGroup(props) {
|
|
|
12425
12421
|
function ToggleChip2(props) {
|
|
12426
12422
|
const { label, value, groupState, selected: isSelected, disabled = false, startAdornment, xss, ...others } = props;
|
|
12427
12423
|
const isDisabled = !!disabled;
|
|
12428
|
-
const ref = (0,
|
|
12424
|
+
const ref = (0, import_react64.useRef)(null);
|
|
12429
12425
|
const { inputProps } = (0, import_react_aria39.useCheckboxGroupItem)({ value, "aria-label": label, isDisabled }, groupState, ref);
|
|
12430
12426
|
const { isFocusVisible, focusProps } = (0, import_react_aria39.useFocusRing)();
|
|
12431
12427
|
const tooltip = resolveTooltip(disabled);
|
|
@@ -12460,7 +12456,7 @@ function ToggleChip2(props) {
|
|
|
12460
12456
|
// src/components/Table/components/SelectToggle.tsx
|
|
12461
12457
|
var import_jsx_runtime77 = require("@emotion/react/jsx-runtime");
|
|
12462
12458
|
function SelectToggle({ id, disabled }) {
|
|
12463
|
-
const { tableState } = (0,
|
|
12459
|
+
const { tableState } = (0, import_react65.useContext)(TableStateContext);
|
|
12464
12460
|
const state = useComputed(() => tableState.getSelected(id), [tableState]);
|
|
12465
12461
|
const selected = state === "checked" ? true : state === "unchecked" ? false : "indeterminate";
|
|
12466
12462
|
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
@@ -13184,7 +13180,7 @@ var TableState = class {
|
|
|
13184
13180
|
this.rowStates.maybeSetRowDraggedOver(id, draggedOver, requireSameParentRow);
|
|
13185
13181
|
}
|
|
13186
13182
|
};
|
|
13187
|
-
var TableStateContext =
|
|
13183
|
+
var TableStateContext = import_react66.default.createContext({
|
|
13188
13184
|
get tableState() {
|
|
13189
13185
|
throw new Error("No TableStateContext provider");
|
|
13190
13186
|
}
|
|
@@ -13213,7 +13209,7 @@ function deriveSortState(currentSortState, clickedKey, initialSortState) {
|
|
|
13213
13209
|
|
|
13214
13210
|
// src/components/Table/GridTableApi.ts
|
|
13215
13211
|
function useGridTableApi() {
|
|
13216
|
-
return (0,
|
|
13212
|
+
return (0, import_react67.useMemo)(() => new GridTableApiImpl(), []);
|
|
13217
13213
|
}
|
|
13218
13214
|
var GridTableApiImpl = class {
|
|
13219
13215
|
// This is public to GridTable but not exported outside of Beam
|
|
@@ -13363,10 +13359,10 @@ function maybeApply(maybeFn) {
|
|
|
13363
13359
|
}
|
|
13364
13360
|
|
|
13365
13361
|
// src/hooks/useRenderCount.ts
|
|
13366
|
-
var
|
|
13362
|
+
var import_react68 = require("react");
|
|
13367
13363
|
function useRenderCount() {
|
|
13368
|
-
const ref = (0,
|
|
13369
|
-
const getCount = (0,
|
|
13364
|
+
const ref = (0, import_react68.useRef)(/* @__PURE__ */ new Map());
|
|
13365
|
+
const getCount = (0, import_react68.useCallback)((id) => {
|
|
13370
13366
|
const count = ref.current.get(id) || 1;
|
|
13371
13367
|
ref.current.set(id, count + 1);
|
|
13372
13368
|
return { "data-render": count };
|
|
@@ -13415,11 +13411,11 @@ function GridTable(props) {
|
|
|
13415
13411
|
onRowDrop: droppedCallback,
|
|
13416
13412
|
csvPrefixRows
|
|
13417
13413
|
} = props;
|
|
13418
|
-
const columnsWithIds = (0,
|
|
13419
|
-
const virtuosoRef = (0,
|
|
13420
|
-
const virtuosoRangeRef = (0,
|
|
13421
|
-
const resizeRef = (0,
|
|
13422
|
-
const api = (0,
|
|
13414
|
+
const columnsWithIds = (0, import_react69.useMemo)(() => assignDefaultColumnIds(_columns), [_columns]);
|
|
13415
|
+
const virtuosoRef = (0, import_react69.useRef)(null);
|
|
13416
|
+
const virtuosoRangeRef = (0, import_react69.useRef)(null);
|
|
13417
|
+
const resizeRef = (0, import_react69.useRef)(null);
|
|
13418
|
+
const api = (0, import_react69.useMemo)(
|
|
13423
13419
|
() => {
|
|
13424
13420
|
const api2 = props.api ?? new GridTableApiImpl();
|
|
13425
13421
|
api2.init(persistCollapse, virtuosoRef, virtuosoRangeRef);
|
|
@@ -13432,8 +13428,8 @@ function GridTable(props) {
|
|
|
13432
13428
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13433
13429
|
[props.api]
|
|
13434
13430
|
);
|
|
13435
|
-
const [draggedRow, _setDraggedRow] = (0,
|
|
13436
|
-
const draggedRowRef = (0,
|
|
13431
|
+
const [draggedRow, _setDraggedRow] = (0, import_react69.useState)(void 0);
|
|
13432
|
+
const draggedRowRef = (0, import_react69.useRef)(draggedRow);
|
|
13437
13433
|
const setDraggedRow = (row) => {
|
|
13438
13434
|
draggedRowRef.current = row;
|
|
13439
13435
|
_setDraggedRow(row);
|
|
@@ -13441,7 +13437,7 @@ function GridTable(props) {
|
|
|
13441
13437
|
const style = resolveStyles(maybeStyle);
|
|
13442
13438
|
const { tableState } = api;
|
|
13443
13439
|
tableState.onRowSelect = onRowSelect;
|
|
13444
|
-
(0,
|
|
13440
|
+
(0, import_react69.useEffect)(() => {
|
|
13445
13441
|
(0, import_mobx10.runInAction)(() => {
|
|
13446
13442
|
tableState.setRows(rows);
|
|
13447
13443
|
tableState.setColumns(columnsWithIds, visibleColumnsStorageKey);
|
|
@@ -13587,7 +13583,7 @@ function GridTable(props) {
|
|
|
13587
13583
|
const borderless = style?.presentationSettings?.borderless;
|
|
13588
13584
|
const typeScale = style?.presentationSettings?.typeScale;
|
|
13589
13585
|
const borderOnHover = style?.presentationSettings?.borderOnHover;
|
|
13590
|
-
const fieldProps = (0,
|
|
13586
|
+
const fieldProps = (0, import_react69.useMemo)(
|
|
13591
13587
|
() => ({
|
|
13592
13588
|
labelStyle: "hidden",
|
|
13593
13589
|
numberAlignment: "right",
|
|
@@ -13601,7 +13597,7 @@ function GridTable(props) {
|
|
|
13601
13597
|
[borderOnHover, borderless, typeScale]
|
|
13602
13598
|
);
|
|
13603
13599
|
const _as = as === "virtual" && runningInJest ? "div" : as;
|
|
13604
|
-
const rowStateContext = (0,
|
|
13600
|
+
const rowStateContext = (0, import_react69.useMemo)(() => ({ tableState }), [tableState]);
|
|
13605
13601
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(TableStateContext.Provider, { value: rowStateContext, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(PresentationProvider, { fieldProps, wrap: style?.presentationSettings?.wrap, children: [
|
|
13606
13602
|
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { ref: resizeRef, css: getTableRefWidthStyles(as === "virtual") }),
|
|
13607
13603
|
renders[_as](
|
|
@@ -13698,11 +13694,11 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, firs
|
|
|
13698
13694
|
);
|
|
13699
13695
|
}
|
|
13700
13696
|
function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, _stickyOffset, infiniteScroll) {
|
|
13701
|
-
const { footerStyle, listStyle } = (0,
|
|
13697
|
+
const { footerStyle, listStyle } = (0, import_react69.useMemo)(() => {
|
|
13702
13698
|
const { paddingBottom, ...otherRootStyles } = style.rootCss ?? {};
|
|
13703
13699
|
return { footerStyle: { paddingBottom }, listStyle: { ...style, rootCss: otherRootStyles } };
|
|
13704
13700
|
}, [style]);
|
|
13705
|
-
const [fetchMoreInProgress, setFetchMoreInProgress] = (0,
|
|
13701
|
+
const [fetchMoreInProgress, setFetchMoreInProgress] = (0, import_react69.useState)(false);
|
|
13706
13702
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
13707
13703
|
import_react_virtuoso2.Virtuoso,
|
|
13708
13704
|
{
|
|
@@ -13710,7 +13706,7 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, fi
|
|
|
13710
13706
|
ref: virtuosoRef,
|
|
13711
13707
|
components: {
|
|
13712
13708
|
// Applying a zIndex: 2 to ensure it stays on top of sticky columns
|
|
13713
|
-
TopItemList:
|
|
13709
|
+
TopItemList: import_react69.default.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
13714
13710
|
"div",
|
|
13715
13711
|
{
|
|
13716
13712
|
...props,
|
|
@@ -13770,7 +13766,7 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, fi
|
|
|
13770
13766
|
}
|
|
13771
13767
|
var VirtualRoot = (0, import_memoize_one.default)(
|
|
13772
13768
|
(gs, _columns, id, xss) => {
|
|
13773
|
-
return
|
|
13769
|
+
return import_react69.default.forwardRef(function VirtualRoot2({ style, children }, ref) {
|
|
13774
13770
|
const isHeader = Object.keys(style || {}).length === 0;
|
|
13775
13771
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
13776
13772
|
"div",
|
|
@@ -13800,8 +13796,9 @@ var VirtualRoot = (0, import_memoize_one.default)(
|
|
|
13800
13796
|
// src/components/ToggleChip.tsx
|
|
13801
13797
|
var import_jsx_runtime80 = require("@emotion/react/jsx-runtime");
|
|
13802
13798
|
function ToggleChip(props) {
|
|
13803
|
-
const { text, onClick, xss = {}, disabled = false } = props;
|
|
13799
|
+
const { text, onClick, xss = {}, disabled = false, icon } = props;
|
|
13804
13800
|
const { fieldProps } = usePresentationContext();
|
|
13801
|
+
const { hoverProps, isHovered } = useHover({});
|
|
13805
13802
|
const compact = fieldProps?.compact;
|
|
13806
13803
|
const tid = useTestIds(props, "chip");
|
|
13807
13804
|
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
@@ -13809,21 +13806,27 @@ function ToggleChip(props) {
|
|
|
13809
13806
|
{
|
|
13810
13807
|
type: "button",
|
|
13811
13808
|
css: {
|
|
13812
|
-
...
|
|
13813
|
-
|
|
13814
|
-
|
|
13809
|
+
...chipBaseStyles(compact),
|
|
13810
|
+
...isHovered && !disabled && chipHoverStyles,
|
|
13811
|
+
// Use a lower right-padding to get closer to the `X` circle when clearable, i.e. not disabled
|
|
13812
|
+
...!disabled && Css.prPx(4).$,
|
|
13813
|
+
...disabled && { ...chipDisabledStyles, ...Css.pr1.$ },
|
|
13815
13814
|
...xss
|
|
13816
13815
|
},
|
|
13817
13816
|
disabled,
|
|
13818
13817
|
onClick,
|
|
13818
|
+
...hoverProps,
|
|
13819
13819
|
...tid,
|
|
13820
13820
|
children: [
|
|
13821
|
-
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { css: Css.
|
|
13822
|
-
|
|
13821
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { css: Css.fs0.$, ...tid.icon, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { icon, color: "rgba(36, 36, 36, 1)" /* Gray900 */, inc: 2 }) }),
|
|
13822
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { css: Css.tal.lineClamp1.wbba.if(disabled).pr0.$, title: text, children: text }),
|
|
13823
|
+
!disabled && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { css: { ...Css.fs0.br16.bgGray200.$, ...isHovered && chipHoverStyles }, ...tid.x, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { icon: "x", color: "rgba(141, 141, 141, 1)" /* Gray600 */, inc: 2 }) })
|
|
13823
13824
|
]
|
|
13824
13825
|
}
|
|
13825
13826
|
);
|
|
13826
13827
|
}
|
|
13828
|
+
var chipHoverStyles = Css.bgGray300.$;
|
|
13829
|
+
var chipDisabledStyles = Css.gray600.cursorNotAllowed.$;
|
|
13827
13830
|
|
|
13828
13831
|
// src/components/ToggleChips.tsx
|
|
13829
13832
|
var import_jsx_runtime81 = require("@emotion/react/jsx-runtime");
|
|
@@ -13835,7 +13838,7 @@ function ToggleChips(props) {
|
|
|
13835
13838
|
|
|
13836
13839
|
// src/components/Accordion.tsx
|
|
13837
13840
|
var import_utils67 = require("@react-aria/utils");
|
|
13838
|
-
var
|
|
13841
|
+
var import_react70 = require("react");
|
|
13839
13842
|
var import_react_aria40 = require("react-aria");
|
|
13840
13843
|
var import_jsx_runtime82 = require("@emotion/react/jsx-runtime");
|
|
13841
13844
|
function Accordion(props) {
|
|
@@ -13857,28 +13860,28 @@ function Accordion(props) {
|
|
|
13857
13860
|
} = props;
|
|
13858
13861
|
const tid = useTestIds(props, "accordion");
|
|
13859
13862
|
const id = (0, import_utils67.useId)();
|
|
13860
|
-
const [expanded, setExpanded] = (0,
|
|
13863
|
+
const [expanded, setExpanded] = (0, import_react70.useState)(defaultExpanded && !disabled);
|
|
13861
13864
|
const { isFocusVisible, focusProps } = (0, import_react_aria40.useFocusRing)();
|
|
13862
|
-
const contentRef = (0,
|
|
13863
|
-
const [contentHeight, setContentHeight] = (0,
|
|
13864
|
-
(0,
|
|
13865
|
+
const contentRef = (0, import_react70.useRef)(null);
|
|
13866
|
+
const [contentHeight, setContentHeight] = (0, import_react70.useState)(expanded ? "auto" : "0");
|
|
13867
|
+
(0, import_react70.useEffect)(() => {
|
|
13865
13868
|
setExpanded(defaultExpanded && !disabled);
|
|
13866
13869
|
}, [defaultExpanded, disabled]);
|
|
13867
|
-
(0,
|
|
13870
|
+
(0, import_react70.useEffect)(() => {
|
|
13868
13871
|
setContentHeight(expanded && contentRef.current ? `${contentRef.current.scrollHeight}px` : "0");
|
|
13869
13872
|
}, [expanded]);
|
|
13870
|
-
const onResize = (0,
|
|
13873
|
+
const onResize = (0, import_react70.useCallback)(() => {
|
|
13871
13874
|
if (contentRef.current && expanded) {
|
|
13872
13875
|
setContentHeight(`${contentRef.current.scrollHeight}px`);
|
|
13873
13876
|
}
|
|
13874
13877
|
}, [expanded, setContentHeight]);
|
|
13875
13878
|
(0, import_utils67.useResizeObserver)({ ref: contentRef, onResize });
|
|
13876
|
-
const toggle = (0,
|
|
13879
|
+
const toggle = (0, import_react70.useCallback)(() => {
|
|
13877
13880
|
setExpanded((prev) => !prev);
|
|
13878
13881
|
if (setExpandedIndex) setExpandedIndex(index);
|
|
13879
13882
|
if (onToggle) onToggle();
|
|
13880
13883
|
}, [index, setExpandedIndex, onToggle]);
|
|
13881
|
-
const touchableStyle = (0,
|
|
13884
|
+
const touchableStyle = (0, import_react70.useMemo)(
|
|
13882
13885
|
() => ({
|
|
13883
13886
|
...Css.df.jcsb.gapPx(12).aic.p2.baseMd.outline("none").onHover.bgGray100.if(!!titleOnClick).baseSb.$,
|
|
13884
13887
|
...compact && Css.smMd.pl2.prPx(10).py1.bgGray100.mbPx(4).br8.onHover.bgGray200.$,
|
|
@@ -13961,11 +13964,11 @@ var accordionSizes = {
|
|
|
13961
13964
|
};
|
|
13962
13965
|
|
|
13963
13966
|
// src/components/AccordionList.tsx
|
|
13964
|
-
var
|
|
13967
|
+
var import_react71 = require("react");
|
|
13965
13968
|
var import_jsx_runtime83 = require("@emotion/react/jsx-runtime");
|
|
13966
13969
|
function AccordionList(props) {
|
|
13967
13970
|
const { accordions, size, allowMultipleExpanded = true, compact = false } = props;
|
|
13968
|
-
const [expandedIndex, setExpandedIndex] = (0,
|
|
13971
|
+
const [expandedIndex, setExpandedIndex] = (0, import_react71.useState)(
|
|
13969
13972
|
accordions.findIndex((a) => a.defaultExpanded)
|
|
13970
13973
|
);
|
|
13971
13974
|
const tid = useTestIds(props, "accordionList");
|
|
@@ -13986,7 +13989,7 @@ function AccordionList(props) {
|
|
|
13986
13989
|
}
|
|
13987
13990
|
|
|
13988
13991
|
// src/components/AutoSaveIndicator.tsx
|
|
13989
|
-
var
|
|
13992
|
+
var import_react72 = require("react");
|
|
13990
13993
|
|
|
13991
13994
|
// src/types.ts
|
|
13992
13995
|
function assertNever(x) {
|
|
@@ -13997,7 +14000,7 @@ function assertNever(x) {
|
|
|
13997
14000
|
var import_jsx_runtime84 = require("@emotion/react/jsx-runtime");
|
|
13998
14001
|
function AutoSaveIndicator({ hideOnIdle, doNotReset }) {
|
|
13999
14002
|
const { status, resetStatus, errors } = useAutoSaveStatus();
|
|
14000
|
-
(0,
|
|
14003
|
+
(0, import_react72.useEffect)(
|
|
14001
14004
|
() => {
|
|
14002
14005
|
if (doNotReset) return;
|
|
14003
14006
|
return () => resetStatus();
|
|
@@ -14060,42 +14063,42 @@ var variantStyles2 = {
|
|
|
14060
14063
|
};
|
|
14061
14064
|
|
|
14062
14065
|
// src/components/BeamContext.tsx
|
|
14063
|
-
var
|
|
14066
|
+
var import_react93 = require("react");
|
|
14064
14067
|
var import_react_aria44 = require("react-aria");
|
|
14065
14068
|
|
|
14066
14069
|
// src/components/Modal/Modal.tsx
|
|
14067
14070
|
var import_utils71 = require("@react-aria/utils");
|
|
14068
|
-
var
|
|
14071
|
+
var import_react75 = require("react");
|
|
14069
14072
|
var import_react_aria41 = require("react-aria");
|
|
14070
14073
|
var import_react_dom2 = require("react-dom");
|
|
14071
14074
|
|
|
14072
14075
|
// src/components/Modal/useModal.tsx
|
|
14073
|
-
var
|
|
14076
|
+
var import_react74 = require("react");
|
|
14074
14077
|
|
|
14075
14078
|
// src/components/Modal/ModalContext.tsx
|
|
14076
|
-
var
|
|
14079
|
+
var import_react73 = require("react");
|
|
14077
14080
|
var import_jsx_runtime86 = require("@emotion/react/jsx-runtime");
|
|
14078
|
-
var ModalContext = (0,
|
|
14081
|
+
var ModalContext = (0, import_react73.createContext)({ inModal: false });
|
|
14079
14082
|
function ModalProvider({ children }) {
|
|
14080
|
-
const value = (0,
|
|
14083
|
+
const value = (0, import_react73.useMemo)(() => ({ inModal: true }), []);
|
|
14081
14084
|
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ModalContext.Provider, { value, children });
|
|
14082
14085
|
}
|
|
14083
14086
|
function useModalContext() {
|
|
14084
|
-
return (0,
|
|
14087
|
+
return (0, import_react73.useContext)(ModalContext);
|
|
14085
14088
|
}
|
|
14086
14089
|
|
|
14087
14090
|
// src/components/Modal/useModal.tsx
|
|
14088
14091
|
function useModal() {
|
|
14089
14092
|
const { modalState, modalCanCloseChecks } = useBeamContext();
|
|
14090
14093
|
const { inModal } = useModalContext();
|
|
14091
|
-
const lastCanClose = (0,
|
|
14092
|
-
const api = (0,
|
|
14093
|
-
(0,
|
|
14094
|
+
const lastCanClose = (0, import_react74.useRef)();
|
|
14095
|
+
const api = (0, import_react74.useRef)();
|
|
14096
|
+
(0, import_react74.useEffect)(() => {
|
|
14094
14097
|
return () => {
|
|
14095
14098
|
modalCanCloseChecks.current = modalCanCloseChecks.current.filter((c) => c !== lastCanClose.current);
|
|
14096
14099
|
};
|
|
14097
14100
|
}, [modalCanCloseChecks]);
|
|
14098
|
-
return (0,
|
|
14101
|
+
return (0, import_react74.useMemo)(
|
|
14099
14102
|
() => ({
|
|
14100
14103
|
openModal(props) {
|
|
14101
14104
|
modalState.current = { ...props, api };
|
|
@@ -14134,7 +14137,7 @@ var import_jsx_runtime87 = require("@emotion/react/jsx-runtime");
|
|
|
14134
14137
|
function Modal(props) {
|
|
14135
14138
|
const { size = "md", content, forceScrolling, api, drawHeaderBorder = false, allowClosing = true } = props;
|
|
14136
14139
|
const isFixedHeight = typeof size !== "string";
|
|
14137
|
-
const ref = (0,
|
|
14140
|
+
const ref = (0, import_react75.useRef)(null);
|
|
14138
14141
|
const { modalBodyDiv, modalFooterDiv, modalHeaderDiv } = useBeamContext();
|
|
14139
14142
|
const { closeModal } = useModal();
|
|
14140
14143
|
const { overlayProps, underlayProps } = (0, import_react_aria41.useOverlay)(
|
|
@@ -14151,20 +14154,20 @@ function Modal(props) {
|
|
|
14151
14154
|
);
|
|
14152
14155
|
const { modalProps } = (0, import_react_aria41.useModal)();
|
|
14153
14156
|
const { dialogProps, titleProps } = (0, import_react_aria41.useDialog)({ role: "dialog" }, ref);
|
|
14154
|
-
const [[width2, height], setSize] = (0,
|
|
14155
|
-
const modalBodyRef = (0,
|
|
14156
|
-
const modalFooterRef = (0,
|
|
14157
|
-
const modalHeaderRef = (0,
|
|
14157
|
+
const [[width2, height], setSize] = (0, import_react75.useState)(getSize(size));
|
|
14158
|
+
const modalBodyRef = (0, import_react75.useRef)(null);
|
|
14159
|
+
const modalFooterRef = (0, import_react75.useRef)(null);
|
|
14160
|
+
const modalHeaderRef = (0, import_react75.useRef)(null);
|
|
14158
14161
|
const testId = useTestIds({}, testIdPrefix);
|
|
14159
14162
|
(0, import_react_aria41.usePreventScroll)();
|
|
14160
14163
|
const { sm } = useBreakpoint();
|
|
14161
14164
|
if (api) {
|
|
14162
14165
|
api.current = { setSize: (size2 = "md") => setSize(getSize(size2)) };
|
|
14163
14166
|
}
|
|
14164
|
-
const [hasScroll, setHasScroll] = (0,
|
|
14167
|
+
const [hasScroll, setHasScroll] = (0, import_react75.useState)(forceScrolling ?? false);
|
|
14165
14168
|
(0, import_utils71.useResizeObserver)({
|
|
14166
14169
|
ref: modalBodyRef,
|
|
14167
|
-
onResize: (0,
|
|
14170
|
+
onResize: (0, import_react75.useCallback)(
|
|
14168
14171
|
() => {
|
|
14169
14172
|
const target = modalBodyRef.current;
|
|
14170
14173
|
if (forceScrolling === void 0 && !isFixedHeight) {
|
|
@@ -14176,7 +14179,7 @@ function Modal(props) {
|
|
|
14176
14179
|
[]
|
|
14177
14180
|
)
|
|
14178
14181
|
});
|
|
14179
|
-
(0,
|
|
14182
|
+
(0, import_react75.useEffect)(
|
|
14180
14183
|
() => {
|
|
14181
14184
|
modalHeaderRef.current.appendChild(modalHeaderDiv);
|
|
14182
14185
|
modalBodyRef.current.appendChild(modalBodyDiv);
|
|
@@ -14251,7 +14254,7 @@ function getSize(size) {
|
|
|
14251
14254
|
}
|
|
14252
14255
|
|
|
14253
14256
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
14254
|
-
var
|
|
14257
|
+
var import_react76 = require("react");
|
|
14255
14258
|
|
|
14256
14259
|
// src/components/Snackbar/SnackbarNotice.tsx
|
|
14257
14260
|
var import_jsx_runtime88 = require("@emotion/react/jsx-runtime");
|
|
@@ -14304,26 +14307,26 @@ var defaultOffset = {
|
|
|
14304
14307
|
|
|
14305
14308
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
14306
14309
|
var import_jsx_runtime90 = require("@emotion/react/jsx-runtime");
|
|
14307
|
-
var SnackbarContext = (0,
|
|
14310
|
+
var SnackbarContext = (0, import_react76.createContext)({ setNotices: () => {
|
|
14308
14311
|
}, setOffset: () => {
|
|
14309
14312
|
} });
|
|
14310
14313
|
function SnackbarProvider(props) {
|
|
14311
|
-
const [notices, setNotices] = (0,
|
|
14312
|
-
const [offset, setOffset] = (0,
|
|
14313
|
-
const contextValue = (0,
|
|
14314
|
+
const [notices, setNotices] = (0, import_react76.useState)([]);
|
|
14315
|
+
const [offset, setOffset] = (0, import_react76.useState)({});
|
|
14316
|
+
const contextValue = (0, import_react76.useMemo)(() => ({ setNotices, setOffset }), []);
|
|
14314
14317
|
return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(SnackbarContext.Provider, { value: contextValue, children: [
|
|
14315
14318
|
props.children,
|
|
14316
14319
|
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Snackbar, { notices, offset })
|
|
14317
14320
|
] });
|
|
14318
14321
|
}
|
|
14319
14322
|
function useSnackbarContext() {
|
|
14320
|
-
return (0,
|
|
14323
|
+
return (0, import_react76.useContext)(SnackbarContext);
|
|
14321
14324
|
}
|
|
14322
14325
|
|
|
14323
14326
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
14324
|
-
var
|
|
14327
|
+
var import_react77 = require("@emotion/react");
|
|
14325
14328
|
var import_framer_motion = require("framer-motion");
|
|
14326
|
-
var
|
|
14329
|
+
var import_react78 = require("react");
|
|
14327
14330
|
var import_react_dom3 = require("react-dom");
|
|
14328
14331
|
|
|
14329
14332
|
// src/components/SuperDrawer/utils.ts
|
|
@@ -14335,17 +14338,17 @@ var SuperDrawerWidth = /* @__PURE__ */ ((SuperDrawerWidth2) => {
|
|
|
14335
14338
|
|
|
14336
14339
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
14337
14340
|
var import_jsx_runtime91 = require("@emotion/react/jsx-runtime");
|
|
14338
|
-
var
|
|
14341
|
+
var import_react79 = require("@emotion/react");
|
|
14339
14342
|
function SuperDrawer() {
|
|
14340
14343
|
const { drawerContentStack: contentStack, sdHeaderDiv } = useBeamContext();
|
|
14341
14344
|
const { closeDrawer } = useSuperDrawer();
|
|
14342
|
-
const headerRef = (0,
|
|
14345
|
+
const headerRef = (0, import_react78.useRef)(null);
|
|
14343
14346
|
const testId = useTestIds({}, "superDrawer");
|
|
14344
14347
|
const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
|
|
14345
14348
|
const { content } = currentContent ?? {};
|
|
14346
14349
|
const firstContent = contentStack.current[0]?.opts;
|
|
14347
14350
|
const { width: width2 = 1040 /* Normal */ } = firstContent ?? {};
|
|
14348
|
-
(0,
|
|
14351
|
+
(0, import_react78.useEffect)(
|
|
14349
14352
|
() => {
|
|
14350
14353
|
if (headerRef.current?.childNodes.length === 0 && content) {
|
|
14351
14354
|
headerRef.current.appendChild(sdHeaderDiv);
|
|
@@ -14357,8 +14360,8 @@ function SuperDrawer() {
|
|
|
14357
14360
|
);
|
|
14358
14361
|
return (0, import_react_dom3.createPortal)(
|
|
14359
14362
|
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_framer_motion.AnimatePresence, { children: content && /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_jsx_runtime91.Fragment, { children: [
|
|
14360
|
-
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
14361
|
-
/* @__PURE__ */ (0,
|
|
14363
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_react77.Global, { styles: { body: Css.oh.$ } }),
|
|
14364
|
+
/* @__PURE__ */ (0, import_react79.createElement)(
|
|
14362
14365
|
import_framer_motion.motion.div,
|
|
14363
14366
|
{
|
|
14364
14367
|
...testId,
|
|
@@ -14395,7 +14398,7 @@ function SuperDrawer() {
|
|
|
14395
14398
|
}
|
|
14396
14399
|
|
|
14397
14400
|
// src/components/Layout/FormPageLayout.tsx
|
|
14398
|
-
var
|
|
14401
|
+
var import_react86 = __toESM(require("react"), 1);
|
|
14399
14402
|
var import_react_aria43 = require("react-aria");
|
|
14400
14403
|
|
|
14401
14404
|
// src/forms/BoundCheckboxField.tsx
|
|
@@ -14621,7 +14624,7 @@ function BoundDateRangeField(props) {
|
|
|
14621
14624
|
}
|
|
14622
14625
|
|
|
14623
14626
|
// src/forms/BoundForm.tsx
|
|
14624
|
-
var
|
|
14627
|
+
var import_react82 = require("react");
|
|
14625
14628
|
|
|
14626
14629
|
// src/forms/BoundIconCardField.tsx
|
|
14627
14630
|
var import_mobx_react7 = require("mobx-react");
|
|
@@ -14650,7 +14653,7 @@ function BoundIconCardField(props) {
|
|
|
14650
14653
|
var import_mobx_react8 = require("mobx-react");
|
|
14651
14654
|
|
|
14652
14655
|
// src/inputs/IconCardGroup.tsx
|
|
14653
|
-
var
|
|
14656
|
+
var import_react80 = require("react");
|
|
14654
14657
|
var import_react_aria42 = require("react-aria");
|
|
14655
14658
|
var import_jsx_runtime98 = require("@emotion/react/jsx-runtime");
|
|
14656
14659
|
function IconCardGroup(props) {
|
|
@@ -14665,9 +14668,9 @@ function IconCardGroup(props) {
|
|
|
14665
14668
|
disabled: isDisabled = false,
|
|
14666
14669
|
onChange
|
|
14667
14670
|
} = props;
|
|
14668
|
-
const [selected, setSelected] = (0,
|
|
14669
|
-
const exclusiveOptions = (0,
|
|
14670
|
-
const toggleValue = (0,
|
|
14671
|
+
const [selected, setSelected] = (0, import_react80.useState)(values);
|
|
14672
|
+
const exclusiveOptions = (0, import_react80.useMemo)(() => options.filter((o) => o.exclusive), [options]);
|
|
14673
|
+
const toggleValue = (0, import_react80.useCallback)(
|
|
14671
14674
|
(value) => {
|
|
14672
14675
|
if (isDisabled) return;
|
|
14673
14676
|
const option = options.find((o) => o.value === value);
|
|
@@ -15263,7 +15266,7 @@ function BoundTreeSelectField(props) {
|
|
|
15263
15266
|
}
|
|
15264
15267
|
|
|
15265
15268
|
// src/forms/FormLines.tsx
|
|
15266
|
-
var
|
|
15269
|
+
var import_react81 = require("react");
|
|
15267
15270
|
var import_jsx_runtime112 = require("@emotion/react/jsx-runtime");
|
|
15268
15271
|
function FormLines(props) {
|
|
15269
15272
|
const { inModal } = useModal();
|
|
@@ -15293,9 +15296,9 @@ function FormLines(props) {
|
|
|
15293
15296
|
// Purposefully use this instead of childGap3 to put margin-bottom on the last line
|
|
15294
15297
|
"& > *": Css.mb(gap).$
|
|
15295
15298
|
},
|
|
15296
|
-
children:
|
|
15299
|
+
children: import_react81.Children.map(children, (child) => {
|
|
15297
15300
|
if (child && typeof child === "object" && "type" in child && child.type.isFormHeading) {
|
|
15298
|
-
const clone = (0,
|
|
15301
|
+
const clone = (0, import_react81.cloneElement)(child, { isFirst: firstFormHeading });
|
|
15299
15302
|
firstFormHeading = false;
|
|
15300
15303
|
return clone;
|
|
15301
15304
|
} else {
|
|
@@ -15330,7 +15333,7 @@ var listFieldPrefix = "listField";
|
|
|
15330
15333
|
function BoundForm(props) {
|
|
15331
15334
|
const { rows, formState } = props;
|
|
15332
15335
|
const tid = useTestIds({}, "boundForm");
|
|
15333
|
-
const getRowKey = (0,
|
|
15336
|
+
const getRowKey = (0, import_react82.useCallback)((row, rowType) => {
|
|
15334
15337
|
return `${rowType}-${Object.keys(row).join("-")}`;
|
|
15335
15338
|
}, []);
|
|
15336
15339
|
return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(FormLines, { width: "full", gap: 3.5, children: rows.map(
|
|
@@ -15339,7 +15342,7 @@ function BoundForm(props) {
|
|
|
15339
15342
|
}
|
|
15340
15343
|
function FormRow({ row, formState }) {
|
|
15341
15344
|
const tid = useTestIds({}, "boundFormRow");
|
|
15342
|
-
const componentsWithConfig = (0,
|
|
15345
|
+
const componentsWithConfig = (0, import_react82.useMemo)(() => {
|
|
15343
15346
|
return Object.entries(row).map(([key, fieldFnOrCustomNode]) => {
|
|
15344
15347
|
if (typeof fieldFnOrCustomNode === "function" && !isCustomReactNodeKey(key)) {
|
|
15345
15348
|
const field = formState[key] ?? fail(`Field ${key.toString()} not found in formState`);
|
|
@@ -15465,7 +15468,7 @@ function boundTreeSelectField(props) {
|
|
|
15465
15468
|
}
|
|
15466
15469
|
|
|
15467
15470
|
// src/components/internal/CompoundField.tsx
|
|
15468
|
-
var
|
|
15471
|
+
var import_react83 = require("react");
|
|
15469
15472
|
var import_jsx_runtime114 = require("@emotion/react/jsx-runtime");
|
|
15470
15473
|
function CompoundField({ children }) {
|
|
15471
15474
|
if (children?.length !== 2) {
|
|
@@ -15490,7 +15493,7 @@ function CompoundField({ children }) {
|
|
|
15490
15493
|
...Css.bl.borderRadius("4px 0 0 4px").$,
|
|
15491
15494
|
"&:focus-within": Css.bcBlue700.$
|
|
15492
15495
|
},
|
|
15493
|
-
children: (0,
|
|
15496
|
+
children: (0, import_react83.cloneElement)(children[0], {
|
|
15494
15497
|
internalProps
|
|
15495
15498
|
})
|
|
15496
15499
|
}
|
|
@@ -15504,7 +15507,7 @@ function CompoundField({ children }) {
|
|
|
15504
15507
|
...Css.fg1.br.borderRadius("0 4px 4px 0").$,
|
|
15505
15508
|
"&:focus-within": Css.bcBlue700.$
|
|
15506
15509
|
},
|
|
15507
|
-
children: (0,
|
|
15510
|
+
children: (0, import_react83.cloneElement)(children[1], {
|
|
15508
15511
|
internalProps
|
|
15509
15512
|
})
|
|
15510
15513
|
}
|
|
@@ -15604,10 +15607,10 @@ function SubmitButton(props) {
|
|
|
15604
15607
|
|
|
15605
15608
|
// src/components/RightSidebar.tsx
|
|
15606
15609
|
var import_framer_motion2 = require("framer-motion");
|
|
15607
|
-
var
|
|
15610
|
+
var import_react84 = require("react");
|
|
15608
15611
|
var import_jsx_runtime119 = require("@emotion/react/jsx-runtime");
|
|
15609
15612
|
function RightSidebar({ content }) {
|
|
15610
|
-
const [selectedIcon, setSelectedIcon] = (0,
|
|
15613
|
+
const [selectedIcon, setSelectedIcon] = (0, import_react84.useState)(void 0);
|
|
15611
15614
|
const tid = useTestIds({}, "rightSidebar");
|
|
15612
15615
|
const width2 = 380;
|
|
15613
15616
|
return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(import_jsx_runtime119.Fragment, { children: [
|
|
@@ -15653,13 +15656,13 @@ function RightSidebar({ content }) {
|
|
|
15653
15656
|
}
|
|
15654
15657
|
|
|
15655
15658
|
// src/components/Layout/PageHeaderBreadcrumbs.tsx
|
|
15656
|
-
var
|
|
15659
|
+
var import_react85 = require("react");
|
|
15657
15660
|
var import_react_router_dom4 = require("react-router-dom");
|
|
15658
15661
|
var import_jsx_runtime120 = require("@emotion/react/jsx-runtime");
|
|
15659
15662
|
function PageHeaderBreadcrumbs({ breadcrumb }) {
|
|
15660
15663
|
const tids = useTestIds({}, "pageHeaderBreadcrumbs");
|
|
15661
15664
|
const breadcrumbs = Array.isArray(breadcrumb) ? breadcrumb : [breadcrumb];
|
|
15662
|
-
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { css: Css.df.aic.mbPx(4).$, ...tids, children: breadcrumbs.map((breadcrumb2, i) => /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
|
|
15665
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { css: Css.df.aic.mbPx(4).$, ...tids, children: breadcrumbs.map((breadcrumb2, i) => /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_react85.Fragment, { children: [
|
|
15663
15666
|
i > 0 && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { css: Css.smMd.gray700.mr1.ml1.$, children: "/" }),
|
|
15664
15667
|
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_react_router_dom4.Link, { to: breadcrumb2.href, css: Css.smMd.gray700.onHover.gray900.$, className: "navLink", ...tids.navLink, children: breadcrumb2.label })
|
|
15665
15668
|
] }, `bc-${breadcrumb2.label}`)) });
|
|
@@ -15677,10 +15680,10 @@ var headerHeightPx = 120;
|
|
|
15677
15680
|
function FormPageLayoutComponent(props) {
|
|
15678
15681
|
const { formSections, formState, rightSideBar } = props;
|
|
15679
15682
|
const tids = useTestIds(props, "formPageLayout");
|
|
15680
|
-
const sectionsWithRefs = (0,
|
|
15683
|
+
const sectionsWithRefs = (0, import_react86.useMemo)(
|
|
15681
15684
|
() => formSections.map((section, id) => ({
|
|
15682
15685
|
section,
|
|
15683
|
-
ref: (0,
|
|
15686
|
+
ref: (0, import_react86.createRef)(),
|
|
15684
15687
|
// Unique key for each section to use in the observer
|
|
15685
15688
|
sectionKey: `section-${section.title ?? id}`
|
|
15686
15689
|
})),
|
|
@@ -15701,7 +15704,7 @@ function FormPageLayoutComponent(props) {
|
|
|
15701
15704
|
}
|
|
15702
15705
|
);
|
|
15703
15706
|
}
|
|
15704
|
-
var FormPageLayout =
|
|
15707
|
+
var FormPageLayout = import_react86.default.memo(FormPageLayoutComponent);
|
|
15705
15708
|
function PageHeader(props) {
|
|
15706
15709
|
const { pageTitle, breadCrumb, submitAction, cancelAction, tertiaryAction, formState } = props;
|
|
15707
15710
|
const tids = useTestIds(props);
|
|
@@ -15762,7 +15765,7 @@ function FormSections(props) {
|
|
|
15762
15765
|
function LeftNav(props) {
|
|
15763
15766
|
const { sectionsWithRefs } = props;
|
|
15764
15767
|
const tids = useTestIds(props);
|
|
15765
|
-
const sectionWithTitles = (0,
|
|
15768
|
+
const sectionWithTitles = (0, import_react86.useMemo)(
|
|
15766
15769
|
() => sectionsWithRefs.filter(({ section }) => !!section.title),
|
|
15767
15770
|
[sectionsWithRefs]
|
|
15768
15771
|
);
|
|
@@ -15784,11 +15787,11 @@ function SectionNavLink(props) {
|
|
|
15784
15787
|
const { sectionWithRef, activeSection } = props;
|
|
15785
15788
|
const { section, ref: sectionRef } = sectionWithRef;
|
|
15786
15789
|
const active = activeSection === sectionWithRef.sectionKey;
|
|
15787
|
-
const handleNavClick = (0,
|
|
15790
|
+
const handleNavClick = (0, import_react86.useCallback)(() => {
|
|
15788
15791
|
sectionRef.current?.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
15789
15792
|
}, [sectionRef]);
|
|
15790
15793
|
const tids = useTestIds(props);
|
|
15791
|
-
const buttonRef = (0,
|
|
15794
|
+
const buttonRef = (0, import_react86.useRef)(null);
|
|
15792
15795
|
const { buttonProps, isPressed } = (0, import_react_aria43.useButton)({ onPress: handleNavClick }, buttonRef);
|
|
15793
15796
|
const { isFocusVisible, focusProps } = (0, import_react_aria43.useFocusRing)();
|
|
15794
15797
|
const { hoverProps, isHovered } = useHover({});
|
|
@@ -15811,8 +15814,8 @@ function SectionNavLink(props) {
|
|
|
15811
15814
|
);
|
|
15812
15815
|
}
|
|
15813
15816
|
function useActiveSection(sectionsWithRefs) {
|
|
15814
|
-
const [activeSection, setActiveSection] = (0,
|
|
15815
|
-
(0,
|
|
15817
|
+
const [activeSection, setActiveSection] = (0, import_react86.useState)(null);
|
|
15818
|
+
(0, import_react86.useEffect)(() => {
|
|
15816
15819
|
if (!("IntersectionObserver" in window)) return;
|
|
15817
15820
|
const observer2 = new IntersectionObserver(
|
|
15818
15821
|
(entries) => {
|
|
@@ -15841,12 +15844,12 @@ function useActiveSection(sectionsWithRefs) {
|
|
|
15841
15844
|
}
|
|
15842
15845
|
|
|
15843
15846
|
// src/components/Layout/FullBleed.tsx
|
|
15844
|
-
var
|
|
15847
|
+
var import_react88 = require("react");
|
|
15845
15848
|
|
|
15846
15849
|
// src/components/Layout/ScrollableParent.tsx
|
|
15847
|
-
var
|
|
15850
|
+
var import_react87 = require("react");
|
|
15848
15851
|
var import_jsx_runtime122 = require("@emotion/react/jsx-runtime");
|
|
15849
|
-
var ScrollableParentContext = (0,
|
|
15852
|
+
var ScrollableParentContext = (0, import_react87.createContext)({
|
|
15850
15853
|
scrollableEl: null,
|
|
15851
15854
|
pr: 0,
|
|
15852
15855
|
pl: 0,
|
|
@@ -15855,14 +15858,14 @@ var ScrollableParentContext = (0, import_react86.createContext)({
|
|
|
15855
15858
|
});
|
|
15856
15859
|
function ScrollableParent(props) {
|
|
15857
15860
|
const { children, xss, tagName: Tag2 = "div" } = props;
|
|
15858
|
-
const scrollableEl = (0,
|
|
15861
|
+
const scrollableEl = (0, import_react87.useMemo)(() => {
|
|
15859
15862
|
const el = document.createElement("div");
|
|
15860
15863
|
el.style.height = "100%";
|
|
15861
15864
|
return el;
|
|
15862
15865
|
}, []);
|
|
15863
|
-
const [, setTick] = (0,
|
|
15866
|
+
const [, setTick] = (0, import_react87.useState)(0);
|
|
15864
15867
|
const hasScrollableContent = scrollableEl.childNodes.length > 0;
|
|
15865
|
-
const scrollableRef = (0,
|
|
15868
|
+
const scrollableRef = (0, import_react87.useRef)(null);
|
|
15866
15869
|
const { paddingLeft, paddingRight, ...otherXss } = xss || {};
|
|
15867
15870
|
const context = {
|
|
15868
15871
|
scrollableEl,
|
|
@@ -15870,7 +15873,7 @@ function ScrollableParent(props) {
|
|
|
15870
15873
|
pr: paddingRight ?? 0,
|
|
15871
15874
|
setPortalTick: setTick
|
|
15872
15875
|
};
|
|
15873
|
-
(0,
|
|
15876
|
+
(0, import_react87.useEffect)(() => {
|
|
15874
15877
|
scrollableRef.current.appendChild(scrollableEl);
|
|
15875
15878
|
}, [scrollableEl]);
|
|
15876
15879
|
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(ScrollableParentContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Tag2, { css: { ...Css.mh0.mw0.fg1.df.fdc.$, ...otherXss }, children: [
|
|
@@ -15888,14 +15891,14 @@ function ScrollableParent(props) {
|
|
|
15888
15891
|
] }) });
|
|
15889
15892
|
}
|
|
15890
15893
|
function useScrollableParent() {
|
|
15891
|
-
return (0,
|
|
15894
|
+
return (0, import_react87.useContext)(ScrollableParentContext);
|
|
15892
15895
|
}
|
|
15893
15896
|
var scrollContainerBottomPadding = Css.addIn("&:after", Css.contentEmpty.db.h2.$).$;
|
|
15894
15897
|
|
|
15895
15898
|
// src/components/Layout/FullBleed.tsx
|
|
15896
15899
|
function FullBleed({ children, omitPadding = false }) {
|
|
15897
15900
|
const { pr, pl } = useScrollableParent();
|
|
15898
|
-
return !pr && !pl ? children : (0,
|
|
15901
|
+
return !pr && !pl ? children : (0, import_react88.cloneElement)(children, {
|
|
15899
15902
|
style: Css.ml(`-${pl}`).mr(`-${pr}`).if(!omitPadding).pl(pl).pr(pr).$
|
|
15900
15903
|
});
|
|
15901
15904
|
}
|
|
@@ -15912,9 +15915,9 @@ function PreventBrowserScroll({ children }) {
|
|
|
15912
15915
|
}
|
|
15913
15916
|
|
|
15914
15917
|
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
15915
|
-
var
|
|
15918
|
+
var import_react89 = __toESM(require("react"), 1);
|
|
15916
15919
|
var import_jsx_runtime124 = require("@emotion/react/jsx-runtime");
|
|
15917
|
-
var RightPaneContext =
|
|
15920
|
+
var RightPaneContext = import_react89.default.createContext({
|
|
15918
15921
|
openInPane: () => {
|
|
15919
15922
|
},
|
|
15920
15923
|
closePane: () => {
|
|
@@ -15925,35 +15928,35 @@ var RightPaneContext = import_react88.default.createContext({
|
|
|
15925
15928
|
rightPaneContent: null
|
|
15926
15929
|
});
|
|
15927
15930
|
function RightPaneProvider({ children }) {
|
|
15928
|
-
const [rightPaneContent, setRightPaneContent] = (0,
|
|
15929
|
-
const [isRightPaneOpen, setIsRightPaneOpen] = (0,
|
|
15930
|
-
const openInPane = (0,
|
|
15931
|
+
const [rightPaneContent, setRightPaneContent] = (0, import_react89.useState)(void 0);
|
|
15932
|
+
const [isRightPaneOpen, setIsRightPaneOpen] = (0, import_react89.useState)(false);
|
|
15933
|
+
const openInPane = (0, import_react89.useCallback)(
|
|
15931
15934
|
(opts) => {
|
|
15932
15935
|
setRightPaneContent(opts?.content);
|
|
15933
15936
|
setIsRightPaneOpen(true);
|
|
15934
15937
|
},
|
|
15935
15938
|
[setRightPaneContent]
|
|
15936
15939
|
);
|
|
15937
|
-
const closePane = (0,
|
|
15938
|
-
const clearPane = (0,
|
|
15939
|
-
const context = (0,
|
|
15940
|
+
const closePane = (0, import_react89.useCallback)(() => setIsRightPaneOpen(false), []);
|
|
15941
|
+
const clearPane = (0, import_react89.useCallback)(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
15942
|
+
const context = (0, import_react89.useMemo)(
|
|
15940
15943
|
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
15941
15944
|
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
15942
15945
|
);
|
|
15943
15946
|
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(RightPaneContext.Provider, { value: context, children });
|
|
15944
15947
|
}
|
|
15945
15948
|
function useRightPaneContext() {
|
|
15946
|
-
return (0,
|
|
15949
|
+
return (0, import_react89.useContext)(RightPaneContext);
|
|
15947
15950
|
}
|
|
15948
15951
|
|
|
15949
15952
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
15950
15953
|
var import_framer_motion3 = require("framer-motion");
|
|
15951
|
-
var
|
|
15954
|
+
var import_react90 = require("react");
|
|
15952
15955
|
var import_jsx_runtime125 = require("@emotion/react/jsx-runtime");
|
|
15953
15956
|
function RightPaneLayout(props) {
|
|
15954
15957
|
const { children, paneBgColor = "rgba(255,255,255,1)" /* White */, paneWidth = 450, defaultPaneContent } = props;
|
|
15955
15958
|
const { isRightPaneOpen, rightPaneContent, clearPane, closePane } = useRightPaneContext();
|
|
15956
|
-
(0,
|
|
15959
|
+
(0, import_react90.useEffect)(() => closePane, [closePane]);
|
|
15957
15960
|
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { css: Css.h100.df.oxh.$, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_jsx_runtime125.Fragment, { children: [
|
|
15958
15961
|
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
15959
15962
|
"div",
|
|
@@ -16003,13 +16006,13 @@ function useRightPane() {
|
|
|
16003
16006
|
}
|
|
16004
16007
|
|
|
16005
16008
|
// src/components/Layout/ScrollableContent.tsx
|
|
16006
|
-
var
|
|
16009
|
+
var import_react91 = require("react");
|
|
16007
16010
|
var import_react_dom4 = require("react-dom");
|
|
16008
16011
|
var import_jsx_runtime126 = require("@emotion/react/jsx-runtime");
|
|
16009
16012
|
function ScrollableContent(props) {
|
|
16010
16013
|
const { children, virtualized = false, omitBottomPadding, bgColor } = props;
|
|
16011
16014
|
const { scrollableEl, setPortalTick, pl, pr } = useScrollableParent();
|
|
16012
|
-
(0,
|
|
16015
|
+
(0, import_react91.useEffect)(() => {
|
|
16013
16016
|
setPortalTick((prev) => prev + 1);
|
|
16014
16017
|
return () => setPortalTick((prev) => prev + 1);
|
|
16015
16018
|
}, [setPortalTick]);
|
|
@@ -16033,9 +16036,9 @@ function ScrollableContent(props) {
|
|
|
16033
16036
|
}
|
|
16034
16037
|
|
|
16035
16038
|
// src/components/Toast/ToastContext.tsx
|
|
16036
|
-
var
|
|
16039
|
+
var import_react92 = require("react");
|
|
16037
16040
|
var import_jsx_runtime127 = require("@emotion/react/jsx-runtime");
|
|
16038
|
-
var ToastContext = (0,
|
|
16041
|
+
var ToastContext = (0, import_react92.createContext)({
|
|
16039
16042
|
setNotice: () => {
|
|
16040
16043
|
throw new Error("Missing ToastProvider");
|
|
16041
16044
|
},
|
|
@@ -16044,18 +16047,18 @@ var ToastContext = (0, import_react91.createContext)({
|
|
|
16044
16047
|
notice: void 0
|
|
16045
16048
|
});
|
|
16046
16049
|
function ToastProvider(props) {
|
|
16047
|
-
const [notice, setNotice] = (0,
|
|
16048
|
-
const clear = (0,
|
|
16049
|
-
const contextValue = (0,
|
|
16050
|
+
const [notice, setNotice] = (0, import_react92.useState)();
|
|
16051
|
+
const clear = (0, import_react92.useCallback)(() => setNotice(void 0), [setNotice]);
|
|
16052
|
+
const contextValue = (0, import_react92.useMemo)(() => ({ setNotice, notice, clear }), [notice, clear]);
|
|
16050
16053
|
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(ToastContext.Provider, { value: contextValue, children: props.children });
|
|
16051
16054
|
}
|
|
16052
16055
|
function useToastContext() {
|
|
16053
|
-
return (0,
|
|
16056
|
+
return (0, import_react92.useContext)(ToastContext);
|
|
16054
16057
|
}
|
|
16055
16058
|
|
|
16056
16059
|
// src/components/BeamContext.tsx
|
|
16057
16060
|
var import_jsx_runtime128 = require("@emotion/react/jsx-runtime");
|
|
16058
|
-
var BeamContext = (0,
|
|
16061
|
+
var BeamContext = (0, import_react93.createContext)({
|
|
16059
16062
|
modalState: new EmptyRef(),
|
|
16060
16063
|
modalCanCloseChecks: new EmptyRef(),
|
|
16061
16064
|
modalHeaderDiv: void 0,
|
|
@@ -16067,21 +16070,21 @@ var BeamContext = (0, import_react92.createContext)({
|
|
|
16067
16070
|
sdHeaderDiv: void 0
|
|
16068
16071
|
});
|
|
16069
16072
|
function BeamProvider({ children, ...presentationProps }) {
|
|
16070
|
-
const [, tick] = (0,
|
|
16071
|
-
const modalRef = (0,
|
|
16072
|
-
const modalHeaderDiv = (0,
|
|
16073
|
-
const modalBodyDiv = (0,
|
|
16073
|
+
const [, tick] = (0, import_react93.useReducer)((prev) => prev + 1, 0);
|
|
16074
|
+
const modalRef = (0, import_react93.useRef)();
|
|
16075
|
+
const modalHeaderDiv = (0, import_react93.useMemo)(() => document.createElement("div"), []);
|
|
16076
|
+
const modalBodyDiv = (0, import_react93.useMemo)(() => {
|
|
16074
16077
|
const el = document.createElement("div");
|
|
16075
16078
|
el.style.height = "100%";
|
|
16076
16079
|
return el;
|
|
16077
16080
|
}, []);
|
|
16078
|
-
const modalCanCloseChecksRef = (0,
|
|
16079
|
-
const modalFooterDiv = (0,
|
|
16080
|
-
const drawerContentStackRef = (0,
|
|
16081
|
-
const drawerCanCloseChecks = (0,
|
|
16082
|
-
const drawerCanCloseDetailsChecks = (0,
|
|
16083
|
-
const sdHeaderDiv = (0,
|
|
16084
|
-
const context = (0,
|
|
16081
|
+
const modalCanCloseChecksRef = (0, import_react93.useRef)([]);
|
|
16082
|
+
const modalFooterDiv = (0, import_react93.useMemo)(() => document.createElement("div"), []);
|
|
16083
|
+
const drawerContentStackRef = (0, import_react93.useRef)([]);
|
|
16084
|
+
const drawerCanCloseChecks = (0, import_react93.useRef)([]);
|
|
16085
|
+
const drawerCanCloseDetailsChecks = (0, import_react93.useRef)([]);
|
|
16086
|
+
const sdHeaderDiv = (0, import_react93.useMemo)(() => document.createElement("div"), []);
|
|
16087
|
+
const context = (0, import_react93.useMemo)(() => {
|
|
16085
16088
|
return {
|
|
16086
16089
|
// These two keys need to trigger re-renders on change
|
|
16087
16090
|
modalState: new PretendRefThatTicks(modalRef, tick),
|
|
@@ -16118,18 +16121,18 @@ var PretendRefThatTicks = class {
|
|
|
16118
16121
|
}
|
|
16119
16122
|
};
|
|
16120
16123
|
function useBeamContext() {
|
|
16121
|
-
return (0,
|
|
16124
|
+
return (0, import_react93.useContext)(BeamContext);
|
|
16122
16125
|
}
|
|
16123
16126
|
|
|
16124
16127
|
// src/components/ButtonDatePicker.tsx
|
|
16125
|
-
var
|
|
16128
|
+
var import_react94 = require("react");
|
|
16126
16129
|
var import_react_aria45 = require("react-aria");
|
|
16127
16130
|
var import_react_stately17 = require("react-stately");
|
|
16128
16131
|
var import_jsx_runtime129 = require("@emotion/react/jsx-runtime");
|
|
16129
16132
|
function ButtonDatePicker(props) {
|
|
16130
16133
|
const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
|
|
16131
16134
|
const state = (0, import_react_stately17.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
16132
|
-
const buttonRef = (0,
|
|
16135
|
+
const buttonRef = (0, import_react94.useRef)(null);
|
|
16133
16136
|
const { menuTriggerProps, menuProps } = (0, import_react_aria45.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
16134
16137
|
const tid = useTestIds(
|
|
16135
16138
|
props,
|
|
@@ -16149,7 +16152,7 @@ function ButtonDatePicker(props) {
|
|
|
16149
16152
|
}
|
|
16150
16153
|
|
|
16151
16154
|
// src/components/ButtonGroup.tsx
|
|
16152
|
-
var
|
|
16155
|
+
var import_react95 = require("react");
|
|
16153
16156
|
var import_react_aria46 = require("react-aria");
|
|
16154
16157
|
var import_jsx_runtime130 = (
|
|
16155
16158
|
// Disable the button if the ButtonGroup is disabled or if the current button is disabled.
|
|
@@ -16166,7 +16169,7 @@ function ButtonGroup(props) {
|
|
|
16166
16169
|
function GroupButton(props) {
|
|
16167
16170
|
const { icon, iconInc, iconColor, text, active, onClick: onPress, disabled, size, tooltip, ...otherProps } = props;
|
|
16168
16171
|
const ariaProps = { onPress, isDisabled: !!disabled, ...otherProps };
|
|
16169
|
-
const ref = (0,
|
|
16172
|
+
const ref = (0, import_react95.useRef)(null);
|
|
16170
16173
|
const { buttonProps, isPressed } = (0, import_react_aria46.useButton)(ariaProps, ref);
|
|
16171
16174
|
const { isFocusVisible, focusProps } = (0, import_react_aria46.useFocusRing)();
|
|
16172
16175
|
const { hoverProps, isHovered } = (0, import_react_aria46.useHover)(ariaProps);
|
|
@@ -16225,7 +16228,7 @@ var iconStyles2 = {
|
|
|
16225
16228
|
};
|
|
16226
16229
|
|
|
16227
16230
|
// src/components/ButtonMenu.tsx
|
|
16228
|
-
var
|
|
16231
|
+
var import_react96 = require("react");
|
|
16229
16232
|
var import_react_aria47 = require("react-aria");
|
|
16230
16233
|
var import_react_stately18 = require("react-stately");
|
|
16231
16234
|
var import_jsx_runtime131 = require("@emotion/react/jsx-runtime");
|
|
@@ -16237,7 +16240,7 @@ function ButtonMenu(props) {
|
|
|
16237
16240
|
onChange = props.onChange;
|
|
16238
16241
|
}
|
|
16239
16242
|
const state = (0, import_react_stately18.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
16240
|
-
const buttonRef = (0,
|
|
16243
|
+
const buttonRef = (0, import_react96.useRef)(null);
|
|
16241
16244
|
const { menuTriggerProps, menuProps } = (0, import_react_aria47.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
16242
16245
|
const tid = useTestIds(
|
|
16243
16246
|
props,
|
|
@@ -16274,19 +16277,19 @@ function isSelectionButtonMenuProps(props) {
|
|
|
16274
16277
|
}
|
|
16275
16278
|
|
|
16276
16279
|
// src/components/Card.tsx
|
|
16277
|
-
var
|
|
16280
|
+
var import_react98 = require("react");
|
|
16278
16281
|
var import_react_aria48 = require("react-aria");
|
|
16279
16282
|
|
|
16280
16283
|
// src/components/Tag.tsx
|
|
16281
16284
|
var import_utils107 = require("@react-aria/utils");
|
|
16282
|
-
var
|
|
16285
|
+
var import_react97 = require("react");
|
|
16283
16286
|
var import_jsx_runtime132 = require("@emotion/react/jsx-runtime");
|
|
16284
16287
|
function Tag(props) {
|
|
16285
16288
|
const { text, type, xss, preventTooltip = false, ...otherProps } = props;
|
|
16286
16289
|
const typeStyles2 = getStyles(type);
|
|
16287
16290
|
const tid = useTestIds(otherProps);
|
|
16288
|
-
const [showTooltip, setShowTooltip] = (0,
|
|
16289
|
-
const ref = (0,
|
|
16291
|
+
const [showTooltip, setShowTooltip] = (0, import_react97.useState)(false);
|
|
16292
|
+
const ref = (0, import_react97.useRef)(null);
|
|
16290
16293
|
(0, import_utils107.useResizeObserver)({
|
|
16291
16294
|
ref,
|
|
16292
16295
|
onResize: () => {
|
|
@@ -16337,7 +16340,7 @@ function Card(props) {
|
|
|
16337
16340
|
const { hoverProps, isHovered } = (0, import_react_aria48.useHover)({ isDisabled });
|
|
16338
16341
|
const isList = type === "list";
|
|
16339
16342
|
const imgHeight = isList ? 96 : bordered ? 224 : 256;
|
|
16340
|
-
const styles = (0,
|
|
16343
|
+
const styles = (0, import_react98.useMemo)(
|
|
16341
16344
|
() => ({
|
|
16342
16345
|
...baseStyles4(type),
|
|
16343
16346
|
...isList && listStyles,
|
|
@@ -16400,43 +16403,43 @@ function Copy(props) {
|
|
|
16400
16403
|
|
|
16401
16404
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
16402
16405
|
var import_fast_deep_equal2 = __toESM(require("fast-deep-equal"), 1);
|
|
16403
|
-
var
|
|
16406
|
+
var import_react100 = require("react");
|
|
16404
16407
|
|
|
16405
16408
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
16406
|
-
var
|
|
16407
|
-
var DnDGridContext = (0,
|
|
16409
|
+
var import_react99 = require("react");
|
|
16410
|
+
var DnDGridContext = (0, import_react99.createContext)({
|
|
16408
16411
|
dragEl: { current: void 0 },
|
|
16409
16412
|
onDragHandleKeyDown: () => {
|
|
16410
16413
|
}
|
|
16411
16414
|
});
|
|
16412
16415
|
function useDnDGridContext() {
|
|
16413
|
-
return (0,
|
|
16416
|
+
return (0, import_react99.useContext)(DnDGridContext);
|
|
16414
16417
|
}
|
|
16415
16418
|
|
|
16416
16419
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
16417
16420
|
var import_jsx_runtime135 = require("@emotion/react/jsx-runtime");
|
|
16418
16421
|
function DnDGrid(props) {
|
|
16419
16422
|
const { children, gridStyles, onReorder, activeItemStyles } = props;
|
|
16420
|
-
const gridEl = (0,
|
|
16421
|
-
const dragEl = (0,
|
|
16422
|
-
const cloneEl = (0,
|
|
16423
|
-
const initialOrder = (0,
|
|
16424
|
-
const reorderViaKeyboard = (0,
|
|
16425
|
-
const transformFrom = (0,
|
|
16423
|
+
const gridEl = (0, import_react100.useRef)(null);
|
|
16424
|
+
const dragEl = (0, import_react100.useRef)();
|
|
16425
|
+
const cloneEl = (0, import_react100.useRef)();
|
|
16426
|
+
const initialOrder = (0, import_react100.useRef)();
|
|
16427
|
+
const reorderViaKeyboard = (0, import_react100.useRef)(false);
|
|
16428
|
+
const transformFrom = (0, import_react100.useRef)({ x: 0, y: 0 });
|
|
16426
16429
|
const tid = useTestIds(props, "dndGrid");
|
|
16427
|
-
const getGridItems = (0,
|
|
16430
|
+
const getGridItems = (0, import_react100.useCallback)(() => {
|
|
16428
16431
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
16429
16432
|
}, []);
|
|
16430
|
-
const getGridItemIdOrder = (0,
|
|
16433
|
+
const getGridItemIdOrder = (0, import_react100.useCallback)(() => {
|
|
16431
16434
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
16432
16435
|
}, [getGridItems]);
|
|
16433
|
-
const initReorder = (0,
|
|
16436
|
+
const initReorder = (0, import_react100.useCallback)(() => {
|
|
16434
16437
|
if (gridEl.current && dragEl.current) {
|
|
16435
16438
|
initialOrder.current = getGridItemIdOrder();
|
|
16436
16439
|
dragEl.current.classList.add(activeGridItemClass);
|
|
16437
16440
|
}
|
|
16438
16441
|
}, [getGridItemIdOrder]);
|
|
16439
|
-
const commitReorder = (0,
|
|
16442
|
+
const commitReorder = (0, import_react100.useCallback)(() => {
|
|
16440
16443
|
if (gridEl.current && dragEl.current) {
|
|
16441
16444
|
const currentOrder = getGridItemIdOrder();
|
|
16442
16445
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -16446,7 +16449,7 @@ function DnDGrid(props) {
|
|
|
16446
16449
|
initialOrder.current = currentOrder;
|
|
16447
16450
|
}
|
|
16448
16451
|
}, [onReorder, getGridItemIdOrder]);
|
|
16449
|
-
const cancelReorder = (0,
|
|
16452
|
+
const cancelReorder = (0, import_react100.useCallback)(() => {
|
|
16450
16453
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
16451
16454
|
const currentOrder = getGridItemIdOrder();
|
|
16452
16455
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) {
|
|
@@ -16468,7 +16471,7 @@ function DnDGrid(props) {
|
|
|
16468
16471
|
reorderViaKeyboard.current = false;
|
|
16469
16472
|
}
|
|
16470
16473
|
}, [getGridItemIdOrder, getGridItems]);
|
|
16471
|
-
const onMove = (0,
|
|
16474
|
+
const onMove = (0, import_react100.useCallback)((e) => {
|
|
16472
16475
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
16473
16476
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
16474
16477
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -16489,7 +16492,7 @@ function DnDGrid(props) {
|
|
|
16489
16492
|
}
|
|
16490
16493
|
}
|
|
16491
16494
|
}, []);
|
|
16492
|
-
const onDragStart = (0,
|
|
16495
|
+
const onDragStart = (0, import_react100.useCallback)(
|
|
16493
16496
|
(e) => {
|
|
16494
16497
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
16495
16498
|
initReorder();
|
|
@@ -16520,7 +16523,7 @@ function DnDGrid(props) {
|
|
|
16520
16523
|
},
|
|
16521
16524
|
[initReorder, onMove]
|
|
16522
16525
|
);
|
|
16523
|
-
const onDragEnd = (0,
|
|
16526
|
+
const onDragEnd = (0, import_react100.useCallback)(
|
|
16524
16527
|
(e) => {
|
|
16525
16528
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
16526
16529
|
e.preventDefault();
|
|
@@ -16536,7 +16539,7 @@ function DnDGrid(props) {
|
|
|
16536
16539
|
},
|
|
16537
16540
|
[commitReorder, onMove]
|
|
16538
16541
|
);
|
|
16539
|
-
const onDragHandleKeyDown = (0,
|
|
16542
|
+
const onDragHandleKeyDown = (0, import_react100.useCallback)(
|
|
16540
16543
|
(e) => {
|
|
16541
16544
|
const moveHandle = e.target;
|
|
16542
16545
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
@@ -16634,11 +16637,11 @@ function DnDGridItemHandle(props) {
|
|
|
16634
16637
|
}
|
|
16635
16638
|
|
|
16636
16639
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
16637
|
-
var
|
|
16640
|
+
var import_react101 = require("react");
|
|
16638
16641
|
function useDnDGridItem(props) {
|
|
16639
16642
|
const { id, itemRef } = props;
|
|
16640
16643
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
16641
|
-
const { dragItemProps, dragHandleProps } = (0,
|
|
16644
|
+
const { dragItemProps, dragHandleProps } = (0, import_react101.useMemo)(
|
|
16642
16645
|
() => {
|
|
16643
16646
|
function initDraggable() {
|
|
16644
16647
|
if (itemRef.current) {
|
|
@@ -17035,15 +17038,15 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
17035
17038
|
};
|
|
17036
17039
|
|
|
17037
17040
|
// src/components/Filters/FilterModal.tsx
|
|
17038
|
-
var
|
|
17041
|
+
var import_react103 = require("react");
|
|
17039
17042
|
|
|
17040
17043
|
// src/components/Modal/OpenModal.tsx
|
|
17041
|
-
var
|
|
17044
|
+
var import_react102 = require("react");
|
|
17042
17045
|
var import_jsx_runtime145 = require("@emotion/react/jsx-runtime");
|
|
17043
17046
|
function OpenModal(props) {
|
|
17044
17047
|
const { openModal } = useModal();
|
|
17045
17048
|
const { size, children, keepOpen } = props;
|
|
17046
|
-
(0,
|
|
17049
|
+
(0, import_react102.useEffect)(() => {
|
|
17047
17050
|
if (!keepOpen) {
|
|
17048
17051
|
openModal({ size, content: children });
|
|
17049
17052
|
}
|
|
@@ -17061,7 +17064,7 @@ function FilterModal(props) {
|
|
|
17061
17064
|
const { filter, filters, onApply } = props;
|
|
17062
17065
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
17063
17066
|
const { closeModal } = useModal();
|
|
17064
|
-
const [modalFilter, setModalFilter] = (0,
|
|
17067
|
+
const [modalFilter, setModalFilter] = (0, import_react103.useState)(filter);
|
|
17065
17068
|
return /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(import_jsx_runtime146.Fragment, { children: [
|
|
17066
17069
|
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(ModalHeader, { children: "More Filters" }),
|
|
17067
17070
|
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { css: Css.df.fdc.$, children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(
|
|
@@ -17110,13 +17113,13 @@ function ModalFilterItem({ label, children }) {
|
|
|
17110
17113
|
}
|
|
17111
17114
|
|
|
17112
17115
|
// src/components/Filters/Filters.tsx
|
|
17113
|
-
var
|
|
17116
|
+
var import_react104 = require("react");
|
|
17114
17117
|
var import_jsx_runtime147 = require("@emotion/react/jsx-runtime");
|
|
17115
17118
|
function Filters(props) {
|
|
17116
17119
|
const { filter, onChange, filterDefs, groupBy, vertical = false, numberOfInlineFilters = groupBy ? 3 : 4 } = props;
|
|
17117
17120
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
17118
17121
|
const { openModal } = useModal();
|
|
17119
|
-
const [pageFilters, modalFilters] = (0,
|
|
17122
|
+
const [pageFilters, modalFilters] = (0, import_react104.useMemo)(() => {
|
|
17120
17123
|
const impls = safeEntries(filterDefs).map(([key, fn]) => [key, fn(key)]);
|
|
17121
17124
|
if (!vertical && impls.length > numberOfInlineFilters) {
|
|
17122
17125
|
return [
|
|
@@ -17169,7 +17172,7 @@ function Filters(props) {
|
|
|
17169
17172
|
}
|
|
17170
17173
|
);
|
|
17171
17174
|
}
|
|
17172
|
-
var _Filters = (0,
|
|
17175
|
+
var _Filters = (0, import_react104.memo)(Filters);
|
|
17173
17176
|
|
|
17174
17177
|
// src/components/Filters/ToggleFilter.tsx
|
|
17175
17178
|
var import_jsx_runtime148 = require("@emotion/react/jsx-runtime");
|
|
@@ -17229,7 +17232,7 @@ function ResponsiveGridItem(props) {
|
|
|
17229
17232
|
}
|
|
17230
17233
|
|
|
17231
17234
|
// src/components/Grid/useResponsiveGrid.ts
|
|
17232
|
-
var
|
|
17235
|
+
var import_react105 = require("react");
|
|
17233
17236
|
|
|
17234
17237
|
// src/components/Grid/utils.ts
|
|
17235
17238
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
@@ -17237,7 +17240,7 @@ var gridItemDataAttribute = "data-grid-item-span";
|
|
|
17237
17240
|
// src/components/Grid/useResponsiveGrid.ts
|
|
17238
17241
|
function useResponsiveGrid(props) {
|
|
17239
17242
|
const { minColumnWidth, gap, columns } = props;
|
|
17240
|
-
const gridStyles = (0,
|
|
17243
|
+
const gridStyles = (0, import_react105.useMemo)(() => {
|
|
17241
17244
|
const gapCount = columns - 1;
|
|
17242
17245
|
const totalGapWidth = gap * gapCount;
|
|
17243
17246
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -17278,7 +17281,7 @@ function useResponsiveGridItem({ colSpan = 1 }) {
|
|
|
17278
17281
|
}
|
|
17279
17282
|
|
|
17280
17283
|
// src/components/HbLoadingSpinner.tsx
|
|
17281
|
-
var
|
|
17284
|
+
var import_react106 = __toESM(require("react"), 1);
|
|
17282
17285
|
|
|
17283
17286
|
// src/components/HbLoadingSpinner.base64.ts
|
|
17284
17287
|
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";
|
|
@@ -17286,9 +17289,9 @@ var HbLoadingSpinner_base64_default = "data:image/gif,GIF89a%80%00%80%00%E7%00%0
|
|
|
17286
17289
|
// src/components/HbLoadingSpinner.tsx
|
|
17287
17290
|
var import_jsx_runtime151 = require("@emotion/react/jsx-runtime");
|
|
17288
17291
|
function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }) {
|
|
17289
|
-
const ctx = (0,
|
|
17292
|
+
const ctx = (0, import_react106.useContext)(HbLoadingSpinnerContext);
|
|
17290
17293
|
const tid = useTestIds({}, "hbSpinner");
|
|
17291
|
-
const quip = (0,
|
|
17294
|
+
const quip = (0, import_react106.useMemo)(() => {
|
|
17292
17295
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
17293
17296
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
17294
17297
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
@@ -17328,12 +17331,12 @@ var HB_QUIPS_MISSION = [
|
|
|
17328
17331
|
"In Service of Our Customers"
|
|
17329
17332
|
].map(dotDotDot);
|
|
17330
17333
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
17331
|
-
var HbLoadingSpinnerContext =
|
|
17334
|
+
var HbLoadingSpinnerContext = import_react106.default.createContext({
|
|
17332
17335
|
quips: ["Loading..."],
|
|
17333
17336
|
noQuips: false
|
|
17334
17337
|
});
|
|
17335
17338
|
function HbSpinnerProvider({ quips = [], children }) {
|
|
17336
|
-
const state = (0,
|
|
17339
|
+
const state = (0, import_react106.useMemo)(() => ({ quips, noQuips: quips.length === 0 }), [quips]);
|
|
17337
17340
|
return /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
17338
17341
|
}
|
|
17339
17342
|
|
|
@@ -17374,20 +17377,20 @@ var sizeToPixels2 = {
|
|
|
17374
17377
|
|
|
17375
17378
|
// src/components/MaxLines.tsx
|
|
17376
17379
|
var import_utils117 = require("@react-aria/utils");
|
|
17377
|
-
var
|
|
17380
|
+
var import_react107 = require("react");
|
|
17378
17381
|
var import_jsx_runtime153 = require("@emotion/react/jsx-runtime");
|
|
17379
17382
|
function MaxLines({ maxLines, children }) {
|
|
17380
|
-
const elRef = (0,
|
|
17381
|
-
const [hasMore, setHasMore] = (0,
|
|
17382
|
-
const [expanded, setExpanded] = (0,
|
|
17383
|
+
const elRef = (0, import_react107.useRef)(null);
|
|
17384
|
+
const [hasMore, setHasMore] = (0, import_react107.useState)(false);
|
|
17385
|
+
const [expanded, setExpanded] = (0, import_react107.useState)(false);
|
|
17383
17386
|
(0, import_utils117.useLayoutEffect)(() => {
|
|
17384
17387
|
if (!elRef.current) return;
|
|
17385
17388
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
17386
17389
|
}, []);
|
|
17387
|
-
(0,
|
|
17390
|
+
(0, import_react107.useEffect)(() => {
|
|
17388
17391
|
setExpanded(false);
|
|
17389
17392
|
}, [children]);
|
|
17390
|
-
const onResize = (0,
|
|
17393
|
+
const onResize = (0, import_react107.useCallback)(() => {
|
|
17391
17394
|
if (!elRef.current) return;
|
|
17392
17395
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
17393
17396
|
}, [expanded]);
|
|
@@ -17480,7 +17483,7 @@ function toPageNumberSize(page) {
|
|
|
17480
17483
|
|
|
17481
17484
|
// src/components/ScrollShadows.tsx
|
|
17482
17485
|
var import_utils119 = require("@react-aria/utils");
|
|
17483
|
-
var
|
|
17486
|
+
var import_react108 = require("react");
|
|
17484
17487
|
var import_jsx_runtime155 = require("@emotion/react/jsx-runtime");
|
|
17485
17488
|
function ScrollShadows(props) {
|
|
17486
17489
|
const { children, xss, horizontal = false, bgColor = "rgba(255,255,255,1)" /* White */ } = props;
|
|
@@ -17489,10 +17492,10 @@ function ScrollShadows(props) {
|
|
|
17489
17492
|
if (!bgColor.includes("rgba")) {
|
|
17490
17493
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
17491
17494
|
}
|
|
17492
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
17493
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
17494
|
-
const scrollRef = (0,
|
|
17495
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
17495
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react108.useState)(false);
|
|
17496
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react108.useState)(false);
|
|
17497
|
+
const scrollRef = (0, import_react108.useRef)(null);
|
|
17498
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react108.useMemo)(() => {
|
|
17496
17499
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
17497
17500
|
const commonStyles = Css.absolute.z3.add({ pointerEvents: "none" }).$;
|
|
17498
17501
|
const startShadowStyles2 = !horizontal ? Css.top0.left0.right0.hPx(40).$ : Css.left0.top0.bottom0.wPx(25).$;
|
|
@@ -17504,7 +17507,7 @@ function ScrollShadows(props) {
|
|
|
17504
17507
|
{ ...commonStyles, ...endShadowStyles2, ...Css.add("background", endGradient).$ }
|
|
17505
17508
|
];
|
|
17506
17509
|
}, [horizontal, bgColor]);
|
|
17507
|
-
const updateScrollProps = (0,
|
|
17510
|
+
const updateScrollProps = (0, import_react108.useCallback)(
|
|
17508
17511
|
(el) => {
|
|
17509
17512
|
const { scrollTop, scrollHeight, clientHeight, scrollWidth, scrollLeft, clientWidth } = el;
|
|
17510
17513
|
const start = horizontal ? scrollLeft : scrollTop;
|
|
@@ -17515,7 +17518,7 @@ function ScrollShadows(props) {
|
|
|
17515
17518
|
},
|
|
17516
17519
|
[horizontal]
|
|
17517
17520
|
);
|
|
17518
|
-
const onResize = (0,
|
|
17521
|
+
const onResize = (0, import_react108.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
17519
17522
|
(0, import_utils119.useResizeObserver)({ ref: scrollRef, onResize });
|
|
17520
17523
|
return /* @__PURE__ */ (0, import_jsx_runtime155.jsxs)(
|
|
17521
17524
|
"div",
|
|
@@ -17543,10 +17546,10 @@ function ScrollShadows(props) {
|
|
|
17543
17546
|
}
|
|
17544
17547
|
|
|
17545
17548
|
// src/components/Snackbar/useSnackbar.tsx
|
|
17546
|
-
var
|
|
17549
|
+
var import_react109 = require("react");
|
|
17547
17550
|
function useSnackbar() {
|
|
17548
17551
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
17549
|
-
const onClose = (0,
|
|
17552
|
+
const onClose = (0, import_react109.useCallback)(
|
|
17550
17553
|
(noticeId) => {
|
|
17551
17554
|
setNotices((prev) => {
|
|
17552
17555
|
let returnValue = prev;
|
|
@@ -17563,7 +17566,7 @@ function useSnackbar() {
|
|
|
17563
17566
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17564
17567
|
[]
|
|
17565
17568
|
);
|
|
17566
|
-
const triggerNotice = (0,
|
|
17569
|
+
const triggerNotice = (0, import_react109.useCallback)(
|
|
17567
17570
|
(props) => {
|
|
17568
17571
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
17569
17572
|
let maybeTimeout;
|
|
@@ -17592,8 +17595,8 @@ function useSnackbar() {
|
|
|
17592
17595
|
},
|
|
17593
17596
|
[onClose, setNotices]
|
|
17594
17597
|
);
|
|
17595
|
-
const closeNotice = (0,
|
|
17596
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
17598
|
+
const closeNotice = (0, import_react109.useCallback)((id) => onClose(id), [onClose]);
|
|
17599
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react109.useEffect)(() => {
|
|
17597
17600
|
setOffset({ bottom });
|
|
17598
17601
|
return () => setOffset({});
|
|
17599
17602
|
}, [bottom]);
|
|
@@ -17602,7 +17605,7 @@ function useSnackbar() {
|
|
|
17602
17605
|
var snackbarId = 1;
|
|
17603
17606
|
|
|
17604
17607
|
// src/components/Stepper.tsx
|
|
17605
|
-
var
|
|
17608
|
+
var import_react110 = require("react");
|
|
17606
17609
|
var import_react_aria50 = require("react-aria");
|
|
17607
17610
|
var import_jsx_runtime156 = require("@emotion/react/jsx-runtime");
|
|
17608
17611
|
function Stepper(props) {
|
|
@@ -17646,7 +17649,7 @@ function Stepper(props) {
|
|
|
17646
17649
|
function StepButton(props) {
|
|
17647
17650
|
const { label, disabled, state, isCurrent, onClick } = props;
|
|
17648
17651
|
const ariaProps = { onPress: onClick, isDisabled: disabled };
|
|
17649
|
-
const ref = (0,
|
|
17652
|
+
const ref = (0, import_react110.useRef)(null);
|
|
17650
17653
|
const { buttonProps, isPressed } = (0, import_react_aria50.useButton)(ariaProps, ref);
|
|
17651
17654
|
const { isFocusVisible, focusProps } = (0, import_react_aria50.useFocusRing)();
|
|
17652
17655
|
const { hoverProps, isHovered } = (0, import_react_aria50.useHover)(ariaProps);
|
|
@@ -17761,7 +17764,7 @@ function ConfirmCloseModal(props) {
|
|
|
17761
17764
|
var import_framer_motion4 = require("framer-motion");
|
|
17762
17765
|
|
|
17763
17766
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
17764
|
-
var
|
|
17767
|
+
var import_react111 = require("react");
|
|
17765
17768
|
var import_jsx_runtime159 = require("@emotion/react/jsx-runtime");
|
|
17766
17769
|
function useSuperDrawer() {
|
|
17767
17770
|
const {
|
|
@@ -17801,7 +17804,7 @@ function useSuperDrawer() {
|
|
|
17801
17804
|
}
|
|
17802
17805
|
doChange();
|
|
17803
17806
|
}
|
|
17804
|
-
const closeActions = (0,
|
|
17807
|
+
const closeActions = (0, import_react111.useMemo)(
|
|
17805
17808
|
() => {
|
|
17806
17809
|
return {
|
|
17807
17810
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -17836,7 +17839,7 @@ function useSuperDrawer() {
|
|
|
17836
17839
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17837
17840
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
17838
17841
|
);
|
|
17839
|
-
const actions = (0,
|
|
17842
|
+
const actions = (0, import_react111.useMemo)(
|
|
17840
17843
|
() => {
|
|
17841
17844
|
return {
|
|
17842
17845
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -17935,7 +17938,7 @@ var SuperDrawerContent = ({ children, actions }) => {
|
|
|
17935
17938
|
|
|
17936
17939
|
// src/components/Tabs.tsx
|
|
17937
17940
|
var import_change_case7 = require("change-case");
|
|
17938
|
-
var
|
|
17941
|
+
var import_react112 = require("react");
|
|
17939
17942
|
var import_react_aria51 = require("react-aria");
|
|
17940
17943
|
var import_react_router2 = require("react-router");
|
|
17941
17944
|
var import_react_router_dom5 = require("react-router-dom");
|
|
@@ -17981,9 +17984,9 @@ function Tabs(props) {
|
|
|
17981
17984
|
) : props.selected;
|
|
17982
17985
|
const { isFocusVisible, focusProps } = (0, import_react_aria51.useFocusRing)();
|
|
17983
17986
|
const tid = useTestIds(others, "tabs");
|
|
17984
|
-
const [active, setActive] = (0,
|
|
17985
|
-
const ref = (0,
|
|
17986
|
-
(0,
|
|
17987
|
+
const [active, setActive] = (0, import_react112.useState)(selected);
|
|
17988
|
+
const ref = (0, import_react112.useRef)(null);
|
|
17989
|
+
(0, import_react112.useEffect)(() => setActive(selected), [selected]);
|
|
17987
17990
|
function onKeyUp(e) {
|
|
17988
17991
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
17989
17992
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -18025,7 +18028,7 @@ function TabImpl(props) {
|
|
|
18025
18028
|
const { disabled = false, name: label, icon, endAdornment } = tab;
|
|
18026
18029
|
const isDisabled = !!disabled;
|
|
18027
18030
|
const { hoverProps, isHovered } = (0, import_react_aria51.useHover)({ isDisabled });
|
|
18028
|
-
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, activeHoverStyles } = (0,
|
|
18031
|
+
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, activeHoverStyles } = (0, import_react112.useMemo)(
|
|
18029
18032
|
() => getTabStyles(),
|
|
18030
18033
|
[]
|
|
18031
18034
|
);
|
|
@@ -18105,10 +18108,10 @@ function Toast() {
|
|
|
18105
18108
|
}
|
|
18106
18109
|
|
|
18107
18110
|
// src/components/Toast/useToast.tsx
|
|
18108
|
-
var
|
|
18111
|
+
var import_react113 = require("react");
|
|
18109
18112
|
function useToast() {
|
|
18110
18113
|
const { setNotice, clear } = useToastContext();
|
|
18111
|
-
const showToast = (0,
|
|
18114
|
+
const showToast = (0, import_react113.useCallback)((props) => setNotice(props), [setNotice]);
|
|
18112
18115
|
return { showToast, clear };
|
|
18113
18116
|
}
|
|
18114
18117
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -18275,6 +18278,9 @@ function useToast() {
|
|
|
18275
18278
|
calcColumnSizes,
|
|
18276
18279
|
cardStyle,
|
|
18277
18280
|
checkboxFilter,
|
|
18281
|
+
chipBaseStyles,
|
|
18282
|
+
chipDisabledStyles,
|
|
18283
|
+
chipHoverStyles,
|
|
18278
18284
|
collapseColumn,
|
|
18279
18285
|
column,
|
|
18280
18286
|
condensedStyle,
|