@linzjs/lui 17.10.1 → 17.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.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
- 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
- }
27
- });
28
- }
29
- n["default"] = e;
30
- return Object.freeze(n);
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
+ }
27
+ });
28
+ }
29
+ n["default"] = e;
30
+ return Object.freeze(n);
31
31
  }
32
32
 
33
33
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
@@ -36,177 +36,10 @@ var crypto__default = /*#__PURE__*/_interopDefaultLegacy(crypto$1);
36
36
  var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
37
37
  var lottie__default = /*#__PURE__*/_interopDefaultLegacy(lottie);
38
38
 
39
- function toVal(mix) {
40
- var k, y, str='';
41
-
42
- if (typeof mix === 'string' || typeof mix === 'number') {
43
- str += mix;
44
- } else if (typeof mix === 'object') {
45
- if (Array.isArray(mix)) {
46
- for (k=0; k < mix.length; k++) {
47
- if (mix[k]) {
48
- if (y = toVal(mix[k])) {
49
- str && (str += ' ');
50
- str += y;
51
- }
52
- }
53
- }
54
- } else {
55
- for (k in mix) {
56
- if (mix[k]) {
57
- str && (str += ' ');
58
- str += k;
59
- }
60
- }
61
- }
62
- }
63
-
64
- return str;
65
- }
66
-
67
- function clsx () {
68
- var i=0, tmp, x, str='';
69
- while (i < arguments.length) {
70
- if (tmp = arguments[i++]) {
71
- if (x = toVal(tmp)) {
72
- str && (str += ' ');
73
- str += x;
74
- }
75
- }
76
- }
77
- return str;
78
- }
79
-
80
- /*! *****************************************************************************
81
- Copyright (c) Microsoft Corporation.
82
-
83
- Permission to use, copy, modify, and/or distribute this software for any
84
- purpose with or without fee is hereby granted.
85
-
86
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
87
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
88
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
89
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
90
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
91
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
92
- PERFORMANCE OF THIS SOFTWARE.
93
- ***************************************************************************** */
94
- /* global Reflect, Promise */
95
-
96
- var extendStatics = function(d, b) {
97
- extendStatics = Object.setPrototypeOf ||
98
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
99
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
100
- return extendStatics(d, b);
101
- };
102
-
103
- function __extends(d, b) {
104
- if (typeof b !== "function" && b !== null)
105
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
106
- extendStatics(d, b);
107
- function __() { this.constructor = d; }
108
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
109
- }
110
-
111
- var __assign = function() {
112
- __assign = Object.assign || function __assign(t) {
113
- for (var s, i = 1, n = arguments.length; i < n; i++) {
114
- s = arguments[i];
115
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
116
- }
117
- return t;
118
- };
119
- return __assign.apply(this, arguments);
120
- };
121
-
122
- function __rest(s, e) {
123
- var t = {};
124
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
125
- t[p] = s[p];
126
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
127
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
128
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
129
- t[p[i]] = s[p[i]];
130
- }
131
- return t;
132
- }
133
-
134
- function __awaiter(thisArg, _arguments, P, generator) {
135
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
136
- return new (P || (P = Promise))(function (resolve, reject) {
137
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
138
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
139
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
140
- step((generator = generator.apply(thisArg, _arguments || [])).next());
141
- });
142
- }
143
-
144
- function __generator(thisArg, body) {
145
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
146
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
147
- function verb(n) { return function (v) { return step([n, v]); }; }
148
- function step(op) {
149
- if (f) throw new TypeError("Generator is already executing.");
150
- while (_) try {
151
- 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;
152
- if (y = 0, t) op = [op[0] & 2, t.value];
153
- switch (op[0]) {
154
- case 0: case 1: t = op; break;
155
- case 4: _.label++; return { value: op[1], done: false };
156
- case 5: _.label++; y = op[1]; op = [0]; continue;
157
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
158
- default:
159
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
160
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
161
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
162
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
163
- if (t[2]) _.ops.pop();
164
- _.trys.pop(); continue;
165
- }
166
- op = body.call(thisArg, _);
167
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
168
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
169
- }
170
- }
171
-
172
- function __read(o, n) {
173
- var m = typeof Symbol === "function" && o[Symbol.iterator];
174
- if (!m) return o;
175
- var i = m.call(o), r, ar = [], e;
176
- try {
177
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
178
- }
179
- catch (error) { e = { error: error }; }
180
- finally {
181
- try {
182
- if (r && !r.done && (m = i["return"])) m.call(i);
183
- }
184
- finally { if (e) throw e.error; }
185
- }
186
- return ar;
187
- }
188
-
189
- /** @deprecated */
190
- function __spreadArrays() {
191
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
192
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
193
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
194
- r[k] = a[j];
195
- return r;
196
- }
197
-
198
- function __spreadArray(to, from, pack) {
199
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
200
- if (ar || !(i in from)) {
201
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
202
- ar[i] = from[i];
203
- }
204
- }
205
- return to.concat(ar || Array.prototype.slice.call(from));
206
- }
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}
207
40
 
208
41
  // START OF GENERATED FILE`;
209
- var iconMap = {};
42
+ let iconMap = {};
210
43
  // @TODO This is a generated file, nothing is safe.
211
44
  iconMap['ic_account_circle'] = (React__default["default"].createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
212
45
  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" })));
@@ -504,10 +337,10 @@ iconMap['ic_zoom_out'] = (React__default["default"].createElement("svg", { viewB
504
337
  React__default["default"].createElement("path", { d: "M19 13H5v-2h14v2Z" })));
505
338
  iconMap['ic_zoom_previous'] = (React__default["default"].createElement("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
506
339
  React__default["default"].createElement("path", { d: "M6 6h2v12H6V6Zm12 12-8.5-6L18 6v12Zm-5.03-6L16 14.14V9.86L12.97 12Z" })));
507
- var ICONS = iconMap;
340
+ const ICONS = iconMap;
508
341
  // END OF GENERATED FILE
509
342
 
510
- var ICON_SIZES = {
343
+ const ICON_SIZES = {
511
344
  xs: 'LuiIcon--xs',
512
345
  sm: 'LuiIcon--sm',
513
346
  md: 'LuiIcon--md',
@@ -515,7 +348,7 @@ var ICON_SIZES = {
515
348
  xl: 'LuiIcon--xl',
516
349
  ns: 'LuiIcon--noSize',
517
350
  };
518
- var ICON_STATUS = {
351
+ const ICON_STATUS = {
519
352
  none: '',
520
353
  error: 'LuiIcon--error',
521
354
  warning: 'LuiIcon--warning',
@@ -523,14 +356,13 @@ var ICON_STATUS = {
523
356
  interactive: 'LuiIcon--interactive',
524
357
  disabled: 'LuiIcon--disabled',
525
358
  };
526
- var LuiIcon = function (_a) {
527
- 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;
528
- var iconSVG = ICONS[name];
359
+ const LuiIcon = ({ name, className, size = 'ns', title, alt, status = 'none', spanProps, }) => {
360
+ const iconSVG = ICONS[name];
529
361
  if (!iconSVG) {
530
- console.warn("<LuiIcon>: No icon found for: " + iconSVG);
362
+ console.warn(`<LuiIcon>: No icon found for: ${iconSVG}`);
531
363
  return null;
532
364
  }
533
- 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));
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, ...spanProps }, iconSVG));
534
366
  };
535
367
 
536
368
  function getMaterialIconForLevel(level) {
@@ -545,85 +377,84 @@ function getMaterialIconForLevel(level) {
545
377
  return 'error';
546
378
  }
547
379
  }
548
- var LuiBanner = function (props) {
549
- return (React__default["default"].createElement("div", { className: clsx('lui-msg-banner-container', props.className ? props.className + "-bannerContainer" : '') },
380
+ const LuiBanner = (props) => {
381
+ return (React__default["default"].createElement("div", { className: clsx('lui-msg-banner-container', props.className ? `${props.className}-bannerContainer` : '') },
550
382
  React__default["default"].createElement(LuiBannerContent, { level: props.level, className: props.className }, props.children)));
551
383
  };
552
- var LuiBannerContent = function (props) {
553
- var materialIcon = getMaterialIconForLevel(props.level);
554
- return (React__default["default"].createElement("div", { className: clsx("lui-msg-" + props.level + " lui-msg-dynamic-banner", props.className) },
555
- React__default["default"].createElement(LuiIcon, { name: "ic_" + materialIcon, alt: props.level + " banner icon", size: "lg", className: "lui-msg-status-icon" }),
384
+ const LuiBannerContent = (props) => {
385
+ let materialIcon = getMaterialIconForLevel(props.level);
386
+ return (React__default["default"].createElement("div", { className: clsx(`lui-msg-${props.level} lui-msg-dynamic-banner`, props.className) },
387
+ React__default["default"].createElement(LuiIcon, { name: `ic_${materialIcon}`, alt: `${props.level} banner icon`, size: "lg", className: "lui-msg-status-icon" }),
556
388
  React__default["default"].createElement("div", null, props.children)));
557
389
  };
558
390
 
559
- var LuiStaticMessage = function (props) {
560
- var _a = React.useState(true), display = _a[0], setDisplay = _a[1];
561
- var materialIcon = getMaterialIconForLevel(props.level);
562
- return display ? (React__default["default"].createElement("div", { className: clsx("lui-msg-" + props.level, props.className), "data-testid": 'static-message-container' },
563
- React__default["default"].createElement(LuiIcon, { name: "ic_" + materialIcon, alt: props.level + " static icon", size: "lg", className: "lui-msg-status-icon" }),
391
+ const LuiStaticMessage = (props) => {
392
+ const [display, setDisplay] = React.useState(true);
393
+ let materialIcon = getMaterialIconForLevel(props.level);
394
+ return display ? (React__default["default"].createElement("div", { className: clsx(`lui-msg-${props.level}`, props.className), "data-testid": 'static-message-container' },
395
+ React__default["default"].createElement(LuiIcon, { name: `ic_${materialIcon}`, alt: `${props.level} static icon`, size: "lg", className: "lui-msg-status-icon" }),
564
396
  props.children,
565
- (props.closable === undefined || props.closable) && (React__default["default"].createElement("button", { "aria-label": "Close dialog", onClick: function () {
397
+ (props.closable === undefined || props.closable) && (React__default["default"].createElement("button", { "aria-label": "Close dialog", onClick: () => {
566
398
  setDisplay(false);
567
399
  } },
568
400
  React__default["default"].createElement(LuiIcon, { name: "ic_clear", alt: 'close', size: "md", className: "LuiStaticMsg-close" }))))) : (React__default["default"].createElement(React__default["default"].Fragment, null));
569
401
  };
570
402
 
571
- var PlainButton = React__default["default"].forwardRef(function (props, ref) {
572
- 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-" + props.level, "lui-button-" + props.size, props.className), "data-testid": props['data-testid'], style: props.style, ref: ref }), props.children));
403
+ const PlainButton = React__default["default"].forwardRef((props, ref) => {
404
+ return (React__default["default"].createElement("button", { ...props.buttonProps, type: props.type, title: props.title, disabled: props.disabled, name: props.name, onClick: props.onClick, className: clsx('lui-button', `lui-button-${props.level}`, `lui-button-${props.size}`, props.className), "data-testid": props['data-testid'], style: props.style, ref: ref }, props.children));
573
405
  });
574
- var LuiButton = React__default["default"].forwardRef(function (props, ref) {
575
- var _level = props.level ? props.level : 'primary';
576
- var size = props.size ? props.size : 'med';
406
+ const LuiButton = React__default["default"].forwardRef((props, ref) => {
407
+ const _level = props.level ? props.level : 'primary';
408
+ const size = props.size ? props.size : 'med';
577
409
  if (props.href) {
578
- var aProps = {
410
+ let aProps = {
579
411
  href: props.href,
580
412
  'data-testid': props['data-testid'],
581
413
  name: props.name,
582
414
  title: props.title,
583
- className: clsx('lui-button', "lui-button-" + props.level, "lui-button-" + props.size, props.className),
415
+ className: clsx('lui-button', `lui-button-${props.level}`, `lui-button-${props.size}`, props.className),
584
416
  style: props.style,
585
417
  };
586
418
  if (props.openInNewTab) {
587
419
  aProps.target = '_blank';
588
420
  aProps.rel = 'noopener noreferrer';
589
421
  }
590
- return React__default["default"].createElement("a", __assign({}, aProps), props.children);
422
+ return React__default["default"].createElement("a", { ...aProps }, props.children);
591
423
  }
592
424
  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));
593
425
  });
594
426
  /**
595
427
  * A series of Lui buttons together.
596
428
  */
597
- var LuiButtonGroup = function (props) {
598
- var children = Array.isArray(props.children)
429
+ const LuiButtonGroup = (props) => {
430
+ const children = Array.isArray(props.children)
599
431
  ? props.children
600
432
  : [props.children];
601
- return (React__default["default"].createElement("div", { className: "lui-button-group", "data-testid": 'button-group' }, children.map(function (child, i) {
433
+ return (React__default["default"].createElement("div", { className: "lui-button-group", "data-testid": 'button-group' }, children.map((child, i) => {
602
434
  return (React__default["default"].createElement("div", { key: i, className: 'lui-button-wrapper' }, child));
603
435
  })));
604
436
  };
605
437
 
606
- var LuiToastMessage = function (_a) {
607
- 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;
608
- var _d = React.useState('lui-msg-toast-show'), className = _d[0], setClassname = _d[1];
609
- var _e = React.useState(undefined), fadeOutTimer = _e[0], setFadeOutTimer = _e[1];
610
- var _f = React.useState(undefined), removeTimer = _f[0], setRemoveTimer = _f[1];
611
- var materialIcon = getMaterialIconForLevel(level);
612
- var callOnCloseAfterDissolved = function () {
438
+ const LuiToastMessage = ({ level, displayTimeout = 4000, display = true, requireDismiss, onClose, children, type, }) => {
439
+ const [className, setClassname] = React.useState('lui-msg-toast-show');
440
+ const [fadeOutTimer, setFadeOutTimer] = React.useState(undefined);
441
+ const [removeTimer, setRemoveTimer] = React.useState(undefined);
442
+ let materialIcon = getMaterialIconForLevel(level);
443
+ const callOnCloseAfterDissolved = () => {
613
444
  // This is so the caller can remove it from the dom
614
445
  if (onClose) {
615
- var timer = window.setTimeout(onClose, displayTimeout);
446
+ const timer = window.setTimeout(onClose, displayTimeout);
616
447
  setRemoveTimer(timer);
617
448
  }
618
449
  };
619
- React.useEffect(function () {
450
+ React.useEffect(() => {
620
451
  // clear timers if previously set
621
452
  fadeOutTimer && clearTimeout(fadeOutTimer);
622
453
  removeTimer && clearTimeout(removeTimer);
623
454
  setClassname('lui-msg-toast-show');
624
455
  if (!requireDismiss && displayTimeout !== 0) {
625
456
  // set a new timer
626
- var timer = window.setTimeout(function () {
457
+ const timer = window.setTimeout(() => {
627
458
  setClassname('lui-msg-toast-hide');
628
459
  callOnCloseAfterDissolved();
629
460
  }, displayTimeout);
@@ -631,36 +462,36 @@ var LuiToastMessage = function (_a) {
631
462
  }
632
463
  // eslint-disable-next-line react-hooks/exhaustive-deps
633
464
  }, [requireDismiss, displayTimeout, children]);
634
- React.useEffect(function () {
465
+ React.useEffect(() => {
635
466
  if (!display) {
636
467
  setClassname('lui-msg-toast-hide');
637
468
  callOnCloseAfterDissolved();
638
469
  }
639
470
  // eslint-disable-next-line react-hooks/exhaustive-deps
640
471
  }, [display]);
641
- return (React__default["default"].createElement("div", { role: "status", "data-testid": className, className: "lui-msg-" + level + " lui-msg-toast lui-msg-toast-dismissable " + className },
472
+ return (React__default["default"].createElement("div", { role: "status", "data-testid": className, className: `lui-msg-${level} lui-msg-toast lui-msg-toast-dismissable ${className}` },
642
473
  React__default["default"].createElement("i", { className: "lui-msg-status-icon material-icons-round" }, materialIcon),
643
474
  children,
644
- React__default["default"].createElement("button", { "aria-label": "Close dialog", type: type || 'button', onClick: function () {
475
+ React__default["default"].createElement("button", { "aria-label": "Close dialog", type: type || 'button', onClick: () => {
645
476
  setClassname('lui-msg-toast-hide');
646
477
  callOnCloseAfterDissolved();
647
478
  } },
648
479
  React__default["default"].createElement("i", { className: "material-icons-round" }, "close"))));
649
480
  };
650
481
 
651
- var UIMessagingContext = React.createContext({
482
+ const UIMessagingContext = React.createContext({
652
483
  // @ts-ignore
653
- showMessage: function (props) { },
484
+ showMessage: (props) => { },
654
485
  });
655
486
  function useShowLUIMessage() {
656
487
  return React.useContext(UIMessagingContext).showMessage;
657
488
  }
658
- var LuiMessagingContextProvider = function (props) {
659
- var _a = React.useState(), _message = _a[0], setMessage = _a[1];
660
- var _b = React.useState(), _messageType = _b[0], setMessageType = _b[1];
661
- var _c = React.useState('success'), _messageLevel = _c[0], setMessageLevel = _c[1];
662
- var _d = React.useState(true), _requireDismiss = _d[0], setRequireDismiss = _d[1];
663
- var showMessage = function (props) {
489
+ const LuiMessagingContextProvider = (props) => {
490
+ const [_message, setMessage] = React.useState();
491
+ const [_messageType, setMessageType] = React.useState();
492
+ const [_messageLevel, setMessageLevel] = React.useState('success');
493
+ const [_requireDismiss, setRequireDismiss] = React.useState(true);
494
+ const showMessage = (props) => {
664
495
  setMessage(props.message);
665
496
  setMessageType(props.messageType);
666
497
  setMessageLevel(props.messageLevel);
@@ -668,10 +499,10 @@ var LuiMessagingContextProvider = function (props) {
668
499
  ? props.messageLevel === 'error'
669
500
  : props.requireDismiss);
670
501
  };
671
- var renderMessage = function () {
502
+ const renderMessage = () => {
672
503
  switch (_messageType) {
673
504
  case 'toast':
674
- return (React__default["default"].createElement(LuiToastMessage, { onClose: function () {
505
+ return (React__default["default"].createElement(LuiToastMessage, { onClose: () => {
675
506
  setMessage(undefined);
676
507
  }, level: _messageLevel, requireDismiss: _requireDismiss },
677
508
  React__default["default"].createElement("span", { "data-testid": 'toastMessageShow' }, typeof _message === 'string' ? React__default["default"].createElement("h2", null, _message) : _message)));
@@ -679,45 +510,45 @@ var LuiMessagingContextProvider = function (props) {
679
510
  return null;
680
511
  }
681
512
  };
682
- return (React__default["default"].createElement(UIMessagingContext.Provider, { value: { showMessage: showMessage } },
513
+ return (React__default["default"].createElement(UIMessagingContext.Provider, { value: { showMessage } },
683
514
  _message && renderMessage(),
684
515
  props.children));
685
516
  };
686
517
 
687
- var LuiExpandableBanner = function (props) {
688
- var display = React.useRef(null);
689
- var _a = React.useState(true), collapse = _a[0], setCollapse = _a[1];
690
- var collapseSection = function (element) {
518
+ const LuiExpandableBanner = (props) => {
519
+ const display = React.useRef(null);
520
+ const [collapse, setCollapse] = React.useState(true);
521
+ const collapseSection = (element) => {
691
522
  // get the height of the element's inner content, regardless of its actual size
692
- var sectionHeight = element.scrollHeight;
523
+ const sectionHeight = element.scrollHeight;
693
524
  // on the next frame (as soon as the previous style change has taken effect),
694
525
  // explicitly set the element's height to its current pixel height, so we
695
526
  // aren't transitioning out of 'auto'
696
- requestAnimationFrame(function () {
527
+ requestAnimationFrame(() => {
697
528
  element.style.height = sectionHeight + 'px';
698
529
  // on the next frame (as soon as the previous style change has taken effect),
699
530
  // have the element transition to height: 0
700
- requestAnimationFrame(function () {
531
+ requestAnimationFrame(() => {
701
532
  element.style.height = 0 + 'px';
702
533
  });
703
534
  });
704
535
  // mark the section as "currently collapsed"
705
536
  setCollapse(true);
706
537
  };
707
- var expandSection = function (element) {
538
+ const expandSection = (element) => {
708
539
  // get the height of the element's inner content, regardless of its actual size
709
- var sectionHeight = element.scrollHeight;
540
+ const sectionHeight = element.scrollHeight;
710
541
  // have the element transition to the height of its inner content
711
542
  element.style.height = sectionHeight + 'px';
712
543
  // when the next css transition finishes (which should be the one we just triggered)
713
- setTimeout(function () {
544
+ setTimeout(() => {
714
545
  element.style.height = 'auto';
715
546
  }, 500);
716
547
  // mark the section as "currently not collapsed"
717
548
  setCollapse(false);
718
549
  };
719
- var expandFunction = function () {
720
- var section = display.current;
550
+ const expandFunction = () => {
551
+ const section = display.current;
721
552
  if (collapse) {
722
553
  expandSection(section);
723
554
  }
@@ -740,36 +571,33 @@ var LuiExpandableBanner = function (props) {
740
571
  * A menu controlled by a user-supplied MenuButton. Open/closed state is managed internally. The defaulted style props,
741
572
  * menuClassName and offsetY, can be overridden simply by setting them in the usual way.
742
573
  */
743
- var LuiMenu = function (props) {
744
- return React__default["default"].createElement(reactMenu.Menu, __assign({ menuClassName: 'lui-menu', offsetY: 12 }, props));
574
+ const LuiMenu = (props) => {
575
+ return React__default["default"].createElement(reactMenu.Menu, { menuClassName: 'lui-menu', offsetY: 12, ...props });
745
576
  };
746
577
  /**
747
578
  * A menu with state managed externally. Can be used quite conveniently as a context menu. The defaulted style props,
748
579
  * menuClassName and offsetY, can be overridden simply by setting them in the usual way.
749
580
  */
750
- var LuiControlledMenu = function (props) {
751
- return React__default["default"].createElement(reactMenu.ControlledMenu, __assign({ menuClassName: 'lui-menu', offsetY: 12 }, props));
581
+ const LuiControlledMenu = (props) => {
582
+ return React__default["default"].createElement(reactMenu.ControlledMenu, { menuClassName: 'lui-menu', offsetY: 12, ...props });
752
583
  };
753
584
 
754
- var LuiSelectMenu = function (_a) {
755
- var props = __rest(_a, []);
756
- return React__default["default"].createElement(reactMenu.Menu, __assign({ menuClassName: 'lui-select-menu', offsetY: 12 }, props));
585
+ const LuiSelectMenu = ({ ...props }) => {
586
+ return React__default["default"].createElement(reactMenu.Menu, { menuClassName: 'lui-select-menu', offsetY: 12, ...props });
757
587
  };
758
- var LuiSelectMenuItem = function (_a) {
759
- 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"]);
760
- return (React__default["default"].createElement(reactMenu.MenuItem, __assign({}, rest, { className: clsx('lui-select-menuItem', "lui-select-menuItem--" + (level ? level : 'primary'), rest.className), "data-testid": rest['data-testid'] }),
588
+ const LuiSelectMenuItem = ({ iconName, iconAlt, level, noPadding = false, ...rest }) => {
589
+ return (React__default["default"].createElement(reactMenu.MenuItem, { ...rest, className: clsx('lui-select-menuItem', `lui-select-menuItem--${level ? level : 'primary'}`, rest.className), "data-testid": rest['data-testid'] },
761
590
  iconName ? (React__default["default"].createElement(LuiIcon, { className: "lui-select-icon", name: iconName, alt: iconAlt ? iconAlt : '', size: "md" })) : (''),
762
591
  React__default["default"].createElement("p", { className: clsx('lui-select-menuItemText', {
763
592
  'lui-select-menuItemText--noPadding': noPadding,
764
593
  }) }, rest.children)));
765
594
  };
766
- var LuiSelectSubMenuItem = function (_a) {
767
- var label = _a.label, iconName = _a.iconName, iconAlt = _a.iconAlt, rest = __rest(_a, ["label", "iconName", "iconAlt"]);
768
- 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
595
+ const LuiSelectSubMenuItem = ({ label, iconName, iconAlt, ...rest }) => {
596
+ return (React__default["default"].createElement(reactMenu.SubMenu, { ...rest, className: clsx({ 'lui-select-submenu': iconName === undefined }, { 'lui-select-submenu-with-icon': !!iconName }, rest.className), menuClassName: 'lui-select-menu', label: iconName === undefined
769
597
  ? label
770
- : LuiSubMenuComponent(label, iconName, iconAlt) }), rest.children));
598
+ : LuiSubMenuComponent(label, iconName, iconAlt) }, rest.children));
771
599
  };
772
- var LuiSubMenuComponent = function (label, iconName, iconAlt) {
600
+ const LuiSubMenuComponent = (label, iconName, iconAlt) => {
773
601
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
774
602
  iconName === undefined ? ('') : (React__default["default"].createElement(LuiIcon, { className: "lui-menu-sub-header-icon", name: iconName, alt: iconAlt ? iconAlt : '', size: "md" })),
775
603
  label));
@@ -804,11 +632,10 @@ let nanoid = (size = 21) => {
804
632
  };
805
633
 
806
634
  // Lui Select menu with dynamic data
807
- var LuiSelectDataMenu = function (_a) {
808
- var props = __rest(_a, []);
809
- return (React__default["default"].createElement(LuiSelectMenu, __assign({ menuClassName: 'lui-select-menu', offsetY: 12 }, props), displayMenu(props.items)));
635
+ const LuiSelectDataMenu = ({ ...props }) => {
636
+ return (React__default["default"].createElement(LuiSelectMenu, { menuClassName: 'lui-select-menu', offsetY: 12, ...props }, displayMenu(props.items)));
810
637
  };
811
- var displayMenu = function (items) { return (React__default["default"].createElement(React__default["default"].Fragment, null, items.map(function (item) {
638
+ const displayMenu = (items) => (React__default["default"].createElement(React__default["default"].Fragment, null, items.map((item) => {
812
639
  if (item.options === undefined) {
813
640
  return (React__default["default"].createElement(React__default["default"].Fragment, { key: nanoid() },
814
641
  item.header ? React__default["default"].createElement(GroupHeader, null, item.headerLabel) : null,
@@ -818,18 +645,15 @@ var displayMenu = function (items) { return (React__default["default"].createEle
818
645
  return (React__default["default"].createElement(React__default["default"].Fragment, { key: nanoid() },
819
646
  React__default["default"].createElement(LuiSelectSubMenuItem, { label: item.label, iconName: item.iconName }, displayMenu(item.options))));
820
647
  }
821
- }))); };
822
- var GroupHeader = function (_a) {
823
- var children = _a.children;
824
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
825
- React__default["default"].createElement(reactMenu.MenuDivider, { className: "lui-select-divider" }),
826
- children && (React__default["default"].createElement(reactMenu.MenuHeader, { autoCapitalize: "false", className: "lui-select-menu-group" }, children))));
827
- };
828
- var LuiSelectMenuDivider = function () {
648
+ })));
649
+ const GroupHeader = ({ children, }) => (React__default["default"].createElement(React__default["default"].Fragment, null,
650
+ React__default["default"].createElement(reactMenu.MenuDivider, { className: "lui-select-divider" }),
651
+ children && (React__default["default"].createElement(reactMenu.MenuHeader, { autoCapitalize: "false", className: "lui-select-menu-group" }, children))));
652
+ const LuiSelectMenuDivider = () => {
829
653
  return React__default["default"].createElement(reactMenu.MenuDivider, { className: "lui-select-divider" });
830
654
  };
831
- var LuiSelectMenuHeader = function (props) {
832
- return React__default["default"].createElement(reactMenu.MenuHeader, __assign({ className: "lui-select-menu-group" }, props));
655
+ const LuiSelectMenuHeader = (props) => {
656
+ return React__default["default"].createElement(reactMenu.MenuHeader, { className: "lui-select-menu-group", ...props });
833
657
  };
834
658
 
835
659
  function styleInject(css, ref) {
@@ -859,12 +683,12 @@ function styleInject(css, ref) {
859
683
  }
860
684
  }
861
685
 
862
- var LuiFilterMenu = function (props) {
863
- var _a = React.useState(''), filter = _a[0], setFilter = _a[1];
864
- var _b = reactMenu.useMenuState(), toggleMenu = _b.toggleMenu, menuProps = __rest(_b, ["toggleMenu"]);
865
- var ref = React.useRef(null);
686
+ const LuiFilterMenu = (props) => {
687
+ const [filter, setFilter] = React.useState('');
688
+ const { toggleMenu, ...menuProps } = reactMenu.useMenuState();
689
+ const ref = React.useRef(null);
866
690
  return (React__default["default"].createElement("div", { ref: ref },
867
- props.menuButton(function () {
691
+ props.menuButton(() => {
868
692
  switch (props.enabled) {
869
693
  case false: {
870
694
  toggleMenu(false);
@@ -876,28 +700,23 @@ var LuiFilterMenu = function (props) {
876
700
  }
877
701
  }
878
702
  }),
879
- React__default["default"].createElement(reactMenu.ControlledMenu, __assign({}, menuProps, { anchorRef: ref, onClose: function () { return toggleMenu(false); }, className: "lui-menu", offsetY: 12, onChange: function (e) {
703
+ React__default["default"].createElement(reactMenu.ControlledMenu, { ...menuProps, anchorRef: ref, onClose: () => toggleMenu(false), className: "lui-menu", offsetY: 12, onChange: (e) => {
880
704
  e.open && setFilter('');
881
705
  }, menuStyles: props.maxRows !== undefined
882
706
  ? { maxHeight: 62 + 34 * props.maxRows, overflowY: 'auto' }
883
- : {} }),
884
- React__default["default"].createElement(reactMenu.FocusableItem, null, function (_a) {
885
- var ref = _a.ref;
886
- return (React__default["default"].createElement("input", { ref: ref, type: "text", placeholder: "Type to filter", value: filter, onChange: function (e) { return setFilter(e.target.value); } }));
887
- }),
707
+ : {} },
708
+ React__default["default"].createElement(reactMenu.FocusableItem, null, ({ ref }) => (React__default["default"].createElement("input", { ref: ref, type: "text", placeholder: "Type to filter", value: filter, onChange: (e) => setFilter(e.target.value) }))),
888
709
  props.filteredItems
889
- .filter(function (item) {
890
- return item.display.toUpperCase().includes(filter.trim().toUpperCase());
891
- })
892
- .map(function (item) {
893
- if ((item === null || item === void 0 ? void 0 : item.specialType) === 'div') {
710
+ .filter((item) => item.display.toUpperCase().includes(filter.trim().toUpperCase()))
711
+ .map((item) => {
712
+ if (item?.specialType === 'div') {
894
713
  return React__default["default"].createElement(reactMenu.MenuDivider, { key: item.id });
895
714
  }
896
- else if ((item === null || item === void 0 ? void 0 : item.specialType) === 'head') {
715
+ else if (item?.specialType === 'head') {
897
716
  return React__default["default"].createElement(reactMenu.MenuHeader, { key: item.id }, item.display);
898
717
  }
899
718
  else {
900
- return (React__default["default"].createElement(reactMenu.MenuItem, { key: item.id, onMouseDown: function (e) {
719
+ return (React__default["default"].createElement(reactMenu.MenuItem, { key: item.id, onMouseDown: (e) => {
901
720
  props.onItemClick(item.id);
902
721
  e.stopPropagation();
903
722
  } }, item.display));
@@ -905,51 +724,50 @@ var LuiFilterMenu = function (props) {
905
724
  }))));
906
725
  };
907
726
 
908
- var LuiTabsContext = React__default["default"].createContext({
727
+ const LuiTabsContext = React__default["default"].createContext({
909
728
  activePanel: null,
910
- setActivePanel: function () { },
729
+ setActivePanel: () => { },
911
730
  });
912
- var LuiTabs = function (props) {
913
- var _a = React.useState(props.defaultPanel), activePanel = _a[0], setActivePanel = _a[1];
731
+ const LuiTabs = (props) => {
732
+ let [activePanel, setActivePanel] = React.useState(props.defaultPanel);
914
733
  return (React__default["default"].createElement("div", { className: "LuiTabs" },
915
- React__default["default"].createElement(LuiTabsContext.Provider, { value: { activePanel: activePanel, setActivePanel: setActivePanel } }, props.children)));
734
+ React__default["default"].createElement(LuiTabsContext.Provider, { value: { activePanel, setActivePanel } }, props.children)));
916
735
  };
917
736
 
918
- var LuiTab = function (props) {
919
- return (React__default["default"].createElement("button", { className: clsx('LuiTab', props.active && 'LuiTab--active'), id: props.id, role: "tab", "aria-selected": props.active, "aria-controls": "" + props.ariaControls, onClick: props.onClick }, props.children));
737
+ const LuiTab = (props) => {
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": `${props.ariaControls}`, title: props.titleAttribute, onClick: props.onClick }, props.children));
920
739
  };
921
740
 
922
741
  // import './LuiTabsGroup.scss';
923
- var LuiTabsGroup = function (props) {
924
- return (React__default["default"].createElement("div", { className: "LuiTabsGroup " + (props.justify ? 'LuiTabsGroup--justified' : ''), role: "tablist", "aria-label": props.ariaLabel }, props.children));
742
+ const LuiTabsGroup = (props) => {
743
+ return (React__default["default"].createElement("div", { className: `LuiTabsGroup ${props.justify ? 'LuiTabsGroup--justified' : ''}`, role: "tablist", "aria-label": props.ariaLabel }, props.children));
925
744
  };
926
745
 
927
- var LuiTabsPanel = function (_a) {
928
- var children = _a.children, panel = _a.panel, _b = _a.mode, mode = _b === void 0 ? 'eager' : _b;
929
- var context = React.useContext(LuiTabsContext);
930
- var _c = React.useState(mode === 'eager'), shouldShow = _c[0], setShouldShow = _c[1];
931
- var active = context.activePanel === panel;
932
- React.useEffect(function () {
746
+ const LuiTabsPanel = ({ children, panel, mode = 'eager', }) => {
747
+ const context = React.useContext(LuiTabsContext);
748
+ const [shouldShow, setShouldShow] = React.useState(mode === 'eager');
749
+ let active = context.activePanel === panel;
750
+ React.useEffect(() => {
933
751
  if (active && !shouldShow) {
934
752
  setShouldShow(true);
935
753
  }
936
754
  }, [active, shouldShow]);
937
- return (React__default["default"].createElement("div", { className: clsx('LuiTabsPanel', active && 'LuiTabsPanel--active'), id: panel + "-tab-panel", role: "tabpanel", "aria-labelledby": panel + "-tab" }, shouldShow ? children : null));
755
+ return (React__default["default"].createElement("div", { className: clsx('LuiTabsPanel', active && 'LuiTabsPanel--active'), id: `${panel}-tab-panel`, role: "tabpanel", "aria-labelledby": `${panel}-tab` }, shouldShow ? children : null));
938
756
  };
939
757
 
940
- var LuiTabsPanelSwitch = function (props) {
941
- var context = React.useContext(LuiTabsContext);
942
- var active = context.activePanel === props.targetPanel;
943
- return (React__default["default"].createElement(LuiTab, { id: props.targetPanel + "-tab", ariaControls: props.targetPanel + "-tab-panel", active: active, onClick: function () {
758
+ const LuiTabsPanelSwitch = (props) => {
759
+ const context = React.useContext(LuiTabsContext);
760
+ let active = context.activePanel === props.targetPanel;
761
+ return (React__default["default"].createElement(LuiTab, { id: `${props.targetPanel}-tab`, ariaControls: `${props.targetPanel}-tab-panel`, active: active, onClick: () => {
944
762
  if (context.setActivePanel)
945
763
  context.setActivePanel(props.targetPanel);
946
764
  } }, props.children));
947
765
  };
948
766
 
949
767
  function useDeprecatedWarning(componentName) {
950
- React.useEffect(function () {
768
+ React.useEffect(() => {
951
769
  if (window.location.hostname.includes('localhost')) {
952
- console.warn(componentName + " will be deprecated in future versions of Lui. Please see the 'Current Deprecations' page in Lui docs.");
770
+ console.warn(`${componentName} will be deprecated in future versions of Lui. Please see the 'Current Deprecations' page in Lui docs.`);
953
771
  }
954
772
  }, []);
955
773
  }
@@ -957,9 +775,11 @@ function useDeprecatedWarning(componentName) {
957
775
  function LuiFormikForm(props) {
958
776
  useDeprecatedWarning('LuiFormikForm');
959
777
  // this spreads all keys, except className
960
- var _a = __assign({}, props); _a.className; var formikProps = __rest(_a, ["className"]);
961
- var classNames = clsx(props.className);
962
- return (React__default["default"].createElement(formik.Formik, __assign({}, formikProps),
778
+ const { className, ...formikProps } = { ...props };
779
+ const classNames = clsx(props.className);
780
+ return (
781
+ // @ts-ignore not fixing due this component being deprecated
782
+ React__default["default"].createElement(formik.Formik, { ...formikProps },
963
783
  React__default["default"].createElement("div", { className: classNames },
964
784
  React__default["default"].createElement(formik.Form, null,
965
785
  props.children,
@@ -969,12 +789,9 @@ function LuiFormikForm(props) {
969
789
  var css_248z$5 = "/**\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}";
970
790
  styleInject(css_248z$5);
971
791
 
972
- var LuiError = function (_a) {
973
- var error = _a.error, className = _a.className;
974
- return (React__default["default"].createElement("div", { className: "LuiError " + className + "-error" },
975
- React__default["default"].createElement(LuiIcon, { className: "LuiError-errorIcon " + className + "-errorIcon", alt: 'Error', name: "ic_error", size: "md", status: "error" }),
976
- error && (React__default["default"].createElement("span", { className: "LuiError-errorText " + className + "-errorText" }, error))));
977
- };
792
+ const LuiError = ({ error, className }) => (React__default["default"].createElement("div", { className: `LuiError ${className}-error` },
793
+ React__default["default"].createElement(LuiIcon, { className: `LuiError-errorIcon ${className}-errorIcon`, alt: 'Error', name: "ic_error", size: "md", status: "error" }),
794
+ error && (React__default["default"].createElement("span", { className: `LuiError-errorText ${className}-errorText` }, error))));
978
795
 
979
796
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
980
797
  // require the crypto API and do not support built-in fallback to lower quality random number
@@ -1051,29 +868,27 @@ function v4(options, buf, offset) {
1051
868
  }
1052
869
 
1053
870
  function useGenerateOrDefaultId(idFromProps) {
1054
- var id = React.useState(idFromProps ? idFromProps : v4())[0];
871
+ const [id] = React.useState(idFromProps ? idFromProps : v4());
1055
872
  return id;
1056
873
  }
1057
- var LuiTextInput = function (props) {
1058
- var _a;
1059
- var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
874
+ const LuiTextInput = (props) => {
875
+ const id = useGenerateOrDefaultId(props.inputProps?.id);
1060
876
  return (React__default["default"].createElement("div", { className: clsx('LuiTextInput', props.error && 'hasError', props.className) },
1061
877
  React__default["default"].createElement("label", { className: 'LuiTextInput-label', htmlFor: id },
1062
878
  props.mandatory && React__default["default"].createElement("span", { className: "LuiTextInput-mandatory" }, "*"),
1063
879
  React__default["default"].createElement("span", { className: 'LuiTextInput-label-text ' +
1064
880
  clsx(props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
1065
881
  React__default["default"].createElement("span", { className: "LuiTextInput-inputWrapper" },
1066
- React__default["default"].createElement("input", __assign({ type: 'text', className: (props.showPadlockIcon ? 'LuiTextInput-padlock-icon ' : '') +
1067
- clsx('LuiTextInput-input'), min: "0", value: props.value, onChange: props.onChange }, props.inputProps, { id: id })),
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, ...props.inputProps, id: id }),
1068
884
  props.icon),
1069
885
  props.error && (React__default["default"].createElement("span", { className: "LuiTextInput-error" },
1070
886
  React__default["default"].createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextInput-error-icon", size: "sm", status: "error" }),
1071
887
  props.error)))));
1072
888
  };
1073
889
 
1074
- var LuiCheckboxInput = function (props) {
1075
- var _a;
1076
- var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
890
+ const LuiCheckboxInput = (props) => {
891
+ const id = useGenerateOrDefaultId(props.inputProps?.id);
1077
892
  return (React__default["default"].createElement("div", { className: clsx('LuiCheckboxInput', {
1078
893
  'LuiCheckboxInput--isChecked': props.isChecked,
1079
894
  'LuiCheckboxInput--hasError': !!props.error,
@@ -1081,27 +896,25 @@ var LuiCheckboxInput = function (props) {
1081
896
  }, props.className) },
1082
897
  React__default["default"].createElement("label", { htmlFor: id, className: "LuiCheckboxInput-group" },
1083
898
  props.mandatory && (React__default["default"].createElement("span", { "aria-label": "Required", className: "LuiCheckboxInput-mandatory" }, "*")),
1084
- 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)),
899
+ 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, ...props.inputProps }),
1085
900
  React__default["default"].createElement("span", { className: "LuiCheckboxInput-label" },
1086
901
  props.label,
1087
- React__default["default"].createElement(LuiIcon, { name: props.isIndeterminate ? 'ic_zoom_out' : 'ic_check', size: "md", alt: props.isIndeterminate ? 'Indeterminate Check' : 'Check', className: "LuiCheckboxInput-labelCheck" }))),
902
+ 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 }))),
1088
903
  props.error && (React__default["default"].createElement(LuiError, { className: "LuiCheckboxInput", error: props.error }))));
1089
904
  };
1090
905
 
1091
- var LuiFileInputBox = function (props) {
1092
- var _a = React.useState(), file = _a[0], setFile = _a[1];
1093
- var _b = React.useState(false), hasFileFormatError = _b[0], setHasFileFormatError = _b[1];
1094
- var onChange = function (e) {
906
+ const LuiFileInputBox = (props) => {
907
+ const [file, setFile] = React.useState();
908
+ const [hasFileFormatError, setHasFileFormatError] = React.useState(false);
909
+ const onChange = (e) => {
1095
910
  // Logic to go here to check extensions and setHasFileFormatError
1096
911
  setHasFileFormatError(false);
1097
- var files = e.target.files;
912
+ const files = e.target.files;
1098
913
  // File upload box is configured to only accept 1 file, we can't have more than one here
1099
914
  if (files && files.length === 1) {
1100
- var selectedFile = files[0];
1101
- var supportedFileTypes = props.acceptedExtensions.map(function (ext) {
1102
- return ext.toUpperCase();
1103
- });
1104
- var fileName = selectedFile.name;
915
+ const selectedFile = files[0];
916
+ const supportedFileTypes = props.acceptedExtensions.map((ext) => ext.toUpperCase());
917
+ const fileName = selectedFile.name;
1105
918
  if (!supportedFileTypes.includes(getFileNameExtension(fileName))) {
1106
919
  setHasFileFormatError(true);
1107
920
  setFile(undefined);
@@ -1112,10 +925,10 @@ var LuiFileInputBox = function (props) {
1112
925
  }
1113
926
  }
1114
927
  };
1115
- var hasError = hasFileFormatError || props.showMustSelectFileError === true;
928
+ const hasError = hasFileFormatError || props.showMustSelectFileError === true;
1116
929
  return (React__default["default"].createElement("div", { className: clsx('LuiFileInputBox-upload', hasError && 'LuiFileInputBox-upload-error'), style: { width: props.width || 320, height: props.height || 320 } },
1117
930
  React__default["default"].createElement("input", { role: "button", "aria-label": "File Upload", type: "file", className: "LuiFileInputBox-upload-input", accept: props.acceptedExtensions
1118
- .map(function (extension) { return "." + extension; })
931
+ .map((extension) => `.${extension}`)
1119
932
  .join(','), onChange: onChange }),
1120
933
  React__default["default"].createElement(React__default["default"].Fragment, null, hasError ? (React__default["default"].createElement("div", { className: "LuiFileInputBox-upload-container" },
1121
934
  React__default["default"].createElement(React__default["default"].Fragment, null,
@@ -1125,26 +938,26 @@ var LuiFileInputBox = function (props) {
1125
938
  "You must select a file with extension of",
1126
939
  ' ',
1127
940
  extensionsAsHumanReadableList(props.acceptedExtensions),
1128
- "."))))) : (React__default["default"].createElement(FileUploadInfo, { fileName: file === null || file === void 0 ? void 0 : file.name, fileFormatText: props.fileFormatText, fileDescription: props.fileDescription })))));
941
+ "."))))) : (React__default["default"].createElement(FileUploadInfo, { fileName: file?.name, fileFormatText: props.fileFormatText, fileDescription: props.fileDescription })))));
1129
942
  };
1130
943
  // Only exported for chromatic
1131
- var FileUploadInfo = function (props) {
1132
- var DragAndDropInstruction = function () { return (React__default["default"].createElement("p", { className: "LuiFileInputBox-upload-text" },
944
+ const FileUploadInfo = (props) => {
945
+ const DragAndDropInstruction = () => (React__default["default"].createElement("p", { className: "LuiFileInputBox-upload-text" },
1133
946
  "Drag and drop your ",
1134
947
  props.fileDescription,
1135
948
  " into the box",
1136
949
  React__default["default"].createElement("br", null),
1137
- React__default["default"].createElement("span", null, "(or upload file manually)"))); };
1138
- var WaitingForFileSelection = function () { return (React__default["default"].createElement(React__default["default"].Fragment, null,
950
+ React__default["default"].createElement("span", null, "(or upload file manually)")));
951
+ const WaitingForFileSelection = () => (React__default["default"].createElement(React__default["default"].Fragment, null,
1139
952
  React__default["default"].createElement("div", { className: 'LuiFileInputBox-upload-icon-upload' },
1140
953
  React__default["default"].createElement(LuiIcon, { name: "ic_publish", size: 'ns', alt: "Upload" })),
1141
954
  React__default["default"].createElement(DragAndDropInstruction, null),
1142
- props.fileFormatText && (React__default["default"].createElement("p", { className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding" }, props.fileFormatText)))); };
1143
- var UploadSuccess = function () { return (React__default["default"].createElement(React__default["default"].Fragment, null,
955
+ props.fileFormatText && (React__default["default"].createElement("p", { className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding" }, props.fileFormatText))));
956
+ const UploadSuccess = () => (React__default["default"].createElement(React__default["default"].Fragment, null,
1144
957
  React__default["default"].createElement("div", { className: 'LuiFileInputBox-upload-icon-success' },
1145
958
  React__default["default"].createElement(LuiIcon, { name: "ic_check_circle_outline", size: 'ns', alt: "Success" })),
1146
959
  React__default["default"].createElement("p", { className: "LuiFileInputBox-upload-file-name" }, props.fileName),
1147
- React__default["default"].createElement(DragAndDropInstruction, null))); };
960
+ React__default["default"].createElement(DragAndDropInstruction, null)));
1148
961
  return (React__default["default"].createElement("div", { className: "LuiFileInputBox-upload-container" }, props.fileName ? React__default["default"].createElement(UploadSuccess, null) : React__default["default"].createElement(WaitingForFileSelection, null)));
1149
962
  };
1150
963
  /**
@@ -1153,8 +966,8 @@ var FileUploadInfo = function (props) {
1153
966
  * @param fileName File-name to get extension from
1154
967
  * @return fileName extension in upper-case if found else empty string
1155
968
  */
1156
- var getFileNameExtension = function (fileName) {
1157
- var idx = fileName.lastIndexOf('.');
969
+ const getFileNameExtension = (fileName) => {
970
+ const idx = fileName.lastIndexOf('.');
1158
971
  return idx === -1 ? '' : fileName.substr(idx + 1).toUpperCase();
1159
972
  };
1160
973
  /**
@@ -1164,68 +977,63 @@ var getFileNameExtension = function (fileName) {
1164
977
  * @param extensions List of extensions to convert.
1165
978
  * @return Extensions in a human readable string in upper-case.
1166
979
  */
1167
- var extensionsAsHumanReadableList = function (extensions) {
1168
- var uppercaseExtensions = extensions.map(function (extension) {
1169
- return extension.toUpperCase();
1170
- });
980
+ const extensionsAsHumanReadableList = (extensions) => {
981
+ const uppercaseExtensions = extensions.map((extension) => extension.toUpperCase());
1171
982
  if (!extensions.length)
1172
983
  return '';
1173
984
  if (extensions.length === 1)
1174
985
  return uppercaseExtensions[0];
1175
- return uppercaseExtensions.slice(0, -1).join(', ') + " or " + uppercaseExtensions[extensions.length - 1];
986
+ return `${uppercaseExtensions.slice(0, -1).join(', ')} or ${uppercaseExtensions[extensions.length - 1]}`;
1176
987
  };
1177
988
 
1178
- var LuiSelectInput = function (props) {
1179
- var _a, _b;
1180
- var id = useGenerateOrDefaultId((_a = props.selectProps) === null || _a === void 0 ? void 0 : _a.id);
1181
- return (React__default["default"].createElement("div", { className: clsx('LuiSelect', ((_b = props.selectProps) === null || _b === void 0 ? void 0 : _b.disabled) ? 'isDisabled' : '', props.error ? 'hasError' : '') },
989
+ const LuiSelectInput = (props) => {
990
+ const id = useGenerateOrDefaultId(props.selectProps?.id);
991
+ return (React__default["default"].createElement("div", { className: clsx('LuiSelect', props.selectProps?.disabled ? 'isDisabled' : '', props.error ? 'hasError' : '') },
1182
992
  React__default["default"].createElement("label", { htmlFor: id, className: "LuiSelect-label" },
1183
993
  props.mandatory && React__default["default"].createElement("span", { className: "LuiSelect-mandatory" }, "*"),
1184
994
  React__default["default"].createElement("span", { className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
1185
995
  React__default["default"].createElement("div", { className: "LuiSelect-wrapper" },
1186
- React__default["default"].createElement("select", __assign({ name: id, onChange: props.onChange, value: props.value, className: "LuiSelect-select" }, props.selectProps),
996
+ React__default["default"].createElement("select", { name: id, onChange: props.onChange, value: props.value, className: "LuiSelect-select", ...props.selectProps },
1187
997
  props.placeholderText && (React__default["default"].createElement("option", { value: "", disabled: true }, props.placeholderText)),
1188
- props.options.map(function (selection) { return (React__default["default"].createElement("option", { key: selection.value, value: selection.value }, selection.label)); })),
998
+ props.options.map((selection) => (React__default["default"].createElement("option", { key: selection.value, value: selection.value }, selection.label)))),
1189
999
  React__default["default"].createElement(LuiIcon, { alt: 'Error', name: "ic_keyboard_arrow_down", className: "LuiSelect-chevron-icon", size: "md" })),
1190
1000
  props.error && (React__default["default"].createElement("span", { className: "LuiSelect-error" },
1191
1001
  React__default["default"].createElement(LuiIcon, { alt: 'Error', name: "ic_error", className: "LuiSelect-error-icon", size: "sm", status: "error" }),
1192
1002
  props.error)))));
1193
1003
  };
1194
1004
 
1195
- var LuiTextAreaInput = function (props) {
1196
- var _a, _b;
1197
- var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
1198
- 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' : '') },
1005
+ const LuiTextAreaInput = (props) => {
1006
+ const id = useGenerateOrDefaultId(props.inputProps?.id);
1007
+ return (React__default["default"].createElement("div", { className: clsx('LuiTextAreaInput', props.inputProps?.disabled ? 'isDisabled' : '', props?.error ? 'hasError' : '') },
1199
1008
  React__default["default"].createElement("label", { htmlFor: id },
1200
1009
  props.mandatory && (React__default["default"].createElement("span", { className: "LuiTextAreaInput-mandatory" }, "*")),
1201
1010
  React__default["default"].createElement("span", { className: "LuiTextAreaInput-label" }, props.label),
1202
1011
  React__default["default"].createElement("div", { className: "LuiTextAreaInput-wrapper" },
1203
1012
  ' ',
1204
- React__default["default"].createElement("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, rows: 5 }, props.inputProps)))),
1013
+ React__default["default"].createElement("textarea", { id: id, value: props.value, onChange: props.onChange, rows: 5, ...props.inputProps }))),
1205
1014
  props.error && (React__default["default"].createElement("span", { className: "LuiTextAreaInput-error" },
1206
1015
  React__default["default"].createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }),
1207
1016
  props.error))));
1208
1017
  };
1209
1018
 
1210
1019
  // @NOTE Can use LuiRadioInput in block form and pass through your own legend (label)
1211
- var LuiRadioInput = function (props) {
1212
- var _a;
1213
- var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
1020
+ const LuiRadioInput = (props) => {
1021
+ const id = useGenerateOrDefaultId(props.inputProps?.id);
1214
1022
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
1215
1023
  React__default["default"].createElement("div", { className: clsx('LuiRadioInput', {
1216
1024
  'LuiRadioInput--hasError': props.error,
1217
1025
  }) },
1218
1026
  React__default["default"].createElement("fieldset", { className: 'LuiRadioInput-fieldset' },
1219
1027
  props.legend && (React__default["default"].createElement("legend", { className: "LuiRadioInput-legend" }, props.legend)),
1220
- props.options.map(function (option, index) {
1221
- var radioId = id + "-" + index;
1222
- var isSelected = props.selectedValue === option;
1223
- var isDisabled = props.isOptionDisabled && props.isOptionDisabled(index);
1028
+ props.options.map((option, index) => {
1029
+ const radioId = `${id}-${index}`;
1030
+ const isSelected = props.selectedValue === option;
1031
+ const isDisabled = props.isOptionDisabled && props.isOptionDisabled(index);
1224
1032
  return (React__default["default"].createElement("label", { htmlFor: radioId, className: clsx('LuiRadioInput-label', {
1225
1033
  'LuiRadioInput-label--isDisabled': isDisabled,
1226
1034
  'LuiRadioInput-label--isSelected': isSelected,
1227
1035
  }), key: radioId },
1228
- 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)),
1036
+ React__default["default"].createElement("input", { disabled: isDisabled, className: "LuiRadioInput-input", type: "radio", id: radioId, name: option, value: option, checked: isSelected, onChange: props.onChange, ...props.inputProps }),
1229
1037
  props.renderLabelFor ? props.renderLabelFor(option) : option));
1230
1038
  })),
1231
1039
  props.error && (React__default["default"].createElement("div", { className: "LuiRadioInput-errorMsg" },
@@ -1235,76 +1043,70 @@ var LuiRadioInput = function (props) {
1235
1043
 
1236
1044
  function LuiFormikCheckbox(props) {
1237
1045
  useDeprecatedWarning('LuiFormikCheckbox');
1238
- var ctx = formik.useFormikContext();
1046
+ let ctx = formik.useFormikContext();
1239
1047
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
1240
- React__default["default"].createElement(formik.Field, { name: props.name }, function (_a) {
1241
- var field = _a.field;
1242
- var showError = formik.getIn(ctx === null || ctx === void 0 ? void 0 : ctx.errors, props.name);
1048
+ React__default["default"].createElement(formik.Field, { name: props.name }, ({ field }) => {
1049
+ const showError = formik.getIn(ctx?.errors, props.name);
1243
1050
  return (React__default["default"].createElement("div", { className: clsx(showError && 'lui-input-error') },
1244
1051
  React__default["default"].createElement("div", { className: "lui-input-group-wrapper " },
1245
1052
  showError && (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
1246
1053
  React__default["default"].createElement("div", { className: clsx('lui-checkbox-container', props.className) },
1247
- React__default["default"].createElement("input", __assign({}, props.inputProps, { type: "checkbox", id: props.value, disabled: !!props.disabled, checked: field.value }, field)),
1054
+ React__default["default"].createElement("input", { ...props.inputProps, type: "checkbox", id: props.value, disabled: !!props.disabled, checked: field.value, ...field }),
1248
1055
  typeof props.label === 'string' ? (React__default["default"].createElement("label", { htmlFor: props.value }, props.label)) : (props.label)))));
1249
1056
  })));
1250
1057
  }
1251
1058
 
1252
- var LuiFormikFormLabel = function (props) {
1059
+ const LuiFormikFormLabel = (props) => {
1253
1060
  useDeprecatedWarning('LuiFormikFormLabel');
1254
- return (React__default["default"].createElement("div", { className: clsx('LuiFormLabel-wrapper', props.className && "" + props.className) },
1061
+ return (React__default["default"].createElement("div", { className: clsx('LuiFormLabel-wrapper', props.className && `${props.className}`) },
1255
1062
  props.children,
1256
- React__default["default"].createElement("label", { className: "LuiFormLabel", htmlFor: props["for"] },
1063
+ React__default["default"].createElement("label", { className: "LuiFormLabel", htmlFor: props.for },
1257
1064
  props.required && React__default["default"].createElement("span", { className: "lui-required-input-icon" }, "*"),
1258
1065
  props.label),
1259
1066
  props.tooltip && React__default["default"].createElement("i", { className: "material-icons-round" }, "help")));
1260
1067
  };
1261
1068
 
1262
- var LuiFormikTextInput = formik.connect(function (props) {
1263
- var error = formik.getIn(props.formik.errors, props.name);
1264
- var touch = formik.getIn(props.formik.touched, props.name);
1265
- var showError = touch && error;
1266
- var setFieldValue = formik.useFormikContext().setFieldValue;
1069
+ const LuiFormikTextInput = formik.connect((props) => {
1070
+ const error = formik.getIn(props.formik.errors, props.name);
1071
+ const touch = formik.getIn(props.formik.touched, props.name);
1072
+ const showError = touch && error;
1073
+ const { setFieldValue } = formik.useFormikContext();
1267
1074
  useDeprecatedWarning('LuiFormikTextInput');
1268
- var multiLineToggle = function (field) {
1269
- return !props.multiLine ? (React__default["default"].createElement("input", __assign({ id: props.name, "data-testid": props.name }, field, { type: "text" }, props.inputProps, { onChange: function (event) {
1270
- var _a;
1271
- setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
1272
- if (props.onValueChange) {
1273
- props.onValueChange({
1274
- value: event.target.value,
1275
- formik: props.formik,
1276
- });
1277
- }
1278
- } }))) : (React__default["default"].createElement("textarea", __assign({ id: props.name, "data-testid": props.name }, field, { rows: 1 }, props.inputProps, { onChange: function (event) {
1279
- var _a;
1280
- setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
1281
- if (props.onValueChange) {
1282
- props.onValueChange({
1283
- value: event.target.value,
1284
- formik: props.formik,
1285
- });
1286
- }
1287
- } })));
1288
- };
1289
- return (React__default["default"].createElement("div", { className: clsx(props.className && "" + props.className) },
1290
- props.label && (React__default["default"].createElement(LuiFormikFormLabel, { required: props.required, label: props.label, "for": props.name, tooltip: props.tooltip })),
1075
+ const multiLineToggle = (field) => !props.multiLine ? (React__default["default"].createElement("input", { id: props.name, "data-testid": props.name, ...field, type: "text", ...props.inputProps, onChange: (event) => {
1076
+ setFieldValue(props.name, event.target.value, props.validateOnChange ?? true);
1077
+ if (props.onValueChange) {
1078
+ props.onValueChange({
1079
+ value: event.target.value,
1080
+ formik: props.formik,
1081
+ });
1082
+ }
1083
+ } })) : (React__default["default"].createElement("textarea", { id: props.name, "data-testid": props.name, ...field, rows: 1, ...props.inputProps, onChange: (event) => {
1084
+ setFieldValue(props.name, event.target.value, props.validateOnChange ?? true);
1085
+ if (props.onValueChange) {
1086
+ props.onValueChange({
1087
+ value: event.target.value,
1088
+ formik: props.formik,
1089
+ });
1090
+ }
1091
+ } }));
1092
+ return (React__default["default"].createElement("div", { className: clsx(props.className && `${props.className}`) },
1093
+ props.label && (React__default["default"].createElement(LuiFormikFormLabel, { required: props.required, label: props.label, for: props.name, tooltip: props.tooltip })),
1291
1094
  props.helperInfo,
1292
- React__default["default"].createElement(formik.Field, { name: props.name, validate: props.validate }, function (_a) {
1293
- var field = _a.field;
1095
+ React__default["default"].createElement(formik.Field, { name: props.name, validate: props.validate }, ({ field }) => {
1294
1096
  return (React__default["default"].createElement("div", { className: clsx(showError && 'lui-input-error') },
1295
- 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")); } }),
1097
+ React__default["default"].createElement(formik.ErrorMessage, { name: props.name, render: () => (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")) }),
1296
1098
  multiLineToggle(field),
1297
1099
  React__default["default"].createElement(formik.ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" })));
1298
1100
  })));
1299
1101
  });
1300
1102
 
1301
- var LuiFormikRadioButton = function (props) {
1302
- var _a = formik.useField(props), field = _a[0], meta = _a[1];
1103
+ const LuiFormikRadioButton = (props) => {
1104
+ const [field, meta] = formik.useField(props);
1303
1105
  useDeprecatedWarning('LuiFormikRadioButton');
1304
1106
  return (React__default["default"].createElement("div", { className: props.className },
1305
1107
  meta.touched && meta.error && (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
1306
1108
  React__default["default"].createElement("div", { className: 'lui-radio-container' },
1307
- 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)),
1109
+ React__default["default"].createElement("input", { disabled: !!props.disabled, ...field, checked: props.value === field.value, value: props.value, id: props.value, type: "radio", ...props.inputProps }),
1308
1110
  React__default["default"].createElement("label", { htmlFor: props.value }, props.label))));
1309
1111
  };
1310
1112
 
@@ -1444,14 +1246,14 @@ camelcase$1.exports.default = camelCase;
1444
1246
  var camelcase = camelcase$1.exports;
1445
1247
 
1446
1248
  // TODO: It's annoying that we have to pass name into the RadioGroup and RadioButton
1447
- var LuiFormikRadioGroup = function (props) {
1448
- var ctx = formik.useFormikContext();
1449
- var error = formik.getIn(ctx.errors, props.name);
1450
- var touch = formik.getIn(ctx.touched, props.name);
1451
- var showError = touch && error;
1249
+ const LuiFormikRadioGroup = (props) => {
1250
+ let ctx = formik.useFormikContext();
1251
+ const error = formik.getIn(ctx.errors, props.name);
1252
+ const touch = formik.getIn(ctx.touched, props.name);
1253
+ const showError = touch && error;
1452
1254
  useDeprecatedWarning('LuiFormikRadioGroup');
1453
- var describedby = props.hint && camelcase(props === null || props === void 0 ? void 0 : props.hint) + 'Id';
1454
- var errorDescribedBy = error && camelcase(error) + 'Id';
1255
+ const describedby = props.hint && camelcase(props?.hint) + 'Id';
1256
+ const errorDescribedBy = error && camelcase(error) + 'Id';
1455
1257
  return (React__default["default"].createElement("div", { className: clsx('lui-fieldsetBlock-form-group', showError && 'lui-input-error') },
1456
1258
  React__default["default"].createElement("fieldset", { "aria-describedby": clsx(props.hint && describedby + 'Id', showError && errorDescribedBy) },
1457
1259
  React__default["default"].createElement("legend", null,
@@ -1464,42 +1266,42 @@ var LuiFormikRadioGroup = function (props) {
1464
1266
  React__default["default"].createElement("div", { className: "lui-input-group-wrapper" }, props.children))));
1465
1267
  };
1466
1268
 
1467
- var LuiFormikFormSubmitButton = formik.connect(function (props) {
1269
+ const LuiFormikFormSubmitButton = formik.connect((props) => {
1468
1270
  useDeprecatedWarning('LuiFormikFormSubmitButton');
1469
1271
  return (React__default["default"].createElement(LuiButton, { type: "submit", className: props.className, level: "primary", "data-testid": props['data-testid'], disabled: !!props.disabled }, props.children));
1470
1272
  });
1471
1273
 
1472
- var LuiFormikSelect = formik.connect(function (props) {
1274
+ const LuiFormikSelect = formik.connect((props) => {
1473
1275
  useDeprecatedWarning('LuiFormikSelect');
1474
- var error = formik.getIn(props.formik.errors, props.name);
1475
- var touch = formik.getIn(props.formik.touched, props.name);
1476
- var showError = touch && error;
1276
+ const error = formik.getIn(props.formik.errors, props.name);
1277
+ const touch = formik.getIn(props.formik.touched, props.name);
1278
+ const showError = touch && error;
1477
1279
  return (React__default["default"].createElement("div", { className: props.className },
1478
- props.label && (React__default["default"].createElement(LuiFormikFormLabel, { className: 'lui-margin-bottom-xxs', "for": props.name, label: props.label, required: !!props.required, tooltip: props.tooltip })),
1280
+ props.label && (React__default["default"].createElement(LuiFormikFormLabel, { className: 'lui-margin-bottom-xxs', for: props.name, label: props.label, required: !!props.required, tooltip: props.tooltip })),
1479
1281
  props.helperInfo,
1480
1282
  React__default["default"].createElement("div", { className: clsx('lui-input-wrapper', showError && 'lui-input-error') },
1481
- 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")); } }),
1482
- 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),
1283
+ React__default["default"].createElement(formik.ErrorMessage, { name: props.name, render: () => (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")) }),
1284
+ React__default["default"].createElement(formik.Field, { disabled: props.disabled, defaultValue: props.defaultValue, name: props.name, id: props.name, validate: props.validate, as: "select", ...props.inputProps }, props.children),
1483
1285
  React__default["default"].createElement(formik.ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" }))));
1484
1286
  });
1485
1287
 
1486
- var LuiBearingInput = function (props) {
1487
- var maxDecimal = 1;
1488
- var maxAfterDP = 4 + maxDecimal;
1489
- var parseBearing = function (decimalIsh) {
1490
- var sign = decimalIsh.startsWith('-') ? '-' : '+';
1491
- var parts = decimalIsh.split('.');
1492
- var degrees = Math.abs(parseInt(parts[0])) || 0;
1493
- var remainder = parts.length > 1 ? parts[1] : '0000';
1288
+ const LuiBearingInput = (props) => {
1289
+ const maxDecimal = 1;
1290
+ const maxAfterDP = 4 + maxDecimal;
1291
+ const parseBearing = (decimalIsh) => {
1292
+ const sign = decimalIsh.startsWith('-') ? '-' : '+';
1293
+ const parts = decimalIsh.split('.');
1294
+ const degrees = Math.abs(parseInt(parts[0])) || 0;
1295
+ let remainder = parts.length > 1 ? parts[1] : '0000';
1494
1296
  while (remainder.length < 4) {
1495
1297
  remainder += '0';
1496
1298
  }
1497
- var minutes = parseInt(remainder.substr(0, 2));
1498
- var seconds = parseFloat(remainder.substr(2, 2) + "." + (remainder.length > 4 ? remainder.substr(4, 2) : '0'));
1499
- return { sign: sign, degrees: degrees, minutes: minutes, seconds: seconds };
1299
+ const minutes = parseInt(remainder.substr(0, 2));
1300
+ const seconds = parseFloat(`${remainder.substr(2, 2)}.${remainder.length > 4 ? remainder.substr(4, 2) : '0'}`);
1301
+ return { sign, degrees, minutes, seconds };
1500
1302
  };
1501
- var validateBearing = function (bearing) {
1502
- var signedDegrees = bearing.sign === '-' ? bearing.degrees * -1 : bearing.degrees;
1303
+ const validateBearing = (bearing) => {
1304
+ const signedDegrees = bearing.sign === '-' ? bearing.degrees * -1 : bearing.degrees;
1503
1305
  if (signedDegrees < -360 || signedDegrees > 360)
1504
1306
  return 'Degrees must be between -360 and 360';
1505
1307
  if (bearing.minutes < 0 || bearing.minutes >= 60)
@@ -1510,16 +1312,16 @@ var LuiBearingInput = function (props) {
1510
1312
  //here ---
1511
1313
  return null;
1512
1314
  };
1513
- var formatBearing = function (decimalIsh) {
1514
- var _a = parseBearing(decimalIsh), sign = _a.sign, degrees = _a.degrees, minutes = _a.minutes, seconds = _a.seconds;
1515
- var displaySign = degrees === 0 && minutes === 0 && seconds === 0 ? '' : sign;
1516
- return displaySign + " " + degrees + "\u00B0 " + padToTwo(minutes) + "' " + padToTwo(seconds) + "\"";
1315
+ const formatBearing = (decimalIsh) => {
1316
+ const { sign, degrees, minutes, seconds } = parseBearing(decimalIsh);
1317
+ const displaySign = degrees === 0 && minutes === 0 && seconds === 0 ? '' : sign;
1318
+ return `${displaySign} ${degrees ${padToTwo(minutes)}' ${padToTwo(seconds)}"`;
1517
1319
  };
1518
- var onChange = function (event) {
1519
- var newValue = event.target.value;
1320
+ const onChange = (event) => {
1321
+ const newValue = event.target.value;
1520
1322
  if (newValue === '' ||
1521
1323
  newValue === '-' ||
1522
- newValue.match(RegExp("^-?[0-9]+(\\.[0-9]{0," + maxAfterDP + "})?$"))) {
1324
+ newValue.match(RegExp(`^-?[0-9]+(\\.[0-9]{0,${maxAfterDP}})?$`))) {
1523
1325
  props.onChange && props.onChange(event);
1524
1326
  }
1525
1327
  else {
@@ -1529,26 +1331,26 @@ var LuiBearingInput = function (props) {
1529
1331
  function padToTwo(number) {
1530
1332
  return number <= 9 ? '0' + number : number.toString();
1531
1333
  }
1532
- var parsedBearing = parseBearing(props.value);
1533
- var internalError = validateBearing(parsedBearing);
1534
- var error = props.preferValidationError
1334
+ const parsedBearing = parseBearing(props.value);
1335
+ const internalError = validateBearing(parsedBearing);
1336
+ const error = props.preferValidationError
1535
1337
  ? props.validationError || internalError || null
1536
1338
  : internalError || props.validationError || null;
1537
- var showError = error !== null;
1339
+ const showError = error !== null;
1538
1340
  props.onValidate && props.onValidate(internalError);
1539
1341
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
1540
- props.label && (React__default["default"].createElement(LuiFormikFormLabel, { required: !!props.required, label: props.label, "for": props.name, tooltip: props.tooltip })),
1342
+ props.label && (React__default["default"].createElement(LuiFormikFormLabel, { required: !!props.required, label: props.label, for: props.name, tooltip: props.tooltip })),
1541
1343
  props.helperInfo,
1542
1344
  React__default["default"].createElement("div", { className: clsx('lui-margin-top-xs', showError && 'lui-input-error') },
1543
1345
  showError && (React__default["default"].createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
1544
1346
  React__default["default"].createElement("div", { className: 'lui-bearing-input-wrapper' },
1545
- React__default["default"].createElement("input", __assign({ id: props.name, type: "text", disabled: props.disabled }, props.inputProps, { onChange: onChange, value: props.value })),
1347
+ React__default["default"].createElement("input", { id: props.name, type: "text", disabled: props.disabled, ...props.inputProps, onChange: onChange, value: props.value }),
1546
1348
  React__default["default"].createElement("div", { className: 'lui-bearing-display' }, formatBearing(props.value || '0'))),
1547
1349
  showError && React__default["default"].createElement("p", null, error))));
1548
1350
  };
1549
- var LuiBearingFormikInput = function (props) {
1550
- var ctx = formik.useFormikContext();
1551
- var _a = React.useState(null), error = _a[0], setError = _a[1];
1351
+ const LuiBearingFormikInput = (props) => {
1352
+ let ctx = formik.useFormikContext();
1353
+ const [error, setError] = React.useState(null);
1552
1354
  function validateBearing() {
1553
1355
  return error;
1554
1356
  }
@@ -1556,8 +1358,8 @@ var LuiBearingFormikInput = function (props) {
1556
1358
  setError(error);
1557
1359
  }
1558
1360
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
1559
- React__default["default"].createElement(formik.Field, { name: props.name, validate: validateBearing }, function (renderProps) {
1560
- 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 })));
1361
+ React__default["default"].createElement(formik.Field, { name: props.name, validate: validateBearing }, (renderProps) => {
1362
+ return (React__default["default"].createElement(LuiBearingInput, { name: props.name, ...renderProps.field, validationError: formik.getIn(ctx?.errors, props.name), required: true, onValidate: onValidate, inputProps: props.inputProps, preferValidationError: props.preferValidationError }));
1561
1363
  })));
1562
1364
  };
1563
1365
 
@@ -1565,7 +1367,7 @@ var LinzLogoFooter = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
1565
1367
 
1566
1368
  var NzGovtLogoRev = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjIwIiB2aWV3Qm94PSIwIDAgMTkwIDIwIj4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGlkPSJhIiBkPSJNMCAwaDE4OS41NzJ2MTkuMzEySDB6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9Ii43Ij4KICAgICAgICA8bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2EiLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZFRkVGRSIgZD0iTTgzLjEzOSAxMy44MTNIODEuMzFWNy4wMjFjMC0uOTA0LS4wODItMS4yMjYtLjMyMy0xLjU0Ny0uMi0uMjYxLS41NjItLjQwMi0xLjAyNC0uNDAyLS43MjQgMC0xLjgxLjU2My0yLjQ5MiAxLjI4NnY3LjQ1NWgtLjkzYy0uNTg2IDAtLjktLjQ0LS45LTEuMTI3VjYuMzE4YzAtMS4yMDYtLjEtMS42NjgtLjM4MS0yLjM5MmwxLjc0OS0uNDgyYy4yNC40ODIuMzQyLjkyNC4zNDIgMS41NDcuNTgyLS40ODIuODg0LS43NDMgMS4zMDYtLjk4NGEzLjczMiAzLjczMiAwIDAgMSAxLjg2OS0uNTAyYzEuMDY0IDAgMi4wMDkuNTYyIDIuMzcgMS40MjYuMTYxLjM2Mi4yNDIuODA0LjI0MiAxLjI2N3Y3LjYxNXptOC4wNTQtMi41NTJWNS45OTZjLS41MjItLjYyMy0xLjE4Ni0uOTQ0LTIuMTMtLjk0NC0uNzYzIDAtMS4zNjcuMzgxLTEuNzQ4IDEuMDI1LS4zODIuNjYyLS41MjMgMS40NjctLjUyMyAyLjc3MyAwIDEuOTUuMjQxIDIuNDkyLjc4NCAzLjA1NC4zNDEuMzYyLjgwNC41MjMgMS40ODcuNTIzIDEuMDY1IDAgMS43ODktLjU2MyAyLjEzLTEuMTY2em0yLjE1IDIuNTUyaC0xLjc2OGMtLjEtLjMwMS0uMTItLjQ0Mi0uMTgxLS45NDQtLjcwMy43NDQtMS41MjggMS4xMDUtMi41OTIgMS4xMDUtMi41NzIgMC00LjA4LTEuOTI5LTQuMDgtNS4xMDQgMC0yLjE3Ljc0NC0zLjgzOCAyLjExLTQuNzIzYTMuNDc3IDMuNDc3IDAgMCAxIDEuOTctLjU4MmMuOTY0IDAgMS43NjguMzQxIDIuNDUxIDEuMTY2IDAtLjI4Mi0uMDQtMS44MTktLjA0LTIuNTAyVi4xNDNsMS44NDkuMzAxdjkuOTk0YzAgMS42MjcuMDYgMi43NTMuMjgxIDMuMzc1ek03MS44NiA4Ljg3Yy0uMjgyLS4wMi0uNDQyLS4wNC0uNjAzLS4wNC0xLjM4NyAwLTIuMjMuMjYxLTIuNjMzLjcyMy0uMzgxLjQ0My0uNTIyLjgwNC0uNTIyIDEuNDY3IDAgMS4xMDYuNTYzIDEuNzQ5IDEuNTg4IDEuNzQ5Ljg0MyAwIDEuNjQ4LS41MjMgMi4xMS0xLjMyN2wuMDYtMi41NzJ6bTIuNjEyIDQuMTJsLS45NDQgMS4yNDVjLS42MjMtLjI0LTEuMTA2LS43NDMtMS4zNDctMS40NDctLjI2LjMyMi0xLjEwNSAxLjMyNy0yLjg1MyAxLjMyNy0yLjAxIDAtMy4yNTUtMS4wMjUtMy4yNTUtMi45NTQgMC0yLjMzMSAxLjg2OC0zLjU3NyA1LjEyNC0zLjU3Ny4yNCAwIC40NDIgMCAuNzAzLjAyVjYuOTRjMC0xLjE4Ni0uMTYtMS45OS0xLjU2Ny0xLjk5LTEuMDY1IDAtMi4yNzIuNTIzLTMuMDk1IDEuMTQ2bC0uODQ0LTEuMzI3Yy45ODUtLjU2MiAyLjI3LTEuMzI2IDQuMjItMS4zMjYgMS40NjcgMCAyLjUzMi41NDMgMi45MTQgMS42MDguMTYuNDQyLjIuNzg0LjIgMS43NjggMCAuNzI0LS4wOCAyLjI3MS0uMDggMy43MzggMCAxLjM4Ny4wNCAxLjk1LjgyNCAyLjQzMnptLTkuMTcxLjgwM2EyLjcxIDIuNzEgMCAwIDEtMS4xNDYuMjIxYy0uNzIzIDAtMS4xODYtLjIyLTEuNTY3LS43NjMtLjMwMS0uNDIyLS4zODItLjc2NC0uMzgyLTEuNzQ5VjMuMjk1YzAtMS40MjYtLjA2LTIuMTEtLjIyMS0yLjg5M0w2My45MTUgMGMuMTguNjYzLjE4IDEuNjI4LjE4IDIuODc0djguMTQ2YzAgMS4wNjUuMDYgMS4zMDYuMjYxIDEuNDg3LjEyMS4xNDEuNDAyLjIwMS42MjMuMTQxbC4zMjIgMS4xNDV6TTU4LjI2NyA4Ljg3Yy0uMjgtLjAyLS40NDItLjA0LS42MDItLjA0LTEuMzg3IDAtMi4yMy4yNjEtMi42MzMuNzIzLS4zODIuNDQzLS41MjMuODA0LS41MjMgMS40NjcgMCAxLjEwNi41NjMgMS43NDkgMS41ODggMS43NDkuODQ0IDAgMS42NDgtLjUyMyAyLjExLTEuMzI3bC4wNi0yLjU3MnptMi42MTMgNC4xMmwtLjk0NCAxLjI0NWMtLjYyMy0uMjQtMS4xMDYtLjc0My0xLjM0Ny0xLjQ0Ny0uMjYuMzIyLTEuMTA1IDEuMzI3LTIuODU0IDEuMzI3LTIuMDA5IDAtMy4yNTUtMS4wMjUtMy4yNTUtMi45NTQgMC0yLjMzMSAxLjg2OS0zLjU3NyA1LjEyNC0zLjU3Ny4yNDEgMCAuNDQzIDAgLjcwNC4wMlY2Ljk0YzAtMS4xODYtLjE2MS0xLjk5LTEuNTY4LTEuOTktMS4wNjUgMC0yLjI3LjUyMy0zLjA5NSAxLjE0NmwtLjg0My0xLjMyN2MuOTg0LS41NjIgMi4yNy0xLjMyNiA0LjIyLTEuMzI2IDEuNDY2IDAgMi41MzIuNTQzIDIuOTE0IDEuNjA4LjE2LjQ0Mi4yLjc4NC4yIDEuNzY4IDAgLjcyNC0uMDggMi4yNzEtLjA4IDMuNzM4IDAgMS4zODcuMDQgMS45NS44MjQgMi40MzJ6TTQ5LjQ2MSA3LjgwNWMwLS45NjQtLjIyLTEuNzY4LS42MjItMi4yNzFhMS44MSAxLjgxIDAgMCAwLTEuNDQ3LS43MDNjLTEuNDA3IDAtMi4xMSAxLjE0Ni0yLjExIDIuOTc0aDQuMTh6bTEuOTMgMS4zNjZoLTYuMTN2LjI0MmMwIC44NjMuMTIxIDEuNTI3LjQyMyAyLjAxLjUyMi44MDMgMS4zNDUgMS4xODUgMi4zMSAxLjE4NS45NDUgMCAxLjc0OS0uMzIyIDIuNDcyLS45NjVsLjcwNCAxLjEwNmMtLjk4Ni44NjQtMi4xNyAxLjI4NS0zLjQ3NyAxLjI4NS0yLjc5MyAwLTQuNTAyLTIuMDI5LTQuNTAyLTUuMzI0IDAtMS43NDkuMzQyLTIuODc0IDEuMjA2LTMuOS44MDQtLjk0NCAxLjc4OS0xLjM4NiAzLjAzNS0xLjM4NiAxLjEyNSAwIDIuMDMuMzYyIDIuNzMzIDEuMDg1Ljg4NC45MDUgMS4yMDUgMi4wMyAxLjIyNiA0LjM0di4zMjJ6TTMyLjY0IDMuNzQ2bC0yLjgxMyAxMC4xNDhIMjguMDRsLTEuNDY3LTUuNDg2Yy0uMTgtLjcwMy0uNjIzLTIuMzcxLS42MjMtMi4zNzFoLS4wNnMtLjQwMiAxLjcwOC0uNTQyIDIuMjVsLTEuNTA4IDUuNjA3aC0xLjc2OEwxOS4zMTggMy44MjZsMS44NjgtLjMwMSAxLjI4NyA1LjY0NmMuMjIgMS4wMDUuNTIyIDIuNDcyLjUyMiAyLjQ3MmguMDYxcy4yMi0xLjQyNi40NjItMi4yOWwxLjUyNy01LjYwN2gxLjkxTDI4LjM2IDkuMTljLjI4MSAxLjA4NS41NjIgMi4zNTIuNTYyIDIuNDUyaC4wOGMwLS4xLjMyMi0xLjcyOC40NjMtMi4zOWwxLjI0Ni01LjUwN2gxLjkzem0tMTUuODIgNC4wNmMwLS45NjUtLjIyLTEuNzctLjYyMy0yLjI3MmExLjgwNyAxLjgwNyAwIDAgMC0xLjQ0Ni0uNzAzYy0xLjQwNyAwLTIuMTEgMS4xNDYtMi4xMSAyLjk3NGg0LjE4em0xLjkzIDEuMzY1aC02LjEzdi4yNDJjMCAuODYzLjEyMSAxLjUyNy40MjMgMi4wMS41MjMuODAzIDEuMzQ2IDEuMTg1IDIuMzEgMS4xODUuOTQ1IDAgMS43NDktLjMyMiAyLjQ3Mi0uOTY1bC43MDMgMS4xMDZjLS45ODQuODY0LTIuMTcgMS4yODUtMy40NzYgMS4yODUtMi43OTMgMC00LjUwMS0yLjAyOS00LjUwMS01LjMyNCAwLTEuNzQ5LjM0MS0yLjg3NCAxLjIwNS0zLjkuODA0LS45NDQgMS43OS0xLjM4NiAzLjAzNS0xLjM4NiAxLjEyNSAwIDIuMDMuMzYyIDIuNzMzIDEuMDg1Ljg4NC45MDUgMS4yMDUgMi4wMyAxLjIyNiA0LjM0di4zMjJ6bTE3MC44MjItNS4zOTZsLS41IDEuM2gtMS45OHY2LjAzOWMwIDEuMjQuMyAxLjYyIDEuMyAxLjYyLjM0IDAgLjYyLS4wNi45MzktLjJsLjIyIDEuMTJjLS41Ni4yOC0xLjE2LjQyLTEuODIuNDItLjY2IDAtMS4zNzktLjItMS43LS41LS40MTktLjM4MS0uNzQtLjU4LS43NC0yLjA0di02LjQ2aC0xLjE5OHYtMS4zaDEuMTk5YzAtLjc3OS4wMi0xLjguMTItMi41NTlsMS45LS40NGMtLjA4LjcyLS4xOCAxLjk4LS4xOCAzaDIuNDR6bS02Ljc3NSAxMC4wMThoLTEuODJWNy4wMzVjMC0uOS0uMDgtMS4yMi0uMzE5LTEuNTQtLjItLjI2LS41Ni0uNC0xLjAyLS40LS43MiAwLTEuOC41Ni0yLjQ4IDEuMjh2Ny40MThoLTEuODJWNi4zMzRjMC0xLjItLjEtMS42NTktLjM4LTIuMzhsMS43NC0uNDc5Yy4yNC40OC4zNC45Mi4zNCAxLjU0LjU4LS40OC44OC0uNzQgMS4zLS45OC41OC0uMzQgMS4yNC0uNSAxLjg2LS41IDEuMDYgMCAxLjk5OS41NiAyLjM2IDEuNDIuMTU5LjM2LjI0LjguMjQgMS4yNnY3LjU3OHptLTEwLjk4My01Ljk3OWMwLS45Ni0uMjItMS43Ni0uNjItMi4yNi0uMzItLjQtLjgtLjctMS40NC0uNy0xLjM5OSAwLTIuMSAxLjE0LTIuMSAyLjk2aDQuMTZ6bTEuOTIgMS4zNmgtNi4xdi4yNGMwIC44Ni4xMiAxLjUyLjQyIDIgLjUyMS44IDEuMzQgMS4xOCAyLjMgMS4xOC45NCAwIDEuNzQtLjMyIDIuNDYtLjk2bC43IDEuMWMtLjk4Ljg2LTIuMTYgMS4yOC0zLjQ2IDEuMjgtMi43OCAwLTQuNDc5LTIuMDItNC40NzktNS4zIDAtMS43NC4zNC0yLjg2IDEuMi0zLjg4LjgtLjk0IDEuNzgtMS4zNzkgMy4wMi0xLjM3OSAxLjEyIDAgMi4wMi4zNiAyLjcyIDEuMDguODguOSAxLjE5OSAyLjAyIDEuMjE5IDQuMzJ2LjMxOXptLTkuNTc3IDQuNjJoLTEuODJ2LTcuMThjMC0xLjE0LS4zNi0xLjU0LTEuMi0xLjU0LS45MiAwLTEuNTguNi0yLjMzOSAxLjM2djcuMzZoLTEuOHYtNy4xNGMwLTEuMTItLjMyLTEuNTQtMS4yNC0xLjU0LS42OCAwLTEuNDQuMzQtMi4zIDEuMTZ2Ny41MmgtMS44MnYtNy4zNmMwLTEuNDItLjA4LTEuOC0uMzU5LTIuNDk5bDEuNzItLjQyYy4yLjM0LjM0Ljg0LjM0IDEuNC44Ni0uOSAxLjg4LTEuNDIgMi44MTktMS40Mi45NCAwIDEuODguNSAyLjM4IDEuNTggMS0xLjA2IDIuMDQtMS41OCAzLjA2LTEuNTggMS41NTkgMCAyLjU1OS45OCAyLjU1OSAyLjgydjcuNDc4em0tMTQuMzk3IDBoLTEuODJ2LTYuNzZjMC0uODk5LS4wOC0xLjIyLS4zMi0xLjU0LS4yLS4yNi0uNTYtLjQtMS4wMi0uNC0uNzIgMC0xLjc5OS41Ni0yLjQ4IDEuMjh2Ny40MmgtMS44MnYtNy40NmMwLTEuMi0uMDk5LTEuNjU5LS4zNzktMi4zOGwxLjc0LS40NzljLjI0LjQ4LjM0LjkyLjM0IDEuNTQuNTgtLjQ4Ljg4LS43NCAxLjMtLjk4LjU4LS4zNCAxLjI0LS41IDEuODYtLjUgMS4wNTkgMCAxLjk5OS41NiAyLjM2IDEuNDIuMTU5LjM2LjIzOS44LjIzOSAxLjI2djcuNTc4em0tOC43ODItMTAuMjM5bC0uNjQgMS44NGExLjUgMS41IDAgMCAwLS41Mi0uMWMtMS4xMiAwLTIuMDc5Ljk0LTIuMDc5IDIuMDM5djYuNDZoLTEuODR2LTcuMzZjMC0xLjIyLS4xNC0xLjg4LS4zOC0yLjQ5OWwxLjc4LS40NmMuMTguMzguMzQgMS4wNC4zNCAxLjU0di4xOGMuOC0xLjE2IDEuNjYtMS43NCAyLjcyLTEuNzQuMjQgMCAuNDYuMDQuNjIuMXptLTguNjAzIDQuMjU5YzAtLjk2LS4yMi0xLjc2LS42Mi0yLjI2LS4zMi0uNC0uOC0uNy0xLjQ0LS43LTEuMzk5IDAtMi4xIDEuMTQtMi4xIDIuOTZoNC4xNnptMS45MiAxLjM2aC02LjF2LjI0YzAgLjg2LjEyIDEuNTIuNDIxIDIgLjUyLjggMS4zNCAxLjE4IDIuMyAxLjE4LjkzOSAwIDEuNzQtLjMyIDIuNDU5LS45NmwuNyAxLjFjLS45OC44Ni0yLjE2IDEuMjgtMy40NiAxLjI4LTIuNzc5IDAtNC40NzktMi4wMi00LjQ3OS01LjMgMC0xLjc0LjM0LTIuODYgMS4yLTMuODguOC0uOTQgMS43OC0xLjM3OSAzLjAyLTEuMzc5IDEuMTIgMCAyLjAyLjM2IDIuNzE5IDEuMDguODguOSAxLjIgMi4wMiAxLjIyIDQuMzJ2LjMxOXptLTguMzczLTUuNGwtMy42NTkgMTAuMWgtMS43MmwtMy41OC0xMC4wNiAxLjktLjMgMS45OCA2LjA2Yy4yMi42OC40NCAxLjQ4LjYgMi4xNi4xNi0uNi4zNi0xLjM4LjY0LTIuMmwxLjktNS43NmgxLjk0em0tMTEuMjU4IDUuMThjMC0zLjEtLjktNC4wNC0yLjM0LTQuMDQtMS42IDAtMi4yNTkgMS4xNC0yLjI1OSAzLjY2IDAgMy4wNi43OCA0LjA4IDIuMzQgNC4wOCAxLjQgMCAyLjI2LTEuMDggMi4yNi0zLjd6bTIuMDYtLjA4YzAgMy4xOC0xLjcgNS4yLTQuMzYgNS4yLTIuNjc5IDAtNC4zNC0yLjA0LTQuMzQtNS4zIDAtMy4yNCAxLjY2MS01LjI4IDQuMy01LjI4IDIuOTYgMCA0LjQgMi4zNiA0LjQgNS4zOHptLTEwLjAyNSA0LjAyYy0xLjEyLjctMi42MiAxLjEtNC4wOCAxLjEtMS44NCAwLTMuMy0uNjItNC4zNTgtMS44Ni0xLjEtMS4yOC0xLjYtMi45LTEuNi01LjE2IDAtMS45MTMuOC00LjEwMyAyLjM4LTUuNDAzLjk5OC0uODIgMi4wOTktMS4xOCAzLjQ1OS0xLjE4IDEuNSAwIDIuODE5LjQ0IDMuODk5IDEuMzhsLS45MiAxLjJjLTEuMDItLjc0LTEuODgtMS4wNC0yLjk0LTEuMDQtMS4zMiAwLTIuMjk4LjU1Mi0yLjk1OSAxLjc2LS40ODEuODgtLjc2IDEuNzQ0LS43NiAzLjM4MyAwIDEuOS4zNCAzLjMyLjk4IDQuMTYuNi43OCAxLjc4IDEuMjQgMi45NiAxLjI0Ljc3OSAwIDEuNDgtLjIgMi4wNC0uNTJ2LTMuOTJoLTIuNTRsLS4zMi0xLjU4aDQuNzU5djYuNDR6bS02My4yMy0uMzc0bC0uNDggMS42aC04LjIxOHYtMS40OGw1LjU1OS04Ljc4MmMuMy0uNTIuNy0xLjA2Ljk4LTEuNDItLjQuMDQtLjkuMDYtMS41OC4wNmgtNC43MTlsLjQ2LTEuNmg3LjkxOHYxLjU0bC01LjQ5OSA4Ljc4M2MtLjMuNTItLjYyLjkyLS44NiAxLjMyLjQyLS4wMi44OC0uMDIgMS4zOC0uMDJoNS4wNnpNOS4xOTQgMTMuOTU3aC0yLjA2bC0zLjYyLTcuMzE5Yy0uNy0xLjQyLTEuNDE5LTIuOTgtMS42NzktMy43OGwtLjEyLjAyYy4xIDEuMTguMTQgMi41Ni4xNiAzLjg0bC4wOCA3LjIzOWgtLjc1NmMtLjg3MyAwLTEuMTg0LS44NDQtMS4xODQtMS43OTZWLjE4aDIuMjRsMy44NCA3LjU5OWMuNTggMS4xNCAxLjI2IDIuOTIgMS4zNiAzLjNsLjEyLS4wNDFjLS4wNC0uNC0uMi0yLjU4LS4yLTQuMUw3LjMzMy4xOGgxLjg2djEzLjc3OHpNMCAxOC4zNTlzMjMuOTA5LTIuNjk5IDQ2LjUyMy0yLjY5OWMyMy4xIDAgNDcuMTUgMi43IDQ3LjE1IDIuN3YuOTUycy0yNC4yMS0yLjU1OS00Ny4xNDYtMi41NTlDMjMuOTEgMTYuNzUzIDAgMTkuMzEzIDAgMTkuMzEzdi0uOTU0eiIgbWFzaz0idXJsKCNiKSIvPgogICAgPC9nPgo8L3N2Zz4=';
1567
1369
 
1568
- var LuiFooter = function (props) {
1370
+ const LuiFooter = (props) => {
1569
1371
  return (React__default["default"].createElement("footer", { className: 'lui-footer' },
1570
1372
  React__default["default"].createElement("div", { className: 'lui-footer-columns' },
1571
1373
  React__default["default"].createElement("h2", null, props.footerText),
@@ -25058,35 +24860,33 @@ var loaderDataChristmas = {
25058
24860
  * Very trivial react wrapper for Lottie-web light. Using lottie-web directly rather than with `react-lottie` or
25059
24861
  * `lottie-react` reduces our bundle size and enables use to use lottie-web in light mode.
25060
24862
  */
25061
- var LuiLottieLight = function (_a) {
25062
- var animationData = _a.animationData, style = _a.style, rendererSettings = _a.rendererSettings, autoplay = _a.autoplay, loop = _a.loop;
25063
- var element = React__default["default"].useRef(null);
25064
- var lottieInstance = React__default["default"].useRef();
25065
- React__default["default"].useEffect(function () {
24863
+ const LuiLottieLight = ({ animationData, style, rendererSettings, autoplay, loop, }) => {
24864
+ const element = React__default["default"].useRef(null);
24865
+ const lottieInstance = React__default["default"].useRef();
24866
+ React__default["default"].useEffect(() => {
25066
24867
  if (element.current) {
25067
24868
  lottieInstance.current = lottie__default["default"].loadAnimation({
25068
- animationData: animationData,
24869
+ animationData,
25069
24870
  container: element.current,
25070
- rendererSettings: rendererSettings,
25071
- autoplay: autoplay,
25072
- loop: loop,
24871
+ rendererSettings,
24872
+ autoplay,
24873
+ loop,
25073
24874
  });
25074
24875
  }
25075
- return function () {
25076
- var _a;
25077
- (_a = lottieInstance.current) === null || _a === void 0 ? void 0 : _a.destroy();
24876
+ return () => {
24877
+ lottieInstance.current?.destroy();
25078
24878
  };
25079
24879
  }, [animationData, autoplay, loop, rendererSettings]);
25080
24880
  return React__default["default"].createElement("div", { style: style, ref: element });
25081
24881
  };
25082
24882
 
25083
24883
  // This prevents spinners from animating and causing diffs in chromatic
25084
- var autoplay = !isChromatic();
25085
- var style = { height: 148, width: 148 };
25086
- var renderSettings = {
24884
+ const autoplay = !isChromatic();
24885
+ const style = { height: 148, width: 148 };
24886
+ const renderSettings = {
25087
24887
  preserveAspectRatio: 'xMidYMid slice',
25088
24888
  };
25089
- var LuiLoadingSpinnerBase = function (props) {
24889
+ const LuiLoadingSpinnerBase = (props) => {
25090
24890
  return (React__default["default"].createElement("div", { style: {
25091
24891
  position: 'absolute',
25092
24892
  top: '50%',
@@ -25100,7 +24900,7 @@ var LuiLoadingSpinnerBase = function (props) {
25100
24900
  /**
25101
24901
  * A LuiSpinner with a status message beneath it.
25102
24902
  */
25103
- var LuiStatusSpinner = function (props) {
24903
+ const LuiStatusSpinner = (props) => {
25104
24904
  return (React__default["default"].createElement("div", { className: 'LuiStatusSpinner' },
25105
24905
  React__default["default"].createElement(LuiLoadingSpinner, null),
25106
24906
  React__default["default"].createElement("div", { style: {
@@ -25115,24 +24915,25 @@ var LuiStatusSpinner = function (props) {
25115
24915
  width: '300px',
25116
24916
  } }, props.children))));
25117
24917
  };
25118
- var LuiMiniSpinner = function (props) {
25119
- return (React__default["default"].createElement("div", __assign({}, props.divProps),
24918
+ const LuiMiniSpinner = (props) => {
24919
+ return (React__default["default"].createElement("div", { ...props.divProps },
25120
24920
  React__default["default"].createElement(LuiLottieLight, { animationData: loaderData, loop: true, autoplay: autoplay, rendererSettings: {
25121
24921
  preserveAspectRatio: 'xMidYMid slice',
25122
24922
  }, style: { height: props.size, width: props.size } })));
25123
24923
  };
25124
- var LuiLoadingSpinner = function () {
24924
+ const LuiLoadingSpinner = () => {
25125
24925
  return React__default["default"].createElement(LuiLoadingSpinnerBase, { animationData: loaderData });
25126
24926
  };
25127
- var LuiLoadingSpinnerEaster = function () {
24927
+ const LuiLoadingSpinnerEaster = () => {
25128
24928
  return React__default["default"].createElement(LuiLoadingSpinnerBase, { animationData: loaderDataEaster });
25129
24929
  };
25130
- var LuiLoadingSpinnerChristmas = function () {
24930
+ const LuiLoadingSpinnerChristmas = () => {
25131
24931
  return React__default["default"].createElement(LuiLoadingSpinnerBase, { animationData: loaderDataChristmas });
25132
24932
  };
25133
24933
  // this function was extracted from chromatic/isChromatic. It was causing TS issues for the consumer
25134
24934
  function isChromatic() {
25135
- return !!((window === null || window === void 0 ? void 0 : window.navigator.userAgent.match(/Chromatic/)) || (window === null || window === void 0 ? void 0 : window.location.href.match(/chromatic=true/)));
24935
+ return !!(window?.navigator.userAgent.match(/Chromatic/) ||
24936
+ window?.location.href.match(/chromatic=true/));
25136
24937
  }
25137
24938
 
25138
24939
  var css_248z$4 = ":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}";
@@ -25243,61 +25044,114 @@ var CreatableSelect = /*#__PURE__*/React__default["default"].forwardRef(function
25243
25044
  /**
25244
25045
  * A wrapper around React Select with Lui styling
25245
25046
  */
25246
- var LuiComboSelect = React.forwardRef(LuiComboSelectActual);
25047
+ const LuiComboSelect = React.forwardRef(LuiComboSelectActual);
25247
25048
  // declare the indicator in here so it gets the types from
25248
25049
  // the function declaration
25249
- var LuiLoadingIndicator = function () { return React__default["default"].createElement(LuiMiniSpinner, { size: 25 }); };
25050
+ const LuiLoadingIndicator = () => React__default["default"].createElement(LuiMiniSpinner, { size: 25 });
25250
25051
  function LuiComboSelectActual(givenProps, ref) {
25251
- var props = Object.assign({
25252
- noOptionsMessage: function (i) {
25253
- return "No options found containing '" + i.inputValue + "'";
25254
- },
25052
+ const props = Object.assign({
25053
+ noOptionsMessage: (i) => `No options found containing '${i.inputValue}'`,
25255
25054
  }, givenProps);
25256
- props.components = __assign({ LoadingIndicator: LuiLoadingIndicator }, props.components);
25055
+ props.components = {
25056
+ LoadingIndicator: LuiLoadingIndicator,
25057
+ ...props.components,
25058
+ };
25257
25059
  // box-shadow: "-8px 0px 0 0 #cc0000";
25258
25060
  // border-radius: "4px";
25259
- var id = useGenerateOrDefaultId(props === null || props === void 0 ? void 0 : props.id);
25260
- var selectProp = __assign(__assign({ inputId: id }, props), { classNamePrefix: 'LuiComboSelect', theme: function (theme) { return (__assign(__assign({}, theme), { colors: __assign(__assign({}, theme.colors), { primary: css_248z$4['sea'], primary75: css_248z$4['electric'], primary50: css_248z$4['spray'], primary25: css_248z$4['polar'], neutral90: css_248z$4['charcoal'], neutral80: css_248z$4['charcoal'], neutral70: css_248z$4['charcoal'], neutral60: css_248z$4['fuscous'], neutral50: css_248z$4['fuscous'], neutral40: css_248z$4['gray'], neutral30: css_248z$4['gray'], neutral20: css_248z$4['silver'], neutral10: css_248z$4['lily'], neutral5: css_248z$4['hint'], danger: css_248z$4['error'], dangerLight: css_248z$4['error-bg'] }) })); }, styles: {
25261
- control: function (provided, state) { return (__assign(__assign({}, provided), {
25061
+ const id = useGenerateOrDefaultId(props?.id);
25062
+ const selectProp = {
25063
+ inputId: id,
25064
+ ...props,
25065
+ classNamePrefix: 'LuiComboSelect',
25066
+ theme: (theme) => ({
25067
+ ...theme,
25068
+ colors: {
25069
+ ...theme.colors,
25070
+ primary: css_248z$4['sea'],
25071
+ primary75: css_248z$4['electric'],
25072
+ primary50: css_248z$4['spray'],
25073
+ primary25: css_248z$4['polar'],
25074
+ neutral90: css_248z$4['charcoal'],
25075
+ neutral80: css_248z$4['charcoal'],
25076
+ neutral70: css_248z$4['charcoal'],
25077
+ neutral60: css_248z$4['fuscous'],
25078
+ neutral50: css_248z$4['fuscous'],
25079
+ neutral40: css_248z$4['gray'],
25080
+ neutral30: css_248z$4['gray'],
25081
+ neutral20: css_248z$4['silver'],
25082
+ neutral10: css_248z$4['lily'],
25083
+ neutral5: css_248z$4['hint'],
25084
+ danger: css_248z$4['error'],
25085
+ dangerLight: css_248z$4['error-bg'],
25086
+ },
25087
+ }),
25088
+ styles: {
25089
+ control: (provided, state) => ({
25090
+ ...provided,
25262
25091
  /* matches style of .LuiTextInput-input */
25263
- boxShadow: 'none', border: state.isFocused ? '1px solid #053d52' : '1px solid #b2b2b2', '&:hover, &:active': {
25092
+ boxShadow: 'none',
25093
+ border: state.isFocused ? '1px solid #053d52' : '1px solid #b2b2b2',
25094
+ '&:hover, &:active': {
25264
25095
  borderColor: '#053d52',
25265
- } })); },
25266
- dropdownIndicator: function (provided) { return (__assign(__assign({}, provided), { color: css_248z$4['fuscous'] })); },
25267
- indicatorSeparator: function (provided) { return (__assign(__assign({}, provided), { width: 0 })); },
25268
- input: function (provided) { return (__assign(__assign({}, provided), { height: '40px', minHeight: '40px', fontWeight: 400, input: {
25096
+ },
25097
+ }),
25098
+ dropdownIndicator: (provided) => ({
25099
+ ...provided,
25100
+ color: css_248z$4['fuscous'],
25101
+ }),
25102
+ indicatorSeparator: (provided) => ({
25103
+ ...provided,
25104
+ width: 0,
25105
+ }),
25106
+ input: (provided) => ({
25107
+ ...provided,
25108
+ height: '40px',
25109
+ minHeight: '40px',
25110
+ fontWeight: 400,
25111
+ input: {
25269
25112
  height: '38px !important',
25270
- } })); },
25271
- singleValue: function (provided) { return (__assign(__assign({}, provided), { color: '#414042', fontWeight: 400 })); },
25272
- placeholder: function (provided) { return (__assign(__assign({}, provided), {
25113
+ },
25114
+ }),
25115
+ singleValue: (provided) => ({
25116
+ ...provided,
25117
+ color: '#414042',
25118
+ fontWeight: 400,
25119
+ }),
25120
+ placeholder: (provided) => ({
25121
+ ...provided,
25273
25122
  /* please keep this in sync with FormVars.scss/mixin.formPlaceholder */
25274
- fontWeight: 'normal', fontStyle: 'italic', color: css_248z$4['input-placeholder'] })); },
25275
- option: function (provided, _a) {
25276
- var isSelected = _a.isSelected;
25277
- return (__assign(__assign({}, provided), { color: css_248z$4['input-text'], backgroundColor: isSelected ? css_248z$4['selection'] : css_248z$4['white'] }));
25278
- },
25279
- } });
25123
+ fontWeight: 'normal',
25124
+ fontStyle: 'italic',
25125
+ color: css_248z$4['input-placeholder'],
25126
+ }),
25127
+ option: (provided, { isSelected }) => ({
25128
+ ...provided,
25129
+ color: css_248z$4['input-text'],
25130
+ backgroundColor: isSelected ? css_248z$4['selection'] : css_248z$4['white'],
25131
+ }),
25132
+ },
25133
+ };
25280
25134
  return (React__default["default"].createElement("label", { htmlFor: id, className: clsx('LuiComboSelect-label', props.error && 'hasError') },
25281
25135
  React__default["default"].createElement("span", { className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
25282
- 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))),
25136
+ props.isCreateable ? (React__default["default"].createElement(CreatableSelect, { formatCreateLabel: (inputValue) => inputValue, createOptionPosition: "first", ref: ref, ...selectProp })) : (React__default["default"].createElement(Select, { ref: ref, ...selectProp })),
25283
25137
  props.error && (React__default["default"].createElement("span", { className: "LuiComboSelect-error" },
25284
25138
  React__default["default"].createElement(LuiIcon, { alt: 'Error', name: "ic_error", className: "LuiComboSelect-error-icon", size: "sm", status: "error" }),
25285
25139
  props.error))));
25286
25140
  }
25287
25141
 
25288
- var LuiShadow = function (props) {
25142
+ const LuiShadow = (props) => {
25289
25143
  return (React__default["default"].createElement("div", { className: clsx('LuiShadow', props.className) }, props.children));
25290
25144
  };
25291
25145
 
25292
- var HelpInfo = function (props) { return (React__default["default"].createElement("div", { className: clsx('lui-small', 'HelpInfo') },
25146
+ const HelpInfo = (props) => (React__default["default"].createElement("div", { className: clsx('lui-small', 'HelpInfo') },
25293
25147
  React__default["default"].createElement(LuiIcon, { name: "ic_error_outline", className: 'HelpInfo-icon', size: "sm", alt: "Extra Information" }),
25294
- React__default["default"].createElement("div", { className: 'HelpInfo-info' }, props.info))); };
25148
+ React__default["default"].createElement("div", { className: 'HelpInfo-info' }, props.info)));
25295
25149
 
25296
- var LuiFormSectionHeader = function (props) { return (React__default["default"].createElement("div", { className: "LuiFormSectionHeader" },
25150
+ const LuiFormSectionHeader = (props) => (React__default["default"].createElement("div", { className: "LuiFormSectionHeader" },
25297
25151
  React__default["default"].createElement("div", { className: "LuiFormSectionHeader-header" },
25298
25152
  React__default["default"].createElement("h3", { className: "LuiFormSectionHeader-heading" }, props.header),
25299
25153
  props.details && React__default["default"].createElement(HelpInfo, { info: props.details })),
25300
- React__default["default"].createElement(LuiShadow, { className: 'LuiFormSectionHeader-details' }, props.children))); };
25154
+ React__default["default"].createElement(LuiShadow, { className: 'LuiFormSectionHeader-details' }, props.children)));
25301
25155
 
25302
25156
  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+';
25303
25157
 
@@ -25308,15 +25162,15 @@ var motif = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id
25308
25162
  *
25309
25163
  * @param onEscape the handler function
25310
25164
  */
25311
- var useEscapeFunction = function (onEscape) {
25312
- var escFunction = React.useCallback(function (event) {
25165
+ const useEscapeFunction = (onEscape) => {
25166
+ const escFunction = React.useCallback((event) => {
25313
25167
  if (event.keyCode === 27) {
25314
25168
  onEscape();
25315
25169
  }
25316
25170
  }, [onEscape]);
25317
- React.useEffect(function () {
25171
+ React.useEffect(() => {
25318
25172
  document.addEventListener('keydown', escFunction, false);
25319
- return function () {
25173
+ return () => {
25320
25174
  document.removeEventListener('keydown', escFunction, false);
25321
25175
  };
25322
25176
  }, [escFunction]);
@@ -25329,14 +25183,13 @@ var useEscapeFunction = function (onEscape) {
25329
25183
  * @param onClickOutsideArg handler for mouse clicks outside the element
25330
25184
  * @return a react ref which can be bound to an html element
25331
25185
  */
25332
- var usePageClickFunction = function (onClickInsideArg, onClickOutsideArg) {
25333
- var elementRef = React.useRef(null);
25334
- var onClickInside = React.useCallback(onClickInsideArg, []);
25335
- var onClickOutside = React.useCallback(onClickOutsideArg, []);
25336
- React.useEffect(function () {
25337
- var handleClick = function (e) {
25338
- var _a;
25339
- if ((_a = elementRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {
25186
+ const usePageClickFunction = (onClickInsideArg, onClickOutsideArg) => {
25187
+ const elementRef = React.useRef(null);
25188
+ const onClickInside = React.useCallback(onClickInsideArg, []);
25189
+ const onClickOutside = React.useCallback(onClickOutsideArg, []);
25190
+ React.useEffect(() => {
25191
+ const handleClick = (e) => {
25192
+ if (elementRef.current?.contains(e.target)) {
25340
25193
  onClickInside(e);
25341
25194
  }
25342
25195
  else {
@@ -25346,18 +25199,17 @@ var usePageClickFunction = function (onClickInsideArg, onClickOutsideArg) {
25346
25199
  // add when mounted
25347
25200
  document.addEventListener('click', handleClick);
25348
25201
  // return function to be called when unmounted
25349
- return function () {
25202
+ return () => {
25350
25203
  document.removeEventListener('click', handleClick);
25351
25204
  };
25352
25205
  }, [elementRef, onClickInside, onClickOutside]);
25353
25206
  return elementRef;
25354
25207
  };
25355
25208
 
25356
- var sizes = ['xs', 'sm', 'md', 'lg', 'xl'];
25357
- var buildHideClassDict = function (_a) {
25358
- var _b = _a.from, from = _b === void 0 ? 'xs' : _b, _c = _a.upto, upto = _c === void 0 ? 'xl' : _c;
25359
- var inRange = function (size) {
25360
- var idx = sizes.indexOf(size);
25209
+ const sizes = ['xs', 'sm', 'md', 'lg', 'xl'];
25210
+ const buildHideClassDict = ({ from = 'xs', upto = 'xl', }) => {
25211
+ const inRange = (size) => {
25212
+ const idx = sizes.indexOf(size);
25361
25213
  return idx >= sizes.indexOf(from) && idx <= sizes.indexOf(upto);
25362
25214
  };
25363
25215
  return {
@@ -25369,15 +25221,14 @@ var buildHideClassDict = function (_a) {
25369
25221
  };
25370
25222
  };
25371
25223
 
25372
- var LuiHeader = function (_a) {
25373
- 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;
25374
- 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 }));
25375
- var logoContainer = logoElement;
25224
+ const LuiHeader = ({ headingText, size = 'small', homeLink, transparent, children, sticky = true, }) => {
25225
+ const 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 }));
25226
+ let logoContainer = logoElement;
25376
25227
  if (typeof homeLink === 'string') {
25377
25228
  logoContainer = React__default["default"].createElement("a", { href: homeLink }, logoElement);
25378
25229
  }
25379
25230
  else if (typeof homeLink === 'function') {
25380
- logoContainer = (React__default["default"].createElement("div", { className: "clickable", onClick: function () {
25231
+ logoContainer = (React__default["default"].createElement("div", { className: "clickable", onClick: () => {
25381
25232
  homeLink();
25382
25233
  } }, logoElement));
25383
25234
  }
@@ -25399,55 +25250,48 @@ var LuiHeader = function (_a) {
25399
25250
  * Note that it depends on it being rendered inside a LuiHeader for its styles to apply properly.
25400
25251
  * To configure the item for responsiveness, ensure to set any of the hideOn* properties.
25401
25252
  */
25402
- var LuiHeaderMenuItem = React.forwardRef(function (_a, ref) {
25403
- 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;
25404
- var menuItemClasses = clsx('lui-header-menu-item', hide && buildHideClassDict(hide));
25405
- var resolvedIcon = !icon && !label ? 'menu' : icon;
25253
+ const LuiHeaderMenuItem = React.forwardRef(({ icon, label, badge, hide, onClick, 'data-testid': dataTestId = 'menu-item', children, }, ref) => {
25254
+ const menuItemClasses = clsx('lui-header-menu-item', hide && buildHideClassDict(hide));
25255
+ const resolvedIcon = !icon && !label ? 'menu' : icon;
25406
25256
  return (React__default["default"].createElement("div", { className: menuItemClasses, ref: ref },
25407
25257
  React__default["default"].createElement("div", { className: clsx('lui-header-menu-icon', onClick && 'clickable'), onClick: onClick, "data-testid": dataTestId },
25408
- resolvedIcon && (React__default["default"].createElement("i", { className: "material-icons-round md-36" }, resolvedIcon)),
25258
+ resolvedIcon && (React__default["default"].createElement("i", { title: "Main menu", className: "material-icons-round md-36" }, resolvedIcon)),
25409
25259
  label && React__default["default"].createElement("div", { className: "lui-menu-label" }, label),
25410
25260
  badge && React__default["default"].createElement("div", { className: "badge" }, badge)),
25411
25261
  children));
25412
25262
  });
25413
- var LuiCloseableHeaderMenuContext = React.createContext({
25414
- isOpen: function () { return false; },
25415
- open: function () { },
25416
- close: function () { },
25263
+ const LuiCloseableHeaderMenuContext = React.createContext({
25264
+ isOpen: () => false,
25265
+ open: () => { },
25266
+ close: () => { },
25417
25267
  });
25418
- var LuiCloseableHeaderMenuItem = function (_a) {
25419
- var open = _a.open, setOpen = _a.setOpen, props = __rest(_a, ["open", "setOpen"]);
25420
- useEscapeFunction(function () { return setOpen(false); });
25421
- var menuDiv = usePageClickFunction(function (event) { return open || event.stopPropagation(); }, function (event) {
25268
+ const LuiCloseableHeaderMenuItem = ({ open, setOpen, ...props }) => {
25269
+ useEscapeFunction(() => setOpen(false));
25270
+ const menuDiv = usePageClickFunction((event) => open || event.stopPropagation(), (event) => {
25422
25271
  if (!open) {
25423
25272
  event.stopPropagation();
25424
25273
  setOpen(false);
25425
25274
  }
25426
25275
  });
25427
- var menuControls = {
25428
- isOpen: function () { return open; },
25429
- open: function () { return setOpen(true); },
25430
- close: function () { return setOpen(false); },
25276
+ const menuControls = {
25277
+ isOpen: () => open,
25278
+ open: () => setOpen(true),
25279
+ close: () => setOpen(false),
25431
25280
  };
25432
- var menuItemProps = __assign({ onClick: function () { return menuControls.open(); } }, props);
25281
+ const menuItemProps = { onClick: () => menuControls.open(), ...props };
25433
25282
  return (React__default["default"].createElement(LuiCloseableHeaderMenuContext.Provider, { value: menuControls },
25434
- React__default["default"].createElement(LuiHeaderMenuItem, __assign({ ref: menuDiv }, menuItemProps), props.children)));
25283
+ React__default["default"].createElement(LuiHeaderMenuItem, { ref: menuDiv, ...menuItemProps }, props.children)));
25435
25284
  };
25436
- var LuiMenuCloseButton = function (_a) {
25437
- var _b = _a.icon, icon = _b === void 0 ? 'close' : _b, hide = _a.hide, _c = _a["data-testid"], dataTestId = _c === void 0 ? 'close-button' : _c;
25438
- var menu = React.useContext(LuiCloseableHeaderMenuContext);
25439
- var classes = clsx('material-icons-round', 'lui-menu-close-button', hide && buildHideClassDict(hide));
25285
+ const LuiMenuCloseButton = ({ icon = 'close', hide, 'data-testid': dataTestId = 'close-button', }) => {
25286
+ const menu = React.useContext(LuiCloseableHeaderMenuContext);
25287
+ const classes = clsx('material-icons-round', 'lui-menu-close-button', hide && buildHideClassDict(hide));
25440
25288
  return (React__default["default"].createElement("i", { className: classes, onClick: menu.close, "data-testid": dataTestId }, icon));
25441
25289
  };
25442
25290
 
25443
- var LuiDrawerMenuOptions = function (_a) {
25444
- var children = _a.children;
25445
- return (React__default["default"].createElement("div", { className: "lui-menu-drawer-options" }, children));
25446
- };
25447
- var LuiDrawerMenuOption = function (_a) {
25448
- var icon = _a.icon, label = _a.label, badge = _a.badge, _b = _a.onClick, onClick = _b === void 0 ? function () { } : _b;
25449
- var menu = React.useContext(LuiCloseableHeaderMenuContext);
25450
- return (React__default["default"].createElement("div", { className: "lui-menu-drawer-option", onClick: function () {
25291
+ const LuiDrawerMenuOptions = ({ children }) => (React__default["default"].createElement("div", { className: "lui-menu-drawer-options" }, children));
25292
+ const LuiDrawerMenuOption = ({ icon, label, badge, onClick = () => { }, }) => {
25293
+ const menu = React.useContext(LuiCloseableHeaderMenuContext);
25294
+ return (React__default["default"].createElement("div", { className: "lui-menu-drawer-option", onClick: () => {
25451
25295
  menu.close();
25452
25296
  onClick();
25453
25297
  }, "data-testid": 'drawer-option' },
@@ -25456,13 +25300,17 @@ var LuiDrawerMenuOption = function (_a) {
25456
25300
  label),
25457
25301
  badge));
25458
25302
  };
25459
- var LuiDrawerMenu = function (_a) {
25460
- var restOfProps = __rest(_a, []);
25461
- var children = restOfProps.children, _b = restOfProps.hasStickyHeader, hasStickyHeader = _b === void 0 ? true : _b, menuPropsCopy = __rest(restOfProps, ["children", "hasStickyHeader"]);
25462
- var _c = React.useState(false), open = _c[0], setOpen = _c[1];
25463
- var closeableMenuProps = __assign(__assign({}, menuPropsCopy), { open: open,
25464
- setOpen: setOpen, icon: open ? 'close' : 'menu', onClick: function () { return setOpen(!open); } });
25465
- React.useEffect(function () {
25303
+ const LuiDrawerMenu = ({ ...restOfProps }) => {
25304
+ const { children, hasStickyHeader = true, ...menuPropsCopy } = restOfProps;
25305
+ const [open, setOpen] = React.useState(false);
25306
+ const closeableMenuProps = {
25307
+ ...menuPropsCopy,
25308
+ open,
25309
+ setOpen,
25310
+ icon: open ? 'close' : 'menu',
25311
+ onClick: () => setOpen(!open),
25312
+ };
25313
+ React.useEffect(() => {
25466
25314
  // Support for non-sticky headers. Scroll back to top when menu is opened
25467
25315
  if (open && !hasStickyHeader) {
25468
25316
  window.scrollTo({ top: 0, behavior: 'smooth' });
@@ -25475,18 +25323,17 @@ var LuiDrawerMenu = function (_a) {
25475
25323
  document.body.classList.remove('lui-menu-drawer-open');
25476
25324
  }
25477
25325
  }, [open, hasStickyHeader]);
25478
- return (React__default["default"].createElement(LuiCloseableHeaderMenuItem, __assign({}, closeableMenuProps),
25326
+ return (React__default["default"].createElement(LuiCloseableHeaderMenuItem, { ...closeableMenuProps },
25479
25327
  React__default["default"].createElement("div", { className: clsx({
25480
25328
  'lui-menu-drawer': true,
25481
25329
  'lui-menu-drawer-closed': !open,
25482
25330
  }), "data-testid": 'drawer', "aria-hidden": !open }, children)));
25483
25331
  };
25484
- var LuiDropdownMenu = function (_a) {
25485
- var restOfProps = __rest(_a, []);
25486
- var children = restOfProps.children, menuPropsCopy = __rest(restOfProps, ["children"]);
25487
- var _b = React.useState(false), open = _b[0], setOpen = _b[1];
25488
- var closeableMenuProps = __assign(__assign({}, menuPropsCopy), { open: open, setOpen: setOpen });
25489
- return (React__default["default"].createElement(LuiCloseableHeaderMenuItem, __assign({}, closeableMenuProps),
25332
+ const LuiDropdownMenu = ({ ...restOfProps }) => {
25333
+ const { children, ...menuPropsCopy } = restOfProps;
25334
+ const [open, setOpen] = React.useState(false);
25335
+ const closeableMenuProps = { ...menuPropsCopy, open, setOpen };
25336
+ return (React__default["default"].createElement(LuiCloseableHeaderMenuItem, { ...closeableMenuProps },
25490
25337
  React__default["default"].createElement("div", { className: clsx({
25491
25338
  'lui-menu-dropdown lui-box-shadow': true,
25492
25339
  'lui-menu-dropdown-closed': !open,
@@ -25494,8 +25341,8 @@ var LuiDropdownMenu = function (_a) {
25494
25341
  children,
25495
25342
  ' ')));
25496
25343
  };
25497
- var LuiDrawerMenuSection = function (props) {
25498
- var children = props.children, title = props.title, collapsible = props.collapsible;
25344
+ const LuiDrawerMenuSection = (props) => {
25345
+ const { children, title, collapsible } = props;
25499
25346
  return (React__default["default"].createElement("div", null,
25500
25347
  collapsible && (React__default["default"].createElement(LuiExpandableBanner, { label: title || '', className: "LuiDrawerMenuSection-header" }, children)),
25501
25348
  !collapsible && (React__default["default"].createElement(React__default["default"].Fragment, null,
@@ -25504,7 +25351,7 @@ var LuiDrawerMenuSection = function (props) {
25504
25351
  React__default["default"].createElement("h3", null, title)))),
25505
25352
  children))));
25506
25353
  };
25507
- var LuiDrawerMenuDivider = function () {
25354
+ const LuiDrawerMenuDivider = () => {
25508
25355
  return React__default["default"].createElement("hr", { className: "LuiDrawerMenuDivider" });
25509
25356
  };
25510
25357
 
@@ -27852,8 +27699,8 @@ function polyfill(Component) {
27852
27699
  }
27853
27700
 
27854
27701
  var reactLifecyclesCompat_es = /*#__PURE__*/Object.freeze({
27855
- __proto__: null,
27856
- polyfill: polyfill
27702
+ __proto__: null,
27703
+ polyfill: polyfill
27857
27704
  });
27858
27705
 
27859
27706
  var require$$6 = /*@__PURE__*/getAugmentedNamespace(reactLifecyclesCompat_es);
@@ -28146,30 +27993,29 @@ module.exports = exports["default"];
28146
27993
 
28147
27994
  var Modal = /*@__PURE__*/getDefaultExportFromCjs(lib.exports);
28148
27995
 
28149
- var LuiUpdatesSplashModal = function (props) {
28150
- var _a;
28151
- var node = React.useRef(null);
27996
+ const LuiUpdatesSplashModal = (props) => {
27997
+ const node = React.useRef(null);
28152
27998
  // We have to do this as the CSS takes over a lot of the page
28153
27999
  // https://medium.com/@pitipatdop/little-neat-trick-to-capture-click-outside-with-react-hook-ba77c37c7e82
28154
- var handleClickOutside = React.useCallback(function (e) {
28000
+ const handleClickOutside = React.useCallback((e) => {
28155
28001
  console.log('clicking anywhere');
28156
28002
  // current DOES have a contains!
28157
- if ((node === null || node === void 0 ? void 0 : node.current) && node.current.contains(e.target)) {
28003
+ if (node?.current && node.current.contains(e.target)) {
28158
28004
  // inside click
28159
28005
  return;
28160
28006
  }
28161
28007
  // outside click
28162
28008
  props.onClose();
28163
28009
  }, [props]);
28164
- React.useEffect(function () {
28010
+ React.useEffect(() => {
28165
28011
  document.addEventListener('mousedown', handleClickOutside);
28166
- return function () {
28012
+ return () => {
28167
28013
  document.removeEventListener('mousedown', handleClickOutside);
28168
28014
  };
28169
28015
  }, [handleClickOutside]);
28170
28016
  // process may be undefined, e.g. webpack 5 does not include a polyfill for it. Assume if process is undefined then
28171
28017
  // this isn't running in a test.
28172
- if (typeof process === 'undefined' || ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) !== 'test') {
28018
+ if (typeof process === 'undefined' || process?.env?.NODE_ENV !== 'test') {
28173
28019
  Modal.setAppElement('#root');
28174
28020
  }
28175
28021
  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' } } },
@@ -28183,12 +28029,11 @@ var LuiUpdatesSplashModal = function (props) {
28183
28029
  React__default["default"].createElement("div", { className: 'lui-feature-text' }, props.children))));
28184
28030
  };
28185
28031
 
28186
- var LuiModal = function (props) {
28187
- var _a;
28188
- var node = React.useRef(null);
28189
- var handleClickOutside = React.useCallback(function (e) {
28032
+ const LuiModal = (props) => {
28033
+ const node = React.useRef(null);
28034
+ const handleClickOutside = React.useCallback((e) => {
28190
28035
  // current DOES have a contains!
28191
- if ((node === null || node === void 0 ? void 0 : node.current) && node.current.contains(e.target)) {
28036
+ if (node?.current && node.current.contains(e.target)) {
28192
28037
  // inside click
28193
28038
  return;
28194
28039
  }
@@ -28197,37 +28042,37 @@ var LuiModal = function (props) {
28197
28042
  props.onClose && props.onClose();
28198
28043
  }
28199
28044
  }, [props]);
28200
- React.useEffect(function () {
28045
+ React.useEffect(() => {
28201
28046
  document.addEventListener('mousedown', handleClickOutside);
28202
- return function () {
28047
+ return () => {
28203
28048
  document.removeEventListener('mousedown', handleClickOutside);
28204
28049
  };
28205
28050
  }, [handleClickOutside]);
28206
- var isTest = false;
28051
+ let isTest = false;
28207
28052
  // this is here for the tests
28208
28053
  if (typeof process !== 'undefined') {
28209
- isTest = ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) === 'test';
28054
+ isTest = process?.env?.NODE_ENV === 'test';
28210
28055
  if (!isTest) {
28211
28056
  Modal.setAppElement('#root');
28212
28057
  }
28213
28058
  }
28214
- 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 && {
28215
- parentSelector: props.appendToElement,
28216
- })),
28059
+ 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, ...(props.appendToElement && {
28060
+ parentSelector: props.appendToElement,
28061
+ }) },
28217
28062
  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) },
28218
28063
  props.headingText && (React__default["default"].createElement(LuiModalHeader, { headingText: props.headingText, onClose: props.onClose })),
28219
28064
  React__default["default"].createElement("div", { className: clsx(props.headingText && 'lui-modal-container') }, props.children))));
28220
28065
  };
28221
- var LuiAlertModal = function (props) {
28222
- var materialIcon = getMaterialIconForLevel(props.level);
28223
- return (React__default["default"].createElement(LuiModal, { key: props.key, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick, onClose: props.onClose, className: clsx("lui-modal-" + props.level, props.className), appendToElement: props.appendToElement },
28224
- React__default["default"].createElement(LuiIcon, { name: "ic_" + materialIcon, alt: props.level + " status icon", size: "lg", className: "lui-msg-status-icon" }),
28066
+ const LuiAlertModal = (props) => {
28067
+ let materialIcon = getMaterialIconForLevel(props.level);
28068
+ return (React__default["default"].createElement(LuiModal, { key: props.key, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick, onClose: props.onClose, className: clsx(`lui-modal-${props.level}`, props.className), appendToElement: props.appendToElement },
28069
+ React__default["default"].createElement(LuiIcon, { name: `ic_${materialIcon}`, alt: `${props.level} status icon`, size: "lg", className: "lui-msg-status-icon" }),
28225
28070
  props.children));
28226
28071
  };
28227
- var LuiAlertModalButtons = function (props) {
28072
+ const LuiAlertModalButtons = (props) => {
28228
28073
  return React__default["default"].createElement("div", { className: "modal-btn-row" }, props.children);
28229
28074
  };
28230
- var LuiModalHeader = function (props) {
28075
+ const LuiModalHeader = (props) => {
28231
28076
  return (React__default["default"].createElement("header", { className: "lui-modal-header" }, props.headingText && (React__default["default"].createElement("div", { className: "lui-modal-header-title" },
28232
28077
  React__default["default"].createElement("h1", null, props.headingText),
28233
28078
  props.onClose && (React__default["default"].createElement("button", { className: "lui-modal-header-close-btn", onClick: props.onClose },
@@ -28328,18 +28173,17 @@ function Skeleton({ count = 1, wrapper: Wrapper, className: customClassName, con
28328
28173
  : elements));
28329
28174
  }
28330
28175
 
28331
- var SKELETON_COUNT = 3;
28332
- var ResultsDisplay = function (_a) {
28333
- 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;
28334
- var ResultLine = function (result) {
28335
- var isSelected = result.id === selectedId;
28336
- 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)));
28176
+ const SKELETON_COUNT = 3;
28177
+ const ResultsDisplay = ({ isLoading, onClick, children, selectedId, selectedRef, setSelectedId, results, renderItem, }) => {
28178
+ const ResultLine = (result) => {
28179
+ const isSelected = result.id === selectedId;
28180
+ return (React__default["default"].createElement("div", { className: clsx('LuiSearchInput-resultEntry', isSelected && 'selected'), key: result.id, ref: isSelected ? selectedRef : null, onClick: () => onClick(result.id), onMouseEnter: () => setSelectedId(result.id) }, renderItem(result)));
28337
28181
  };
28338
- var GroupedResult = function (result) {
28182
+ const GroupedResult = (result) => {
28339
28183
  return (React__default["default"].createElement("div", null,
28340
28184
  React__default["default"].createElement("div", { className: "LuiSearchInput-resultHeader" }, result.label),
28341
- result.items.map(function (item) {
28342
- return React__default["default"].createElement(ResultLine, __assign({ key: item.id }, item));
28185
+ result.items.map((item) => {
28186
+ return React__default["default"].createElement(ResultLine, { key: item.id, ...item });
28343
28187
  })));
28344
28188
  };
28345
28189
  return (React__default["default"].createElement("div", { className: "LuiSearchInput-results" },
@@ -28347,15 +28191,15 @@ var ResultsDisplay = function (_a) {
28347
28191
  React__default["default"].createElement(Skeleton, { className: "LuiSearchInput-skeletonItem", count: SKELETON_COUNT }))),
28348
28192
  !isLoading &&
28349
28193
  isGroupedResult(results) &&
28350
- results.map(function (result, index) {
28194
+ results.map((result, index) => {
28351
28195
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
28352
- React__default["default"].createElement(GroupedResult, __assign({ key: result.id }, result)),
28196
+ React__default["default"].createElement(GroupedResult, { key: result.id, ...result }),
28353
28197
  index !== results.length - 1 && (React__default["default"].createElement("hr", { className: "LuiSearchInput-groupSeparator" }))));
28354
28198
  }),
28355
28199
  !isLoading &&
28356
28200
  !isGroupedResult(results) &&
28357
- results.map(function (result) {
28358
- return React__default["default"].createElement(ResultLine, __assign({ key: result.id }, result));
28201
+ results.map((result) => {
28202
+ return React__default["default"].createElement(ResultLine, { key: result.id, ...result });
28359
28203
  }),
28360
28204
  children));
28361
28205
  };
@@ -28368,36 +28212,34 @@ function isGroupedResult(result) {
28368
28212
  }
28369
28213
  function flatten(items) {
28370
28214
  if (isGroupedResult(items)) {
28371
- return items.flatMap(function (item) { return item.items; });
28215
+ return items.flatMap((item) => item.items);
28372
28216
  }
28373
28217
  return items;
28374
28218
  }
28375
- var LuiSearchInput = function (props) {
28376
- var _a = React.useState(props.initialValue ? props.initialValue : ''), typedValue = _a[0], setTypedValue = _a[1];
28377
- var _b = React.useState([]), results = _b[0], setResults = _b[1];
28378
- var _c = React.useState(''), selectedId = _c[0], setSelectedId = _c[1];
28379
- var _d = React.useState(false), haveFocus = _d[0], setHaveFocus = _d[1];
28380
- var _e = React.useState(false), isLoading = _e[0], setIsLoading = _e[1];
28381
- var inputRef = React.useRef(null);
28382
- var selectedRef = React.useRef(null);
28219
+ const LuiSearchInput = (props) => {
28220
+ const [typedValue, setTypedValue] = React.useState(props.initialValue ? props.initialValue : '');
28221
+ const [results, setResults] = React.useState([]);
28222
+ const [selectedId, setSelectedId] = React.useState('');
28223
+ const [haveFocus, setHaveFocus] = React.useState(false);
28224
+ const [isLoading, setIsLoading] = React.useState(false);
28225
+ const inputRef = React.useRef(null);
28226
+ const selectedRef = React.useRef(null);
28383
28227
  //set focus to inut box
28384
- React.useEffect(function () {
28385
- var _a;
28228
+ React.useEffect(() => {
28386
28229
  if (props.focusUpdate !== undefined)
28387
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
28230
+ inputRef.current?.focus();
28388
28231
  }, [props.focusUpdate]);
28389
28232
  //clear result after search types changed
28390
- React.useEffect(function () {
28233
+ React.useEffect(() => {
28391
28234
  setResults([]);
28392
28235
  }, [props.getOptions]);
28393
28236
  function setInputValue(value) {
28394
28237
  setTypedValue(props.inputTransformer ? props.inputTransformer(value) : value);
28395
28238
  }
28396
28239
  function moveDown() {
28397
- var items = flatten(results);
28398
- var takeNext = selectedId === '';
28399
- for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
28400
- var item = items_1[_i];
28240
+ const items = flatten(results);
28241
+ let takeNext = selectedId === '';
28242
+ for (const item of items) {
28401
28243
  if (item.id === selectedId) {
28402
28244
  takeNext = true;
28403
28245
  }
@@ -28409,10 +28251,9 @@ var LuiSearchInput = function (props) {
28409
28251
  return;
28410
28252
  }
28411
28253
  function moveUp() {
28412
- var items = flatten(results);
28413
- var takeNext = false;
28414
- for (var _i = 0, _a = __spreadArrays(items).reverse(); _i < _a.length; _i++) {
28415
- var item = _a[_i];
28254
+ const items = flatten(results);
28255
+ let takeNext = false;
28256
+ for (const item of [...items].reverse()) {
28416
28257
  if (item.id === selectedId) {
28417
28258
  takeNext = true;
28418
28259
  }
@@ -28424,42 +28265,30 @@ var LuiSearchInput = function (props) {
28424
28265
  return;
28425
28266
  }
28426
28267
  function selectItem(itemId) {
28427
- var id = itemId ? itemId : selectedId;
28428
- var selectedItem = flatten(results).find(function (item) { return item.id === id; });
28268
+ const id = itemId ? itemId : selectedId;
28269
+ const selectedItem = flatten(results).find((item) => item.id === id);
28429
28270
  if (selectedItem) {
28430
28271
  setHaveFocus(false);
28431
28272
  setInputValue(selectedItem.description);
28432
28273
  props.onSelectOption(selectedItem);
28433
28274
  }
28434
28275
  }
28435
- function retrieveResults(input) {
28436
- return __awaiter(this, void 0, void 0, function () {
28437
- var results_1, items, selectedIdInResults;
28438
- return __generator(this, function (_a) {
28439
- switch (_a.label) {
28440
- case 0:
28441
- if (!(input !== '' && input.length >= props.minCharactersForSearch)) return [3 /*break*/, 4];
28442
- setIsLoading(true);
28443
- _a.label = 1;
28444
- case 1:
28445
- _a.trys.push([1, , 3, 4]);
28446
- return [4 /*yield*/, props.getOptions(input)];
28447
- case 2:
28448
- results_1 = _a.sent();
28449
- items = flatten(results_1);
28450
- setResults(results_1);
28451
- selectedIdInResults = items.some(function (item) { return item.id === selectedId; });
28452
- if (!selectedIdInResults) {
28453
- setSelectedId(items.length ? items[0].id : '');
28454
- }
28455
- return [3 /*break*/, 4];
28456
- case 3:
28457
- setIsLoading(false);
28458
- return [7 /*endfinally*/];
28459
- case 4: return [2 /*return*/];
28276
+ async function retrieveResults(input) {
28277
+ if (input !== '' && input.length >= props.minCharactersForSearch) {
28278
+ setIsLoading(true);
28279
+ try {
28280
+ const results = await props.getOptions(input);
28281
+ const items = flatten(results);
28282
+ setResults(results);
28283
+ const selectedIdInResults = items.some((item) => item.id === selectedId);
28284
+ if (!selectedIdInResults) {
28285
+ setSelectedId(items.length ? items[0].id : '');
28460
28286
  }
28461
- });
28462
- });
28287
+ }
28288
+ finally {
28289
+ setIsLoading(false);
28290
+ }
28291
+ }
28463
28292
  }
28464
28293
  function handleKeyDown(event) {
28465
28294
  switch (event.key) {
@@ -28482,19 +28311,19 @@ var LuiSearchInput = function (props) {
28482
28311
  }
28483
28312
  function scrollToViewSelected(topOfView) {
28484
28313
  // Wait for ref to update before scrolling to it
28485
- setTimeout(function () { var _a; return (_a = selectedRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView(topOfView); }, 0);
28314
+ setTimeout(() => selectedRef.current?.scrollIntoView(topOfView), 0);
28486
28315
  }
28487
- React.useEffect(function () {
28316
+ React.useEffect(() => {
28488
28317
  retrieveResults(typedValue);
28489
28318
  }, [typedValue]);
28490
- var cancelIcon = typedValue !== '' ? (React__default["default"].createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "md", className: 'LuiSearchInput-iconPosition', spanProps: {
28491
- onClick: function () {
28319
+ const cancelIcon = typedValue !== '' ? (React__default["default"].createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "md", className: 'LuiSearchInput-iconPosition', spanProps: {
28320
+ onClick: () => {
28492
28321
  setInputValue('');
28493
28322
  setResults([]);
28494
28323
  },
28495
28324
  } })) : null;
28496
- 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(); } } }));
28497
- var typeMore = 'You need to type a few more characters';
28325
+ const searchIcon = (React__default["default"].createElement(LuiIcon, { className: 'LuiSearchInput-startIconPosition', name: "ic_search", size: "md", alt: "search", spanProps: { onClick: () => inputRef.current?.focus() } }));
28326
+ const typeMore = 'You need to type a few more characters';
28498
28327
  function enoughChars(input) {
28499
28328
  if (typeof props.minCharactersForSearch === 'number')
28500
28329
  return input.length >= props.minCharactersForSearch;
@@ -28509,20 +28338,20 @@ var LuiSearchInput = function (props) {
28509
28338
  return typeMore;
28510
28339
  }
28511
28340
  if (props.name)
28512
- return "The " + props.name + " could not be displayed or does not exist.";
28341
+ return `The ${props.name} could not be displayed or does not exist.`;
28513
28342
  else
28514
28343
  return null;
28515
28344
  }
28516
28345
  return (React__default["default"].createElement("div", { className: "LuiSearchInput" },
28517
28346
  React__default["default"].createElement("span", { className: "LuiSearchInput-inputWrapper" },
28518
28347
  searchIcon,
28519
- 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) {
28348
+ React__default["default"].createElement("input", { type: "text", className: clsx('LuiSearchInput-input'), ref: inputRef, value: typedValue, placeholder: props.placeholderText, "aria-label": "Search", onChange: (e) => setInputValue(e.target.value), onKeyDown: handleKeyDown, onFocus: (e) => {
28520
28349
  e.target.select();
28521
28350
  retrieveResults(typedValue);
28522
28351
  setHaveFocus(true);
28523
28352
  },
28524
28353
  // This timeout could be a little brittle but allows the menu to stay open long enough to click it
28525
- onBlur: function () { return setTimeout(function () { return setHaveFocus(false); }, 200); } }),
28354
+ onBlur: () => setTimeout(() => setHaveFocus(false), 200) }),
28526
28355
  cancelIcon),
28527
28356
  (isLoading || results.length > 0) && haveFocus && (React__default["default"].createElement("div", null,
28528
28357
  React__default["default"].createElement(ResultsDisplay, { results: results, selectedId: selectedId, setSelectedId: setSelectedId, selectedRef: selectedRef, onClick: selectItem, isLoading: isLoading, renderItem: props.renderItem }))),
@@ -28538,43 +28367,33 @@ var LuiSearchInput = function (props) {
28538
28367
  React__default["default"].createElement("div", { "data-testid": "disclaimer", className: "LuiSearchInput-disclaimer" }, props.disclaimer)))));
28539
28368
  };
28540
28369
 
28541
- var resultStyle$1 = { verticalAlign: 'middle' };
28370
+ const resultStyle$1 = { verticalAlign: 'middle' };
28542
28371
  /**
28543
28372
  * LuiSearchBox is a search input with select menu.
28544
28373
  * The options of the menu and input can be passed in as an array.
28545
28374
  * See examples in SearchBox in storybook.
28546
28375
  */
28547
- var LuiSearchBox = function (_a) {
28548
- var searchBoxOptions = _a.searchBoxOptions, initOptionValue = _a.initOptionValue, onMenuSelect = _a.onMenuSelect, autoFocus = _a.autoFocus;
28549
- var initOption = searchBoxOptions.find(function (_a) {
28550
- var value = _a.value;
28551
- return value === initOptionValue;
28552
- });
28553
- var _b = React.useState(initOption ? initOption : searchBoxOptions[0]), selectedMenuOption = _b[0], setSelectedMenuOption = _b[1];
28376
+ const LuiSearchBox = ({ searchBoxOptions, initOptionValue, onMenuSelect, autoFocus, }) => {
28377
+ const initOption = searchBoxOptions.find(({ value }) => value === initOptionValue);
28378
+ const [selectedMenuOption, setSelectedMenuOption,] = React.useState(initOption ? initOption : searchBoxOptions[0]);
28554
28379
  //auto focus every time select a menu item
28555
- var _c = React.useState(false), focusUpdate = _c[0], setFocusUpdate = _c[1];
28380
+ const [focusUpdate, setFocusUpdate] = React.useState(false);
28556
28381
  //don't focus when first time display
28557
- var _d = React.useState(false), isFocus = _d[0], setIsFocus = _d[1];
28558
- React.useEffect(function () {
28559
- var updatedOption = searchBoxOptions.find(function (_a) {
28560
- var value = _a.value;
28561
- return value === initOptionValue;
28562
- });
28382
+ const [isFocus, setIsFocus] = React.useState(false);
28383
+ React.useEffect(() => {
28384
+ const updatedOption = searchBoxOptions.find(({ value }) => value === initOptionValue);
28563
28385
  if (updatedOption)
28564
28386
  setSelectedMenuOption(updatedOption);
28565
28387
  }, [initOptionValue]);
28566
- var handleMenuSelected = function (e) {
28388
+ const handleMenuSelected = (e) => {
28567
28389
  setSelectedMenuOption(findSelectedOption(e.value));
28568
28390
  if (onMenuSelect !== undefined)
28569
28391
  onMenuSelect(e);
28570
28392
  setIsFocus(true);
28571
28393
  setFocusUpdate(!focusUpdate);
28572
28394
  };
28573
- var findSelectedOption = function (v) {
28574
- var selectedOption = searchBoxOptions.find(function (_a) {
28575
- var value = _a.value;
28576
- return value === v;
28577
- });
28395
+ const findSelectedOption = (v) => {
28396
+ const selectedOption = searchBoxOptions.find(({ value }) => value === v);
28578
28397
  return selectedOption ? selectedOption : searchBoxOptions[0];
28579
28398
  };
28580
28399
  return (React__default["default"].createElement("div", { className: "LuiSearchBox" },
@@ -28582,23 +28401,23 @@ var LuiSearchBox = function (_a) {
28582
28401
  React__default["default"].createElement("div", { className: "LuiSearchBox-right" },
28583
28402
  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
28584
28403
  ? selectedMenuOption.renderItem
28585
- : function (item) {
28404
+ : (item) => {
28586
28405
  return React__default["default"].createElement("span", { style: resultStyle$1 }, item.description);
28587
28406
  }, disclaimer: selectedMenuOption.disclaimer, focusUpdate: autoFocus && isFocus ? focusUpdate : undefined }))));
28588
28407
  };
28589
- var LuiSearchBoxButton = React__default["default"].forwardRef(function (props, ref) {
28590
- return (React__default["default"].createElement(LuiButton, __assign({ level: "tertiary" }, props, { ref: ref, className: "LuiSearchBox-button" }),
28408
+ const LuiSearchBoxButton = React__default["default"].forwardRef((props, ref) => {
28409
+ return (React__default["default"].createElement(LuiButton, { level: "tertiary", ...props, ref: ref, className: "LuiSearchBox-button" },
28591
28410
  props.children,
28592
28411
  React__default["default"].createElement(LuiIcon, { size: "md", name: 'ic_keyboard_arrow_down', className: 'LuiSearchBox-button-icon', alt: '' })));
28593
28412
  });
28594
- var renderSelectMenu = function (items, onClick) { return (React__default["default"].createElement(React__default["default"].Fragment, null, items.map(function (item) {
28413
+ const renderSelectMenu = (items, onClick) => (React__default["default"].createElement(React__default["default"].Fragment, null, items.map((item) => {
28595
28414
  return (React__default["default"].createElement(React__default["default"].Fragment, { key: item.value },
28596
28415
  item.groupDivider ? React__default["default"].createElement(LuiSelectMenuDivider, null) : null,
28597
28416
  item.groupTitle ? (React__default["default"].createElement(LuiSelectMenuHeader, null, item.groupTitle)) : null,
28598
- React__default["default"].createElement(LuiSelectMenuItem, { "data-testid": "select-box-" + item.value, value: item.value, onClick: onClick, noPadding: true }, item.title)));
28599
- }))); };
28417
+ React__default["default"].createElement(LuiSelectMenuItem, { "data-testid": `select-box-${item.value}`, value: item.value, onClick: onClick, noPadding: true }, item.title)));
28418
+ })));
28600
28419
 
28601
- var exampleSearchResults = [
28420
+ const exampleSearchResults = [
28602
28421
  {
28603
28422
  id: 'DP44035-1',
28604
28423
  description: 'This is a example Newlands search result',
@@ -28608,27 +28427,27 @@ var exampleSearchResults = [
28608
28427
  description: 'This is a example Newlands search result 2',
28609
28428
  },
28610
28429
  ];
28611
- var getDefaultOptions = function (input) {
28430
+ const getDefaultOptions = (input) => {
28612
28431
  if (input) {
28613
- var results_1 = exampleSearchResults.filter(function (item) {
28432
+ const results = exampleSearchResults.filter((item) => {
28614
28433
  return item.description.toUpperCase().includes(input.toUpperCase());
28615
28434
  });
28616
- return new Promise(function (resolve) {
28617
- setTimeout(function () { return resolve(results_1); }, 250);
28435
+ return new Promise((resolve) => {
28436
+ setTimeout(() => resolve(results), 250);
28618
28437
  });
28619
28438
  }
28620
28439
  else {
28621
28440
  return Promise.resolve([]);
28622
28441
  }
28623
28442
  };
28624
- var defaultSelectOption = function (selectedOption) {
28443
+ const defaultSelectOption = (selectedOption) => {
28625
28444
  console.log('SELECTED OPTION: ', selectedOption);
28626
28445
  };
28627
- var resultStyle = { verticalAlign: 'middle' };
28628
- var defaultRenderItem = function (item) {
28446
+ const resultStyle = { verticalAlign: 'middle' };
28447
+ const defaultRenderItem = (item) => {
28629
28448
  return React__default["default"].createElement("span", { style: resultStyle }, item.description);
28630
28449
  };
28631
- var searchBoxOptions = [
28450
+ const searchBoxOptions = [
28632
28451
  {
28633
28452
  groupTitle: 'Title',
28634
28453
  value: 'address',
@@ -28688,17 +28507,16 @@ var searchBoxOptions = [
28688
28507
  onSelectOption: defaultSelectOption,
28689
28508
  },
28690
28509
  ];
28691
- var getDefaultSearchMenuOptions = function () {
28510
+ const getDefaultSearchMenuOptions = () => {
28692
28511
  return searchBoxOptions;
28693
28512
  };
28694
- var LOLSearchBox = function (_a) {
28695
- var searchBoxOptions = _a.searchBoxOptions, initOptionValue = _a.initOptionValue, onMenuSelect = _a.onMenuSelect;
28513
+ const LOLSearchBox = ({ searchBoxOptions, initOptionValue, onMenuSelect, }) => {
28696
28514
  return (React__default["default"].createElement(LuiSearchBox, { onMenuSelect: onMenuSelect, initOptionValue: initOptionValue, searchBoxOptions: searchBoxOptions ? searchBoxOptions : getDefaultSearchMenuOptions() }));
28697
28515
  };
28698
28516
 
28699
28517
  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+';
28700
28518
 
28701
- var LuiErrorPage = function (props) {
28519
+ const LuiErrorPage = (props) => {
28702
28520
  return (React__default["default"].createElement("div", { className: 'LuiErrorPage' },
28703
28521
  props.header,
28704
28522
  React__default["default"].createElement("div", { className: 'Container' },
@@ -28709,36 +28527,36 @@ var LuiErrorPage = function (props) {
28709
28527
  props.footer));
28710
28528
  };
28711
28529
 
28712
- var userHasAnyPrivilege = function (privileges, selectedFirm) {
28530
+ const userHasAnyPrivilege = (privileges, selectedFirm) => {
28713
28531
  return (privileges.length === 0 ||
28714
28532
  (selectedFirm !== undefined &&
28715
- selectedFirm.privileges.filter(function (value) { return privileges.indexOf(value) > -1; })
28533
+ selectedFirm.privileges.filter((value) => privileges.indexOf(value) > -1)
28716
28534
  .length > 0));
28717
28535
  };
28718
- var userIsInternal = function (user) {
28719
- var loginType = (user === null || user === void 0 ? void 0 : user.loginType).code || (user === null || user === void 0 ? void 0 : user.loginType);
28536
+ const userIsInternal = (user) => {
28537
+ const loginType = user?.loginType.code || user?.loginType;
28720
28538
  return loginType === 'INTN';
28721
28539
  };
28722
28540
 
28723
28541
  function useLOLUserContext() {
28724
28542
  return React.useContext(LOLUserContext);
28725
28543
  }
28726
- var LOLUserContext = React__default["default"].createContext({
28544
+ const LOLUserContext = React__default["default"].createContext({
28727
28545
  user: undefined,
28728
28546
  selectedFirm: undefined,
28729
- changeFirm: function (firmId) {
28547
+ changeFirm: (firmId) => {
28730
28548
  console.error('Called changeFirm before UserContext loaded', firmId);
28731
28549
  },
28732
- isInternal: function () { return false; },
28733
- hasAnyPrivilege: function () { return false; },
28550
+ isInternal: () => false,
28551
+ hasAnyPrivilege: () => false,
28734
28552
  });
28735
28553
  function LOLUserContextProvider(props) {
28736
- var _a = useGetUserInfo(), isLoading = _a.isLoading, data = _a.data, isError = _a.isError;
28737
- var _b = React.useState(), selectedFirm = _b[0], setSelectedFirm = _b[1];
28738
- var _c = React.useState(false), ready = _c[0], setReady = _c[1];
28739
- React.useEffect(function () {
28554
+ const { isLoading, data, isError } = useGetUserInfo();
28555
+ const [selectedFirm, setSelectedFirm] = React.useState();
28556
+ const [ready, setReady] = React.useState(false);
28557
+ React.useEffect(() => {
28740
28558
  // User data is still loading
28741
- if (!(data === null || data === void 0 ? void 0 : data.user)) {
28559
+ if (!data?.user) {
28742
28560
  return;
28743
28561
  }
28744
28562
  // Clear firm value if there are no firms
@@ -28749,23 +28567,22 @@ function LOLUserContextProvider(props) {
28749
28567
  }
28750
28568
  if (data.user.firms.length > 0 &&
28751
28569
  (!getSelectedFirmIdCache() ||
28752
- !data.user.firms.find(function (firm) { return firm.id === getSelectedFirmIdCache(); }))) {
28753
- var firstFirm = data.user.firms[0];
28570
+ !data.user.firms.find((firm) => firm.id === getSelectedFirmIdCache()))) {
28571
+ const firstFirm = data.user.firms[0];
28754
28572
  setSelectedFirmCache(firstFirm.id, firstFirm.name);
28755
28573
  setSelectedFirm(firstFirm);
28756
28574
  setReady(true);
28757
28575
  }
28758
28576
  else {
28759
28577
  // pull firm from cache and use it
28760
- var selectedFirmIdFromCache_1 = getSelectedFirmIdCache();
28761
- var selectedFirmDerivedFromCache = data.user.firms.find(function (firm) { return firm.id === selectedFirmIdFromCache_1; });
28578
+ const selectedFirmIdFromCache = getSelectedFirmIdCache();
28579
+ const selectedFirmDerivedFromCache = data.user.firms.find((firm) => firm.id === selectedFirmIdFromCache);
28762
28580
  setSelectedFirm(selectedFirmDerivedFromCache || undefined);
28763
28581
  setReady(true);
28764
28582
  }
28765
28583
  }, [data]);
28766
- var changeFirm = React.useCallback(function (firmId) {
28767
- var _a;
28768
- var firm = (_a = data === null || data === void 0 ? void 0 : data.user) === null || _a === void 0 ? void 0 : _a.firms.find(function (f) {
28584
+ const changeFirm = React.useCallback((firmId) => {
28585
+ const firm = data?.user?.firms.find((f) => {
28769
28586
  return f.id === firmId;
28770
28587
  });
28771
28588
  if (firm === undefined) {
@@ -28776,14 +28593,12 @@ function LOLUserContextProvider(props) {
28776
28593
  setSelectedFirmCache(firm.id, firm.name);
28777
28594
  setSelectedFirm(firm);
28778
28595
  }, [data]);
28779
- var isInternal = React.useCallback(function () { return userIsInternal(data === null || data === void 0 ? void 0 : data.user); }, [data]);
28780
- var hasAnyPrivilege = React.useCallback(function (privileges) {
28781
- return userHasAnyPrivilege(privileges, selectedFirm);
28782
- }, [selectedFirm]);
28783
- React.useEffect(function () {
28784
- var onCachedFirmUpdate = function (event) {
28596
+ const isInternal = React.useCallback(() => userIsInternal(data?.user), [data]);
28597
+ const hasAnyPrivilege = React.useCallback((privileges) => userHasAnyPrivilege(privileges, selectedFirm), [selectedFirm]);
28598
+ React.useEffect(() => {
28599
+ const onCachedFirmUpdate = (event) => {
28785
28600
  if (event.storageArea === localStorage && event.key === FIRM_KEY) {
28786
- var selectedFirmId = event.newValue;
28601
+ const selectedFirmId = event.newValue;
28787
28602
  if (selectedFirmId) {
28788
28603
  changeFirm(selectedFirmId);
28789
28604
  }
@@ -28794,7 +28609,7 @@ function LOLUserContextProvider(props) {
28794
28609
  window.addEventListener('storage', onCachedFirmUpdate, false);
28795
28610
  }
28796
28611
  // cleanup listener on unmount
28797
- return function () {
28612
+ return () => {
28798
28613
  window.removeEventListener('storage', onCachedFirmUpdate, false);
28799
28614
  };
28800
28615
  }, [ready, changeFirm]);
@@ -28808,10 +28623,10 @@ function LOLUserContextProvider(props) {
28808
28623
  if (data && data.user && data.user.id) {
28809
28624
  return (React__default["default"].createElement(LOLUserContext.Provider, { value: {
28810
28625
  user: data.user,
28811
- selectedFirm: selectedFirm,
28812
- changeFirm: changeFirm,
28813
- isInternal: isInternal,
28814
- hasAnyPrivilege: hasAnyPrivilege,
28626
+ selectedFirm,
28627
+ changeFirm,
28628
+ isInternal,
28629
+ hasAnyPrivilege,
28815
28630
  } }, props.children));
28816
28631
  }
28817
28632
  else {
@@ -28820,41 +28635,24 @@ function LOLUserContextProvider(props) {
28820
28635
  }
28821
28636
  }
28822
28637
  function useGetUserInfo() {
28823
- var _this = this;
28824
- return reactQuery.useQuery("useGetUserInfo", function () { return __awaiter(_this, void 0, void 0, function () {
28825
- var url, res;
28826
- return __generator(this, function (_a) {
28827
- switch (_a.label) {
28828
- case 0:
28829
- url = "/auth/api/userinfo";
28830
- return [4 /*yield*/, fetch(url)];
28831
- case 1:
28832
- res = _a.sent();
28833
- return [4 /*yield*/, checkForStandardErrors(res)];
28834
- case 2:
28835
- _a.sent();
28836
- return [4 /*yield*/, res.json()];
28837
- case 3: return [2 /*return*/, _a.sent()];
28838
- }
28839
- });
28840
- }); });
28638
+ return reactQuery.useQuery(`useGetUserInfo`, async () => {
28639
+ const url = `/auth/api/userinfo`;
28640
+ const res = await fetch(url);
28641
+ await checkForStandardErrors(res);
28642
+ return await res.json();
28643
+ });
28841
28644
  }
28842
28645
  function reAuthUser() {
28843
- var redirectPath = "" + window.location.pathname + window.location.search + window.location.hash;
28844
- window.location.assign("/auth/login?redirectPath=" + encodeURIComponent(redirectPath));
28646
+ const redirectPath = `${window.location.pathname}${window.location.search}${window.location.hash}`;
28647
+ window.location.assign(`/auth/login?redirectPath=${encodeURIComponent(redirectPath)}`);
28845
28648
  }
28846
- function checkForStandardErrors(res) {
28847
- return __awaiter(this, void 0, void 0, function () {
28848
- return __generator(this, function (_a) {
28849
- if (res.status !== 200) {
28850
- reAuthUser();
28851
- }
28852
- return [2 /*return*/];
28853
- });
28854
- });
28649
+ async function checkForStandardErrors(res) {
28650
+ if (res.status !== 200) {
28651
+ reAuthUser();
28652
+ }
28855
28653
  }
28856
- var FIRM_KEY = 'firmId';
28857
- var FIRM_NAME_KEY = 'firmName';
28654
+ const FIRM_KEY = 'firmId';
28655
+ const FIRM_NAME_KEY = 'firmName';
28858
28656
  function getSelectedFirmIdCache() {
28859
28657
  return window.localStorage.getItem(FIRM_KEY);
28860
28658
  }
@@ -28869,21 +28667,21 @@ function setSelectedFirmCache(firmId, firmName) {
28869
28667
  }
28870
28668
  }
28871
28669
 
28872
- var ClearableLuiTextInput = function (props) {
28873
- var _a = React.useState(props.value ? props.value : ''), currentValue = _a[0], setCurrentValue = _a[1];
28874
- var clear = function () {
28670
+ const ClearableLuiTextInput = (props) => {
28671
+ const [currentValue, setCurrentValue] = React.useState(props.value ? props.value : '');
28672
+ const clear = () => {
28875
28673
  setCurrentValue('');
28876
28674
  if (props.onValueChange) {
28877
28675
  props.onValueChange('');
28878
28676
  }
28879
28677
  };
28880
- var cancelIcon = currentValue !== '' ? (React__default["default"].createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "lg", className: 'LuiTextInput-iconPosition', spanProps: { onClick: clear } })) : undefined;
28881
- return (React__default["default"].createElement(LuiTextInput, __assign({}, props, { icon: cancelIcon, value: currentValue, onChange: function (e) {
28678
+ const cancelIcon = currentValue !== '' ? (React__default["default"].createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "lg", className: 'LuiTextInput-iconPosition', spanProps: { onClick: clear } })) : undefined;
28679
+ return (React__default["default"].createElement(LuiTextInput, { ...props, icon: cancelIcon, value: currentValue, onChange: (e) => {
28882
28680
  setCurrentValue(e.target.value);
28883
28681
  if (props.onValueChange) {
28884
28682
  props.onValueChange(e.target.value);
28885
28683
  }
28886
- } })));
28684
+ } }));
28887
28685
  };
28888
28686
 
28889
28687
  /**
@@ -28892,42 +28690,42 @@ var ClearableLuiTextInput = function (props) {
28892
28690
  * @param props
28893
28691
  * @constructor
28894
28692
  */
28895
- var LuiFilterContainer = function (props) {
28896
- 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;
28897
- var _c = React.useState(''), filter = _c[0], setFilter = _c[1];
28693
+ const LuiFilterContainer = (props) => {
28694
+ const { renderFunction, filterFunction, showFilter = true, isFilterClearable = true, } = props;
28695
+ const [filter, setFilter] = React.useState('');
28898
28696
  return (React__default["default"].createElement("div", null,
28899
28697
  showFilter && (React__default["default"].createElement("div", { className: 'LuiFilterContainer-filter-container LuiDeprecatedForms' },
28900
28698
  isFilterClearable && (React__default["default"].createElement(ClearableLuiTextInput, { label: 'Filter', inputProps: {
28901
28699
  placeholder: 'Type to filter',
28902
- }, hideLabel: true, onValueChange: function (value) { return setFilter(value); } })),
28903
- !isFilterClearable && (React__default["default"].createElement("input", { type: "text", placeholder: "Type to filter", value: filter, onChange: function (e) { return setFilter(e.target.value); } })))),
28700
+ }, hideLabel: true, onValueChange: (value) => setFilter(value) })),
28701
+ !isFilterClearable && (React__default["default"].createElement("input", { type: "text", placeholder: "Type to filter", value: filter, onChange: (e) => setFilter(e.target.value) })))),
28904
28702
  renderFunction(filterFunction(filter))));
28905
28703
  };
28906
28704
 
28907
28705
  function useLOLGlobalClientRefContext() {
28908
28706
  return React.useContext(LOLGlobalClientRefContext);
28909
28707
  }
28910
- var LOLGlobalClientRefContext = React__default["default"].createContext({
28708
+ const LOLGlobalClientRefContext = React__default["default"].createContext({
28911
28709
  clientRef: '',
28912
- changeClientRef: function () {
28710
+ changeClientRef: () => {
28913
28711
  // no-op
28914
28712
  },
28915
28713
  });
28916
- var LOLGlobalClientRefContextProvider = function (props) {
28917
- var useUserIdAsClientReference = props.useUserIdAsClientReference;
28918
- var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm;
28919
- var _b = React.useState(''), clientRef = _b[0], setClientRef = _b[1];
28920
- var _c = React.useState(undefined), lastSelectedFirmId = _c[0], setLastSelectedFirmId = _c[1];
28921
- var changeClientRef = React.useCallback(function (clientRef) {
28714
+ const LOLGlobalClientRefContextProvider = (props) => {
28715
+ const { useUserIdAsClientReference } = props;
28716
+ const { user, selectedFirm } = useLOLUserContext();
28717
+ const [clientRef, setClientRef] = React.useState('');
28718
+ const [lastSelectedFirmId, setLastSelectedFirmId] = React.useState(undefined);
28719
+ const changeClientRef = React.useCallback((clientRef) => {
28922
28720
  setClientRef(clientRef);
28923
28721
  setGlobalClientRefCache(clientRef);
28924
28722
  }, []);
28925
- React.useEffect(function () {
28723
+ React.useEffect(() => {
28926
28724
  if (!user) {
28927
28725
  return;
28928
28726
  }
28929
- var cachedClientRef = getGlobalClientRefCache();
28930
- var clientRef = '';
28727
+ const cachedClientRef = getGlobalClientRefCache();
28728
+ let clientRef = '';
28931
28729
  if (cachedClientRef === null && useUserIdAsClientReference) {
28932
28730
  clientRef = user.id;
28933
28731
  }
@@ -28936,9 +28734,9 @@ var LOLGlobalClientRefContextProvider = function (props) {
28936
28734
  }
28937
28735
  setClientRef(clientRef);
28938
28736
  setGlobalClientRefCache(clientRef);
28939
- setLastSelectedFirmId(selectedFirm === null || selectedFirm === void 0 ? void 0 : selectedFirm.id);
28737
+ setLastSelectedFirmId(selectedFirm?.id);
28940
28738
  }, [user, selectedFirm, useUserIdAsClientReference]);
28941
- React.useEffect(function () {
28739
+ React.useEffect(() => {
28942
28740
  if (!selectedFirm ||
28943
28741
  !lastSelectedFirmId ||
28944
28742
  selectedFirm.id === lastSelectedFirmId) {
@@ -28955,11 +28753,11 @@ var LOLGlobalClientRefContextProvider = function (props) {
28955
28753
  useUserIdAsClientReference,
28956
28754
  ]);
28957
28755
  return (React__default["default"].createElement(LOLGlobalClientRefContext.Provider, { value: {
28958
- clientRef: clientRef,
28959
- changeClientRef: changeClientRef,
28756
+ clientRef,
28757
+ changeClientRef,
28960
28758
  } }, props.children));
28961
28759
  };
28962
- var GLOBAL_CLIENT_REFERENCE_KEY = 'globalClientReference';
28760
+ const GLOBAL_CLIENT_REFERENCE_KEY = 'globalClientReference';
28963
28761
  function getGlobalClientRefCache() {
28964
28762
  return window.sessionStorage.getItem(GLOBAL_CLIENT_REFERENCE_KEY);
28965
28763
  }
@@ -28972,17 +28770,16 @@ function setGlobalClientRefCache(clientReference) {
28972
28770
  }
28973
28771
  }
28974
28772
 
28975
- var LOLFirmSwitcherMenu = function (_a) {
28976
- var _b = _a.showClientRef, showClientRef = _b === void 0 ? false : _b, restOfProps = __rest(_a, ["showClientRef"]);
28977
- var _c = useLOLUserContext(), user = _c.user, selectedFirm = _c.selectedFirm, changeFirm = _c.changeFirm, isInternal = _c.isInternal;
28978
- var clientRef = useLOLGlobalClientRefContext().clientRef;
28979
- var firms = user.firms;
28980
- var clientRefElement = showClientRef ? (React__default["default"].createElement(React__default["default"].Fragment, null,
28773
+ const LOLFirmSwitcherMenu = ({ showClientRef = false, ...restOfProps }) => {
28774
+ const { user, selectedFirm, changeFirm, isInternal } = useLOLUserContext();
28775
+ const { clientRef } = useLOLGlobalClientRefContext();
28776
+ const firms = user.firms;
28777
+ const clientRefElement = showClientRef ? (React__default["default"].createElement(React__default["default"].Fragment, null,
28981
28778
  React__default["default"].createElement("br", null),
28982
28779
  React__default["default"].createElement("span", null,
28983
28780
  "Client Ref: ",
28984
28781
  clientRef))) : null;
28985
- var label = isInternal() ? (React__default["default"].createElement("div", { className: "LOLFirmSwitcherMenu-header" },
28782
+ const label = isInternal() ? (React__default["default"].createElement("div", { className: "LOLFirmSwitcherMenu-header" },
28986
28783
  user.id,
28987
28784
  clientRefElement)) : (React__default["default"].createElement("div", { className: "LOLFirmSwitcherMenu-header" },
28988
28785
  selectedFirm && (React__default["default"].createElement(React__default["default"].Fragment, null,
@@ -28992,97 +28789,69 @@ var LOLFirmSwitcherMenu = function (_a) {
28992
28789
  "User ID: ",
28993
28790
  user.id),
28994
28791
  clientRefElement));
28995
- var dropdownMenuProps = __assign(__assign({}, restOfProps), { label: label });
28792
+ const dropdownMenuProps = {
28793
+ ...restOfProps,
28794
+ label,
28795
+ };
28996
28796
  if (firms.length < 2) {
28997
- return React__default["default"].createElement(LuiHeaderMenuItem, __assign({}, dropdownMenuProps));
28797
+ return React__default["default"].createElement(LuiHeaderMenuItem, { ...dropdownMenuProps });
28998
28798
  }
28999
- return (React__default["default"].createElement(LuiDropdownMenu, __assign({}, dropdownMenuProps),
28799
+ return (React__default["default"].createElement(LuiDropdownMenu, { ...dropdownMenuProps },
29000
28800
  React__default["default"].createElement(LOLFirmSwitcherMenuContent, { firms: firms, selectedFirm: selectedFirm, changeFirm: changeFirm })));
29001
28801
  };
29002
- var LOLFirmSwitcherMenuContent = function (_a) {
29003
- 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;
29004
- var showFilter = firms.length >= minimumFilterCount;
28802
+ const LOLFirmSwitcherMenuContent = ({ firms, selectedFirm, changeFirm, collapsible = false, minimumFilterCount = 5, }) => {
28803
+ const showFilter = firms.length >= minimumFilterCount;
29005
28804
  return (React__default["default"].createElement(LuiDrawerMenuSection, { title: "Switch account", collapsible: collapsible && showFilter },
29006
- 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) {
29007
- return [2 /*return*/, changeFirm(id)];
29008
- }); }); }, showFilter: showFilter })));
28805
+ React__default["default"].createElement(FirmSwitcher, { options: firms, selectedId: selectedFirm?.id, onSelect: async (id) => changeFirm(id), showFilter: showFilter })));
29009
28806
  };
29010
- var FirmOption = function (_a) {
29011
- var _b = _a.value, id = _b.id, name = _b.name, onSelect = _a.onSelect, selected = _a.selected, disabled = _a.disabled;
29012
- return (React__default["default"].createElement("div", { className: 'LOLFirmSwitcherMenu-option', onClick: function () { return onSelect(id); }, "aria-disabled": disabled, "data-testid": "firm-" + id },
28807
+ const FirmOption = ({ value: { id, name }, onSelect, selected, disabled, }) => {
28808
+ return (React__default["default"].createElement("div", { className: 'LOLFirmSwitcherMenu-option', onClick: () => onSelect(id), "aria-disabled": disabled, "data-testid": `firm-${id}` },
29013
28809
  React__default["default"].createElement("span", null, name),
29014
28810
  selected && React__default["default"].createElement("i", { className: "material-icons-round" }, "check_circle")));
29015
28811
  };
29016
- var FirmSwitcher = function (_a) {
29017
- var options = _a.options, selectedId = _a.selectedId, onSelect = _a.onSelect, _b = _a.showFilter, showFilter = _b === void 0 ? true : _b;
29018
- var _c = React.useState(false), busy = _c[0], setBusy = _c[1];
29019
- var onSelectInternal = function (optionId) { return __awaiter(void 0, void 0, void 0, function () {
29020
- return __generator(this, function (_a) {
29021
- switch (_a.label) {
29022
- case 0:
29023
- if (!!busy) return [3 /*break*/, 2];
29024
- setBusy(true);
29025
- return [4 /*yield*/, onSelect(optionId)];
29026
- case 1:
29027
- _a.sent();
29028
- setBusy(false);
29029
- _a.label = 2;
29030
- case 2: return [2 /*return*/];
29031
- }
29032
- });
29033
- }); };
29034
- var filterFunction = React.useCallback(function (filterString) {
29035
- var upperCaseFilterString = filterString.trim().toUpperCase();
29036
- return options.filter(function (firm) {
29037
- return firm.name.toUpperCase().includes(upperCaseFilterString);
29038
- });
28812
+ const FirmSwitcher = ({ options, selectedId, onSelect, showFilter = true, }) => {
28813
+ const [busy, setBusy] = React.useState(false);
28814
+ const onSelectInternal = async (optionId) => {
28815
+ if (!busy) {
28816
+ setBusy(true);
28817
+ await onSelect(optionId);
28818
+ setBusy(false);
28819
+ }
28820
+ };
28821
+ const filterFunction = React.useCallback((filterString) => {
28822
+ const upperCaseFilterString = filterString.trim().toUpperCase();
28823
+ return options.filter((firm) => firm.name.toUpperCase().includes(upperCaseFilterString));
29039
28824
  }, [options]);
29040
- var renderFunction = function (filteredOptions) {
29041
- 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 })); })));
28825
+ const renderFunction = (filteredOptions) => {
28826
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, filteredOptions.map((option) => (React__default["default"].createElement(FirmOption, { key: option.id, value: option, selected: option.id === selectedId, onSelect: onSelectInternal, disabled: busy })))));
29042
28827
  };
29043
28828
  return (React__default["default"].createElement("div", { className: "LOLFirmSwitcherMenu" },
29044
28829
  React__default["default"].createElement(LuiFilterContainer, { showFilter: showFilter, filterFunction: filterFunction, renderFunction: renderFunction })));
29045
28830
  };
29046
28831
 
29047
- var LOLLogoutLink = function (props) {
29048
- var redirectPathString = props.redirectPath();
29049
- var user = useLOLUserContext().user;
28832
+ const LOLLogoutLink = (props) => {
28833
+ const redirectPathString = props.redirectPath();
28834
+ const { user } = useLOLUserContext();
29050
28835
  if (!user) {
29051
28836
  return null;
29052
28837
  }
29053
- var logout = function () { return __awaiter(void 0, void 0, void 0, function () {
29054
- var _a, res;
29055
- return __generator(this, function (_b) {
29056
- switch (_b.label) {
29057
- case 0:
29058
- _a = props.callBackBeforeLogout;
29059
- if (!_a) return [3 /*break*/, 2];
29060
- return [4 /*yield*/, props.callBackBeforeLogout()];
29061
- case 1:
29062
- _a = (_b.sent()) === false;
29063
- _b.label = 2;
29064
- case 2:
29065
- if (_a) {
29066
- return [2 /*return*/];
29067
- }
29068
- return [4 /*yield*/, fetch('/auth/api/logout')];
29069
- case 3:
29070
- res = _b.sent();
29071
- if (res.status === 200) {
29072
- window.location.assign("/auth/login?redirectPath=" + redirectPathString);
29073
- }
29074
- return [2 /*return*/];
29075
- }
29076
- });
29077
- }); };
29078
- return React__default["default"].createElement(LuiDrawerMenuOption, { label: "Logout " + user.id, onClick: logout });
28838
+ const logout = async () => {
28839
+ if (props.callBackBeforeLogout &&
28840
+ (await props.callBackBeforeLogout()) === false) {
28841
+ return;
28842
+ }
28843
+ const res = await fetch('/auth/api/logout');
28844
+ if (res.status === 200) {
28845
+ window.location.assign(`/auth/login?redirectPath=${redirectPathString}`);
28846
+ }
28847
+ };
28848
+ return React__default["default"].createElement(LuiDrawerMenuOption, { label: `Logout ${user.id}`, onClick: logout });
29079
28849
  };
29080
28850
 
29081
- var LOLUserLastLogin = function () {
29082
- var _a;
29083
- var lastLogin;
29084
- var context = useLOLUserContext();
29085
- var lastLoginISO = (_a = context === null || context === void 0 ? void 0 : context.user) === null || _a === void 0 ? void 0 : _a.lastLogin;
28851
+ const LOLUserLastLogin = () => {
28852
+ let lastLogin;
28853
+ const context = useLOLUserContext();
28854
+ const lastLoginISO = context?.user?.lastLogin;
29086
28855
  lastLogin = lastLoginISO
29087
28856
  ? new Date(lastLoginISO).toLocaleString('en-NZ')
29088
28857
  : null;
@@ -29096,11 +28865,11 @@ var LOLUserLastLogin = function () {
29096
28865
  React__default["default"].createElement("span", null, "Not you? Please, call us on 0800 665 463"))));
29097
28866
  };
29098
28867
 
29099
- var LOLActiveFirmMessage = function (props) {
29100
- var _a = useLOLUserContext(), selectedFirm = _a.selectedFirm, user = _a.user;
29101
- var _b = React.useState(false), visible = _b[0], setVisible = _b[1];
29102
- var hide = props.showFrom !== 'xl' ? { from: props.showFrom || 'sm' } : undefined;
29103
- React.useEffect(function () {
28868
+ const LOLActiveFirmMessage = (props) => {
28869
+ const { selectedFirm, user } = useLOLUserContext();
28870
+ const [visible, setVisible] = React.useState(false);
28871
+ const hide = props.showFrom !== 'xl' ? { from: props.showFrom || 'sm' } : undefined;
28872
+ React.useEffect(() => {
29104
28873
  setVisible(true);
29105
28874
  }, [selectedFirm]);
29106
28875
  if (!selectedFirm || !visible || user.firms.length < 2) {
@@ -29110,7 +28879,7 @@ var LOLActiveFirmMessage = function (props) {
29110
28879
  React__default["default"].createElement(LuiBannerContent, { level: 'info' },
29111
28880
  "Active account is ",
29112
28881
  selectedFirm.name,
29113
- React__default["default"].createElement("button", { "aria-label": "Close dialog", onClick: function () {
28882
+ React__default["default"].createElement("button", { "aria-label": "Close dialog", onClick: () => {
29114
28883
  setVisible(false);
29115
28884
  } },
29116
28885
  React__default["default"].createElement("i", { className: "material-icons-round" }, "close")))));
@@ -29118,20 +28887,17 @@ var LOLActiveFirmMessage = function (props) {
29118
28887
 
29119
28888
  var ExternalIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzk4OTE4OSI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5IDE5SDVWNWg3VjNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0ydi03aC0ydjd6TTE0IDN2MmgzLjU5bC05LjgzIDkuODMgMS40MSAxLjQxTDE5IDYuNDFWMTBoMlYzaC03eiIvPjwvc3ZnPg==';
29120
28889
 
29121
- var LOLAuthorisedLink = function (props) {
29122
- var hasAnyPrivilege = useLOLUserContext().hasAnyPrivilege;
29123
- var icon = props.icon, activeIcon = props.activeIcon, active = props.active, label = props.label, path = props.path, openExternally = props.openExternally, anyPrivileges = props.anyPrivileges;
29124
- var onClickHandler = function () { return __awaiter(void 0, void 0, void 0, function () {
29125
- return __generator(this, function (_a) {
29126
- if (openExternally) {
29127
- window.open(path, '_blank');
29128
- }
29129
- else {
29130
- window.location.assign(path);
29131
- }
29132
- return [2 /*return*/];
29133
- });
29134
- }); };
28890
+ const LOLAuthorisedLink = (props) => {
28891
+ const { hasAnyPrivilege } = useLOLUserContext();
28892
+ const { icon, activeIcon, active, label, path, openExternally, anyPrivileges, } = props;
28893
+ const onClickHandler = async () => {
28894
+ if (openExternally) {
28895
+ window.open(path, '_blank');
28896
+ }
28897
+ else {
28898
+ window.location.assign(path);
28899
+ }
28900
+ };
29135
28901
  if (!hasAnyPrivilege(anyPrivileges)) {
29136
28902
  return null;
29137
28903
  }
@@ -29160,26 +28926,26 @@ var TitlesIconActive = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy
29160
28926
 
29161
28927
  function createLink(pathname, label, target, activeIcon, icon, anyPrivileges) {
29162
28928
  return {
29163
- label: label,
28929
+ label,
29164
28930
  path: target,
29165
- icon: icon,
29166
- activeIcon: activeIcon,
28931
+ icon,
28932
+ activeIcon,
29167
28933
  active: pathname.startsWith(target),
29168
- anyPrivileges: anyPrivileges,
28934
+ anyPrivileges,
29169
28935
  openExternally: true,
29170
28936
  };
29171
28937
  }
29172
- var SEARCH_LABEL = 'Search';
29173
- var NOC_LABEL = 'Post registered NoC';
29174
- var SURVEY_LABEL = 'Survey';
29175
- var TITLES_LABEL = 'Titles';
29176
- var LOLAppLauncherMenu = function (props) {
29177
- var _a = useLOLUserContext(), user = _a.user, isInternal = _a.isInternal;
29178
- 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;
28938
+ const SEARCH_LABEL = 'Search';
28939
+ const NOC_LABEL = 'Post registered NoC';
28940
+ const SURVEY_LABEL = 'Survey';
28941
+ const TITLES_LABEL = 'Titles';
28942
+ const LOLAppLauncherMenu = (props) => {
28943
+ const { user, isInternal } = useLOLUserContext();
28944
+ const { pathname, enableNOCLink = false, enableSurveyLink = false, enableTitlesLink = false, } = props;
29179
28945
  if (!user) {
29180
28946
  return null;
29181
28947
  }
29182
- var links = [
28948
+ const links = [
29183
28949
  createLink(pathname, SEARCH_LABEL, '/search', SearchIconActive, SearchIcon, isInternal() ? [] : ['prv_search_privilege', 'prv_spatial_view']),
29184
28950
  ];
29185
28951
  if (!isInternal() && enableNOCLink) {
@@ -29223,13 +28989,13 @@ var LOLAppLauncherMenu = function (props) {
29223
28989
  'prv_withdraw_dealing',
29224
28990
  ]));
29225
28991
  }
29226
- return (React__default["default"].createElement(LuiDrawerMenuSection, { title: "Launch app" }, links.map(function (link) { return (React__default["default"].createElement(LOLAuthorisedLink, __assign({ key: link.path }, link))); })));
28992
+ return (React__default["default"].createElement(LuiDrawerMenuSection, { title: "Launch app" }, links.map((link) => (React__default["default"].createElement(LOLAuthorisedLink, { key: link.path, ...link })))));
29227
28993
  };
29228
28994
 
29229
- var LOLDrawerMenuFirmSwitcher = function (props) {
29230
- var minimumFilterCount = props.minimumFilterCount;
29231
- var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm, changeFirm = _a.changeFirm;
29232
- var firms = user === null || user === void 0 ? void 0 : user.firms;
28995
+ const LOLDrawerMenuFirmSwitcher = (props) => {
28996
+ const { minimumFilterCount } = props;
28997
+ const { user, selectedFirm, changeFirm } = useLOLUserContext();
28998
+ const firms = user?.firms;
29233
28999
  if (!firms || !selectedFirm) {
29234
29000
  return null;
29235
29001
  }
@@ -29239,18 +29005,18 @@ var LOLDrawerMenuFirmSwitcher = function (props) {
29239
29005
  return (React__default["default"].createElement(LOLFirmSwitcherMenuContent, { firms: firms, selectedFirm: selectedFirm, changeFirm: changeFirm, collapsible: true, minimumFilterCount: minimumFilterCount }));
29240
29006
  };
29241
29007
 
29242
- var LOLDrawerMenu = function (props) {
29008
+ const LOLDrawerMenu = (props) => {
29243
29009
  return (React__default["default"].createElement(LuiDrawerMenu, { hasStickyHeader: props.hasStickyHeader },
29244
29010
  React__default["default"].createElement("div", { className: "LOLDrawerMenu" },
29245
29011
  React__default["default"].createElement("div", { className: "LOLDrawerMenu-contents" }, props.children),
29246
29012
  React__default["default"].createElement("div", { className: "LOLDrawerMenu-footer" },
29247
29013
  React__default["default"].createElement(LOLUserLastLogin, null)))));
29248
29014
  };
29249
- var LOLCommonDrawerMenu = function (props) {
29250
- var appSpecificLinks = props.appSpecificLinks, appSpecificSections = props.appSpecificSections, path = props.path, hasStickyHeader = props.hasStickyHeader, showRequestsLink = props.showRequestsLink, restOfProps = __rest(props, ["appSpecificLinks", "appSpecificSections", "path", "hasStickyHeader", "showRequestsLink"]);
29015
+ const LOLCommonDrawerMenu = (props) => {
29016
+ const { appSpecificLinks, appSpecificSections, path, hasStickyHeader, showRequestsLink, ...restOfProps } = props;
29251
29017
  return (React__default["default"].createElement(LOLDrawerMenu, { hasStickyHeader: hasStickyHeader },
29252
29018
  appSpecificSections,
29253
- React__default["default"].createElement(LOLAppLauncherMenu, __assign({ pathname: path }, restOfProps)),
29019
+ React__default["default"].createElement(LOLAppLauncherMenu, { pathname: path, ...restOfProps }),
29254
29020
  React__default["default"].createElement(LOLDrawerMenuFirmSwitcher, { minimumFilterCount: 5 }),
29255
29021
  showRequestsLink && (React__default["default"].createElement(React__default["default"].Fragment, null,
29256
29022
  React__default["default"].createElement(LuiDrawerMenuDivider, null),
@@ -29261,24 +29027,24 @@ var LOLCommonDrawerMenu = function (props) {
29261
29027
  React__default["default"].createElement(LuiDrawerMenuDivider, null),
29262
29028
  React__default["default"].createElement(LOLCommonDrawerMenuAfterLinks, { path: path })));
29263
29029
  };
29264
- var LOLCommonDrawerMenuAfterLinks = function (props) {
29265
- var isInternal = useLOLUserContext().isInternal;
29266
- var path = props.path;
29267
- var contextPath = path.substr(0, path.indexOf('/', 1));
29268
- var gotoLink = function (url) {
29030
+ const LOLCommonDrawerMenuAfterLinks = (props) => {
29031
+ const { isInternal } = useLOLUserContext();
29032
+ const { path } = props;
29033
+ const contextPath = path.substr(0, path.indexOf('/', 1));
29034
+ const gotoLink = (url) => {
29269
29035
  window.location.assign(url);
29270
29036
  };
29271
29037
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
29272
- !isInternal() && (React__default["default"].createElement(LuiDrawerMenuOption, { label: "Change password", onClick: function () {
29273
- gotoLink("/manage/my-preferences?redirectPath=" + encodeURIComponent(path));
29038
+ !isInternal() && (React__default["default"].createElement(LuiDrawerMenuOption, { label: "Change password", onClick: () => {
29039
+ gotoLink(`/manage/my-preferences?redirectPath=${encodeURIComponent(path)}`);
29274
29040
  } })),
29275
- React__default["default"].createElement(LOLLogoutLink, { redirectPath: function () { return contextPath; } })));
29041
+ React__default["default"].createElement(LOLLogoutLink, { redirectPath: () => contextPath })));
29276
29042
  };
29277
- var LOLCommonMenuRequestsLink = function () {
29278
- var openRequestsApp = function () {
29043
+ const LOLCommonMenuRequestsLink = () => {
29044
+ const openRequestsApp = () => {
29279
29045
  window.open('/requests', '_blank');
29280
29046
  };
29281
- return (React__default["default"].createElement(LuiDrawerMenuOption, { label: 'Create request', onClick: function () {
29047
+ return (React__default["default"].createElement(LuiDrawerMenuOption, { label: 'Create request', onClick: () => {
29282
29048
  openRequestsApp();
29283
29049
  }, badge: React__default["default"].createElement("img", { src: ExternalIcon, alt: "Link opens in a new tab", style: { width: '16px', height: '16px', marginTop: '4px' } }) }));
29284
29050
  };
@@ -32812,27 +32578,26 @@ styleInject(css_248z$2);
32812
32578
  var css_248z$1 = ".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}";
32813
32579
  styleInject(css_248z$1);
32814
32580
 
32815
- var id = 0;
32816
- var getKey = function () { return id++; };
32817
- var LuiTooltip = function (props) {
32818
- var children = props.children, message = props.message, placement = props.placement, trigger = props.trigger, _a = props.animation, animation = _a === void 0 ? true : _a;
32819
- var id = "LuiToolTip_" + React.useMemo(getKey, []);
32581
+ let id = 0;
32582
+ const getKey = () => id++;
32583
+ const LuiTooltip = (props) => {
32584
+ const { children, message, placement, trigger, animation = true } = props;
32585
+ const id = `LuiToolTip_${React.useMemo(getKey, [])}`;
32820
32586
  if (typeof message !== 'string') {
32821
32587
  throw new Error('LuiTooltip message must be a string!');
32822
32588
  }
32823
- React.useEffect(function () {
32824
- tippy("#" + id, {
32589
+ React.useEffect(() => {
32590
+ tippy(`#${id}`, {
32825
32591
  content: message,
32826
32592
  arrow: true,
32827
- trigger: trigger,
32593
+ trigger,
32828
32594
  theme: 'LUI',
32829
- placement: placement,
32595
+ placement,
32830
32596
  offset: [0, 24],
32831
- animation: animation,
32597
+ animation,
32832
32598
  });
32833
- return function () {
32834
- var _a, _b;
32835
- (_b = (_a = document.getElementById(id)) === null || _a === void 0 ? void 0 : _a._tippy) === null || _b === void 0 ? void 0 : _b.destroy();
32599
+ return () => {
32600
+ document.getElementById(id)?._tippy?.destroy();
32836
32601
  };
32837
32602
  }, [id, message, placement, trigger, animation]);
32838
32603
  return React__default["default"].createElement("span", { id: id }, children);
@@ -32851,45 +32616,44 @@ var LuiTooltip = function (props) {
32851
32616
  ```
32852
32617
  */
32853
32618
  function useClickedOutsideElement(refElement, handleClickOutside) {
32854
- React__default["default"].useEffect(function () {
32619
+ React__default["default"].useEffect(() => {
32855
32620
  function onOutsideClicked(event) {
32856
- var element = refElement.current;
32857
- if (!(element === null || element === void 0 ? void 0 : element.contains(event.target))) {
32621
+ const element = refElement.current;
32622
+ if (!element?.contains(event.target)) {
32858
32623
  handleClickOutside();
32859
32624
  }
32860
32625
  }
32861
32626
  document.addEventListener('mousedown', onOutsideClicked);
32862
- return function () {
32627
+ return () => {
32863
32628
  document.removeEventListener('mousedown', onOutsideClicked);
32864
32629
  };
32865
32630
  // eslint-disable-next-line react-hooks/exhaustive-deps
32866
32631
  }, []);
32867
32632
  }
32868
32633
 
32869
- 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)); };
32634
+ const LuiBadge = (props) => (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));
32870
32635
 
32871
- var LuiSidePanelContext = React__default["default"].createContext({ setProps: function () { return undefined; } });
32636
+ const LuiSidePanelContext = React__default["default"].createContext({ setProps: () => undefined });
32872
32637
  /* eslint-disable react/prop-types */
32873
- var LuiSidePanel = function (_a) {
32874
- var children = _a.children, onClose = _a.onClose, width = _a.width, top = _a.top;
32875
- var setProps = React__default["default"].useContext(LuiSidePanelContext).setProps;
32876
- React__default["default"].useEffect(function () {
32877
- setProps({ children: children, onClose: onClose, width: width, top: top });
32878
- return function () {
32638
+ const LuiSidePanel = ({ children, onClose, width, top }) => {
32639
+ const { setProps } = React__default["default"].useContext(LuiSidePanelContext);
32640
+ React__default["default"].useEffect(() => {
32641
+ setProps({ children, onClose, width, top });
32642
+ return () => {
32879
32643
  setProps(undefined);
32880
32644
  };
32881
32645
  }, [setProps, children, onClose, width, top]);
32882
32646
  return React__default["default"].createElement(React__default["default"].Fragment, null);
32883
32647
  };
32884
- var LuiSidePanelContainer = function (props) {
32885
- 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;
32648
+ const LuiSidePanelContainer = (props) => {
32649
+ const { children, onClose, width = '50%', top = 60 } = props ?? {};
32886
32650
  return (React__default["default"].createElement("section", { style: {
32887
32651
  position: 'fixed',
32888
32652
  right: 0,
32889
32653
  bottom: 0,
32890
32654
  top: top,
32891
32655
  background: 'white',
32892
- width: children ? width !== null && width !== void 0 ? width : '50%' : '0%',
32656
+ width: children ? width ?? '50%' : '0%',
32893
32657
  transition: 'width 0.2s ease',
32894
32658
  boxShadow: '-0.1em 0 0.4em rgba(0, 0, 0, 0.2)',
32895
32659
  padding: 0,
@@ -32909,25 +32673,105 @@ var LuiSidePanelContainer = function (props) {
32909
32673
  React__default["default"].createElement(LuiIcon, { alt: "Close", name: "ic_clear", size: "lg", status: "interactive" }))),
32910
32674
  children));
32911
32675
  };
32912
- var LuiSidePanelProvider = function (_a) {
32913
- var children = _a.children;
32914
- var _b = React__default["default"].useState(), props = _b[0], setProps = _b[1];
32915
- return (React__default["default"].createElement(LuiSidePanelContext.Provider, { value: { setProps: setProps } },
32676
+ const LuiSidePanelProvider = ({ children }) => {
32677
+ const [props, setProps] = React__default["default"].useState();
32678
+ return (React__default["default"].createElement(LuiSidePanelContext.Provider, { value: { setProps } },
32916
32679
  children,
32917
- React__default["default"].createElement(LuiSidePanelContainer, __assign({}, props))));
32680
+ React__default["default"].createElement(LuiSidePanelContainer, { ...props })));
32918
32681
  };
32919
32682
 
32920
32683
  var css_248z = ".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}";
32921
32684
  styleInject(css_248z);
32922
32685
 
32923
- var LuiSwitchButton = function (props) {
32924
- var generatedId = useGenerateOrDefaultId();
32686
+ const LuiSwitchButton = (props) => {
32687
+ const generatedId = useGenerateOrDefaultId();
32925
32688
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
32926
- React__default["default"].createElement("input", __assign({ className: "lui-switch-checkbox", type: "checkbox", "data-testid": 'lui-switch-new', id: generatedId }, props)),
32927
- React__default["default"].createElement("label", { "data-testid": "label", style: { background: props.checked ? '#007198' : 'gray' }, className: "lui-switch-label", htmlFor: generatedId },
32928
- React__default["default"].createElement("span", { className: "lui-switch-button" }))));
32689
+ React__default["default"].createElement("input", { className: "lui-switch-checkbox", type: "checkbox", "data-testid": 'lui-switch-new', id: generatedId, ...props }),
32690
+ React__default["default"].createElement("label", { "data-testid": `label`, style: { background: props.checked ? '#007198' : 'gray' }, className: "lui-switch-label", htmlFor: generatedId },
32691
+ React__default["default"].createElement("span", { className: `lui-switch-button` }))));
32929
32692
  };
32930
32693
 
32694
+ /******************************************************************************
32695
+ Copyright (c) Microsoft Corporation.
32696
+
32697
+ Permission to use, copy, modify, and/or distribute this software for any
32698
+ purpose with or without fee is hereby granted.
32699
+
32700
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
32701
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
32702
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
32703
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
32704
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
32705
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
32706
+ PERFORMANCE OF THIS SOFTWARE.
32707
+ ***************************************************************************** */
32708
+ /* global Reflect, Promise */
32709
+
32710
+ var extendStatics = function(d, b) {
32711
+ extendStatics = Object.setPrototypeOf ||
32712
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
32713
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
32714
+ return extendStatics(d, b);
32715
+ };
32716
+
32717
+ function __extends(d, b) {
32718
+ if (typeof b !== "function" && b !== null)
32719
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
32720
+ extendStatics(d, b);
32721
+ function __() { this.constructor = d; }
32722
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
32723
+ }
32724
+
32725
+ var __assign = function() {
32726
+ __assign = Object.assign || function __assign(t) {
32727
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
32728
+ s = arguments[i];
32729
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
32730
+ }
32731
+ return t;
32732
+ };
32733
+ return __assign.apply(this, arguments);
32734
+ };
32735
+
32736
+ function __rest(s, e) {
32737
+ var t = {};
32738
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
32739
+ t[p] = s[p];
32740
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
32741
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
32742
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32743
+ t[p[i]] = s[p[i]];
32744
+ }
32745
+ return t;
32746
+ }
32747
+
32748
+ function __read(o, n) {
32749
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
32750
+ if (!m) return o;
32751
+ var i = m.call(o), r, ar = [], e;
32752
+ try {
32753
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
32754
+ }
32755
+ catch (error) { e = { error: error }; }
32756
+ finally {
32757
+ try {
32758
+ if (r && !r.done && (m = i["return"])) m.call(i);
32759
+ }
32760
+ finally { if (e) throw e.error; }
32761
+ }
32762
+ return ar;
32763
+ }
32764
+
32765
+ function __spreadArray(to, from, pack) {
32766
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
32767
+ if (ar || !(i in from)) {
32768
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32769
+ ar[i] = from[i];
32770
+ }
32771
+ }
32772
+ return to.concat(ar || Array.prototype.slice.call(from));
32773
+ }
32774
+
32931
32775
  var createDefinition = function (propNames) { return ({
32932
32776
  isEnabled: function (props) { return propNames.some(function (name) { return !!props[name]; }); },
32933
32777
  }); };
@@ -40485,11 +40329,11 @@ var AnimatePresence = function (_a) {
40485
40329
  };
40486
40330
 
40487
40331
  // import clsx from 'clsx';
40488
- var LuiAccordicard = function (props) {
40489
- var _a = props.defaultToOpen, defaultToOpen = _a === void 0 ? false : _a, children = props.children, headerContent = props.headerContent;
40490
- var _b = React.useState(defaultToOpen), isOpen = _b[0], setIsOpen = _b[1];
40491
- var AccordicardContent = function () {
40492
- return (React__default["default"].createElement(motion.div, { key: "content", initial: ['collapsed'], animate: "open", exit: "collapsed", variants: {
40332
+ const LuiAccordicard = (props) => {
40333
+ const { defaultToOpen = false, children, headerContent } = props;
40334
+ const [isOpen, setIsOpen] = React.useState(defaultToOpen);
40335
+ const AccordicardContent = () => {
40336
+ return (React__default["default"].createElement(motion.div, { className: "LuiAccordicard-contentWrapper", key: "content", initial: ['collapsed'], animate: "open", exit: "collapsed", variants: {
40493
40337
  open: {
40494
40338
  opacity: 1,
40495
40339
  height: 'auto',
@@ -40525,24 +40369,28 @@ var LuiAccordicard = function (props) {
40525
40369
  } },
40526
40370
  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))));
40527
40371
  };
40528
- return (React__default["default"].createElement(motion.div, { initial: false, className: clsx('LuiAccordicard', props.className, isOpen ? 'LuiAccordicard--isOpen' : null) },
40372
+ return (React__default["default"].createElement(motion.div, { initial: false, className: clsx('LuiAccordicard', props.className, isOpen ? 'LuiAccordicard--isOpen' : null, props.warning ? 'LuiAccordicard--warning' : null) },
40373
+ props.warning && (React__default["default"].createElement("div", { className: "LuiAccordicard-sideBar" },
40374
+ React__default["default"].createElement(LuiIcon, { className: "LuiAccordicard-warningIcon", alt: "Accordicard warning", name: 'ic_warning', size: 'md' }))),
40529
40375
  React__default["default"].createElement(motion.header, { layout: true, initial: false, className: "LuiAccordicard-header" },
40530
40376
  React__default["default"].createElement("div", { className: "LuiAccordicard-headerContent" }, headerContent)),
40531
40377
  React__default["default"].createElement(AnimatePresence, { initial: false }, isOpen && React__default["default"].createElement(AccordicardContent, null)),
40532
- React__default["default"].createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicard-trigger", onClick: function () { return setIsOpen(!isOpen); } },
40378
+ React__default["default"].createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicard-trigger", onClick: () => setIsOpen(!isOpen) },
40533
40379
  React__default["default"].createElement(LuiIcon, { className: clsx('LuiAccordicard-chevron', isOpen ? 'LuiAccordicard-chevron--isOpen' : null), name: 'ic_expand_more', alt: "expand", size: "md" }))));
40534
40380
  };
40535
40381
 
40536
- var LuiAccordicardStatic = function (props) {
40537
- var _a = props.defaultToOpen, defaultToOpen = _a === void 0 ? false : _a, children = props.children, headerContent = props.headerContent;
40538
- var _b = React.useState(defaultToOpen), isOpen = _b[0], setIsOpen = _b[1];
40539
- return (React__default["default"].createElement("div", { className: clsx('LuiAccordicardStatic', isOpen ? 'LuiAccordicardStatic--isOpen' : null, props.className) },
40382
+ const LuiAccordicardStatic = (props) => {
40383
+ const { defaultToOpen = false, children, headerContent } = props;
40384
+ const [isOpen, setIsOpen] = React.useState(defaultToOpen);
40385
+ return (React__default["default"].createElement("div", { className: clsx('LuiAccordicardStatic', isOpen ? 'LuiAccordicardStatic--isOpen' : null, props.warning ? 'LuiAccordicardStatic--warning' : null, props.className) },
40386
+ props.warning && (React__default["default"].createElement("div", { className: "LuiAccordicardStatic-sideBar" },
40387
+ React__default["default"].createElement(LuiIcon, { className: "LuiAccordicardStatic-warningIcon", alt: "Accordicard warning", name: 'ic_warning', size: 'md' }))),
40540
40388
  React__default["default"].createElement("div", { className: "LuiAccordicardStatic-header" },
40541
40389
  React__default["default"].createElement("div", { className: "LuiAccordicardStatic-headerContent" }, headerContent)),
40542
40390
  React__default["default"].createElement("div", { className: clsx('LuiAccordicardStatic-contentWrapper', isOpen ? 'LuiAccordicardStatic-contentWrapper--isOpen' : null) },
40543
40391
  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))),
40544
- React__default["default"].createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicardStatic-trigger", onClick: function () { return setIsOpen(!isOpen); } },
40545
- React__default["default"].createElement(LuiIcon, { className: clsx('LuiAccordicardStatic-chevron', isOpen ? 'LuiAccordicardStatic-chevron--isOpen' : null), name: 'ic_expand_more', alt: "expand", size: "md" }))));
40392
+ React__default["default"].createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicardStatic-trigger", onClick: () => setIsOpen(!isOpen) },
40393
+ 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" }))));
40546
40394
  };
40547
40395
 
40548
40396
  exports.FIRM_KEY = FIRM_KEY;