@linzjs/lui 17.12.3 → 17.12.4
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/CHANGELOG.md +7 -0
- package/dist/components/LuiFormElements/LuiRadioInput/LuiRadioInput.d.ts +3 -0
- package/dist/index.js +1080 -959
- package/dist/index.js.map +1 -1
- package/dist/lui.css +53 -1
- package/dist/lui.css.map +1 -1
- package/dist/lui.esm.js +1066 -945
- package/dist/lui.esm.js.map +1 -1
- package/dist/scss/Components/LuiFormElements/LuiRadioInput/LuiRadioInput.scss +54 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -13,21 +13,21 @@ var reactQuery = require('react-query');
|
|
|
13
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
14
|
|
|
15
15
|
function _interopNamespace(e) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
if (e && e.__esModule) return e;
|
|
17
|
+
var n = Object.create(null);
|
|
18
|
+
if (e) {
|
|
19
|
+
Object.keys(e).forEach(function (k) {
|
|
20
|
+
if (k !== 'default') {
|
|
21
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return e[k]; }
|
|
25
|
+
});
|
|
26
|
+
}
|
|
25
27
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
n["default"] = e;
|
|
30
|
-
return Object.freeze(n);
|
|
28
|
+
}
|
|
29
|
+
n["default"] = e;
|
|
30
|
+
return Object.freeze(n);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
@@ -38,8 +38,127 @@ var lottie__default = /*#__PURE__*/_interopDefaultLegacy(lottie);
|
|
|
38
38
|
|
|
39
39
|
function r$2(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r$2(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r$2(e))&&(n&&(n+=" "),n+=t);return n}
|
|
40
40
|
|
|
41
|
+
/******************************************************************************
|
|
42
|
+
Copyright (c) Microsoft Corporation.
|
|
43
|
+
|
|
44
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
45
|
+
purpose with or without fee is hereby granted.
|
|
46
|
+
|
|
47
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
48
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
49
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
50
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
51
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
52
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
53
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
54
|
+
***************************************************************************** */
|
|
55
|
+
/* global Reflect, Promise */
|
|
56
|
+
|
|
57
|
+
var extendStatics = function(d, b) {
|
|
58
|
+
extendStatics = Object.setPrototypeOf ||
|
|
59
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
60
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
61
|
+
return extendStatics(d, b);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
function __extends(d, b) {
|
|
65
|
+
if (typeof b !== "function" && b !== null)
|
|
66
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
67
|
+
extendStatics(d, b);
|
|
68
|
+
function __() { this.constructor = d; }
|
|
69
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
var __assign = function() {
|
|
73
|
+
__assign = Object.assign || function __assign(t) {
|
|
74
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
75
|
+
s = arguments[i];
|
|
76
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
77
|
+
}
|
|
78
|
+
return t;
|
|
79
|
+
};
|
|
80
|
+
return __assign.apply(this, arguments);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
function __rest(s, e) {
|
|
84
|
+
var t = {};
|
|
85
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
86
|
+
t[p] = s[p];
|
|
87
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
88
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
89
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
90
|
+
t[p[i]] = s[p[i]];
|
|
91
|
+
}
|
|
92
|
+
return t;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
96
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
97
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
98
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
99
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
100
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
101
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function __generator(thisArg, body) {
|
|
106
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
107
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
108
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
109
|
+
function step(op) {
|
|
110
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
111
|
+
while (_) try {
|
|
112
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
113
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
114
|
+
switch (op[0]) {
|
|
115
|
+
case 0: case 1: t = op; break;
|
|
116
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
117
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
118
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
119
|
+
default:
|
|
120
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
121
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
122
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
123
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
124
|
+
if (t[2]) _.ops.pop();
|
|
125
|
+
_.trys.pop(); continue;
|
|
126
|
+
}
|
|
127
|
+
op = body.call(thisArg, _);
|
|
128
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
129
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function __read(o, n) {
|
|
134
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
135
|
+
if (!m) return o;
|
|
136
|
+
var i = m.call(o), r, ar = [], e;
|
|
137
|
+
try {
|
|
138
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
139
|
+
}
|
|
140
|
+
catch (error) { e = { error: error }; }
|
|
141
|
+
finally {
|
|
142
|
+
try {
|
|
143
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
144
|
+
}
|
|
145
|
+
finally { if (e) throw e.error; }
|
|
146
|
+
}
|
|
147
|
+
return ar;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function __spreadArray(to, from, pack) {
|
|
151
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
152
|
+
if (ar || !(i in from)) {
|
|
153
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
154
|
+
ar[i] = from[i];
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
158
|
+
}
|
|
159
|
+
|
|
41
160
|
// START OF GENERATED FILE`;
|
|
42
|
-
|
|
161
|
+
var iconMap = {};
|
|
43
162
|
// @TODO This is a generated file, nothing is safe.
|
|
44
163
|
iconMap['ic_account_circle'] = (React__default["default"].createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
|
|
45
164
|
React__default["default"].createElement("path", { d: "M12 19.219q1.594 0 3.352-.938T18 15.984q-.047-1.313-2.109-2.203T12 12.89t-3.891.867T6 15.984q.891 1.359 2.648 2.297t3.352.938zm0-14.203q-1.219 0-2.109.891T9 8.016t.891 2.109 2.109.891 2.109-.891T15 8.016t-.891-2.109T12 5.016zm0-3q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055T12 21.986t-7.055-2.93-2.93-7.055 2.93-7.055T12 2.016z" })));
|
|
@@ -337,32 +456,33 @@ iconMap['ic_zoom_out'] = (React__default["default"].createElement("svg", { viewB
|
|
|
337
456
|
React__default["default"].createElement("path", { d: "M19 13H5v-2h14v2Z" })));
|
|
338
457
|
iconMap['ic_zoom_previous'] = (React__default["default"].createElement("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
|
|
339
458
|
React__default["default"].createElement("path", { d: "M6 6h2v12H6V6Zm12 12-8.5-6L18 6v12Zm-5.03-6L16 14.14V9.86L12.97 12Z" })));
|
|
340
|
-
|
|
459
|
+
var ICONS = iconMap;
|
|
341
460
|
// END OF GENERATED FILE
|
|
342
461
|
|
|
343
|
-
|
|
462
|
+
var ICON_SIZES = {
|
|
344
463
|
xs: 'LuiIcon--xs',
|
|
345
464
|
sm: 'LuiIcon--sm',
|
|
346
465
|
md: 'LuiIcon--md',
|
|
347
466
|
lg: 'LuiIcon--lg',
|
|
348
467
|
xl: 'LuiIcon--xl',
|
|
349
|
-
ns: 'LuiIcon--noSize'
|
|
468
|
+
ns: 'LuiIcon--noSize'
|
|
350
469
|
};
|
|
351
|
-
|
|
470
|
+
var ICON_STATUS = {
|
|
352
471
|
none: '',
|
|
353
472
|
error: 'LuiIcon--error',
|
|
354
473
|
warning: 'LuiIcon--warning',
|
|
355
474
|
success: 'LuiIcon--success',
|
|
356
475
|
interactive: 'LuiIcon--interactive',
|
|
357
|
-
disabled: 'LuiIcon--disabled'
|
|
476
|
+
disabled: 'LuiIcon--disabled'
|
|
358
477
|
};
|
|
359
|
-
|
|
360
|
-
|
|
478
|
+
var LuiIcon = function (_a) {
|
|
479
|
+
var name = _a.name, className = _a.className, _b = _a.size, size = _b === void 0 ? 'ns' : _b, title = _a.title, alt = _a.alt, _c = _a.status, status = _c === void 0 ? 'none' : _c, spanProps = _a.spanProps;
|
|
480
|
+
var iconSVG = ICONS[name];
|
|
361
481
|
if (!iconSVG) {
|
|
362
|
-
console.warn(
|
|
482
|
+
console.warn("<LuiIcon>: No icon found for: ".concat(iconSVG));
|
|
363
483
|
return null;
|
|
364
484
|
}
|
|
365
|
-
return (React__namespace.createElement("span", { className: clsx('LuiIcon', className, size && ICON_SIZES[size], status && ICON_STATUS[status]), "data-icon": name, title: title, "aria-label": alt,
|
|
485
|
+
return (React__namespace.createElement("span", __assign({ className: clsx('LuiIcon', className, size && ICON_SIZES[size], status && ICON_STATUS[status]), "data-icon": name, title: title, "aria-label": alt }, spanProps), iconSVG));
|
|
366
486
|
};
|
|
367
487
|
|
|
368
488
|
function getMaterialIconForLevel(level) {
|
|
@@ -377,84 +497,85 @@ function getMaterialIconForLevel(level) {
|
|
|
377
497
|
return 'error';
|
|
378
498
|
}
|
|
379
499
|
}
|
|
380
|
-
|
|
381
|
-
return (React__default["default"].createElement("div", { className: clsx('lui-msg-banner-container', props.className ?
|
|
500
|
+
var LuiBanner = function (props) {
|
|
501
|
+
return (React__default["default"].createElement("div", { className: clsx('lui-msg-banner-container', props.className ? "".concat(props.className, "-bannerContainer") : '') },
|
|
382
502
|
React__default["default"].createElement(LuiBannerContent, { level: props.level, className: props.className }, props.children)));
|
|
383
503
|
};
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
return (React__default["default"].createElement("div", { className: clsx(
|
|
387
|
-
React__default["default"].createElement(LuiIcon, { name:
|
|
504
|
+
var LuiBannerContent = function (props) {
|
|
505
|
+
var materialIcon = getMaterialIconForLevel(props.level);
|
|
506
|
+
return (React__default["default"].createElement("div", { className: clsx("lui-msg-".concat(props.level, " lui-msg-dynamic-banner"), props.className) },
|
|
507
|
+
React__default["default"].createElement(LuiIcon, { name: "ic_".concat(materialIcon), alt: "".concat(props.level, " banner icon"), size: "lg", className: "lui-msg-status-icon" }),
|
|
388
508
|
React__default["default"].createElement("div", null, props.children)));
|
|
389
509
|
};
|
|
390
510
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
return display ? (React__default["default"].createElement("div", { className: clsx(
|
|
395
|
-
React__default["default"].createElement(LuiIcon, { name:
|
|
511
|
+
var LuiStaticMessage = function (props) {
|
|
512
|
+
var _a = React.useState(true), display = _a[0], setDisplay = _a[1];
|
|
513
|
+
var materialIcon = getMaterialIconForLevel(props.level);
|
|
514
|
+
return display ? (React__default["default"].createElement("div", { className: clsx("lui-msg-".concat(props.level), props.className), "data-testid": 'static-message-container' },
|
|
515
|
+
React__default["default"].createElement(LuiIcon, { name: "ic_".concat(materialIcon), alt: "".concat(props.level, " static icon"), size: "lg", className: "lui-msg-status-icon" }),
|
|
396
516
|
props.children,
|
|
397
|
-
(props.closable === undefined || props.closable) && (React__default["default"].createElement("button", { "aria-label": "Close dialog", onClick: ()
|
|
517
|
+
(props.closable === undefined || props.closable) && (React__default["default"].createElement("button", { "aria-label": "Close dialog", onClick: function () {
|
|
398
518
|
setDisplay(false);
|
|
399
519
|
} },
|
|
400
520
|
React__default["default"].createElement(LuiIcon, { name: "ic_clear", alt: 'close', size: "md", className: "LuiStaticMsg-close" }))))) : (React__default["default"].createElement(React__default["default"].Fragment, null));
|
|
401
521
|
};
|
|
402
522
|
|
|
403
|
-
|
|
404
|
-
return (React__default["default"].createElement("button", {
|
|
523
|
+
var PlainButton = React__default["default"].forwardRef(function (props, ref) {
|
|
524
|
+
return (React__default["default"].createElement("button", __assign({}, props.buttonProps, { type: props.type, title: props.title, disabled: props.disabled, name: props.name, onClick: props.onClick, className: clsx('lui-button', "lui-button-".concat(props.level), "lui-button-".concat(props.size), props.className), "data-testid": props['data-testid'], style: props.style, ref: ref }), props.children));
|
|
405
525
|
});
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
526
|
+
var LuiButton = React__default["default"].forwardRef(function (props, ref) {
|
|
527
|
+
var _level = props.level ? props.level : 'primary';
|
|
528
|
+
var size = props.size ? props.size : 'med';
|
|
409
529
|
if (props.href) {
|
|
410
|
-
|
|
530
|
+
var aProps = {
|
|
411
531
|
href: props.href,
|
|
412
532
|
'data-testid': props['data-testid'],
|
|
413
533
|
name: props.name,
|
|
414
534
|
title: props.title,
|
|
415
|
-
className: clsx('lui-button',
|
|
416
|
-
style: props.style
|
|
535
|
+
className: clsx('lui-button', "lui-button-".concat(props.level), "lui-button-".concat(props.size), props.className),
|
|
536
|
+
style: props.style
|
|
417
537
|
};
|
|
418
538
|
if (props.openInNewTab) {
|
|
419
539
|
aProps.target = '_blank';
|
|
420
540
|
aProps.rel = 'noopener noreferrer';
|
|
421
541
|
}
|
|
422
|
-
return React__default["default"].createElement("a", {
|
|
542
|
+
return React__default["default"].createElement("a", __assign({}, aProps), props.children);
|
|
423
543
|
}
|
|
424
544
|
return (React__default["default"].createElement(PlainButton, { type: props.type, title: props.title, disabled: props.disabled, name: props.name, onClick: props.onClick, level: _level, size: size, "data-testid": props['data-testid'], style: props.style, className: props.className, buttonProps: props.buttonProps, ref: ref }, props.children));
|
|
425
545
|
});
|
|
426
546
|
/**
|
|
427
547
|
* A series of Lui buttons together.
|
|
428
548
|
*/
|
|
429
|
-
|
|
430
|
-
|
|
549
|
+
var LuiButtonGroup = function (props) {
|
|
550
|
+
var children = Array.isArray(props.children)
|
|
431
551
|
? props.children
|
|
432
552
|
: [props.children];
|
|
433
|
-
return (React__default["default"].createElement("div", { className: "lui-button-group", "data-testid": 'button-group' }, children.map((child, i)
|
|
553
|
+
return (React__default["default"].createElement("div", { className: "lui-button-group", "data-testid": 'button-group' }, children.map(function (child, i) {
|
|
434
554
|
return (React__default["default"].createElement("div", { key: i, className: 'lui-button-wrapper' }, child));
|
|
435
555
|
})));
|
|
436
556
|
};
|
|
437
557
|
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
558
|
+
var LuiToastMessage = function (_a) {
|
|
559
|
+
var level = _a.level, _b = _a.displayTimeout, displayTimeout = _b === void 0 ? 4000 : _b, _c = _a.display, display = _c === void 0 ? true : _c, requireDismiss = _a.requireDismiss, onClose = _a.onClose, children = _a.children, type = _a.type;
|
|
560
|
+
var _d = React.useState('lui-msg-toast-show'), className = _d[0], setClassname = _d[1];
|
|
561
|
+
var _e = React.useState(undefined), fadeOutTimer = _e[0], setFadeOutTimer = _e[1];
|
|
562
|
+
var _f = React.useState(undefined), removeTimer = _f[0], setRemoveTimer = _f[1];
|
|
563
|
+
var materialIcon = getMaterialIconForLevel(level);
|
|
564
|
+
var callOnCloseAfterDissolved = function () {
|
|
444
565
|
// This is so the caller can remove it from the dom
|
|
445
566
|
if (onClose) {
|
|
446
|
-
|
|
567
|
+
var timer = window.setTimeout(onClose, displayTimeout);
|
|
447
568
|
setRemoveTimer(timer);
|
|
448
569
|
}
|
|
449
570
|
};
|
|
450
|
-
React.useEffect(()
|
|
571
|
+
React.useEffect(function () {
|
|
451
572
|
// clear timers if previously set
|
|
452
573
|
fadeOutTimer && clearTimeout(fadeOutTimer);
|
|
453
574
|
removeTimer && clearTimeout(removeTimer);
|
|
454
575
|
setClassname('lui-msg-toast-show');
|
|
455
576
|
if (!requireDismiss && displayTimeout !== 0) {
|
|
456
577
|
// set a new timer
|
|
457
|
-
|
|
578
|
+
var timer = window.setTimeout(function () {
|
|
458
579
|
setClassname('lui-msg-toast-hide');
|
|
459
580
|
callOnCloseAfterDissolved();
|
|
460
581
|
}, displayTimeout);
|
|
@@ -462,36 +583,36 @@ const LuiToastMessage = ({ level, displayTimeout = 4000, display = true, require
|
|
|
462
583
|
}
|
|
463
584
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
464
585
|
}, [requireDismiss, displayTimeout, children]);
|
|
465
|
-
React.useEffect(()
|
|
586
|
+
React.useEffect(function () {
|
|
466
587
|
if (!display) {
|
|
467
588
|
setClassname('lui-msg-toast-hide');
|
|
468
589
|
callOnCloseAfterDissolved();
|
|
469
590
|
}
|
|
470
591
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
471
592
|
}, [display]);
|
|
472
|
-
return (React__default["default"].createElement("div", { role: "status", "data-testid": className, className:
|
|
593
|
+
return (React__default["default"].createElement("div", { role: "status", "data-testid": className, className: "lui-msg-".concat(level, " lui-msg-toast lui-msg-toast-dismissable ").concat(className) },
|
|
473
594
|
React__default["default"].createElement("i", { className: "lui-msg-status-icon material-icons-round" }, materialIcon),
|
|
474
595
|
children,
|
|
475
|
-
React__default["default"].createElement("button", { "aria-label": "Close dialog", type: type || 'button', onClick: ()
|
|
596
|
+
React__default["default"].createElement("button", { "aria-label": "Close dialog", type: type || 'button', onClick: function () {
|
|
476
597
|
setClassname('lui-msg-toast-hide');
|
|
477
598
|
callOnCloseAfterDissolved();
|
|
478
599
|
} },
|
|
479
600
|
React__default["default"].createElement("i", { className: "material-icons-round" }, "close"))));
|
|
480
601
|
};
|
|
481
602
|
|
|
482
|
-
|
|
603
|
+
var UIMessagingContext = React.createContext({
|
|
483
604
|
// @ts-ignore
|
|
484
|
-
showMessage: (props)
|
|
605
|
+
showMessage: function (props) { }
|
|
485
606
|
});
|
|
486
607
|
function useShowLUIMessage() {
|
|
487
608
|
return React.useContext(UIMessagingContext).showMessage;
|
|
488
609
|
}
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
610
|
+
var LuiMessagingContextProvider = function (props) {
|
|
611
|
+
var _a = React.useState(), _message = _a[0], setMessage = _a[1];
|
|
612
|
+
var _b = React.useState(), _messageType = _b[0], setMessageType = _b[1];
|
|
613
|
+
var _c = React.useState('success'), _messageLevel = _c[0], setMessageLevel = _c[1];
|
|
614
|
+
var _d = React.useState(true), _requireDismiss = _d[0], setRequireDismiss = _d[1];
|
|
615
|
+
var showMessage = function (props) {
|
|
495
616
|
setMessage(props.message);
|
|
496
617
|
setMessageType(props.messageType);
|
|
497
618
|
setMessageLevel(props.messageLevel);
|
|
@@ -499,10 +620,10 @@ const LuiMessagingContextProvider = (props) => {
|
|
|
499
620
|
? props.messageLevel === 'error'
|
|
500
621
|
: props.requireDismiss);
|
|
501
622
|
};
|
|
502
|
-
|
|
623
|
+
var renderMessage = function () {
|
|
503
624
|
switch (_messageType) {
|
|
504
625
|
case 'toast':
|
|
505
|
-
return (React__default["default"].createElement(LuiToastMessage, { onClose: ()
|
|
626
|
+
return (React__default["default"].createElement(LuiToastMessage, { onClose: function () {
|
|
506
627
|
setMessage(undefined);
|
|
507
628
|
}, level: _messageLevel, requireDismiss: _requireDismiss },
|
|
508
629
|
React__default["default"].createElement("span", { "data-testid": 'toastMessageShow' }, typeof _message === 'string' ? React__default["default"].createElement("h2", null, _message) : _message)));
|
|
@@ -510,45 +631,45 @@ const LuiMessagingContextProvider = (props) => {
|
|
|
510
631
|
return null;
|
|
511
632
|
}
|
|
512
633
|
};
|
|
513
|
-
return (React__default["default"].createElement(UIMessagingContext.Provider, { value: { showMessage } },
|
|
634
|
+
return (React__default["default"].createElement(UIMessagingContext.Provider, { value: { showMessage: showMessage } },
|
|
514
635
|
_message && renderMessage(),
|
|
515
636
|
props.children));
|
|
516
637
|
};
|
|
517
638
|
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
639
|
+
var LuiExpandableBanner = function (props) {
|
|
640
|
+
var display = React.useRef(null);
|
|
641
|
+
var _a = React.useState(true), collapse = _a[0], setCollapse = _a[1];
|
|
642
|
+
var collapseSection = function (element) {
|
|
522
643
|
// get the height of the element's inner content, regardless of its actual size
|
|
523
|
-
|
|
644
|
+
var sectionHeight = element.scrollHeight;
|
|
524
645
|
// on the next frame (as soon as the previous style change has taken effect),
|
|
525
646
|
// explicitly set the element's height to its current pixel height, so we
|
|
526
647
|
// aren't transitioning out of 'auto'
|
|
527
|
-
requestAnimationFrame(()
|
|
648
|
+
requestAnimationFrame(function () {
|
|
528
649
|
element.style.height = sectionHeight + 'px';
|
|
529
650
|
// on the next frame (as soon as the previous style change has taken effect),
|
|
530
651
|
// have the element transition to height: 0
|
|
531
|
-
requestAnimationFrame(()
|
|
652
|
+
requestAnimationFrame(function () {
|
|
532
653
|
element.style.height = 0 + 'px';
|
|
533
654
|
});
|
|
534
655
|
});
|
|
535
656
|
// mark the section as "currently collapsed"
|
|
536
657
|
setCollapse(true);
|
|
537
658
|
};
|
|
538
|
-
|
|
659
|
+
var expandSection = function (element) {
|
|
539
660
|
// get the height of the element's inner content, regardless of its actual size
|
|
540
|
-
|
|
661
|
+
var sectionHeight = element.scrollHeight;
|
|
541
662
|
// have the element transition to the height of its inner content
|
|
542
663
|
element.style.height = sectionHeight + 'px';
|
|
543
664
|
// when the next css transition finishes (which should be the one we just triggered)
|
|
544
|
-
setTimeout(()
|
|
665
|
+
setTimeout(function () {
|
|
545
666
|
element.style.height = 'auto';
|
|
546
667
|
}, 500);
|
|
547
668
|
// mark the section as "currently not collapsed"
|
|
548
669
|
setCollapse(false);
|
|
549
670
|
};
|
|
550
|
-
|
|
551
|
-
|
|
671
|
+
var expandFunction = function () {
|
|
672
|
+
var section = display.current;
|
|
552
673
|
if (collapse) {
|
|
553
674
|
expandSection(section);
|
|
554
675
|
}
|
|
@@ -571,33 +692,36 @@ const LuiExpandableBanner = (props) => {
|
|
|
571
692
|
* A menu controlled by a user-supplied MenuButton. Open/closed state is managed internally. The defaulted style props,
|
|
572
693
|
* menuClassName and offsetY, can be overridden simply by setting them in the usual way.
|
|
573
694
|
*/
|
|
574
|
-
|
|
575
|
-
return React__default["default"].createElement(reactMenu.Menu, { menuClassName: 'lui-menu', offsetY: 12,
|
|
695
|
+
var LuiMenu = function (props) {
|
|
696
|
+
return React__default["default"].createElement(reactMenu.Menu, __assign({ menuClassName: 'lui-menu', offsetY: 12 }, props));
|
|
576
697
|
};
|
|
577
698
|
/**
|
|
578
699
|
* A menu with state managed externally. Can be used quite conveniently as a context menu. The defaulted style props,
|
|
579
700
|
* menuClassName and offsetY, can be overridden simply by setting them in the usual way.
|
|
580
701
|
*/
|
|
581
|
-
|
|
582
|
-
return React__default["default"].createElement(reactMenu.ControlledMenu, { menuClassName: 'lui-menu', offsetY: 12,
|
|
702
|
+
var LuiControlledMenu = function (props) {
|
|
703
|
+
return React__default["default"].createElement(reactMenu.ControlledMenu, __assign({ menuClassName: 'lui-menu', offsetY: 12 }, props));
|
|
583
704
|
};
|
|
584
705
|
|
|
585
|
-
|
|
586
|
-
|
|
706
|
+
var LuiSelectMenu = function (_a) {
|
|
707
|
+
var props = __rest(_a, []);
|
|
708
|
+
return React__default["default"].createElement(reactMenu.Menu, __assign({ menuClassName: 'lui-select-menu', offsetY: 12 }, props));
|
|
587
709
|
};
|
|
588
|
-
|
|
589
|
-
|
|
710
|
+
var LuiSelectMenuItem = function (_a) {
|
|
711
|
+
var iconName = _a.iconName, iconAlt = _a.iconAlt, level = _a.level, _b = _a.noPadding, noPadding = _b === void 0 ? false : _b, rest = __rest(_a, ["iconName", "iconAlt", "level", "noPadding"]);
|
|
712
|
+
return (React__default["default"].createElement(reactMenu.MenuItem, __assign({}, rest, { className: clsx('lui-select-menuItem', "lui-select-menuItem--".concat(level ? level : 'primary'), rest.className), "data-testid": rest['data-testid'] }),
|
|
590
713
|
iconName ? (React__default["default"].createElement(LuiIcon, { className: "lui-select-icon", name: iconName, alt: iconAlt ? iconAlt : '', size: "md" })) : (''),
|
|
591
714
|
React__default["default"].createElement("p", { className: clsx('lui-select-menuItemText', {
|
|
592
|
-
'lui-select-menuItemText--noPadding': noPadding
|
|
715
|
+
'lui-select-menuItemText--noPadding': noPadding
|
|
593
716
|
}) }, rest.children)));
|
|
594
717
|
};
|
|
595
|
-
|
|
596
|
-
|
|
718
|
+
var LuiSelectSubMenuItem = function (_a) {
|
|
719
|
+
var label = _a.label, iconName = _a.iconName, iconAlt = _a.iconAlt, rest = __rest(_a, ["label", "iconName", "iconAlt"]);
|
|
720
|
+
return (React__default["default"].createElement(reactMenu.SubMenu, __assign({}, rest, { className: clsx({ 'lui-select-submenu': iconName === undefined }, { 'lui-select-submenu-with-icon': !!iconName }, rest.className), menuClassName: 'lui-select-menu', label: iconName === undefined
|
|
597
721
|
? label
|
|
598
|
-
: LuiSubMenuComponent(label, iconName, iconAlt) }, rest.children));
|
|
722
|
+
: LuiSubMenuComponent(label, iconName, iconAlt) }), rest.children));
|
|
599
723
|
};
|
|
600
|
-
|
|
724
|
+
var LuiSubMenuComponent = function (label, iconName, iconAlt) {
|
|
601
725
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
602
726
|
iconName === undefined ? ('') : (React__default["default"].createElement(LuiIcon, { className: "lui-menu-sub-header-icon", name: iconName, alt: iconAlt ? iconAlt : '', size: "md" })),
|
|
603
727
|
label));
|
|
@@ -632,10 +756,11 @@ let nanoid = (size = 21) => {
|
|
|
632
756
|
};
|
|
633
757
|
|
|
634
758
|
// Lui Select menu with dynamic data
|
|
635
|
-
|
|
636
|
-
|
|
759
|
+
var LuiSelectDataMenu = function (_a) {
|
|
760
|
+
var props = __rest(_a, []);
|
|
761
|
+
return (React__default["default"].createElement(LuiSelectMenu, __assign({ menuClassName: 'lui-select-menu', offsetY: 12 }, props), displayMenu(props.items)));
|
|
637
762
|
};
|
|
638
|
-
|
|
763
|
+
var displayMenu = function (items) { return (React__default["default"].createElement(React__default["default"].Fragment, null, items.map(function (item) {
|
|
639
764
|
if (item.options === undefined) {
|
|
640
765
|
return (React__default["default"].createElement(React__default["default"].Fragment, { key: nanoid() },
|
|
641
766
|
item.header ? React__default["default"].createElement(GroupHeader, null, item.headerLabel) : null,
|
|
@@ -645,15 +770,18 @@ const displayMenu = (items) => (React__default["default"].createElement(React__d
|
|
|
645
770
|
return (React__default["default"].createElement(React__default["default"].Fragment, { key: nanoid() },
|
|
646
771
|
React__default["default"].createElement(LuiSelectSubMenuItem, { label: item.label, iconName: item.iconName }, displayMenu(item.options))));
|
|
647
772
|
}
|
|
648
|
-
})));
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
773
|
+
}))); };
|
|
774
|
+
var GroupHeader = function (_a) {
|
|
775
|
+
var children = _a.children;
|
|
776
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
777
|
+
React__default["default"].createElement(reactMenu.MenuDivider, { className: "lui-select-divider" }),
|
|
778
|
+
children && (React__default["default"].createElement(reactMenu.MenuHeader, { autoCapitalize: "false", className: "lui-select-menu-group" }, children))));
|
|
779
|
+
};
|
|
780
|
+
var LuiSelectMenuDivider = function () {
|
|
653
781
|
return React__default["default"].createElement(reactMenu.MenuDivider, { className: "lui-select-divider" });
|
|
654
782
|
};
|
|
655
|
-
|
|
656
|
-
return React__default["default"].createElement(reactMenu.MenuHeader, { className: "lui-select-menu-group",
|
|
783
|
+
var LuiSelectMenuHeader = function (props) {
|
|
784
|
+
return React__default["default"].createElement(reactMenu.MenuHeader, __assign({ className: "lui-select-menu-group" }, props));
|
|
657
785
|
};
|
|
658
786
|
|
|
659
787
|
function styleInject(css, ref) {
|
|
@@ -683,12 +811,12 @@ function styleInject(css, ref) {
|
|
|
683
811
|
}
|
|
684
812
|
}
|
|
685
813
|
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
814
|
+
var LuiFilterMenu = function (props) {
|
|
815
|
+
var _a = React.useState(''), filter = _a[0], setFilter = _a[1];
|
|
816
|
+
var _b = reactMenu.useMenuState(), toggleMenu = _b.toggleMenu, menuProps = __rest(_b, ["toggleMenu"]);
|
|
817
|
+
var ref = React.useRef(null);
|
|
690
818
|
return (React__default["default"].createElement("div", { ref: ref },
|
|
691
|
-
props.menuButton(()
|
|
819
|
+
props.menuButton(function () {
|
|
692
820
|
switch (props.enabled) {
|
|
693
821
|
case false: {
|
|
694
822
|
toggleMenu(false);
|
|
@@ -700,23 +828,28 @@ const LuiFilterMenu = (props) => {
|
|
|
700
828
|
}
|
|
701
829
|
}
|
|
702
830
|
}),
|
|
703
|
-
React__default["default"].createElement(reactMenu.ControlledMenu, {
|
|
831
|
+
React__default["default"].createElement(reactMenu.ControlledMenu, __assign({}, menuProps, { anchorRef: ref, onClose: function () { return toggleMenu(false); }, className: "lui-menu", offsetY: 12, onChange: function (e) {
|
|
704
832
|
e.open && setFilter('');
|
|
705
833
|
}, menuStyles: props.maxRows !== undefined
|
|
706
834
|
? { maxHeight: 62 + 34 * props.maxRows, overflowY: 'auto' }
|
|
707
|
-
: {} },
|
|
708
|
-
React__default["default"].createElement(reactMenu.FocusableItem, null, (
|
|
835
|
+
: {} }),
|
|
836
|
+
React__default["default"].createElement(reactMenu.FocusableItem, null, function (_a) {
|
|
837
|
+
var ref = _a.ref;
|
|
838
|
+
return (React__default["default"].createElement("input", { ref: ref, type: "text", placeholder: "Type to filter", value: filter, onChange: function (e) { return setFilter(e.target.value); } }));
|
|
839
|
+
}),
|
|
709
840
|
props.filteredItems
|
|
710
|
-
.filter((item)
|
|
711
|
-
.
|
|
712
|
-
|
|
841
|
+
.filter(function (item) {
|
|
842
|
+
return item.display.toUpperCase().includes(filter.trim().toUpperCase());
|
|
843
|
+
})
|
|
844
|
+
.map(function (item) {
|
|
845
|
+
if ((item === null || item === void 0 ? void 0 : item.specialType) === 'div') {
|
|
713
846
|
return React__default["default"].createElement(reactMenu.MenuDivider, { key: item.id });
|
|
714
847
|
}
|
|
715
|
-
else if (item
|
|
848
|
+
else if ((item === null || item === void 0 ? void 0 : item.specialType) === 'head') {
|
|
716
849
|
return React__default["default"].createElement(reactMenu.MenuHeader, { key: item.id }, item.display);
|
|
717
850
|
}
|
|
718
851
|
else {
|
|
719
|
-
return (React__default["default"].createElement(reactMenu.MenuItem, { key: item.id, onMouseDown: (e)
|
|
852
|
+
return (React__default["default"].createElement(reactMenu.MenuItem, { key: item.id, onMouseDown: function (e) {
|
|
720
853
|
props.onItemClick(item.id);
|
|
721
854
|
e.stopPropagation();
|
|
722
855
|
} }, item.display));
|
|
@@ -724,50 +857,51 @@ const LuiFilterMenu = (props) => {
|
|
|
724
857
|
}))));
|
|
725
858
|
};
|
|
726
859
|
|
|
727
|
-
|
|
860
|
+
var LuiTabsContext = React__default["default"].createContext({
|
|
728
861
|
activePanel: null,
|
|
729
|
-
setActivePanel: ()
|
|
862
|
+
setActivePanel: function () { }
|
|
730
863
|
});
|
|
731
|
-
|
|
732
|
-
|
|
864
|
+
var LuiTabs = function (props) {
|
|
865
|
+
var _a = React.useState(props.defaultPanel), activePanel = _a[0], setActivePanel = _a[1];
|
|
733
866
|
return (React__default["default"].createElement("div", { className: "LuiTabs" },
|
|
734
|
-
React__default["default"].createElement(LuiTabsContext.Provider, { value: { activePanel, setActivePanel } }, props.children)));
|
|
867
|
+
React__default["default"].createElement(LuiTabsContext.Provider, { value: { activePanel: activePanel, setActivePanel: setActivePanel } }, props.children)));
|
|
735
868
|
};
|
|
736
869
|
|
|
737
|
-
|
|
738
|
-
return (React__default["default"].createElement("button", { className: clsx('LuiTab', props.active && 'LuiTab--active'), id: props.id, role: "tab", "aria-selected": props.active, "aria-controls":
|
|
870
|
+
var LuiTab = function (props) {
|
|
871
|
+
return (React__default["default"].createElement("button", { className: clsx('LuiTab', props.active && 'LuiTab--active'), id: props.id, role: "tab", "aria-selected": props.active, "aria-controls": "".concat(props.ariaControls), title: props.titleAttribute, onClick: props.onClick }, props.children));
|
|
739
872
|
};
|
|
740
873
|
|
|
741
874
|
// import './LuiTabsGroup.scss';
|
|
742
|
-
|
|
743
|
-
return (React__default["default"].createElement("div", { className:
|
|
875
|
+
var LuiTabsGroup = function (props) {
|
|
876
|
+
return (React__default["default"].createElement("div", { className: "LuiTabsGroup ".concat(props.justify ? 'LuiTabsGroup--justified' : ''), role: "tablist", "aria-label": props.ariaLabel }, props.children));
|
|
744
877
|
};
|
|
745
878
|
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
879
|
+
var LuiTabsPanel = function (_a) {
|
|
880
|
+
var children = _a.children, panel = _a.panel, _b = _a.mode, mode = _b === void 0 ? 'eager' : _b;
|
|
881
|
+
var context = React.useContext(LuiTabsContext);
|
|
882
|
+
var _c = React.useState(mode === 'eager'), shouldShow = _c[0], setShouldShow = _c[1];
|
|
883
|
+
var active = context.activePanel === panel;
|
|
884
|
+
React.useEffect(function () {
|
|
751
885
|
if (active && !shouldShow) {
|
|
752
886
|
setShouldShow(true);
|
|
753
887
|
}
|
|
754
888
|
}, [active, shouldShow]);
|
|
755
|
-
return (React__default["default"].createElement("div", { className: clsx('LuiTabsPanel', active && 'LuiTabsPanel--active'), id:
|
|
889
|
+
return (React__default["default"].createElement("div", { className: clsx('LuiTabsPanel', active && 'LuiTabsPanel--active'), id: "".concat(panel, "-tab-panel"), role: "tabpanel", "aria-labelledby": "".concat(panel, "-tab") }, shouldShow ? children : null));
|
|
756
890
|
};
|
|
757
891
|
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
return (React__default["default"].createElement(LuiTab, { id:
|
|
892
|
+
var LuiTabsPanelSwitch = function (props) {
|
|
893
|
+
var context = React.useContext(LuiTabsContext);
|
|
894
|
+
var active = context.activePanel === props.targetPanel;
|
|
895
|
+
return (React__default["default"].createElement(LuiTab, { id: "".concat(props.targetPanel, "-tab"), ariaControls: "".concat(props.targetPanel, "-tab-panel"), active: active, onClick: function () {
|
|
762
896
|
if (context.setActivePanel)
|
|
763
897
|
context.setActivePanel(props.targetPanel);
|
|
764
898
|
} }, props.children));
|
|
765
899
|
};
|
|
766
900
|
|
|
767
901
|
function useDeprecatedWarning(componentName) {
|
|
768
|
-
React.useEffect(()
|
|
902
|
+
React.useEffect(function () {
|
|
769
903
|
if (window.location.hostname.includes('localhost')) {
|
|
770
|
-
console.warn(
|
|
904
|
+
console.warn("".concat(componentName, " will be deprecated in future versions of Lui. Please see the 'Current Deprecations' page in Lui docs."));
|
|
771
905
|
}
|
|
772
906
|
}, []);
|
|
773
907
|
}
|
|
@@ -775,11 +909,11 @@ function useDeprecatedWarning(componentName) {
|
|
|
775
909
|
function LuiFormikForm(props) {
|
|
776
910
|
useDeprecatedWarning('LuiFormikForm');
|
|
777
911
|
// this spreads all keys, except className
|
|
778
|
-
|
|
779
|
-
|
|
912
|
+
var _a = __assign({}, props); _a.className; var formikProps = __rest(_a, ["className"]);
|
|
913
|
+
var classNames = clsx(props.className);
|
|
780
914
|
return (
|
|
781
915
|
// @ts-ignore not fixing due this component being deprecated
|
|
782
|
-
React__default["default"].createElement(formik.Formik, {
|
|
916
|
+
React__default["default"].createElement(formik.Formik, __assign({}, formikProps),
|
|
783
917
|
React__default["default"].createElement("div", { className: classNames },
|
|
784
918
|
React__default["default"].createElement(formik.Form, null,
|
|
785
919
|
props.children,
|
|
@@ -789,9 +923,12 @@ function LuiFormikForm(props) {
|
|
|
789
923
|
var css_248z$8 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiError {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: 600;\n margin-bottom: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5rem;\n color: #2a292c;\n}\n.LuiError-errorIcon {\n vertical-align: middle;\n display: inline-block;\n}\n.LuiError-errorText {\n margin-left: 0.5rem;\n}";
|
|
790
924
|
styleInject(css_248z$8);
|
|
791
925
|
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
926
|
+
var LuiError = function (_a) {
|
|
927
|
+
var error = _a.error, className = _a.className;
|
|
928
|
+
return (React__default["default"].createElement("div", { className: "LuiError ".concat(className, "-error") },
|
|
929
|
+
React__default["default"].createElement(LuiIcon, { className: "LuiError-errorIcon ".concat(className, "-errorIcon"), alt: 'Error', name: "ic_error", size: "md", status: "error" }),
|
|
930
|
+
error && (React__default["default"].createElement("span", { className: "LuiError-errorText ".concat(className, "-errorText") }, error))));
|
|
931
|
+
};
|
|
795
932
|
|
|
796
933
|
// Unique ID creation requires a high quality random # generator. In the browser we therefore
|
|
797
934
|
// require the crypto API and do not support built-in fallback to lower quality random number
|
|
@@ -868,19 +1005,20 @@ function v4(options, buf, offset) {
|
|
|
868
1005
|
}
|
|
869
1006
|
|
|
870
1007
|
function useGenerateOrDefaultId(idFromProps) {
|
|
871
|
-
|
|
1008
|
+
var id = React.useState(idFromProps ? idFromProps : v4())[0];
|
|
872
1009
|
return id;
|
|
873
1010
|
}
|
|
874
|
-
|
|
875
|
-
|
|
1011
|
+
var LuiTextInput = function (props) {
|
|
1012
|
+
var _a;
|
|
1013
|
+
var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
|
|
876
1014
|
return (React__default["default"].createElement("div", { className: clsx('LuiTextInput', props.error && 'hasError', props.warning && 'hasWarning', props.className) },
|
|
877
1015
|
React__default["default"].createElement("label", { className: 'LuiTextInput-label', htmlFor: id },
|
|
878
1016
|
props.mandatory && React__default["default"].createElement("span", { className: "LuiTextInput-mandatory" }, "*"),
|
|
879
1017
|
React__default["default"].createElement("span", { className: 'LuiTextInput-label-text ' +
|
|
880
1018
|
clsx(props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
|
|
881
1019
|
React__default["default"].createElement("span", { className: "LuiTextInput-inputWrapper" },
|
|
882
|
-
React__default["default"].createElement("input", { type: 'text', className: (props.showPadlockIcon ? 'LuiTextInput-padlock-icon ' : '') +
|
|
883
|
-
clsx('LuiTextInput-input'), min: "0", value: props.value, onChange: props.onChange,
|
|
1020
|
+
React__default["default"].createElement("input", __assign({ type: 'text', className: (props.showPadlockIcon ? 'LuiTextInput-padlock-icon ' : '') +
|
|
1021
|
+
clsx('LuiTextInput-input'), min: "0", value: props.value, onChange: props.onChange }, props.inputProps, { id: id })),
|
|
884
1022
|
props.icon),
|
|
885
1023
|
props.error && (React__default["default"].createElement("span", { className: "LuiTextInput-error" },
|
|
886
1024
|
React__default["default"].createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextInput-error-icon", size: "sm", status: "error" }),
|
|
@@ -890,34 +1028,37 @@ const LuiTextInput = (props) => {
|
|
|
890
1028
|
props.warning)))));
|
|
891
1029
|
};
|
|
892
1030
|
|
|
893
|
-
|
|
894
|
-
|
|
1031
|
+
var LuiCheckboxInput = function (props) {
|
|
1032
|
+
var _a;
|
|
1033
|
+
var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
|
|
895
1034
|
return (React__default["default"].createElement("div", { className: clsx('LuiCheckboxInput', {
|
|
896
1035
|
'LuiCheckboxInput--isChecked': props.isChecked,
|
|
897
1036
|
'LuiCheckboxInput--hasError': !!props.error,
|
|
898
|
-
'LuiCheckboxInput--isDisabled': !!props.isDisabled
|
|
1037
|
+
'LuiCheckboxInput--isDisabled': !!props.isDisabled
|
|
899
1038
|
}, props.className) },
|
|
900
1039
|
React__default["default"].createElement("label", { htmlFor: id, className: "LuiCheckboxInput-group" },
|
|
901
1040
|
props.mandatory && (React__default["default"].createElement("span", { "aria-label": "Required", className: "LuiCheckboxInput-mandatory" }, "*")),
|
|
902
|
-
React__default["default"].createElement("input", { className: clsx('LuiCheckboxInput-input'), id: id, type: "checkbox", value: props.value, onChange: props.onChange, checked: props.isChecked, disabled: props.isDisabled,
|
|
1041
|
+
React__default["default"].createElement("input", __assign({ className: clsx('LuiCheckboxInput-input'), id: id, type: "checkbox", value: props.value, onChange: props.onChange, checked: props.isChecked, disabled: props.isDisabled }, props.inputProps)),
|
|
903
1042
|
React__default["default"].createElement("span", { className: "LuiCheckboxInput-label" },
|
|
904
1043
|
props.label,
|
|
905
1044
|
React__default["default"].createElement(LuiIcon, { name: props.isIndeterminate ? 'ic_zoom_out' : 'ic_check', size: "md", alt: props.isIndeterminate ? 'Indeterminate Check' : 'Check', className: "LuiCheckboxInput-labelCheck", title: props.titleAttribute }))),
|
|
906
1045
|
props.error && (React__default["default"].createElement(LuiError, { className: "LuiCheckboxInput", error: props.error }))));
|
|
907
1046
|
};
|
|
908
1047
|
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
1048
|
+
var LuiFileInputBox = function (props) {
|
|
1049
|
+
var _a = React.useState(), file = _a[0], setFile = _a[1];
|
|
1050
|
+
var _b = React.useState(false), hasFileFormatError = _b[0], setHasFileFormatError = _b[1];
|
|
1051
|
+
var onChange = function (e) {
|
|
913
1052
|
// Logic to go here to check extensions and setHasFileFormatError
|
|
914
1053
|
setHasFileFormatError(false);
|
|
915
|
-
|
|
1054
|
+
var files = e.target.files;
|
|
916
1055
|
// File upload box is configured to only accept 1 file, we can't have more than one here
|
|
917
1056
|
if (files && files.length === 1) {
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
1057
|
+
var selectedFile = files[0];
|
|
1058
|
+
var supportedFileTypes = props.acceptedExtensions.map(function (ext) {
|
|
1059
|
+
return ext.toUpperCase();
|
|
1060
|
+
});
|
|
1061
|
+
var fileName = selectedFile.name;
|
|
921
1062
|
if (!supportedFileTypes.includes(getFileNameExtension(fileName))) {
|
|
922
1063
|
setHasFileFormatError(true);
|
|
923
1064
|
setFile(undefined);
|
|
@@ -928,10 +1069,10 @@ const LuiFileInputBox = (props) => {
|
|
|
928
1069
|
}
|
|
929
1070
|
}
|
|
930
1071
|
};
|
|
931
|
-
|
|
1072
|
+
var hasError = hasFileFormatError || props.showMustSelectFileError === true;
|
|
932
1073
|
return (React__default["default"].createElement("div", { className: clsx('LuiFileInputBox-upload', hasError && 'LuiFileInputBox-upload-error'), style: { width: props.width || 320, height: props.height || 320 } },
|
|
933
1074
|
React__default["default"].createElement("input", { role: "button", "aria-label": "File Upload", type: "file", className: "LuiFileInputBox-upload-input", accept: props.acceptedExtensions
|
|
934
|
-
.map((extension)
|
|
1075
|
+
.map(function (extension) { return ".".concat(extension); })
|
|
935
1076
|
.join(','), onChange: onChange }),
|
|
936
1077
|
React__default["default"].createElement(React__default["default"].Fragment, null, hasError ? (React__default["default"].createElement("div", { className: "LuiFileInputBox-upload-container" },
|
|
937
1078
|
React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
@@ -941,26 +1082,26 @@ const LuiFileInputBox = (props) => {
|
|
|
941
1082
|
"You must select a file with extension of",
|
|
942
1083
|
' ',
|
|
943
1084
|
extensionsAsHumanReadableList(props.acceptedExtensions),
|
|
944
|
-
"."))))) : (React__default["default"].createElement(FileUploadInfo, { fileName: file
|
|
1085
|
+
"."))))) : (React__default["default"].createElement(FileUploadInfo, { fileName: file === null || file === void 0 ? void 0 : file.name, fileFormatText: props.fileFormatText, fileDescription: props.fileDescription })))));
|
|
945
1086
|
};
|
|
946
1087
|
// Only exported for chromatic
|
|
947
|
-
|
|
948
|
-
|
|
1088
|
+
var FileUploadInfo = function (props) {
|
|
1089
|
+
var DragAndDropInstruction = function () { return (React__default["default"].createElement("p", { className: "LuiFileInputBox-upload-text" },
|
|
949
1090
|
"Drag and drop your ",
|
|
950
1091
|
props.fileDescription,
|
|
951
1092
|
" into the box",
|
|
952
1093
|
React__default["default"].createElement("br", null),
|
|
953
|
-
React__default["default"].createElement("span", null, "(or upload file manually)")));
|
|
954
|
-
|
|
1094
|
+
React__default["default"].createElement("span", null, "(or upload file manually)"))); };
|
|
1095
|
+
var WaitingForFileSelection = function () { return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
955
1096
|
React__default["default"].createElement("div", { className: 'LuiFileInputBox-upload-icon-upload' },
|
|
956
1097
|
React__default["default"].createElement(LuiIcon, { name: "ic_publish", size: 'ns', alt: "Upload" })),
|
|
957
1098
|
React__default["default"].createElement(DragAndDropInstruction, null),
|
|
958
|
-
props.fileFormatText && (React__default["default"].createElement("p", { className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding" }, props.fileFormatText))));
|
|
959
|
-
|
|
1099
|
+
props.fileFormatText && (React__default["default"].createElement("p", { className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding" }, props.fileFormatText)))); };
|
|
1100
|
+
var UploadSuccess = function () { return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
960
1101
|
React__default["default"].createElement("div", { className: 'LuiFileInputBox-upload-icon-success' },
|
|
961
1102
|
React__default["default"].createElement(LuiIcon, { name: "ic_check_circle_outline", size: 'ns', alt: "Success" })),
|
|
962
1103
|
React__default["default"].createElement("p", { className: "LuiFileInputBox-upload-file-name" }, props.fileName),
|
|
963
|
-
React__default["default"].createElement(DragAndDropInstruction, null)));
|
|
1104
|
+
React__default["default"].createElement(DragAndDropInstruction, null))); };
|
|
964
1105
|
return (React__default["default"].createElement("div", { className: "LuiFileInputBox-upload-container" }, props.fileName ? React__default["default"].createElement(UploadSuccess, null) : React__default["default"].createElement(WaitingForFileSelection, null)));
|
|
965
1106
|
};
|
|
966
1107
|
/**
|
|
@@ -969,8 +1110,8 @@ const FileUploadInfo = (props) => {
|
|
|
969
1110
|
* @param fileName File-name to get extension from
|
|
970
1111
|
* @return fileName extension in upper-case if found else empty string
|
|
971
1112
|
*/
|
|
972
|
-
|
|
973
|
-
|
|
1113
|
+
var getFileNameExtension = function (fileName) {
|
|
1114
|
+
var idx = fileName.lastIndexOf('.');
|
|
974
1115
|
return idx === -1 ? '' : fileName.substr(idx + 1).toUpperCase();
|
|
975
1116
|
};
|
|
976
1117
|
/**
|
|
@@ -980,136 +1121,157 @@ const getFileNameExtension = (fileName) => {
|
|
|
980
1121
|
* @param extensions List of extensions to convert.
|
|
981
1122
|
* @return Extensions in a human readable string in upper-case.
|
|
982
1123
|
*/
|
|
983
|
-
|
|
984
|
-
|
|
1124
|
+
var extensionsAsHumanReadableList = function (extensions) {
|
|
1125
|
+
var uppercaseExtensions = extensions.map(function (extension) {
|
|
1126
|
+
return extension.toUpperCase();
|
|
1127
|
+
});
|
|
985
1128
|
if (!extensions.length)
|
|
986
1129
|
return '';
|
|
987
1130
|
if (extensions.length === 1)
|
|
988
1131
|
return uppercaseExtensions[0];
|
|
989
|
-
return
|
|
1132
|
+
return "".concat(uppercaseExtensions.slice(0, -1).join(', '), " or ").concat(uppercaseExtensions[extensions.length - 1]);
|
|
990
1133
|
};
|
|
991
1134
|
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
1135
|
+
var LuiSelectInput = function (props) {
|
|
1136
|
+
var _a, _b;
|
|
1137
|
+
var id = useGenerateOrDefaultId((_a = props.selectProps) === null || _a === void 0 ? void 0 : _a.id);
|
|
1138
|
+
return (React__default["default"].createElement("div", { className: clsx('LuiSelect', ((_b = props.selectProps) === null || _b === void 0 ? void 0 : _b.disabled) ? 'isDisabled' : '', props.error ? 'hasError' : '') },
|
|
995
1139
|
React__default["default"].createElement("label", { htmlFor: id, className: "LuiSelect-label" },
|
|
996
1140
|
props.mandatory && React__default["default"].createElement("span", { className: "LuiSelect-mandatory" }, "*"),
|
|
997
1141
|
React__default["default"].createElement("span", { className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
|
|
998
1142
|
React__default["default"].createElement("div", { className: "LuiSelect-wrapper" },
|
|
999
|
-
React__default["default"].createElement("select", { name: id, onChange: props.onChange, value: props.value, className: "LuiSelect-select",
|
|
1143
|
+
React__default["default"].createElement("select", __assign({ name: id, onChange: props.onChange, value: props.value, className: "LuiSelect-select" }, props.selectProps),
|
|
1000
1144
|
props.placeholderText && (React__default["default"].createElement("option", { value: "", disabled: true }, props.placeholderText)),
|
|
1001
|
-
props.options.map((selection)
|
|
1145
|
+
props.options.map(function (selection) { return (React__default["default"].createElement("option", { key: selection.value, value: selection.value }, selection.label)); })),
|
|
1002
1146
|
React__default["default"].createElement(LuiIcon, { alt: 'Error', name: "ic_keyboard_arrow_down", className: "LuiSelect-chevron-icon", size: "md" })),
|
|
1003
1147
|
props.error && (React__default["default"].createElement("span", { className: "LuiSelect-error" },
|
|
1004
1148
|
React__default["default"].createElement(LuiIcon, { alt: 'Error', name: "ic_error", className: "LuiSelect-error-icon", size: "sm", status: "error" }),
|
|
1005
1149
|
props.error)))));
|
|
1006
1150
|
};
|
|
1007
1151
|
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1152
|
+
var LuiTextAreaInput = function (props) {
|
|
1153
|
+
var _a, _b;
|
|
1154
|
+
var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
|
|
1155
|
+
return (React__default["default"].createElement("div", { className: clsx('LuiTextAreaInput', ((_b = props.inputProps) === null || _b === void 0 ? void 0 : _b.disabled) ? 'isDisabled' : '', (props === null || props === void 0 ? void 0 : props.error) ? 'hasError' : '') },
|
|
1011
1156
|
React__default["default"].createElement("label", { htmlFor: id },
|
|
1012
1157
|
props.mandatory && (React__default["default"].createElement("span", { className: "LuiTextAreaInput-mandatory" }, "*")),
|
|
1013
1158
|
React__default["default"].createElement("span", { className: "LuiTextAreaInput-label" }, props.label),
|
|
1014
1159
|
React__default["default"].createElement("div", { className: "LuiTextAreaInput-wrapper" },
|
|
1015
1160
|
' ',
|
|
1016
|
-
React__default["default"].createElement("textarea", { id: id, value: props.value, onChange: props.onChange, rows: 5,
|
|
1161
|
+
React__default["default"].createElement("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, rows: 5 }, props.inputProps)))),
|
|
1017
1162
|
props.error && (React__default["default"].createElement("span", { className: "LuiTextAreaInput-error" },
|
|
1018
1163
|
React__default["default"].createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }),
|
|
1019
1164
|
props.error))));
|
|
1020
1165
|
};
|
|
1021
1166
|
|
|
1022
1167
|
// @NOTE Can use LuiRadioInput in block form and pass through your own legend (label)
|
|
1023
|
-
|
|
1024
|
-
|
|
1168
|
+
var LuiRadioInput = function (props) {
|
|
1169
|
+
var _a;
|
|
1170
|
+
var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
|
|
1025
1171
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1026
1172
|
React__default["default"].createElement("div", { className: clsx('LuiRadioInput', {
|
|
1027
1173
|
'LuiRadioInput--hasError': props.error,
|
|
1174
|
+
'LuiRadioInput--hasWarning': props.warning
|
|
1028
1175
|
}) },
|
|
1029
1176
|
React__default["default"].createElement("fieldset", { className: 'LuiRadioInput-fieldset' },
|
|
1030
1177
|
props.legend && (React__default["default"].createElement("legend", { className: "LuiRadioInput-legend" }, props.legend)),
|
|
1031
|
-
props.options.map((option, index)
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1178
|
+
props.options.map(function (option, index) {
|
|
1179
|
+
var radioId = "".concat(id, "-").concat(index);
|
|
1180
|
+
var isSelected = props.selectedValue === option;
|
|
1181
|
+
var isDisabled = props.isOptionDisabled && props.isOptionDisabled(index);
|
|
1182
|
+
var hasWarning = props.optionHasWarning && props.optionHasWarning(index);
|
|
1183
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1184
|
+
React__default["default"].createElement("label", { htmlFor: radioId, className: clsx('LuiRadioInput-label', {
|
|
1185
|
+
'LuiRadioInput-label--isDisabled': isDisabled,
|
|
1186
|
+
'LuiRadioInput-label--hasWarning': hasWarning && isSelected,
|
|
1187
|
+
'LuiRadioInput-label--isSelected': isSelected
|
|
1188
|
+
}), key: radioId },
|
|
1189
|
+
React__default["default"].createElement("input", __assign({ disabled: isDisabled, className: "LuiRadioInput-input", type: "radio", id: radioId, name: option, value: option, checked: isSelected, onChange: props.onChange }, props.inputProps)),
|
|
1190
|
+
props.renderLabelFor ? props.renderLabelFor(option) : option),
|
|
1191
|
+
hasWarning && isSelected && (React__default["default"].createElement("div", { className: "LuiRadioInput-warningOnIndividualMsg" },
|
|
1192
|
+
React__default["default"].createElement(LuiIcon, { alt: 'warning', name: "ic_warning", size: "md", status: "warning" }),
|
|
1193
|
+
React__default["default"].createElement("p", null, props.warningOnIndividual)))));
|
|
1041
1194
|
})),
|
|
1042
1195
|
props.error && (React__default["default"].createElement("div", { className: "LuiRadioInput-errorMsg" },
|
|
1043
1196
|
React__default["default"].createElement(LuiIcon, { alt: 'error', name: "ic_error", size: "md", status: "error" }),
|
|
1044
|
-
React__default["default"].createElement("p", null, props.error)))
|
|
1197
|
+
React__default["default"].createElement("p", null, props.error))),
|
|
1198
|
+
props.warning && (React__default["default"].createElement("div", { className: "LuiRadioInput-warningMsg" },
|
|
1199
|
+
React__default["default"].createElement(LuiIcon, { alt: 'warning', name: "ic_warning", size: "md", status: "warning" }),
|
|
1200
|
+
React__default["default"].createElement("p", null, props.warning))))));
|
|
1045
1201
|
};
|
|
1046
1202
|
|
|
1047
1203
|
function LuiFormikCheckbox(props) {
|
|
1048
1204
|
useDeprecatedWarning('LuiFormikCheckbox');
|
|
1049
|
-
|
|
1205
|
+
var ctx = formik.useFormikContext();
|
|
1050
1206
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1051
|
-
React__default["default"].createElement(formik.Field, { name: props.name }, (
|
|
1052
|
-
|
|
1207
|
+
React__default["default"].createElement(formik.Field, { name: props.name }, function (_a) {
|
|
1208
|
+
var field = _a.field;
|
|
1209
|
+
var showError = formik.getIn(ctx === null || ctx === void 0 ? void 0 : ctx.errors, props.name);
|
|
1053
1210
|
return (React__default["default"].createElement("div", { className: clsx(showError && 'lui-input-error') },
|
|
1054
1211
|
React__default["default"].createElement("div", { className: "lui-input-group-wrapper " },
|
|
1055
1212
|
showError && (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
|
|
1056
1213
|
React__default["default"].createElement("div", { className: clsx('lui-checkbox-container', props.className) },
|
|
1057
|
-
React__default["default"].createElement("input", {
|
|
1214
|
+
React__default["default"].createElement("input", __assign({}, props.inputProps, { type: "checkbox", id: props.value, disabled: !!props.disabled, checked: field.value }, field)),
|
|
1058
1215
|
typeof props.label === 'string' ? (React__default["default"].createElement("label", { htmlFor: props.value }, props.label)) : (props.label)))));
|
|
1059
1216
|
})));
|
|
1060
1217
|
}
|
|
1061
1218
|
|
|
1062
|
-
|
|
1219
|
+
var LuiFormikFormLabel = function (props) {
|
|
1063
1220
|
useDeprecatedWarning('LuiFormikFormLabel');
|
|
1064
|
-
return (React__default["default"].createElement("div", { className: clsx('LuiFormLabel-wrapper', props.className &&
|
|
1221
|
+
return (React__default["default"].createElement("div", { className: clsx('LuiFormLabel-wrapper', props.className && "".concat(props.className)) },
|
|
1065
1222
|
props.children,
|
|
1066
|
-
React__default["default"].createElement("label", { className: "LuiFormLabel", htmlFor: props
|
|
1223
|
+
React__default["default"].createElement("label", { className: "LuiFormLabel", htmlFor: props["for"] },
|
|
1067
1224
|
props.required && React__default["default"].createElement("span", { className: "lui-required-input-icon" }, "*"),
|
|
1068
1225
|
props.label),
|
|
1069
1226
|
props.tooltip && React__default["default"].createElement("i", { className: "material-icons-round" }, "help")));
|
|
1070
1227
|
};
|
|
1071
1228
|
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1229
|
+
var LuiFormikTextInput = formik.connect(function (props) {
|
|
1230
|
+
var error = formik.getIn(props.formik.errors, props.name);
|
|
1231
|
+
var touch = formik.getIn(props.formik.touched, props.name);
|
|
1232
|
+
var showError = touch && error;
|
|
1233
|
+
var setFieldValue = formik.useFormikContext().setFieldValue;
|
|
1077
1234
|
useDeprecatedWarning('LuiFormikTextInput');
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
props.
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1235
|
+
var multiLineToggle = function (field) {
|
|
1236
|
+
return !props.multiLine ? (React__default["default"].createElement("input", __assign({ id: props.name, "data-testid": props.name }, field, { type: "text" }, props.inputProps, { onChange: function (event) {
|
|
1237
|
+
var _a;
|
|
1238
|
+
setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
|
|
1239
|
+
if (props.onValueChange) {
|
|
1240
|
+
props.onValueChange({
|
|
1241
|
+
value: event.target.value,
|
|
1242
|
+
formik: props.formik
|
|
1243
|
+
});
|
|
1244
|
+
}
|
|
1245
|
+
} }))) : (React__default["default"].createElement("textarea", __assign({ id: props.name, "data-testid": props.name }, field, { rows: 1 }, props.inputProps, { onChange: function (event) {
|
|
1246
|
+
var _a;
|
|
1247
|
+
setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
|
|
1248
|
+
if (props.onValueChange) {
|
|
1249
|
+
props.onValueChange({
|
|
1250
|
+
value: event.target.value,
|
|
1251
|
+
formik: props.formik
|
|
1252
|
+
});
|
|
1253
|
+
}
|
|
1254
|
+
} })));
|
|
1255
|
+
};
|
|
1256
|
+
return (React__default["default"].createElement("div", { className: clsx(props.className && "".concat(props.className)) },
|
|
1257
|
+
props.label && (React__default["default"].createElement(LuiFormikFormLabel, { required: props.required, label: props.label, "for": props.name, tooltip: props.tooltip })),
|
|
1097
1258
|
props.helperInfo,
|
|
1098
|
-
React__default["default"].createElement(formik.Field, { name: props.name, validate: props.validate }, (
|
|
1259
|
+
React__default["default"].createElement(formik.Field, { name: props.name, validate: props.validate }, function (_a) {
|
|
1260
|
+
var field = _a.field;
|
|
1099
1261
|
return (React__default["default"].createElement("div", { className: clsx(showError && 'lui-input-error') },
|
|
1100
|
-
React__default["default"].createElement(formik.ErrorMessage, { name: props.name, render: ()
|
|
1262
|
+
React__default["default"].createElement(formik.ErrorMessage, { name: props.name, render: function () { return (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")); } }),
|
|
1101
1263
|
multiLineToggle(field),
|
|
1102
1264
|
React__default["default"].createElement(formik.ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" })));
|
|
1103
1265
|
})));
|
|
1104
1266
|
});
|
|
1105
1267
|
|
|
1106
|
-
|
|
1107
|
-
|
|
1268
|
+
var LuiFormikRadioButton = function (props) {
|
|
1269
|
+
var _a = formik.useField(props), field = _a[0], meta = _a[1];
|
|
1108
1270
|
useDeprecatedWarning('LuiFormikRadioButton');
|
|
1109
1271
|
return (React__default["default"].createElement("div", { className: props.className },
|
|
1110
1272
|
meta.touched && meta.error && (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
|
|
1111
1273
|
React__default["default"].createElement("div", { className: 'lui-radio-container' },
|
|
1112
|
-
React__default["default"].createElement("input", { disabled: !!props.disabled,
|
|
1274
|
+
React__default["default"].createElement("input", __assign({ disabled: !!props.disabled }, field, { checked: props.value === field.value, value: props.value, id: props.value, type: "radio" }, props.inputProps)),
|
|
1113
1275
|
React__default["default"].createElement("label", { htmlFor: props.value }, props.label))));
|
|
1114
1276
|
};
|
|
1115
1277
|
|
|
@@ -1249,14 +1411,14 @@ camelcase$1.exports.default = camelCase;
|
|
|
1249
1411
|
var camelcase = camelcase$1.exports;
|
|
1250
1412
|
|
|
1251
1413
|
// TODO: It's annoying that we have to pass name into the RadioGroup and RadioButton
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1414
|
+
var LuiFormikRadioGroup = function (props) {
|
|
1415
|
+
var ctx = formik.useFormikContext();
|
|
1416
|
+
var error = formik.getIn(ctx.errors, props.name);
|
|
1417
|
+
var touch = formik.getIn(ctx.touched, props.name);
|
|
1418
|
+
var showError = touch && error;
|
|
1257
1419
|
useDeprecatedWarning('LuiFormikRadioGroup');
|
|
1258
|
-
|
|
1259
|
-
|
|
1420
|
+
var describedby = props.hint && camelcase(props === null || props === void 0 ? void 0 : props.hint) + 'Id';
|
|
1421
|
+
var errorDescribedBy = error && camelcase(error) + 'Id';
|
|
1260
1422
|
return (React__default["default"].createElement("div", { className: clsx('lui-fieldsetBlock-form-group', showError && 'lui-input-error') },
|
|
1261
1423
|
React__default["default"].createElement("fieldset", { "aria-describedby": clsx(props.hint && describedby + 'Id', showError && errorDescribedBy) },
|
|
1262
1424
|
React__default["default"].createElement("legend", null,
|
|
@@ -1269,42 +1431,42 @@ const LuiFormikRadioGroup = (props) => {
|
|
|
1269
1431
|
React__default["default"].createElement("div", { className: "lui-input-group-wrapper" }, props.children))));
|
|
1270
1432
|
};
|
|
1271
1433
|
|
|
1272
|
-
|
|
1434
|
+
var LuiFormikFormSubmitButton = formik.connect(function (props) {
|
|
1273
1435
|
useDeprecatedWarning('LuiFormikFormSubmitButton');
|
|
1274
1436
|
return (React__default["default"].createElement(LuiButton, { type: "submit", className: props.className, level: "primary", "data-testid": props['data-testid'], disabled: !!props.disabled }, props.children));
|
|
1275
1437
|
});
|
|
1276
1438
|
|
|
1277
|
-
|
|
1439
|
+
var LuiFormikSelect = formik.connect(function (props) {
|
|
1278
1440
|
useDeprecatedWarning('LuiFormikSelect');
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1441
|
+
var error = formik.getIn(props.formik.errors, props.name);
|
|
1442
|
+
var touch = formik.getIn(props.formik.touched, props.name);
|
|
1443
|
+
var showError = touch && error;
|
|
1282
1444
|
return (React__default["default"].createElement("div", { className: props.className },
|
|
1283
|
-
props.label && (React__default["default"].createElement(LuiFormikFormLabel, { className: 'lui-margin-bottom-xxs', for: props.name, label: props.label, required: !!props.required, tooltip: props.tooltip })),
|
|
1445
|
+
props.label && (React__default["default"].createElement(LuiFormikFormLabel, { className: 'lui-margin-bottom-xxs', "for": props.name, label: props.label, required: !!props.required, tooltip: props.tooltip })),
|
|
1284
1446
|
props.helperInfo,
|
|
1285
1447
|
React__default["default"].createElement("div", { className: clsx('lui-input-wrapper', showError && 'lui-input-error') },
|
|
1286
|
-
React__default["default"].createElement(formik.ErrorMessage, { name: props.name, render: ()
|
|
1287
|
-
React__default["default"].createElement(formik.Field, { disabled: props.disabled, defaultValue: props.defaultValue, name: props.name, id: props.name, validate: props.validate, as: "select",
|
|
1448
|
+
React__default["default"].createElement(formik.ErrorMessage, { name: props.name, render: function () { return (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")); } }),
|
|
1449
|
+
React__default["default"].createElement(formik.Field, __assign({ disabled: props.disabled, defaultValue: props.defaultValue, name: props.name, id: props.name, validate: props.validate, as: "select" }, props.inputProps), props.children),
|
|
1288
1450
|
React__default["default"].createElement(formik.ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" }))));
|
|
1289
1451
|
});
|
|
1290
1452
|
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1453
|
+
var LuiBearingInput = function (props) {
|
|
1454
|
+
var maxDecimal = 1;
|
|
1455
|
+
var maxAfterDP = 4 + maxDecimal;
|
|
1456
|
+
var parseBearing = function (decimalIsh) {
|
|
1457
|
+
var sign = decimalIsh.startsWith('-') ? '-' : '+';
|
|
1458
|
+
var parts = decimalIsh.split('.');
|
|
1459
|
+
var degrees = Math.abs(parseInt(parts[0])) || 0;
|
|
1460
|
+
var remainder = parts.length > 1 ? parts[1] : '0000';
|
|
1299
1461
|
while (remainder.length < 4) {
|
|
1300
1462
|
remainder += '0';
|
|
1301
1463
|
}
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
return { sign, degrees, minutes, seconds };
|
|
1464
|
+
var minutes = parseInt(remainder.substr(0, 2));
|
|
1465
|
+
var seconds = parseFloat("".concat(remainder.substr(2, 2), ".").concat(remainder.length > 4 ? remainder.substr(4, 2) : '0'));
|
|
1466
|
+
return { sign: sign, degrees: degrees, minutes: minutes, seconds: seconds };
|
|
1305
1467
|
};
|
|
1306
|
-
|
|
1307
|
-
|
|
1468
|
+
var validateBearing = function (bearing) {
|
|
1469
|
+
var signedDegrees = bearing.sign === '-' ? bearing.degrees * -1 : bearing.degrees;
|
|
1308
1470
|
if (signedDegrees < -360 || signedDegrees > 360)
|
|
1309
1471
|
return 'Degrees must be between -360 and 360';
|
|
1310
1472
|
if (bearing.minutes < 0 || bearing.minutes >= 60)
|
|
@@ -1315,16 +1477,16 @@ const LuiBearingInput = (props) => {
|
|
|
1315
1477
|
//here ---
|
|
1316
1478
|
return null;
|
|
1317
1479
|
};
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
return
|
|
1480
|
+
var formatBearing = function (decimalIsh) {
|
|
1481
|
+
var _a = parseBearing(decimalIsh), sign = _a.sign, degrees = _a.degrees, minutes = _a.minutes, seconds = _a.seconds;
|
|
1482
|
+
var displaySign = degrees === 0 && minutes === 0 && seconds === 0 ? '' : sign;
|
|
1483
|
+
return "".concat(displaySign, " ").concat(degrees, "\u00B0 ").concat(padToTwo(minutes), "' ").concat(padToTwo(seconds), "\"");
|
|
1322
1484
|
};
|
|
1323
|
-
|
|
1324
|
-
|
|
1485
|
+
var onChange = function (event) {
|
|
1486
|
+
var newValue = event.target.value;
|
|
1325
1487
|
if (newValue === '' ||
|
|
1326
1488
|
newValue === '-' ||
|
|
1327
|
-
newValue.match(RegExp(
|
|
1489
|
+
newValue.match(RegExp("^-?[0-9]+(\\.[0-9]{0,".concat(maxAfterDP, "})?$")))) {
|
|
1328
1490
|
props.onChange && props.onChange(event);
|
|
1329
1491
|
}
|
|
1330
1492
|
else {
|
|
@@ -1334,26 +1496,26 @@ const LuiBearingInput = (props) => {
|
|
|
1334
1496
|
function padToTwo(number) {
|
|
1335
1497
|
return number <= 9 ? '0' + number : number.toString();
|
|
1336
1498
|
}
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1499
|
+
var parsedBearing = parseBearing(props.value);
|
|
1500
|
+
var internalError = validateBearing(parsedBearing);
|
|
1501
|
+
var error = props.preferValidationError
|
|
1340
1502
|
? props.validationError || internalError || null
|
|
1341
1503
|
: internalError || props.validationError || null;
|
|
1342
|
-
|
|
1504
|
+
var showError = error !== null;
|
|
1343
1505
|
props.onValidate && props.onValidate(internalError);
|
|
1344
1506
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1345
|
-
props.label && (React__default["default"].createElement(LuiFormikFormLabel, { required: !!props.required, label: props.label, for: props.name, tooltip: props.tooltip })),
|
|
1507
|
+
props.label && (React__default["default"].createElement(LuiFormikFormLabel, { required: !!props.required, label: props.label, "for": props.name, tooltip: props.tooltip })),
|
|
1346
1508
|
props.helperInfo,
|
|
1347
1509
|
React__default["default"].createElement("div", { className: clsx('lui-margin-top-xs', showError && 'lui-input-error') },
|
|
1348
1510
|
showError && (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
|
|
1349
1511
|
React__default["default"].createElement("div", { className: 'lui-bearing-input-wrapper' },
|
|
1350
|
-
React__default["default"].createElement("input", { id: props.name, type: "text", disabled: props.disabled,
|
|
1512
|
+
React__default["default"].createElement("input", __assign({ id: props.name, type: "text", disabled: props.disabled }, props.inputProps, { onChange: onChange, value: props.value })),
|
|
1351
1513
|
React__default["default"].createElement("div", { className: 'lui-bearing-display' }, formatBearing(props.value || '0'))),
|
|
1352
1514
|
showError && React__default["default"].createElement("p", null, error))));
|
|
1353
1515
|
};
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1516
|
+
var LuiBearingFormikInput = function (props) {
|
|
1517
|
+
var ctx = formik.useFormikContext();
|
|
1518
|
+
var _a = React.useState(null), error = _a[0], setError = _a[1];
|
|
1357
1519
|
function validateBearing() {
|
|
1358
1520
|
return error;
|
|
1359
1521
|
}
|
|
@@ -1361,8 +1523,8 @@ const LuiBearingFormikInput = (props) => {
|
|
|
1361
1523
|
setError(error);
|
|
1362
1524
|
}
|
|
1363
1525
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1364
|
-
React__default["default"].createElement(formik.Field, { name: props.name, validate: validateBearing }, (renderProps)
|
|
1365
|
-
return (React__default["default"].createElement(LuiBearingInput, { name: props.name,
|
|
1526
|
+
React__default["default"].createElement(formik.Field, { name: props.name, validate: validateBearing }, function (renderProps) {
|
|
1527
|
+
return (React__default["default"].createElement(LuiBearingInput, __assign({ name: props.name }, renderProps.field, { validationError: formik.getIn(ctx === null || ctx === void 0 ? void 0 : ctx.errors, props.name), required: true, onValidate: onValidate, inputProps: props.inputProps, preferValidationError: props.preferValidationError })));
|
|
1366
1528
|
})));
|
|
1367
1529
|
};
|
|
1368
1530
|
|
|
@@ -1370,7 +1532,7 @@ var LinzLogoFooter = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
|
|
|
1370
1532
|
|
|
1371
1533
|
var NzGovtLogoRev = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjIwIiB2aWV3Qm94PSIwIDAgMTkwIDIwIj4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGlkPSJhIiBkPSJNMCAwaDE4OS41NzJ2MTkuMzEySDB6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9Ii43Ij4KICAgICAgICA8bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2EiLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZFRkVGRSIgZD0iTTgzLjEzOSAxMy44MTNIODEuMzFWNy4wMjFjMC0uOTA0LS4wODItMS4yMjYtLjMyMy0xLjU0Ny0uMi0uMjYxLS41NjItLjQwMi0xLjAyNC0uNDAyLS43MjQgMC0xLjgxLjU2My0yLjQ5MiAxLjI4NnY3LjQ1NWgtLjkzYy0uNTg2IDAtLjktLjQ0LS45LTEuMTI3VjYuMzE4YzAtMS4yMDYtLjEtMS42NjgtLjM4MS0yLjM5MmwxLjc0OS0uNDgyYy4yNC40ODIuMzQyLjkyNC4zNDIgMS41NDcuNTgyLS40ODIuODg0LS43NDMgMS4zMDYtLjk4NGEzLjczMiAzLjczMiAwIDAgMSAxLjg2OS0uNTAyYzEuMDY0IDAgMi4wMDkuNTYyIDIuMzcgMS40MjYuMTYxLjM2Mi4yNDIuODA0LjI0MiAxLjI2N3Y3LjYxNXptOC4wNTQtMi41NTJWNS45OTZjLS41MjItLjYyMy0xLjE4Ni0uOTQ0LTIuMTMtLjk0NC0uNzYzIDAtMS4zNjcuMzgxLTEuNzQ4IDEuMDI1LS4zODIuNjYyLS41MjMgMS40NjctLjUyMyAyLjc3MyAwIDEuOTUuMjQxIDIuNDkyLjc4NCAzLjA1NC4zNDEuMzYyLjgwNC41MjMgMS40ODcuNTIzIDEuMDY1IDAgMS43ODktLjU2MyAyLjEzLTEuMTY2em0yLjE1IDIuNTUyaC0xLjc2OGMtLjEtLjMwMS0uMTItLjQ0Mi0uMTgxLS45NDQtLjcwMy43NDQtMS41MjggMS4xMDUtMi41OTIgMS4xMDUtMi41NzIgMC00LjA4LTEuOTI5LTQuMDgtNS4xMDQgMC0yLjE3Ljc0NC0zLjgzOCAyLjExLTQuNzIzYTMuNDc3IDMuNDc3IDAgMCAxIDEuOTctLjU4MmMuOTY0IDAgMS43NjguMzQxIDIuNDUxIDEuMTY2IDAtLjI4Mi0uMDQtMS44MTktLjA0LTIuNTAyVi4xNDNsMS44NDkuMzAxdjkuOTk0YzAgMS42MjcuMDYgMi43NTMuMjgxIDMuMzc1ek03MS44NiA4Ljg3Yy0uMjgyLS4wMi0uNDQyLS4wNC0uNjAzLS4wNC0xLjM4NyAwLTIuMjMuMjYxLTIuNjMzLjcyMy0uMzgxLjQ0My0uNTIyLjgwNC0uNTIyIDEuNDY3IDAgMS4xMDYuNTYzIDEuNzQ5IDEuNTg4IDEuNzQ5Ljg0MyAwIDEuNjQ4LS41MjMgMi4xMS0xLjMyN2wuMDYtMi41NzJ6bTIuNjEyIDQuMTJsLS45NDQgMS4yNDVjLS42MjMtLjI0LTEuMTA2LS43NDMtMS4zNDctMS40NDctLjI2LjMyMi0xLjEwNSAxLjMyNy0yLjg1MyAxLjMyNy0yLjAxIDAtMy4yNTUtMS4wMjUtMy4yNTUtMi45NTQgMC0yLjMzMSAxLjg2OC0zLjU3NyA1LjEyNC0zLjU3Ny4yNCAwIC40NDIgMCAuNzAzLjAyVjYuOTRjMC0xLjE4Ni0uMTYtMS45OS0xLjU2Ny0xLjk5LTEuMDY1IDAtMi4yNzIuNTIzLTMuMDk1IDEuMTQ2bC0uODQ0LTEuMzI3Yy45ODUtLjU2MiAyLjI3LTEuMzI2IDQuMjItMS4zMjYgMS40NjcgMCAyLjUzMi41NDMgMi45MTQgMS42MDguMTYuNDQyLjIuNzg0LjIgMS43NjggMCAuNzI0LS4wOCAyLjI3MS0uMDggMy43MzggMCAxLjM4Ny4wNCAxLjk1LjgyNCAyLjQzMnptLTkuMTcxLjgwM2EyLjcxIDIuNzEgMCAwIDEtMS4xNDYuMjIxYy0uNzIzIDAtMS4xODYtLjIyLTEuNTY3LS43NjMtLjMwMS0uNDIyLS4zODItLjc2NC0uMzgyLTEuNzQ5VjMuMjk1YzAtMS40MjYtLjA2LTIuMTEtLjIyMS0yLjg5M0w2My45MTUgMGMuMTguNjYzLjE4IDEuNjI4LjE4IDIuODc0djguMTQ2YzAgMS4wNjUuMDYgMS4zMDYuMjYxIDEuNDg3LjEyMS4xNDEuNDAyLjIwMS42MjMuMTQxbC4zMjIgMS4xNDV6TTU4LjI2NyA4Ljg3Yy0uMjgtLjAyLS40NDItLjA0LS42MDItLjA0LTEuMzg3IDAtMi4yMy4yNjEtMi42MzMuNzIzLS4zODIuNDQzLS41MjMuODA0LS41MjMgMS40NjcgMCAxLjEwNi41NjMgMS43NDkgMS41ODggMS43NDkuODQ0IDAgMS42NDgtLjUyMyAyLjExLTEuMzI3bC4wNi0yLjU3MnptMi42MTMgNC4xMmwtLjk0NCAxLjI0NWMtLjYyMy0uMjQtMS4xMDYtLjc0My0xLjM0Ny0xLjQ0Ny0uMjYuMzIyLTEuMTA1IDEuMzI3LTIuODU0IDEuMzI3LTIuMDA5IDAtMy4yNTUtMS4wMjUtMy4yNTUtMi45NTQgMC0yLjMzMSAxLjg2OS0zLjU3NyA1LjEyNC0zLjU3Ny4yNDEgMCAuNDQzIDAgLjcwNC4wMlY2Ljk0YzAtMS4xODYtLjE2MS0xLjk5LTEuNTY4LTEuOTktMS4wNjUgMC0yLjI3LjUyMy0zLjA5NSAxLjE0NmwtLjg0My0xLjMyN2MuOTg0LS41NjIgMi4yNy0xLjMyNiA0LjIyLTEuMzI2IDEuNDY2IDAgMi41MzIuNTQzIDIuOTE0IDEuNjA4LjE2LjQ0Mi4yLjc4NC4yIDEuNzY4IDAgLjcyNC0uMDggMi4yNzEtLjA4IDMuNzM4IDAgMS4zODcuMDQgMS45NS44MjQgMi40MzJ6TTQ5LjQ2MSA3LjgwNWMwLS45NjQtLjIyLTEuNzY4LS42MjItMi4yNzFhMS44MSAxLjgxIDAgMCAwLTEuNDQ3LS43MDNjLTEuNDA3IDAtMi4xMSAxLjE0Ni0yLjExIDIuOTc0aDQuMTh6bTEuOTMgMS4zNjZoLTYuMTN2LjI0MmMwIC44NjMuMTIxIDEuNTI3LjQyMyAyLjAxLjUyMi44MDMgMS4zNDUgMS4xODUgMi4zMSAxLjE4NS45NDUgMCAxLjc0OS0uMzIyIDIuNDcyLS45NjVsLjcwNCAxLjEwNmMtLjk4Ni44NjQtMi4xNyAxLjI4NS0zLjQ3NyAxLjI4NS0yLjc5MyAwLTQuNTAyLTIuMDI5LTQuNTAyLTUuMzI0IDAtMS43NDkuMzQyLTIuODc0IDEuMjA2LTMuOS44MDQtLjk0NCAxLjc4OS0xLjM4NiAzLjAzNS0xLjM4NiAxLjEyNSAwIDIuMDMuMzYyIDIuNzMzIDEuMDg1Ljg4NC45MDUgMS4yMDUgMi4wMyAxLjIyNiA0LjM0di4zMjJ6TTMyLjY0IDMuNzQ2bC0yLjgxMyAxMC4xNDhIMjguMDRsLTEuNDY3LTUuNDg2Yy0uMTgtLjcwMy0uNjIzLTIuMzcxLS42MjMtMi4zNzFoLS4wNnMtLjQwMiAxLjcwOC0uNTQyIDIuMjVsLTEuNTA4IDUuNjA3aC0xLjc2OEwxOS4zMTggMy44MjZsMS44NjgtLjMwMSAxLjI4NyA1LjY0NmMuMjIgMS4wMDUuNTIyIDIuNDcyLjUyMiAyLjQ3MmguMDYxcy4yMi0xLjQyNi40NjItMi4yOWwxLjUyNy01LjYwN2gxLjkxTDI4LjM2IDkuMTljLjI4MSAxLjA4NS41NjIgMi4zNTIuNTYyIDIuNDUyaC4wOGMwLS4xLjMyMi0xLjcyOC40NjMtMi4zOWwxLjI0Ni01LjUwN2gxLjkzem0tMTUuODIgNC4wNmMwLS45NjUtLjIyLTEuNzctLjYyMy0yLjI3MmExLjgwNyAxLjgwNyAwIDAgMC0xLjQ0Ni0uNzAzYy0xLjQwNyAwLTIuMTEgMS4xNDYtMi4xMSAyLjk3NGg0LjE4em0xLjkzIDEuMzY1aC02LjEzdi4yNDJjMCAuODYzLjEyMSAxLjUyNy40MjMgMi4wMS41MjMuODAzIDEuMzQ2IDEuMTg1IDIuMzEgMS4xODUuOTQ1IDAgMS43NDktLjMyMiAyLjQ3Mi0uOTY1bC43MDMgMS4xMDZjLS45ODQuODY0LTIuMTcgMS4yODUtMy40NzYgMS4yODUtMi43OTMgMC00LjUwMS0yLjAyOS00LjUwMS01LjMyNCAwLTEuNzQ5LjM0MS0yLjg3NCAxLjIwNS0zLjkuODA0LS45NDQgMS43OS0xLjM4NiAzLjAzNS0xLjM4NiAxLjEyNSAwIDIuMDMuMzYyIDIuNzMzIDEuMDg1Ljg4NC45MDUgMS4yMDUgMi4wMyAxLjIyNiA0LjM0di4zMjJ6bTE3MC44MjItNS4zOTZsLS41IDEuM2gtMS45OHY2LjAzOWMwIDEuMjQuMyAxLjYyIDEuMyAxLjYyLjM0IDAgLjYyLS4wNi45MzktLjJsLjIyIDEuMTJjLS41Ni4yOC0xLjE2LjQyLTEuODIuNDItLjY2IDAtMS4zNzktLjItMS43LS41LS40MTktLjM4MS0uNzQtLjU4LS43NC0yLjA0di02LjQ2aC0xLjE5OHYtMS4zaDEuMTk5YzAtLjc3OS4wMi0xLjguMTItMi41NTlsMS45LS40NGMtLjA4LjcyLS4xOCAxLjk4LS4xOCAzaDIuNDR6bS02Ljc3NSAxMC4wMThoLTEuODJWNy4wMzVjMC0uOS0uMDgtMS4yMi0uMzE5LTEuNTQtLjItLjI2LS41Ni0uNC0xLjAyLS40LS43MiAwLTEuOC41Ni0yLjQ4IDEuMjh2Ny40MThoLTEuODJWNi4zMzRjMC0xLjItLjEtMS42NTktLjM4LTIuMzhsMS43NC0uNDc5Yy4yNC40OC4zNC45Mi4zNCAxLjU0LjU4LS40OC44OC0uNzQgMS4zLS45OC41OC0uMzQgMS4yNC0uNSAxLjg2LS41IDEuMDYgMCAxLjk5OS41NiAyLjM2IDEuNDIuMTU5LjM2LjI0LjguMjQgMS4yNnY3LjU3OHptLTEwLjk4My01Ljk3OWMwLS45Ni0uMjItMS43Ni0uNjItMi4yNi0uMzItLjQtLjgtLjctMS40NC0uNy0xLjM5OSAwLTIuMSAxLjE0LTIuMSAyLjk2aDQuMTZ6bTEuOTIgMS4zNmgtNi4xdi4yNGMwIC44Ni4xMiAxLjUyLjQyIDIgLjUyMS44IDEuMzQgMS4xOCAyLjMgMS4xOC45NCAwIDEuNzQtLjMyIDIuNDYtLjk2bC43IDEuMWMtLjk4Ljg2LTIuMTYgMS4yOC0zLjQ2IDEuMjgtMi43OCAwLTQuNDc5LTIuMDItNC40NzktNS4zIDAtMS43NC4zNC0yLjg2IDEuMi0zLjg4LjgtLjk0IDEuNzgtMS4zNzkgMy4wMi0xLjM3OSAxLjEyIDAgMi4wMi4zNiAyLjcyIDEuMDguODguOSAxLjE5OSAyLjAyIDEuMjE5IDQuMzJ2LjMxOXptLTkuNTc3IDQuNjJoLTEuODJ2LTcuMThjMC0xLjE0LS4zNi0xLjU0LTEuMi0xLjU0LS45MiAwLTEuNTguNi0yLjMzOSAxLjM2djcuMzZoLTEuOHYtNy4xNGMwLTEuMTItLjMyLTEuNTQtMS4yNC0xLjU0LS42OCAwLTEuNDQuMzQtMi4zIDEuMTZ2Ny41MmgtMS44MnYtNy4zNmMwLTEuNDItLjA4LTEuOC0uMzU5LTIuNDk5bDEuNzItLjQyYy4yLjM0LjM0Ljg0LjM0IDEuNC44Ni0uOSAxLjg4LTEuNDIgMi44MTktMS40Mi45NCAwIDEuODguNSAyLjM4IDEuNTggMS0xLjA2IDIuMDQtMS41OCAzLjA2LTEuNTggMS41NTkgMCAyLjU1OS45OCAyLjU1OSAyLjgydjcuNDc4em0tMTQuMzk3IDBoLTEuODJ2LTYuNzZjMC0uODk5LS4wOC0xLjIyLS4zMi0xLjU0LS4yLS4yNi0uNTYtLjQtMS4wMi0uNC0uNzIgMC0xLjc5OS41Ni0yLjQ4IDEuMjh2Ny40MmgtMS44MnYtNy40NmMwLTEuMi0uMDk5LTEuNjU5LS4zNzktMi4zOGwxLjc0LS40NzljLjI0LjQ4LjM0LjkyLjM0IDEuNTQuNTgtLjQ4Ljg4LS43NCAxLjMtLjk4LjU4LS4zNCAxLjI0LS41IDEuODYtLjUgMS4wNTkgMCAxLjk5OS41NiAyLjM2IDEuNDIuMTU5LjM2LjIzOS44LjIzOSAxLjI2djcuNTc4em0tOC43ODItMTAuMjM5bC0uNjQgMS44NGExLjUgMS41IDAgMCAwLS41Mi0uMWMtMS4xMiAwLTIuMDc5Ljk0LTIuMDc5IDIuMDM5djYuNDZoLTEuODR2LTcuMzZjMC0xLjIyLS4xNC0xLjg4LS4zOC0yLjQ5OWwxLjc4LS40NmMuMTguMzguMzQgMS4wNC4zNCAxLjU0di4xOGMuOC0xLjE2IDEuNjYtMS43NCAyLjcyLTEuNzQuMjQgMCAuNDYuMDQuNjIuMXptLTguNjAzIDQuMjU5YzAtLjk2LS4yMi0xLjc2LS42Mi0yLjI2LS4zMi0uNC0uOC0uNy0xLjQ0LS43LTEuMzk5IDAtMi4xIDEuMTQtMi4xIDIuOTZoNC4xNnptMS45MiAxLjM2aC02LjF2LjI0YzAgLjg2LjEyIDEuNTIuNDIxIDIgLjUyLjggMS4zNCAxLjE4IDIuMyAxLjE4LjkzOSAwIDEuNzQtLjMyIDIuNDU5LS45NmwuNyAxLjFjLS45OC44Ni0yLjE2IDEuMjgtMy40NiAxLjI4LTIuNzc5IDAtNC40NzktMi4wMi00LjQ3OS01LjMgMC0xLjc0LjM0LTIuODYgMS4yLTMuODguOC0uOTQgMS43OC0xLjM3OSAzLjAyLTEuMzc5IDEuMTIgMCAyLjAyLjM2IDIuNzE5IDEuMDguODguOSAxLjIgMi4wMiAxLjIyIDQuMzJ2LjMxOXptLTguMzczLTUuNGwtMy42NTkgMTAuMWgtMS43MmwtMy41OC0xMC4wNiAxLjktLjMgMS45OCA2LjA2Yy4yMi42OC40NCAxLjQ4LjYgMi4xNi4xNi0uNi4zNi0xLjM4LjY0LTIuMmwxLjktNS43NmgxLjk0em0tMTEuMjU4IDUuMThjMC0zLjEtLjktNC4wNC0yLjM0LTQuMDQtMS42IDAtMi4yNTkgMS4xNC0yLjI1OSAzLjY2IDAgMy4wNi43OCA0LjA4IDIuMzQgNC4wOCAxLjQgMCAyLjI2LTEuMDggMi4yNi0zLjd6bTIuMDYtLjA4YzAgMy4xOC0xLjcgNS4yLTQuMzYgNS4yLTIuNjc5IDAtNC4zNC0yLjA0LTQuMzQtNS4zIDAtMy4yNCAxLjY2MS01LjI4IDQuMy01LjI4IDIuOTYgMCA0LjQgMi4zNiA0LjQgNS4zOHptLTEwLjAyNSA0LjAyYy0xLjEyLjctMi42MiAxLjEtNC4wOCAxLjEtMS44NCAwLTMuMy0uNjItNC4zNTgtMS44Ni0xLjEtMS4yOC0xLjYtMi45LTEuNi01LjE2IDAtMS45MTMuOC00LjEwMyAyLjM4LTUuNDAzLjk5OC0uODIgMi4wOTktMS4xOCAzLjQ1OS0xLjE4IDEuNSAwIDIuODE5LjQ0IDMuODk5IDEuMzhsLS45MiAxLjJjLTEuMDItLjc0LTEuODgtMS4wNC0yLjk0LTEuMDQtMS4zMiAwLTIuMjk4LjU1Mi0yLjk1OSAxLjc2LS40ODEuODgtLjc2IDEuNzQ0LS43NiAzLjM4MyAwIDEuOS4zNCAzLjMyLjk4IDQuMTYuNi43OCAxLjc4IDEuMjQgMi45NiAxLjI0Ljc3OSAwIDEuNDgtLjIgMi4wNC0uNTJ2LTMuOTJoLTIuNTRsLS4zMi0xLjU4aDQuNzU5djYuNDR6bS02My4yMy0uMzc0bC0uNDggMS42aC04LjIxOHYtMS40OGw1LjU1OS04Ljc4MmMuMy0uNTIuNy0xLjA2Ljk4LTEuNDItLjQuMDQtLjkuMDYtMS41OC4wNmgtNC43MTlsLjQ2LTEuNmg3LjkxOHYxLjU0bC01LjQ5OSA4Ljc4M2MtLjMuNTItLjYyLjkyLS44NiAxLjMyLjQyLS4wMi44OC0uMDIgMS4zOC0uMDJoNS4wNnpNOS4xOTQgMTMuOTU3aC0yLjA2bC0zLjYyLTcuMzE5Yy0uNy0xLjQyLTEuNDE5LTIuOTgtMS42NzktMy43OGwtLjEyLjAyYy4xIDEuMTguMTQgMi41Ni4xNiAzLjg0bC4wOCA3LjIzOWgtLjc1NmMtLjg3MyAwLTEuMTg0LS44NDQtMS4xODQtMS43OTZWLjE4aDIuMjRsMy44NCA3LjU5OWMuNTggMS4xNCAxLjI2IDIuOTIgMS4zNiAzLjNsLjEyLS4wNDFjLS4wNC0uNC0uMi0yLjU4LS4yLTQuMUw3LjMzMy4xOGgxLjg2djEzLjc3OHpNMCAxOC4zNTlzMjMuOTA5LTIuNjk5IDQ2LjUyMy0yLjY5OWMyMy4xIDAgNDcuMTUgMi43IDQ3LjE1IDIuN3YuOTUycy0yNC4yMS0yLjU1OS00Ny4xNDYtMi41NTlDMjMuOTEgMTYuNzUzIDAgMTkuMzEzIDAgMTkuMzEzdi0uOTU0eiIgbWFzaz0idXJsKCNiKSIvPgogICAgPC9nPgo8L3N2Zz4=';
|
|
1372
1534
|
|
|
1373
|
-
|
|
1535
|
+
var LuiFooter = function (props) {
|
|
1374
1536
|
return (React__default["default"].createElement("footer", { className: 'lui-footer' },
|
|
1375
1537
|
React__default["default"].createElement("div", { className: 'lui-footer-columns' },
|
|
1376
1538
|
React__default["default"].createElement("h2", null, props.footerText),
|
|
@@ -24863,47 +25025,49 @@ var loaderDataChristmas = {
|
|
|
24863
25025
|
* Very trivial react wrapper for Lottie-web light. Using lottie-web directly rather than with `react-lottie` or
|
|
24864
25026
|
* `lottie-react` reduces our bundle size and enables use to use lottie-web in light mode.
|
|
24865
25027
|
*/
|
|
24866
|
-
|
|
24867
|
-
|
|
24868
|
-
|
|
24869
|
-
React__default["default"].
|
|
25028
|
+
var LuiLottieLight = function (_a) {
|
|
25029
|
+
var animationData = _a.animationData, style = _a.style, rendererSettings = _a.rendererSettings, autoplay = _a.autoplay, loop = _a.loop;
|
|
25030
|
+
var element = React__default["default"].useRef(null);
|
|
25031
|
+
var lottieInstance = React__default["default"].useRef();
|
|
25032
|
+
React__default["default"].useEffect(function () {
|
|
24870
25033
|
if (element.current) {
|
|
24871
25034
|
lottieInstance.current = lottie__default["default"].loadAnimation({
|
|
24872
|
-
animationData,
|
|
25035
|
+
animationData: animationData,
|
|
24873
25036
|
container: element.current,
|
|
24874
|
-
rendererSettings,
|
|
24875
|
-
autoplay,
|
|
24876
|
-
loop
|
|
25037
|
+
rendererSettings: rendererSettings,
|
|
25038
|
+
autoplay: autoplay,
|
|
25039
|
+
loop: loop
|
|
24877
25040
|
});
|
|
24878
25041
|
}
|
|
24879
|
-
return ()
|
|
24880
|
-
|
|
25042
|
+
return function () {
|
|
25043
|
+
var _a;
|
|
25044
|
+
(_a = lottieInstance.current) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
24881
25045
|
};
|
|
24882
25046
|
}, [animationData, autoplay, loop, rendererSettings]);
|
|
24883
25047
|
return React__default["default"].createElement("div", { style: style, ref: element });
|
|
24884
25048
|
};
|
|
24885
25049
|
|
|
24886
25050
|
// This prevents spinners from animating and causing diffs in chromatic
|
|
24887
|
-
|
|
24888
|
-
|
|
24889
|
-
|
|
24890
|
-
preserveAspectRatio: 'xMidYMid slice'
|
|
25051
|
+
var autoplay = !isChromatic();
|
|
25052
|
+
var style = { height: 148, width: 148 };
|
|
25053
|
+
var renderSettings = {
|
|
25054
|
+
preserveAspectRatio: 'xMidYMid slice'
|
|
24891
25055
|
};
|
|
24892
|
-
|
|
25056
|
+
var LuiLoadingSpinnerBase = function (props) {
|
|
24893
25057
|
return (React__default["default"].createElement("div", { style: {
|
|
24894
25058
|
position: 'absolute',
|
|
24895
25059
|
top: '50%',
|
|
24896
25060
|
left: '50%',
|
|
24897
25061
|
zIndex: 1000,
|
|
24898
25062
|
marginLeft: '-74px',
|
|
24899
|
-
marginTop: '-74px'
|
|
25063
|
+
marginTop: '-74px'
|
|
24900
25064
|
}, "data-testid": "loading-spinner" },
|
|
24901
25065
|
React__default["default"].createElement(LuiLottieLight, { animationData: props.animationData, loop: true, autoplay: autoplay, rendererSettings: renderSettings, style: style })));
|
|
24902
25066
|
};
|
|
24903
25067
|
/**
|
|
24904
25068
|
* A LuiSpinner with a status message beneath it.
|
|
24905
25069
|
*/
|
|
24906
|
-
|
|
25070
|
+
var LuiStatusSpinner = function (props) {
|
|
24907
25071
|
return (React__default["default"].createElement("div", { className: 'LuiStatusSpinner' },
|
|
24908
25072
|
React__default["default"].createElement(LuiLoadingSpinner, null),
|
|
24909
25073
|
React__default["default"].createElement("div", { style: {
|
|
@@ -24911,32 +25075,32 @@ const LuiStatusSpinner = (props) => {
|
|
|
24911
25075
|
top: '50%',
|
|
24912
25076
|
left: '50%',
|
|
24913
25077
|
marginLeft: '-150px',
|
|
24914
|
-
marginTop: '74px'
|
|
25078
|
+
marginTop: '74px'
|
|
24915
25079
|
} },
|
|
24916
25080
|
React__default["default"].createElement("div", { style: {
|
|
24917
25081
|
textAlign: 'center',
|
|
24918
|
-
width: '300px'
|
|
25082
|
+
width: '300px'
|
|
24919
25083
|
} }, props.children))));
|
|
24920
25084
|
};
|
|
24921
|
-
|
|
24922
|
-
return (React__default["default"].createElement("div", {
|
|
25085
|
+
var LuiMiniSpinner = function (props) {
|
|
25086
|
+
return (React__default["default"].createElement("div", __assign({}, props.divProps),
|
|
24923
25087
|
React__default["default"].createElement(LuiLottieLight, { animationData: loaderData, loop: true, autoplay: autoplay, rendererSettings: {
|
|
24924
|
-
preserveAspectRatio: 'xMidYMid slice'
|
|
25088
|
+
preserveAspectRatio: 'xMidYMid slice'
|
|
24925
25089
|
}, style: { height: props.size, width: props.size } })));
|
|
24926
25090
|
};
|
|
24927
|
-
|
|
25091
|
+
var LuiLoadingSpinner = function () {
|
|
24928
25092
|
return React__default["default"].createElement(LuiLoadingSpinnerBase, { animationData: loaderData });
|
|
24929
25093
|
};
|
|
24930
|
-
|
|
25094
|
+
var LuiLoadingSpinnerEaster = function () {
|
|
24931
25095
|
return React__default["default"].createElement(LuiLoadingSpinnerBase, { animationData: loaderDataEaster });
|
|
24932
25096
|
};
|
|
24933
|
-
|
|
25097
|
+
var LuiLoadingSpinnerChristmas = function () {
|
|
24934
25098
|
return React__default["default"].createElement(LuiLoadingSpinnerBase, { animationData: loaderDataChristmas });
|
|
24935
25099
|
};
|
|
24936
25100
|
// this function was extracted from chromatic/isChromatic. It was causing TS issues for the consumer
|
|
24937
25101
|
function isChromatic() {
|
|
24938
|
-
return !!(window
|
|
24939
|
-
window
|
|
25102
|
+
return !!((window === null || window === void 0 ? void 0 : window.navigator.userAgent.match(/Chromatic/)) ||
|
|
25103
|
+
(window === null || window === void 0 ? void 0 : window.location.href.match(/chromatic=true/)));
|
|
24940
25104
|
}
|
|
24941
25105
|
|
|
24942
25106
|
var css_248z$7 = ":export {\n charcoal: #2a292c;\n fuscous: #6b6966;\n gray: #989189;\n silver: #beb9b4;\n lily: #eaeaea;\n hint: #f9f9f9;\n snow: #ffffff;\n white: #ffffff;\n teal: #00425d;\n sea: #007198;\n electric: #0096cc;\n spray: #73c8e1;\n polar: #e2f3f7;\n sherpa: #004b50;\n surfie: #017a76;\n persian: #00a599;\n downy: #73cdc8;\n iceberg: #dcf5f0;\n sacramento: #004e32;\n salem: #08814d;\n pigment: #0aa245;\n granny: #9bd79b;\n panache: #e9fae7;\n brand-primary: #004b50;\n brand-secondary: #017a76;\n error: #cc0000;\n error-bg: #f5cccc;\n error-focus: #5a0000;\n warning: #ea6a2e;\n warning-bg: #fbdfd2;\n warning-focus: #b33a01;\n success: #0aa245;\n success-bg: #e9fae7;\n info: #3a7cdf;\n info-bg: #d8e5f9;\n visited: #00425d;\n green-hover: #107c3a;\n green-active: #094a22;\n green-btn: #0aa245;\n txt-link: #0096cc;\n primary-hover-btn: #005678;\n selection: #c7e9f3;\n heading-color: #017a76;\n heading-color--secondary: #2a292c;\n base-type-color: #2a292c;\n input-text: #2a292c;\n input-placeholder: #6b6966;\n input-placeholder-when-disabled: #989189;\n base-icon-color: #007198;\n disabled-color: #989189;\n disabled-color-dark: #6b6966;\n linz-color-primary: #023d48;\n linz-color-primary-hover: #01818a;\n linz-color-tertiary: #e1e44a;\n linz-color-tertiary-hover: #cdcf59;\n color-test-pink: #f09;\n linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}";
|
|
@@ -25047,114 +25211,61 @@ var CreatableSelect = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
|
25047
25211
|
/**
|
|
25048
25212
|
* A wrapper around React Select with Lui styling
|
|
25049
25213
|
*/
|
|
25050
|
-
|
|
25214
|
+
var LuiComboSelect = React.forwardRef(LuiComboSelectActual);
|
|
25051
25215
|
// declare the indicator in here so it gets the types from
|
|
25052
25216
|
// the function declaration
|
|
25053
|
-
|
|
25217
|
+
var LuiLoadingIndicator = function () { return React__default["default"].createElement(LuiMiniSpinner, { size: 25 }); };
|
|
25054
25218
|
function LuiComboSelectActual(givenProps, ref) {
|
|
25055
|
-
|
|
25056
|
-
noOptionsMessage: (i)
|
|
25219
|
+
var props = Object.assign({
|
|
25220
|
+
noOptionsMessage: function (i) {
|
|
25221
|
+
return "No options found containing '".concat(i.inputValue, "'");
|
|
25222
|
+
}
|
|
25057
25223
|
}, givenProps);
|
|
25058
|
-
props.components = {
|
|
25059
|
-
LoadingIndicator: LuiLoadingIndicator,
|
|
25060
|
-
...props.components,
|
|
25061
|
-
};
|
|
25224
|
+
props.components = __assign({ LoadingIndicator: LuiLoadingIndicator }, props.components);
|
|
25062
25225
|
// box-shadow: "-8px 0px 0 0 #cc0000";
|
|
25063
25226
|
// border-radius: "4px";
|
|
25064
|
-
|
|
25065
|
-
|
|
25066
|
-
|
|
25067
|
-
...props,
|
|
25068
|
-
classNamePrefix: 'LuiComboSelect',
|
|
25069
|
-
theme: (theme) => ({
|
|
25070
|
-
...theme,
|
|
25071
|
-
colors: {
|
|
25072
|
-
...theme.colors,
|
|
25073
|
-
primary: css_248z$7['sea'],
|
|
25074
|
-
primary75: css_248z$7['electric'],
|
|
25075
|
-
primary50: css_248z$7['spray'],
|
|
25076
|
-
primary25: css_248z$7['polar'],
|
|
25077
|
-
neutral90: css_248z$7['charcoal'],
|
|
25078
|
-
neutral80: css_248z$7['charcoal'],
|
|
25079
|
-
neutral70: css_248z$7['charcoal'],
|
|
25080
|
-
neutral60: css_248z$7['fuscous'],
|
|
25081
|
-
neutral50: css_248z$7['fuscous'],
|
|
25082
|
-
neutral40: css_248z$7['gray'],
|
|
25083
|
-
neutral30: css_248z$7['gray'],
|
|
25084
|
-
neutral20: css_248z$7['silver'],
|
|
25085
|
-
neutral10: css_248z$7['lily'],
|
|
25086
|
-
neutral5: css_248z$7['hint'],
|
|
25087
|
-
danger: css_248z$7['error'],
|
|
25088
|
-
dangerLight: css_248z$7['error-bg'],
|
|
25089
|
-
},
|
|
25090
|
-
}),
|
|
25091
|
-
styles: {
|
|
25092
|
-
control: (provided, state) => ({
|
|
25093
|
-
...provided,
|
|
25227
|
+
var id = useGenerateOrDefaultId(props === null || props === void 0 ? void 0 : props.id);
|
|
25228
|
+
var selectProp = __assign(__assign({ inputId: id }, props), { classNamePrefix: 'LuiComboSelect', theme: function (theme) { return (__assign(__assign({}, theme), { colors: __assign(__assign({}, theme.colors), { primary: css_248z$7['sea'], primary75: css_248z$7['electric'], primary50: css_248z$7['spray'], primary25: css_248z$7['polar'], neutral90: css_248z$7['charcoal'], neutral80: css_248z$7['charcoal'], neutral70: css_248z$7['charcoal'], neutral60: css_248z$7['fuscous'], neutral50: css_248z$7['fuscous'], neutral40: css_248z$7['gray'], neutral30: css_248z$7['gray'], neutral20: css_248z$7['silver'], neutral10: css_248z$7['lily'], neutral5: css_248z$7['hint'], danger: css_248z$7['error'], dangerLight: css_248z$7['error-bg'] }) })); }, styles: {
|
|
25229
|
+
control: function (provided, state) { return (__assign(__assign({}, provided), {
|
|
25094
25230
|
/* matches style of .LuiTextInput-input */
|
|
25095
|
-
boxShadow: 'none',
|
|
25096
|
-
|
|
25097
|
-
|
|
25098
|
-
|
|
25099
|
-
|
|
25100
|
-
}),
|
|
25101
|
-
|
|
25102
|
-
|
|
25103
|
-
|
|
25104
|
-
}),
|
|
25105
|
-
indicatorSeparator: (provided) => ({
|
|
25106
|
-
...provided,
|
|
25107
|
-
width: 0,
|
|
25108
|
-
}),
|
|
25109
|
-
input: (provided) => ({
|
|
25110
|
-
...provided,
|
|
25111
|
-
height: '40px',
|
|
25112
|
-
minHeight: '40px',
|
|
25113
|
-
fontWeight: 400,
|
|
25114
|
-
input: {
|
|
25115
|
-
height: '38px !important',
|
|
25116
|
-
},
|
|
25117
|
-
}),
|
|
25118
|
-
singleValue: (provided) => ({
|
|
25119
|
-
...provided,
|
|
25120
|
-
color: '#414042',
|
|
25121
|
-
fontWeight: 400,
|
|
25122
|
-
}),
|
|
25123
|
-
placeholder: (provided) => ({
|
|
25124
|
-
...provided,
|
|
25231
|
+
boxShadow: 'none', border: state.isFocused ? '1px solid #053d52' : '1px solid #b2b2b2', '&:hover, &:active': {
|
|
25232
|
+
borderColor: '#053d52'
|
|
25233
|
+
} })); },
|
|
25234
|
+
dropdownIndicator: function (provided) { return (__assign(__assign({}, provided), { color: css_248z$7['fuscous'] })); },
|
|
25235
|
+
indicatorSeparator: function (provided) { return (__assign(__assign({}, provided), { width: 0 })); },
|
|
25236
|
+
input: function (provided) { return (__assign(__assign({}, provided), { height: '40px', minHeight: '40px', fontWeight: 400, input: {
|
|
25237
|
+
height: '38px !important'
|
|
25238
|
+
} })); },
|
|
25239
|
+
singleValue: function (provided) { return (__assign(__assign({}, provided), { color: '#414042', fontWeight: 400 })); },
|
|
25240
|
+
placeholder: function (provided) { return (__assign(__assign({}, provided), {
|
|
25125
25241
|
/* please keep this in sync with FormVars.scss/mixin.formPlaceholder */
|
|
25126
|
-
fontWeight: 'normal',
|
|
25127
|
-
|
|
25128
|
-
|
|
25129
|
-
|
|
25130
|
-
|
|
25131
|
-
|
|
25132
|
-
color: css_248z$7['input-text'],
|
|
25133
|
-
backgroundColor: isSelected ? css_248z$7['selection'] : css_248z$7['white'],
|
|
25134
|
-
}),
|
|
25135
|
-
},
|
|
25136
|
-
};
|
|
25242
|
+
fontWeight: 'normal', fontStyle: 'italic', color: css_248z$7['input-placeholder'] })); },
|
|
25243
|
+
option: function (provided, _a) {
|
|
25244
|
+
var isSelected = _a.isSelected;
|
|
25245
|
+
return (__assign(__assign({}, provided), { color: css_248z$7['input-text'], backgroundColor: isSelected ? css_248z$7['selection'] : css_248z$7['white'] }));
|
|
25246
|
+
}
|
|
25247
|
+
} });
|
|
25137
25248
|
return (React__default["default"].createElement("label", { htmlFor: id, className: clsx('LuiComboSelect-label', props.error && 'hasError') },
|
|
25138
25249
|
React__default["default"].createElement("span", { className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
|
|
25139
|
-
props.isCreateable ? (React__default["default"].createElement(CreatableSelect, { formatCreateLabel: (inputValue)
|
|
25250
|
+
props.isCreateable ? (React__default["default"].createElement(CreatableSelect, __assign({ formatCreateLabel: function (inputValue) { return inputValue; }, createOptionPosition: "first", ref: ref }, selectProp))) : (React__default["default"].createElement(Select, __assign({ ref: ref }, selectProp))),
|
|
25140
25251
|
props.error && (React__default["default"].createElement("span", { className: "LuiComboSelect-error" },
|
|
25141
25252
|
React__default["default"].createElement(LuiIcon, { alt: 'Error', name: "ic_error", className: "LuiComboSelect-error-icon", size: "sm", status: "error" }),
|
|
25142
25253
|
props.error))));
|
|
25143
25254
|
}
|
|
25144
25255
|
|
|
25145
|
-
|
|
25256
|
+
var LuiShadow = function (props) {
|
|
25146
25257
|
return (React__default["default"].createElement("div", { className: clsx('LuiShadow', props.className) }, props.children));
|
|
25147
25258
|
};
|
|
25148
25259
|
|
|
25149
|
-
|
|
25260
|
+
var HelpInfo = function (props) { return (React__default["default"].createElement("div", { className: clsx('lui-small', 'HelpInfo') },
|
|
25150
25261
|
React__default["default"].createElement(LuiIcon, { name: "ic_error_outline", className: 'HelpInfo-icon', size: "sm", alt: "Extra Information" }),
|
|
25151
|
-
React__default["default"].createElement("div", { className: 'HelpInfo-info' }, props.info)));
|
|
25262
|
+
React__default["default"].createElement("div", { className: 'HelpInfo-info' }, props.info))); };
|
|
25152
25263
|
|
|
25153
|
-
|
|
25264
|
+
var LuiFormSectionHeader = function (props) { return (React__default["default"].createElement("div", { className: "LuiFormSectionHeader" },
|
|
25154
25265
|
React__default["default"].createElement("div", { className: "LuiFormSectionHeader-header" },
|
|
25155
25266
|
React__default["default"].createElement("h3", { className: "LuiFormSectionHeader-heading" }, props.header),
|
|
25156
25267
|
props.details && React__default["default"].createElement(HelpInfo, { info: props.details })),
|
|
25157
|
-
React__default["default"].createElement(LuiShadow, { className: 'LuiFormSectionHeader-details' }, props.children)));
|
|
25268
|
+
React__default["default"].createElement(LuiShadow, { className: 'LuiFormSectionHeader-details' }, props.children))); };
|
|
25158
25269
|
|
|
25159
25270
|
var logo = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMywgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIzMDBweCIgaGVpZ2h0PSI3MHB4IiB2aWV3Qm94PSIwIDAgMzAwIDcwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMDAgNzA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRkZGRkZGO30KCS5zdDF7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qye2ZpbGw6dXJsKCNTVkdJRF8yXyk7fQoJLnN0M3tmaWxsOnVybCgjU1ZHSURfM18pO30KCS5zdDR7ZmlsbDp1cmwoI1NWR0lEXzRfKTt9Cgkuc3Q1e2ZpbGw6dXJsKCNTVkdJRF81Xyk7fQoJLnN0NntvcGFjaXR5OjAuNDtmaWxsOnVybCgjU1ZHSURfNl8pO2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyAgICA7fQo8L3N0eWxlPgoJPGcgaWQ9IkxheWVyXzJfMl8iPgoJPGcgaWQ9IlRvaXR1X0xvZ29zIj4KCQk8ZyBpZD0iQmFkZ2VfVG9pdHUiPgoJCQk8ZyBpZD0iX0dyb3VwXyI+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOTUuOSw1LjZjLTIuMSwwLTMuOS0wLjEtNi4zLTAuMWMwLDAuNiwwLDEuNCwwLDEuOHYxMC41YzAsMS4xLDAsMy4zLDAuMSw0LjFoLTVjMC4xLTEuNCwwLjItNS4xLDAuMi03di01CgkJCQkJYzAtMS4xLDAtMy0wLjEtNC41Yy0yLjQsMC00LjQsMC02LjQsMC4xYzAuMS0xLjIsMC4xLTIuNywwLjEtNGMyLjcsMC4xLDUuNCwwLjEsOC43LDAuMXM2LjEtMC4xLDguOC0wLjEKCQkJCQlDOTYsMyw5NS45LDQuMyw5NS45LDUuNnoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMDAsMjIuNmMtMy43LDAuMS02LjktMi44LTctNi41YzAtMC4yLDAtMC4zLDAtMC41YzAtNC40LDIuOS03LjcsNy4zLTcuN2MzLjctMC4xLDYuOSwyLjgsNyw2LjUKCQkJCQljMCwwLjIsMCwwLjMsMCwwLjVDMTA3LjQsMTkuMywxMDQuNSwyMi42LDEwMCwyMi42eiBNMTAwLjMsMTEuMWMtMS44LDAtMywxLjUtMyw0YzAsMywxLjIsNC4yLDIuOSw0LjJjMS45LDAsMy0xLjUsMy00CgkJCQkJQzEwMy4yLDEyLjMsMTAxLjksMTEuMSwxMDAuMywxMS4xeiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTExMS44LDUuOGMtMS4zLDAuMS0yLjQtMC45LTIuNS0yLjJjMCwwLDAtMC4xLDAtMC4xYzAtMS40LDEuMS0yLjQsMi41LTIuNGMwLDAsMC4xLDAsMC4xLDAKCQkJCQljMS4zLTAuMSwyLjQsMC45LDIuNSwyLjNjMCwwLDAsMCwwLDBjMCwxLjMtMS4xLDIuNC0yLjUsMi40QzExMS44LDUuOCwxMTEuOCw1LjgsMTExLjgsNS44eiBNMTA5LjMsMjIuMQoJCQkJCWMwLjEtMS42LDAuMi0zLjEsMC4yLTQuN3YtNC4xYzAtMS43LTAuMS0zLjctMC4yLTQuOWMxLDAsMy44LTAuMiw0LjctMC4zYy0wLjEsMC43LTAuMSwyLjEtMC4xLDMuMXY4LjFjMCwwLjksMCwxLjksMC4xLDIuOAoJCQkJCUwxMDkuMywyMi4xeiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEyNS40LDIxLjdjLTEsMC41LTIuMSwwLjgtMy4yLDAuOGMtMi45LDAtNC41LTEuMi00LjUtNC44di02LjVoLTIuNGwwLjctMy4xaDEuN2wwLjMtMi44bDQtMS4zdjQuMmgzLjUKCQkJCQljLTAuMSwwLjYtMC4xLDIuMS0wLjEsMy4xSDEyMnY2YzAsMS40LDAuNSwxLjgsMS41LDEuOGMwLjcsMCwxLjQtMC4yLDIuMS0wLjZMMTI1LjQsMjEuN3oiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMzcuMiwyMi4xbC0wLjUtMi40Yy0wLjksMS43LTIuNywyLjgtNC43LDIuOWMtMywwLTQuNi0xLjgtNC42LTUuMnYtNC4yYzAtMS42LTAuMS0zLjQtMC4xLTQuOAoJCQkJCWMxLjYsMCwzLjMtMC4xLDQuNi0wLjJjLTAuMSwxLjEtMC4yLDIuMS0wLjEsMy4ydjQuOWMwLDIsMC41LDIuOSwyLjEsMi45YzEuNC0wLjEsMi42LTEuMiwyLjctMi43di0zLjNjMC0xLjYtMC4xLTMuNC0wLjItNC44CgkJCQkJYzEuNiwwLDMuMy0wLjEsNC43LTAuMmMtMC4xLDEuMS0wLjIsMi4xLTAuMiwzLjJ2NS45YzAsMS42LDAuMSwzLjIsMC4yLDQuOEwxMzcuMiwyMi4xeiBNMTM5LjIsNS40Yy0xLjMsMC0yLjMtMC4xLTMuNC0wLjFoLTMKCQkJCQljLTEuNCwwLTIuNCwwLTMuNCwwLjFjMC4xLTAuNywwLjEtMi4xLDAuMS0yLjljMS42LDAuMSwyLjgsMC4xLDUsMC4xYzEuNSwwLDMuMywwLDQuOS0wLjFDMTM5LjMsMy4zLDEzOS4yLDQuNCwxMzkuMiw1LjR6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTY1LjEsNS42Yy0yLjEsMC0zLjktMC4xLTYuMy0wLjFjMCwwLjYsMCwxLjQsMCwxLjh2MTAuNWMwLDEuMSwwLDMuMywwLjEsNC4xaC01YzAuMS0xLjQsMC4yLTUuMSwwLjItNwoJCQkJCXYtNWMwLTEuMSwwLTMtMC4xLTQuNWMtMi40LDAtNC40LDAtNi40LDAuMWMwLjEtMS4yLDAuMS0yLjcsMC4xLTRjMi43LDAuMSw1LjQsMC4xLDguNywwLjFzNi4xLTAuMSw4LjktMC4xCgkJCQkJQzE2NS4yLDMsMTY1LjEsNC4zLDE2NS4xLDUuNnoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNzUuMSwxNS44bC04LDAuMmMwLjEsMi4xLDEuNCwzLjIsMy43LDMuMmMxLjgsMCwzLjYtMC42LDUuMi0xLjZsLTAuMSwzLjNjLTEuNywxLjEtMy42LDEuNi01LjYsMS42CgkJCQkJYy01LDAtNy40LTMuMi03LjQtNy4xYzAtNC40LDMtNy42LDcuNC03LjZjNC40LDAsNi4yLDMsNi4yLDYuOEwxNzUuMSwxNS44eiBNMTcyLjYsMTMuOGMtMC4yLTEuOC0wLjktMi44LTIuNS0yLjgKCQkJCQljLTEuNywwLTIuNywxLjMtMywzTDE3Mi42LDEzLjh6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjA1LjgsMTYuNmMtMC45LDIuNS0xLjQsNC0xLjksNS43bC0zLDAuM2wtNC42LTEzLjNsLTIuNyw4Yy0wLjUsMS42LTEuMiwzLjMtMS44LDUuMmgtM2wtNS4xLTE0LjcKCQkJCQljLTAuNi0xLjgtMS40LTQuMS0yLjEtNS45bDUtMC4ybDQuMSwxMy42bDIuOC04LjhjMC40LTEuMiwxLjItMy42LDEuNi00LjhsMi44LTAuM2w0LjYsMTMuN2wyLjUtOC42bDEuNC00LjdoNC44TDIwNS44LDE2LjZ6IgoJCQkJLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMjAuOSwyMi4xYzAuMS0xLjIsMC4yLTMuMiwwLjItNC45VjE0YzAtMS43LTAuNC0yLjYtMS44LTIuNmMtMS42LDAtMi45LDEuMy0zLDIuOXY1YzAsMSwwLDEuOSwwLjEsMi45CgkJCQkJaC00LjZjMC4xLTEuMiwwLjItMy4xLDAuMi00Ljh2LTExYzAtMS43LTAuMS0zLjQtMC4yLTQuNmMxLTAuMSwzLjgtMC4zLDQuNi0wLjVjLTAuMSwwLjgtMC4xLDMuMy0wLjEsMy44djYKCQkJCQljMS0xLjgsMi45LTIuOSw1LTMuMWMyLjksMCw0LjIsMS44LDQuMiw0Ljl2Ni4zYzAsMSwwLjEsMi4yLDAuMSwzSDIyMC45eiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTIzOS43LDE1LjhsLTgsMC4yYzAuMSwyLjEsMS40LDMuMiwzLjcsMy4yYzEuOSwwLDMuNy0wLjYsNS4yLTEuNmwtMC4xLDMuM2MtMS43LDEuMS0zLjYsMS42LTUuNiwxLjYKCQkJCQljLTUsMC03LjQtMy4yLTcuNC03LjFjMC00LjQsMy03LjYsNy40LTcuNnM2LjIsMyw2LjIsNi44TDIzOS43LDE1Ljh6IE0yMzcuMiwxMy44Yy0wLjItMS44LTAuOS0yLjgtMi41LTIuOGMtMS43LDAtMi43LDEuMy0zLDMKCQkJCQlMMjM3LjIsMTMuOHoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNTIuMSwyMi4xYzAuMS0xLjIsMC4yLTMuMiwwLjItNC45VjE0YzAtMS43LTAuNC0yLjYtMS44LTIuNmMtMS42LDAuMS0yLjksMS4zLTMsMi45djQuOWMwLDEsMCwyLDAuMSwzCgkJCQkJSDI0M2MwLjEtMS4yLDAuMi0zLjIsMC4yLTQuOXYtNGMwLTEuNy0wLjEtMy41LTAuMi00LjhjMSwwLDMuNC0wLjMsNC4zLTAuNGwwLjIsMi45YzEtMS44LDIuOS0zLDUtMy4xYzIuOSwwLDQuMiwxLjgsNC4yLDQuOQoJCQkJCXY2LjNjMCwxLDAuMSwyLjIsMC4xLDNIMjUyLjF6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjY5LjEsMjIuMWwtMC41LTIuNGMtMC45LDEuNy0yLjcsMi44LTQuNywyLjljLTMsMC00LjUtMS44LTQuNS01LjJ2LTQuMmMwLTEuNi0wLjEtMy40LTAuMS00LjgKCQkJCQljMS42LDAsMy4zLTAuMSw0LjYtMC4yYy0wLjEsMS4xLTAuMiwyLjEtMC4xLDMuMnY0LjljMCwyLDAuNSwyLjksMi4xLDIuOWMxLjQtMC4xLDIuNi0xLjIsMi43LTIuN3YtMy4zYzAtMS42LTAuMS0zLjQtMC4yLTQuOAoJCQkJCWMxLjYsMCwzLjMtMC4xLDQuNy0wLjJjLTAuMSwxLjEtMC4yLDIuMS0wLjIsMy4ydjUuOWMwLDEuNiwwLjEsMy4yLDAuMiw0LjhMMjY5LjEsMjIuMXoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNzQuOSwxOC42YzAtMi43LDIuNC00LjYsNy4xLTQuNmMwLjMsMCwwLjcsMCwxLjEsMC4xbDAtMC40YzAuMS0xLjUtMC42LTIuMy0yLjQtMi4zCgkJCQkJYy0xLjUsMC0yLjksMC41LTQuMiwxLjNsLTAuNi0zLjJjMS43LTEsMy43LTEuNSw1LjYtMS41YzQsMCw1LjgsMS45LDUuNyw1LjVsLTAuMSw1YzAsMC44LDAuMiwxLjEsMC44LDEuMQoJCQkJCWMwLjMsMCwwLjYtMC4xLDAuOS0wLjJsLTAuMiwyLjZjLTAuNywwLjMtMS41LDAuNC0yLjMsMC41Yy0xLjQsMC0yLjYtMC42LTMtMi4zYy0wLjksMS40LTIuNSwyLjMtNC4yLDIuMwoJCQkJCUMyNzYuNSwyMi40LDI3NC45LDIxLDI3NC45LDE4LjZ6IE0yODMsMTcuM1YxNmMtMC4zLDAtMC42LTAuMS0wLjktMC4xYy0yLjMsMC0zLjIsMC45LTMuMiwyLjFjLTAuMSwwLjksMC42LDEuNiwxLjUsMS43CgkJCQkJYzAuMSwwLDAuMiwwLDAuMywwQzI4MiwxOS44LDI4Mi45LDE4LjgsMjgzLDE3LjN6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOTMuMiw0Ni4yYy0xLjQtMC4xLTMtMC4xLTQuNy0wLjFzLTMuNCwwLTQuOSwwLjFjMC4xLTEsMC4xLTMuOCwwLjEtNS4ydi00LjdjMC0xLjQsMC00LjEtMC4xLTUuMQoJCQkJCWMwLjgsMCwyLjksMCwzLjYtMC4xYy0wLjEsMC42LTAuMSwyLjMtMC4xLDMuMXY4YzAsMC40LDAsMC44LDAsMS4yYzAuNSwwLDEuMSwwLDEuNywwYzEuNiwwLDMsMCw0LjQtMC4xCgkJCQkJQzkzLjMsNDQuMiw5My4yLDQ1LjEsOTMuMiw0Ni4yeiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTk0LjMsNDMuNWMwLTIuMSwxLjctMy40LDUuMi0zLjRjMC4yLDAsMC41LDAsMC44LDB2LTAuM2MwLTEuMS0wLjQtMS43LTEuNy0xLjdjLTEuMSwwLTIuMiwwLjQtMy4xLDAuOQoJCQkJCWwtMC40LTIuNGMxLjMtMC43LDIuNy0xLjEsNC4yLTEuMWMyLjksMCw0LjMsMS40LDQuMiw0LjFsLTAuMSwzLjdjMCwwLjYsMC4yLDAuOCwwLjYsMC44YzAuMiwwLDAuNCwwLDAuNi0wLjFsLTAuMiwxLjkKCQkJCQljLTAuNSwwLjItMS4xLDAuMy0xLjcsMC4zYy0xLjEsMC4xLTItMC42LTIuMi0xLjdjLTAuNywxLjEtMS45LDEuNy0zLjEsMS43Qzk1LjYsNDYuNCw5NC4zLDQ1LjMsOTQuMyw0My41eiBNMTAwLjMsNDIuNnYtMQoJCQkJCWMtMC4yLDAtMC40LDAtMC43LDBjLTEuNywwLTIuNCwwLjctMi40LDEuNmMwLDAuNywwLjUsMS4yLDEuMSwxLjNjMC4xLDAsMC4xLDAsMC4yLDBjMC45LDAsMS43LTAuNywxLjctMS43CgkJCQkJQzEwMC4zLDQyLjcsMTAwLjMsNDIuNiwxMDAuMyw0Mi42TDEwMC4zLDQyLjZ6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTEyLjYsNDYuMWMwLjEtMC45LDAuMS0yLjQsMC4xLTMuNnYtMi40YzAtMS4yLTAuMy0yLTEuNC0yYy0xLjIsMC0yLjEsMS0yLjIsMi4xdjMuNmMwLDAuNywwLDEuNiwwLjEsMi4yCgkJCQkJaC0zLjRjMC4xLTAuOSwwLjEtMi40LDAuMS0zLjZ2LTIuOWMwLTEuMiwwLTIuNi0wLjEtMy41YzAuNywwLDIuNS0wLjIsMy4yLTAuM2wwLjIsMi4xYzAuOC0xLjQsMi4yLTIuMiwzLjgtMi4zCgkJCQkJYzIuMSwwLDMuMSwxLjQsMy4xLDMuNnY0LjdjMCwwLjcsMCwxLjYsMC4xLDIuMkgxMTIuNnoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMjQuOSwzNi4zdi0xLjljMC0xLjIsMC0yLjUtMC4xLTMuNGMwLjgtMC4xLDIuOC0wLjMsMy40LTAuNGMtMC4xLDAuNi0wLjEsMS42LTAuMSwyLjN2OS42CgkJCQkJYzAsMS4yLDAsMi42LDAuMiwzLjVoLTMuMUwxMjUsNDVjLTAuNywwLjktMS44LDEuNC0yLjksMS40Yy0yLjgsMC00LjUtMi40LTQuNS01YzAtMy4zLDIuMS01LjgsNS4xLTUuOAoJCQkJCUMxMjMuNCwzNS42LDEyNC4yLDM1LjgsMTI0LjksMzYuM3ogTTEyMC44LDQxLjFjMCwyLDEsMywyLjMsM2MwLjcsMCwxLjQtMC40LDEuOC0xdi00LjVjLTAuNS0wLjQtMS4xLTAuNy0xLjctMC42CgkJCQkJQzEyMS42LDM4LDEyMC44LDM5LjQsMTIwLjgsNDEuMXoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMzUuMyw0Ni4xYzAuMS0xLDAuMi0zLjcsMC4yLTUuMXYtNC43YzAtMS40LDAtNC4xLTAuMi01LjFjMC44LDAsMywwLDMuNy0wLjFjLTAuMSwwLjYtMC4xLDIuMy0wLjEsMy4xCgkJCQkJVjQzYzAsMC44LDAsMi41LDAuMSwzLjFIMTM1LjN6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQ4LjMsNDYuMWMwLjEtMC45LDAuMi0yLjQsMC4yLTMuNnYtMi40YzAtMS4yLTAuMy0yLTEuNC0yYy0xLjIsMC0yLjEsMS0yLjIsMi4xdjMuNmMwLDAuNywwLDEuNiwwLjEsMi4yCgkJCQkJaC0zLjRjMC4xLTAuOSwwLjEtMi40LDAuMS0zLjZ2LTIuOWMwLTEuMiwwLTIuNi0wLjEtMy41YzAuNywwLDIuNS0wLjIsMy4yLTAuM2wwLjIsMi4xYzAuOC0xLjMsMi4yLTIuMiwzLjctMi4zCgkJCQkJYzIuMSwwLDMuMSwxLjQsMy4xLDMuNnY0LjdjMCwwLjcsMCwxLjYsMC4xLDIuMkgxNDguM3oiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNjAuNCwzMy4zYy0wLjMtMC4xLTAuNi0wLjItMS0wLjJjLTEuMSwwLTEuNywwLjctMS43LDIuMXYwLjdoMi41Yy0wLjEsMC41LTAuMSwxLjUtMC4xLDIuM2gtMi40djUuOQoJCQkJCWMwLDAuNywwLDEuNCwwLjEsMi4xaC0zLjRjMC4xLTEuMiwwLjItMi4zLDAuMi0zLjV2LTQuNWgtMS44bDAuNS0yLjNoMS4zdi0wLjVjMC0yLjksMS41LTQuNyw0LjMtNC43YzAuNSwwLDAuOSwwLjEsMS40LDAuMgoJCQkJCUwxNjAuNCwzMy4zeiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE2NS45LDQ2LjVjLTIuOCwwLjEtNS4xLTIuMS01LjEtNC44YzAtMC4xLDAtMC4yLDAtMC4zYzAtMy4zLDIuMi01LjcsNS40LTUuN2MyLjgtMC4xLDUuMSwyLDUuMiw0LjgKCQkJCQljMCwwLjEsMCwwLjMsMCwwLjRDMTcxLjMsNDQsMTY5LjIsNDYuNSwxNjUuOSw0Ni41eiBNMTY2LjEsMzhjLTEuMywwLTIuMiwxLjEtMi4yLDNjMCwyLjIsMC45LDMuMSwyLjEsMy4xYzEuNCwwLDIuMi0xLjEsMi4yLTMKCQkJCQlDMTY4LjIsMzguOSwxNjcuMywzOCwxNjYuMSwzOHoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNzkuNiwzOC43Yy0xLjYtMC4yLTMuNCwwLjMtMy40LDIuMXYzYzAsMC43LDAsMS42LDAuMSwyLjJoLTMuNGMwLjEtMS4yLDAuMS0yLjQsMC4xLTMuNnYtMy4xCgkJCQkJYzAtMS4xLDAtMi4yLTAuMi0zLjJjMS4xLTAuMSwyLjEtMC4yLDMuMi0wLjRsMC4yLDIuNGMwLjYtMS41LDIuMS0yLjQsMy42LTIuNUwxNzkuNiwzOC43eiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE5My44LDQ2LjFjMC4xLTEuMiwwLjEtMi40LDAuMS0zLjZ2LTIuNGMwLTEuMi0wLjMtMi0xLjMtMmMtMS4xLDAtMiwwLjktMiwxLjljMCwwLDAsMCwwLDB2My44CgkJCQkJYzAsMC43LDAsMS42LDAuMSwyLjJoLTMuNGMwLjEtMC45LDAuMS0yLjQsMC4xLTMuNnYtMi4zYzAtMS4yLTAuMi0yLTEuMi0yYy0xLjEsMC0yLDAuOS0yLDJ2My44YzAsMC43LDAsMS41LDAuMSwyLjJoLTMuNAoJCQkJCWMwLjEtMC45LDAuMS0yLjQsMC4xLTMuNnYtMi45YzAtMS4yLDAtMi42LTAuMS0zLjVjMC43LDAsMi41LTAuMiwzLjItMC4zbDAuMiwxLjljMC43LTEuMiwyLTIsMy40LTIuMWMxLjQtMC4xLDIuNiwwLjgsMi45LDIuMQoJCQkJCWMwLjctMS4zLDIuMS0yLjEsMy41LTIuMWMyLjEsMCwzLjEsMS40LDMuMSwzLjZ2NC43YzAsMC43LDAsMS41LDAuMSwyLjJMMTkzLjgsNDYuMXoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xOTguNyw0My41YzAtMi4xLDEuNy0zLjQsNS4yLTMuNGMwLjIsMCwwLjUsMCwwLjgsMHYtMC4zYzAtMS4xLTAuNC0xLjctMS43LTEuN2MtMS4xLDAtMi4yLDAuNC0zLjEsMC45CgkJCQkJbC0wLjQtMi40YzEuMy0wLjcsMi43LTEuMSw0LjItMS4xYzIuOSwwLDQuMywxLjQsNC4yLDQuMWwtMC4xLDMuN2MwLDAuNiwwLjIsMC44LDAuNiwwLjhjMC4yLDAsMC40LDAsMC42LTAuMWwtMC4xLDEuOQoJCQkJCWMtMC41LDAuMi0xLjEsMC4zLTEuNywwLjNjLTEuMSwwLjEtMi0wLjYtMi4yLTEuN2MtMC43LDEuMS0xLjksMS43LTMuMSwxLjdDMTk5LjksNDYuNCwxOTguNyw0NS4zLDE5OC43LDQzLjV6IE0yMDQuNyw0Mi42di0xCgkJCQkJYy0wLjIsMC0wLjQsMC0wLjcsMGMtMS43LDAtMi40LDAuNy0yLjQsMS42YzAsMC43LDAuNSwxLjIsMS4xLDEuM2MwLjEsMCwwLjEsMCwwLjIsMGMxLDAsMS43LTAuNywxLjgtMS43CgkJCQkJQzIwNC43LDQyLjcsMjA0LjcsNDIuNiwyMDQuNyw0Mi42TDIwNC43LDQyLjZ6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjE2LjUsNDUuOGMtMC43LDAuNC0xLjUsMC42LTIuNCwwLjZjLTIuMSwwLTMuNC0wLjktMy40LTMuNXYtNC44SDIwOWwwLjUtMi4zaDEuM2wwLjItMi4xbDMtMXYzLjFoMi42CgkJCQkJYzAsMC41LTAuMSwxLjUtMC4xLDIuM0gyMTR2NC40YzAsMS4xLDAuNCwxLjMsMS4xLDEuM2MwLjUsMCwxLjEtMC4yLDEuNS0wLjVMMjE2LjUsNDUuOHoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMTkuOSwzNC4xYy0xLDAuMS0xLjgtMC42LTEuOC0xLjZjMCwwLDAsMCwwLTAuMWMwLTEsMC44LTEuOCwxLjgtMS44YzAsMCwwLDAsMC4xLDBjMSwwLDEuOCwwLjcsMS44LDEuNwoJCQkJCWMwLDAsMCwwLDAsMEMyMjEuOCwzMy4zLDIyMSwzNC4xLDIxOS45LDM0LjFDMjIwLDM0LjEsMjE5LjksMzQuMSwyMTkuOSwzNC4xeiBNMjE4LjEsNDYuMWMwLjEtMS4yLDAuMi0yLjMsMC4yLTMuNXYtMwoJCQkJCWMwLTEuMiwwLTIuNC0wLjItMy42YzAuOCwwLDIuOC0wLjEsMy40LTAuMmMtMC4xLDAuNS0wLjEsMS41LTAuMSwyLjN2NmMwLDAuNywwLDEuNCwwLjEsMi4xTDIxOC4xLDQ2LjF6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjI4LjIsNDYuNWMtMi44LDAuMS01LjEtMi4xLTUuMS00LjhjMC0wLjEsMC0wLjIsMC0wLjNjMC0zLjMsMi4yLTUuNyw1LjQtNS43YzIuNy0wLjEsNS4xLDIuMSw1LjEsNC44CgkJCQkJYzAsMC4xLDAsMC4yLDAsMC40QzIzMy42LDQ0LDIzMS41LDQ2LjUsMjI4LjIsNDYuNXogTTIyOC40LDM4Yy0xLjMsMC0yLjIsMS4xLTIuMiwzYzAsMi4yLDAuOSwzLjEsMi4xLDMuMWMxLjQsMCwyLjItMS4xLDIuMi0zCgkJCQkJQzIzMC41LDM4LjksMjI5LjYsMzgsMjI4LjQsMzh6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQyLDQ2LjFjMC4xLTEuMiwwLjItMi40LDAuMi0zLjZ2LTIuNGMwLTEuMi0wLjMtMi0xLjMtMmMtMS4yLDAtMi4xLDEtMi4yLDIuMXYzLjZjMCwwLjcsMCwxLjUsMC4xLDIuMgoJCQkJCWgtMy40YzAuMS0wLjksMC4xLTIuNCwwLjEtMy42di0yLjljMC0xLjIsMC0yLjYtMC4xLTMuNWMwLjcsMCwyLjUtMC4yLDMuMi0wLjNsMC4yLDIuMWMwLjgtMS4zLDIuMi0yLjIsMy43LTIuMwoJCQkJCWMyLjEsMCwzLjEsMS40LDMuMSwzLjZ2NC43YzAsMC43LDAsMS42LDAuMSwyLjJIMjQyeiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTgzLjcsNjIuMmwwLTQuOWMwLTEuNCwwLTQtMC4xLTVsMi4xLTAuMmw4LDkuNnYtNC4yYzAtMS40LDAtNC4xLTAuMi01LjFjMC44LDAsMi44LDAsMy41LTAuMQoJCQkJCWMtMC4xLDAuNi0wLjEsMi4zLTAuMSwzLjFMOTcsNjQuNGMwLDAuOCwwLDIuNSwwLDMuMUw5NSw2Ny43bC04LTkuNnY2LjJjMCwwLjgsMCwyLjUsMC4xLDMuMWgtMy41CgkJCQkJQzgzLjYsNjYuMyw4My43LDYzLjYsODMuNyw2Mi4yeiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTEwOC4yLDYyLjhsLTUuOSwwLjJjMC4xLDEuNiwxLDIuNCwyLjcsMi40YzEuNCwwLDIuNy0wLjQsMy44LTEuMmwwLDIuNGMtMS4yLDAuOC0yLjcsMS4yLTQuMSwxLjIKCQkJCQljLTMuNywwLTUuNC0yLjQtNS40LTUuMmMwLTMuMywyLjItNS42LDUuNC01LjZjMy4yLDAsNC42LDIuMiw0LjYsNUwxMDguMiw2Mi44eiBNMTA2LjMsNjEuMmMtMC4xLTEuNC0wLjctMi4xLTEuOC0yLjEKCQkJCQlzLTIuMSwwLjktMi4yLDIuMkwxMDYuMyw2MS4yeiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTExMS45LDY0bC0xLTIuN2MtMC41LTEuMy0xLjEtMy0xLjUtMy45YzAuMywwLDIuOC0wLjIsMy4yLTAuMmwxLjksNmwwLjgtMi4zbDEuMi0zLjZsMi4xLTAuMWwyLjEsNgoJCQkJCWwwLjgtMi4zYzAuMS0wLjQsMC45LTMsMS4xLTMuNmMxLjIsMCwyLjEsMCwzLjEtMC4xbC0zLjgsMTAuM2wtMi4yLDAuMWMtMC4zLTEuMS0wLjgtMi40LTEuMy0zLjhsLTAuOC0yLjFsLTIuMSw1LjlsLTIuMywwLjEKCQkJCQlDMTEyLjgsNjYuNSwxMTIuNCw2NS4zLDExMS45LDY0eiIvPgoJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE0My40LDUzLjhsLTgsMTAuOWgyLjZjMS44LDAsMy45LDAsNS4xLTAuMWMtMC4xLDAuOS0wLjIsMS44LTAuMiwyLjhjLTEuMy0wLjEtMy43LTAuMS01LjgtMC4xCgkJCQkJYy0yLjQsMC00LjcsMC02LjMsMC4xbC0wLjMtMS42bDgtMTAuOGgtMi4zYy0xLjksMC0zLjYsMC01LDBjMC4xLTAuOCwwLjItMS45LDAuMy0yLjhjMi4xLDAuMSwzLDAuMSw1LjgsMC4xCgkJCQkJYzIuNywwLDQuNCwwLDUuOC0wLjFMMTQzLjQsNTMuOHoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNTMuMiw2Mi44bC01LjksMC4yYzAuMSwxLjYsMSwyLjQsMi43LDIuNGMxLjQsMCwyLjctMC40LDMuOC0xLjJsLTAuMSwyLjRjLTEuMiwwLjgtMi43LDEuMi00LjEsMS4yCgkJCQkJYy0zLjcsMC01LjQtMi40LTUuNC01LjJjMC0zLjMsMi4yLTUuNiw1LjQtNS42YzMuMiwwLDQuNiwyLjIsNC42LDVMMTUzLjIsNjIuOHogTTE1MS40LDYxLjJjLTAuMS0xLjQtMC43LTIuMS0xLjgtMi4xCgkJCQkJcy0yLjEsMC45LTIuMiwyLjJMMTUxLjQsNjEuMnoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNTUuMSw2NC44YzAtMi4xLDEuNy0zLjQsNS4yLTMuNGMwLjIsMCwwLjUsMCwwLjgsMHYtMC4zYzAtMS4xLTAuNC0xLjctMS43LTEuN2MtMS4xLDAtMi4yLDAuNC0zLjEsMC45CgkJCQkJbC0wLjQtMi40YzEuMy0wLjcsMi43LTEuMSw0LjItMS4xYzIuOSwwLDQuMywxLjQsNC4yLDQuMWwtMC4xLDMuN2MwLDAuNiwwLjIsMC44LDAuNiwwLjhjMC4yLDAsMC40LDAsMC42LTAuMWwtMC4yLDEuOQoJCQkJCWMtMC41LDAuMi0xLjEsMC4zLTEuNywwLjNjLTEuMSwwLjEtMi0wLjYtMi4yLTEuN2MtMC43LDEuMS0xLjksMS43LTMuMSwxLjdDMTU2LjMsNjcuNiwxNTUuMSw2Ni42LDE1NS4xLDY0Ljh6IE0xNjEuMSw2My45di0xCgkJCQkJYy0wLjIsMC0wLjUsMC0wLjcsMGMtMS43LDAtMi40LDAuNy0yLjQsMS42YzAsMC43LDAuNSwxLjIsMS4xLDEuM2MwLjEsMCwwLjEsMCwwLjIsMGMxLDAsMS43LTAuNywxLjgtMS43CgkJCQkJQzE2MS4xLDYzLjksMTYxLjEsNjMuOSwxNjEuMSw2My45TDE2MS4xLDYzLjl6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTY2LjYsNjcuNGMwLjEtMC45LDAuMS0yLjMsMC4xLTMuNnYtOC4xYzAtMS4yLDAtMi41LTAuMS0zLjRjMC43LDAsMi44LTAuMywzLjQtMC40CgkJCQkJYy0wLjEsMC42LTAuMSwyLjQtMC4xLDIuOHYxMC41YzAsMC43LDAsMS42LDAuMSwyLjFIMTY2LjZ6Ii8+CgkJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTcxLjUsNjQuOGMwLTIuMSwxLjctMy40LDUuMi0zLjRjMC4yLDAsMC41LDAsMC44LDB2LTAuM2MwLTEuMS0wLjQtMS43LTEuNy0xLjdjLTEuMSwwLTIuMiwwLjQtMy4xLDAuOQoJCQkJCWwtMC40LTIuNGMxLjMtMC43LDIuNy0xLjEsNC4yLTEuMWMyLjksMCw0LjMsMS40LDQuMiw0LjFsLTAuMSwzLjdjMCwwLjYsMC4yLDAuOCwwLjYsMC44YzAuMiwwLDAuNCwwLDAuNi0wLjFsLTAuMSwxLjkKCQkJCQljLTAuNSwwLjItMS4xLDAuMy0xLjcsMC4zYy0xLDAuMS0yLTAuNi0yLjItMS43Yy0wLjcsMS4xLTEuOCwxLjctMy4xLDEuN0MxNzIuNyw2Ny42LDE3MS41LDY2LjYsMTcxLjUsNjQuOHogTTE3Ny40LDYzLjl2LTEKCQkJCQljLTAuMiwwLTAuNCwwLTAuNywwYy0xLjcsMC0yLjQsMC43LTIuNCwxLjZjMCwwLjcsMC41LDEuMiwxLjEsMS4zYzAuMSwwLDAuMSwwLDAuMiwwYzAuOSwwLDEuNy0wLjcsMS44LTEuNwoJCQkJCUMxNzcuNCw2NCwxNzcuNCw2My45LDE3Ny40LDYzLjlMMTc3LjQsNjMuOXoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xODkuNyw2Ny40YzAuMS0xLjIsMC4yLTIuNCwwLjItMy42di0yLjRjMC0xLjItMC4zLTItMS4zLTJjLTEuMiwwLTIuMSwxLTIuMiwyLjF2My42YzAsMC43LDAsMS41LDAuMSwyLjIKCQkJCQlIMTgzYzAuMS0wLjksMC4xLTIuNCwwLjEtMy42di0yLjljMC0xLjIsMC0yLjYtMC4xLTMuNWMwLjcsMCwyLjUtMC4yLDMuMi0wLjNsMC4xLDIuMWMwLjgtMS4zLDIuMi0yLjIsMy43LTIuMwoJCQkJCWMyLjEsMCwzLjEsMS40LDMuMSwzLjZ2NC43YzAsMC43LDAsMS42LDAuMSwyLjJMMTg5LjcsNjcuNHoiLz4KCQkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMDIsNTcuNXYtMS45YzAtMS4yLDAtMi41LTAuMS0zLjRjMC44LTAuMSwyLjgtMC4zLDMuNC0wLjRjLTAuMSwwLjYtMC4xLDEuNi0wLjEsMi4zdjkuNgoJCQkJCWMwLDEuMiwwLDIuNCwwLjIsMy41aC0zLjFsLTAuMS0xLjFjLTAuNywwLjktMS44LDEuNC0yLjksMS40Yy0yLjgsMC00LjUtMi40LTQuNS01YzAtMy4zLDIuMS01LjgsNS4xLTUuOAoJCQkJCUMyMDAuNSw1Ni44LDIwMS4zLDU3LjEsMjAyLDU3LjV6IE0xOTcuOSw2Mi40YzAsMi4xLDEsMywyLjMsM2MwLjcsMCwxLjQtMC40LDEuOC0xdi00LjVjLTAuNS0wLjQtMS4xLTAuNy0xLjctMC42CgkJCQkJQzE5OC44LDU5LjIsMTk3LjksNjAuNywxOTcuOSw2Mi40TDE5Ny45LDYyLjR6Ii8+CgkJCTwvZz4KCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTczLDE1LjFjLTAuNS0xLTEuNS0xLjYtMi42LTEuN2wtMS4xLTAuMWMwLjEtMC4xLDAuMS0wLjIsMC4yLTAuNGMwLjktMS41LDAuNC0zLjQtMS4xLTQuNAoJCQkJYy0wLjQtMC4zLTAuOS0wLjQtMS40LTAuNGgtMC4yaC0wLjFoLTAuMWgtMC4yaC0wLjFMNjQuOCw4YzAtMS43LTEuMy0zLjEtMi45LTMuMmwtMC42LDBoLTAuMUM1NS40LDQuMyw0OS40LDQsNDMuNiw0CgkJCQljLTEuMywwLTMuMywwLTQuNiwwLjFsLTAuMy0wLjNjLTAuMy0wLjQtMC42LTAuOC0wLjktMS4yYy0wLjMtMC40LTAuNy0wLjgtMS4yLTFjLTAuNS0wLjMtMS0wLjQtMS42LTAuNEgzNWgtMC43bDAsMGgtMC41bDAsMAoJCQkJYy0yLjQsMC4xLTQuNiwwLjItNi45LDAuNGgtMC4yYy0yLjIsMC4yLTQuMSwwLjMtNS45LDAuNWMtMC43LDAuMS0xLjQsMC40LTEuOSwwLjljLTMsMy01LjksNy41LTguOSwxMy4ydjAuMQoJCQkJYy0wLjEsMC4xLTAuMSwwLjMtMC4yLDAuNGMtMS4xLDIuMi0yLjIsNC41LTMuMiw2LjljMCwwLDAsMCwwLDAuMUw2LjQsMjRjLTAuOSwyLjItMS44LDQuNS0yLjcsNi45bDAsMC4xbC0wLjEsMC4zbC0wLjEsMC4yCgkJCQljMCwwLDAsMC4xLDAsMC4xQzIuNywzMy44LDIsMzYsMS4zLDM4LjNjMCwwLDAsMC4xLDAsMC4xbC0wLjEsMC4zbDAsMC4xYzAsMCwwLDAuMSwwLDAuMWMtMC45LDIuOC0xLjYsNS41LTIuMSw4bDAsMFY0N3YwbDAsMC4yCgkJCQlsLTAuMSwwLjNjLTAuMywxLjcsMC44LDMuNCwyLjUsMy43YzAuMiwwLDAuNCwwLjEsMC42LDAuMWgwLjFjLTAuMSwwLjQtMC4yLDAuOC0wLjMsMS4ydjAuMWwtMC4xLDAuNmMtMC40LDEuNywwLjcsMy40LDIuNSwzLjgKCQkJCUM0LjYsNTcsNC44LDU3LDUsNTdoMC4xYy0wLjEsMC40LTAuMiwwLjgtMC4zLDEuMmMwLDAsMCwwLjEsMCwwLjF2MC4xbDAsMHYwLjFjMCwwLDAsMC4xLDAsMC4xdjAuMmMtMC40LDEuNywwLjcsMy40LDIuNSwzLjgKCQkJCWMwLjIsMCwwLjMsMC4xLDAuNSwwLjFIOGMtMC4xLDAuMy0wLjEsMC43LTAuMiwxYy0wLjMsMS43LDAuOCwzLjQsMi41LDMuN2MwLjIsMCwwLjQsMC4xLDAuNiwwLjFjMC4yLDAsMC4zLDAsMC41LDAKCQkJCWM2LjMtMC44LDEyLjYtMS4yLDE4LjktMS4yYzguMywwLDE2LjYsMC41LDI0LjgsMS41YzAuMSwwLDAuMywwLDAuNCwwYzEuNiwwLDIuOS0xLjEsMy4xLTIuN2MyLjItMTQuNyw3LjEtMzQuNywxNC40LTQ3CgkJCQlDNzMuNSwxNy4zLDczLjUsMTYuMSw3MywxNS4xeiIvPgoKCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNS40MDE4IiB5MT0iNDYuMjE0MiIgeDI9IjY3LjUxNzQiIHkyPSI0LjA5MTciIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCA3MikiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzczQzhFMSIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwNzE5OSIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNzAuMiwxNi44QzU1LjcsMTUuNiw0MiwxNS45LDMyLjMsMTdjLTkuMSw5LjMtMTguNSwzMi4xLTIxLjYsNDcuOEMyMSw2My4zLDM4LjEsNjMsNTUuNCw2NS4yCgkJCQlDNTcuNSw1MC44LDYyLjUsMjkuOSw3MC4yLDE2Ljh6Ii8+CgoJCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjIyLjE2NTQiIHkxPSI1MS4zNDE5IiB4Mj0iNjMuODM1IiB5Mj0iOS42NzIzIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgNzIpIj4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiM3NUNCQzciLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDg3ODIiLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTY2LjYsMTEuNWMtMTQuNS0xLjItMjguMS0wLjktMzcuOSwwLjNjLTkuMSw5LjMtMTcuOSwzMi4zLTIxLDQ3LjljMTAuNC0xLjUsMjUuOS0yLDQyLjUtMC41CgkJCQlDNTMsNDIuOSw1OC40LDI1LjMsNjYuNiwxMS41eiIvPgoJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNy42LDU5LjlsMC4xLTAuNmMxMS40LTEuNywyNy4xLTEuOSw0Mi4yLTAuNWMzLjItMTguMiw4LjktMzQuOSwxNi4zLTQ3LjRsMC42LDAKCQkJCUM1OS40LDI0LDUzLjUsNDEuMSw1MC40LDU5LjNsMCwwLjNoLTAuMkMzNSw1OC4xLDE5LDU4LjMsNy42LDU5Ljl6Ii8+CgoJCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzNfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE4LjcwOTQiIHkxPSI1NS4zMzA2IiB4Mj0iNTguNjkxMSIgeTI9IjE1LjM1NTgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCA3MikiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzlERDE5QSIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC41IiBzdHlsZT0ic3RvcC1jb2xvcjojMDZBMjRBIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik00NS42LDMyLjRsMS41LTRsNy4xLTguMWMwLjMtMC4xLDAuNi0wLjEsMC45LTAuMUM1Ni45LDE2LDU5LDEyLDYxLjMsOC4xYy0xMy45LTEuMi0yNy0wLjktMzYuNCwwLjIKCQkJCUMxNi4zLDE3LjEsNy43LDM5LjEsNC44LDUzLjljNS40LTAuNywxMC44LTEuMiwxNi4yLTEuM2MtMC4zLTAuMi0wLjEtMS40LTAuMS0xLjVjMC40LTEuNiwxLjUtMi44LDMtNC4xYzEuNS0xLjMsMC44LTIuMSwyLTIuNgoJCQkJYzIuNS0xLjEsNC45LTIuNSw3LjEtNC4xYzIuOC0yLjEsMy44LTkuMiwzLjktOC43YzAuMSwwLjUsMS4xLDAuMywxLjEsMC43YzAsMC40LDAuMywxLjIsMC41LDEuM3MxLTIuMSwyLjktMi4yCgkJCQljMS4yLDAuMSwyLjQsMC41LDMuMywxLjNjMC4xLDAsMC44LTAuMSwwLjgtMC4xTDQ1LjYsMzIuNHoiLz4KCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTU0LjksMjEuMWwtMC41LTAuM2wwLjQtMC43YzEuOC00LjEsMy45LTguMiw2LjItMTJsMC42LDBjLTIuNCwzLjktNC41LDgtNi4zLDEyLjJMNTQuOSwyMS4xeiIvPgoJCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzYuOCw3LjFjLTAuMiwwLjEsMC4xLDAuMiwwLjUsMC43YzAuNSwwLjYsMC45LDEuMywxLjIsMi4xYzAsMC40LTAuNSwwLjIsMC4xLDAuOGMwLjUsMC42LDIuMywzLjIsMi41LDMuNwoJCQkJczAuNSwwLjMsMC41LDAuMWMwLTAuMywwLjMsMC4yLDAuNCwwLjVjMCwwLjItMC4yLDAuMS0wLjIsMC4yczAuNiwwLjgsMSwyLjFjMC41LDEuNCwxLDIuMSwwLjksMy41Yy0wLjEsMS4zLTAuNCwzLjMtMS40LDMuOAoJCQkJYy0xLDAuNS0xLjksMC42LTEuOCwxLjZjMC4xLDEsMS4xLDEuMSwxLjgsMS42YzAuNywwLjUsMS44LDAuMywyLjIsMS4zcy0wLjEsMi43LTAuOCwzLjRzLTAuOSwxLjEtMC42LDEuNAoJCQkJYzAuMywwLjMsMC42LDAuMywwLjksMC4yczAuNSwwLjEsMC41LDAuNXMwLjIsMC41LDEuMy0wLjJzMS42LTIuMSwyLjUtMy4xYzAuOC0xLDEuNC0yLjEsMi0zLjJjMC4xLTAuMiwwLjEtMC4zLTAuMy0wLjQKCQkJCWMtMC40LTAuMS0wLjUtMC41LTAuNC0wLjljMCwwLDAtMC4xLDAtMC4xYzAuNC0wLjksMS4yLTEsMS45LTEuMmMwLjQtMC4xLDAuNy0wLjEsMS4xLDBjMC4zLDAuMywwLjEsMC44LDAuMiwwLjcKCQkJCWMwLjItMC4yLDAuMy0wLjQsMC40LTAuN2MwLTAuMSwwLTAuMS0wLjEtMC4yYy0wLjEsMC0wLjMtMC4zLTAuMS0wLjljMC4zLTAuOCwxLjItMC41LDEuNC0xLjljMC4zLTEuMywxLTIuMSwwLjYtMi42CgkJCQljLTAuNC0wLjUtMS4yLTAuMy0xLjktMC4xYy0wLjYsMC4zLTEuNCwxLjYtMi4zLDEuM2MtMC45LTAuMy0zLTAuOS0zLjMtMS41Yy0wLjQtMS4xLTAuNy0yLjItMC45LTMuM2MtMC4xLTAuOC0wLjctMC41LTEtMC45CgkJCQljLTAuMy0wLjQtMC41LDAuMy0wLjQsMWMwLjEsMC43LDAuOCwxLjQsMC4zLDEuN3MtMC44LTEtMS40LTEuM3MtMC45LTAuNi0wLjgtMS45YzAuMS0xLjMtMS4xLTEuNS0wLjktMi4yCgkJCQljMC4yLTAuNywwLjQtMS40LTEuMS0yLjRjLTEuNS0xLTIuMS0wLjgtMi42LTEuM2MtMC41LTAuNS0xLTAuOC0xLTEuM3MwLjQtMC43LTAuNC0wLjVDMzcuMSw3LjEsMzcsNywzNi44LDcuMXoiLz4KCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTQxLjIsMzYuMmMwLjMtMC4zLDAuNS0wLjcsMC42LTEuMWMwLjEtMC4yLTAuNy0wLjItMC43LTAuN2MwLTAuNiwwLjQtMS4xLDAuNC0xLjRjMC0wLjItMC4yLTAuMS0wLjMtMC4xCgkJCQljLTAuMSwwLTAuMy0wLjEtMC4zLTAuMmMtMC4xLTAuMy0wLjQtMC4zLTEtMC4xYy0wLjYsMC4yLTEuMiwxLTEuNCwwLjljLTAuMiwwLTAuNS0wLjktMC41LTEuM3MtMS4xLTAuMi0xLTAuOAoJCQkJYzAtMC4yLDAuMS0wLjQsMC4yLTAuNWMwLDAsMC4xLTAuMSwwLTAuMmMtMC44LTAuMS0xLjQsMC44LTEuOCwxLjJDMzUsMzIuMywzNiwzMy43LDM1LDM0LjVjLTEsMC44LTEuNCwwLjYtMS41LDEKCQkJCWMtMC4zLDItMS4zLDMuOC0yLjksNC45Yy0yLjcsMi4yLTQuMiwzLjUtNS40LDRzLTEuNCwyLjEtMi44LDMuNGMtMS40LDEuMy0yLjMsNC4yLTEuNSw1YzAuNiwwLjUsMS40LDAuNywyLjEsMC40CgkJCQljMC40LTAuMSwwLjgsMCwxLjEsMC4zYzAuMiwwLjMsMC45LTAuMSwxLjMsMC4zYzAuNiwwLjQsMS40LDAuNiwyLjEsMC41YzEtMC4xLDIuNy0wLjksNC4xLTMuMWMxLjQtMi4zLDEuMi00LjMsMS41LTUuMQoJCQkJYzAuNC0xLjEsMS4zLTIsMi41LTIuNGMxLjItMC4zLDEuNC0wLjUsMS44LTAuM3MxLjMsMC4zLDEuMi0wLjRzLTEuMS0wLjUtMS4xLTEuMWMwLTAuNi0wLjItMSwwLjYtMS40YzAuOC0wLjMsMS4yLTEuNCwxLjctMi4zCgkJCQlDNDAuMSwzNy4zLDQwLjcsMzcsNDEuMiwzNi4yeiIvPgoKCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF80XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMC4yMzUiIHkxPSI1NC4xODQzIiB4Mj0iNDAuNDI1NCIgeTI9IjIzLjk4NyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDcyKSI+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojOUREMTlBIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMDZBMjRBIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik00NC41LDI4LjljLTAuMS0wLjEtMC4yLTAuMy0wLjMtMC40Yy0wLjEtMC4xLTAuMi0wLjItMC4zLTAuMmMtMC41LTAuMy0xLjItMC4zLTEuNi0wLjcKCQkJCUM0MS42LDI3LDQwLjYsMjcsNDAuNSwyNnMwLjgtMS4xLDEuOC0xLjZjMS0wLjUsMS4zLTIuNCwxLjQtMy44YzAuMS0xLjMtMC40LTIuMS0wLjktMy41Yy0wLjUtMS4yLTEtMS45LTEtMi4xczAuMiwwLDAuMi0wLjIKCQkJCWMtMC4xLTAuMy0wLjQtMC42LTAuNC0wLjVzLTAuMywwLjQtMC41LTAuMWMtMC4zLTAuNC0yLjEtMy4xLTIuNS0zLjdzLTAuMS0wLjQtMC4xLTAuOGMtMC4zLTAuOC0wLjctMS41LTEuMi0yLjEKCQkJCWMtMC4xLTAuMi0wLjMtMC4zLTAuNC0wLjVsMCwwYy0wLjEsMC0wLjEsMCwwLDBjLTAuMS0wLjEtMC4xLTAuMS0wLjEtMC4yYy0wLjQtMC45LTAuOS0xLjctMS41LTIuNWMtMC4xLTAuMS0wLjItMC4yLTAuNC0wLjMKCQkJCWMtNC45LDAuMS0xMC4yLDAuNS0xNCwwLjlDMTIuOCwxMy42LDQuOCwzMy43LDIsNDcuOWM0LjItMC42LDEzLjEtMS4zLDE5LjItMS40aDAuOGwwLjgsMGgwLjljMC41LTAuOSwwLjktMS42LDEuNi0xLjkKCQkJCWMxLjEtMC41LDIuNy0xLjgsNS40LTRjMS42LTEuMiwyLjctMywyLjktNC45YzAuMS0wLjQsMC41LTAuMiwxLjUtMWMxLTAuOCwwLTIuMywwLjQtMi43YzAuNC0wLjQsMS0xLjMsMS44LTEuMgoJCQkJYzAuMSwwLDAsMC4xLDAsMC4yYy0wLjEsMC4yLTAuMiwwLjMtMC4yLDAuNWMwLDAuNSwxLDAuMywxLDAuOGMwLDAuNCwwLjMsMS4zLDAuNSwxLjNzMC43LTAuNywxLjQtMC45bDAuMi0wLjFsMCwwCgkJCQljMC4xLDAsMC4yLTAuMSwwLjMtMC4xbDAsMGMwLjYsMCwxLjIsMC4xLDEuOCwwLjRjMC4zLDAuMiwwLjUsMC40LDAuNywwLjdjMC0wLjIsMC4yLTAuNiwwLjctMS4xQzQ0LjQsMzEuNiw0NC45LDI5LjgsNDQuNSwyOC45CgkJCQl6Ii8+CgkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMC42LDUyLjRjLTUuMywwLjEtMTAuNSwwLjYtMTUuOCwxLjNsLTAuMSwwLjZjNS40LTAuNywxMC44LTEuMSwxNi4zLTEuM2MwLDAtMC4xLTAuMS0wLjEtMC4xCgkJCQlDMjAuOCw1Mi43LDIwLjcsNTIuNSwyMC42LDUyLjR6Ii8+CgkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMy42LDQ2LjRoLTAuOWwtMC44LDBoLTAuOGMtNi4xLDAuMS0xNSwwLjgtMTkuMiwxLjR2MC4xdjAuMmwtMC4xLDAuM2M0LjEtMC42LDEzLjItMS4zLDE5LjMtMS40SDIybDEuMiwwCgkJCQljMC4xLTAuMSwwLjItMC4yLDAuMy0wLjRsMCwwTDIzLjYsNDYuNEwyMy42LDQ2LjR6Ii8+CgkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNC4zLDU0LjVjLTAuNS0wLjItMC4zLDAuMy0wLjMsMC43YzAsMC40LTAuMiwwLjMtMC4zLDAuN2MtMC4xLDAuMy0wLjIsMC43LTAuMSwwLjlzMC4yLDAuMiwwLjUtMC4xCgkJCQljMC4zLTAuMywwLjMtMC4zLDAuNy0wLjNzMC42LTAuMSwwLjYtMC42QzI1LjIsNTUuMSwyNC44LDU0LjcsMjQuMyw1NC41eiIvPgoKCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF81XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMy45ODAyIiB5MT0iNjAuMzg1MyIgeDI9IjMwLjQ0MDkiIHkyPSIzMC4wNzgzIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgNzIpIj4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkY7c3RvcC1vcGFjaXR5OjAuOSIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0ZGRkZGRjtzdG9wLW9wYWNpdHk6MC4xIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGNsYXNzPSJzdDUiIGQ9Ik03LjUsNDcuM2gwLjRjMC43LTIuNywxLjMtNS4zLDIuMS03LjdjMS45LTAuMSw0LjItMC4yLDYuNi0wLjNjLTAuNywyLjQtMS40LDQuOS0yLjEsNy42SDE1CgkJCQljMC43LTIuNywxLjMtNS4yLDIuMS03LjVjMi4xLTAuMSw0LjMtMC4yLDYuNi0wLjJjLTAuNywyLjQtMS40LDQuOS0yLjEsNy41aDAuMkgyMmMwLjYtMi42LDEuMy01LjEsMi4xLTcuNWMyLjIsMCw0LjQsMCw2LjYsMAoJCQkJYy0wLjIsMC42LTAuNCwxLjItMC41LDEuOGMwLjEtMC4xLDAuMi0wLjIsMC40LTAuM2wwLjItMC4yYzAuMS0wLjUsMC4zLTAuOSwwLjQtMS40aDAuOWMwLjEtMC4xLDAuMi0wLjMsMC4zLTAuNGgtMS4xCgkJCQljMC43LTIuNCwxLjUtNC43LDIuMy02LjlsMi4xLDBjMC4xLTAuMSwwLjItMC4yLDAuNC0wLjRjLTAuNywwLTEuNSwwLTIuMy0wLjFjMC45LTIuNSwxLjgtNC43LDIuNy02LjljMS44LDAsMy42LDAuMSw1LjQsMC4yCgkJCQljMC4yLTAuMSwwLjQtMC4yLDAuNS0wLjNjMC4xLDAsMC4xLTAuMSwwLjItMC4xYy0xLjktMC4xLTMuOS0wLjItNS45LTAuMmMxLjEtMi41LDIuMi00LjgsMy4yLTYuOWMxLDAsMi4xLDAsMy4xLDAuMWwtMC4xLTAuMgoJCQkJTDQyLjcsMTdjLTAuOSwwLTEuOC0wLjEtMi43LTAuMWMwLjQtMC44LDAuOC0xLjUsMS4yLTIuM2MtMC4xLTAuMS0wLjEtMC4xLTAuMS0wLjJMNDEsMTQuM2MtMC41LDAuOC0wLjksMS43LTEuNCwyLjYKCQkJCWMtMi4yLDAtNC40LDAtNi42LDBjMS40LTIuNywyLjctNSw0LTYuOWgxLjVjMCwwLDAtMC4xLDAtMC4xYzAtMC4xLDAtMC4yLTAuMS0wLjNoLTEuMmMwLjItMC40LDAuNS0wLjcsMC43LTEKCQkJCWMtMC4xLTAuMS0wLjItMC4yLTAuMi0wLjRjLTAuMywwLjQtMC42LDAuOS0wLjksMS40Yy0yLjMsMC00LjUsMC4xLTYuNSwwLjJjMS4yLTEuOSwyLjYtMy43LDQuMS01LjRoLTAuNQoJCQkJYy0xLjUsMS43LTIuOCwzLjUtNCw1LjRjLTIuNCwwLjEtNC42LDAuMi02LjUsMC4zYzEuMi0xLjksMi42LTMuNyw0LjEtNS41bC0wLjYsMGMtMS41LDEuNy0yLjgsMy41LTQsNS40CgkJCQljLTMsMC4yLTUuMSwwLjMtNS45LDAuNGMtMC4xLDAuMS0wLjIsMC4zLTAuMywwLjRjMC40LDAsMi42LTAuMiw1LjktMC40Yy0xLjIsMS44LTIuNSw0LjEtNCw2LjljLTMsMC4yLTUuMSwwLjQtNS45LDAuNAoJCQkJbC0wLjIsMC40YzAuNSwwLDIuNy0wLjIsNS45LTAuNGMtMS4xLDItMi4xLDQuMy0zLjIsNi44Yy0yLjgsMC4yLTQuOSwwLjMtNS44LDAuNGwtMC4yLDAuNGMwLjctMC4xLDIuOS0wLjIsNS44LTAuNAoJCQkJYy0wLjksMi4xLTEuOCw0LjQtMi43LDYuOWMtMi45LDAuMi01LDAuNC01LjcsMC40bC0wLjEsMC40YzAuNSwwLDIuNi0wLjIsNS43LTAuNGMtMC44LDIuMS0xLjUsNC40LTIuMyw2LjkKCQkJCWMtMi45LDAuMi01LDAuMy01LjcsMC40QzQsMzkuNyw0LDM5LjksNCw0MGMwLjUsMCwyLjYtMC4yLDUuNy0wLjRDOC45LDQyLDguMiw0NC41LDcuNSw0Ny4zeiBNMjMuOCwzOC41Yy0yLjMsMC00LjUsMC4xLTYuNiwwLjIKCQkJCWMwLjctMi40LDEuNS00LjcsMi4zLTYuOWMyLjEtMC4xLDQuMy0wLjIsNi42LTAuMkMyNS4zLDMzLjksMjQuNiwzNi4xLDIzLjgsMzguNXogTTI4LjksMjQuNWMtMC45LDIuMS0xLjgsNC40LTIuNyw2LjkKCQkJCWMtMi4zLDAtNC41LDAuMS02LjYsMC4yYzAuOS0yLjUsMS44LTQuNywyLjctNi45QzI0LjQsMjQuNiwyNi42LDI0LjUsMjguOSwyNC41eiBNMjIuNSwyNC4yYzEuMS0yLjUsMi4yLTQuOCwzLjMtNi45CgkJCQljMi4xLTAuMSw0LjMtMC4yLDYuNi0wLjJjLTEsMi4xLTIuMSw0LjMtMy4yLDYuOUMyNi44LDI0LjEsMjQuNiwyNC4yLDIyLjUsMjQuMnogTTMwLjksMzguNWMtMi4yLDAtNC40LDAtNi42LDAKCQkJCWMwLjctMi40LDEuNS00LjcsMi4zLTYuOWMyLjIsMCw0LjQsMCw2LjYsMEMzMi40LDMzLjgsMzEuNiwzNi4xLDMwLjksMzguNXogTTMzLjMsMzEuM2MtMi4yLDAtNC40LDAtNi42LDAKCQkJCWMwLjktMi41LDEuOC00LjcsMi43LTYuOWMyLjIsMCw0LjQsMCw2LjYsMEMzNS4xLDI2LjYsMzQuMiwyOC44LDMzLjMsMzEuM3ogTTM5LjQsMTcuMmMtMSwyLjEtMi4xLDQuMy0zLjIsNi45CgkJCQljLTIuMiwwLTQuNCwwLTYuNiwwYzEuMS0yLjUsMi4yLTQuOCwzLjItNi45QzM0LjksMTcuMiwzNy4yLDE3LjIsMzkuNCwxNy4yTDM5LjQsMTcuMnogTTI5LjksMTAuMmMyLjEtMC4xLDQuMy0wLjIsNi41LTAuMgoJCQkJYy0xLjIsMS45LTIuNSw0LjEtMy45LDYuOWMtMi4zLDAtNC41LDAuMS02LjYsMC4yQzI3LjQsMTQuMywyOC43LDEyLDI5LjksMTAuMnogTTIyLjksMTAuNWMxLjktMC4xLDQuMS0wLjIsNi42LTAuMwoJCQkJYy0xLjIsMS44LTIuNSw0LjEtNCw2LjljLTIuNCwwLjEtNC43LDAuMi02LjYsMC4zQzIwLjMsMTQuNiwyMS43LDEyLjQsMjIuOSwxMC41eiBNMTguNywxNy44YzEuOS0wLjEsNC4yLTAuMiw2LjYtMC4zCgkJCQljLTEsMi4xLTIuMSw0LjMtMy4yLDYuOWMtMi40LDAuMS00LjcsMC4yLTYuNiwwLjNDMTYuNSwyMi4xLDE3LjYsMTkuOCwxOC43LDE3Ljh6IE0xNS4zLDI1YzEuOS0wLjEsNC4yLTAuMiw2LjYtMC4zCgkJCQljLTAuOSwyLjEtMS44LDQuNC0yLjcsNi45Yy0yLjUsMC4xLTQuNywwLjItNi42LDAuM0MxMy40LDI5LjQsMTQuNCwyNy4xLDE1LjMsMjV6IE0xMi40LDMyLjNjMS45LTAuMSw0LjItMC4yLDYuNi0wLjMKCQkJCWMtMC44LDIuMS0xLjUsNC40LTIuMiw2LjhjLTIuNSwwLjEtNC43LDAuMi02LjYsMC4zQzEwLjksMzYuNywxMS42LDM0LjQsMTIuNCwzMi4zeiIvPgoKCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF82XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzOS4yOTMxIiB5MT0iNDMuMjE1NiIgeDI9IjQxLjc5MDYiIHkyPSIzOC42MDQ3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgNzIpIj4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkY3OTk7c3RvcC1vcGFjaXR5OjAuOSIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0ZGRjhBMztzdG9wLW9wYWNpdHk6MC4xIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGNsYXNzPSJzdDYiIGQ9Ik00MC43LDMxLjZjMC41LTEuNCwxLTIuNywxLjUtNGMtMC4xLTAuMS0wLjItMC4yLTAuMy0wLjJjLTAuNSwxLjQtMS4xLDIuNy0xLjYsNC4yYy0xLTAuMS0yLjEtMC4xLTMuMi0wLjIKCQkJCWMwLDAuMywwLjMsMC4zLDAuNiwwLjRjMC44LDAsMS42LDAuMSwyLjQsMC4xTDQwLDMyLjZINDBjMC4xLTAuMSwwLjMtMC4xLDAuNC0wLjFsMC4yLTAuNGMxLjEsMC4xLDIuMiwwLjIsMy4yLDAuMwoJCQkJYzAuMS0wLjEsMC4yLTAuMiwwLjItMC40QzQzLDMxLjgsNDEuOSwzMS43LDQwLjcsMzEuNnoiLz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+';
|
|
25160
25271
|
|
|
@@ -25165,15 +25276,15 @@ var motif = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id
|
|
|
25165
25276
|
*
|
|
25166
25277
|
* @param onEscape the handler function
|
|
25167
25278
|
*/
|
|
25168
|
-
|
|
25169
|
-
|
|
25279
|
+
var useEscapeFunction = function (onEscape) {
|
|
25280
|
+
var escFunction = React.useCallback(function (event) {
|
|
25170
25281
|
if (event.keyCode === 27) {
|
|
25171
25282
|
onEscape();
|
|
25172
25283
|
}
|
|
25173
25284
|
}, [onEscape]);
|
|
25174
|
-
React.useEffect(()
|
|
25285
|
+
React.useEffect(function () {
|
|
25175
25286
|
document.addEventListener('keydown', escFunction, false);
|
|
25176
|
-
return ()
|
|
25287
|
+
return function () {
|
|
25177
25288
|
document.removeEventListener('keydown', escFunction, false);
|
|
25178
25289
|
};
|
|
25179
25290
|
}, [escFunction]);
|
|
@@ -25186,13 +25297,14 @@ const useEscapeFunction = (onEscape) => {
|
|
|
25186
25297
|
* @param onClickOutsideArg handler for mouse clicks outside the element
|
|
25187
25298
|
* @return a react ref which can be bound to an html element
|
|
25188
25299
|
*/
|
|
25189
|
-
|
|
25190
|
-
|
|
25191
|
-
|
|
25192
|
-
|
|
25193
|
-
React.useEffect(()
|
|
25194
|
-
|
|
25195
|
-
|
|
25300
|
+
var usePageClickFunction = function (onClickInsideArg, onClickOutsideArg) {
|
|
25301
|
+
var elementRef = React.useRef(null);
|
|
25302
|
+
var onClickInside = React.useCallback(onClickInsideArg, []);
|
|
25303
|
+
var onClickOutside = React.useCallback(onClickOutsideArg, []);
|
|
25304
|
+
React.useEffect(function () {
|
|
25305
|
+
var handleClick = function (e) {
|
|
25306
|
+
var _a;
|
|
25307
|
+
if ((_a = elementRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {
|
|
25196
25308
|
onClickInside(e);
|
|
25197
25309
|
}
|
|
25198
25310
|
else {
|
|
@@ -25202,17 +25314,18 @@ const usePageClickFunction = (onClickInsideArg, onClickOutsideArg) => {
|
|
|
25202
25314
|
// add when mounted
|
|
25203
25315
|
document.addEventListener('click', handleClick);
|
|
25204
25316
|
// return function to be called when unmounted
|
|
25205
|
-
return ()
|
|
25317
|
+
return function () {
|
|
25206
25318
|
document.removeEventListener('click', handleClick);
|
|
25207
25319
|
};
|
|
25208
25320
|
}, [elementRef, onClickInside, onClickOutside]);
|
|
25209
25321
|
return elementRef;
|
|
25210
25322
|
};
|
|
25211
25323
|
|
|
25212
|
-
|
|
25213
|
-
|
|
25214
|
-
|
|
25215
|
-
|
|
25324
|
+
var sizes = ['xs', 'sm', 'md', 'lg', 'xl'];
|
|
25325
|
+
var buildHideClassDict = function (_a) {
|
|
25326
|
+
var _b = _a.from, from = _b === void 0 ? 'xs' : _b, _c = _a.upto, upto = _c === void 0 ? 'xl' : _c;
|
|
25327
|
+
var inRange = function (size) {
|
|
25328
|
+
var idx = sizes.indexOf(size);
|
|
25216
25329
|
return idx >= sizes.indexOf(from) && idx <= sizes.indexOf(upto);
|
|
25217
25330
|
};
|
|
25218
25331
|
return {
|
|
@@ -25220,18 +25333,19 @@ const buildHideClassDict = ({ from = 'xs', upto = 'xl', }) => {
|
|
|
25220
25333
|
'lui-hide-sm': inRange('sm'),
|
|
25221
25334
|
'lui-hide-md': inRange('md'),
|
|
25222
25335
|
'lui-hide-lg': inRange('lg'),
|
|
25223
|
-
'lui-hide-xl': inRange('xl')
|
|
25336
|
+
'lui-hide-xl': inRange('xl')
|
|
25224
25337
|
};
|
|
25225
25338
|
};
|
|
25226
25339
|
|
|
25227
|
-
|
|
25228
|
-
|
|
25229
|
-
|
|
25340
|
+
var LuiHeader = function (_a) {
|
|
25341
|
+
var headingText = _a.headingText, _b = _a.size, size = _b === void 0 ? 'small' : _b, homeLink = _a.homeLink, transparent = _a.transparent, children = _a.children, _c = _a.sticky, sticky = _c === void 0 ? true : _c;
|
|
25342
|
+
var logoElement = size === 'normal' ? (React__default["default"].createElement("img", { className: "linz-logo", alt: "LINZ Logo", src: logo })) : (React__default["default"].createElement("img", { className: "linz-motif", alt: "LINZ Logo", src: motif }));
|
|
25343
|
+
var logoContainer = logoElement;
|
|
25230
25344
|
if (typeof homeLink === 'string') {
|
|
25231
25345
|
logoContainer = React__default["default"].createElement("a", { href: homeLink }, logoElement);
|
|
25232
25346
|
}
|
|
25233
25347
|
else if (typeof homeLink === 'function') {
|
|
25234
|
-
logoContainer = (React__default["default"].createElement("div", { className: "clickable", onClick: ()
|
|
25348
|
+
logoContainer = (React__default["default"].createElement("div", { className: "clickable", onClick: function () {
|
|
25235
25349
|
homeLink();
|
|
25236
25350
|
} }, logoElement));
|
|
25237
25351
|
}
|
|
@@ -25239,7 +25353,7 @@ const LuiHeader = ({ headingText, size = 'small', homeLink, transparent, childre
|
|
|
25239
25353
|
'lui-header': true,
|
|
25240
25354
|
'lui-header-transparent': transparent,
|
|
25241
25355
|
'lui-header-small': size === 'small',
|
|
25242
|
-
'lui-header-sticky': sticky
|
|
25356
|
+
'lui-header-sticky': sticky
|
|
25243
25357
|
}) },
|
|
25244
25358
|
React__default["default"].createElement("div", { className: "lui-header-row" },
|
|
25245
25359
|
React__default["default"].createElement("div", { className: "lui-header-col" },
|
|
@@ -25253,9 +25367,10 @@ const LuiHeader = ({ headingText, size = 'small', homeLink, transparent, childre
|
|
|
25253
25367
|
* Note that it depends on it being rendered inside a LuiHeader for its styles to apply properly.
|
|
25254
25368
|
* To configure the item for responsiveness, ensure to set any of the hideOn* properties.
|
|
25255
25369
|
*/
|
|
25256
|
-
|
|
25257
|
-
|
|
25258
|
-
|
|
25370
|
+
var LuiHeaderMenuItem = React.forwardRef(function (_a, ref) {
|
|
25371
|
+
var icon = _a.icon, label = _a.label, badge = _a.badge, hide = _a.hide, onClick = _a.onClick, _b = _a["data-testid"], dataTestId = _b === void 0 ? 'menu-item' : _b, children = _a.children;
|
|
25372
|
+
var menuItemClasses = clsx('lui-header-menu-item', hide && buildHideClassDict(hide));
|
|
25373
|
+
var resolvedIcon = !icon && !label ? 'menu' : icon;
|
|
25259
25374
|
return (React__default["default"].createElement("div", { className: menuItemClasses, ref: ref },
|
|
25260
25375
|
React__default["default"].createElement("div", { className: clsx('lui-header-menu-icon', onClick && 'clickable'), onClick: onClick, "data-testid": dataTestId },
|
|
25261
25376
|
resolvedIcon && (React__default["default"].createElement("i", { title: "Main menu", className: "material-icons-round md-36" }, resolvedIcon)),
|
|
@@ -25263,38 +25378,44 @@ const LuiHeaderMenuItem = React.forwardRef(({ icon, label, badge, hide, onClick,
|
|
|
25263
25378
|
badge && React__default["default"].createElement("div", { className: "badge" }, badge)),
|
|
25264
25379
|
children));
|
|
25265
25380
|
});
|
|
25266
|
-
|
|
25267
|
-
isOpen: ()
|
|
25268
|
-
open: ()
|
|
25269
|
-
close: ()
|
|
25381
|
+
var LuiCloseableHeaderMenuContext = React.createContext({
|
|
25382
|
+
isOpen: function () { return false; },
|
|
25383
|
+
open: function () { },
|
|
25384
|
+
close: function () { }
|
|
25270
25385
|
});
|
|
25271
|
-
|
|
25272
|
-
|
|
25273
|
-
|
|
25386
|
+
var LuiCloseableHeaderMenuItem = function (_a) {
|
|
25387
|
+
var open = _a.open, setOpen = _a.setOpen, props = __rest(_a, ["open", "setOpen"]);
|
|
25388
|
+
useEscapeFunction(function () { return setOpen(false); });
|
|
25389
|
+
var menuDiv = usePageClickFunction(function (event) { return open || event.stopPropagation(); }, function (event) {
|
|
25274
25390
|
if (!open) {
|
|
25275
25391
|
event.stopPropagation();
|
|
25276
25392
|
setOpen(false);
|
|
25277
25393
|
}
|
|
25278
25394
|
});
|
|
25279
|
-
|
|
25280
|
-
isOpen: ()
|
|
25281
|
-
open: ()
|
|
25282
|
-
close: ()
|
|
25395
|
+
var menuControls = {
|
|
25396
|
+
isOpen: function () { return open; },
|
|
25397
|
+
open: function () { return setOpen(true); },
|
|
25398
|
+
close: function () { return setOpen(false); }
|
|
25283
25399
|
};
|
|
25284
|
-
|
|
25400
|
+
var menuItemProps = __assign({ onClick: function () { return menuControls.open(); } }, props);
|
|
25285
25401
|
return (React__default["default"].createElement(LuiCloseableHeaderMenuContext.Provider, { value: menuControls },
|
|
25286
|
-
React__default["default"].createElement(LuiHeaderMenuItem, { ref: menuDiv,
|
|
25402
|
+
React__default["default"].createElement(LuiHeaderMenuItem, __assign({ ref: menuDiv }, menuItemProps), props.children)));
|
|
25287
25403
|
};
|
|
25288
|
-
|
|
25289
|
-
|
|
25290
|
-
|
|
25404
|
+
var LuiMenuCloseButton = function (_a) {
|
|
25405
|
+
var _b = _a.icon, icon = _b === void 0 ? 'close' : _b, hide = _a.hide, _c = _a["data-testid"], dataTestId = _c === void 0 ? 'close-button' : _c;
|
|
25406
|
+
var menu = React.useContext(LuiCloseableHeaderMenuContext);
|
|
25407
|
+
var classes = clsx('material-icons-round', 'lui-menu-close-button', hide && buildHideClassDict(hide));
|
|
25291
25408
|
return (React__default["default"].createElement("i", { className: classes, onClick: menu.close, "data-testid": dataTestId }, icon));
|
|
25292
25409
|
};
|
|
25293
25410
|
|
|
25294
|
-
|
|
25295
|
-
|
|
25296
|
-
|
|
25297
|
-
|
|
25411
|
+
var LuiDrawerMenuOptions = function (_a) {
|
|
25412
|
+
var children = _a.children;
|
|
25413
|
+
return (React__default["default"].createElement("div", { className: "lui-menu-drawer-options" }, children));
|
|
25414
|
+
};
|
|
25415
|
+
var LuiDrawerMenuOption = function (_a) {
|
|
25416
|
+
var icon = _a.icon, label = _a.label, badge = _a.badge, _b = _a.onClick, onClick = _b === void 0 ? function () { } : _b;
|
|
25417
|
+
var menu = React.useContext(LuiCloseableHeaderMenuContext);
|
|
25418
|
+
return (React__default["default"].createElement("div", { className: "lui-menu-drawer-option", onClick: function () {
|
|
25298
25419
|
menu.close();
|
|
25299
25420
|
onClick();
|
|
25300
25421
|
}, "data-testid": 'drawer-option' },
|
|
@@ -25303,17 +25424,12 @@ const LuiDrawerMenuOption = ({ icon, label, badge, onClick = () => { }, }) => {
|
|
|
25303
25424
|
label),
|
|
25304
25425
|
badge));
|
|
25305
25426
|
};
|
|
25306
|
-
|
|
25307
|
-
|
|
25308
|
-
|
|
25309
|
-
|
|
25310
|
-
|
|
25311
|
-
|
|
25312
|
-
setOpen,
|
|
25313
|
-
icon: open ? 'close' : 'menu',
|
|
25314
|
-
onClick: () => setOpen(!open),
|
|
25315
|
-
};
|
|
25316
|
-
React.useEffect(() => {
|
|
25427
|
+
var LuiDrawerMenu = function (_a) {
|
|
25428
|
+
var restOfProps = __rest(_a, []);
|
|
25429
|
+
var children = restOfProps.children, _b = restOfProps.hasStickyHeader, hasStickyHeader = _b === void 0 ? true : _b, menuPropsCopy = __rest(restOfProps, ["children", "hasStickyHeader"]);
|
|
25430
|
+
var _c = React.useState(false), open = _c[0], setOpen = _c[1];
|
|
25431
|
+
var closeableMenuProps = __assign(__assign({}, menuPropsCopy), { open: open, setOpen: setOpen, icon: open ? 'close' : 'menu', onClick: function () { return setOpen(!open); } });
|
|
25432
|
+
React.useEffect(function () {
|
|
25317
25433
|
// Support for non-sticky headers. Scroll back to top when menu is opened
|
|
25318
25434
|
if (open && !hasStickyHeader) {
|
|
25319
25435
|
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
@@ -25326,26 +25442,27 @@ const LuiDrawerMenu = ({ ...restOfProps }) => {
|
|
|
25326
25442
|
document.body.classList.remove('lui-menu-drawer-open');
|
|
25327
25443
|
}
|
|
25328
25444
|
}, [open, hasStickyHeader]);
|
|
25329
|
-
return (React__default["default"].createElement(LuiCloseableHeaderMenuItem, {
|
|
25445
|
+
return (React__default["default"].createElement(LuiCloseableHeaderMenuItem, __assign({}, closeableMenuProps),
|
|
25330
25446
|
React__default["default"].createElement("div", { className: clsx({
|
|
25331
25447
|
'lui-menu-drawer': true,
|
|
25332
|
-
'lui-menu-drawer-closed': !open
|
|
25448
|
+
'lui-menu-drawer-closed': !open
|
|
25333
25449
|
}), "data-testid": 'drawer', "aria-hidden": !open }, children)));
|
|
25334
25450
|
};
|
|
25335
|
-
|
|
25336
|
-
|
|
25337
|
-
|
|
25338
|
-
|
|
25339
|
-
|
|
25451
|
+
var LuiDropdownMenu = function (_a) {
|
|
25452
|
+
var restOfProps = __rest(_a, []);
|
|
25453
|
+
var children = restOfProps.children, menuPropsCopy = __rest(restOfProps, ["children"]);
|
|
25454
|
+
var _b = React.useState(false), open = _b[0], setOpen = _b[1];
|
|
25455
|
+
var closeableMenuProps = __assign(__assign({}, menuPropsCopy), { open: open, setOpen: setOpen });
|
|
25456
|
+
return (React__default["default"].createElement(LuiCloseableHeaderMenuItem, __assign({}, closeableMenuProps),
|
|
25340
25457
|
React__default["default"].createElement("div", { className: clsx({
|
|
25341
25458
|
'lui-menu-dropdown lui-box-shadow': true,
|
|
25342
|
-
'lui-menu-dropdown-closed': !open
|
|
25459
|
+
'lui-menu-dropdown-closed': !open
|
|
25343
25460
|
}), "data-testid": 'dropdown', "aria-hidden": !open },
|
|
25344
25461
|
children,
|
|
25345
25462
|
' ')));
|
|
25346
25463
|
};
|
|
25347
|
-
|
|
25348
|
-
|
|
25464
|
+
var LuiDrawerMenuSection = function (props) {
|
|
25465
|
+
var children = props.children, title = props.title, collapsible = props.collapsible;
|
|
25349
25466
|
return (React__default["default"].createElement("div", null,
|
|
25350
25467
|
collapsible && (React__default["default"].createElement(LuiExpandableBanner, { label: title || '', className: "LuiDrawerMenuSection-header" }, children)),
|
|
25351
25468
|
!collapsible && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
@@ -25354,7 +25471,7 @@ const LuiDrawerMenuSection = (props) => {
|
|
|
25354
25471
|
React__default["default"].createElement("h3", null, title)))),
|
|
25355
25472
|
children))));
|
|
25356
25473
|
};
|
|
25357
|
-
|
|
25474
|
+
var LuiDrawerMenuDivider = function () {
|
|
25358
25475
|
return React__default["default"].createElement("hr", { className: "LuiDrawerMenuDivider" });
|
|
25359
25476
|
};
|
|
25360
25477
|
|
|
@@ -27702,8 +27819,8 @@ function polyfill(Component) {
|
|
|
27702
27819
|
}
|
|
27703
27820
|
|
|
27704
27821
|
var reactLifecyclesCompat_es = /*#__PURE__*/Object.freeze({
|
|
27705
|
-
|
|
27706
|
-
|
|
27822
|
+
__proto__: null,
|
|
27823
|
+
polyfill: polyfill
|
|
27707
27824
|
});
|
|
27708
27825
|
|
|
27709
27826
|
var require$$6 = /*@__PURE__*/getAugmentedNamespace(reactLifecyclesCompat_es);
|
|
@@ -27996,29 +28113,30 @@ module.exports = exports["default"];
|
|
|
27996
28113
|
|
|
27997
28114
|
var Modal = /*@__PURE__*/getDefaultExportFromCjs(lib.exports);
|
|
27998
28115
|
|
|
27999
|
-
|
|
28000
|
-
|
|
28116
|
+
var LuiUpdatesSplashModal = function (props) {
|
|
28117
|
+
var _a;
|
|
28118
|
+
var node = React.useRef(null);
|
|
28001
28119
|
// We have to do this as the CSS takes over a lot of the page
|
|
28002
28120
|
// https://medium.com/@pitipatdop/little-neat-trick-to-capture-click-outside-with-react-hook-ba77c37c7e82
|
|
28003
|
-
|
|
28121
|
+
var handleClickOutside = React.useCallback(function (e) {
|
|
28004
28122
|
console.log('clicking anywhere');
|
|
28005
28123
|
// current DOES have a contains!
|
|
28006
|
-
if (node
|
|
28124
|
+
if ((node === null || node === void 0 ? void 0 : node.current) && node.current.contains(e.target)) {
|
|
28007
28125
|
// inside click
|
|
28008
28126
|
return;
|
|
28009
28127
|
}
|
|
28010
28128
|
// outside click
|
|
28011
28129
|
props.onClose();
|
|
28012
28130
|
}, [props]);
|
|
28013
|
-
React.useEffect(()
|
|
28131
|
+
React.useEffect(function () {
|
|
28014
28132
|
document.addEventListener('mousedown', handleClickOutside);
|
|
28015
|
-
return ()
|
|
28133
|
+
return function () {
|
|
28016
28134
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
28017
28135
|
};
|
|
28018
28136
|
}, [handleClickOutside]);
|
|
28019
28137
|
// process may be undefined, e.g. webpack 5 does not include a polyfill for it. Assume if process is undefined then
|
|
28020
28138
|
// this isn't running in a test.
|
|
28021
|
-
if (typeof process === 'undefined' || process
|
|
28139
|
+
if (typeof process === 'undefined' || ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) !== 'test') {
|
|
28022
28140
|
Modal.setAppElement('#root');
|
|
28023
28141
|
}
|
|
28024
28142
|
return (React__default["default"].createElement(Modal, { key: props.id, isOpen: true, shouldCloseOnOverlayClick: true, onRequestClose: props.onClose, contentLabel: "Recent updates", className: "lui-scrim", style: { overlay: { backgroundColor: 'transparent' } } },
|
|
@@ -28032,11 +28150,12 @@ const LuiUpdatesSplashModal = (props) => {
|
|
|
28032
28150
|
React__default["default"].createElement("div", { className: 'lui-feature-text' }, props.children))));
|
|
28033
28151
|
};
|
|
28034
28152
|
|
|
28035
|
-
|
|
28036
|
-
|
|
28037
|
-
|
|
28153
|
+
var LuiModal = function (props) {
|
|
28154
|
+
var _a;
|
|
28155
|
+
var node = React.useRef(null);
|
|
28156
|
+
var handleClickOutside = React.useCallback(function (e) {
|
|
28038
28157
|
// current DOES have a contains!
|
|
28039
|
-
if (node
|
|
28158
|
+
if ((node === null || node === void 0 ? void 0 : node.current) && node.current.contains(e.target)) {
|
|
28040
28159
|
// inside click
|
|
28041
28160
|
return;
|
|
28042
28161
|
}
|
|
@@ -28045,37 +28164,37 @@ const LuiModal = (props) => {
|
|
|
28045
28164
|
props.onClose && props.onClose();
|
|
28046
28165
|
}
|
|
28047
28166
|
}, [props]);
|
|
28048
|
-
React.useEffect(()
|
|
28167
|
+
React.useEffect(function () {
|
|
28049
28168
|
document.addEventListener('mousedown', handleClickOutside);
|
|
28050
|
-
return ()
|
|
28169
|
+
return function () {
|
|
28051
28170
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
28052
28171
|
};
|
|
28053
28172
|
}, [handleClickOutside]);
|
|
28054
|
-
|
|
28173
|
+
var isTest = false;
|
|
28055
28174
|
// this is here for the tests
|
|
28056
28175
|
if (typeof process !== 'undefined') {
|
|
28057
|
-
isTest = process
|
|
28176
|
+
isTest = ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) === 'test';
|
|
28058
28177
|
if (!isTest) {
|
|
28059
28178
|
Modal.setAppElement('#root');
|
|
28060
28179
|
}
|
|
28061
28180
|
}
|
|
28062
|
-
return (React__default["default"].createElement(Modal, { key: props.key, isOpen: true, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick, onRequestClose: props.onClose, overlayClassName: "modal", className: props.lowContrast ? 'lui-scrim-low-contrast' : 'lui-scrim', ariaHideApp: !isTest,
|
|
28063
|
-
|
|
28064
|
-
|
|
28181
|
+
return (React__default["default"].createElement(Modal, __assign({ key: props.key, isOpen: true, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick, onRequestClose: props.onClose, overlayClassName: "modal", className: props.lowContrast ? 'lui-scrim-low-contrast' : 'lui-scrim', ariaHideApp: !isTest }, (props.appendToElement && {
|
|
28182
|
+
parentSelector: props.appendToElement
|
|
28183
|
+
})),
|
|
28065
28184
|
React__default["default"].createElement("div", { ref: node, className: clsx('lui-modal lui-box-shadow', props.maxWidth && 'lui-max-width', props.headingText && 'lui-modal-no-padding', props.className) },
|
|
28066
28185
|
props.headingText && (React__default["default"].createElement(LuiModalHeader, { headingText: props.headingText, onClose: props.onClose })),
|
|
28067
28186
|
React__default["default"].createElement("div", { className: clsx(props.headingText && 'lui-modal-container') }, props.children))));
|
|
28068
28187
|
};
|
|
28069
|
-
|
|
28070
|
-
|
|
28071
|
-
return (React__default["default"].createElement(LuiModal, { key: props.key, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick, onClose: props.onClose, className: clsx(
|
|
28072
|
-
React__default["default"].createElement(LuiIcon, { name:
|
|
28188
|
+
var LuiAlertModal = function (props) {
|
|
28189
|
+
var materialIcon = getMaterialIconForLevel(props.level);
|
|
28190
|
+
return (React__default["default"].createElement(LuiModal, { key: props.key, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick, onClose: props.onClose, className: clsx("lui-modal-".concat(props.level), props.className), appendToElement: props.appendToElement },
|
|
28191
|
+
React__default["default"].createElement(LuiIcon, { name: "ic_".concat(materialIcon), alt: "".concat(props.level, " status icon"), size: "lg", className: "lui-msg-status-icon" }),
|
|
28073
28192
|
props.children));
|
|
28074
28193
|
};
|
|
28075
|
-
|
|
28194
|
+
var LuiAlertModalButtons = function (props) {
|
|
28076
28195
|
return React__default["default"].createElement("div", { className: "modal-btn-row" }, props.children);
|
|
28077
28196
|
};
|
|
28078
|
-
|
|
28197
|
+
var LuiModalHeader = function (props) {
|
|
28079
28198
|
return (React__default["default"].createElement("header", { className: "lui-modal-header" }, props.headingText && (React__default["default"].createElement("div", { className: "lui-modal-header-title" },
|
|
28080
28199
|
React__default["default"].createElement("h1", null, props.headingText),
|
|
28081
28200
|
props.onClose && (React__default["default"].createElement("button", { className: "lui-modal-header-close-btn", onClick: props.onClose },
|
|
@@ -28176,17 +28295,18 @@ function Skeleton({ count = 1, wrapper: Wrapper, className: customClassName, con
|
|
|
28176
28295
|
: elements));
|
|
28177
28296
|
}
|
|
28178
28297
|
|
|
28179
|
-
|
|
28180
|
-
|
|
28181
|
-
|
|
28182
|
-
|
|
28183
|
-
|
|
28298
|
+
var SKELETON_COUNT = 3;
|
|
28299
|
+
var ResultsDisplay = function (_a) {
|
|
28300
|
+
var isLoading = _a.isLoading, onClick = _a.onClick, children = _a.children, selectedId = _a.selectedId, selectedRef = _a.selectedRef, setSelectedId = _a.setSelectedId, results = _a.results, renderItem = _a.renderItem;
|
|
28301
|
+
var ResultLine = function (result) {
|
|
28302
|
+
var isSelected = result.id === selectedId;
|
|
28303
|
+
return (React__default["default"].createElement("div", { className: clsx('LuiSearchInput-resultEntry', isSelected && 'selected'), key: result.id, ref: isSelected ? selectedRef : null, onClick: function () { return onClick(result.id); }, onMouseEnter: function () { return setSelectedId(result.id); } }, renderItem(result)));
|
|
28184
28304
|
};
|
|
28185
|
-
|
|
28305
|
+
var GroupedResult = function (result) {
|
|
28186
28306
|
return (React__default["default"].createElement("div", null,
|
|
28187
28307
|
React__default["default"].createElement("div", { className: "LuiSearchInput-resultHeader" }, result.label),
|
|
28188
|
-
result.items.map((item)
|
|
28189
|
-
return React__default["default"].createElement(ResultLine, { key: item.id,
|
|
28308
|
+
result.items.map(function (item) {
|
|
28309
|
+
return React__default["default"].createElement(ResultLine, __assign({ key: item.id }, item));
|
|
28190
28310
|
})));
|
|
28191
28311
|
};
|
|
28192
28312
|
return (React__default["default"].createElement("div", { className: "LuiSearchInput-results" },
|
|
@@ -28194,15 +28314,15 @@ const ResultsDisplay = ({ isLoading, onClick, children, selectedId, selectedRef,
|
|
|
28194
28314
|
React__default["default"].createElement(Skeleton, { className: "LuiSearchInput-skeletonItem", count: SKELETON_COUNT }))),
|
|
28195
28315
|
!isLoading &&
|
|
28196
28316
|
isGroupedResult(results) &&
|
|
28197
|
-
results.map((result, index)
|
|
28317
|
+
results.map(function (result, index) {
|
|
28198
28318
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
28199
|
-
React__default["default"].createElement(GroupedResult, { key: result.id,
|
|
28319
|
+
React__default["default"].createElement(GroupedResult, __assign({ key: result.id }, result)),
|
|
28200
28320
|
index !== results.length - 1 && (React__default["default"].createElement("hr", { className: "LuiSearchInput-groupSeparator" }))));
|
|
28201
28321
|
}),
|
|
28202
28322
|
!isLoading &&
|
|
28203
28323
|
!isGroupedResult(results) &&
|
|
28204
|
-
results.map((result)
|
|
28205
|
-
return React__default["default"].createElement(ResultLine, { key: result.id,
|
|
28324
|
+
results.map(function (result) {
|
|
28325
|
+
return React__default["default"].createElement(ResultLine, __assign({ key: result.id }, result));
|
|
28206
28326
|
}),
|
|
28207
28327
|
children));
|
|
28208
28328
|
};
|
|
@@ -28215,34 +28335,36 @@ function isGroupedResult(result) {
|
|
|
28215
28335
|
}
|
|
28216
28336
|
function flatten(items) {
|
|
28217
28337
|
if (isGroupedResult(items)) {
|
|
28218
|
-
return items.flatMap((item)
|
|
28338
|
+
return items.flatMap(function (item) { return item.items; });
|
|
28219
28339
|
}
|
|
28220
28340
|
return items;
|
|
28221
28341
|
}
|
|
28222
|
-
|
|
28223
|
-
|
|
28224
|
-
|
|
28225
|
-
|
|
28226
|
-
|
|
28227
|
-
|
|
28228
|
-
|
|
28229
|
-
|
|
28342
|
+
var LuiSearchInput = function (props) {
|
|
28343
|
+
var _a = React.useState(props.initialValue ? props.initialValue : ''), typedValue = _a[0], setTypedValue = _a[1];
|
|
28344
|
+
var _b = React.useState([]), results = _b[0], setResults = _b[1];
|
|
28345
|
+
var _c = React.useState(''), selectedId = _c[0], setSelectedId = _c[1];
|
|
28346
|
+
var _d = React.useState(false), haveFocus = _d[0], setHaveFocus = _d[1];
|
|
28347
|
+
var _e = React.useState(false), isLoading = _e[0], setIsLoading = _e[1];
|
|
28348
|
+
var inputRef = React.useRef(null);
|
|
28349
|
+
var selectedRef = React.useRef(null);
|
|
28230
28350
|
//set focus to inut box
|
|
28231
|
-
React.useEffect(()
|
|
28351
|
+
React.useEffect(function () {
|
|
28352
|
+
var _a;
|
|
28232
28353
|
if (props.focusUpdate !== undefined)
|
|
28233
|
-
inputRef.current
|
|
28354
|
+
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
28234
28355
|
}, [props.focusUpdate]);
|
|
28235
28356
|
//clear result after search types changed
|
|
28236
|
-
React.useEffect(()
|
|
28357
|
+
React.useEffect(function () {
|
|
28237
28358
|
setResults([]);
|
|
28238
28359
|
}, [props.getOptions]);
|
|
28239
28360
|
function setInputValue(value) {
|
|
28240
28361
|
setTypedValue(props.inputTransformer ? props.inputTransformer(value) : value);
|
|
28241
28362
|
}
|
|
28242
28363
|
function moveDown() {
|
|
28243
|
-
|
|
28244
|
-
|
|
28245
|
-
for (
|
|
28364
|
+
var items = flatten(results);
|
|
28365
|
+
var takeNext = selectedId === '';
|
|
28366
|
+
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
|
|
28367
|
+
var item = items_1[_i];
|
|
28246
28368
|
if (item.id === selectedId) {
|
|
28247
28369
|
takeNext = true;
|
|
28248
28370
|
}
|
|
@@ -28254,9 +28376,10 @@ const LuiSearchInput = (props) => {
|
|
|
28254
28376
|
return;
|
|
28255
28377
|
}
|
|
28256
28378
|
function moveUp() {
|
|
28257
|
-
|
|
28258
|
-
|
|
28259
|
-
for (
|
|
28379
|
+
var items = flatten(results);
|
|
28380
|
+
var takeNext = false;
|
|
28381
|
+
for (var _i = 0, _a = __spreadArray([], items, true).reverse(); _i < _a.length; _i++) {
|
|
28382
|
+
var item = _a[_i];
|
|
28260
28383
|
if (item.id === selectedId) {
|
|
28261
28384
|
takeNext = true;
|
|
28262
28385
|
}
|
|
@@ -28268,30 +28391,42 @@ const LuiSearchInput = (props) => {
|
|
|
28268
28391
|
return;
|
|
28269
28392
|
}
|
|
28270
28393
|
function selectItem(itemId) {
|
|
28271
|
-
|
|
28272
|
-
|
|
28394
|
+
var id = itemId ? itemId : selectedId;
|
|
28395
|
+
var selectedItem = flatten(results).find(function (item) { return item.id === id; });
|
|
28273
28396
|
if (selectedItem) {
|
|
28274
28397
|
setHaveFocus(false);
|
|
28275
28398
|
setInputValue(selectedItem.description);
|
|
28276
28399
|
props.onSelectOption(selectedItem);
|
|
28277
28400
|
}
|
|
28278
28401
|
}
|
|
28279
|
-
|
|
28280
|
-
|
|
28281
|
-
|
|
28282
|
-
|
|
28283
|
-
|
|
28284
|
-
|
|
28285
|
-
|
|
28286
|
-
|
|
28287
|
-
|
|
28288
|
-
|
|
28402
|
+
function retrieveResults(input) {
|
|
28403
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
28404
|
+
var results_1, items, selectedIdInResults;
|
|
28405
|
+
return __generator(this, function (_a) {
|
|
28406
|
+
switch (_a.label) {
|
|
28407
|
+
case 0:
|
|
28408
|
+
if (!(input !== '' && input.length >= props.minCharactersForSearch)) return [3 /*break*/, 4];
|
|
28409
|
+
setIsLoading(true);
|
|
28410
|
+
_a.label = 1;
|
|
28411
|
+
case 1:
|
|
28412
|
+
_a.trys.push([1, , 3, 4]);
|
|
28413
|
+
return [4 /*yield*/, props.getOptions(input)];
|
|
28414
|
+
case 2:
|
|
28415
|
+
results_1 = _a.sent();
|
|
28416
|
+
items = flatten(results_1);
|
|
28417
|
+
setResults(results_1);
|
|
28418
|
+
selectedIdInResults = items.some(function (item) { return item.id === selectedId; });
|
|
28419
|
+
if (!selectedIdInResults) {
|
|
28420
|
+
setSelectedId(items.length ? items[0].id : '');
|
|
28421
|
+
}
|
|
28422
|
+
return [3 /*break*/, 4];
|
|
28423
|
+
case 3:
|
|
28424
|
+
setIsLoading(false);
|
|
28425
|
+
return [7 /*endfinally*/];
|
|
28426
|
+
case 4: return [2 /*return*/];
|
|
28289
28427
|
}
|
|
28290
|
-
}
|
|
28291
|
-
|
|
28292
|
-
setIsLoading(false);
|
|
28293
|
-
}
|
|
28294
|
-
}
|
|
28428
|
+
});
|
|
28429
|
+
});
|
|
28295
28430
|
}
|
|
28296
28431
|
function handleKeyDown(event) {
|
|
28297
28432
|
switch (event.key) {
|
|
@@ -28314,19 +28449,19 @@ const LuiSearchInput = (props) => {
|
|
|
28314
28449
|
}
|
|
28315
28450
|
function scrollToViewSelected(topOfView) {
|
|
28316
28451
|
// Wait for ref to update before scrolling to it
|
|
28317
|
-
setTimeout(()
|
|
28452
|
+
setTimeout(function () { var _a; return (_a = selectedRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView(topOfView); }, 0);
|
|
28318
28453
|
}
|
|
28319
|
-
React.useEffect(()
|
|
28454
|
+
React.useEffect(function () {
|
|
28320
28455
|
retrieveResults(typedValue);
|
|
28321
28456
|
}, [typedValue]);
|
|
28322
|
-
|
|
28323
|
-
onClick: ()
|
|
28457
|
+
var cancelIcon = typedValue !== '' ? (React__default["default"].createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "md", className: 'LuiSearchInput-iconPosition', spanProps: {
|
|
28458
|
+
onClick: function () {
|
|
28324
28459
|
setInputValue('');
|
|
28325
28460
|
setResults([]);
|
|
28326
|
-
}
|
|
28461
|
+
}
|
|
28327
28462
|
} })) : null;
|
|
28328
|
-
|
|
28329
|
-
|
|
28463
|
+
var searchIcon = (React__default["default"].createElement(LuiIcon, { className: 'LuiSearchInput-startIconPosition', name: "ic_search", size: "md", alt: "search", spanProps: { onClick: function () { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); } } }));
|
|
28464
|
+
var typeMore = 'You need to type a few more characters';
|
|
28330
28465
|
function enoughChars(input) {
|
|
28331
28466
|
if (typeof props.minCharactersForSearch === 'number')
|
|
28332
28467
|
return input.length >= props.minCharactersForSearch;
|
|
@@ -28341,20 +28476,20 @@ const LuiSearchInput = (props) => {
|
|
|
28341
28476
|
return typeMore;
|
|
28342
28477
|
}
|
|
28343
28478
|
if (props.name)
|
|
28344
|
-
return
|
|
28479
|
+
return "The ".concat(props.name, " could not be displayed or does not exist.");
|
|
28345
28480
|
else
|
|
28346
28481
|
return null;
|
|
28347
28482
|
}
|
|
28348
28483
|
return (React__default["default"].createElement("div", { className: "LuiSearchInput" },
|
|
28349
28484
|
React__default["default"].createElement("span", { className: "LuiSearchInput-inputWrapper" },
|
|
28350
28485
|
searchIcon,
|
|
28351
|
-
React__default["default"].createElement("input", { type: "text", className: clsx('LuiSearchInput-input'), ref: inputRef, value: typedValue, placeholder: props.placeholderText, "aria-label": "Search", onChange: (e)
|
|
28486
|
+
React__default["default"].createElement("input", { type: "text", className: clsx('LuiSearchInput-input'), ref: inputRef, value: typedValue, placeholder: props.placeholderText, "aria-label": "Search", onChange: function (e) { return setInputValue(e.target.value); }, onKeyDown: handleKeyDown, onFocus: function (e) {
|
|
28352
28487
|
e.target.select();
|
|
28353
28488
|
retrieveResults(typedValue);
|
|
28354
28489
|
setHaveFocus(true);
|
|
28355
28490
|
},
|
|
28356
28491
|
// This timeout could be a little brittle but allows the menu to stay open long enough to click it
|
|
28357
|
-
onBlur: ()
|
|
28492
|
+
onBlur: function () { return setTimeout(function () { return setHaveFocus(false); }, 200); } }),
|
|
28358
28493
|
cancelIcon),
|
|
28359
28494
|
(isLoading || results.length > 0) && haveFocus && (React__default["default"].createElement("div", null,
|
|
28360
28495
|
React__default["default"].createElement(ResultsDisplay, { results: results, selectedId: selectedId, setSelectedId: setSelectedId, selectedRef: selectedRef, onClick: selectItem, isLoading: isLoading, renderItem: props.renderItem }))),
|
|
@@ -28370,33 +28505,43 @@ const LuiSearchInput = (props) => {
|
|
|
28370
28505
|
React__default["default"].createElement("div", { "data-testid": "disclaimer", className: "LuiSearchInput-disclaimer" }, props.disclaimer)))));
|
|
28371
28506
|
};
|
|
28372
28507
|
|
|
28373
|
-
|
|
28508
|
+
var resultStyle$1 = { verticalAlign: 'middle' };
|
|
28374
28509
|
/**
|
|
28375
28510
|
* LuiSearchBox is a search input with select menu.
|
|
28376
28511
|
* The options of the menu and input can be passed in as an array.
|
|
28377
28512
|
* See examples in SearchBox in storybook.
|
|
28378
28513
|
*/
|
|
28379
|
-
|
|
28380
|
-
|
|
28381
|
-
|
|
28514
|
+
var LuiSearchBox = function (_a) {
|
|
28515
|
+
var searchBoxOptions = _a.searchBoxOptions, initOptionValue = _a.initOptionValue, onMenuSelect = _a.onMenuSelect, autoFocus = _a.autoFocus;
|
|
28516
|
+
var initOption = searchBoxOptions.find(function (_a) {
|
|
28517
|
+
var value = _a.value;
|
|
28518
|
+
return value === initOptionValue;
|
|
28519
|
+
});
|
|
28520
|
+
var _b = React.useState(initOption ? initOption : searchBoxOptions[0]), selectedMenuOption = _b[0], setSelectedMenuOption = _b[1];
|
|
28382
28521
|
//auto focus every time select a menu item
|
|
28383
|
-
|
|
28522
|
+
var _c = React.useState(false), focusUpdate = _c[0], setFocusUpdate = _c[1];
|
|
28384
28523
|
//don't focus when first time display
|
|
28385
|
-
|
|
28386
|
-
React.useEffect(()
|
|
28387
|
-
|
|
28524
|
+
var _d = React.useState(false), isFocus = _d[0], setIsFocus = _d[1];
|
|
28525
|
+
React.useEffect(function () {
|
|
28526
|
+
var updatedOption = searchBoxOptions.find(function (_a) {
|
|
28527
|
+
var value = _a.value;
|
|
28528
|
+
return value === initOptionValue;
|
|
28529
|
+
});
|
|
28388
28530
|
if (updatedOption)
|
|
28389
28531
|
setSelectedMenuOption(updatedOption);
|
|
28390
28532
|
}, [initOptionValue]);
|
|
28391
|
-
|
|
28533
|
+
var handleMenuSelected = function (e) {
|
|
28392
28534
|
setSelectedMenuOption(findSelectedOption(e.value));
|
|
28393
28535
|
if (onMenuSelect !== undefined)
|
|
28394
28536
|
onMenuSelect(e);
|
|
28395
28537
|
setIsFocus(true);
|
|
28396
28538
|
setFocusUpdate(!focusUpdate);
|
|
28397
28539
|
};
|
|
28398
|
-
|
|
28399
|
-
|
|
28540
|
+
var findSelectedOption = function (v) {
|
|
28541
|
+
var selectedOption = searchBoxOptions.find(function (_a) {
|
|
28542
|
+
var value = _a.value;
|
|
28543
|
+
return value === v;
|
|
28544
|
+
});
|
|
28400
28545
|
return selectedOption ? selectedOption : searchBoxOptions[0];
|
|
28401
28546
|
};
|
|
28402
28547
|
return (React__default["default"].createElement("div", { className: "LuiSearchBox" },
|
|
@@ -28404,53 +28549,53 @@ const LuiSearchBox = ({ searchBoxOptions, initOptionValue, onMenuSelect, autoFoc
|
|
|
28404
28549
|
React__default["default"].createElement("div", { className: "LuiSearchBox-right" },
|
|
28405
28550
|
React__default["default"].createElement(LuiSearchInput, { name: selectedMenuOption.name ? selectedMenuOption.name : undefined, minCharactersForSearch: 2, placeholderText: selectedMenuOption.placeholderText, getOptions: selectedMenuOption.getOption, onSelectOption: selectedMenuOption.onSelectOption, renderItem: selectedMenuOption.renderItem
|
|
28406
28551
|
? selectedMenuOption.renderItem
|
|
28407
|
-
: (item)
|
|
28552
|
+
: function (item) {
|
|
28408
28553
|
return React__default["default"].createElement("span", { style: resultStyle$1 }, item.description);
|
|
28409
28554
|
}, disclaimer: selectedMenuOption.disclaimer, focusUpdate: autoFocus && isFocus ? focusUpdate : undefined }))));
|
|
28410
28555
|
};
|
|
28411
|
-
|
|
28412
|
-
return (React__default["default"].createElement(LuiButton, { level: "tertiary",
|
|
28556
|
+
var LuiSearchBoxButton = React__default["default"].forwardRef(function (props, ref) {
|
|
28557
|
+
return (React__default["default"].createElement(LuiButton, __assign({ level: "tertiary" }, props, { ref: ref, className: "LuiSearchBox-button" }),
|
|
28413
28558
|
props.children,
|
|
28414
28559
|
React__default["default"].createElement(LuiIcon, { size: "md", name: 'ic_keyboard_arrow_down', className: 'LuiSearchBox-button-icon', alt: '' })));
|
|
28415
28560
|
});
|
|
28416
|
-
|
|
28561
|
+
var renderSelectMenu = function (items, onClick) { return (React__default["default"].createElement(React__default["default"].Fragment, null, items.map(function (item) {
|
|
28417
28562
|
return (React__default["default"].createElement(React__default["default"].Fragment, { key: item.value },
|
|
28418
28563
|
item.groupDivider ? React__default["default"].createElement(LuiSelectMenuDivider, null) : null,
|
|
28419
28564
|
item.groupTitle ? (React__default["default"].createElement(LuiSelectMenuHeader, null, item.groupTitle)) : null,
|
|
28420
|
-
React__default["default"].createElement(LuiSelectMenuItem, { "data-testid":
|
|
28421
|
-
})));
|
|
28565
|
+
React__default["default"].createElement(LuiSelectMenuItem, { "data-testid": "select-box-".concat(item.value), value: item.value, onClick: onClick, noPadding: true }, item.title)));
|
|
28566
|
+
}))); };
|
|
28422
28567
|
|
|
28423
|
-
|
|
28568
|
+
var exampleSearchResults = [
|
|
28424
28569
|
{
|
|
28425
28570
|
id: 'DP44035-1',
|
|
28426
|
-
description: 'This is a example Newlands search result'
|
|
28571
|
+
description: 'This is a example Newlands search result'
|
|
28427
28572
|
},
|
|
28428
28573
|
{
|
|
28429
28574
|
id: 'DP44035-2',
|
|
28430
|
-
description: 'This is a example Newlands search result 2'
|
|
28575
|
+
description: 'This is a example Newlands search result 2'
|
|
28431
28576
|
},
|
|
28432
28577
|
];
|
|
28433
|
-
|
|
28578
|
+
var getDefaultOptions = function (input) {
|
|
28434
28579
|
if (input) {
|
|
28435
|
-
|
|
28580
|
+
var results_1 = exampleSearchResults.filter(function (item) {
|
|
28436
28581
|
return item.description.toUpperCase().includes(input.toUpperCase());
|
|
28437
28582
|
});
|
|
28438
|
-
return new Promise((resolve)
|
|
28439
|
-
setTimeout(()
|
|
28583
|
+
return new Promise(function (resolve) {
|
|
28584
|
+
setTimeout(function () { return resolve(results_1); }, 250);
|
|
28440
28585
|
});
|
|
28441
28586
|
}
|
|
28442
28587
|
else {
|
|
28443
28588
|
return Promise.resolve([]);
|
|
28444
28589
|
}
|
|
28445
28590
|
};
|
|
28446
|
-
|
|
28591
|
+
var defaultSelectOption = function (selectedOption) {
|
|
28447
28592
|
console.log('SELECTED OPTION: ', selectedOption);
|
|
28448
28593
|
};
|
|
28449
|
-
|
|
28450
|
-
|
|
28594
|
+
var resultStyle = { verticalAlign: 'middle' };
|
|
28595
|
+
var defaultRenderItem = function (item) {
|
|
28451
28596
|
return React__default["default"].createElement("span", { style: resultStyle }, item.description);
|
|
28452
28597
|
};
|
|
28453
|
-
|
|
28598
|
+
var searchBoxOptions = [
|
|
28454
28599
|
{
|
|
28455
28600
|
groupTitle: 'Title',
|
|
28456
28601
|
value: 'address',
|
|
@@ -28460,28 +28605,28 @@ const searchBoxOptions = [
|
|
|
28460
28605
|
disclaimer: 'This is a default disclaimer, add your own search options',
|
|
28461
28606
|
getOption: getDefaultOptions,
|
|
28462
28607
|
onSelectOption: defaultSelectOption,
|
|
28463
|
-
renderItem: defaultRenderItem
|
|
28608
|
+
renderItem: defaultRenderItem
|
|
28464
28609
|
},
|
|
28465
28610
|
{
|
|
28466
28611
|
value: 'titleReference',
|
|
28467
28612
|
title: 'Title Reference',
|
|
28468
28613
|
placeholderText: 'Enter a title reference e.g. TN117/154',
|
|
28469
28614
|
getOption: getDefaultOptions,
|
|
28470
|
-
onSelectOption: defaultSelectOption
|
|
28615
|
+
onSelectOption: defaultSelectOption
|
|
28471
28616
|
},
|
|
28472
28617
|
{
|
|
28473
28618
|
value: 'ownerName',
|
|
28474
28619
|
title: 'Registered Owner',
|
|
28475
28620
|
placeholderText: 'Enter owners name',
|
|
28476
28621
|
getOption: getDefaultOptions,
|
|
28477
|
-
onSelectOption: defaultSelectOption
|
|
28622
|
+
onSelectOption: defaultSelectOption
|
|
28478
28623
|
},
|
|
28479
28624
|
{
|
|
28480
28625
|
value: 'lgdId',
|
|
28481
28626
|
title: 'Legal Description',
|
|
28482
28627
|
placeholderText: 'Example: Lot 2 DP 1234',
|
|
28483
28628
|
getOption: getDefaultOptions,
|
|
28484
|
-
onSelectOption: defaultSelectOption
|
|
28629
|
+
onSelectOption: defaultSelectOption
|
|
28485
28630
|
},
|
|
28486
28631
|
{
|
|
28487
28632
|
value: 'parcelId',
|
|
@@ -28489,7 +28634,7 @@ const searchBoxOptions = [
|
|
|
28489
28634
|
placeholderText: 'Enter a parcel id e.g 93851642',
|
|
28490
28635
|
disclaimer: 'testdd2',
|
|
28491
28636
|
getOption: getDefaultOptions,
|
|
28492
|
-
onSelectOption: defaultSelectOption
|
|
28637
|
+
onSelectOption: defaultSelectOption
|
|
28493
28638
|
},
|
|
28494
28639
|
{
|
|
28495
28640
|
groupTitle: 'Survey',
|
|
@@ -28498,7 +28643,7 @@ const searchBoxOptions = [
|
|
|
28498
28643
|
title: 'Survey number',
|
|
28499
28644
|
placeholderText: 'Enter a survey number, e.g. DP 44035',
|
|
28500
28645
|
getOption: getDefaultOptions,
|
|
28501
|
-
onSelectOption: defaultSelectOption
|
|
28646
|
+
onSelectOption: defaultSelectOption
|
|
28502
28647
|
},
|
|
28503
28648
|
{
|
|
28504
28649
|
groupTitle: 'Instrument',
|
|
@@ -28507,19 +28652,20 @@ const searchBoxOptions = [
|
|
|
28507
28652
|
title: 'Instrument Number',
|
|
28508
28653
|
placeholderText: 'Example: 7723502.2',
|
|
28509
28654
|
getOption: getDefaultOptions,
|
|
28510
|
-
onSelectOption: defaultSelectOption
|
|
28655
|
+
onSelectOption: defaultSelectOption
|
|
28511
28656
|
},
|
|
28512
28657
|
];
|
|
28513
|
-
|
|
28658
|
+
var getDefaultSearchMenuOptions = function () {
|
|
28514
28659
|
return searchBoxOptions;
|
|
28515
28660
|
};
|
|
28516
|
-
|
|
28661
|
+
var LOLSearchBox = function (_a) {
|
|
28662
|
+
var searchBoxOptions = _a.searchBoxOptions, initOptionValue = _a.initOptionValue, onMenuSelect = _a.onMenuSelect;
|
|
28517
28663
|
return (React__default["default"].createElement(LuiSearchBox, { onMenuSelect: onMenuSelect, initOptionValue: initOptionValue, searchBoxOptions: searchBoxOptions ? searchBoxOptions : getDefaultSearchMenuOptions() }));
|
|
28518
28664
|
};
|
|
28519
28665
|
|
|
28520
28666
|
var mountainBroken = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzAwIDI1MCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fS5jbHMtMntmaWxsOiM0MjQ1NDc7fS5jbHMtM3tjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgpO30uY2xzLTR7ZmlsbDojN2E3YTdhO30uY2xzLTV7b3BhY2l0eTowLjU7fS5jbHMtNntmaWxsOmdyYXk7fS5jbHMtN3tmaWxsOiNhM2EzYTM7fS5jbHMtOHtmaWxsOiNmZmY7fS5jbHMtOXtmaWxsOnVybCgjcmFkaWFsLWdyYWRpZW50KTt9LmNscy0xMHtmaWxsOnVybCgjcmFkaWFsLWdyYWRpZW50LTIpO30uY2xzLTExe2ZpbGw6dXJsKCNsaW5lYXItZ3JhZGllbnQpO30uY2xzLTEye2ZpbGw6I2ViY2VhYzt9LmNscy0xM3tmaWxsOiNkNGJhOWI7fS5jbHMtMTR7b3BhY2l0eTowLjM7fS5jbHMtMTUsLmNscy0xNntmaWxsOiM3ZDczNjg7fS5jbHMtMTZ7b3BhY2l0eTowLjI7fS5jbHMtMTd7ZmlsbDojYjNlZWY4O30uY2xzLTE4e2ZpbGw6IzAwYTRhMjt9LmNscy0xOXtmaWxsOiM2YmNhYzk7fS5jbHMtMjB7ZmlsbDojOTZkYWQ5O30uY2xzLTIxe2ZpbGw6IzAwNjkyYTt9LmNscy0yMntmaWxsOiMwMDgzOWQ7fS5jbHMtMjN7ZmlsbDojMDA4YTE3O30uY2xzLTI0e2ZpbGw6IzAwNjU1Yzt9LmNscy0yNXtmaWxsOiMwMGFkMWI7fS5jbHMtMjZ7ZmlsbDp1cmwoI2xpbmVhci1ncmFkaWVudC0yKTt9LmNscy0yN3tmaWxsOiM2YjE2MGY7fS5jbHMtMjh7ZmlsbDojYmMyNjFhO30uY2xzLTI5e2ZpbGw6IzNkMDUwMDt9LmNscy0zMHtmaWxsOnVybCgjbGluZWFyLWdyYWRpZW50LTMpO30uY2xzLTMxe2ZpbGw6I2ViNGMzZjt9LmNscy0zMntmaWxsOnVybCgjbGluZWFyLWdyYWRpZW50LTQpO30uY2xzLTMze2ZpbGw6IzYxNjA2MDt9LmNscy0zNHtmaWxsOiNkYmQ5ZDk7fTwvc3R5bGU+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIyMTEuMTQgMTIwLjAxIDE3NS43MSA3MC44NiAxNDUuNDIgMjMuNDMgMTE5LjMyIDc2LjU4IDk0LjU2IDExNS40NCA1Ni44NCAxNzkuNDUgMTI4LjkzIDE3NC42OSAxODMuNzEgMTgxLjc0IDI1OS43MiAxNjcuNDUgMjExLjE0IDEyMC4wMSIvPjwvY2xpcFBhdGg+PHJhZGlhbEdyYWRpZW50IGlkPSJyYWRpYWwtZ3JhZGllbnQiIGN4PSIxNDguNiIgY3k9IjEwNC40NSIgcj0iNzYuODIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAuMTMiIHN0b3AtY29sb3I9IiM3Zjg1OGEiIHN0b3Atb3BhY2l0eT0iMCIvPjxzdG9wIG9mZnNldD0iMC4yMiIgc3RvcC1jb2xvcj0iIzZlNzM3NyIgc3RvcC1vcGFjaXR5PSIwLjA5Ii8+PHN0b3Agb2Zmc2V0PSIwLjk2IiBzdG9wLWNvbG9yPSIjMGUwZjBmIiBzdG9wLW9wYWNpdHk9IjAuNiIvPjwvcmFkaWFsR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPSJyYWRpYWwtZ3JhZGllbnQtMiIgY3g9IjExNS40OSIgY3k9Ijg0LjE3IiByPSIxNTUuMjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiN2MwYzciLz48c3RvcCBvZmZzZXQ9IjAuMDQiIHN0b3AtY29sb3I9IiNhY2I0YmIiLz48c3RvcCBvZmZzZXQ9IjAuMjgiIHN0b3AtY29sb3I9IiM3NDdhN2UiLz48c3RvcCBvZmZzZXQ9IjAuNSIgc3RvcC1jb2xvcj0iIzQ4NGM0ZSIvPjxzdG9wIG9mZnNldD0iMC43IiBzdG9wLWNvbG9yPSIjMjgyYjJjIi8+PHN0b3Agb2Zmc2V0PSIwLjg2IiBzdG9wLWNvbG9yPSIjMTUxNjE3Ii8+PHN0b3Agb2Zmc2V0PSIwLjk2IiBzdG9wLWNvbG9yPSIjMGUwZjBmIi8+PC9yYWRpYWxHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudCIgeDE9IjIwMC44MSIgeTE9IjE5NC43OSIgeDI9IjI5MC4wOSIgeTI9IjE5NC43OSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2JhYmFiYSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2Y1ZjVmNSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQtMiIgeDE9IjExMi40MSIgeTE9IjE5NC4zNiIgeDI9IjE1NCIgeTI9IjE4NC4wMyIgeGxpbms6aHJlZj0iI2xpbmVhci1ncmFkaWVudCIvPjxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyLWdyYWRpZW50LTMiIHgxPSItMjc2LjQyIiB5MT0iLTc2Ljg3IiB4Mj0iLTI1NC44OSIgeTI9Ii03Ny4xNSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgtNzcuNTUgMzgyKSByb3RhdGUoMTE3LjY5KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2M3ZDBkNiIvPjxzdG9wIG9mZnNldD0iMC4wOSIgc3RvcC1jb2xvcj0iI2FlYjZiYiIvPjxzdG9wIG9mZnNldD0iMC4zMiIgc3RvcC1jb2xvcj0iIzc2N2I3ZSIvPjxzdG9wIG9mZnNldD0iMC41MyIgc3RvcC1jb2xvcj0iIzQ5NGM0ZSIvPjxzdG9wIG9mZnNldD0iMC43MSIgc3RvcC1jb2xvcj0iIzI5MmIyYyIvPjxzdG9wIG9mZnNldD0iMC44NiIgc3RvcC1jb2xvcj0iIzE1MTYxNyIvPjxzdG9wIG9mZnNldD0iMC45NiIgc3RvcC1jb2xvcj0iIzBlMGYwZiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQtNCIgeDE9IjExNi4yNCIgeTE9IjE4NC42NSIgeDI9IjExNi4yOCIgeTI9IjE4OC4zNiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgtMjEuNDEgMTcuODcpIHJvdGF0ZSgtNy4wNSkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNhNmFmYjUiLz48c3RvcCBvZmZzZXQ9IjAuMjQiIHN0b3AtY29sb3I9IiM3NDdhN2UiLz48c3RvcCBvZmZzZXQ9IjAuNDciIHN0b3AtY29sb3I9IiM0ODRjNGUiLz48c3RvcCBvZmZzZXQ9IjAuNjgiIHN0b3AtY29sb3I9IiMyODJiMmMiLz48c3RvcCBvZmZzZXQ9IjAuODUiIHN0b3AtY29sb3I9IiMxNTE2MTciLz48c3RvcCBvZmZzZXQ9IjAuOTYiIHN0b3AtY29sb3I9IiMwZTBmMGYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIj48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMjExLjE0IDEyMC4wMSAxNzUuNzEgNzAuODYgMTQ1LjQyIDIzLjQzIDExOS4zMiA3Ni41OCA5NC41NiAxMTUuNDQgNTYuODQgMTc5LjQ1IDEyOC45MyAxNzQuNjkgMTgzLjcxIDE4MS43NCAyNTkuNzIgMTY3LjQ1IDIxMS4xNCAxMjAuMDEiLz48ZyBjbGFzcz0iY2xzLTMiPjxwYXRoIGNsYXNzPSJjbHMtNCIgZD0iTTE0Ni43OSw2OS44MmwtMS0uNDNjLS44Mi0uMzQtLjg3LTEtLjEyLTEuNDdsMS0uNTljLjc1LS40Ny42NC0uOS0uMjUtMWwtMS4xMS0uMDdjLS44OS0uMDYtMS4xNS0uNjYtLjU5LTEuMzVsLjctLjg3Yy41Ni0uNjkuMzItMS4wNS0uNTQtLjgybC0xLjA4LjNjLS44NS4yMy0xLjMtLjI2LTEtMS4wOWwuMzgtMWMuMzEtLjgzLDAtMS4xLS43Ny0uNmwtLjkzLjYzYy0uNzMuNS0xLjMxLjE5LTEuMjktLjdsMC0xLjEyYzAtLjg4LS40LTEtLjkzLS4zMmwtLjY3LjljLS41Mi43MS0xLjE4LjYtMS40NS0uMjRsLS4zNC0xLjA3Yy0uMjctLjg0LS43MS0uODQtMSwwTDEzNS40Myw2MGMtLjI3Ljg0LS45MywxLTEuNDUuMjRsLS42Ny0uOWMtLjUzLS43MS0uOTUtLjU2LS45My4zMmwwLDEuMTJjMCwuODktLjU2LDEuMi0xLjI5LjdsLS45My0uNjNjLS43My0uNS0xLjA4LS4yMy0uNzcuNmwuMzgsMWMuMzEuODMtLjE0LDEuMzItMSwxLjA5bC0xLjA4LS4zYy0uODYtLjIzLTEuMS4xMy0uNTQuODJsLjcxLjg3Yy41NS42OS4yOSwxLjI5LS42LDEuMzVsLTEuMTEuMDdjLS44OS4wNS0xLC40OC0uMjUsMWwxLC41OWMuNzUuNDcuNjksMS4xMy0uMTMsMS40N2wtMSwuNDNjLS44Mi4zNC0uNzguNzguMDgsMWwxLjA5LjI1Yy44Ni4yLDEsLjg0LjM2LDEuNDNsLS44NC43NGMtLjY2LjU4LS40OCwxLC40LjlsMS4xMS0uMTJjLjg4LS4wOSwxLjI0LjQ2LjgxLDEuMjNsLS41NiwxYy0uNDMuNzctLjEzLDEuMDkuNjcuNzJsMS0uNDdjLjgxLS4zNywxLjMzLDAsMS4xNy45bC0uMjEsMS4xYy0uMTcuODcuMjIsMS4wOC44Ni40N2wuODEtLjc4Yy42NC0uNjEsMS4yNi0uMzksMS4zOS40OGwuMTYsMS4xMWMuMTMuODguNTcsMSwxLC4xNmwuNTEtMWMuNDEtLjc5LDEuMDctLjc5LDEuNDgsMGwuNTEsMWMuNC43OS44NC43MiwxLS4xNmwuMTYtMS4xMWMuMTMtLjg3Ljc1LTEuMDksMS4zOS0uNDhsLjgxLjc4Yy42NC42MSwxLC40Ljg2LS40N2wtLjIxLTEuMWMtLjE2LS44Ny4zNi0xLjI3LDEuMTctLjlsMSwuNDdjLjgxLjM3LDEuMSwwLC42Ny0uNzJsLS41Ni0xYy0uNDMtLjc3LS4wNy0xLjMyLjgxLTEuMjNsMS4xMS4xMmMuODguMDksMS4wNi0uMzIuNC0uOWwtLjg0LS43NGMtLjY2LS41OS0uNS0xLjIzLjM2LTEuNDNsMS4wOS0uMjVDMTQ3LjU3LDcwLjYsMTQ3LjYxLDcwLjE2LDE0Ni43OSw2OS44MlptLTEwLjUzLDYuODNhNy4zLDcuMywwLDEsMSw3LjMtNy4yOUE3LjI5LDcuMjksMCwwLDEsMTM2LjI2LDc2LjY1WiIvPjxjaXJjbGUgY2xhc3M9ImNscy00IiBjeD0iMTM2LjI2IiBjeT0iNjkuMzYiIHI9IjMuNjIiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik0xMTEsMTI5LjgzbC0xLjY1LS42OGMtMS4zLS41NC0xLjM4LTEuNTktLjE5LTIuMzRsMS41MS0uOTRjMS4xOS0uNzQsMS0xLjQyLS4zOC0xLjUxbC0xLjc4LS4xMWMtMS40MS0uMDktMS44My0xLS45NC0yLjE0bDEuMTItMS4zOWMuODktMS4wOS41LTEuNjgtLjg1LTEuM2wtMS43Mi40N2MtMS4zNi4zNy0yLjA3LS40LTEuNTktMS43MmwuNjItMS42OGMuNDgtMS4zMi0uMDctMS43NS0xLjIzLS45NWwtMS40NywxYy0xLjE3Ljc5LTIuMDkuMjktMi4wNi0xLjExbDAtMS43OGMwLTEuNDEtLjYzLTEuNjQtMS40Ny0uNTFsLTEuMDcsMS40M2MtLjg0LDEuMTItMS44OCwxLTIuMzEtLjM5bC0uNTQtMS42OWMtLjQzLTEuMzQtMS4xMy0xLjM0LTEuNTYsMEw5MywxMTQuMThjLS40MywxLjM0LTEuNDcsMS41MS0yLjMxLjM5bC0xLjA3LTEuNDNjLS44NC0xLjEzLTEuNS0uOS0xLjQ3LjUxbDAsMS43OGMwLDEuNC0uODksMS45LTIsMS4xMWwtMS40OC0xYy0xLjE2LS44LTEuNzEtLjM3LTEuMjMuOTVsLjYyLDEuNjhjLjQ4LDEuMzItLjIzLDIuMDktMS41OSwxLjcybC0xLjcyLS40N2MtMS4zNS0uMzgtMS43NC4yMS0uODUsMS4zTDgxLDEyMi4xMWMuODksMS4wOS40NywyLS45NCwyLjE0bC0xLjc3LjExYy0xLjQxLjA5LTEuNTguNzctLjM5LDEuNTFsMS41MS45NGMxLjIuNzUsMS4xMSwxLjgtLjE5LDIuMzRsLTEuNjUuNjhjLTEuMjkuNTQtMS4yNCwxLjI0LjEzLDEuNTVsMS43NC40MWMxLjM3LjMxLDEuNjMsMS4zMy41NywyLjI2bC0xLjMzLDEuMThjLTEuMDYuOTMtLjc3LDEuNTguNjIsMS40M2wxLjc4LS4xOGMxLjQtLjE1LDIsLjc0LDEuMjgsMkw4MS40MywxNDBjLS43LDEuMjItLjIyLDEuNzQsMSwxLjE1bDEuNjItLjc1YzEuMjgtLjU5LDIuMTEuMDUsMS44NSwxLjQzbC0uMzMsMS43NWMtLjI2LDEuMzkuMzYsMS43MiwxLjM3Ljc1bDEuMjktMS4yNGMxLTEsMi0uNjMsMi4yMS43NmwuMjYsMS43N2MuMiwxLjM5Ljg5LDEuNSwxLjUzLjI1bC44Mi0xLjU4Yy42NC0xLjI1LDEuNy0xLjI1LDIuMzQsMGwuODIsMS41OGMuNjQsMS4yNSwxLjMzLDEuMTQsMS41NC0uMjVsLjI1LTEuNzdjLjIxLTEuMzksMS4yLTEuNzMsMi4yMi0uNzZsMS4yOCwxLjI0YzEsMSwxLjYzLjY0LDEuMzctLjc1bC0uMzMtMS43NWMtLjI2LTEuMzguNTgtMiwxLjg1LTEuNDNsMS42Mi43NWMxLjI3LjU5LDEuNzUuMDcsMS0xLjE1bC0uODgtMS41NWMtLjY5LTEuMjItLjExLTIuMTEsMS4yOC0ybDEuNzguMThjMS4zOS4xNSwxLjY4LS41LjYyLTEuNDNsLTEuMzMtMS4xOGMtMS4wNi0uOTMtLjgtMiwuNTctMi4yNmwxLjc0LS40MUMxMTIuMjYsMTMxLjA3LDExMi4zMiwxMzAuMzcsMTExLDEyOS44M1pNOTQuMjcsMTQwLjdhMTEuNjEsMTEuNjEsMCwxLDEsMTEuNi0xMS42MUExMS42LDExLjYsMCwwLDEsOTQuMjcsMTQwLjdaIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTQiIGN4PSI5NC4yNyIgY3k9IjEyOS4wOSIgcj0iNS43NSIvPjxnIGNsYXNzPSJjbHMtNSI+PHJlY3QgY2xhc3M9ImNscy02IiB4PSIxMzQuMTYiIHk9Ijc3LjMiIHdpZHRoPSIzOS40NCIgaGVpZ2h0PSIzNS45MSIgcng9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMi4yOCAxMzYuNzEpIHJvdGF0ZSgtNDUpIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIxNTMuODgiIGN5PSI5NS4yNSIgcj0iNy41MiIvPjxyZWN0IGNsYXNzPSJjbHMtNiIgeD0iMjA0LjIxIiB5PSI4MSIgd2lkdGg9IjIzLjQyIiBoZWlnaHQ9IjE1Mi41OSIgcng9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00Ny45OCAxOTguNzUpIHJvdGF0ZSgtNDUpIi8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxNTguNzUiIHk9IjExMS4zNiIgd2lkdGg9IjIzLjQyIiBoZWlnaHQ9IjAuOTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yOS4xNSAxNTMuMjkpIHJvdGF0ZSgtNDUpIi8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxNjAuMzUiIHk9IjExMi45NiIgd2lkdGg9IjIzLjQyIiBoZWlnaHQ9IjAuOTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yOS44MSAxNTQuODkpIHJvdGF0ZSgtNDUpIi8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxNjEuOTciIHk9IjExNC41OCIgd2lkdGg9IjIzLjQyIiBoZWlnaHQ9IjAuOTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMC40OSAxNTYuNTEpIHJvdGF0ZSgtNDUpIi8+PC9nPjxwYXRoIGNsYXNzPSJjbHMtNyIgZD0iTTE3MC42OSw5NS45LDE2OSw5NS4yMmMtMS4yOS0uNTQtMS4zOC0xLjU5LS4xOS0yLjMzbDEuNTEtMWMxLjE5LS43NCwxLTEuNDItLjM4LTEuNTFsLTEuNzgtLjExYy0xLjQtLjA5LTEuODMtMS0uOTQtMi4xNGwxLjEyLTEuMzljLjg5LTEuMDkuNTEtMS42OC0uODUtMS4zbC0xLjcyLjQ3Yy0xLjM1LjM3LTIuMDctLjQtMS41OC0xLjcybC42MS0xLjY3Yy40OC0xLjMyLS4wNy0xLjc2LTEuMjMtMWwtMS40NywxYy0xLjE2Ljc5LTIuMDkuMjktMi4wNi0xLjExbDAtMS43OGMwLTEuNDEtLjY0LTEuNjQtMS40OC0uNTFsLTEuMDYsMS40M2MtLjg0LDEuMTMtMS44OCwxLTIuMzEtLjM5bC0uNTUtMS42OWMtLjQyLTEuMzQtMS4xMy0xLjM0LTEuNTYsMGwtLjU0LDEuNjljLS40MywxLjM0LTEuNDcsMS41Mi0yLjMxLjM5bC0xLjA2LTEuNDNjLS44NC0xLjEzLTEuNTEtLjktMS40OC41MWwwLDEuNzhjMCwxLjQtLjksMS45LTIuMDYsMS4xMWwtMS40Ny0xYy0xLjE2LS44LTEuNzItLjM2LTEuMjMsMWwuNjEsMS42N2MuNDgsMS4zMi0uMjMsMi4wOS0xLjU5LDEuNzJsLTEuNzEtLjQ3Yy0xLjM2LS4zOC0xLjc0LjIxLS44NiwxLjNsMS4xMywxLjM5Yy44OCwxLjA5LjQ2LDItLjk0LDIuMTRsLTEuNzguMTFjLTEuNC4wOS0xLjU4Ljc3LS4zOCwxLjUxbDEuNTEsMWMxLjE5Ljc0LDEuMSwxLjc5LS4yLDIuMzNsLTEuNjQuNjhjLTEuMy41NC0xLjI0LDEuMjQuMTMsMS41NmwxLjczLjRjMS4zNy4zMSwxLjYzLDEuMzQuNTgsMi4yN2wtMS4zNCwxLjE4Yy0xLjA1LjkzLS43NywxLjU3LjYzLDEuNDJsMS43Ny0uMThjMS40LS4xNCwyLC43NCwxLjI4LDJsLS44OCwxLjU1Yy0uNjksMS4yMi0uMjIsMS43NCwxLjA2LDEuMTVsMS42MS0uNzVjMS4yOC0uNTksMi4xMS4wNSwxLjg1LDEuNDRsLS4zMywxLjc1Yy0uMjYsMS4zOC4zNiwxLjcxLDEuMzcuNzRsMS4yOS0xLjIzYzEtMSwyLS42NCwyLjIxLjc2bC4yNiwxLjc2Yy4yLDEuMzkuODksMS41LDEuNTQuMjVsLjgxLTEuNThjLjY1LTEuMjUsMS43LTEuMjUsMi4zNCwwbC44MiwxLjU4Yy42NCwxLjI1LDEuMzQsMS4xNCwxLjU0LS4yNWwuMjYtMS43NmMuMi0xLjQsMS4xOS0xLjc0LDIuMjEtLjc2bDEuMjgsMS4yM2MxLDEsMS42NC42NCwxLjM4LS43NGwtLjMzLTEuNzVjLS4yNi0xLjM5LjU3LTIsMS44NC0xLjQ0bDEuNjIuNzVjMS4yOC41OSwxLjc1LjA3LDEuMDYtMS4xNWwtLjg4LTEuNTVjLS43LTEuMjItLjEyLTIuMSwxLjI4LTJsMS43Ny4xOGMxLjQuMTUsMS42OC0uNDkuNjMtMS40MmwtMS4zNC0xLjE4Yy0xLjA1LS45My0uNzktMiwuNTgtMi4yN2wxLjczLS40QzE3MS45Myw5Ny4xNCwxNzIsOTYuNDQsMTcwLjY5LDk1LjlabS0xNi43NSwxMC44N2ExMS42MSwxMS42MSwwLDEsMSwxMS42MS0xMS42MUExMS42MSwxMS42MSwwLDAsMSwxNTMuOTQsMTA2Ljc3WiIvPjxjaXJjbGUgY2xhc3M9ImNscy03IiBjeD0iMTUzLjk0IiBjeT0iOTUuMTYiIHI9IjUuNzUiLz48cmVjdCBjbGFzcz0iY2xzLTYiIHg9IjExNi4wMyIgeT0iMTAwLjA3IiB3aWR0aD0iNDguNTUiIGhlaWdodD0iNTMuMzIiIHJ4PSI2Ljc2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAuMTYgMjQxLjIxKSByb3RhdGUoLTc5LjM2KSIvPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iMTQwLjMiIGN5PSIxMjYuNzMiIHI9IjEwLjE3Ii8+PHJlY3QgY2xhc3M9ImNscy02IiB4PSIxNS4yNSIgeT0iMjI3LjQ3IiB3aWR0aD0iMjA2LjI5IiBoZWlnaHQ9IjMxLjY3IiByeD0iNi43NiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE0Mi41OSAzMTQuNzIpIHJvdGF0ZSgtNzkuMzYpIi8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxMTguNjEiIHk9IjE1Ny4yNSIgd2lkdGg9IjMxLjY3IiBoZWlnaHQ9IjEuMjgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMxLjQ3IC0yMi4xMikgcm90YXRlKDEwLjY0KSIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iMTE4LjA1IiB5PSIxNjAuMjUiIHdpZHRoPSIzMS42NyIgaGVpZ2h0PSIxLjI4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMi4wMiAtMjEuOTYpIHJvdGF0ZSgxMC42NCkiLz48cmVjdCBjbGFzcz0iY2xzLTIiIHg9IjExNy40OCIgeT0iMTYzLjMiIHdpZHRoPSIzMS42NyIgaGVpZ2h0PSIxLjI4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMi41NyAtMjEuOCkgcm90YXRlKDEwLjY0KSIvPjxwYXRoIGNsYXNzPSJjbHMtOCIgZD0iTTEzOC43OSwxMDAuODdjLjY3LTIuMSwxLjc3LTIuMSwyLjQ0LDBsLjg1LDIuNjVjLjY3LDIuMSwyLjMsMi4zNywzLjYxLjZsMS42Ny0yLjIzYzEuMzEtMS43NiwyLjM1LTEuNDEsMi4zMS43OWwtLjA2LDIuNzljLS4wNSwyLjIsMS40LDMsMy4yMiwxLjc0bDIuMy0xLjU3YzEuODItMS4yNCwyLjY4LS41NywxLjkzLDEuNWwtMSwyLjYyYy0uNzYsMi4wNi4zNiwzLjI3LDIuNDgsMi42OWwyLjY5LS43NGMyLjEyLS41OCwyLjcyLjM0LDEuMzMsMi4wNWwtMS43NiwyLjE2Yy0xLjM4LDEuNzEtLjcyLDMuMjIsMS40OCwzLjM1bDIuNzguMThjMi4xOS4xMywyLjQ2LDEuMi42LDIuMzZsLTIuMzcsMS40OGMtMS44NiwxLjE2LTEuNzMsMi44MS4zLDMuNjVsMi41OCwxLjA2YzIsLjg1LDEuOTQsMS45NC0uMiwyLjQ0bC0yLjcyLjYzYy0yLjE0LjQ5LTIuNTUsMi4wOS0uOSwzLjU1bDIuMDksMS44NGMxLjY1LDEuNDYsMS4yMSwyLjQ2LTEsMi4yNGwtMi43Ny0uMjljLTIuMTktLjIzLTMuMDksMS4xNS0yLDMuMDdsMS4zNywyLjQyYzEuMDksMS45MS4zNSwyLjcyLTEuNjUsMS43OWwtMi41My0xLjE3Yy0yLS45Mi0zLjMuMDktMi44OSwyLjI1bC41MiwyLjc0Yy40LDIuMTYtLjU2LDIuNjktMi4xNSwxLjE2bC0yLTEuOTNjLTEuNTktMS41Mi0zLjE1LTEtMy40NywxLjE5bC0uNCwyLjc2Yy0uMzIsMi4xOC0xLjQsMi4zNi0yLjQxLjRsLTEuMjctMi40OGMtMS0yLTIuNjYtMi0zLjY2LDBsLTEuMjgsMi40OGMtMSwyLTIuMDksMS43OC0yLjQxLS40bC0uNC0yLjc2Yy0uMzItMi4xNy0xLjg4LTIuNzEtMy40Ni0xLjE5bC0yLDEuOTNjLTEuNTksMS41My0yLjU2LDEtMi4xNS0xLjE2bC41MS0yLjc0Yy40MS0yLjE2LS44OS0zLjE3LTIuODktMi4yNWwtMi41MywxLjE3Yy0yLC45My0yLjc0LjEyLTEuNjUtMS43OWwxLjM4LTIuNDJjMS4wOC0xLjkyLjE4LTMuMy0yLTMuMDdsLTIuNzguMjljLTIuMTkuMjItMi42My0uNzgtMS0yLjI0bDIuMDktMS44NGMxLjY1LTEuNDYsMS4yNS0zLjA2LS45LTMuNTVsLTIuNzEtLjYzYy0yLjE1LS41LTIuMjQtMS41OS0uMi0yLjQ0bDIuNTctMS4wNmMyLS44NCwyLjE3LTIuNDkuMy0zLjY1bC0yLjM2LTEuNDhjLTEuODctMS4xNi0xLjYtMi4yMy42LTIuMzZsMi43OC0uMThjMi4yLS4xMywyLjg2LTEuNjQsMS40Ny0zLjM1bC0xLjc2LTIuMTZjLTEuMzgtMS43MS0uNzgtMi42MywxLjM0LTIuMDVsMi42OS43NGMyLjEyLjU4LDMuMjMtLjYzLDIuNDgtMi42OWwtMS0yLjYyYy0uNzYtMi4wNy4xMS0yLjc0LDEuOTItMS41bDIuMzEsMS41N2MxLjgxLDEuMjQsMy4yNi40NiwzLjIyLTEuNzRsLS4wNi0yLjc5YzAtMi4yLDEtMi41NSwyLjMxLS43OWwxLjY2LDIuMjNjMS4zMiwxLjc3LDIuOTQsMS41LDMuNjItLjZaIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIxNDAuMDEiIGN5PSIxMjYuODUiIHI9IjE4LjE1Ii8+PGNpcmNsZSBjbGFzcz0iY2xzLTgiIGN4PSIxNDAuMDEiIGN5PSIxMjYuODUiIHI9IjkiLz48cGF0aCBjbGFzcz0iY2xzLTgiIGQ9Ik0xMDcuNDYsMTQxLjc0Yy42Ny0yLjA5LDEuNzctMi4wOSwyLjQ0LDBsLjg1LDIuNjZjLjY3LDIuMDksMi4yOSwyLjM2LDMuNjEuNmwxLjY3LTIuMjRjMS4zMS0xLjc2LDIuMzUtMS40LDIuMy44bDAsMi43OGMwLDIuMiwxLjQsMywzLjIyLDEuNzVsMi4zLTEuNThjMS44Mi0xLjI0LDIuNjgtLjU2LDEuOTMsMS41bC0xLDIuNjJjLS43NiwyLjA3LjM2LDMuMjgsMi40OCwyLjdsMi42OC0uNzRjMi4xMy0uNTksMi43My4zMywxLjM0LDJsLTEuNzYsMi4xNmMtMS4zOCwxLjcxLS43MiwzLjIyLDEuNDcsMy4zNmwyLjc5LjE3YzIuMTkuMTQsMi40NiwxLjIuNiwyLjM3TDEzMiwxNjQuMTZjLTEuODcsMS4xNy0xLjczLDIuODEuMywzLjY1bDIuNTgsMS4wN2MyLC44NCwxLjk0LDEuOTQtLjIsMi40M2wtMi43Mi42M2MtMi4xNC41LTIuNTUsMi4wOS0uOSwzLjU1bDIuMDksMS44NWMxLjY1LDEuNDUsMS4yMSwyLjQ2LTEsMi4yM2wtMi43Ny0uMjljLTIuMTktLjIyLTMuMDksMS4xNi0yLDMuMDdsMS4zNywyLjQyYzEuMDksMS45Mi4zNCwyLjcyLTEuNjUsMS44bC0yLjUzLTEuMTdjLTItLjkzLTMuMy4wOC0yLjg5LDIuMjVsLjUyLDIuNzRjLjQsMi4xNi0uNTYsMi42OC0yLjE1LDEuMTZsLTItMS45M2MtMS41OS0xLjUzLTMuMTUtMS0zLjQ3LDEuMTlsLS40LDIuNzZjLS4zMiwyLjE3LTEuNCwyLjM1LTIuNDEuNGwtMS4yNy0yLjQ4Yy0xLTItMi42Ni0yLTMuNjYsMEwxMDUuNTcsMTk0Yy0xLDEuOTUtMi4wOSwxLjc3LTIuNDEtLjRsLS40LTIuNzZjLS4zMi0yLjE4LTEuODgtMi43Mi0zLjQ2LTEuMTlsLTIsMS45M2MtMS41OCwxLjUyLTIuNTUsMS0yLjE0LTEuMTZsLjUxLTIuNzRjLjQxLTIuMTctLjg5LTMuMTgtMi44OS0yLjI1bC0yLjUzLDEuMTdjLTIsLjkyLTIuNzQuMTItMS42NS0xLjhMOTAsMTgyLjM1YzEuMDgtMS45MS4xOC0zLjI5LTItMy4wN2wtMi43Ny4yOWMtMi4xOS4yMy0yLjYzLS43OC0xLTIuMjNsMi4wOS0xLjg1YzEuNjUtMS40NiwxLjI0LTMuMDUtLjktMy41NWwtMi43MS0uNjNjLTIuMTUtLjQ5LTIuMjQtMS41OS0uMjEtMi40M2wyLjU4LTEuMDdjMi0uODQsMi4xNy0yLjQ4LjMtMy42NUw4MywxNjIuNjljLTEuODctMS4xNy0xLjYtMi4yMy42LTIuMzdsMi43OC0uMTdjMi4xOS0uMTQsMi44Ni0xLjY1LDEuNDctMy4zNmwtMS43Ni0yLjE2Yy0xLjM4LTEuNzEtLjc4LTIuNjMsMS4zNC0ybDIuNjkuNzRjMi4xMi41OCwzLjIzLS42MywyLjQ4LTIuN2wtMS0yLjYyYy0uNzYtMi4wNi4xMS0yLjc0LDEuOTItMS41bDIuMywxLjU4YzEuODIsMS4yNCwzLjI3LjQ1LDMuMjItMS43NWwwLTIuNzhjMC0yLjIsMS0yLjU2LDIuMzEtLjhMMTAzLDE0NWMxLjMyLDEuNzYsMi45NCwxLjQ5LDMuNjEtLjZaIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIxMDguNjgiIGN5PSIxNjcuNzMiIHI9IjE4LjE1Ii8+PGNpcmNsZSBjbGFzcz0iY2xzLTgiIGN4PSIxMDguNjgiIGN5PSIxNjcuNzMiIHI9IjkiLz48cGF0aCBjbGFzcz0iY2xzLTgiIGQ9Ik0xNzAuMjksMTQyLjM0Yy41LTEuNTUsMS4zMS0xLjU1LDEuODEsMHMxLjY5LDEuNzUsMi42Ny40NSwxLjc0LTEsMS43LjU4LDEsMi4yMSwyLjM4LDEuMjksMi0uNDIsMS40MywxLjExLjI2LDIuNDIsMS44MywyLDIsLjI1LDEsMS41MS0uNTQsMi4zOCwxLjA4LDIuNDgsMS44My44OS40NSwxLjc1LTEuMjgsMi4wNy4yMiwyLjcsMS40NCwxLjQzLS4xNSwxLjgtMS44OCwxLjU0LS42NiwyLjYyLjg5LDEuODItLjczLDEuNjUtMi4yOC44NS0xLjQ4LDIuMjcuMjUsMi0xLjIyLDEuMzMtMi40NC4wNi0yLjE0LDEuNjYtLjQxLDItMS41OC44Ni0yLjMzLS43My0yLjU2Ljg4LTEsMS43NC0xLjc4LjI5LTItMS40NC0yLjcxLDAtMS41NCwxLjMxLTEuNzgtLjI5LTEuMzktMi0yLjU2LS44OC0xLjg5Ljc0LTEuNTktLjg2LS42Ni0yLjM1LTIuMTMtMS42Ni0yLC4wOC0xLjIyLTEuMzMuMTMtMi40NC0xLjQ4LTIuMjctMi0uNTctLjczLTEuNjUuOTItMi4yNi0uNjYtMi42Mi0xLjY2LTEuMTgtLjE1LTEuOCwxLjYtMS44NC4yMi0yLjctMS4xOC0xLjY1LjQ0LTEuNzUsMi4xMi0xLjIyLDEuMDktMi40OC0uNTgtMS45NCwxLTEuNTEsMi4zOS0uNDYsMS44My0yLC4wOC0yLDEuNDItMS4xMSwyLjQyLjM0LDIuMzktMS4yOS43My0xLjg5LDEuNy0uNThTMTY5LjgsMTQzLjg5LDE3MC4yOSwxNDIuMzRaIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIxNzEuMTkiIGN5PSIxNTUuODYiIHI9IjkuOTUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtOCIgY3g9IjE3MS4xOSIgY3k9IjE1NS44NiIgcj0iNy4wNCIvPjxwYXRoIGNsYXNzPSJjbHMtOCIgZD0iTTE5OS42OCwxMjcuNTJjLjcxLTMuMDcsMS44Ny0zLjA3LDIuNTksMHMzLDMuNjIsNSwxLjI0LDMuMDktMS44NCwyLjMsMS4yLDEsNC41OSwzLjg4LDMuNDQsMy41OC0uMiwxLjQ3LDIuMTMtMS4yOSw0LjUxLDEuODQsNC44NSwzLjI2LDEuNDkuMzEsMi41Ny0zLjI0LDMuMzktLjYzLDUuMTUsMi4yLDIuODQtLjkyLDIuNDItNC40NCwxLjUtMi45NCw0LjI2LjYzLDMuNTQtMS45NCwxLjcyLTQuNjMtLjczLTQuNTksMi40MS0xLjA5LDMuNDMtMi41Mi42Mi0zLjc1LTIuOC01LjE4LDAtMi41NiwyLjUzLTIuNTItLjYyLTItNC4yMy00LjU5LTIuNDEtMy40MywxLjA1LTEuOTQtMS43Mi4xOC00LjY4LTIuOTQtNC4yNi0zLjUzLS42Ny0uOTItMi40MiwyLjMzLTQuMDctLjYyLTUuMTUtMi44Mi0yLjIzLjMxLTIuNTcsNC0yLjUyLDEuODQtNC44NS0xLjQ2LTMuMjksMS40Ny0yLjEzLDQuNjctLjQsMy44OC0zLjQ0LjI0LTMuNTksMi4yOS0xLjJTMTk5LDEzMC41OCwxOTkuNjgsMTI3LjUyWiIvPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iMjAwLjk3IiBjeT0iMTQzLjI5IiByPSI3Ljk5Ii8+PHBhdGggY2xhc3M9ImNscy04IiBkPSJNMTYxLjY2LDQxLjY0Yy43MS0zLjA2LDEuODgtMy4wNiwyLjU5LDBzMywzLjYzLDUsMS4yNCwzLjA4LTEuODQsMi4yOSwxLjIxLjk1LDQuNTksMy44OCwzLjQzLDMuNTktLjE5LDEuNDcsMi4xNC0xLjI5LDQuNTEsMS44NCw0Ljg0LDMuMjcsMS41LjMxLDIuNTgtMy4yMywzLjM5LS42Miw1LjE0LDIuMiwyLjg1LS45MiwyLjQzLTQuNDQsMS41LTIuOTUsNC4yNi42MywzLjU0LTEuOTQsMS43MlMxNjgsNjkuODksMTY4LjA3LDczcy0xLjEsMy40Mi0yLjUyLjYyLTMuNzYtMi44MS01LjE4LDAtMi41NiwyLjUzLTIuNTItLjYyLTItNC4yMy00LjU5LTIuNDEtMy40NCwxLjA1LTEuOTQtMS43Mi4xNy00LjY4LTIuOTUtNC4yNi0zLjUzLS42Ny0uOTEtMi40MywyLjMzLTQuMDctLjYzLTUuMTQtMi44Mi0yLjI0LjMxLTIuNTgsNC0yLjUxLDEuODQtNC44NC0xLjQ1LTMuMjksMS40Ny0yLjE0LDQuNjgtLjM5LDMuODgtMy40My4yNC0zLjU5LDIuMy0xLjIxUzE2MSw0NC43MSwxNjEuNjYsNDEuNjRaIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIxNjIuOTYiIGN5PSI1Ny40MiIgcj0iNy45OSIvPjwvZz48L2c+PGcgaWQ9IkxheWVyXzUiIGRhdGEtbmFtZT0iTGF5ZXIgNSI+PHBvbHlnb24gY2xhc3M9ImNscy05IiBwb2ludHM9IjIxMS4xNCAxMjAuMDEgMTc1LjcxIDcwLjg2IDE0NS40MiAyMy40MyAxMTkuMzIgNzYuNTggOTQuNTYgMTE1LjQ0IDU2Ljg0IDE3OS40NSAxMjguOTMgMTc0LjY5IDE4My43MSAxODEuNzQgMjU5LjcyIDE2Ny40NSAyMTEuMTQgMTIwLjAxIi8+PC9nPjxnIGlkPSJMYXllcl80IiBkYXRhLW5hbWU9IkxheWVyIDQiPjxwb2x5Z29uIGNsYXNzPSJjbHMtMTAiIHBvaW50cz0iNjEuOTEgMTc4LjcyIDEwMy45NSAxMDcuNDIgMTIzLjE3IDc4LjIyIDE0Ny4yNSAyNi4yOSAxNDUuNDIgMjMuNDMgMTE5LjMyIDc2LjU4IDkzLjE0IDExNy44MyA1Ni44NCAxNzkuNDUgNjEuOTEgMTc4LjcyIi8+PC9nPjxnIGlkPSJMYXllcl83IiBkYXRhLW5hbWU9IkxheWVyIDciPjxwb2x5Z29uIGNsYXNzPSJjbHMtMTEiIHBvaW50cz0iMjUxLjMgMjE0LjAzIDI2MS41OSAyMDAuMzUgMjc1LjAyIDE5OS4wOCAyNzQuMDUgMTg5LjQyIDI5MC4wOSAxNzUuNTUgMjQ5LjM1IDE3Ny45OCAyMDAuODEgMTgyLjk4IDI1MS4zIDIxNC4wMyIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMTIiIHBvaW50cz0iMjQxLjc1IDE5My40NiAyNjQuMzIgMTkxLjY0IDI2NC40MiAxOTMuMTkgMjQyLjc5IDE5NC42NiAyNDEuNzUgMTkzLjQ2Ii8+PHBhdGggY2xhc3M9ImNscy0xMyIgZD0iTTIzMywyMDMuMDhjMS0uMTIsNDItNCw0Mi00TDIxNC42Myw2Ny42MVY4Nmw0OS43OSwxMDcuMTYtMzAuNiwyLjA3Ii8+PGcgY2xhc3M9ImNscy0xNCI+PHBhdGggY2xhc3M9ImNscy0xNSIgZD0iTTI2NC41NywxNzYuMzMsMjE0LjYzLDY3LjYxVjg2bDQ3LjcsMTAyLjY3QzI2Mi40NywxODIuOSwyNjQuNDYsMTgxLjQxLDI2NC41NywxNzYuMzNaIi8+PHBhdGggY2xhc3M9ImNscy0xNSIgZD0iTTI0MS42LDIwMi4yNWwyMC0xLjljLjExLTEuNTguNzYtMy44Ny44Ny03bC0yOC42NCwxLjk0LS42NCw2LjMxWiIvPjwvZz48cG9seWdvbiBjbGFzcz0iY2xzLTE2IiBwb2ludHM9IjI2Mi40NiAxOTMuMzIgMjYzLjIzIDE5MS45MiAyNDEuMTIgMTkzLjM2IDI0MS4xMiAxOTQuNzcgMjYyLjQ2IDE5My4zMiIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMTMiIHBvaW50cz0iMjQ4LjIzIDIxNC45NiAyNTEuMyAyMTQuMDMgMjM2LjYgMTM5Ljk4IDIyNC4yMiA4MS41MSAyMTIuNzkgMjQuNjMgMjEwLjM1IDI0LjYzIDIxOC43NCA4Ni4wMyAyNDEuNzUgMjA4LjA3IDI0OC4yMyAyMTQuOTYiLz48cG9seWdvbiBjbGFzcz0iY2xzLTE3IiBwb2ludHM9IjIxMC4zNSAyNC42MyAyMDEuMDMgNzkuODIgMjIxLjE2IDgxLjUxIDIxMC4zNSAyNC42MyIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMTgiIHBvaW50cz0iMjIxLjE2IDgxLjUxIDIzMy44MSAxNDEuMDEgMjE0LjYzIDEyOC4zMSAyMjEuMTYgODEuNTEiLz48cG9seWdvbiBjbGFzcz0iY2xzLTE5IiBwb2ludHM9IjIwMS4wMyA3OS44MiAyMjEuMTYgODEuNTEgMjE0LjYzIDEyOC4zMSAyMDEuMDMgNzkuODIiLz48cG9seWdvbiBjbGFzcz0iY2xzLTIwIiBwb2ludHM9IjIwMS4wMyA3OS44MiAxOTIuMTggMTE5LjM3IDIxNC42MyAxMjguMzEgMjAxLjAzIDc5LjgyIi8+PHBvbHlnb24gY2xhc3M9ImNscy0yMSIgcG9pbnRzPSIyNDguMjMgMjE0Ljk2IDIxMi43MiAyMTAuNDMgMjMzLjgxIDE0MS4wMSAyNDguMjMgMjE0Ljk2Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0yMiIgcG9pbnRzPSIyMzMuODEgMTQxLjAxIDIxNC42MyAxMjguMzEgMjEyLjcyIDIxMC40MyAyMzMuODEgMTQxLjAxIi8+PHBvbHlnb24gY2xhc3M9ImNscy0yMyIgcG9pbnRzPSIyMTIuNzIgMjEwLjQzIDIwMC4yMiAxODYuMjIgMjE0LjYzIDEyOC4zMSAyMTIuNzIgMjEwLjQzIi8+PHBvbHlnb24gY2xhc3M9ImNscy0yNCIgcG9pbnRzPSIxOTIuMTggMTE5LjM3IDIxNC42MyAxMjguMzEgMjAwLjIyIDE4Ni4yMiAxOTIuMTggMTE5LjM3Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0yNSIgcG9pbnRzPSIxNzYuODggMTgxLjU0IDE5Mi4xOCAxMTkuMzcgMjAwLjIyIDE4Ni4yMiAxNzYuODggMTgxLjU0Ii8+PC9nPjxnIGlkPSJ0b29sX2JveCIgZGF0YS1uYW1lPSJ0b29sIGJveCI+PHBvbHlnb24gY2xhc3M9ImNscy0yNiIgcG9pbnRzPSI5OC41NCAyMDAuMTkgMTQ0LjkgMTkyLjIgMTQ3Ljk1IDE4Ni42MSAxMzkuNjQgMTg1LjExIDE0Mi45NiAxODMuNTQgMTQwLjA1IDE4My41NCAxMzYuNTkgMTg0LjQ3IDEzMi4xNiAxODMuNTQgOTguNTQgMjAwLjE5Ii8+PHBhdGggY2xhc3M9ImNscy0yNyIgZD0iTTcxLjQsMTY5LjU2bDM2LjM0LTMuOTRzMTAuODQsNi40NCwxMC40Nyw2LjQ5LTEuMzIsMy42NC0xLjMyLDMuNjRsLTM1LDUuNzlaIi8+PHBhdGggY2xhc3M9ImNscy0yOCIgZD0iTTEwNy41LDE2OC4xOHM5Ljc3LDYuMyw5LjY5LDUuOTEsMS0yLDEtMmwtMTAuNDctNi40OVoiLz48cG9seWdvbiBjbGFzcz0iY2xzLTI5IiBwb2ludHM9IjcxIDE3Mi41MSAxMDcuNSAxNjguMTggMTA3Ljc0IDE2NS42MiA3MS40IDE2OS41NiA3MSAxNzIuNTEiLz48cG9seWdvbiBjbGFzcz0iY2xzLTI3IiBwb2ludHM9IjgzLjI1IDE3OC4yOSAxMTkuMjIgMTcyLjczIDEzNC43OSAxNzcuNDUgMTI4LjcgMTg0LjQgOTQuMDMgMTkxLjQ3IDgzLjI1IDE3OC4yOSIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMjkiIHBvaW50cz0iMTE4LjcyIDE3Mi44MSA4My4yNSAxNzguMjkgOTQuMDMgMTkxLjQ3IDExOS42NyAxODAuNDkgMTE4LjcyIDE3Mi44MSIvPjxwYXRoIGNsYXNzPSJjbHMtMzAiIGQ9Ik0xMjEuMywxNzIuNjZhMy43NCwzLjc0LDAsMSwwLTMuNzktMi4zNWgwTDEwOSwxODYuNDRsMy45NCwyLjA3Wm0tMy4xMy0zLjYxLDEuMzEtMi41MSwyLjgzLS4xMSwxLjUxLDIuMzktMS4zMSwyLjUxLTIuODMuMTFaIi8+PHBvbHlnb24gY2xhc3M9ImNscy0yOCIgcG9pbnRzPSI5OC41NCAyMDAuMTkgMTM1LjMgMTkxLjc5IDEzNC43OSAxNzcuNDUgOTcuNiAxODQuMzEgOTguNTQgMjAwLjE5Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0zMSIgcG9pbnRzPSI5Ny42IDE4NC4zMSA4My4yNSAxNzguMjkgODQuMjkgMTkzLjQ4IDk4LjU0IDIwMC4xOSA5Ny42IDE4NC4zMSIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMzEiIHBvaW50cz0iODIuNjEgMTc4LjM3IDgxLjkxIDE4MS41NCA3MC42OSAxNzIuNzMgNzEuNCAxNjkuNTYgODIuNjEgMTc4LjM3Ii8+PHBhdGggY2xhc3M9ImNscy0zMiIgZD0iTTExNC44OCwxODVsLjQsMi41N3MuNzYsMS4zNiwxLjkxLDEuMTIuODgtMS44My44OC0xLjgzbC0uMy0yLjQxWiIvPjxwYXRoIGNsYXNzPSJjbHMtMzMiIGQ9Ik0xMTUuMjYsMTg1LjA2bC4zOSwyLjU3cy42LDEuMjksMS43NCwxLjA2LDEtMS43NywxLTEuNzdsLS4zLTIuNDFaIi8+PHBvbHlnb24gY2xhc3M9ImNscy0zNCIgcG9pbnRzPSIxMTguMTQgMTg0LjUxIDExNy43NyAxODQuNDcgMTE0Ljg5IDE4NS4wMiAxMTUuMjYgMTg1LjA2IDExOC4xNCAxODQuNTEiLz48L2c+PC9zdmc+';
|
|
28521
28667
|
|
|
28522
|
-
|
|
28668
|
+
var LuiErrorPage = function (props) {
|
|
28523
28669
|
return (React__default["default"].createElement("div", { className: 'LuiErrorPage' },
|
|
28524
28670
|
props.header,
|
|
28525
28671
|
React__default["default"].createElement("div", { className: 'Container' },
|
|
@@ -28530,36 +28676,36 @@ const LuiErrorPage = (props) => {
|
|
|
28530
28676
|
props.footer));
|
|
28531
28677
|
};
|
|
28532
28678
|
|
|
28533
|
-
|
|
28679
|
+
var userHasAnyPrivilege = function (privileges, selectedFirm) {
|
|
28534
28680
|
return (privileges.length === 0 ||
|
|
28535
28681
|
(selectedFirm !== undefined &&
|
|
28536
|
-
selectedFirm.privileges.filter((value)
|
|
28682
|
+
selectedFirm.privileges.filter(function (value) { return privileges.indexOf(value) > -1; })
|
|
28537
28683
|
.length > 0));
|
|
28538
28684
|
};
|
|
28539
|
-
|
|
28540
|
-
|
|
28685
|
+
var userIsInternal = function (user) {
|
|
28686
|
+
var loginType = (user === null || user === void 0 ? void 0 : user.loginType).code || (user === null || user === void 0 ? void 0 : user.loginType);
|
|
28541
28687
|
return loginType === 'INTN';
|
|
28542
28688
|
};
|
|
28543
28689
|
|
|
28544
28690
|
function useLOLUserContext() {
|
|
28545
28691
|
return React.useContext(LOLUserContext);
|
|
28546
28692
|
}
|
|
28547
|
-
|
|
28693
|
+
var LOLUserContext = React__default["default"].createContext({
|
|
28548
28694
|
user: undefined,
|
|
28549
28695
|
selectedFirm: undefined,
|
|
28550
|
-
changeFirm: (firmId)
|
|
28696
|
+
changeFirm: function (firmId) {
|
|
28551
28697
|
console.error('Called changeFirm before UserContext loaded', firmId);
|
|
28552
28698
|
},
|
|
28553
|
-
isInternal: ()
|
|
28554
|
-
hasAnyPrivilege: ()
|
|
28699
|
+
isInternal: function () { return false; },
|
|
28700
|
+
hasAnyPrivilege: function () { return false; }
|
|
28555
28701
|
});
|
|
28556
28702
|
function LOLUserContextProvider(props) {
|
|
28557
|
-
|
|
28558
|
-
|
|
28559
|
-
|
|
28560
|
-
React.useEffect(()
|
|
28703
|
+
var _a = useGetUserInfo(), isLoading = _a.isLoading, data = _a.data, isError = _a.isError;
|
|
28704
|
+
var _b = React.useState(), selectedFirm = _b[0], setSelectedFirm = _b[1];
|
|
28705
|
+
var _c = React.useState(false), ready = _c[0], setReady = _c[1];
|
|
28706
|
+
React.useEffect(function () {
|
|
28561
28707
|
// User data is still loading
|
|
28562
|
-
if (!data
|
|
28708
|
+
if (!(data === null || data === void 0 ? void 0 : data.user)) {
|
|
28563
28709
|
return;
|
|
28564
28710
|
}
|
|
28565
28711
|
// Clear firm value if there are no firms
|
|
@@ -28570,22 +28716,23 @@ function LOLUserContextProvider(props) {
|
|
|
28570
28716
|
}
|
|
28571
28717
|
if (data.user.firms.length > 0 &&
|
|
28572
28718
|
(!getSelectedFirmIdCache() ||
|
|
28573
|
-
!data.user.firms.find((firm)
|
|
28574
|
-
|
|
28719
|
+
!data.user.firms.find(function (firm) { return firm.id === getSelectedFirmIdCache(); }))) {
|
|
28720
|
+
var firstFirm = data.user.firms[0];
|
|
28575
28721
|
setSelectedFirmCache(firstFirm.id, firstFirm.name);
|
|
28576
28722
|
setSelectedFirm(firstFirm);
|
|
28577
28723
|
setReady(true);
|
|
28578
28724
|
}
|
|
28579
28725
|
else {
|
|
28580
28726
|
// pull firm from cache and use it
|
|
28581
|
-
|
|
28582
|
-
|
|
28727
|
+
var selectedFirmIdFromCache_1 = getSelectedFirmIdCache();
|
|
28728
|
+
var selectedFirmDerivedFromCache = data.user.firms.find(function (firm) { return firm.id === selectedFirmIdFromCache_1; });
|
|
28583
28729
|
setSelectedFirm(selectedFirmDerivedFromCache || undefined);
|
|
28584
28730
|
setReady(true);
|
|
28585
28731
|
}
|
|
28586
28732
|
}, [data]);
|
|
28587
|
-
|
|
28588
|
-
|
|
28733
|
+
var changeFirm = React.useCallback(function (firmId) {
|
|
28734
|
+
var _a;
|
|
28735
|
+
var firm = (_a = data === null || data === void 0 ? void 0 : data.user) === null || _a === void 0 ? void 0 : _a.firms.find(function (f) {
|
|
28589
28736
|
return f.id === firmId;
|
|
28590
28737
|
});
|
|
28591
28738
|
if (firm === undefined) {
|
|
@@ -28596,12 +28743,14 @@ function LOLUserContextProvider(props) {
|
|
|
28596
28743
|
setSelectedFirmCache(firm.id, firm.name);
|
|
28597
28744
|
setSelectedFirm(firm);
|
|
28598
28745
|
}, [data]);
|
|
28599
|
-
|
|
28600
|
-
|
|
28601
|
-
|
|
28602
|
-
|
|
28746
|
+
var isInternal = React.useCallback(function () { return userIsInternal(data === null || data === void 0 ? void 0 : data.user); }, [data]);
|
|
28747
|
+
var hasAnyPrivilege = React.useCallback(function (privileges) {
|
|
28748
|
+
return userHasAnyPrivilege(privileges, selectedFirm);
|
|
28749
|
+
}, [selectedFirm]);
|
|
28750
|
+
React.useEffect(function () {
|
|
28751
|
+
var onCachedFirmUpdate = function (event) {
|
|
28603
28752
|
if (event.storageArea === localStorage && event.key === FIRM_KEY) {
|
|
28604
|
-
|
|
28753
|
+
var selectedFirmId = event.newValue;
|
|
28605
28754
|
if (selectedFirmId) {
|
|
28606
28755
|
changeFirm(selectedFirmId);
|
|
28607
28756
|
}
|
|
@@ -28612,7 +28761,7 @@ function LOLUserContextProvider(props) {
|
|
|
28612
28761
|
window.addEventListener('storage', onCachedFirmUpdate, false);
|
|
28613
28762
|
}
|
|
28614
28763
|
// cleanup listener on unmount
|
|
28615
|
-
return ()
|
|
28764
|
+
return function () {
|
|
28616
28765
|
window.removeEventListener('storage', onCachedFirmUpdate, false);
|
|
28617
28766
|
};
|
|
28618
28767
|
}, [ready, changeFirm]);
|
|
@@ -28626,10 +28775,10 @@ function LOLUserContextProvider(props) {
|
|
|
28626
28775
|
if (data && data.user && data.user.id) {
|
|
28627
28776
|
return (React__default["default"].createElement(LOLUserContext.Provider, { value: {
|
|
28628
28777
|
user: data.user,
|
|
28629
|
-
selectedFirm,
|
|
28630
|
-
changeFirm,
|
|
28631
|
-
isInternal,
|
|
28632
|
-
hasAnyPrivilege
|
|
28778
|
+
selectedFirm: selectedFirm,
|
|
28779
|
+
changeFirm: changeFirm,
|
|
28780
|
+
isInternal: isInternal,
|
|
28781
|
+
hasAnyPrivilege: hasAnyPrivilege
|
|
28633
28782
|
} }, props.children));
|
|
28634
28783
|
}
|
|
28635
28784
|
else {
|
|
@@ -28638,24 +28787,41 @@ function LOLUserContextProvider(props) {
|
|
|
28638
28787
|
}
|
|
28639
28788
|
}
|
|
28640
28789
|
function useGetUserInfo() {
|
|
28641
|
-
|
|
28642
|
-
|
|
28643
|
-
|
|
28644
|
-
|
|
28645
|
-
|
|
28646
|
-
|
|
28790
|
+
var _this = this;
|
|
28791
|
+
return reactQuery.useQuery("useGetUserInfo", function () { return __awaiter(_this, void 0, void 0, function () {
|
|
28792
|
+
var url, res;
|
|
28793
|
+
return __generator(this, function (_a) {
|
|
28794
|
+
switch (_a.label) {
|
|
28795
|
+
case 0:
|
|
28796
|
+
url = "/auth/api/userinfo";
|
|
28797
|
+
return [4 /*yield*/, fetch(url)];
|
|
28798
|
+
case 1:
|
|
28799
|
+
res = _a.sent();
|
|
28800
|
+
return [4 /*yield*/, checkForStandardErrors(res)];
|
|
28801
|
+
case 2:
|
|
28802
|
+
_a.sent();
|
|
28803
|
+
return [4 /*yield*/, res.json()];
|
|
28804
|
+
case 3: return [2 /*return*/, _a.sent()];
|
|
28805
|
+
}
|
|
28806
|
+
});
|
|
28807
|
+
}); });
|
|
28647
28808
|
}
|
|
28648
28809
|
function reAuthUser() {
|
|
28649
|
-
|
|
28650
|
-
window.location.assign(
|
|
28810
|
+
var redirectPath = "".concat(window.location.pathname).concat(window.location.search).concat(window.location.hash);
|
|
28811
|
+
window.location.assign("/auth/login?redirectPath=".concat(encodeURIComponent(redirectPath)));
|
|
28651
28812
|
}
|
|
28652
|
-
|
|
28653
|
-
|
|
28654
|
-
|
|
28655
|
-
|
|
28813
|
+
function checkForStandardErrors(res) {
|
|
28814
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
28815
|
+
return __generator(this, function (_a) {
|
|
28816
|
+
if (res.status !== 200) {
|
|
28817
|
+
reAuthUser();
|
|
28818
|
+
}
|
|
28819
|
+
return [2 /*return*/];
|
|
28820
|
+
});
|
|
28821
|
+
});
|
|
28656
28822
|
}
|
|
28657
|
-
|
|
28658
|
-
|
|
28823
|
+
var FIRM_KEY = 'firmId';
|
|
28824
|
+
var FIRM_NAME_KEY = 'firmName';
|
|
28659
28825
|
function getSelectedFirmIdCache() {
|
|
28660
28826
|
return window.localStorage.getItem(FIRM_KEY);
|
|
28661
28827
|
}
|
|
@@ -28670,21 +28836,21 @@ function setSelectedFirmCache(firmId, firmName) {
|
|
|
28670
28836
|
}
|
|
28671
28837
|
}
|
|
28672
28838
|
|
|
28673
|
-
|
|
28674
|
-
|
|
28675
|
-
|
|
28839
|
+
var ClearableLuiTextInput = function (props) {
|
|
28840
|
+
var _a = React.useState(props.value ? props.value : ''), currentValue = _a[0], setCurrentValue = _a[1];
|
|
28841
|
+
var clear = function () {
|
|
28676
28842
|
setCurrentValue('');
|
|
28677
28843
|
if (props.onValueChange) {
|
|
28678
28844
|
props.onValueChange('');
|
|
28679
28845
|
}
|
|
28680
28846
|
};
|
|
28681
|
-
|
|
28682
|
-
return (React__default["default"].createElement(LuiTextInput, {
|
|
28847
|
+
var cancelIcon = currentValue !== '' ? (React__default["default"].createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "lg", className: 'LuiTextInput-iconPosition', spanProps: { onClick: clear } })) : undefined;
|
|
28848
|
+
return (React__default["default"].createElement(LuiTextInput, __assign({}, props, { icon: cancelIcon, value: currentValue, onChange: function (e) {
|
|
28683
28849
|
setCurrentValue(e.target.value);
|
|
28684
28850
|
if (props.onValueChange) {
|
|
28685
28851
|
props.onValueChange(e.target.value);
|
|
28686
28852
|
}
|
|
28687
|
-
} }));
|
|
28853
|
+
} })));
|
|
28688
28854
|
};
|
|
28689
28855
|
|
|
28690
28856
|
/**
|
|
@@ -28693,42 +28859,42 @@ const ClearableLuiTextInput = (props) => {
|
|
|
28693
28859
|
* @param props
|
|
28694
28860
|
* @constructor
|
|
28695
28861
|
*/
|
|
28696
|
-
|
|
28697
|
-
|
|
28698
|
-
|
|
28862
|
+
var LuiFilterContainer = function (props) {
|
|
28863
|
+
var renderFunction = props.renderFunction, filterFunction = props.filterFunction, _a = props.showFilter, showFilter = _a === void 0 ? true : _a, _b = props.isFilterClearable, isFilterClearable = _b === void 0 ? true : _b;
|
|
28864
|
+
var _c = React.useState(''), filter = _c[0], setFilter = _c[1];
|
|
28699
28865
|
return (React__default["default"].createElement("div", null,
|
|
28700
28866
|
showFilter && (React__default["default"].createElement("div", { className: 'LuiFilterContainer-filter-container LuiDeprecatedForms' },
|
|
28701
28867
|
isFilterClearable && (React__default["default"].createElement(ClearableLuiTextInput, { label: 'Filter', inputProps: {
|
|
28702
|
-
placeholder: 'Type to filter'
|
|
28703
|
-
}, hideLabel: true, onValueChange: (value)
|
|
28704
|
-
!isFilterClearable && (React__default["default"].createElement("input", { type: "text", placeholder: "Type to filter", value: filter, onChange: (e)
|
|
28868
|
+
placeholder: 'Type to filter'
|
|
28869
|
+
}, hideLabel: true, onValueChange: function (value) { return setFilter(value); } })),
|
|
28870
|
+
!isFilterClearable && (React__default["default"].createElement("input", { type: "text", placeholder: "Type to filter", value: filter, onChange: function (e) { return setFilter(e.target.value); } })))),
|
|
28705
28871
|
renderFunction(filterFunction(filter))));
|
|
28706
28872
|
};
|
|
28707
28873
|
|
|
28708
28874
|
function useLOLGlobalClientRefContext() {
|
|
28709
28875
|
return React.useContext(LOLGlobalClientRefContext);
|
|
28710
28876
|
}
|
|
28711
|
-
|
|
28877
|
+
var LOLGlobalClientRefContext = React__default["default"].createContext({
|
|
28712
28878
|
clientRef: '',
|
|
28713
|
-
changeClientRef: ()
|
|
28879
|
+
changeClientRef: function () {
|
|
28714
28880
|
// no-op
|
|
28715
|
-
}
|
|
28881
|
+
}
|
|
28716
28882
|
});
|
|
28717
|
-
|
|
28718
|
-
|
|
28719
|
-
|
|
28720
|
-
|
|
28721
|
-
|
|
28722
|
-
|
|
28883
|
+
var LOLGlobalClientRefContextProvider = function (props) {
|
|
28884
|
+
var useUserIdAsClientReference = props.useUserIdAsClientReference;
|
|
28885
|
+
var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm;
|
|
28886
|
+
var _b = React.useState(''), clientRef = _b[0], setClientRef = _b[1];
|
|
28887
|
+
var _c = React.useState(undefined), lastSelectedFirmId = _c[0], setLastSelectedFirmId = _c[1];
|
|
28888
|
+
var changeClientRef = React.useCallback(function (clientRef) {
|
|
28723
28889
|
setClientRef(clientRef);
|
|
28724
28890
|
setGlobalClientRefCache(clientRef);
|
|
28725
28891
|
}, []);
|
|
28726
|
-
React.useEffect(()
|
|
28892
|
+
React.useEffect(function () {
|
|
28727
28893
|
if (!user) {
|
|
28728
28894
|
return;
|
|
28729
28895
|
}
|
|
28730
|
-
|
|
28731
|
-
|
|
28896
|
+
var cachedClientRef = getGlobalClientRefCache();
|
|
28897
|
+
var clientRef = '';
|
|
28732
28898
|
if (cachedClientRef === null && useUserIdAsClientReference) {
|
|
28733
28899
|
clientRef = user.id;
|
|
28734
28900
|
}
|
|
@@ -28737,9 +28903,9 @@ const LOLGlobalClientRefContextProvider = (props) => {
|
|
|
28737
28903
|
}
|
|
28738
28904
|
setClientRef(clientRef);
|
|
28739
28905
|
setGlobalClientRefCache(clientRef);
|
|
28740
|
-
setLastSelectedFirmId(selectedFirm
|
|
28906
|
+
setLastSelectedFirmId(selectedFirm === null || selectedFirm === void 0 ? void 0 : selectedFirm.id);
|
|
28741
28907
|
}, [user, selectedFirm, useUserIdAsClientReference]);
|
|
28742
|
-
React.useEffect(()
|
|
28908
|
+
React.useEffect(function () {
|
|
28743
28909
|
if (!selectedFirm ||
|
|
28744
28910
|
!lastSelectedFirmId ||
|
|
28745
28911
|
selectedFirm.id === lastSelectedFirmId) {
|
|
@@ -28756,11 +28922,11 @@ const LOLGlobalClientRefContextProvider = (props) => {
|
|
|
28756
28922
|
useUserIdAsClientReference,
|
|
28757
28923
|
]);
|
|
28758
28924
|
return (React__default["default"].createElement(LOLGlobalClientRefContext.Provider, { value: {
|
|
28759
|
-
clientRef,
|
|
28760
|
-
changeClientRef
|
|
28925
|
+
clientRef: clientRef,
|
|
28926
|
+
changeClientRef: changeClientRef
|
|
28761
28927
|
} }, props.children));
|
|
28762
28928
|
};
|
|
28763
|
-
|
|
28929
|
+
var GLOBAL_CLIENT_REFERENCE_KEY = 'globalClientReference';
|
|
28764
28930
|
function getGlobalClientRefCache() {
|
|
28765
28931
|
return window.sessionStorage.getItem(GLOBAL_CLIENT_REFERENCE_KEY);
|
|
28766
28932
|
}
|
|
@@ -28773,16 +28939,17 @@ function setGlobalClientRefCache(clientReference) {
|
|
|
28773
28939
|
}
|
|
28774
28940
|
}
|
|
28775
28941
|
|
|
28776
|
-
|
|
28777
|
-
|
|
28778
|
-
|
|
28779
|
-
|
|
28780
|
-
|
|
28942
|
+
var LOLFirmSwitcherMenu = function (_a) {
|
|
28943
|
+
var _b = _a.showClientRef, showClientRef = _b === void 0 ? false : _b, restOfProps = __rest(_a, ["showClientRef"]);
|
|
28944
|
+
var _c = useLOLUserContext(), user = _c.user, selectedFirm = _c.selectedFirm, changeFirm = _c.changeFirm, isInternal = _c.isInternal;
|
|
28945
|
+
var clientRef = useLOLGlobalClientRefContext().clientRef;
|
|
28946
|
+
var firms = user.firms;
|
|
28947
|
+
var clientRefElement = showClientRef ? (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
28781
28948
|
React__default["default"].createElement("br", null),
|
|
28782
28949
|
React__default["default"].createElement("span", null,
|
|
28783
28950
|
"Client Ref: ",
|
|
28784
28951
|
clientRef))) : null;
|
|
28785
|
-
|
|
28952
|
+
var label = isInternal() ? (React__default["default"].createElement("div", { className: "LOLFirmSwitcherMenu-header" },
|
|
28786
28953
|
user.id,
|
|
28787
28954
|
clientRefElement)) : (React__default["default"].createElement("div", { className: "LOLFirmSwitcherMenu-header" },
|
|
28788
28955
|
selectedFirm && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
@@ -28792,69 +28959,97 @@ const LOLFirmSwitcherMenu = ({ showClientRef = false, ...restOfProps }) => {
|
|
|
28792
28959
|
"User ID: ",
|
|
28793
28960
|
user.id),
|
|
28794
28961
|
clientRefElement));
|
|
28795
|
-
|
|
28796
|
-
...restOfProps,
|
|
28797
|
-
label,
|
|
28798
|
-
};
|
|
28962
|
+
var dropdownMenuProps = __assign(__assign({}, restOfProps), { label: label });
|
|
28799
28963
|
if (firms.length < 2) {
|
|
28800
|
-
return React__default["default"].createElement(LuiHeaderMenuItem, {
|
|
28964
|
+
return React__default["default"].createElement(LuiHeaderMenuItem, __assign({}, dropdownMenuProps));
|
|
28801
28965
|
}
|
|
28802
|
-
return (React__default["default"].createElement(LuiDropdownMenu, {
|
|
28966
|
+
return (React__default["default"].createElement(LuiDropdownMenu, __assign({}, dropdownMenuProps),
|
|
28803
28967
|
React__default["default"].createElement(LOLFirmSwitcherMenuContent, { firms: firms, selectedFirm: selectedFirm, changeFirm: changeFirm })));
|
|
28804
28968
|
};
|
|
28805
|
-
|
|
28806
|
-
|
|
28969
|
+
var LOLFirmSwitcherMenuContent = function (_a) {
|
|
28970
|
+
var firms = _a.firms, selectedFirm = _a.selectedFirm, changeFirm = _a.changeFirm, _b = _a.collapsible, collapsible = _b === void 0 ? false : _b, _c = _a.minimumFilterCount, minimumFilterCount = _c === void 0 ? 5 : _c;
|
|
28971
|
+
var showFilter = firms.length >= minimumFilterCount;
|
|
28807
28972
|
return (React__default["default"].createElement(LuiDrawerMenuSection, { title: "Switch account", collapsible: collapsible && showFilter },
|
|
28808
|
-
React__default["default"].createElement(FirmSwitcher, { options: firms, selectedId: selectedFirm
|
|
28973
|
+
React__default["default"].createElement(FirmSwitcher, { options: firms, selectedId: selectedFirm === null || selectedFirm === void 0 ? void 0 : selectedFirm.id, onSelect: function (id) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
28974
|
+
return [2 /*return*/, changeFirm(id)];
|
|
28975
|
+
}); }); }, showFilter: showFilter })));
|
|
28809
28976
|
};
|
|
28810
|
-
|
|
28811
|
-
|
|
28977
|
+
var FirmOption = function (_a) {
|
|
28978
|
+
var _b = _a.value, id = _b.id, name = _b.name, onSelect = _a.onSelect, selected = _a.selected, disabled = _a.disabled;
|
|
28979
|
+
return (React__default["default"].createElement("div", { className: 'LOLFirmSwitcherMenu-option', onClick: function () { return onSelect(id); }, "aria-disabled": disabled, "data-testid": "firm-".concat(id) },
|
|
28812
28980
|
React__default["default"].createElement("span", null, name),
|
|
28813
28981
|
selected && React__default["default"].createElement("i", { className: "material-icons-round" }, "check_circle")));
|
|
28814
28982
|
};
|
|
28815
|
-
|
|
28816
|
-
|
|
28817
|
-
|
|
28818
|
-
|
|
28819
|
-
|
|
28820
|
-
|
|
28821
|
-
|
|
28822
|
-
|
|
28823
|
-
|
|
28824
|
-
|
|
28825
|
-
|
|
28826
|
-
|
|
28983
|
+
var FirmSwitcher = function (_a) {
|
|
28984
|
+
var options = _a.options, selectedId = _a.selectedId, onSelect = _a.onSelect, _b = _a.showFilter, showFilter = _b === void 0 ? true : _b;
|
|
28985
|
+
var _c = React.useState(false), busy = _c[0], setBusy = _c[1];
|
|
28986
|
+
var onSelectInternal = function (optionId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
28987
|
+
return __generator(this, function (_a) {
|
|
28988
|
+
switch (_a.label) {
|
|
28989
|
+
case 0:
|
|
28990
|
+
if (!!busy) return [3 /*break*/, 2];
|
|
28991
|
+
setBusy(true);
|
|
28992
|
+
return [4 /*yield*/, onSelect(optionId)];
|
|
28993
|
+
case 1:
|
|
28994
|
+
_a.sent();
|
|
28995
|
+
setBusy(false);
|
|
28996
|
+
_a.label = 2;
|
|
28997
|
+
case 2: return [2 /*return*/];
|
|
28998
|
+
}
|
|
28999
|
+
});
|
|
29000
|
+
}); };
|
|
29001
|
+
var filterFunction = React.useCallback(function (filterString) {
|
|
29002
|
+
var upperCaseFilterString = filterString.trim().toUpperCase();
|
|
29003
|
+
return options.filter(function (firm) {
|
|
29004
|
+
return firm.name.toUpperCase().includes(upperCaseFilterString);
|
|
29005
|
+
});
|
|
28827
29006
|
}, [options]);
|
|
28828
|
-
|
|
28829
|
-
return (React__default["default"].createElement(React__default["default"].Fragment, null, filteredOptions.map((option)
|
|
29007
|
+
var renderFunction = function (filteredOptions) {
|
|
29008
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null, filteredOptions.map(function (option) { return (React__default["default"].createElement(FirmOption, { key: option.id, value: option, selected: option.id === selectedId, onSelect: onSelectInternal, disabled: busy })); })));
|
|
28830
29009
|
};
|
|
28831
29010
|
return (React__default["default"].createElement("div", { className: "LOLFirmSwitcherMenu" },
|
|
28832
29011
|
React__default["default"].createElement(LuiFilterContainer, { showFilter: showFilter, filterFunction: filterFunction, renderFunction: renderFunction })));
|
|
28833
29012
|
};
|
|
28834
29013
|
|
|
28835
|
-
|
|
28836
|
-
|
|
28837
|
-
|
|
29014
|
+
var LOLLogoutLink = function (props) {
|
|
29015
|
+
var redirectPathString = props.redirectPath();
|
|
29016
|
+
var user = useLOLUserContext().user;
|
|
28838
29017
|
if (!user) {
|
|
28839
29018
|
return null;
|
|
28840
29019
|
}
|
|
28841
|
-
|
|
28842
|
-
|
|
28843
|
-
|
|
28844
|
-
|
|
28845
|
-
|
|
28846
|
-
|
|
28847
|
-
|
|
28848
|
-
|
|
28849
|
-
|
|
28850
|
-
|
|
28851
|
-
|
|
29020
|
+
var logout = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
29021
|
+
var _a, res;
|
|
29022
|
+
return __generator(this, function (_b) {
|
|
29023
|
+
switch (_b.label) {
|
|
29024
|
+
case 0:
|
|
29025
|
+
_a = props.callBackBeforeLogout;
|
|
29026
|
+
if (!_a) return [3 /*break*/, 2];
|
|
29027
|
+
return [4 /*yield*/, props.callBackBeforeLogout()];
|
|
29028
|
+
case 1:
|
|
29029
|
+
_a = (_b.sent()) === false;
|
|
29030
|
+
_b.label = 2;
|
|
29031
|
+
case 2:
|
|
29032
|
+
if (_a) {
|
|
29033
|
+
return [2 /*return*/];
|
|
29034
|
+
}
|
|
29035
|
+
return [4 /*yield*/, fetch('/auth/api/logout')];
|
|
29036
|
+
case 3:
|
|
29037
|
+
res = _b.sent();
|
|
29038
|
+
if (res.status === 200) {
|
|
29039
|
+
window.location.assign("/auth/login?redirectPath=".concat(redirectPathString));
|
|
29040
|
+
}
|
|
29041
|
+
return [2 /*return*/];
|
|
29042
|
+
}
|
|
29043
|
+
});
|
|
29044
|
+
}); };
|
|
29045
|
+
return React__default["default"].createElement(LuiDrawerMenuOption, { label: "Logout ".concat(user.id), onClick: logout });
|
|
28852
29046
|
};
|
|
28853
29047
|
|
|
28854
|
-
|
|
28855
|
-
|
|
28856
|
-
|
|
28857
|
-
|
|
29048
|
+
var LOLUserLastLogin = function () {
|
|
29049
|
+
var _a;
|
|
29050
|
+
var lastLogin;
|
|
29051
|
+
var context = useLOLUserContext();
|
|
29052
|
+
var lastLoginISO = (_a = context === null || context === void 0 ? void 0 : context.user) === null || _a === void 0 ? void 0 : _a.lastLogin;
|
|
28858
29053
|
lastLogin = lastLoginISO
|
|
28859
29054
|
? new Date(lastLoginISO).toLocaleString('en-NZ')
|
|
28860
29055
|
: null;
|
|
@@ -28868,11 +29063,11 @@ const LOLUserLastLogin = () => {
|
|
|
28868
29063
|
React__default["default"].createElement("span", null, "Not you? Please, call us on 0800 665 463"))));
|
|
28869
29064
|
};
|
|
28870
29065
|
|
|
28871
|
-
|
|
28872
|
-
|
|
28873
|
-
|
|
28874
|
-
|
|
28875
|
-
React.useEffect(()
|
|
29066
|
+
var LOLActiveFirmMessage = function (props) {
|
|
29067
|
+
var _a = useLOLUserContext(), selectedFirm = _a.selectedFirm, user = _a.user;
|
|
29068
|
+
var _b = React.useState(false), visible = _b[0], setVisible = _b[1];
|
|
29069
|
+
var hide = props.showFrom !== 'xl' ? { from: props.showFrom || 'sm' } : undefined;
|
|
29070
|
+
React.useEffect(function () {
|
|
28876
29071
|
setVisible(true);
|
|
28877
29072
|
}, [selectedFirm]);
|
|
28878
29073
|
if (!selectedFirm || !visible || user.firms.length < 2) {
|
|
@@ -28882,7 +29077,7 @@ const LOLActiveFirmMessage = (props) => {
|
|
|
28882
29077
|
React__default["default"].createElement(LuiBannerContent, { level: 'info' },
|
|
28883
29078
|
"Active account is ",
|
|
28884
29079
|
selectedFirm.name,
|
|
28885
|
-
React__default["default"].createElement("button", { "aria-label": "Close dialog", onClick: ()
|
|
29080
|
+
React__default["default"].createElement("button", { "aria-label": "Close dialog", onClick: function () {
|
|
28886
29081
|
setVisible(false);
|
|
28887
29082
|
} },
|
|
28888
29083
|
React__default["default"].createElement("i", { className: "material-icons-round" }, "close")))));
|
|
@@ -28890,17 +29085,20 @@ const LOLActiveFirmMessage = (props) => {
|
|
|
28890
29085
|
|
|
28891
29086
|
var ExternalIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzk4OTE4OSI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5IDE5SDVWNWg3VjNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0ydi03aC0ydjd6TTE0IDN2MmgzLjU5bC05LjgzIDkuODMgMS40MSAxLjQxTDE5IDYuNDFWMTBoMlYzaC03eiIvPjwvc3ZnPg==';
|
|
28892
29087
|
|
|
28893
|
-
|
|
28894
|
-
|
|
28895
|
-
|
|
28896
|
-
|
|
28897
|
-
|
|
28898
|
-
|
|
28899
|
-
|
|
28900
|
-
|
|
28901
|
-
|
|
28902
|
-
|
|
28903
|
-
|
|
29088
|
+
var LOLAuthorisedLink = function (props) {
|
|
29089
|
+
var hasAnyPrivilege = useLOLUserContext().hasAnyPrivilege;
|
|
29090
|
+
var icon = props.icon, activeIcon = props.activeIcon, active = props.active, label = props.label, path = props.path, openExternally = props.openExternally, anyPrivileges = props.anyPrivileges;
|
|
29091
|
+
var onClickHandler = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
29092
|
+
return __generator(this, function (_a) {
|
|
29093
|
+
if (openExternally) {
|
|
29094
|
+
window.open(path, '_blank');
|
|
29095
|
+
}
|
|
29096
|
+
else {
|
|
29097
|
+
window.location.assign(path);
|
|
29098
|
+
}
|
|
29099
|
+
return [2 /*return*/];
|
|
29100
|
+
});
|
|
29101
|
+
}); };
|
|
28904
29102
|
if (!hasAnyPrivilege(anyPrivileges)) {
|
|
28905
29103
|
return null;
|
|
28906
29104
|
}
|
|
@@ -28929,26 +29127,26 @@ var TitlesIconActive = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy
|
|
|
28929
29127
|
|
|
28930
29128
|
function createLink(pathname, label, target, activeIcon, icon, anyPrivileges) {
|
|
28931
29129
|
return {
|
|
28932
|
-
label,
|
|
29130
|
+
label: label,
|
|
28933
29131
|
path: target,
|
|
28934
|
-
icon,
|
|
28935
|
-
activeIcon,
|
|
29132
|
+
icon: icon,
|
|
29133
|
+
activeIcon: activeIcon,
|
|
28936
29134
|
active: pathname.startsWith(target),
|
|
28937
|
-
anyPrivileges,
|
|
28938
|
-
openExternally: true
|
|
29135
|
+
anyPrivileges: anyPrivileges,
|
|
29136
|
+
openExternally: true
|
|
28939
29137
|
};
|
|
28940
29138
|
}
|
|
28941
|
-
|
|
28942
|
-
|
|
28943
|
-
|
|
28944
|
-
|
|
28945
|
-
|
|
28946
|
-
|
|
28947
|
-
|
|
29139
|
+
var SEARCH_LABEL = 'Search';
|
|
29140
|
+
var NOC_LABEL = 'Post registered NoC';
|
|
29141
|
+
var SURVEY_LABEL = 'Survey';
|
|
29142
|
+
var TITLES_LABEL = 'Titles';
|
|
29143
|
+
var LOLAppLauncherMenu = function (props) {
|
|
29144
|
+
var _a = useLOLUserContext(), user = _a.user, isInternal = _a.isInternal;
|
|
29145
|
+
var pathname = props.pathname, _b = props.enableNOCLink, enableNOCLink = _b === void 0 ? false : _b, _c = props.enableSurveyLink, enableSurveyLink = _c === void 0 ? false : _c, _d = props.enableTitlesLink, enableTitlesLink = _d === void 0 ? false : _d;
|
|
28948
29146
|
if (!user) {
|
|
28949
29147
|
return null;
|
|
28950
29148
|
}
|
|
28951
|
-
|
|
29149
|
+
var links = [
|
|
28952
29150
|
createLink(pathname, SEARCH_LABEL, '/search', SearchIconActive, SearchIcon, isInternal() ? [] : ['prv_search_privilege', 'prv_spatial_view']),
|
|
28953
29151
|
];
|
|
28954
29152
|
if (!isInternal() && enableNOCLink) {
|
|
@@ -28992,13 +29190,13 @@ const LOLAppLauncherMenu = (props) => {
|
|
|
28992
29190
|
'prv_withdraw_dealing',
|
|
28993
29191
|
]));
|
|
28994
29192
|
}
|
|
28995
|
-
return (React__default["default"].createElement(LuiDrawerMenuSection, { title: "Launch app" }, links.map((link)
|
|
29193
|
+
return (React__default["default"].createElement(LuiDrawerMenuSection, { title: "Launch app" }, links.map(function (link) { return (React__default["default"].createElement(LOLAuthorisedLink, __assign({ key: link.path }, link))); })));
|
|
28996
29194
|
};
|
|
28997
29195
|
|
|
28998
|
-
|
|
28999
|
-
|
|
29000
|
-
|
|
29001
|
-
|
|
29196
|
+
var LOLDrawerMenuFirmSwitcher = function (props) {
|
|
29197
|
+
var minimumFilterCount = props.minimumFilterCount;
|
|
29198
|
+
var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm, changeFirm = _a.changeFirm;
|
|
29199
|
+
var firms = user === null || user === void 0 ? void 0 : user.firms;
|
|
29002
29200
|
if (!firms || !selectedFirm) {
|
|
29003
29201
|
return null;
|
|
29004
29202
|
}
|
|
@@ -29008,18 +29206,18 @@ const LOLDrawerMenuFirmSwitcher = (props) => {
|
|
|
29008
29206
|
return (React__default["default"].createElement(LOLFirmSwitcherMenuContent, { firms: firms, selectedFirm: selectedFirm, changeFirm: changeFirm, collapsible: true, minimumFilterCount: minimumFilterCount }));
|
|
29009
29207
|
};
|
|
29010
29208
|
|
|
29011
|
-
|
|
29209
|
+
var LOLDrawerMenu = function (props) {
|
|
29012
29210
|
return (React__default["default"].createElement(LuiDrawerMenu, { hasStickyHeader: props.hasStickyHeader },
|
|
29013
29211
|
React__default["default"].createElement("div", { className: "LOLDrawerMenu" },
|
|
29014
29212
|
React__default["default"].createElement("div", { className: "LOLDrawerMenu-contents" }, props.children),
|
|
29015
29213
|
React__default["default"].createElement("div", { className: "LOLDrawerMenu-footer" },
|
|
29016
29214
|
React__default["default"].createElement(LOLUserLastLogin, null)))));
|
|
29017
29215
|
};
|
|
29018
|
-
|
|
29019
|
-
|
|
29216
|
+
var LOLCommonDrawerMenu = function (props) {
|
|
29217
|
+
var appSpecificLinks = props.appSpecificLinks, appSpecificSections = props.appSpecificSections, path = props.path, hasStickyHeader = props.hasStickyHeader, showRequestsLink = props.showRequestsLink, restOfProps = __rest(props, ["appSpecificLinks", "appSpecificSections", "path", "hasStickyHeader", "showRequestsLink"]);
|
|
29020
29218
|
return (React__default["default"].createElement(LOLDrawerMenu, { hasStickyHeader: hasStickyHeader },
|
|
29021
29219
|
appSpecificSections,
|
|
29022
|
-
React__default["default"].createElement(LOLAppLauncherMenu, { pathname: path,
|
|
29220
|
+
React__default["default"].createElement(LOLAppLauncherMenu, __assign({ pathname: path }, restOfProps)),
|
|
29023
29221
|
React__default["default"].createElement(LOLDrawerMenuFirmSwitcher, { minimumFilterCount: 5 }),
|
|
29024
29222
|
showRequestsLink && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
29025
29223
|
React__default["default"].createElement(LuiDrawerMenuDivider, null),
|
|
@@ -29030,24 +29228,24 @@ const LOLCommonDrawerMenu = (props) => {
|
|
|
29030
29228
|
React__default["default"].createElement(LuiDrawerMenuDivider, null),
|
|
29031
29229
|
React__default["default"].createElement(LOLCommonDrawerMenuAfterLinks, { path: path })));
|
|
29032
29230
|
};
|
|
29033
|
-
|
|
29034
|
-
|
|
29035
|
-
|
|
29036
|
-
|
|
29037
|
-
|
|
29231
|
+
var LOLCommonDrawerMenuAfterLinks = function (props) {
|
|
29232
|
+
var isInternal = useLOLUserContext().isInternal;
|
|
29233
|
+
var path = props.path;
|
|
29234
|
+
var contextPath = path.substr(0, path.indexOf('/', 1));
|
|
29235
|
+
var gotoLink = function (url) {
|
|
29038
29236
|
window.location.assign(url);
|
|
29039
29237
|
};
|
|
29040
29238
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
29041
|
-
!isInternal() && (React__default["default"].createElement(LuiDrawerMenuOption, { label: "Change password", onClick: ()
|
|
29042
|
-
gotoLink(
|
|
29239
|
+
!isInternal() && (React__default["default"].createElement(LuiDrawerMenuOption, { label: "Change password", onClick: function () {
|
|
29240
|
+
gotoLink("/manage/my-preferences?redirectPath=".concat(encodeURIComponent(path)));
|
|
29043
29241
|
} })),
|
|
29044
|
-
React__default["default"].createElement(LOLLogoutLink, { redirectPath: ()
|
|
29242
|
+
React__default["default"].createElement(LOLLogoutLink, { redirectPath: function () { return contextPath; } })));
|
|
29045
29243
|
};
|
|
29046
|
-
|
|
29047
|
-
|
|
29244
|
+
var LOLCommonMenuRequestsLink = function () {
|
|
29245
|
+
var openRequestsApp = function () {
|
|
29048
29246
|
window.open('/requests', '_blank');
|
|
29049
29247
|
};
|
|
29050
|
-
return (React__default["default"].createElement(LuiDrawerMenuOption, { label: 'Create request', onClick: ()
|
|
29248
|
+
return (React__default["default"].createElement(LuiDrawerMenuOption, { label: 'Create request', onClick: function () {
|
|
29051
29249
|
openRequestsApp();
|
|
29052
29250
|
}, badge: React__default["default"].createElement("img", { src: ExternalIcon, alt: "Link opens in a new tab", style: { width: '16px', height: '16px', marginTop: '4px' } }) }));
|
|
29053
29251
|
};
|
|
@@ -32581,26 +32779,27 @@ styleInject(css_248z$5);
|
|
|
32581
32779
|
var css_248z$4 = ".tippy-box{border:1px transparent}.tippy-box[data-placement^=top]>.tippy-arrow:after{border-top-color:inherit;border-width:8px 8px 0;bottom:-8px;left:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:inherit;border-width:0 8px 8px;top:-8px;left:0}.tippy-box[data-placement^=left]>.tippy-arrow:after{border-left-color:inherit;border-width:8px 0 8px 8px;right:-8px;top:0}.tippy-box[data-placement^=right]>.tippy-arrow:after{border-width:8px 8px 8px 0;left:-8px;top:0;border-right-color:inherit}.tippy-box[data-placement^=top]>.tippy-svg-arrow>svg:first-child:not(:last-child){top:17px}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow>svg:first-child:not(:last-child){bottom:17px}.tippy-box[data-placement^=left]>.tippy-svg-arrow>svg:first-child:not(:last-child){left:12px}.tippy-box[data-placement^=right]>.tippy-svg-arrow>svg:first-child:not(:last-child){right:12px}.tippy-arrow{border-color:inherit}.tippy-arrow:after{content:\"\";z-index:-1;position:absolute;border-color:transparent;border-style:solid}";
|
|
32582
32780
|
styleInject(css_248z$4);
|
|
32583
32781
|
|
|
32584
|
-
|
|
32585
|
-
|
|
32586
|
-
|
|
32587
|
-
|
|
32588
|
-
|
|
32782
|
+
var id = 0;
|
|
32783
|
+
var getKey = function () { return id++; };
|
|
32784
|
+
var LuiTooltip = function (props) {
|
|
32785
|
+
var children = props.children, message = props.message, placement = props.placement, trigger = props.trigger, _a = props.animation, animation = _a === void 0 ? true : _a;
|
|
32786
|
+
var id = "LuiToolTip_".concat(React.useMemo(getKey, []));
|
|
32589
32787
|
if (typeof message !== 'string') {
|
|
32590
32788
|
throw new Error('LuiTooltip message must be a string!');
|
|
32591
32789
|
}
|
|
32592
|
-
React.useEffect(()
|
|
32593
|
-
tippy(
|
|
32790
|
+
React.useEffect(function () {
|
|
32791
|
+
tippy("#".concat(id), {
|
|
32594
32792
|
content: message,
|
|
32595
32793
|
arrow: true,
|
|
32596
|
-
trigger,
|
|
32794
|
+
trigger: trigger,
|
|
32597
32795
|
theme: 'LUI',
|
|
32598
|
-
placement,
|
|
32796
|
+
placement: placement,
|
|
32599
32797
|
offset: [0, 24],
|
|
32600
|
-
animation
|
|
32798
|
+
animation: animation
|
|
32601
32799
|
});
|
|
32602
|
-
return ()
|
|
32603
|
-
|
|
32800
|
+
return function () {
|
|
32801
|
+
var _a, _b;
|
|
32802
|
+
(_b = (_a = document.getElementById(id)) === null || _a === void 0 ? void 0 : _a._tippy) === null || _b === void 0 ? void 0 : _b.destroy();
|
|
32604
32803
|
};
|
|
32605
32804
|
}, [id, message, placement, trigger, animation]);
|
|
32606
32805
|
return React__default["default"].createElement("span", { id: id }, children);
|
|
@@ -32619,48 +32818,49 @@ const LuiTooltip = (props) => {
|
|
|
32619
32818
|
```
|
|
32620
32819
|
*/
|
|
32621
32820
|
function useClickedOutsideElement(refElement, handleClickOutside) {
|
|
32622
|
-
React__default["default"].useEffect(()
|
|
32821
|
+
React__default["default"].useEffect(function () {
|
|
32623
32822
|
function onOutsideClicked(event) {
|
|
32624
|
-
|
|
32625
|
-
if (!element
|
|
32823
|
+
var element = refElement.current;
|
|
32824
|
+
if (!(element === null || element === void 0 ? void 0 : element.contains(event.target))) {
|
|
32626
32825
|
handleClickOutside();
|
|
32627
32826
|
}
|
|
32628
32827
|
}
|
|
32629
32828
|
document.addEventListener('mousedown', onOutsideClicked);
|
|
32630
|
-
return ()
|
|
32829
|
+
return function () {
|
|
32631
32830
|
document.removeEventListener('mousedown', onOutsideClicked);
|
|
32632
32831
|
};
|
|
32633
32832
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32634
32833
|
}, []);
|
|
32635
32834
|
}
|
|
32636
32835
|
|
|
32637
|
-
|
|
32836
|
+
var LuiBadge = function (props) { return (React__default["default"].createElement("p", { className: clsx('LuiBadge', props.size === 'sm' && 'LuiBadge--sm', props.size === 'lg' && 'LuiBadge--lg', props.backgroundFill && 'LuiBadge--fill', props.variation === 'warning' && 'LuiBadge--warning'), "aria-roledescription": props.ariaRoleDescription }, props.children)); };
|
|
32638
32837
|
|
|
32639
|
-
|
|
32838
|
+
var LuiSidePanelContext = React__default["default"].createContext({ setProps: function () { return undefined; } });
|
|
32640
32839
|
/* eslint-disable react/prop-types */
|
|
32641
|
-
|
|
32642
|
-
|
|
32643
|
-
React__default["default"].
|
|
32644
|
-
|
|
32645
|
-
|
|
32840
|
+
var LuiSidePanel = function (_a) {
|
|
32841
|
+
var children = _a.children, onClose = _a.onClose, width = _a.width, top = _a.top;
|
|
32842
|
+
var setProps = React__default["default"].useContext(LuiSidePanelContext).setProps;
|
|
32843
|
+
React__default["default"].useEffect(function () {
|
|
32844
|
+
setProps({ children: children, onClose: onClose, width: width, top: top });
|
|
32845
|
+
return function () {
|
|
32646
32846
|
setProps(undefined);
|
|
32647
32847
|
};
|
|
32648
32848
|
}, [setProps, children, onClose, width, top]);
|
|
32649
32849
|
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
32650
32850
|
};
|
|
32651
|
-
|
|
32652
|
-
|
|
32851
|
+
var LuiSidePanelContainer = function (props) {
|
|
32852
|
+
var _a = props !== null && props !== void 0 ? props : {}, children = _a.children, onClose = _a.onClose, _b = _a.width, width = _b === void 0 ? '50%' : _b, _c = _a.top, top = _c === void 0 ? 60 : _c;
|
|
32653
32853
|
return (React__default["default"].createElement("section", { style: {
|
|
32654
32854
|
position: 'fixed',
|
|
32655
32855
|
right: 0,
|
|
32656
32856
|
bottom: 0,
|
|
32657
32857
|
top: top,
|
|
32658
32858
|
background: 'white',
|
|
32659
|
-
width: children ? width
|
|
32859
|
+
width: children ? width !== null && width !== void 0 ? width : '50%' : '0%',
|
|
32660
32860
|
transition: 'width 0.2s ease',
|
|
32661
32861
|
boxShadow: '-0.1em 0 0.4em rgba(0, 0, 0, 0.2)',
|
|
32662
32862
|
padding: 0,
|
|
32663
|
-
zIndex: 3
|
|
32863
|
+
zIndex: 3
|
|
32664
32864
|
} },
|
|
32665
32865
|
children && (React__default["default"].createElement("button", { type: "button", "data-testid": "close", onClick: onClose, style: {
|
|
32666
32866
|
color: '#5e5e61',
|
|
@@ -32671,110 +32871,30 @@ const LuiSidePanelContainer = (props) => {
|
|
|
32671
32871
|
border: 'none',
|
|
32672
32872
|
display: 'flex',
|
|
32673
32873
|
cursor: 'pointer',
|
|
32674
|
-
borderBottomLeftRadius: '5px'
|
|
32874
|
+
borderBottomLeftRadius: '5px'
|
|
32675
32875
|
} },
|
|
32676
32876
|
React__default["default"].createElement(LuiIcon, { alt: "Close", name: "ic_clear", size: "lg", status: "interactive" }))),
|
|
32677
32877
|
children));
|
|
32678
32878
|
};
|
|
32679
|
-
|
|
32680
|
-
|
|
32681
|
-
|
|
32879
|
+
var LuiSidePanelProvider = function (_a) {
|
|
32880
|
+
var children = _a.children;
|
|
32881
|
+
var _b = React__default["default"].useState(), props = _b[0], setProps = _b[1];
|
|
32882
|
+
return (React__default["default"].createElement(LuiSidePanelContext.Provider, { value: { setProps: setProps } },
|
|
32682
32883
|
children,
|
|
32683
|
-
React__default["default"].createElement(LuiSidePanelContainer, {
|
|
32884
|
+
React__default["default"].createElement(LuiSidePanelContainer, __assign({}, props))));
|
|
32684
32885
|
};
|
|
32685
32886
|
|
|
32686
32887
|
var css_248z$3 = ".lui-switch-checkbox {\n height: 0;\n width: 0;\n visibility: hidden;\n}\n\n.lui-switch-label {\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n width: 40px;\n height: 20px;\n background: grey;\n border-radius: 40px;\n position: relative;\n transition: background-color 0.2s;\n}\n\n.lui-switch-label .lui-switch-button {\n content: \"\";\n position: absolute;\n top: 2px;\n left: 2px;\n width: 18px;\n height: 16px;\n border-radius: 18px;\n transition: 0.2s;\n background: #fff;\n box-shadow: 0 0 2px 0 rgba(10, 10, 10, 0.29);\n}\n\n.lui-switch-checkbox:checked + .lui-switch-label .lui-switch-button {\n left: calc(100% - 2px);\n transform: translateX(-100%);\n}\n\n.lui-switch-label:active .lui-switch-button {\n width: 20px;\n}";
|
|
32687
32888
|
styleInject(css_248z$3);
|
|
32688
32889
|
|
|
32689
|
-
|
|
32690
|
-
|
|
32890
|
+
var LuiSwitchButton = function (props) {
|
|
32891
|
+
var generatedId = useGenerateOrDefaultId();
|
|
32691
32892
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
32692
|
-
React__default["default"].createElement("input", { className: "lui-switch-checkbox", type: "checkbox", "data-testid": 'lui-switch-new', id: generatedId,
|
|
32693
|
-
React__default["default"].createElement("label", { "data-testid":
|
|
32694
|
-
React__default["default"].createElement("span", { className:
|
|
32893
|
+
React__default["default"].createElement("input", __assign({ className: "lui-switch-checkbox", type: "checkbox", "data-testid": 'lui-switch-new', id: generatedId }, props)),
|
|
32894
|
+
React__default["default"].createElement("label", { "data-testid": "label", style: { background: props.checked ? '#007198' : 'gray' }, className: "lui-switch-label", htmlFor: generatedId },
|
|
32895
|
+
React__default["default"].createElement("span", { className: "lui-switch-button" }))));
|
|
32695
32896
|
};
|
|
32696
32897
|
|
|
32697
|
-
/******************************************************************************
|
|
32698
|
-
Copyright (c) Microsoft Corporation.
|
|
32699
|
-
|
|
32700
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
32701
|
-
purpose with or without fee is hereby granted.
|
|
32702
|
-
|
|
32703
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
32704
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
32705
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
32706
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
32707
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
32708
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
32709
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
32710
|
-
***************************************************************************** */
|
|
32711
|
-
/* global Reflect, Promise */
|
|
32712
|
-
|
|
32713
|
-
var extendStatics = function(d, b) {
|
|
32714
|
-
extendStatics = Object.setPrototypeOf ||
|
|
32715
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
32716
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
32717
|
-
return extendStatics(d, b);
|
|
32718
|
-
};
|
|
32719
|
-
|
|
32720
|
-
function __extends(d, b) {
|
|
32721
|
-
if (typeof b !== "function" && b !== null)
|
|
32722
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
32723
|
-
extendStatics(d, b);
|
|
32724
|
-
function __() { this.constructor = d; }
|
|
32725
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
32726
|
-
}
|
|
32727
|
-
|
|
32728
|
-
var __assign = function() {
|
|
32729
|
-
__assign = Object.assign || function __assign(t) {
|
|
32730
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
32731
|
-
s = arguments[i];
|
|
32732
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
32733
|
-
}
|
|
32734
|
-
return t;
|
|
32735
|
-
};
|
|
32736
|
-
return __assign.apply(this, arguments);
|
|
32737
|
-
};
|
|
32738
|
-
|
|
32739
|
-
function __rest(s, e) {
|
|
32740
|
-
var t = {};
|
|
32741
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
32742
|
-
t[p] = s[p];
|
|
32743
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
32744
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
32745
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32746
|
-
t[p[i]] = s[p[i]];
|
|
32747
|
-
}
|
|
32748
|
-
return t;
|
|
32749
|
-
}
|
|
32750
|
-
|
|
32751
|
-
function __read(o, n) {
|
|
32752
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
32753
|
-
if (!m) return o;
|
|
32754
|
-
var i = m.call(o), r, ar = [], e;
|
|
32755
|
-
try {
|
|
32756
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
32757
|
-
}
|
|
32758
|
-
catch (error) { e = { error: error }; }
|
|
32759
|
-
finally {
|
|
32760
|
-
try {
|
|
32761
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
32762
|
-
}
|
|
32763
|
-
finally { if (e) throw e.error; }
|
|
32764
|
-
}
|
|
32765
|
-
return ar;
|
|
32766
|
-
}
|
|
32767
|
-
|
|
32768
|
-
function __spreadArray(to, from, pack) {
|
|
32769
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
32770
|
-
if (ar || !(i in from)) {
|
|
32771
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
32772
|
-
ar[i] = from[i];
|
|
32773
|
-
}
|
|
32774
|
-
}
|
|
32775
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
32776
|
-
}
|
|
32777
|
-
|
|
32778
32898
|
var createDefinition = function (propNames) { return ({
|
|
32779
32899
|
isEnabled: function (props) { return propNames.some(function (name) { return !!props[name]; }); },
|
|
32780
32900
|
}); };
|
|
@@ -40332,10 +40452,10 @@ var AnimatePresence = function (_a) {
|
|
|
40332
40452
|
};
|
|
40333
40453
|
|
|
40334
40454
|
// import clsx from 'clsx';
|
|
40335
|
-
|
|
40336
|
-
|
|
40337
|
-
|
|
40338
|
-
|
|
40455
|
+
var LuiAccordicard = function (props) {
|
|
40456
|
+
var _a = props.defaultToOpen, defaultToOpen = _a === void 0 ? false : _a, children = props.children, headerContent = props.headerContent;
|
|
40457
|
+
var _b = React.useState(defaultToOpen), isOpen = _b[0], setIsOpen = _b[1];
|
|
40458
|
+
var AccordicardContent = function () {
|
|
40339
40459
|
return (React__default["default"].createElement(motion.div, { className: "LuiAccordicard-contentWrapper", key: "content", initial: ['collapsed'], animate: "open", exit: "collapsed", variants: {
|
|
40340
40460
|
open: {
|
|
40341
40461
|
opacity: 1,
|
|
@@ -40344,14 +40464,14 @@ const LuiAccordicard = (props) => {
|
|
|
40344
40464
|
opacity: {
|
|
40345
40465
|
delay: 0.1,
|
|
40346
40466
|
duration: 0.6,
|
|
40347
|
-
ease: [0.04, 0.62, 0.23, 0.98]
|
|
40467
|
+
ease: [0.04, 0.62, 0.23, 0.98]
|
|
40348
40468
|
},
|
|
40349
40469
|
height: {
|
|
40350
40470
|
delay: 0,
|
|
40351
40471
|
duration: 0.2,
|
|
40352
|
-
ease: [0.04, 0.62, 0.23, 0.98]
|
|
40353
|
-
}
|
|
40354
|
-
}
|
|
40472
|
+
ease: [0.04, 0.62, 0.23, 0.98]
|
|
40473
|
+
}
|
|
40474
|
+
}
|
|
40355
40475
|
},
|
|
40356
40476
|
collapsed: {
|
|
40357
40477
|
opacity: 0,
|
|
@@ -40360,15 +40480,15 @@ const LuiAccordicard = (props) => {
|
|
|
40360
40480
|
opacity: {
|
|
40361
40481
|
delay: 0,
|
|
40362
40482
|
duration: 0.2,
|
|
40363
|
-
ease: [0.04, 0.62, 0.23, 0.98]
|
|
40483
|
+
ease: [0.04, 0.62, 0.23, 0.98]
|
|
40364
40484
|
},
|
|
40365
40485
|
height: {
|
|
40366
40486
|
delay: 0.1,
|
|
40367
40487
|
duration: 0.2,
|
|
40368
|
-
ease: [0.04, 0.62, 0.23, 0.98]
|
|
40369
|
-
}
|
|
40370
|
-
}
|
|
40371
|
-
}
|
|
40488
|
+
ease: [0.04, 0.62, 0.23, 0.98]
|
|
40489
|
+
}
|
|
40490
|
+
}
|
|
40491
|
+
}
|
|
40372
40492
|
} },
|
|
40373
40493
|
React__default["default"].createElement("div", { className: clsx('LuiAccordicard-content', isOpen ? 'LuiAccordicard-content--isOpen' : null) }, isOpen ? children : React__default["default"].createElement(React__default["default"].Fragment, null))));
|
|
40374
40494
|
};
|
|
@@ -40378,13 +40498,13 @@ const LuiAccordicard = (props) => {
|
|
|
40378
40498
|
React__default["default"].createElement(motion.header, { layout: true, initial: false, className: "LuiAccordicard-header" },
|
|
40379
40499
|
React__default["default"].createElement("div", { className: "LuiAccordicard-headerContent" }, headerContent)),
|
|
40380
40500
|
React__default["default"].createElement(AnimatePresence, { initial: false }, isOpen && React__default["default"].createElement(AccordicardContent, null)),
|
|
40381
|
-
React__default["default"].createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicard-trigger", onClick: ()
|
|
40501
|
+
React__default["default"].createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicard-trigger", onClick: function () { return setIsOpen(!isOpen); } },
|
|
40382
40502
|
React__default["default"].createElement(LuiIcon, { className: clsx('LuiAccordicard-chevron', isOpen ? 'LuiAccordicard-chevron--isOpen' : null), name: 'ic_expand_more', alt: "expand", size: "md" }))));
|
|
40383
40503
|
};
|
|
40384
40504
|
|
|
40385
|
-
|
|
40386
|
-
|
|
40387
|
-
|
|
40505
|
+
var LuiAccordicardStatic = function (props) {
|
|
40506
|
+
var _a = props.defaultToOpen, defaultToOpen = _a === void 0 ? false : _a, children = props.children, headerContent = props.headerContent;
|
|
40507
|
+
var _b = React.useState(defaultToOpen), isOpen = _b[0], setIsOpen = _b[1];
|
|
40388
40508
|
return (React__default["default"].createElement("div", { className: clsx('LuiAccordicardStatic', isOpen ? 'LuiAccordicardStatic--isOpen' : null, props.warning ? 'LuiAccordicardStatic--warning' : null, props.className) },
|
|
40389
40509
|
props.warning && (React__default["default"].createElement("div", { className: "LuiAccordicardStatic-sideBar" },
|
|
40390
40510
|
React__default["default"].createElement(LuiIcon, { className: "LuiAccordicardStatic-warningIcon", alt: "Accordicard warning", name: 'ic_warning', size: 'md' }))),
|
|
@@ -40392,7 +40512,7 @@ const LuiAccordicardStatic = (props) => {
|
|
|
40392
40512
|
React__default["default"].createElement("div", { className: "LuiAccordicardStatic-headerContent" }, headerContent)),
|
|
40393
40513
|
React__default["default"].createElement("div", { className: clsx('LuiAccordicardStatic-contentWrapper', isOpen ? 'LuiAccordicardStatic-contentWrapper--isOpen' : null) },
|
|
40394
40514
|
React__default["default"].createElement("div", { className: clsx('LuiAccordicardStatic-content', isOpen ? 'LuiAccordicardStatic-content--isOpen' : null) }, isOpen ? children : React__default["default"].createElement(React__default["default"].Fragment, null))),
|
|
40395
|
-
React__default["default"].createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicardStatic-trigger", onClick: ()
|
|
40515
|
+
React__default["default"].createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicardStatic-trigger", onClick: function () { return setIsOpen(!isOpen); } },
|
|
40396
40516
|
React__default["default"].createElement(LuiIcon, { className: clsx('LuiAccordicardStatic-chevron', isOpen ? 'LuiAccordicardStatic-chevron--isOpen' : null), name: 'ic_expand_more', alt: "expand", title: "Expand and collapse panel", size: "md" }))));
|
|
40397
40517
|
};
|
|
40398
40518
|
|
|
@@ -40685,40 +40805,36 @@ function $453cc9f0df89c0a5$export$77d5aafae4e095b2(collection) {
|
|
|
40685
40805
|
return count;
|
|
40686
40806
|
}
|
|
40687
40807
|
|
|
40688
|
-
function useLuiListBox(
|
|
40689
|
-
|
|
40690
|
-
|
|
40808
|
+
function useLuiListBox(_a) {
|
|
40809
|
+
var selectionMode = _a.selectionMode, selectionBehavior = _a.selectionBehavior, _b = _a.items, items = _b === void 0 ? [] : _b, value = _a.value, onChange = _a.onChange, ariaProps = _a.ariaProps, _c = _a.getGroup, getGroup = _c === void 0 ? defaultGroupGetter : _c, _d = _a.getKey, getKey = _d === void 0 ? defaultKeyGetter : _d;
|
|
40810
|
+
var children = React.useCallback(function (item) {
|
|
40811
|
+
return item.childNodes ? (React__default["default"].createElement($9fc4852771d079eb$export$6e2c8f0811a474ce, { key: item.key, items: item.childNodes, title: item.textValue }, function (item) { return React__default["default"].createElement($c1d7fb2ec91bae71$export$6d08773d2e66f8f2, null, String(item.key)); })) : (React__default["default"].createElement($c1d7fb2ec91bae71$export$6d08773d2e66f8f2, null, String(item.key)));
|
|
40812
|
+
}, []);
|
|
40813
|
+
var onSelectionChange = React.useCallback(function (keys) {
|
|
40691
40814
|
if (!onChange) {
|
|
40692
40815
|
return;
|
|
40693
40816
|
}
|
|
40694
|
-
onChange(keys === 'all' ? items.map((item)
|
|
40817
|
+
onChange(keys === 'all' ? items.map(function (item) { return getKey(item); }) : Array.from(keys), keys === 'all' ? items : items.filter(function (item) { return keys.has(getKey(item)); }));
|
|
40695
40818
|
}, [items, onChange, getKey]);
|
|
40696
|
-
|
|
40819
|
+
var nodes = React.useMemo(function () { return mapItemsToNodes(items, getKey, getGroup); }, [
|
|
40697
40820
|
items,
|
|
40698
40821
|
getKey,
|
|
40699
40822
|
getGroup,
|
|
40700
40823
|
]);
|
|
40701
|
-
return {
|
|
40702
|
-
...ariaProps,
|
|
40703
|
-
items: nodes,
|
|
40704
|
-
selectionMode,
|
|
40705
|
-
selectionBehavior,
|
|
40706
|
-
selectedKeys: (Array.isArray(value) ? value : [value]).filter(Boolean),
|
|
40707
|
-
children,
|
|
40708
|
-
onSelectionChange,
|
|
40709
|
-
};
|
|
40824
|
+
return __assign(__assign({}, ariaProps), { items: nodes, selectionMode: selectionMode, selectionBehavior: selectionBehavior, selectedKeys: (Array.isArray(value) ? value : [value]).filter(Boolean), children: children, onSelectionChange: onSelectionChange });
|
|
40710
40825
|
}
|
|
40711
40826
|
function mapItemsToNodes(items, getKey, getGroup) {
|
|
40712
|
-
|
|
40713
|
-
for (
|
|
40714
|
-
|
|
40715
|
-
|
|
40827
|
+
var rootNodes = new Map();
|
|
40828
|
+
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
|
|
40829
|
+
var item = items_1[_i];
|
|
40830
|
+
var groupName = getGroup(item);
|
|
40831
|
+
var key = getKey(item);
|
|
40716
40832
|
// Is an item without a group
|
|
40717
40833
|
if (!groupName) {
|
|
40718
40834
|
rootNodes.set(key, {
|
|
40719
|
-
key,
|
|
40835
|
+
key: key,
|
|
40720
40836
|
textValue: String(key),
|
|
40721
|
-
value: item
|
|
40837
|
+
value: item
|
|
40722
40838
|
});
|
|
40723
40839
|
}
|
|
40724
40840
|
// is an item with a group that has not been encountered yet.
|
|
@@ -40726,14 +40842,14 @@ function mapItemsToNodes(items, getKey, getGroup) {
|
|
|
40726
40842
|
rootNodes.set(groupName, {
|
|
40727
40843
|
key: groupName,
|
|
40728
40844
|
textValue: groupName,
|
|
40729
|
-
childNodes: []
|
|
40845
|
+
childNodes: []
|
|
40730
40846
|
});
|
|
40731
40847
|
}
|
|
40732
40848
|
if (groupName) {
|
|
40733
40849
|
rootNodes.get(groupName).childNodes.push({
|
|
40734
|
-
key,
|
|
40850
|
+
key: key,
|
|
40735
40851
|
textValue: String(key),
|
|
40736
|
-
value: item
|
|
40852
|
+
value: item
|
|
40737
40853
|
});
|
|
40738
40854
|
}
|
|
40739
40855
|
}
|
|
@@ -43362,15 +43478,16 @@ function $af383d3bef1cfdc9$export$c3f9f39876e4bc7(props) {
|
|
|
43362
43478
|
};
|
|
43363
43479
|
}
|
|
43364
43480
|
|
|
43365
|
-
function LuiListBoxItem(
|
|
43366
|
-
|
|
43367
|
-
|
|
43368
|
-
|
|
43369
|
-
|
|
43481
|
+
function LuiListBoxItem(_a) {
|
|
43482
|
+
var node = _a.node, state = _a.state, renderer = _a.renderer;
|
|
43483
|
+
var ref = React.useRef(null);
|
|
43484
|
+
var _b = $293f70390ea03370$export$497855f14858aa34({ key: node.key }, state, ref), optionProps = _b.optionProps, isSelected = _b.isSelected, isDisabled = _b.isDisabled;
|
|
43485
|
+
var _c = $f7dceffc5ad7768b$export$4e328f61c538687f(), isFocusVisible = _c.isFocusVisible, focusProps = _c.focusProps;
|
|
43486
|
+
return (React__default["default"].createElement("li", __assign({ ref: ref }, $3ef42575df84b30b$export$9d1611c77c2fe928(optionProps, focusProps), { className: clsx('LuiListBoxItem', isSelected && 'LuiListBoxItem-selected', isDisabled && 'LuiListBoxItem-disabled') }), renderer({
|
|
43370
43487
|
item: node.value,
|
|
43371
|
-
isDisabled,
|
|
43372
|
-
isSelected,
|
|
43373
|
-
isFocusVisible
|
|
43488
|
+
isDisabled: isDisabled,
|
|
43489
|
+
isSelected: isSelected,
|
|
43490
|
+
isFocusVisible: isFocusVisible
|
|
43374
43491
|
})));
|
|
43375
43492
|
}
|
|
43376
43493
|
|
|
@@ -43843,48 +43960,50 @@ function $e72dd72e1c76a225$export$2f645645f7bca764(props) {
|
|
|
43843
43960
|
};
|
|
43844
43961
|
}
|
|
43845
43962
|
|
|
43846
|
-
function LuiListBoxGroup(
|
|
43847
|
-
|
|
43963
|
+
function LuiListBoxGroup(_a) {
|
|
43964
|
+
var group = _a.group, state = _a.state, headingRenderer = _a.headingRenderer, itemRenderer = _a.itemRenderer;
|
|
43965
|
+
var _b = $af383d3bef1cfdc9$export$c3f9f39876e4bc7({
|
|
43848
43966
|
heading: group.textValue,
|
|
43849
|
-
'aria-label': group.textValue
|
|
43850
|
-
});
|
|
43851
|
-
return (React__default["default"].createElement("li", { className: "LuiListBoxGroup",
|
|
43852
|
-
React__default["default"].createElement("span", { className: "LuiListBoxGroup-heading",
|
|
43853
|
-
React__default["default"].createElement("ul", { className: "LuiListBoxGroup-items",
|
|
43854
|
-
}
|
|
43855
|
-
|
|
43856
|
-
function LuiListBox(
|
|
43857
|
-
|
|
43858
|
-
|
|
43859
|
-
|
|
43860
|
-
|
|
43861
|
-
|
|
43862
|
-
|
|
43863
|
-
|
|
43864
|
-
|
|
43865
|
-
|
|
43866
|
-
|
|
43967
|
+
'aria-label': group.textValue
|
|
43968
|
+
}), itemProps = _b.itemProps, headingProps = _b.headingProps, groupProps = _b.groupProps;
|
|
43969
|
+
return (React__default["default"].createElement("li", __assign({ className: "LuiListBoxGroup" }, itemProps),
|
|
43970
|
+
React__default["default"].createElement("span", __assign({ className: "LuiListBoxGroup-heading" }, headingProps), headingRenderer({ text: group.textValue })),
|
|
43971
|
+
React__default["default"].createElement("ul", __assign({ className: "LuiListBoxGroup-items" }, groupProps), (group.childNodes || []).map(function (node) { return (React__default["default"].createElement(LuiListBoxItem, { key: node.key, node: node, state: state, renderer: itemRenderer })); }))));
|
|
43972
|
+
}
|
|
43973
|
+
|
|
43974
|
+
function LuiListBox(_a) {
|
|
43975
|
+
var ariaLabel = _a.ariaLabel, ariaLabelledBy = _a.ariaLabelledBy, _b = _a.itemRenderer, itemRenderer = _b === void 0 ? DefaultItemRenderer : _b, _c = _a.groupHeadingRenderer, groupHeadingRenderer = _c === void 0 ? DefaultGroupHeadingRenderer : _c, _d = _a.loadingIndicator, loadingIndicator = _d === void 0 ? DefaultLoadingIndicator : _d, _e = _a.emptyIndicator, emptyIndicator = _e === void 0 ? DefaultEmptyIndicator : _e, _f = _a.selectionMode, selectionMode = _f === void 0 ? 'single' : _f, _g = _a.selectionBehavior, selectionBehavior = _g === void 0 ? 'toggle' : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h, items = _a.items, value = _a.value, onChange = _a.onChange, getKey = _a.getKey, getGroup = _a.getGroup, ariaProps = _a.ariaProps, className = _a.className, ulProps = __rest(_a, ["ariaLabel", "ariaLabelledBy", "itemRenderer", "groupHeadingRenderer", "loadingIndicator", "emptyIndicator", "selectionMode", "selectionBehavior", "disabled", "items", "value", "onChange", "getKey", "getGroup", "ariaProps", "className"]);
|
|
43976
|
+
var listProps = useLuiListBox({
|
|
43977
|
+
selectionMode: selectionMode,
|
|
43978
|
+
selectionBehavior: selectionBehavior,
|
|
43979
|
+
items: items,
|
|
43980
|
+
value: value,
|
|
43981
|
+
onChange: onChange,
|
|
43982
|
+
getKey: getKey,
|
|
43983
|
+
getGroup: getGroup,
|
|
43984
|
+
ariaProps: ariaProps,
|
|
43985
|
+
disabled: disabled
|
|
43867
43986
|
});
|
|
43868
|
-
|
|
43869
|
-
|
|
43870
|
-
|
|
43871
|
-
|
|
43872
|
-
}
|
|
43873
|
-
const ref = React.useRef(null);
|
|
43874
|
-
const state = $e72dd72e1c76a225$export$2f645645f7bca764(listProps);
|
|
43875
|
-
const { listBoxProps } = $c132121280ec012d$export$50eacbbf140a3141(ariaListBoxProps, state, ref);
|
|
43876
|
-
return (React__default["default"].createElement("ul", { ...ulProps, ...listBoxProps, ref: ref, className: clsx('LuiListBox', className) },
|
|
43987
|
+
var ariaListBoxProps = React.useMemo(function () { return (__assign({ 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy }, listProps)); }, [listProps, ariaLabel, ariaLabelledBy]);
|
|
43988
|
+
var ref = React.useRef(null);
|
|
43989
|
+
var state = $e72dd72e1c76a225$export$2f645645f7bca764(listProps);
|
|
43990
|
+
var listBoxProps = $c132121280ec012d$export$50eacbbf140a3141(ariaListBoxProps, state, ref).listBoxProps;
|
|
43991
|
+
return (React__default["default"].createElement("ul", __assign({}, ulProps, listBoxProps, { ref: ref, className: clsx('LuiListBox', className) }),
|
|
43877
43992
|
!items && loadingIndicator(),
|
|
43878
|
-
items
|
|
43879
|
-
|
|
43993
|
+
(items === null || items === void 0 ? void 0 : items.length) === 0 && emptyIndicator(),
|
|
43994
|
+
Array.from(state.collection).map(function (node) {
|
|
43995
|
+
return node.type === 'section' ? (React__default["default"].createElement(LuiListBoxGroup, { key: node.key, group: node.value, state: state, headingRenderer: groupHeadingRenderer, itemRenderer: itemRenderer })) : (React__default["default"].createElement(LuiListBoxItem, { key: node.key, node: node.value, state: state, renderer: itemRenderer }));
|
|
43996
|
+
})));
|
|
43880
43997
|
}
|
|
43881
|
-
function DefaultItemRenderer(
|
|
43998
|
+
function DefaultItemRenderer(_a) {
|
|
43999
|
+
var item = _a.item;
|
|
43882
44000
|
if (!item.hasOwnProperty('label')) {
|
|
43883
44001
|
throw Error('Could not find `label` property on item, please provide a custom `itemRenderer`');
|
|
43884
44002
|
}
|
|
43885
44003
|
return React__default["default"].createElement(React__default["default"].Fragment, null, item.label);
|
|
43886
44004
|
}
|
|
43887
|
-
function DefaultGroupHeadingRenderer(
|
|
44005
|
+
function DefaultGroupHeadingRenderer(_a) {
|
|
44006
|
+
var text = _a.text;
|
|
43888
44007
|
return text;
|
|
43889
44008
|
}
|
|
43890
44009
|
function DefaultLoadingIndicator() {
|
|
@@ -43903,16 +44022,18 @@ function DefaultEmptyIndicator() {
|
|
|
43903
44022
|
var css_248z$1 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.RadioItemRenderer {\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 0 0 2rem;\n}\n.RadioItemRenderer::before {\n content: \"\";\n height: 1.5rem;\n min-width: 1.5rem;\n width: 1.5rem;\n border: 2px solid #007198;\n border-radius: 50%;\n background-color: transparent;\n position: absolute;\n left: 0;\n top: 0;\n margin-right: 0.75rem;\n}\n.RadioItemRenderer:after {\n content: \"\";\n position: absolute;\n left: 5px;\n top: 5px;\n background-color: #007198;\n height: 14px;\n min-width: 14px;\n width: 14px;\n border-radius: 50%;\n opacity: 0;\n transition: opacity 0.3s ease-in-out;\n}\n.RadioItemRenderer-isSelected:after {\n opacity: 1;\n}";
|
|
43904
44023
|
styleInject(css_248z$1);
|
|
43905
44024
|
|
|
43906
|
-
function RadioItemRenderer(
|
|
43907
|
-
|
|
44025
|
+
function RadioItemRenderer(_a) {
|
|
44026
|
+
var item = _a.item, isSelected = _a.isSelected;
|
|
44027
|
+
return (React__default["default"].createElement("div", { className: "RadioItemRenderer ".concat(isSelected ? 'RadioItemRenderer-isSelected' : '') }, item.label));
|
|
43908
44028
|
}
|
|
43909
44029
|
|
|
43910
44030
|
var css_248z = ".CheckboxRenderer {\n display: flex;\n align-items: center;\n}";
|
|
43911
44031
|
styleInject(css_248z);
|
|
43912
44032
|
|
|
43913
|
-
function CheckboxItemRenderer(
|
|
43914
|
-
|
|
43915
|
-
|
|
44033
|
+
function CheckboxItemRenderer(_a) {
|
|
44034
|
+
var item = _a.item, isSelected = _a.isSelected;
|
|
44035
|
+
return (React__default["default"].createElement("div", { className: "CheckboxRenderer ".concat(isSelected ? 'LuiCheckboxInput--isChecked' : ''), style: {} },
|
|
44036
|
+
React__default["default"].createElement(LuiIcon, { size: "md", name: isSelected ? 'ic_check' : 'ic_zoom_out', alt: isSelected ? 'Checked' : 'Indeterminate Check', className: "LuiCheckboxInput-labelCheck ".concat(isSelected ? 'LuiCheckboxInput--isChecked' : '') }),
|
|
43916
44037
|
item.label));
|
|
43917
44038
|
}
|
|
43918
44039
|
|