@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/lui.esm.js CHANGED
@@ -7,177 +7,10 @@ import require$$1, { createPortal } from 'react-dom';
7
7
  import lottie from 'lottie-web/build/player/lottie_light';
8
8
  import { useQuery } from 'react-query';
9
9
 
10
- function toVal(mix) {
11
- var k, y, str='';
12
-
13
- if (typeof mix === 'string' || typeof mix === 'number') {
14
- str += mix;
15
- } else if (typeof mix === 'object') {
16
- if (Array.isArray(mix)) {
17
- for (k=0; k < mix.length; k++) {
18
- if (mix[k]) {
19
- if (y = toVal(mix[k])) {
20
- str && (str += ' ');
21
- str += y;
22
- }
23
- }
24
- }
25
- } else {
26
- for (k in mix) {
27
- if (mix[k]) {
28
- str && (str += ' ');
29
- str += k;
30
- }
31
- }
32
- }
33
- }
34
-
35
- return str;
36
- }
37
-
38
- function clsx () {
39
- var i=0, tmp, x, str='';
40
- while (i < arguments.length) {
41
- if (tmp = arguments[i++]) {
42
- if (x = toVal(tmp)) {
43
- str && (str += ' ');
44
- str += x;
45
- }
46
- }
47
- }
48
- return str;
49
- }
50
-
51
- /*! *****************************************************************************
52
- Copyright (c) Microsoft Corporation.
53
-
54
- Permission to use, copy, modify, and/or distribute this software for any
55
- purpose with or without fee is hereby granted.
56
-
57
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
58
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
59
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
60
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
61
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
62
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
63
- PERFORMANCE OF THIS SOFTWARE.
64
- ***************************************************************************** */
65
- /* global Reflect, Promise */
66
-
67
- var extendStatics = function(d, b) {
68
- extendStatics = Object.setPrototypeOf ||
69
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
70
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
71
- return extendStatics(d, b);
72
- };
73
-
74
- function __extends(d, b) {
75
- if (typeof b !== "function" && b !== null)
76
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
77
- extendStatics(d, b);
78
- function __() { this.constructor = d; }
79
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
80
- }
81
-
82
- var __assign = function() {
83
- __assign = Object.assign || function __assign(t) {
84
- for (var s, i = 1, n = arguments.length; i < n; i++) {
85
- s = arguments[i];
86
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
87
- }
88
- return t;
89
- };
90
- return __assign.apply(this, arguments);
91
- };
92
-
93
- function __rest(s, e) {
94
- var t = {};
95
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
96
- t[p] = s[p];
97
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
98
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
99
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
100
- t[p[i]] = s[p[i]];
101
- }
102
- return t;
103
- }
104
-
105
- function __awaiter(thisArg, _arguments, P, generator) {
106
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
107
- return new (P || (P = Promise))(function (resolve, reject) {
108
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
109
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
110
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
111
- step((generator = generator.apply(thisArg, _arguments || [])).next());
112
- });
113
- }
114
-
115
- function __generator(thisArg, body) {
116
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
117
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
118
- function verb(n) { return function (v) { return step([n, v]); }; }
119
- function step(op) {
120
- if (f) throw new TypeError("Generator is already executing.");
121
- while (_) try {
122
- 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;
123
- if (y = 0, t) op = [op[0] & 2, t.value];
124
- switch (op[0]) {
125
- case 0: case 1: t = op; break;
126
- case 4: _.label++; return { value: op[1], done: false };
127
- case 5: _.label++; y = op[1]; op = [0]; continue;
128
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
129
- default:
130
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
131
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
132
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
133
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
134
- if (t[2]) _.ops.pop();
135
- _.trys.pop(); continue;
136
- }
137
- op = body.call(thisArg, _);
138
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
139
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
140
- }
141
- }
142
-
143
- function __read(o, n) {
144
- var m = typeof Symbol === "function" && o[Symbol.iterator];
145
- if (!m) return o;
146
- var i = m.call(o), r, ar = [], e;
147
- try {
148
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
149
- }
150
- catch (error) { e = { error: error }; }
151
- finally {
152
- try {
153
- if (r && !r.done && (m = i["return"])) m.call(i);
154
- }
155
- finally { if (e) throw e.error; }
156
- }
157
- return ar;
158
- }
159
-
160
- /** @deprecated */
161
- function __spreadArrays() {
162
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
163
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
164
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
165
- r[k] = a[j];
166
- return r;
167
- }
168
-
169
- function __spreadArray(to, from, pack) {
170
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
171
- if (ar || !(i in from)) {
172
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
173
- ar[i] = from[i];
174
- }
175
- }
176
- return to.concat(ar || Array.prototype.slice.call(from));
177
- }
10
+ 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}
178
11
 
179
12
  // START OF GENERATED FILE`;
180
- var iconMap = {};
13
+ let iconMap = {};
181
14
  // @TODO This is a generated file, nothing is safe.
182
15
  iconMap['ic_account_circle'] = (React__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
183
16
  React__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" })));
@@ -475,10 +308,10 @@ iconMap['ic_zoom_out'] = (React__default.createElement("svg", { viewBox: "0 0 24
475
308
  React__default.createElement("path", { d: "M19 13H5v-2h14v2Z" })));
476
309
  iconMap['ic_zoom_previous'] = (React__default.createElement("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
477
310
  React__default.createElement("path", { d: "M6 6h2v12H6V6Zm12 12-8.5-6L18 6v12Zm-5.03-6L16 14.14V9.86L12.97 12Z" })));
478
- var ICONS = iconMap;
311
+ const ICONS = iconMap;
479
312
  // END OF GENERATED FILE
480
313
 
481
- var ICON_SIZES = {
314
+ const ICON_SIZES = {
482
315
  xs: 'LuiIcon--xs',
483
316
  sm: 'LuiIcon--sm',
484
317
  md: 'LuiIcon--md',
@@ -486,7 +319,7 @@ var ICON_SIZES = {
486
319
  xl: 'LuiIcon--xl',
487
320
  ns: 'LuiIcon--noSize',
488
321
  };
489
- var ICON_STATUS = {
322
+ const ICON_STATUS = {
490
323
  none: '',
491
324
  error: 'LuiIcon--error',
492
325
  warning: 'LuiIcon--warning',
@@ -494,14 +327,13 @@ var ICON_STATUS = {
494
327
  interactive: 'LuiIcon--interactive',
495
328
  disabled: 'LuiIcon--disabled',
496
329
  };
497
- var LuiIcon = function (_a) {
498
- 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;
499
- var iconSVG = ICONS[name];
330
+ const LuiIcon = ({ name, className, size = 'ns', title, alt, status = 'none', spanProps, }) => {
331
+ const iconSVG = ICONS[name];
500
332
  if (!iconSVG) {
501
- console.warn("<LuiIcon>: No icon found for: " + iconSVG);
333
+ console.warn(`<LuiIcon>: No icon found for: ${iconSVG}`);
502
334
  return null;
503
335
  }
504
- return (React.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));
336
+ return (React.createElement("span", { className: clsx('LuiIcon', className, size && ICON_SIZES[size], status && ICON_STATUS[status]), "data-icon": name, title: title, "aria-label": alt, ...spanProps }, iconSVG));
505
337
  };
506
338
 
507
339
  function getMaterialIconForLevel(level) {
@@ -516,85 +348,84 @@ function getMaterialIconForLevel(level) {
516
348
  return 'error';
517
349
  }
518
350
  }
519
- var LuiBanner = function (props) {
520
- return (React__default.createElement("div", { className: clsx('lui-msg-banner-container', props.className ? props.className + "-bannerContainer" : '') },
351
+ const LuiBanner = (props) => {
352
+ return (React__default.createElement("div", { className: clsx('lui-msg-banner-container', props.className ? `${props.className}-bannerContainer` : '') },
521
353
  React__default.createElement(LuiBannerContent, { level: props.level, className: props.className }, props.children)));
522
354
  };
523
- var LuiBannerContent = function (props) {
524
- var materialIcon = getMaterialIconForLevel(props.level);
525
- return (React__default.createElement("div", { className: clsx("lui-msg-" + props.level + " lui-msg-dynamic-banner", props.className) },
526
- React__default.createElement(LuiIcon, { name: "ic_" + materialIcon, alt: props.level + " banner icon", size: "lg", className: "lui-msg-status-icon" }),
355
+ const LuiBannerContent = (props) => {
356
+ let materialIcon = getMaterialIconForLevel(props.level);
357
+ return (React__default.createElement("div", { className: clsx(`lui-msg-${props.level} lui-msg-dynamic-banner`, props.className) },
358
+ React__default.createElement(LuiIcon, { name: `ic_${materialIcon}`, alt: `${props.level} banner icon`, size: "lg", className: "lui-msg-status-icon" }),
527
359
  React__default.createElement("div", null, props.children)));
528
360
  };
529
361
 
530
- var LuiStaticMessage = function (props) {
531
- var _a = useState(true), display = _a[0], setDisplay = _a[1];
532
- var materialIcon = getMaterialIconForLevel(props.level);
533
- return display ? (React__default.createElement("div", { className: clsx("lui-msg-" + props.level, props.className), "data-testid": 'static-message-container' },
534
- React__default.createElement(LuiIcon, { name: "ic_" + materialIcon, alt: props.level + " static icon", size: "lg", className: "lui-msg-status-icon" }),
362
+ const LuiStaticMessage = (props) => {
363
+ const [display, setDisplay] = useState(true);
364
+ let materialIcon = getMaterialIconForLevel(props.level);
365
+ return display ? (React__default.createElement("div", { className: clsx(`lui-msg-${props.level}`, props.className), "data-testid": 'static-message-container' },
366
+ React__default.createElement(LuiIcon, { name: `ic_${materialIcon}`, alt: `${props.level} static icon`, size: "lg", className: "lui-msg-status-icon" }),
535
367
  props.children,
536
- (props.closable === undefined || props.closable) && (React__default.createElement("button", { "aria-label": "Close dialog", onClick: function () {
368
+ (props.closable === undefined || props.closable) && (React__default.createElement("button", { "aria-label": "Close dialog", onClick: () => {
537
369
  setDisplay(false);
538
370
  } },
539
371
  React__default.createElement(LuiIcon, { name: "ic_clear", alt: 'close', size: "md", className: "LuiStaticMsg-close" }))))) : (React__default.createElement(React__default.Fragment, null));
540
372
  };
541
373
 
542
- var PlainButton = React__default.forwardRef(function (props, ref) {
543
- return (React__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));
374
+ const PlainButton = React__default.forwardRef((props, ref) => {
375
+ return (React__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));
544
376
  });
545
- var LuiButton = React__default.forwardRef(function (props, ref) {
546
- var _level = props.level ? props.level : 'primary';
547
- var size = props.size ? props.size : 'med';
377
+ const LuiButton = React__default.forwardRef((props, ref) => {
378
+ const _level = props.level ? props.level : 'primary';
379
+ const size = props.size ? props.size : 'med';
548
380
  if (props.href) {
549
- var aProps = {
381
+ let aProps = {
550
382
  href: props.href,
551
383
  'data-testid': props['data-testid'],
552
384
  name: props.name,
553
385
  title: props.title,
554
- className: clsx('lui-button', "lui-button-" + props.level, "lui-button-" + props.size, props.className),
386
+ className: clsx('lui-button', `lui-button-${props.level}`, `lui-button-${props.size}`, props.className),
555
387
  style: props.style,
556
388
  };
557
389
  if (props.openInNewTab) {
558
390
  aProps.target = '_blank';
559
391
  aProps.rel = 'noopener noreferrer';
560
392
  }
561
- return React__default.createElement("a", __assign({}, aProps), props.children);
393
+ return React__default.createElement("a", { ...aProps }, props.children);
562
394
  }
563
395
  return (React__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));
564
396
  });
565
397
  /**
566
398
  * A series of Lui buttons together.
567
399
  */
568
- var LuiButtonGroup = function (props) {
569
- var children = Array.isArray(props.children)
400
+ const LuiButtonGroup = (props) => {
401
+ const children = Array.isArray(props.children)
570
402
  ? props.children
571
403
  : [props.children];
572
- return (React__default.createElement("div", { className: "lui-button-group", "data-testid": 'button-group' }, children.map(function (child, i) {
404
+ return (React__default.createElement("div", { className: "lui-button-group", "data-testid": 'button-group' }, children.map((child, i) => {
573
405
  return (React__default.createElement("div", { key: i, className: 'lui-button-wrapper' }, child));
574
406
  })));
575
407
  };
576
408
 
577
- var LuiToastMessage = function (_a) {
578
- 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;
579
- var _d = useState('lui-msg-toast-show'), className = _d[0], setClassname = _d[1];
580
- var _e = useState(undefined), fadeOutTimer = _e[0], setFadeOutTimer = _e[1];
581
- var _f = useState(undefined), removeTimer = _f[0], setRemoveTimer = _f[1];
582
- var materialIcon = getMaterialIconForLevel(level);
583
- var callOnCloseAfterDissolved = function () {
409
+ const LuiToastMessage = ({ level, displayTimeout = 4000, display = true, requireDismiss, onClose, children, type, }) => {
410
+ const [className, setClassname] = useState('lui-msg-toast-show');
411
+ const [fadeOutTimer, setFadeOutTimer] = useState(undefined);
412
+ const [removeTimer, setRemoveTimer] = useState(undefined);
413
+ let materialIcon = getMaterialIconForLevel(level);
414
+ const callOnCloseAfterDissolved = () => {
584
415
  // This is so the caller can remove it from the dom
585
416
  if (onClose) {
586
- var timer = window.setTimeout(onClose, displayTimeout);
417
+ const timer = window.setTimeout(onClose, displayTimeout);
587
418
  setRemoveTimer(timer);
588
419
  }
589
420
  };
590
- useEffect(function () {
421
+ useEffect(() => {
591
422
  // clear timers if previously set
592
423
  fadeOutTimer && clearTimeout(fadeOutTimer);
593
424
  removeTimer && clearTimeout(removeTimer);
594
425
  setClassname('lui-msg-toast-show');
595
426
  if (!requireDismiss && displayTimeout !== 0) {
596
427
  // set a new timer
597
- var timer = window.setTimeout(function () {
428
+ const timer = window.setTimeout(() => {
598
429
  setClassname('lui-msg-toast-hide');
599
430
  callOnCloseAfterDissolved();
600
431
  }, displayTimeout);
@@ -602,36 +433,36 @@ var LuiToastMessage = function (_a) {
602
433
  }
603
434
  // eslint-disable-next-line react-hooks/exhaustive-deps
604
435
  }, [requireDismiss, displayTimeout, children]);
605
- useEffect(function () {
436
+ useEffect(() => {
606
437
  if (!display) {
607
438
  setClassname('lui-msg-toast-hide');
608
439
  callOnCloseAfterDissolved();
609
440
  }
610
441
  // eslint-disable-next-line react-hooks/exhaustive-deps
611
442
  }, [display]);
612
- return (React__default.createElement("div", { role: "status", "data-testid": className, className: "lui-msg-" + level + " lui-msg-toast lui-msg-toast-dismissable " + className },
443
+ return (React__default.createElement("div", { role: "status", "data-testid": className, className: `lui-msg-${level} lui-msg-toast lui-msg-toast-dismissable ${className}` },
613
444
  React__default.createElement("i", { className: "lui-msg-status-icon material-icons-round" }, materialIcon),
614
445
  children,
615
- React__default.createElement("button", { "aria-label": "Close dialog", type: type || 'button', onClick: function () {
446
+ React__default.createElement("button", { "aria-label": "Close dialog", type: type || 'button', onClick: () => {
616
447
  setClassname('lui-msg-toast-hide');
617
448
  callOnCloseAfterDissolved();
618
449
  } },
619
450
  React__default.createElement("i", { className: "material-icons-round" }, "close"))));
620
451
  };
621
452
 
622
- var UIMessagingContext = createContext({
453
+ const UIMessagingContext = createContext({
623
454
  // @ts-ignore
624
- showMessage: function (props) { },
455
+ showMessage: (props) => { },
625
456
  });
626
457
  function useShowLUIMessage() {
627
458
  return useContext(UIMessagingContext).showMessage;
628
459
  }
629
- var LuiMessagingContextProvider = function (props) {
630
- var _a = useState(), _message = _a[0], setMessage = _a[1];
631
- var _b = useState(), _messageType = _b[0], setMessageType = _b[1];
632
- var _c = useState('success'), _messageLevel = _c[0], setMessageLevel = _c[1];
633
- var _d = useState(true), _requireDismiss = _d[0], setRequireDismiss = _d[1];
634
- var showMessage = function (props) {
460
+ const LuiMessagingContextProvider = (props) => {
461
+ const [_message, setMessage] = useState();
462
+ const [_messageType, setMessageType] = useState();
463
+ const [_messageLevel, setMessageLevel] = useState('success');
464
+ const [_requireDismiss, setRequireDismiss] = useState(true);
465
+ const showMessage = (props) => {
635
466
  setMessage(props.message);
636
467
  setMessageType(props.messageType);
637
468
  setMessageLevel(props.messageLevel);
@@ -639,10 +470,10 @@ var LuiMessagingContextProvider = function (props) {
639
470
  ? props.messageLevel === 'error'
640
471
  : props.requireDismiss);
641
472
  };
642
- var renderMessage = function () {
473
+ const renderMessage = () => {
643
474
  switch (_messageType) {
644
475
  case 'toast':
645
- return (React__default.createElement(LuiToastMessage, { onClose: function () {
476
+ return (React__default.createElement(LuiToastMessage, { onClose: () => {
646
477
  setMessage(undefined);
647
478
  }, level: _messageLevel, requireDismiss: _requireDismiss },
648
479
  React__default.createElement("span", { "data-testid": 'toastMessageShow' }, typeof _message === 'string' ? React__default.createElement("h2", null, _message) : _message)));
@@ -650,45 +481,45 @@ var LuiMessagingContextProvider = function (props) {
650
481
  return null;
651
482
  }
652
483
  };
653
- return (React__default.createElement(UIMessagingContext.Provider, { value: { showMessage: showMessage } },
484
+ return (React__default.createElement(UIMessagingContext.Provider, { value: { showMessage } },
654
485
  _message && renderMessage(),
655
486
  props.children));
656
487
  };
657
488
 
658
- var LuiExpandableBanner = function (props) {
659
- var display = useRef(null);
660
- var _a = useState(true), collapse = _a[0], setCollapse = _a[1];
661
- var collapseSection = function (element) {
489
+ const LuiExpandableBanner = (props) => {
490
+ const display = useRef(null);
491
+ const [collapse, setCollapse] = useState(true);
492
+ const collapseSection = (element) => {
662
493
  // get the height of the element's inner content, regardless of its actual size
663
- var sectionHeight = element.scrollHeight;
494
+ const sectionHeight = element.scrollHeight;
664
495
  // on the next frame (as soon as the previous style change has taken effect),
665
496
  // explicitly set the element's height to its current pixel height, so we
666
497
  // aren't transitioning out of 'auto'
667
- requestAnimationFrame(function () {
498
+ requestAnimationFrame(() => {
668
499
  element.style.height = sectionHeight + 'px';
669
500
  // on the next frame (as soon as the previous style change has taken effect),
670
501
  // have the element transition to height: 0
671
- requestAnimationFrame(function () {
502
+ requestAnimationFrame(() => {
672
503
  element.style.height = 0 + 'px';
673
504
  });
674
505
  });
675
506
  // mark the section as "currently collapsed"
676
507
  setCollapse(true);
677
508
  };
678
- var expandSection = function (element) {
509
+ const expandSection = (element) => {
679
510
  // get the height of the element's inner content, regardless of its actual size
680
- var sectionHeight = element.scrollHeight;
511
+ const sectionHeight = element.scrollHeight;
681
512
  // have the element transition to the height of its inner content
682
513
  element.style.height = sectionHeight + 'px';
683
514
  // when the next css transition finishes (which should be the one we just triggered)
684
- setTimeout(function () {
515
+ setTimeout(() => {
685
516
  element.style.height = 'auto';
686
517
  }, 500);
687
518
  // mark the section as "currently not collapsed"
688
519
  setCollapse(false);
689
520
  };
690
- var expandFunction = function () {
691
- var section = display.current;
521
+ const expandFunction = () => {
522
+ const section = display.current;
692
523
  if (collapse) {
693
524
  expandSection(section);
694
525
  }
@@ -711,36 +542,33 @@ var LuiExpandableBanner = function (props) {
711
542
  * A menu controlled by a user-supplied MenuButton. Open/closed state is managed internally. The defaulted style props,
712
543
  * menuClassName and offsetY, can be overridden simply by setting them in the usual way.
713
544
  */
714
- var LuiMenu = function (props) {
715
- return React__default.createElement(Menu$1, __assign({ menuClassName: 'lui-menu', offsetY: 12 }, props));
545
+ const LuiMenu = (props) => {
546
+ return React__default.createElement(Menu$1, { menuClassName: 'lui-menu', offsetY: 12, ...props });
716
547
  };
717
548
  /**
718
549
  * A menu with state managed externally. Can be used quite conveniently as a context menu. The defaulted style props,
719
550
  * menuClassName and offsetY, can be overridden simply by setting them in the usual way.
720
551
  */
721
- var LuiControlledMenu = function (props) {
722
- return React__default.createElement(ControlledMenu, __assign({ menuClassName: 'lui-menu', offsetY: 12 }, props));
552
+ const LuiControlledMenu = (props) => {
553
+ return React__default.createElement(ControlledMenu, { menuClassName: 'lui-menu', offsetY: 12, ...props });
723
554
  };
724
555
 
725
- var LuiSelectMenu = function (_a) {
726
- var props = __rest(_a, []);
727
- return React__default.createElement(Menu$1, __assign({ menuClassName: 'lui-select-menu', offsetY: 12 }, props));
556
+ const LuiSelectMenu = ({ ...props }) => {
557
+ return React__default.createElement(Menu$1, { menuClassName: 'lui-select-menu', offsetY: 12, ...props });
728
558
  };
729
- var LuiSelectMenuItem = function (_a) {
730
- 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"]);
731
- return (React__default.createElement(MenuItem, __assign({}, rest, { className: clsx('lui-select-menuItem', "lui-select-menuItem--" + (level ? level : 'primary'), rest.className), "data-testid": rest['data-testid'] }),
559
+ const LuiSelectMenuItem = ({ iconName, iconAlt, level, noPadding = false, ...rest }) => {
560
+ return (React__default.createElement(MenuItem, { ...rest, className: clsx('lui-select-menuItem', `lui-select-menuItem--${level ? level : 'primary'}`, rest.className), "data-testid": rest['data-testid'] },
732
561
  iconName ? (React__default.createElement(LuiIcon, { className: "lui-select-icon", name: iconName, alt: iconAlt ? iconAlt : '', size: "md" })) : (''),
733
562
  React__default.createElement("p", { className: clsx('lui-select-menuItemText', {
734
563
  'lui-select-menuItemText--noPadding': noPadding,
735
564
  }) }, rest.children)));
736
565
  };
737
- var LuiSelectSubMenuItem = function (_a) {
738
- var label = _a.label, iconName = _a.iconName, iconAlt = _a.iconAlt, rest = __rest(_a, ["label", "iconName", "iconAlt"]);
739
- return (React__default.createElement(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
566
+ const LuiSelectSubMenuItem = ({ label, iconName, iconAlt, ...rest }) => {
567
+ return (React__default.createElement(SubMenu, { ...rest, className: clsx({ 'lui-select-submenu': iconName === undefined }, { 'lui-select-submenu-with-icon': !!iconName }, rest.className), menuClassName: 'lui-select-menu', label: iconName === undefined
740
568
  ? label
741
- : LuiSubMenuComponent(label, iconName, iconAlt) }), rest.children));
569
+ : LuiSubMenuComponent(label, iconName, iconAlt) }, rest.children));
742
570
  };
743
- var LuiSubMenuComponent = function (label, iconName, iconAlt) {
571
+ const LuiSubMenuComponent = (label, iconName, iconAlt) => {
744
572
  return (React__default.createElement(React__default.Fragment, null,
745
573
  iconName === undefined ? ('') : (React__default.createElement(LuiIcon, { className: "lui-menu-sub-header-icon", name: iconName, alt: iconAlt ? iconAlt : '', size: "md" })),
746
574
  label));
@@ -775,11 +603,10 @@ let nanoid = (size = 21) => {
775
603
  };
776
604
 
777
605
  // Lui Select menu with dynamic data
778
- var LuiSelectDataMenu = function (_a) {
779
- var props = __rest(_a, []);
780
- return (React__default.createElement(LuiSelectMenu, __assign({ menuClassName: 'lui-select-menu', offsetY: 12 }, props), displayMenu(props.items)));
606
+ const LuiSelectDataMenu = ({ ...props }) => {
607
+ return (React__default.createElement(LuiSelectMenu, { menuClassName: 'lui-select-menu', offsetY: 12, ...props }, displayMenu(props.items)));
781
608
  };
782
- var displayMenu = function (items) { return (React__default.createElement(React__default.Fragment, null, items.map(function (item) {
609
+ const displayMenu = (items) => (React__default.createElement(React__default.Fragment, null, items.map((item) => {
783
610
  if (item.options === undefined) {
784
611
  return (React__default.createElement(React__default.Fragment, { key: nanoid() },
785
612
  item.header ? React__default.createElement(GroupHeader, null, item.headerLabel) : null,
@@ -789,18 +616,15 @@ var displayMenu = function (items) { return (React__default.createElement(React_
789
616
  return (React__default.createElement(React__default.Fragment, { key: nanoid() },
790
617
  React__default.createElement(LuiSelectSubMenuItem, { label: item.label, iconName: item.iconName }, displayMenu(item.options))));
791
618
  }
792
- }))); };
793
- var GroupHeader = function (_a) {
794
- var children = _a.children;
795
- return (React__default.createElement(React__default.Fragment, null,
796
- React__default.createElement(MenuDivider, { className: "lui-select-divider" }),
797
- children && (React__default.createElement(MenuHeader, { autoCapitalize: "false", className: "lui-select-menu-group" }, children))));
798
- };
799
- var LuiSelectMenuDivider = function () {
619
+ })));
620
+ const GroupHeader = ({ children, }) => (React__default.createElement(React__default.Fragment, null,
621
+ React__default.createElement(MenuDivider, { className: "lui-select-divider" }),
622
+ children && (React__default.createElement(MenuHeader, { autoCapitalize: "false", className: "lui-select-menu-group" }, children))));
623
+ const LuiSelectMenuDivider = () => {
800
624
  return React__default.createElement(MenuDivider, { className: "lui-select-divider" });
801
625
  };
802
- var LuiSelectMenuHeader = function (props) {
803
- return React__default.createElement(MenuHeader, __assign({ className: "lui-select-menu-group" }, props));
626
+ const LuiSelectMenuHeader = (props) => {
627
+ return React__default.createElement(MenuHeader, { className: "lui-select-menu-group", ...props });
804
628
  };
805
629
 
806
630
  function styleInject(css, ref) {
@@ -830,12 +654,12 @@ function styleInject(css, ref) {
830
654
  }
831
655
  }
832
656
 
833
- var LuiFilterMenu = function (props) {
834
- var _a = useState(''), filter = _a[0], setFilter = _a[1];
835
- var _b = useMenuState(), toggleMenu = _b.toggleMenu, menuProps = __rest(_b, ["toggleMenu"]);
836
- var ref = useRef(null);
657
+ const LuiFilterMenu = (props) => {
658
+ const [filter, setFilter] = useState('');
659
+ const { toggleMenu, ...menuProps } = useMenuState();
660
+ const ref = useRef(null);
837
661
  return (React__default.createElement("div", { ref: ref },
838
- props.menuButton(function () {
662
+ props.menuButton(() => {
839
663
  switch (props.enabled) {
840
664
  case false: {
841
665
  toggleMenu(false);
@@ -847,28 +671,23 @@ var LuiFilterMenu = function (props) {
847
671
  }
848
672
  }
849
673
  }),
850
- React__default.createElement(ControlledMenu, __assign({}, menuProps, { anchorRef: ref, onClose: function () { return toggleMenu(false); }, className: "lui-menu", offsetY: 12, onChange: function (e) {
674
+ React__default.createElement(ControlledMenu, { ...menuProps, anchorRef: ref, onClose: () => toggleMenu(false), className: "lui-menu", offsetY: 12, onChange: (e) => {
851
675
  e.open && setFilter('');
852
676
  }, menuStyles: props.maxRows !== undefined
853
677
  ? { maxHeight: 62 + 34 * props.maxRows, overflowY: 'auto' }
854
- : {} }),
855
- React__default.createElement(FocusableItem, null, function (_a) {
856
- var ref = _a.ref;
857
- return (React__default.createElement("input", { ref: ref, type: "text", placeholder: "Type to filter", value: filter, onChange: function (e) { return setFilter(e.target.value); } }));
858
- }),
678
+ : {} },
679
+ React__default.createElement(FocusableItem, null, ({ ref }) => (React__default.createElement("input", { ref: ref, type: "text", placeholder: "Type to filter", value: filter, onChange: (e) => setFilter(e.target.value) }))),
859
680
  props.filteredItems
860
- .filter(function (item) {
861
- return item.display.toUpperCase().includes(filter.trim().toUpperCase());
862
- })
863
- .map(function (item) {
864
- if ((item === null || item === void 0 ? void 0 : item.specialType) === 'div') {
681
+ .filter((item) => item.display.toUpperCase().includes(filter.trim().toUpperCase()))
682
+ .map((item) => {
683
+ if (item?.specialType === 'div') {
865
684
  return React__default.createElement(MenuDivider, { key: item.id });
866
685
  }
867
- else if ((item === null || item === void 0 ? void 0 : item.specialType) === 'head') {
686
+ else if (item?.specialType === 'head') {
868
687
  return React__default.createElement(MenuHeader, { key: item.id }, item.display);
869
688
  }
870
689
  else {
871
- return (React__default.createElement(MenuItem, { key: item.id, onMouseDown: function (e) {
690
+ return (React__default.createElement(MenuItem, { key: item.id, onMouseDown: (e) => {
872
691
  props.onItemClick(item.id);
873
692
  e.stopPropagation();
874
693
  } }, item.display));
@@ -876,51 +695,50 @@ var LuiFilterMenu = function (props) {
876
695
  }))));
877
696
  };
878
697
 
879
- var LuiTabsContext = React__default.createContext({
698
+ const LuiTabsContext = React__default.createContext({
880
699
  activePanel: null,
881
- setActivePanel: function () { },
700
+ setActivePanel: () => { },
882
701
  });
883
- var LuiTabs = function (props) {
884
- var _a = useState(props.defaultPanel), activePanel = _a[0], setActivePanel = _a[1];
702
+ const LuiTabs = (props) => {
703
+ let [activePanel, setActivePanel] = useState(props.defaultPanel);
885
704
  return (React__default.createElement("div", { className: "LuiTabs" },
886
- React__default.createElement(LuiTabsContext.Provider, { value: { activePanel: activePanel, setActivePanel: setActivePanel } }, props.children)));
705
+ React__default.createElement(LuiTabsContext.Provider, { value: { activePanel, setActivePanel } }, props.children)));
887
706
  };
888
707
 
889
- var LuiTab = function (props) {
890
- return (React__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));
708
+ const LuiTab = (props) => {
709
+ return (React__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));
891
710
  };
892
711
 
893
712
  // import './LuiTabsGroup.scss';
894
- var LuiTabsGroup = function (props) {
895
- return (React__default.createElement("div", { className: "LuiTabsGroup " + (props.justify ? 'LuiTabsGroup--justified' : ''), role: "tablist", "aria-label": props.ariaLabel }, props.children));
713
+ const LuiTabsGroup = (props) => {
714
+ return (React__default.createElement("div", { className: `LuiTabsGroup ${props.justify ? 'LuiTabsGroup--justified' : ''}`, role: "tablist", "aria-label": props.ariaLabel }, props.children));
896
715
  };
897
716
 
898
- var LuiTabsPanel = function (_a) {
899
- var children = _a.children, panel = _a.panel, _b = _a.mode, mode = _b === void 0 ? 'eager' : _b;
900
- var context = useContext(LuiTabsContext);
901
- var _c = useState(mode === 'eager'), shouldShow = _c[0], setShouldShow = _c[1];
902
- var active = context.activePanel === panel;
903
- useEffect(function () {
717
+ const LuiTabsPanel = ({ children, panel, mode = 'eager', }) => {
718
+ const context = useContext(LuiTabsContext);
719
+ const [shouldShow, setShouldShow] = useState(mode === 'eager');
720
+ let active = context.activePanel === panel;
721
+ useEffect(() => {
904
722
  if (active && !shouldShow) {
905
723
  setShouldShow(true);
906
724
  }
907
725
  }, [active, shouldShow]);
908
- return (React__default.createElement("div", { className: clsx('LuiTabsPanel', active && 'LuiTabsPanel--active'), id: panel + "-tab-panel", role: "tabpanel", "aria-labelledby": panel + "-tab" }, shouldShow ? children : null));
726
+ return (React__default.createElement("div", { className: clsx('LuiTabsPanel', active && 'LuiTabsPanel--active'), id: `${panel}-tab-panel`, role: "tabpanel", "aria-labelledby": `${panel}-tab` }, shouldShow ? children : null));
909
727
  };
910
728
 
911
- var LuiTabsPanelSwitch = function (props) {
912
- var context = useContext(LuiTabsContext);
913
- var active = context.activePanel === props.targetPanel;
914
- return (React__default.createElement(LuiTab, { id: props.targetPanel + "-tab", ariaControls: props.targetPanel + "-tab-panel", active: active, onClick: function () {
729
+ const LuiTabsPanelSwitch = (props) => {
730
+ const context = useContext(LuiTabsContext);
731
+ let active = context.activePanel === props.targetPanel;
732
+ return (React__default.createElement(LuiTab, { id: `${props.targetPanel}-tab`, ariaControls: `${props.targetPanel}-tab-panel`, active: active, onClick: () => {
915
733
  if (context.setActivePanel)
916
734
  context.setActivePanel(props.targetPanel);
917
735
  } }, props.children));
918
736
  };
919
737
 
920
738
  function useDeprecatedWarning(componentName) {
921
- useEffect(function () {
739
+ useEffect(() => {
922
740
  if (window.location.hostname.includes('localhost')) {
923
- console.warn(componentName + " will be deprecated in future versions of Lui. Please see the 'Current Deprecations' page in Lui docs.");
741
+ console.warn(`${componentName} will be deprecated in future versions of Lui. Please see the 'Current Deprecations' page in Lui docs.`);
924
742
  }
925
743
  }, []);
926
744
  }
@@ -928,9 +746,11 @@ function useDeprecatedWarning(componentName) {
928
746
  function LuiFormikForm(props) {
929
747
  useDeprecatedWarning('LuiFormikForm');
930
748
  // this spreads all keys, except className
931
- var _a = __assign({}, props); _a.className; var formikProps = __rest(_a, ["className"]);
932
- var classNames = clsx(props.className);
933
- return (React__default.createElement(Formik, __assign({}, formikProps),
749
+ const { className, ...formikProps } = { ...props };
750
+ const classNames = clsx(props.className);
751
+ return (
752
+ // @ts-ignore not fixing due this component being deprecated
753
+ React__default.createElement(Formik, { ...formikProps },
934
754
  React__default.createElement("div", { className: classNames },
935
755
  React__default.createElement(Form, null,
936
756
  props.children,
@@ -940,12 +760,9 @@ function LuiFormikForm(props) {
940
760
  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}";
941
761
  styleInject(css_248z$5);
942
762
 
943
- var LuiError = function (_a) {
944
- var error = _a.error, className = _a.className;
945
- return (React__default.createElement("div", { className: "LuiError " + className + "-error" },
946
- React__default.createElement(LuiIcon, { className: "LuiError-errorIcon " + className + "-errorIcon", alt: 'Error', name: "ic_error", size: "md", status: "error" }),
947
- error && (React__default.createElement("span", { className: "LuiError-errorText " + className + "-errorText" }, error))));
948
- };
763
+ const LuiError = ({ error, className }) => (React__default.createElement("div", { className: `LuiError ${className}-error` },
764
+ React__default.createElement(LuiIcon, { className: `LuiError-errorIcon ${className}-errorIcon`, alt: 'Error', name: "ic_error", size: "md", status: "error" }),
765
+ error && (React__default.createElement("span", { className: `LuiError-errorText ${className}-errorText` }, error))));
949
766
 
950
767
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
951
768
  // require the crypto API and do not support built-in fallback to lower quality random number
@@ -1022,29 +839,27 @@ function v4(options, buf, offset) {
1022
839
  }
1023
840
 
1024
841
  function useGenerateOrDefaultId(idFromProps) {
1025
- var id = useState(idFromProps ? idFromProps : v4())[0];
842
+ const [id] = useState(idFromProps ? idFromProps : v4());
1026
843
  return id;
1027
844
  }
1028
- var LuiTextInput = function (props) {
1029
- var _a;
1030
- var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
845
+ const LuiTextInput = (props) => {
846
+ const id = useGenerateOrDefaultId(props.inputProps?.id);
1031
847
  return (React__default.createElement("div", { className: clsx('LuiTextInput', props.error && 'hasError', props.className) },
1032
848
  React__default.createElement("label", { className: 'LuiTextInput-label', htmlFor: id },
1033
849
  props.mandatory && React__default.createElement("span", { className: "LuiTextInput-mandatory" }, "*"),
1034
850
  React__default.createElement("span", { className: 'LuiTextInput-label-text ' +
1035
851
  clsx(props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
1036
852
  React__default.createElement("span", { className: "LuiTextInput-inputWrapper" },
1037
- React__default.createElement("input", __assign({ type: 'text', className: (props.showPadlockIcon ? 'LuiTextInput-padlock-icon ' : '') +
1038
- clsx('LuiTextInput-input'), min: "0", value: props.value, onChange: props.onChange }, props.inputProps, { id: id })),
853
+ React__default.createElement("input", { type: 'text', className: (props.showPadlockIcon ? 'LuiTextInput-padlock-icon ' : '') +
854
+ clsx('LuiTextInput-input'), min: "0", value: props.value, onChange: props.onChange, ...props.inputProps, id: id }),
1039
855
  props.icon),
1040
856
  props.error && (React__default.createElement("span", { className: "LuiTextInput-error" },
1041
857
  React__default.createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextInput-error-icon", size: "sm", status: "error" }),
1042
858
  props.error)))));
1043
859
  };
1044
860
 
1045
- var LuiCheckboxInput = function (props) {
1046
- var _a;
1047
- var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
861
+ const LuiCheckboxInput = (props) => {
862
+ const id = useGenerateOrDefaultId(props.inputProps?.id);
1048
863
  return (React__default.createElement("div", { className: clsx('LuiCheckboxInput', {
1049
864
  'LuiCheckboxInput--isChecked': props.isChecked,
1050
865
  'LuiCheckboxInput--hasError': !!props.error,
@@ -1052,27 +867,25 @@ var LuiCheckboxInput = function (props) {
1052
867
  }, props.className) },
1053
868
  React__default.createElement("label", { htmlFor: id, className: "LuiCheckboxInput-group" },
1054
869
  props.mandatory && (React__default.createElement("span", { "aria-label": "Required", className: "LuiCheckboxInput-mandatory" }, "*")),
1055
- React__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)),
870
+ React__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 }),
1056
871
  React__default.createElement("span", { className: "LuiCheckboxInput-label" },
1057
872
  props.label,
1058
- React__default.createElement(LuiIcon, { name: props.isIndeterminate ? 'ic_zoom_out' : 'ic_check', size: "md", alt: props.isIndeterminate ? 'Indeterminate Check' : 'Check', className: "LuiCheckboxInput-labelCheck" }))),
873
+ React__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 }))),
1059
874
  props.error && (React__default.createElement(LuiError, { className: "LuiCheckboxInput", error: props.error }))));
1060
875
  };
1061
876
 
1062
- var LuiFileInputBox = function (props) {
1063
- var _a = useState(), file = _a[0], setFile = _a[1];
1064
- var _b = useState(false), hasFileFormatError = _b[0], setHasFileFormatError = _b[1];
1065
- var onChange = function (e) {
877
+ const LuiFileInputBox = (props) => {
878
+ const [file, setFile] = useState();
879
+ const [hasFileFormatError, setHasFileFormatError] = useState(false);
880
+ const onChange = (e) => {
1066
881
  // Logic to go here to check extensions and setHasFileFormatError
1067
882
  setHasFileFormatError(false);
1068
- var files = e.target.files;
883
+ const files = e.target.files;
1069
884
  // File upload box is configured to only accept 1 file, we can't have more than one here
1070
885
  if (files && files.length === 1) {
1071
- var selectedFile = files[0];
1072
- var supportedFileTypes = props.acceptedExtensions.map(function (ext) {
1073
- return ext.toUpperCase();
1074
- });
1075
- var fileName = selectedFile.name;
886
+ const selectedFile = files[0];
887
+ const supportedFileTypes = props.acceptedExtensions.map((ext) => ext.toUpperCase());
888
+ const fileName = selectedFile.name;
1076
889
  if (!supportedFileTypes.includes(getFileNameExtension(fileName))) {
1077
890
  setHasFileFormatError(true);
1078
891
  setFile(undefined);
@@ -1083,10 +896,10 @@ var LuiFileInputBox = function (props) {
1083
896
  }
1084
897
  }
1085
898
  };
1086
- var hasError = hasFileFormatError || props.showMustSelectFileError === true;
899
+ const hasError = hasFileFormatError || props.showMustSelectFileError === true;
1087
900
  return (React__default.createElement("div", { className: clsx('LuiFileInputBox-upload', hasError && 'LuiFileInputBox-upload-error'), style: { width: props.width || 320, height: props.height || 320 } },
1088
901
  React__default.createElement("input", { role: "button", "aria-label": "File Upload", type: "file", className: "LuiFileInputBox-upload-input", accept: props.acceptedExtensions
1089
- .map(function (extension) { return "." + extension; })
902
+ .map((extension) => `.${extension}`)
1090
903
  .join(','), onChange: onChange }),
1091
904
  React__default.createElement(React__default.Fragment, null, hasError ? (React__default.createElement("div", { className: "LuiFileInputBox-upload-container" },
1092
905
  React__default.createElement(React__default.Fragment, null,
@@ -1096,26 +909,26 @@ var LuiFileInputBox = function (props) {
1096
909
  "You must select a file with extension of",
1097
910
  ' ',
1098
911
  extensionsAsHumanReadableList(props.acceptedExtensions),
1099
- "."))))) : (React__default.createElement(FileUploadInfo, { fileName: file === null || file === void 0 ? void 0 : file.name, fileFormatText: props.fileFormatText, fileDescription: props.fileDescription })))));
912
+ "."))))) : (React__default.createElement(FileUploadInfo, { fileName: file?.name, fileFormatText: props.fileFormatText, fileDescription: props.fileDescription })))));
1100
913
  };
1101
914
  // Only exported for chromatic
1102
- var FileUploadInfo = function (props) {
1103
- var DragAndDropInstruction = function () { return (React__default.createElement("p", { className: "LuiFileInputBox-upload-text" },
915
+ const FileUploadInfo = (props) => {
916
+ const DragAndDropInstruction = () => (React__default.createElement("p", { className: "LuiFileInputBox-upload-text" },
1104
917
  "Drag and drop your ",
1105
918
  props.fileDescription,
1106
919
  " into the box",
1107
920
  React__default.createElement("br", null),
1108
- React__default.createElement("span", null, "(or upload file manually)"))); };
1109
- var WaitingForFileSelection = function () { return (React__default.createElement(React__default.Fragment, null,
921
+ React__default.createElement("span", null, "(or upload file manually)")));
922
+ const WaitingForFileSelection = () => (React__default.createElement(React__default.Fragment, null,
1110
923
  React__default.createElement("div", { className: 'LuiFileInputBox-upload-icon-upload' },
1111
924
  React__default.createElement(LuiIcon, { name: "ic_publish", size: 'ns', alt: "Upload" })),
1112
925
  React__default.createElement(DragAndDropInstruction, null),
1113
- props.fileFormatText && (React__default.createElement("p", { className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding" }, props.fileFormatText)))); };
1114
- var UploadSuccess = function () { return (React__default.createElement(React__default.Fragment, null,
926
+ props.fileFormatText && (React__default.createElement("p", { className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding" }, props.fileFormatText))));
927
+ const UploadSuccess = () => (React__default.createElement(React__default.Fragment, null,
1115
928
  React__default.createElement("div", { className: 'LuiFileInputBox-upload-icon-success' },
1116
929
  React__default.createElement(LuiIcon, { name: "ic_check_circle_outline", size: 'ns', alt: "Success" })),
1117
930
  React__default.createElement("p", { className: "LuiFileInputBox-upload-file-name" }, props.fileName),
1118
- React__default.createElement(DragAndDropInstruction, null))); };
931
+ React__default.createElement(DragAndDropInstruction, null)));
1119
932
  return (React__default.createElement("div", { className: "LuiFileInputBox-upload-container" }, props.fileName ? React__default.createElement(UploadSuccess, null) : React__default.createElement(WaitingForFileSelection, null)));
1120
933
  };
1121
934
  /**
@@ -1124,8 +937,8 @@ var FileUploadInfo = function (props) {
1124
937
  * @param fileName File-name to get extension from
1125
938
  * @return fileName extension in upper-case if found else empty string
1126
939
  */
1127
- var getFileNameExtension = function (fileName) {
1128
- var idx = fileName.lastIndexOf('.');
940
+ const getFileNameExtension = (fileName) => {
941
+ const idx = fileName.lastIndexOf('.');
1129
942
  return idx === -1 ? '' : fileName.substr(idx + 1).toUpperCase();
1130
943
  };
1131
944
  /**
@@ -1135,68 +948,63 @@ var getFileNameExtension = function (fileName) {
1135
948
  * @param extensions List of extensions to convert.
1136
949
  * @return Extensions in a human readable string in upper-case.
1137
950
  */
1138
- var extensionsAsHumanReadableList = function (extensions) {
1139
- var uppercaseExtensions = extensions.map(function (extension) {
1140
- return extension.toUpperCase();
1141
- });
951
+ const extensionsAsHumanReadableList = (extensions) => {
952
+ const uppercaseExtensions = extensions.map((extension) => extension.toUpperCase());
1142
953
  if (!extensions.length)
1143
954
  return '';
1144
955
  if (extensions.length === 1)
1145
956
  return uppercaseExtensions[0];
1146
- return uppercaseExtensions.slice(0, -1).join(', ') + " or " + uppercaseExtensions[extensions.length - 1];
957
+ return `${uppercaseExtensions.slice(0, -1).join(', ')} or ${uppercaseExtensions[extensions.length - 1]}`;
1147
958
  };
1148
959
 
1149
- var LuiSelectInput = function (props) {
1150
- var _a, _b;
1151
- var id = useGenerateOrDefaultId((_a = props.selectProps) === null || _a === void 0 ? void 0 : _a.id);
1152
- return (React__default.createElement("div", { className: clsx('LuiSelect', ((_b = props.selectProps) === null || _b === void 0 ? void 0 : _b.disabled) ? 'isDisabled' : '', props.error ? 'hasError' : '') },
960
+ const LuiSelectInput = (props) => {
961
+ const id = useGenerateOrDefaultId(props.selectProps?.id);
962
+ return (React__default.createElement("div", { className: clsx('LuiSelect', props.selectProps?.disabled ? 'isDisabled' : '', props.error ? 'hasError' : '') },
1153
963
  React__default.createElement("label", { htmlFor: id, className: "LuiSelect-label" },
1154
964
  props.mandatory && React__default.createElement("span", { className: "LuiSelect-mandatory" }, "*"),
1155
965
  React__default.createElement("span", { className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
1156
966
  React__default.createElement("div", { className: "LuiSelect-wrapper" },
1157
- React__default.createElement("select", __assign({ name: id, onChange: props.onChange, value: props.value, className: "LuiSelect-select" }, props.selectProps),
967
+ React__default.createElement("select", { name: id, onChange: props.onChange, value: props.value, className: "LuiSelect-select", ...props.selectProps },
1158
968
  props.placeholderText && (React__default.createElement("option", { value: "", disabled: true }, props.placeholderText)),
1159
- props.options.map(function (selection) { return (React__default.createElement("option", { key: selection.value, value: selection.value }, selection.label)); })),
969
+ props.options.map((selection) => (React__default.createElement("option", { key: selection.value, value: selection.value }, selection.label)))),
1160
970
  React__default.createElement(LuiIcon, { alt: 'Error', name: "ic_keyboard_arrow_down", className: "LuiSelect-chevron-icon", size: "md" })),
1161
971
  props.error && (React__default.createElement("span", { className: "LuiSelect-error" },
1162
972
  React__default.createElement(LuiIcon, { alt: 'Error', name: "ic_error", className: "LuiSelect-error-icon", size: "sm", status: "error" }),
1163
973
  props.error)))));
1164
974
  };
1165
975
 
1166
- var LuiTextAreaInput = function (props) {
1167
- var _a, _b;
1168
- var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
1169
- return (React__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' : '') },
976
+ const LuiTextAreaInput = (props) => {
977
+ const id = useGenerateOrDefaultId(props.inputProps?.id);
978
+ return (React__default.createElement("div", { className: clsx('LuiTextAreaInput', props.inputProps?.disabled ? 'isDisabled' : '', props?.error ? 'hasError' : '') },
1170
979
  React__default.createElement("label", { htmlFor: id },
1171
980
  props.mandatory && (React__default.createElement("span", { className: "LuiTextAreaInput-mandatory" }, "*")),
1172
981
  React__default.createElement("span", { className: "LuiTextAreaInput-label" }, props.label),
1173
982
  React__default.createElement("div", { className: "LuiTextAreaInput-wrapper" },
1174
983
  ' ',
1175
- React__default.createElement("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, rows: 5 }, props.inputProps)))),
984
+ React__default.createElement("textarea", { id: id, value: props.value, onChange: props.onChange, rows: 5, ...props.inputProps }))),
1176
985
  props.error && (React__default.createElement("span", { className: "LuiTextAreaInput-error" },
1177
986
  React__default.createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }),
1178
987
  props.error))));
1179
988
  };
1180
989
 
1181
990
  // @NOTE Can use LuiRadioInput in block form and pass through your own legend (label)
1182
- var LuiRadioInput = function (props) {
1183
- var _a;
1184
- var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
991
+ const LuiRadioInput = (props) => {
992
+ const id = useGenerateOrDefaultId(props.inputProps?.id);
1185
993
  return (React__default.createElement(React__default.Fragment, null,
1186
994
  React__default.createElement("div", { className: clsx('LuiRadioInput', {
1187
995
  'LuiRadioInput--hasError': props.error,
1188
996
  }) },
1189
997
  React__default.createElement("fieldset", { className: 'LuiRadioInput-fieldset' },
1190
998
  props.legend && (React__default.createElement("legend", { className: "LuiRadioInput-legend" }, props.legend)),
1191
- props.options.map(function (option, index) {
1192
- var radioId = id + "-" + index;
1193
- var isSelected = props.selectedValue === option;
1194
- var isDisabled = props.isOptionDisabled && props.isOptionDisabled(index);
999
+ props.options.map((option, index) => {
1000
+ const radioId = `${id}-${index}`;
1001
+ const isSelected = props.selectedValue === option;
1002
+ const isDisabled = props.isOptionDisabled && props.isOptionDisabled(index);
1195
1003
  return (React__default.createElement("label", { htmlFor: radioId, className: clsx('LuiRadioInput-label', {
1196
1004
  'LuiRadioInput-label--isDisabled': isDisabled,
1197
1005
  'LuiRadioInput-label--isSelected': isSelected,
1198
1006
  }), key: radioId },
1199
- React__default.createElement("input", __assign({ disabled: isDisabled, className: "LuiRadioInput-input", type: "radio", id: radioId, name: option, value: option, checked: isSelected, onChange: props.onChange }, props.inputProps)),
1007
+ React__default.createElement("input", { disabled: isDisabled, className: "LuiRadioInput-input", type: "radio", id: radioId, name: option, value: option, checked: isSelected, onChange: props.onChange, ...props.inputProps }),
1200
1008
  props.renderLabelFor ? props.renderLabelFor(option) : option));
1201
1009
  })),
1202
1010
  props.error && (React__default.createElement("div", { className: "LuiRadioInput-errorMsg" },
@@ -1206,76 +1014,70 @@ var LuiRadioInput = function (props) {
1206
1014
 
1207
1015
  function LuiFormikCheckbox(props) {
1208
1016
  useDeprecatedWarning('LuiFormikCheckbox');
1209
- var ctx = useFormikContext();
1017
+ let ctx = useFormikContext();
1210
1018
  return (React__default.createElement(React__default.Fragment, null,
1211
- React__default.createElement(Field, { name: props.name }, function (_a) {
1212
- var field = _a.field;
1213
- var showError = getIn(ctx === null || ctx === void 0 ? void 0 : ctx.errors, props.name);
1019
+ React__default.createElement(Field, { name: props.name }, ({ field }) => {
1020
+ const showError = getIn(ctx?.errors, props.name);
1214
1021
  return (React__default.createElement("div", { className: clsx(showError && 'lui-input-error') },
1215
1022
  React__default.createElement("div", { className: "lui-input-group-wrapper " },
1216
1023
  showError && (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
1217
1024
  React__default.createElement("div", { className: clsx('lui-checkbox-container', props.className) },
1218
- React__default.createElement("input", __assign({}, props.inputProps, { type: "checkbox", id: props.value, disabled: !!props.disabled, checked: field.value }, field)),
1025
+ React__default.createElement("input", { ...props.inputProps, type: "checkbox", id: props.value, disabled: !!props.disabled, checked: field.value, ...field }),
1219
1026
  typeof props.label === 'string' ? (React__default.createElement("label", { htmlFor: props.value }, props.label)) : (props.label)))));
1220
1027
  })));
1221
1028
  }
1222
1029
 
1223
- var LuiFormikFormLabel = function (props) {
1030
+ const LuiFormikFormLabel = (props) => {
1224
1031
  useDeprecatedWarning('LuiFormikFormLabel');
1225
- return (React__default.createElement("div", { className: clsx('LuiFormLabel-wrapper', props.className && "" + props.className) },
1032
+ return (React__default.createElement("div", { className: clsx('LuiFormLabel-wrapper', props.className && `${props.className}`) },
1226
1033
  props.children,
1227
- React__default.createElement("label", { className: "LuiFormLabel", htmlFor: props["for"] },
1034
+ React__default.createElement("label", { className: "LuiFormLabel", htmlFor: props.for },
1228
1035
  props.required && React__default.createElement("span", { className: "lui-required-input-icon" }, "*"),
1229
1036
  props.label),
1230
1037
  props.tooltip && React__default.createElement("i", { className: "material-icons-round" }, "help")));
1231
1038
  };
1232
1039
 
1233
- var LuiFormikTextInput = connect(function (props) {
1234
- var error = getIn(props.formik.errors, props.name);
1235
- var touch = getIn(props.formik.touched, props.name);
1236
- var showError = touch && error;
1237
- var setFieldValue = useFormikContext().setFieldValue;
1040
+ const LuiFormikTextInput = connect((props) => {
1041
+ const error = getIn(props.formik.errors, props.name);
1042
+ const touch = getIn(props.formik.touched, props.name);
1043
+ const showError = touch && error;
1044
+ const { setFieldValue } = useFormikContext();
1238
1045
  useDeprecatedWarning('LuiFormikTextInput');
1239
- var multiLineToggle = function (field) {
1240
- return !props.multiLine ? (React__default.createElement("input", __assign({ id: props.name, "data-testid": props.name }, field, { type: "text" }, props.inputProps, { onChange: function (event) {
1241
- var _a;
1242
- setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
1243
- if (props.onValueChange) {
1244
- props.onValueChange({
1245
- value: event.target.value,
1246
- formik: props.formik,
1247
- });
1248
- }
1249
- } }))) : (React__default.createElement("textarea", __assign({ id: props.name, "data-testid": props.name }, field, { rows: 1 }, props.inputProps, { onChange: function (event) {
1250
- var _a;
1251
- setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
1252
- if (props.onValueChange) {
1253
- props.onValueChange({
1254
- value: event.target.value,
1255
- formik: props.formik,
1256
- });
1257
- }
1258
- } })));
1259
- };
1260
- return (React__default.createElement("div", { className: clsx(props.className && "" + props.className) },
1261
- props.label && (React__default.createElement(LuiFormikFormLabel, { required: props.required, label: props.label, "for": props.name, tooltip: props.tooltip })),
1046
+ const multiLineToggle = (field) => !props.multiLine ? (React__default.createElement("input", { id: props.name, "data-testid": props.name, ...field, type: "text", ...props.inputProps, onChange: (event) => {
1047
+ setFieldValue(props.name, event.target.value, props.validateOnChange ?? true);
1048
+ if (props.onValueChange) {
1049
+ props.onValueChange({
1050
+ value: event.target.value,
1051
+ formik: props.formik,
1052
+ });
1053
+ }
1054
+ } })) : (React__default.createElement("textarea", { id: props.name, "data-testid": props.name, ...field, rows: 1, ...props.inputProps, onChange: (event) => {
1055
+ setFieldValue(props.name, event.target.value, props.validateOnChange ?? true);
1056
+ if (props.onValueChange) {
1057
+ props.onValueChange({
1058
+ value: event.target.value,
1059
+ formik: props.formik,
1060
+ });
1061
+ }
1062
+ } }));
1063
+ return (React__default.createElement("div", { className: clsx(props.className && `${props.className}`) },
1064
+ props.label && (React__default.createElement(LuiFormikFormLabel, { required: props.required, label: props.label, for: props.name, tooltip: props.tooltip })),
1262
1065
  props.helperInfo,
1263
- React__default.createElement(Field, { name: props.name, validate: props.validate }, function (_a) {
1264
- var field = _a.field;
1066
+ React__default.createElement(Field, { name: props.name, validate: props.validate }, ({ field }) => {
1265
1067
  return (React__default.createElement("div", { className: clsx(showError && 'lui-input-error') },
1266
- React__default.createElement(ErrorMessage, { name: props.name, render: function () { return (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")); } }),
1068
+ React__default.createElement(ErrorMessage, { name: props.name, render: () => (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")) }),
1267
1069
  multiLineToggle(field),
1268
1070
  React__default.createElement(ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" })));
1269
1071
  })));
1270
1072
  });
1271
1073
 
1272
- var LuiFormikRadioButton = function (props) {
1273
- var _a = useField(props), field = _a[0], meta = _a[1];
1074
+ const LuiFormikRadioButton = (props) => {
1075
+ const [field, meta] = useField(props);
1274
1076
  useDeprecatedWarning('LuiFormikRadioButton');
1275
1077
  return (React__default.createElement("div", { className: props.className },
1276
1078
  meta.touched && meta.error && (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
1277
1079
  React__default.createElement("div", { className: 'lui-radio-container' },
1278
- React__default.createElement("input", __assign({ disabled: !!props.disabled }, field, { checked: props.value === field.value, value: props.value, id: props.value, type: "radio" }, props.inputProps)),
1080
+ React__default.createElement("input", { disabled: !!props.disabled, ...field, checked: props.value === field.value, value: props.value, id: props.value, type: "radio", ...props.inputProps }),
1279
1081
  React__default.createElement("label", { htmlFor: props.value }, props.label))));
1280
1082
  };
1281
1083
 
@@ -1415,14 +1217,14 @@ camelcase$1.exports.default = camelCase;
1415
1217
  var camelcase = camelcase$1.exports;
1416
1218
 
1417
1219
  // TODO: It's annoying that we have to pass name into the RadioGroup and RadioButton
1418
- var LuiFormikRadioGroup = function (props) {
1419
- var ctx = useFormikContext();
1420
- var error = getIn(ctx.errors, props.name);
1421
- var touch = getIn(ctx.touched, props.name);
1422
- var showError = touch && error;
1220
+ const LuiFormikRadioGroup = (props) => {
1221
+ let ctx = useFormikContext();
1222
+ const error = getIn(ctx.errors, props.name);
1223
+ const touch = getIn(ctx.touched, props.name);
1224
+ const showError = touch && error;
1423
1225
  useDeprecatedWarning('LuiFormikRadioGroup');
1424
- var describedby = props.hint && camelcase(props === null || props === void 0 ? void 0 : props.hint) + 'Id';
1425
- var errorDescribedBy = error && camelcase(error) + 'Id';
1226
+ const describedby = props.hint && camelcase(props?.hint) + 'Id';
1227
+ const errorDescribedBy = error && camelcase(error) + 'Id';
1426
1228
  return (React__default.createElement("div", { className: clsx('lui-fieldsetBlock-form-group', showError && 'lui-input-error') },
1427
1229
  React__default.createElement("fieldset", { "aria-describedby": clsx(props.hint && describedby + 'Id', showError && errorDescribedBy) },
1428
1230
  React__default.createElement("legend", null,
@@ -1435,42 +1237,42 @@ var LuiFormikRadioGroup = function (props) {
1435
1237
  React__default.createElement("div", { className: "lui-input-group-wrapper" }, props.children))));
1436
1238
  };
1437
1239
 
1438
- var LuiFormikFormSubmitButton = connect(function (props) {
1240
+ const LuiFormikFormSubmitButton = connect((props) => {
1439
1241
  useDeprecatedWarning('LuiFormikFormSubmitButton');
1440
1242
  return (React__default.createElement(LuiButton, { type: "submit", className: props.className, level: "primary", "data-testid": props['data-testid'], disabled: !!props.disabled }, props.children));
1441
1243
  });
1442
1244
 
1443
- var LuiFormikSelect = connect(function (props) {
1245
+ const LuiFormikSelect = connect((props) => {
1444
1246
  useDeprecatedWarning('LuiFormikSelect');
1445
- var error = getIn(props.formik.errors, props.name);
1446
- var touch = getIn(props.formik.touched, props.name);
1447
- var showError = touch && error;
1247
+ const error = getIn(props.formik.errors, props.name);
1248
+ const touch = getIn(props.formik.touched, props.name);
1249
+ const showError = touch && error;
1448
1250
  return (React__default.createElement("div", { className: props.className },
1449
- props.label && (React__default.createElement(LuiFormikFormLabel, { className: 'lui-margin-bottom-xxs', "for": props.name, label: props.label, required: !!props.required, tooltip: props.tooltip })),
1251
+ props.label && (React__default.createElement(LuiFormikFormLabel, { className: 'lui-margin-bottom-xxs', for: props.name, label: props.label, required: !!props.required, tooltip: props.tooltip })),
1450
1252
  props.helperInfo,
1451
1253
  React__default.createElement("div", { className: clsx('lui-input-wrapper', showError && 'lui-input-error') },
1452
- React__default.createElement(ErrorMessage, { name: props.name, render: function () { return (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")); } }),
1453
- React__default.createElement(Field, __assign({ disabled: props.disabled, defaultValue: props.defaultValue, name: props.name, id: props.name, validate: props.validate, as: "select" }, props.inputProps), props.children),
1254
+ React__default.createElement(ErrorMessage, { name: props.name, render: () => (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")) }),
1255
+ React__default.createElement(Field, { disabled: props.disabled, defaultValue: props.defaultValue, name: props.name, id: props.name, validate: props.validate, as: "select", ...props.inputProps }, props.children),
1454
1256
  React__default.createElement(ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" }))));
1455
1257
  });
1456
1258
 
1457
- var LuiBearingInput = function (props) {
1458
- var maxDecimal = 1;
1459
- var maxAfterDP = 4 + maxDecimal;
1460
- var parseBearing = function (decimalIsh) {
1461
- var sign = decimalIsh.startsWith('-') ? '-' : '+';
1462
- var parts = decimalIsh.split('.');
1463
- var degrees = Math.abs(parseInt(parts[0])) || 0;
1464
- var remainder = parts.length > 1 ? parts[1] : '0000';
1259
+ const LuiBearingInput = (props) => {
1260
+ const maxDecimal = 1;
1261
+ const maxAfterDP = 4 + maxDecimal;
1262
+ const parseBearing = (decimalIsh) => {
1263
+ const sign = decimalIsh.startsWith('-') ? '-' : '+';
1264
+ const parts = decimalIsh.split('.');
1265
+ const degrees = Math.abs(parseInt(parts[0])) || 0;
1266
+ let remainder = parts.length > 1 ? parts[1] : '0000';
1465
1267
  while (remainder.length < 4) {
1466
1268
  remainder += '0';
1467
1269
  }
1468
- var minutes = parseInt(remainder.substr(0, 2));
1469
- var seconds = parseFloat(remainder.substr(2, 2) + "." + (remainder.length > 4 ? remainder.substr(4, 2) : '0'));
1470
- return { sign: sign, degrees: degrees, minutes: minutes, seconds: seconds };
1270
+ const minutes = parseInt(remainder.substr(0, 2));
1271
+ const seconds = parseFloat(`${remainder.substr(2, 2)}.${remainder.length > 4 ? remainder.substr(4, 2) : '0'}`);
1272
+ return { sign, degrees, minutes, seconds };
1471
1273
  };
1472
- var validateBearing = function (bearing) {
1473
- var signedDegrees = bearing.sign === '-' ? bearing.degrees * -1 : bearing.degrees;
1274
+ const validateBearing = (bearing) => {
1275
+ const signedDegrees = bearing.sign === '-' ? bearing.degrees * -1 : bearing.degrees;
1474
1276
  if (signedDegrees < -360 || signedDegrees > 360)
1475
1277
  return 'Degrees must be between -360 and 360';
1476
1278
  if (bearing.minutes < 0 || bearing.minutes >= 60)
@@ -1481,16 +1283,16 @@ var LuiBearingInput = function (props) {
1481
1283
  //here ---
1482
1284
  return null;
1483
1285
  };
1484
- var formatBearing = function (decimalIsh) {
1485
- var _a = parseBearing(decimalIsh), sign = _a.sign, degrees = _a.degrees, minutes = _a.minutes, seconds = _a.seconds;
1486
- var displaySign = degrees === 0 && minutes === 0 && seconds === 0 ? '' : sign;
1487
- return displaySign + " " + degrees + "\u00B0 " + padToTwo(minutes) + "' " + padToTwo(seconds) + "\"";
1286
+ const formatBearing = (decimalIsh) => {
1287
+ const { sign, degrees, minutes, seconds } = parseBearing(decimalIsh);
1288
+ const displaySign = degrees === 0 && minutes === 0 && seconds === 0 ? '' : sign;
1289
+ return `${displaySign} ${degrees ${padToTwo(minutes)}' ${padToTwo(seconds)}"`;
1488
1290
  };
1489
- var onChange = function (event) {
1490
- var newValue = event.target.value;
1291
+ const onChange = (event) => {
1292
+ const newValue = event.target.value;
1491
1293
  if (newValue === '' ||
1492
1294
  newValue === '-' ||
1493
- newValue.match(RegExp("^-?[0-9]+(\\.[0-9]{0," + maxAfterDP + "})?$"))) {
1295
+ newValue.match(RegExp(`^-?[0-9]+(\\.[0-9]{0,${maxAfterDP}})?$`))) {
1494
1296
  props.onChange && props.onChange(event);
1495
1297
  }
1496
1298
  else {
@@ -1500,26 +1302,26 @@ var LuiBearingInput = function (props) {
1500
1302
  function padToTwo(number) {
1501
1303
  return number <= 9 ? '0' + number : number.toString();
1502
1304
  }
1503
- var parsedBearing = parseBearing(props.value);
1504
- var internalError = validateBearing(parsedBearing);
1505
- var error = props.preferValidationError
1305
+ const parsedBearing = parseBearing(props.value);
1306
+ const internalError = validateBearing(parsedBearing);
1307
+ const error = props.preferValidationError
1506
1308
  ? props.validationError || internalError || null
1507
1309
  : internalError || props.validationError || null;
1508
- var showError = error !== null;
1310
+ const showError = error !== null;
1509
1311
  props.onValidate && props.onValidate(internalError);
1510
1312
  return (React__default.createElement(React__default.Fragment, null,
1511
- props.label && (React__default.createElement(LuiFormikFormLabel, { required: !!props.required, label: props.label, "for": props.name, tooltip: props.tooltip })),
1313
+ props.label && (React__default.createElement(LuiFormikFormLabel, { required: !!props.required, label: props.label, for: props.name, tooltip: props.tooltip })),
1512
1314
  props.helperInfo,
1513
1315
  React__default.createElement("div", { className: clsx('lui-margin-top-xs', showError && 'lui-input-error') },
1514
1316
  showError && (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
1515
1317
  React__default.createElement("div", { className: 'lui-bearing-input-wrapper' },
1516
- React__default.createElement("input", __assign({ id: props.name, type: "text", disabled: props.disabled }, props.inputProps, { onChange: onChange, value: props.value })),
1318
+ React__default.createElement("input", { id: props.name, type: "text", disabled: props.disabled, ...props.inputProps, onChange: onChange, value: props.value }),
1517
1319
  React__default.createElement("div", { className: 'lui-bearing-display' }, formatBearing(props.value || '0'))),
1518
1320
  showError && React__default.createElement("p", null, error))));
1519
1321
  };
1520
- var LuiBearingFormikInput = function (props) {
1521
- var ctx = useFormikContext();
1522
- var _a = useState(null), error = _a[0], setError = _a[1];
1322
+ const LuiBearingFormikInput = (props) => {
1323
+ let ctx = useFormikContext();
1324
+ const [error, setError] = useState(null);
1523
1325
  function validateBearing() {
1524
1326
  return error;
1525
1327
  }
@@ -1527,8 +1329,8 @@ var LuiBearingFormikInput = function (props) {
1527
1329
  setError(error);
1528
1330
  }
1529
1331
  return (React__default.createElement(React__default.Fragment, null,
1530
- React__default.createElement(Field, { name: props.name, validate: validateBearing }, function (renderProps) {
1531
- return (React__default.createElement(LuiBearingInput, __assign({ name: props.name }, renderProps.field, { validationError: getIn(ctx === null || ctx === void 0 ? void 0 : ctx.errors, props.name), required: true, onValidate: onValidate, inputProps: props.inputProps, preferValidationError: props.preferValidationError })));
1332
+ React__default.createElement(Field, { name: props.name, validate: validateBearing }, (renderProps) => {
1333
+ return (React__default.createElement(LuiBearingInput, { name: props.name, ...renderProps.field, validationError: getIn(ctx?.errors, props.name), required: true, onValidate: onValidate, inputProps: props.inputProps, preferValidationError: props.preferValidationError }));
1532
1334
  })));
1533
1335
  };
1534
1336
 
@@ -1536,7 +1338,7 @@ var LinzLogoFooter = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
1536
1338
 
1537
1339
  var NzGovtLogoRev = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjIwIiB2aWV3Qm94PSIwIDAgMTkwIDIwIj4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGlkPSJhIiBkPSJNMCAwaDE4OS41NzJ2MTkuMzEySDB6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9Ii43Ij4KICAgICAgICA8bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2EiLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZFRkVGRSIgZD0iTTgzLjEzOSAxMy44MTNIODEuMzFWNy4wMjFjMC0uOTA0LS4wODItMS4yMjYtLjMyMy0xLjU0Ny0uMi0uMjYxLS41NjItLjQwMi0xLjAyNC0uNDAyLS43MjQgMC0xLjgxLjU2My0yLjQ5MiAxLjI4NnY3LjQ1NWgtLjkzYy0uNTg2IDAtLjktLjQ0LS45LTEuMTI3VjYuMzE4YzAtMS4yMDYtLjEtMS42NjgtLjM4MS0yLjM5MmwxLjc0OS0uNDgyYy4yNC40ODIuMzQyLjkyNC4zNDIgMS41NDcuNTgyLS40ODIuODg0LS43NDMgMS4zMDYtLjk4NGEzLjczMiAzLjczMiAwIDAgMSAxLjg2OS0uNTAyYzEuMDY0IDAgMi4wMDkuNTYyIDIuMzcgMS40MjYuMTYxLjM2Mi4yNDIuODA0LjI0MiAxLjI2N3Y3LjYxNXptOC4wNTQtMi41NTJWNS45OTZjLS41MjItLjYyMy0xLjE4Ni0uOTQ0LTIuMTMtLjk0NC0uNzYzIDAtMS4zNjcuMzgxLTEuNzQ4IDEuMDI1LS4zODIuNjYyLS41MjMgMS40NjctLjUyMyAyLjc3MyAwIDEuOTUuMjQxIDIuNDkyLjc4NCAzLjA1NC4zNDEuMzYyLjgwNC41MjMgMS40ODcuNTIzIDEuMDY1IDAgMS43ODktLjU2MyAyLjEzLTEuMTY2em0yLjE1IDIuNTUyaC0xLjc2OGMtLjEtLjMwMS0uMTItLjQ0Mi0uMTgxLS45NDQtLjcwMy43NDQtMS41MjggMS4xMDUtMi41OTIgMS4xMDUtMi41NzIgMC00LjA4LTEuOTI5LTQuMDgtNS4xMDQgMC0yLjE3Ljc0NC0zLjgzOCAyLjExLTQuNzIzYTMuNDc3IDMuNDc3IDAgMCAxIDEuOTctLjU4MmMuOTY0IDAgMS43NjguMzQxIDIuNDUxIDEuMTY2IDAtLjI4Mi0uMDQtMS44MTktLjA0LTIuNTAyVi4xNDNsMS44NDkuMzAxdjkuOTk0YzAgMS42MjcuMDYgMi43NTMuMjgxIDMuMzc1ek03MS44NiA4Ljg3Yy0uMjgyLS4wMi0uNDQyLS4wNC0uNjAzLS4wNC0xLjM4NyAwLTIuMjMuMjYxLTIuNjMzLjcyMy0uMzgxLjQ0My0uNTIyLjgwNC0uNTIyIDEuNDY3IDAgMS4xMDYuNTYzIDEuNzQ5IDEuNTg4IDEuNzQ5Ljg0MyAwIDEuNjQ4LS41MjMgMi4xMS0xLjMyN2wuMDYtMi41NzJ6bTIuNjEyIDQuMTJsLS45NDQgMS4yNDVjLS42MjMtLjI0LTEuMTA2LS43NDMtMS4zNDctMS40NDctLjI2LjMyMi0xLjEwNSAxLjMyNy0yLjg1MyAxLjMyNy0yLjAxIDAtMy4yNTUtMS4wMjUtMy4yNTUtMi45NTQgMC0yLjMzMSAxLjg2OC0zLjU3NyA1LjEyNC0zLjU3Ny4yNCAwIC40NDIgMCAuNzAzLjAyVjYuOTRjMC0xLjE4Ni0uMTYtMS45OS0xLjU2Ny0xLjk5LTEuMDY1IDAtMi4yNzIuNTIzLTMuMDk1IDEuMTQ2bC0uODQ0LTEuMzI3Yy45ODUtLjU2MiAyLjI3LTEuMzI2IDQuMjItMS4zMjYgMS40NjcgMCAyLjUzMi41NDMgMi45MTQgMS42MDguMTYuNDQyLjIuNzg0LjIgMS43NjggMCAuNzI0LS4wOCAyLjI3MS0uMDggMy43MzggMCAxLjM4Ny4wNCAxLjk1LjgyNCAyLjQzMnptLTkuMTcxLjgwM2EyLjcxIDIuNzEgMCAwIDEtMS4xNDYuMjIxYy0uNzIzIDAtMS4xODYtLjIyLTEuNTY3LS43NjMtLjMwMS0uNDIyLS4zODItLjc2NC0uMzgyLTEuNzQ5VjMuMjk1YzAtMS40MjYtLjA2LTIuMTEtLjIyMS0yLjg5M0w2My45MTUgMGMuMTguNjYzLjE4IDEuNjI4LjE4IDIuODc0djguMTQ2YzAgMS4wNjUuMDYgMS4zMDYuMjYxIDEuNDg3LjEyMS4xNDEuNDAyLjIwMS42MjMuMTQxbC4zMjIgMS4xNDV6TTU4LjI2NyA4Ljg3Yy0uMjgtLjAyLS40NDItLjA0LS42MDItLjA0LTEuMzg3IDAtMi4yMy4yNjEtMi42MzMuNzIzLS4zODIuNDQzLS41MjMuODA0LS41MjMgMS40NjcgMCAxLjEwNi41NjMgMS43NDkgMS41ODggMS43NDkuODQ0IDAgMS42NDgtLjUyMyAyLjExLTEuMzI3bC4wNi0yLjU3MnptMi42MTMgNC4xMmwtLjk0NCAxLjI0NWMtLjYyMy0uMjQtMS4xMDYtLjc0My0xLjM0Ny0xLjQ0Ny0uMjYuMzIyLTEuMTA1IDEuMzI3LTIuODU0IDEuMzI3LTIuMDA5IDAtMy4yNTUtMS4wMjUtMy4yNTUtMi45NTQgMC0yLjMzMSAxLjg2OS0zLjU3NyA1LjEyNC0zLjU3Ny4yNDEgMCAuNDQzIDAgLjcwNC4wMlY2Ljk0YzAtMS4xODYtLjE2MS0xLjk5LTEuNTY4LTEuOTktMS4wNjUgMC0yLjI3LjUyMy0zLjA5NSAxLjE0NmwtLjg0My0xLjMyN2MuOTg0LS41NjIgMi4yNy0xLjMyNiA0LjIyLTEuMzI2IDEuNDY2IDAgMi41MzIuNTQzIDIuOTE0IDEuNjA4LjE2LjQ0Mi4yLjc4NC4yIDEuNzY4IDAgLjcyNC0uMDggMi4yNzEtLjA4IDMuNzM4IDAgMS4zODcuMDQgMS45NS44MjQgMi40MzJ6TTQ5LjQ2MSA3LjgwNWMwLS45NjQtLjIyLTEuNzY4LS42MjItMi4yNzFhMS44MSAxLjgxIDAgMCAwLTEuNDQ3LS43MDNjLTEuNDA3IDAtMi4xMSAxLjE0Ni0yLjExIDIuOTc0aDQuMTh6bTEuOTMgMS4zNjZoLTYuMTN2LjI0MmMwIC44NjMuMTIxIDEuNTI3LjQyMyAyLjAxLjUyMi44MDMgMS4zNDUgMS4xODUgMi4zMSAxLjE4NS45NDUgMCAxLjc0OS0uMzIyIDIuNDcyLS45NjVsLjcwNCAxLjEwNmMtLjk4Ni44NjQtMi4xNyAxLjI4NS0zLjQ3NyAxLjI4NS0yLjc5MyAwLTQuNTAyLTIuMDI5LTQuNTAyLTUuMzI0IDAtMS43NDkuMzQyLTIuODc0IDEuMjA2LTMuOS44MDQtLjk0NCAxLjc4OS0xLjM4NiAzLjAzNS0xLjM4NiAxLjEyNSAwIDIuMDMuMzYyIDIuNzMzIDEuMDg1Ljg4NC45MDUgMS4yMDUgMi4wMyAxLjIyNiA0LjM0di4zMjJ6TTMyLjY0IDMuNzQ2bC0yLjgxMyAxMC4xNDhIMjguMDRsLTEuNDY3LTUuNDg2Yy0uMTgtLjcwMy0uNjIzLTIuMzcxLS42MjMtMi4zNzFoLS4wNnMtLjQwMiAxLjcwOC0uNTQyIDIuMjVsLTEuNTA4IDUuNjA3aC0xLjc2OEwxOS4zMTggMy44MjZsMS44NjgtLjMwMSAxLjI4NyA1LjY0NmMuMjIgMS4wMDUuNTIyIDIuNDcyLjUyMiAyLjQ3MmguMDYxcy4yMi0xLjQyNi40NjItMi4yOWwxLjUyNy01LjYwN2gxLjkxTDI4LjM2IDkuMTljLjI4MSAxLjA4NS41NjIgMi4zNTIuNTYyIDIuNDUyaC4wOGMwLS4xLjMyMi0xLjcyOC40NjMtMi4zOWwxLjI0Ni01LjUwN2gxLjkzem0tMTUuODIgNC4wNmMwLS45NjUtLjIyLTEuNzctLjYyMy0yLjI3MmExLjgwNyAxLjgwNyAwIDAgMC0xLjQ0Ni0uNzAzYy0xLjQwNyAwLTIuMTEgMS4xNDYtMi4xMSAyLjk3NGg0LjE4em0xLjkzIDEuMzY1aC02LjEzdi4yNDJjMCAuODYzLjEyMSAxLjUyNy40MjMgMi4wMS41MjMuODAzIDEuMzQ2IDEuMTg1IDIuMzEgMS4xODUuOTQ1IDAgMS43NDktLjMyMiAyLjQ3Mi0uOTY1bC43MDMgMS4xMDZjLS45ODQuODY0LTIuMTcgMS4yODUtMy40NzYgMS4yODUtMi43OTMgMC00LjUwMS0yLjAyOS00LjUwMS01LjMyNCAwLTEuNzQ5LjM0MS0yLjg3NCAxLjIwNS0zLjkuODA0LS45NDQgMS43OS0xLjM4NiAzLjAzNS0xLjM4NiAxLjEyNSAwIDIuMDMuMzYyIDIuNzMzIDEuMDg1Ljg4NC45MDUgMS4yMDUgMi4wMyAxLjIyNiA0LjM0di4zMjJ6bTE3MC44MjItNS4zOTZsLS41IDEuM2gtMS45OHY2LjAzOWMwIDEuMjQuMyAxLjYyIDEuMyAxLjYyLjM0IDAgLjYyLS4wNi45MzktLjJsLjIyIDEuMTJjLS41Ni4yOC0xLjE2LjQyLTEuODIuNDItLjY2IDAtMS4zNzktLjItMS43LS41LS40MTktLjM4MS0uNzQtLjU4LS43NC0yLjA0di02LjQ2aC0xLjE5OHYtMS4zaDEuMTk5YzAtLjc3OS4wMi0xLjguMTItMi41NTlsMS45LS40NGMtLjA4LjcyLS4xOCAxLjk4LS4xOCAzaDIuNDR6bS02Ljc3NSAxMC4wMThoLTEuODJWNy4wMzVjMC0uOS0uMDgtMS4yMi0uMzE5LTEuNTQtLjItLjI2LS41Ni0uNC0xLjAyLS40LS43MiAwLTEuOC41Ni0yLjQ4IDEuMjh2Ny40MThoLTEuODJWNi4zMzRjMC0xLjItLjEtMS42NTktLjM4LTIuMzhsMS43NC0uNDc5Yy4yNC40OC4zNC45Mi4zNCAxLjU0LjU4LS40OC44OC0uNzQgMS4zLS45OC41OC0uMzQgMS4yNC0uNSAxLjg2LS41IDEuMDYgMCAxLjk5OS41NiAyLjM2IDEuNDIuMTU5LjM2LjI0LjguMjQgMS4yNnY3LjU3OHptLTEwLjk4My01Ljk3OWMwLS45Ni0uMjItMS43Ni0uNjItMi4yNi0uMzItLjQtLjgtLjctMS40NC0uNy0xLjM5OSAwLTIuMSAxLjE0LTIuMSAyLjk2aDQuMTZ6bTEuOTIgMS4zNmgtNi4xdi4yNGMwIC44Ni4xMiAxLjUyLjQyIDIgLjUyMS44IDEuMzQgMS4xOCAyLjMgMS4xOC45NCAwIDEuNzQtLjMyIDIuNDYtLjk2bC43IDEuMWMtLjk4Ljg2LTIuMTYgMS4yOC0zLjQ2IDEuMjgtMi43OCAwLTQuNDc5LTIuMDItNC40NzktNS4zIDAtMS43NC4zNC0yLjg2IDEuMi0zLjg4LjgtLjk0IDEuNzgtMS4zNzkgMy4wMi0xLjM3OSAxLjEyIDAgMi4wMi4zNiAyLjcyIDEuMDguODguOSAxLjE5OSAyLjAyIDEuMjE5IDQuMzJ2LjMxOXptLTkuNTc3IDQuNjJoLTEuODJ2LTcuMThjMC0xLjE0LS4zNi0xLjU0LTEuMi0xLjU0LS45MiAwLTEuNTguNi0yLjMzOSAxLjM2djcuMzZoLTEuOHYtNy4xNGMwLTEuMTItLjMyLTEuNTQtMS4yNC0xLjU0LS42OCAwLTEuNDQuMzQtMi4zIDEuMTZ2Ny41MmgtMS44MnYtNy4zNmMwLTEuNDItLjA4LTEuOC0uMzU5LTIuNDk5bDEuNzItLjQyYy4yLjM0LjM0Ljg0LjM0IDEuNC44Ni0uOSAxLjg4LTEuNDIgMi44MTktMS40Mi45NCAwIDEuODguNSAyLjM4IDEuNTggMS0xLjA2IDIuMDQtMS41OCAzLjA2LTEuNTggMS41NTkgMCAyLjU1OS45OCAyLjU1OSAyLjgydjcuNDc4em0tMTQuMzk3IDBoLTEuODJ2LTYuNzZjMC0uODk5LS4wOC0xLjIyLS4zMi0xLjU0LS4yLS4yNi0uNTYtLjQtMS4wMi0uNC0uNzIgMC0xLjc5OS41Ni0yLjQ4IDEuMjh2Ny40MmgtMS44MnYtNy40NmMwLTEuMi0uMDk5LTEuNjU5LS4zNzktMi4zOGwxLjc0LS40NzljLjI0LjQ4LjM0LjkyLjM0IDEuNTQuNTgtLjQ4Ljg4LS43NCAxLjMtLjk4LjU4LS4zNCAxLjI0LS41IDEuODYtLjUgMS4wNTkgMCAxLjk5OS41NiAyLjM2IDEuNDIuMTU5LjM2LjIzOS44LjIzOSAxLjI2djcuNTc4em0tOC43ODItMTAuMjM5bC0uNjQgMS44NGExLjUgMS41IDAgMCAwLS41Mi0uMWMtMS4xMiAwLTIuMDc5Ljk0LTIuMDc5IDIuMDM5djYuNDZoLTEuODR2LTcuMzZjMC0xLjIyLS4xNC0xLjg4LS4zOC0yLjQ5OWwxLjc4LS40NmMuMTguMzguMzQgMS4wNC4zNCAxLjU0di4xOGMuOC0xLjE2IDEuNjYtMS43NCAyLjcyLTEuNzQuMjQgMCAuNDYuMDQuNjIuMXptLTguNjAzIDQuMjU5YzAtLjk2LS4yMi0xLjc2LS42Mi0yLjI2LS4zMi0uNC0uOC0uNy0xLjQ0LS43LTEuMzk5IDAtMi4xIDEuMTQtMi4xIDIuOTZoNC4xNnptMS45MiAxLjM2aC02LjF2LjI0YzAgLjg2LjEyIDEuNTIuNDIxIDIgLjUyLjggMS4zNCAxLjE4IDIuMyAxLjE4LjkzOSAwIDEuNzQtLjMyIDIuNDU5LS45NmwuNyAxLjFjLS45OC44Ni0yLjE2IDEuMjgtMy40NiAxLjI4LTIuNzc5IDAtNC40NzktMi4wMi00LjQ3OS01LjMgMC0xLjc0LjM0LTIuODYgMS4yLTMuODguOC0uOTQgMS43OC0xLjM3OSAzLjAyLTEuMzc5IDEuMTIgMCAyLjAyLjM2IDIuNzE5IDEuMDguODguOSAxLjIgMi4wMiAxLjIyIDQuMzJ2LjMxOXptLTguMzczLTUuNGwtMy42NTkgMTAuMWgtMS43MmwtMy41OC0xMC4wNiAxLjktLjMgMS45OCA2LjA2Yy4yMi42OC40NCAxLjQ4LjYgMi4xNi4xNi0uNi4zNi0xLjM4LjY0LTIuMmwxLjktNS43NmgxLjk0em0tMTEuMjU4IDUuMThjMC0zLjEtLjktNC4wNC0yLjM0LTQuMDQtMS42IDAtMi4yNTkgMS4xNC0yLjI1OSAzLjY2IDAgMy4wNi43OCA0LjA4IDIuMzQgNC4wOCAxLjQgMCAyLjI2LTEuMDggMi4yNi0zLjd6bTIuMDYtLjA4YzAgMy4xOC0xLjcgNS4yLTQuMzYgNS4yLTIuNjc5IDAtNC4zNC0yLjA0LTQuMzQtNS4zIDAtMy4yNCAxLjY2MS01LjI4IDQuMy01LjI4IDIuOTYgMCA0LjQgMi4zNiA0LjQgNS4zOHptLTEwLjAyNSA0LjAyYy0xLjEyLjctMi42MiAxLjEtNC4wOCAxLjEtMS44NCAwLTMuMy0uNjItNC4zNTgtMS44Ni0xLjEtMS4yOC0xLjYtMi45LTEuNi01LjE2IDAtMS45MTMuOC00LjEwMyAyLjM4LTUuNDAzLjk5OC0uODIgMi4wOTktMS4xOCAzLjQ1OS0xLjE4IDEuNSAwIDIuODE5LjQ0IDMuODk5IDEuMzhsLS45MiAxLjJjLTEuMDItLjc0LTEuODgtMS4wNC0yLjk0LTEuMDQtMS4zMiAwLTIuMjk4LjU1Mi0yLjk1OSAxLjc2LS40ODEuODgtLjc2IDEuNzQ0LS43NiAzLjM4MyAwIDEuOS4zNCAzLjMyLjk4IDQuMTYuNi43OCAxLjc4IDEuMjQgMi45NiAxLjI0Ljc3OSAwIDEuNDgtLjIgMi4wNC0uNTJ2LTMuOTJoLTIuNTRsLS4zMi0xLjU4aDQuNzU5djYuNDR6bS02My4yMy0uMzc0bC0uNDggMS42aC04LjIxOHYtMS40OGw1LjU1OS04Ljc4MmMuMy0uNTIuNy0xLjA2Ljk4LTEuNDItLjQuMDQtLjkuMDYtMS41OC4wNmgtNC43MTlsLjQ2LTEuNmg3LjkxOHYxLjU0bC01LjQ5OSA4Ljc4M2MtLjMuNTItLjYyLjkyLS44NiAxLjMyLjQyLS4wMi44OC0uMDIgMS4zOC0uMDJoNS4wNnpNOS4xOTQgMTMuOTU3aC0yLjA2bC0zLjYyLTcuMzE5Yy0uNy0xLjQyLTEuNDE5LTIuOTgtMS42NzktMy43OGwtLjEyLjAyYy4xIDEuMTguMTQgMi41Ni4xNiAzLjg0bC4wOCA3LjIzOWgtLjc1NmMtLjg3MyAwLTEuMTg0LS44NDQtMS4xODQtMS43OTZWLjE4aDIuMjRsMy44NCA3LjU5OWMuNTggMS4xNCAxLjI2IDIuOTIgMS4zNiAzLjNsLjEyLS4wNDFjLS4wNC0uNC0uMi0yLjU4LS4yLTQuMUw3LjMzMy4xOGgxLjg2djEzLjc3OHpNMCAxOC4zNTlzMjMuOTA5LTIuNjk5IDQ2LjUyMy0yLjY5OWMyMy4xIDAgNDcuMTUgMi43IDQ3LjE1IDIuN3YuOTUycy0yNC4yMS0yLjU1OS00Ny4xNDYtMi41NTlDMjMuOTEgMTYuNzUzIDAgMTkuMzEzIDAgMTkuMzEzdi0uOTU0eiIgbWFzaz0idXJsKCNiKSIvPgogICAgPC9nPgo8L3N2Zz4=';
1538
1340
 
1539
- var LuiFooter = function (props) {
1341
+ const LuiFooter = (props) => {
1540
1342
  return (React__default.createElement("footer", { className: 'lui-footer' },
1541
1343
  React__default.createElement("div", { className: 'lui-footer-columns' },
1542
1344
  React__default.createElement("h2", null, props.footerText),
@@ -25029,35 +24831,33 @@ var loaderDataChristmas = {
25029
24831
  * Very trivial react wrapper for Lottie-web light. Using lottie-web directly rather than with `react-lottie` or
25030
24832
  * `lottie-react` reduces our bundle size and enables use to use lottie-web in light mode.
25031
24833
  */
25032
- var LuiLottieLight = function (_a) {
25033
- var animationData = _a.animationData, style = _a.style, rendererSettings = _a.rendererSettings, autoplay = _a.autoplay, loop = _a.loop;
25034
- var element = React__default.useRef(null);
25035
- var lottieInstance = React__default.useRef();
25036
- React__default.useEffect(function () {
24834
+ const LuiLottieLight = ({ animationData, style, rendererSettings, autoplay, loop, }) => {
24835
+ const element = React__default.useRef(null);
24836
+ const lottieInstance = React__default.useRef();
24837
+ React__default.useEffect(() => {
25037
24838
  if (element.current) {
25038
24839
  lottieInstance.current = lottie.loadAnimation({
25039
- animationData: animationData,
24840
+ animationData,
25040
24841
  container: element.current,
25041
- rendererSettings: rendererSettings,
25042
- autoplay: autoplay,
25043
- loop: loop,
24842
+ rendererSettings,
24843
+ autoplay,
24844
+ loop,
25044
24845
  });
25045
24846
  }
25046
- return function () {
25047
- var _a;
25048
- (_a = lottieInstance.current) === null || _a === void 0 ? void 0 : _a.destroy();
24847
+ return () => {
24848
+ lottieInstance.current?.destroy();
25049
24849
  };
25050
24850
  }, [animationData, autoplay, loop, rendererSettings]);
25051
24851
  return React__default.createElement("div", { style: style, ref: element });
25052
24852
  };
25053
24853
 
25054
24854
  // This prevents spinners from animating and causing diffs in chromatic
25055
- var autoplay = !isChromatic();
25056
- var style = { height: 148, width: 148 };
25057
- var renderSettings = {
24855
+ const autoplay = !isChromatic();
24856
+ const style = { height: 148, width: 148 };
24857
+ const renderSettings = {
25058
24858
  preserveAspectRatio: 'xMidYMid slice',
25059
24859
  };
25060
- var LuiLoadingSpinnerBase = function (props) {
24860
+ const LuiLoadingSpinnerBase = (props) => {
25061
24861
  return (React__default.createElement("div", { style: {
25062
24862
  position: 'absolute',
25063
24863
  top: '50%',
@@ -25071,7 +24871,7 @@ var LuiLoadingSpinnerBase = function (props) {
25071
24871
  /**
25072
24872
  * A LuiSpinner with a status message beneath it.
25073
24873
  */
25074
- var LuiStatusSpinner = function (props) {
24874
+ const LuiStatusSpinner = (props) => {
25075
24875
  return (React__default.createElement("div", { className: 'LuiStatusSpinner' },
25076
24876
  React__default.createElement(LuiLoadingSpinner, null),
25077
24877
  React__default.createElement("div", { style: {
@@ -25086,24 +24886,25 @@ var LuiStatusSpinner = function (props) {
25086
24886
  width: '300px',
25087
24887
  } }, props.children))));
25088
24888
  };
25089
- var LuiMiniSpinner = function (props) {
25090
- return (React__default.createElement("div", __assign({}, props.divProps),
24889
+ const LuiMiniSpinner = (props) => {
24890
+ return (React__default.createElement("div", { ...props.divProps },
25091
24891
  React__default.createElement(LuiLottieLight, { animationData: loaderData, loop: true, autoplay: autoplay, rendererSettings: {
25092
24892
  preserveAspectRatio: 'xMidYMid slice',
25093
24893
  }, style: { height: props.size, width: props.size } })));
25094
24894
  };
25095
- var LuiLoadingSpinner = function () {
24895
+ const LuiLoadingSpinner = () => {
25096
24896
  return React__default.createElement(LuiLoadingSpinnerBase, { animationData: loaderData });
25097
24897
  };
25098
- var LuiLoadingSpinnerEaster = function () {
24898
+ const LuiLoadingSpinnerEaster = () => {
25099
24899
  return React__default.createElement(LuiLoadingSpinnerBase, { animationData: loaderDataEaster });
25100
24900
  };
25101
- var LuiLoadingSpinnerChristmas = function () {
24901
+ const LuiLoadingSpinnerChristmas = () => {
25102
24902
  return React__default.createElement(LuiLoadingSpinnerBase, { animationData: loaderDataChristmas });
25103
24903
  };
25104
24904
  // this function was extracted from chromatic/isChromatic. It was causing TS issues for the consumer
25105
24905
  function isChromatic() {
25106
- 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/)));
24906
+ return !!(window?.navigator.userAgent.match(/Chromatic/) ||
24907
+ window?.location.href.match(/chromatic=true/));
25107
24908
  }
25108
24909
 
25109
24910
  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}";
@@ -25214,61 +25015,114 @@ var CreatableSelect = /*#__PURE__*/React__default.forwardRef(function (props, re
25214
25015
  /**
25215
25016
  * A wrapper around React Select with Lui styling
25216
25017
  */
25217
- var LuiComboSelect = forwardRef(LuiComboSelectActual);
25018
+ const LuiComboSelect = forwardRef(LuiComboSelectActual);
25218
25019
  // declare the indicator in here so it gets the types from
25219
25020
  // the function declaration
25220
- var LuiLoadingIndicator = function () { return React__default.createElement(LuiMiniSpinner, { size: 25 }); };
25021
+ const LuiLoadingIndicator = () => React__default.createElement(LuiMiniSpinner, { size: 25 });
25221
25022
  function LuiComboSelectActual(givenProps, ref) {
25222
- var props = Object.assign({
25223
- noOptionsMessage: function (i) {
25224
- return "No options found containing '" + i.inputValue + "'";
25225
- },
25023
+ const props = Object.assign({
25024
+ noOptionsMessage: (i) => `No options found containing '${i.inputValue}'`,
25226
25025
  }, givenProps);
25227
- props.components = __assign({ LoadingIndicator: LuiLoadingIndicator }, props.components);
25026
+ props.components = {
25027
+ LoadingIndicator: LuiLoadingIndicator,
25028
+ ...props.components,
25029
+ };
25228
25030
  // box-shadow: "-8px 0px 0 0 #cc0000";
25229
25031
  // border-radius: "4px";
25230
- var id = useGenerateOrDefaultId(props === null || props === void 0 ? void 0 : props.id);
25231
- 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: {
25232
- control: function (provided, state) { return (__assign(__assign({}, provided), {
25032
+ const id = useGenerateOrDefaultId(props?.id);
25033
+ const selectProp = {
25034
+ inputId: id,
25035
+ ...props,
25036
+ classNamePrefix: 'LuiComboSelect',
25037
+ theme: (theme) => ({
25038
+ ...theme,
25039
+ colors: {
25040
+ ...theme.colors,
25041
+ primary: css_248z$4['sea'],
25042
+ primary75: css_248z$4['electric'],
25043
+ primary50: css_248z$4['spray'],
25044
+ primary25: css_248z$4['polar'],
25045
+ neutral90: css_248z$4['charcoal'],
25046
+ neutral80: css_248z$4['charcoal'],
25047
+ neutral70: css_248z$4['charcoal'],
25048
+ neutral60: css_248z$4['fuscous'],
25049
+ neutral50: css_248z$4['fuscous'],
25050
+ neutral40: css_248z$4['gray'],
25051
+ neutral30: css_248z$4['gray'],
25052
+ neutral20: css_248z$4['silver'],
25053
+ neutral10: css_248z$4['lily'],
25054
+ neutral5: css_248z$4['hint'],
25055
+ danger: css_248z$4['error'],
25056
+ dangerLight: css_248z$4['error-bg'],
25057
+ },
25058
+ }),
25059
+ styles: {
25060
+ control: (provided, state) => ({
25061
+ ...provided,
25233
25062
  /* matches style of .LuiTextInput-input */
25234
- boxShadow: 'none', border: state.isFocused ? '1px solid #053d52' : '1px solid #b2b2b2', '&:hover, &:active': {
25063
+ boxShadow: 'none',
25064
+ border: state.isFocused ? '1px solid #053d52' : '1px solid #b2b2b2',
25065
+ '&:hover, &:active': {
25235
25066
  borderColor: '#053d52',
25236
- } })); },
25237
- dropdownIndicator: function (provided) { return (__assign(__assign({}, provided), { color: css_248z$4['fuscous'] })); },
25238
- indicatorSeparator: function (provided) { return (__assign(__assign({}, provided), { width: 0 })); },
25239
- input: function (provided) { return (__assign(__assign({}, provided), { height: '40px', minHeight: '40px', fontWeight: 400, input: {
25067
+ },
25068
+ }),
25069
+ dropdownIndicator: (provided) => ({
25070
+ ...provided,
25071
+ color: css_248z$4['fuscous'],
25072
+ }),
25073
+ indicatorSeparator: (provided) => ({
25074
+ ...provided,
25075
+ width: 0,
25076
+ }),
25077
+ input: (provided) => ({
25078
+ ...provided,
25079
+ height: '40px',
25080
+ minHeight: '40px',
25081
+ fontWeight: 400,
25082
+ input: {
25240
25083
  height: '38px !important',
25241
- } })); },
25242
- singleValue: function (provided) { return (__assign(__assign({}, provided), { color: '#414042', fontWeight: 400 })); },
25243
- placeholder: function (provided) { return (__assign(__assign({}, provided), {
25084
+ },
25085
+ }),
25086
+ singleValue: (provided) => ({
25087
+ ...provided,
25088
+ color: '#414042',
25089
+ fontWeight: 400,
25090
+ }),
25091
+ placeholder: (provided) => ({
25092
+ ...provided,
25244
25093
  /* please keep this in sync with FormVars.scss/mixin.formPlaceholder */
25245
- fontWeight: 'normal', fontStyle: 'italic', color: css_248z$4['input-placeholder'] })); },
25246
- option: function (provided, _a) {
25247
- var isSelected = _a.isSelected;
25248
- return (__assign(__assign({}, provided), { color: css_248z$4['input-text'], backgroundColor: isSelected ? css_248z$4['selection'] : css_248z$4['white'] }));
25249
- },
25250
- } });
25094
+ fontWeight: 'normal',
25095
+ fontStyle: 'italic',
25096
+ color: css_248z$4['input-placeholder'],
25097
+ }),
25098
+ option: (provided, { isSelected }) => ({
25099
+ ...provided,
25100
+ color: css_248z$4['input-text'],
25101
+ backgroundColor: isSelected ? css_248z$4['selection'] : css_248z$4['white'],
25102
+ }),
25103
+ },
25104
+ };
25251
25105
  return (React__default.createElement("label", { htmlFor: id, className: clsx('LuiComboSelect-label', props.error && 'hasError') },
25252
25106
  React__default.createElement("span", { className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
25253
- props.isCreateable ? (React__default.createElement(CreatableSelect, __assign({ formatCreateLabel: function (inputValue) { return inputValue; }, createOptionPosition: "first", ref: ref }, selectProp))) : (React__default.createElement(Select, __assign({ ref: ref }, selectProp))),
25107
+ props.isCreateable ? (React__default.createElement(CreatableSelect, { formatCreateLabel: (inputValue) => inputValue, createOptionPosition: "first", ref: ref, ...selectProp })) : (React__default.createElement(Select, { ref: ref, ...selectProp })),
25254
25108
  props.error && (React__default.createElement("span", { className: "LuiComboSelect-error" },
25255
25109
  React__default.createElement(LuiIcon, { alt: 'Error', name: "ic_error", className: "LuiComboSelect-error-icon", size: "sm", status: "error" }),
25256
25110
  props.error))));
25257
25111
  }
25258
25112
 
25259
- var LuiShadow = function (props) {
25113
+ const LuiShadow = (props) => {
25260
25114
  return (React__default.createElement("div", { className: clsx('LuiShadow', props.className) }, props.children));
25261
25115
  };
25262
25116
 
25263
- var HelpInfo = function (props) { return (React__default.createElement("div", { className: clsx('lui-small', 'HelpInfo') },
25117
+ const HelpInfo = (props) => (React__default.createElement("div", { className: clsx('lui-small', 'HelpInfo') },
25264
25118
  React__default.createElement(LuiIcon, { name: "ic_error_outline", className: 'HelpInfo-icon', size: "sm", alt: "Extra Information" }),
25265
- React__default.createElement("div", { className: 'HelpInfo-info' }, props.info))); };
25119
+ React__default.createElement("div", { className: 'HelpInfo-info' }, props.info)));
25266
25120
 
25267
- var LuiFormSectionHeader = function (props) { return (React__default.createElement("div", { className: "LuiFormSectionHeader" },
25121
+ const LuiFormSectionHeader = (props) => (React__default.createElement("div", { className: "LuiFormSectionHeader" },
25268
25122
  React__default.createElement("div", { className: "LuiFormSectionHeader-header" },
25269
25123
  React__default.createElement("h3", { className: "LuiFormSectionHeader-heading" }, props.header),
25270
25124
  props.details && React__default.createElement(HelpInfo, { info: props.details })),
25271
- React__default.createElement(LuiShadow, { className: 'LuiFormSectionHeader-details' }, props.children))); };
25125
+ React__default.createElement(LuiShadow, { className: 'LuiFormSectionHeader-details' }, props.children)));
25272
25126
 
25273
25127
  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+';
25274
25128
 
@@ -25279,15 +25133,15 @@ var motif = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id
25279
25133
  *
25280
25134
  * @param onEscape the handler function
25281
25135
  */
25282
- var useEscapeFunction = function (onEscape) {
25283
- var escFunction = useCallback(function (event) {
25136
+ const useEscapeFunction = (onEscape) => {
25137
+ const escFunction = useCallback((event) => {
25284
25138
  if (event.keyCode === 27) {
25285
25139
  onEscape();
25286
25140
  }
25287
25141
  }, [onEscape]);
25288
- useEffect(function () {
25142
+ useEffect(() => {
25289
25143
  document.addEventListener('keydown', escFunction, false);
25290
- return function () {
25144
+ return () => {
25291
25145
  document.removeEventListener('keydown', escFunction, false);
25292
25146
  };
25293
25147
  }, [escFunction]);
@@ -25300,14 +25154,13 @@ var useEscapeFunction = function (onEscape) {
25300
25154
  * @param onClickOutsideArg handler for mouse clicks outside the element
25301
25155
  * @return a react ref which can be bound to an html element
25302
25156
  */
25303
- var usePageClickFunction = function (onClickInsideArg, onClickOutsideArg) {
25304
- var elementRef = useRef(null);
25305
- var onClickInside = useCallback(onClickInsideArg, []);
25306
- var onClickOutside = useCallback(onClickOutsideArg, []);
25307
- useEffect(function () {
25308
- var handleClick = function (e) {
25309
- var _a;
25310
- if ((_a = elementRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {
25157
+ const usePageClickFunction = (onClickInsideArg, onClickOutsideArg) => {
25158
+ const elementRef = useRef(null);
25159
+ const onClickInside = useCallback(onClickInsideArg, []);
25160
+ const onClickOutside = useCallback(onClickOutsideArg, []);
25161
+ useEffect(() => {
25162
+ const handleClick = (e) => {
25163
+ if (elementRef.current?.contains(e.target)) {
25311
25164
  onClickInside(e);
25312
25165
  }
25313
25166
  else {
@@ -25317,18 +25170,17 @@ var usePageClickFunction = function (onClickInsideArg, onClickOutsideArg) {
25317
25170
  // add when mounted
25318
25171
  document.addEventListener('click', handleClick);
25319
25172
  // return function to be called when unmounted
25320
- return function () {
25173
+ return () => {
25321
25174
  document.removeEventListener('click', handleClick);
25322
25175
  };
25323
25176
  }, [elementRef, onClickInside, onClickOutside]);
25324
25177
  return elementRef;
25325
25178
  };
25326
25179
 
25327
- var sizes = ['xs', 'sm', 'md', 'lg', 'xl'];
25328
- var buildHideClassDict = function (_a) {
25329
- var _b = _a.from, from = _b === void 0 ? 'xs' : _b, _c = _a.upto, upto = _c === void 0 ? 'xl' : _c;
25330
- var inRange = function (size) {
25331
- var idx = sizes.indexOf(size);
25180
+ const sizes = ['xs', 'sm', 'md', 'lg', 'xl'];
25181
+ const buildHideClassDict = ({ from = 'xs', upto = 'xl', }) => {
25182
+ const inRange = (size) => {
25183
+ const idx = sizes.indexOf(size);
25332
25184
  return idx >= sizes.indexOf(from) && idx <= sizes.indexOf(upto);
25333
25185
  };
25334
25186
  return {
@@ -25340,15 +25192,14 @@ var buildHideClassDict = function (_a) {
25340
25192
  };
25341
25193
  };
25342
25194
 
25343
- var LuiHeader = function (_a) {
25344
- 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;
25345
- var logoElement = size === 'normal' ? (React__default.createElement("img", { className: "linz-logo", alt: "LINZ Logo", src: logo })) : (React__default.createElement("img", { className: "linz-motif", alt: "LINZ Logo", src: motif }));
25346
- var logoContainer = logoElement;
25195
+ const LuiHeader = ({ headingText, size = 'small', homeLink, transparent, children, sticky = true, }) => {
25196
+ const logoElement = size === 'normal' ? (React__default.createElement("img", { className: "linz-logo", alt: "LINZ Logo", src: logo })) : (React__default.createElement("img", { className: "linz-motif", alt: "LINZ Logo", src: motif }));
25197
+ let logoContainer = logoElement;
25347
25198
  if (typeof homeLink === 'string') {
25348
25199
  logoContainer = React__default.createElement("a", { href: homeLink }, logoElement);
25349
25200
  }
25350
25201
  else if (typeof homeLink === 'function') {
25351
- logoContainer = (React__default.createElement("div", { className: "clickable", onClick: function () {
25202
+ logoContainer = (React__default.createElement("div", { className: "clickable", onClick: () => {
25352
25203
  homeLink();
25353
25204
  } }, logoElement));
25354
25205
  }
@@ -25370,55 +25221,48 @@ var LuiHeader = function (_a) {
25370
25221
  * Note that it depends on it being rendered inside a LuiHeader for its styles to apply properly.
25371
25222
  * To configure the item for responsiveness, ensure to set any of the hideOn* properties.
25372
25223
  */
25373
- var LuiHeaderMenuItem = forwardRef(function (_a, ref) {
25374
- 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;
25375
- var menuItemClasses = clsx('lui-header-menu-item', hide && buildHideClassDict(hide));
25376
- var resolvedIcon = !icon && !label ? 'menu' : icon;
25224
+ const LuiHeaderMenuItem = forwardRef(({ icon, label, badge, hide, onClick, 'data-testid': dataTestId = 'menu-item', children, }, ref) => {
25225
+ const menuItemClasses = clsx('lui-header-menu-item', hide && buildHideClassDict(hide));
25226
+ const resolvedIcon = !icon && !label ? 'menu' : icon;
25377
25227
  return (React__default.createElement("div", { className: menuItemClasses, ref: ref },
25378
25228
  React__default.createElement("div", { className: clsx('lui-header-menu-icon', onClick && 'clickable'), onClick: onClick, "data-testid": dataTestId },
25379
- resolvedIcon && (React__default.createElement("i", { className: "material-icons-round md-36" }, resolvedIcon)),
25229
+ resolvedIcon && (React__default.createElement("i", { title: "Main menu", className: "material-icons-round md-36" }, resolvedIcon)),
25380
25230
  label && React__default.createElement("div", { className: "lui-menu-label" }, label),
25381
25231
  badge && React__default.createElement("div", { className: "badge" }, badge)),
25382
25232
  children));
25383
25233
  });
25384
- var LuiCloseableHeaderMenuContext = createContext({
25385
- isOpen: function () { return false; },
25386
- open: function () { },
25387
- close: function () { },
25234
+ const LuiCloseableHeaderMenuContext = createContext({
25235
+ isOpen: () => false,
25236
+ open: () => { },
25237
+ close: () => { },
25388
25238
  });
25389
- var LuiCloseableHeaderMenuItem = function (_a) {
25390
- var open = _a.open, setOpen = _a.setOpen, props = __rest(_a, ["open", "setOpen"]);
25391
- useEscapeFunction(function () { return setOpen(false); });
25392
- var menuDiv = usePageClickFunction(function (event) { return open || event.stopPropagation(); }, function (event) {
25239
+ const LuiCloseableHeaderMenuItem = ({ open, setOpen, ...props }) => {
25240
+ useEscapeFunction(() => setOpen(false));
25241
+ const menuDiv = usePageClickFunction((event) => open || event.stopPropagation(), (event) => {
25393
25242
  if (!open) {
25394
25243
  event.stopPropagation();
25395
25244
  setOpen(false);
25396
25245
  }
25397
25246
  });
25398
- var menuControls = {
25399
- isOpen: function () { return open; },
25400
- open: function () { return setOpen(true); },
25401
- close: function () { return setOpen(false); },
25247
+ const menuControls = {
25248
+ isOpen: () => open,
25249
+ open: () => setOpen(true),
25250
+ close: () => setOpen(false),
25402
25251
  };
25403
- var menuItemProps = __assign({ onClick: function () { return menuControls.open(); } }, props);
25252
+ const menuItemProps = { onClick: () => menuControls.open(), ...props };
25404
25253
  return (React__default.createElement(LuiCloseableHeaderMenuContext.Provider, { value: menuControls },
25405
- React__default.createElement(LuiHeaderMenuItem, __assign({ ref: menuDiv }, menuItemProps), props.children)));
25254
+ React__default.createElement(LuiHeaderMenuItem, { ref: menuDiv, ...menuItemProps }, props.children)));
25406
25255
  };
25407
- var LuiMenuCloseButton = function (_a) {
25408
- var _b = _a.icon, icon = _b === void 0 ? 'close' : _b, hide = _a.hide, _c = _a["data-testid"], dataTestId = _c === void 0 ? 'close-button' : _c;
25409
- var menu = useContext(LuiCloseableHeaderMenuContext);
25410
- var classes = clsx('material-icons-round', 'lui-menu-close-button', hide && buildHideClassDict(hide));
25256
+ const LuiMenuCloseButton = ({ icon = 'close', hide, 'data-testid': dataTestId = 'close-button', }) => {
25257
+ const menu = useContext(LuiCloseableHeaderMenuContext);
25258
+ const classes = clsx('material-icons-round', 'lui-menu-close-button', hide && buildHideClassDict(hide));
25411
25259
  return (React__default.createElement("i", { className: classes, onClick: menu.close, "data-testid": dataTestId }, icon));
25412
25260
  };
25413
25261
 
25414
- var LuiDrawerMenuOptions = function (_a) {
25415
- var children = _a.children;
25416
- return (React__default.createElement("div", { className: "lui-menu-drawer-options" }, children));
25417
- };
25418
- var LuiDrawerMenuOption = function (_a) {
25419
- var icon = _a.icon, label = _a.label, badge = _a.badge, _b = _a.onClick, onClick = _b === void 0 ? function () { } : _b;
25420
- var menu = useContext(LuiCloseableHeaderMenuContext);
25421
- return (React__default.createElement("div", { className: "lui-menu-drawer-option", onClick: function () {
25262
+ const LuiDrawerMenuOptions = ({ children }) => (React__default.createElement("div", { className: "lui-menu-drawer-options" }, children));
25263
+ const LuiDrawerMenuOption = ({ icon, label, badge, onClick = () => { }, }) => {
25264
+ const menu = useContext(LuiCloseableHeaderMenuContext);
25265
+ return (React__default.createElement("div", { className: "lui-menu-drawer-option", onClick: () => {
25422
25266
  menu.close();
25423
25267
  onClick();
25424
25268
  }, "data-testid": 'drawer-option' },
@@ -25427,13 +25271,17 @@ var LuiDrawerMenuOption = function (_a) {
25427
25271
  label),
25428
25272
  badge));
25429
25273
  };
25430
- var LuiDrawerMenu = function (_a) {
25431
- var restOfProps = __rest(_a, []);
25432
- var children = restOfProps.children, _b = restOfProps.hasStickyHeader, hasStickyHeader = _b === void 0 ? true : _b, menuPropsCopy = __rest(restOfProps, ["children", "hasStickyHeader"]);
25433
- var _c = useState(false), open = _c[0], setOpen = _c[1];
25434
- var closeableMenuProps = __assign(__assign({}, menuPropsCopy), { open: open,
25435
- setOpen: setOpen, icon: open ? 'close' : 'menu', onClick: function () { return setOpen(!open); } });
25436
- useEffect(function () {
25274
+ const LuiDrawerMenu = ({ ...restOfProps }) => {
25275
+ const { children, hasStickyHeader = true, ...menuPropsCopy } = restOfProps;
25276
+ const [open, setOpen] = useState(false);
25277
+ const closeableMenuProps = {
25278
+ ...menuPropsCopy,
25279
+ open,
25280
+ setOpen,
25281
+ icon: open ? 'close' : 'menu',
25282
+ onClick: () => setOpen(!open),
25283
+ };
25284
+ useEffect(() => {
25437
25285
  // Support for non-sticky headers. Scroll back to top when menu is opened
25438
25286
  if (open && !hasStickyHeader) {
25439
25287
  window.scrollTo({ top: 0, behavior: 'smooth' });
@@ -25446,18 +25294,17 @@ var LuiDrawerMenu = function (_a) {
25446
25294
  document.body.classList.remove('lui-menu-drawer-open');
25447
25295
  }
25448
25296
  }, [open, hasStickyHeader]);
25449
- return (React__default.createElement(LuiCloseableHeaderMenuItem, __assign({}, closeableMenuProps),
25297
+ return (React__default.createElement(LuiCloseableHeaderMenuItem, { ...closeableMenuProps },
25450
25298
  React__default.createElement("div", { className: clsx({
25451
25299
  'lui-menu-drawer': true,
25452
25300
  'lui-menu-drawer-closed': !open,
25453
25301
  }), "data-testid": 'drawer', "aria-hidden": !open }, children)));
25454
25302
  };
25455
- var LuiDropdownMenu = function (_a) {
25456
- var restOfProps = __rest(_a, []);
25457
- var children = restOfProps.children, menuPropsCopy = __rest(restOfProps, ["children"]);
25458
- var _b = useState(false), open = _b[0], setOpen = _b[1];
25459
- var closeableMenuProps = __assign(__assign({}, menuPropsCopy), { open: open, setOpen: setOpen });
25460
- return (React__default.createElement(LuiCloseableHeaderMenuItem, __assign({}, closeableMenuProps),
25303
+ const LuiDropdownMenu = ({ ...restOfProps }) => {
25304
+ const { children, ...menuPropsCopy } = restOfProps;
25305
+ const [open, setOpen] = useState(false);
25306
+ const closeableMenuProps = { ...menuPropsCopy, open, setOpen };
25307
+ return (React__default.createElement(LuiCloseableHeaderMenuItem, { ...closeableMenuProps },
25461
25308
  React__default.createElement("div", { className: clsx({
25462
25309
  'lui-menu-dropdown lui-box-shadow': true,
25463
25310
  'lui-menu-dropdown-closed': !open,
@@ -25465,8 +25312,8 @@ var LuiDropdownMenu = function (_a) {
25465
25312
  children,
25466
25313
  ' ')));
25467
25314
  };
25468
- var LuiDrawerMenuSection = function (props) {
25469
- var children = props.children, title = props.title, collapsible = props.collapsible;
25315
+ const LuiDrawerMenuSection = (props) => {
25316
+ const { children, title, collapsible } = props;
25470
25317
  return (React__default.createElement("div", null,
25471
25318
  collapsible && (React__default.createElement(LuiExpandableBanner, { label: title || '', className: "LuiDrawerMenuSection-header" }, children)),
25472
25319
  !collapsible && (React__default.createElement(React__default.Fragment, null,
@@ -25475,7 +25322,7 @@ var LuiDrawerMenuSection = function (props) {
25475
25322
  React__default.createElement("h3", null, title)))),
25476
25323
  children))));
25477
25324
  };
25478
- var LuiDrawerMenuDivider = function () {
25325
+ const LuiDrawerMenuDivider = () => {
25479
25326
  return React__default.createElement("hr", { className: "LuiDrawerMenuDivider" });
25480
25327
  };
25481
25328
 
@@ -27823,8 +27670,8 @@ function polyfill(Component) {
27823
27670
  }
27824
27671
 
27825
27672
  var reactLifecyclesCompat_es = /*#__PURE__*/Object.freeze({
27826
- __proto__: null,
27827
- polyfill: polyfill
27673
+ __proto__: null,
27674
+ polyfill: polyfill
27828
27675
  });
27829
27676
 
27830
27677
  var require$$6 = /*@__PURE__*/getAugmentedNamespace(reactLifecyclesCompat_es);
@@ -28117,30 +27964,29 @@ module.exports = exports["default"];
28117
27964
 
28118
27965
  var Modal = /*@__PURE__*/getDefaultExportFromCjs(lib.exports);
28119
27966
 
28120
- var LuiUpdatesSplashModal = function (props) {
28121
- var _a;
28122
- var node = useRef(null);
27967
+ const LuiUpdatesSplashModal = (props) => {
27968
+ const node = useRef(null);
28123
27969
  // We have to do this as the CSS takes over a lot of the page
28124
27970
  // https://medium.com/@pitipatdop/little-neat-trick-to-capture-click-outside-with-react-hook-ba77c37c7e82
28125
- var handleClickOutside = useCallback(function (e) {
27971
+ const handleClickOutside = useCallback((e) => {
28126
27972
  console.log('clicking anywhere');
28127
27973
  // current DOES have a contains!
28128
- if ((node === null || node === void 0 ? void 0 : node.current) && node.current.contains(e.target)) {
27974
+ if (node?.current && node.current.contains(e.target)) {
28129
27975
  // inside click
28130
27976
  return;
28131
27977
  }
28132
27978
  // outside click
28133
27979
  props.onClose();
28134
27980
  }, [props]);
28135
- useEffect(function () {
27981
+ useEffect(() => {
28136
27982
  document.addEventListener('mousedown', handleClickOutside);
28137
- return function () {
27983
+ return () => {
28138
27984
  document.removeEventListener('mousedown', handleClickOutside);
28139
27985
  };
28140
27986
  }, [handleClickOutside]);
28141
27987
  // process may be undefined, e.g. webpack 5 does not include a polyfill for it. Assume if process is undefined then
28142
27988
  // this isn't running in a test.
28143
- if (typeof process === 'undefined' || ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) !== 'test') {
27989
+ if (typeof process === 'undefined' || process?.env?.NODE_ENV !== 'test') {
28144
27990
  Modal.setAppElement('#root');
28145
27991
  }
28146
27992
  return (React__default.createElement(Modal, { key: props.id, isOpen: true, shouldCloseOnOverlayClick: true, onRequestClose: props.onClose, contentLabel: "Recent updates", className: "lui-scrim", style: { overlay: { backgroundColor: 'transparent' } } },
@@ -28154,12 +28000,11 @@ var LuiUpdatesSplashModal = function (props) {
28154
28000
  React__default.createElement("div", { className: 'lui-feature-text' }, props.children))));
28155
28001
  };
28156
28002
 
28157
- var LuiModal = function (props) {
28158
- var _a;
28159
- var node = useRef(null);
28160
- var handleClickOutside = useCallback(function (e) {
28003
+ const LuiModal = (props) => {
28004
+ const node = useRef(null);
28005
+ const handleClickOutside = useCallback((e) => {
28161
28006
  // current DOES have a contains!
28162
- if ((node === null || node === void 0 ? void 0 : node.current) && node.current.contains(e.target)) {
28007
+ if (node?.current && node.current.contains(e.target)) {
28163
28008
  // inside click
28164
28009
  return;
28165
28010
  }
@@ -28168,37 +28013,37 @@ var LuiModal = function (props) {
28168
28013
  props.onClose && props.onClose();
28169
28014
  }
28170
28015
  }, [props]);
28171
- useEffect(function () {
28016
+ useEffect(() => {
28172
28017
  document.addEventListener('mousedown', handleClickOutside);
28173
- return function () {
28018
+ return () => {
28174
28019
  document.removeEventListener('mousedown', handleClickOutside);
28175
28020
  };
28176
28021
  }, [handleClickOutside]);
28177
- var isTest = false;
28022
+ let isTest = false;
28178
28023
  // this is here for the tests
28179
28024
  if (typeof process !== 'undefined') {
28180
- isTest = ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) === 'test';
28025
+ isTest = process?.env?.NODE_ENV === 'test';
28181
28026
  if (!isTest) {
28182
28027
  Modal.setAppElement('#root');
28183
28028
  }
28184
28029
  }
28185
- return (React__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 && {
28186
- parentSelector: props.appendToElement,
28187
- })),
28030
+ return (React__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 && {
28031
+ parentSelector: props.appendToElement,
28032
+ }) },
28188
28033
  React__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) },
28189
28034
  props.headingText && (React__default.createElement(LuiModalHeader, { headingText: props.headingText, onClose: props.onClose })),
28190
28035
  React__default.createElement("div", { className: clsx(props.headingText && 'lui-modal-container') }, props.children))));
28191
28036
  };
28192
- var LuiAlertModal = function (props) {
28193
- var materialIcon = getMaterialIconForLevel(props.level);
28194
- return (React__default.createElement(LuiModal, { key: props.key, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick, onClose: props.onClose, className: clsx("lui-modal-" + props.level, props.className), appendToElement: props.appendToElement },
28195
- React__default.createElement(LuiIcon, { name: "ic_" + materialIcon, alt: props.level + " status icon", size: "lg", className: "lui-msg-status-icon" }),
28037
+ const LuiAlertModal = (props) => {
28038
+ let materialIcon = getMaterialIconForLevel(props.level);
28039
+ return (React__default.createElement(LuiModal, { key: props.key, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick, onClose: props.onClose, className: clsx(`lui-modal-${props.level}`, props.className), appendToElement: props.appendToElement },
28040
+ React__default.createElement(LuiIcon, { name: `ic_${materialIcon}`, alt: `${props.level} status icon`, size: "lg", className: "lui-msg-status-icon" }),
28196
28041
  props.children));
28197
28042
  };
28198
- var LuiAlertModalButtons = function (props) {
28043
+ const LuiAlertModalButtons = (props) => {
28199
28044
  return React__default.createElement("div", { className: "modal-btn-row" }, props.children);
28200
28045
  };
28201
- var LuiModalHeader = function (props) {
28046
+ const LuiModalHeader = (props) => {
28202
28047
  return (React__default.createElement("header", { className: "lui-modal-header" }, props.headingText && (React__default.createElement("div", { className: "lui-modal-header-title" },
28203
28048
  React__default.createElement("h1", null, props.headingText),
28204
28049
  props.onClose && (React__default.createElement("button", { className: "lui-modal-header-close-btn", onClick: props.onClose },
@@ -28299,18 +28144,17 @@ function Skeleton({ count = 1, wrapper: Wrapper, className: customClassName, con
28299
28144
  : elements));
28300
28145
  }
28301
28146
 
28302
- var SKELETON_COUNT = 3;
28303
- var ResultsDisplay = function (_a) {
28304
- 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;
28305
- var ResultLine = function (result) {
28306
- var isSelected = result.id === selectedId;
28307
- return (React__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)));
28147
+ const SKELETON_COUNT = 3;
28148
+ const ResultsDisplay = ({ isLoading, onClick, children, selectedId, selectedRef, setSelectedId, results, renderItem, }) => {
28149
+ const ResultLine = (result) => {
28150
+ const isSelected = result.id === selectedId;
28151
+ return (React__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)));
28308
28152
  };
28309
- var GroupedResult = function (result) {
28153
+ const GroupedResult = (result) => {
28310
28154
  return (React__default.createElement("div", null,
28311
28155
  React__default.createElement("div", { className: "LuiSearchInput-resultHeader" }, result.label),
28312
- result.items.map(function (item) {
28313
- return React__default.createElement(ResultLine, __assign({ key: item.id }, item));
28156
+ result.items.map((item) => {
28157
+ return React__default.createElement(ResultLine, { key: item.id, ...item });
28314
28158
  })));
28315
28159
  };
28316
28160
  return (React__default.createElement("div", { className: "LuiSearchInput-results" },
@@ -28318,15 +28162,15 @@ var ResultsDisplay = function (_a) {
28318
28162
  React__default.createElement(Skeleton, { className: "LuiSearchInput-skeletonItem", count: SKELETON_COUNT }))),
28319
28163
  !isLoading &&
28320
28164
  isGroupedResult(results) &&
28321
- results.map(function (result, index) {
28165
+ results.map((result, index) => {
28322
28166
  return (React__default.createElement(React__default.Fragment, null,
28323
- React__default.createElement(GroupedResult, __assign({ key: result.id }, result)),
28167
+ React__default.createElement(GroupedResult, { key: result.id, ...result }),
28324
28168
  index !== results.length - 1 && (React__default.createElement("hr", { className: "LuiSearchInput-groupSeparator" }))));
28325
28169
  }),
28326
28170
  !isLoading &&
28327
28171
  !isGroupedResult(results) &&
28328
- results.map(function (result) {
28329
- return React__default.createElement(ResultLine, __assign({ key: result.id }, result));
28172
+ results.map((result) => {
28173
+ return React__default.createElement(ResultLine, { key: result.id, ...result });
28330
28174
  }),
28331
28175
  children));
28332
28176
  };
@@ -28339,36 +28183,34 @@ function isGroupedResult(result) {
28339
28183
  }
28340
28184
  function flatten(items) {
28341
28185
  if (isGroupedResult(items)) {
28342
- return items.flatMap(function (item) { return item.items; });
28186
+ return items.flatMap((item) => item.items);
28343
28187
  }
28344
28188
  return items;
28345
28189
  }
28346
- var LuiSearchInput = function (props) {
28347
- var _a = useState(props.initialValue ? props.initialValue : ''), typedValue = _a[0], setTypedValue = _a[1];
28348
- var _b = useState([]), results = _b[0], setResults = _b[1];
28349
- var _c = useState(''), selectedId = _c[0], setSelectedId = _c[1];
28350
- var _d = useState(false), haveFocus = _d[0], setHaveFocus = _d[1];
28351
- var _e = useState(false), isLoading = _e[0], setIsLoading = _e[1];
28352
- var inputRef = useRef(null);
28353
- var selectedRef = useRef(null);
28190
+ const LuiSearchInput = (props) => {
28191
+ const [typedValue, setTypedValue] = useState(props.initialValue ? props.initialValue : '');
28192
+ const [results, setResults] = useState([]);
28193
+ const [selectedId, setSelectedId] = useState('');
28194
+ const [haveFocus, setHaveFocus] = useState(false);
28195
+ const [isLoading, setIsLoading] = useState(false);
28196
+ const inputRef = useRef(null);
28197
+ const selectedRef = useRef(null);
28354
28198
  //set focus to inut box
28355
- useEffect(function () {
28356
- var _a;
28199
+ useEffect(() => {
28357
28200
  if (props.focusUpdate !== undefined)
28358
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
28201
+ inputRef.current?.focus();
28359
28202
  }, [props.focusUpdate]);
28360
28203
  //clear result after search types changed
28361
- useEffect(function () {
28204
+ useEffect(() => {
28362
28205
  setResults([]);
28363
28206
  }, [props.getOptions]);
28364
28207
  function setInputValue(value) {
28365
28208
  setTypedValue(props.inputTransformer ? props.inputTransformer(value) : value);
28366
28209
  }
28367
28210
  function moveDown() {
28368
- var items = flatten(results);
28369
- var takeNext = selectedId === '';
28370
- for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
28371
- var item = items_1[_i];
28211
+ const items = flatten(results);
28212
+ let takeNext = selectedId === '';
28213
+ for (const item of items) {
28372
28214
  if (item.id === selectedId) {
28373
28215
  takeNext = true;
28374
28216
  }
@@ -28380,10 +28222,9 @@ var LuiSearchInput = function (props) {
28380
28222
  return;
28381
28223
  }
28382
28224
  function moveUp() {
28383
- var items = flatten(results);
28384
- var takeNext = false;
28385
- for (var _i = 0, _a = __spreadArrays(items).reverse(); _i < _a.length; _i++) {
28386
- var item = _a[_i];
28225
+ const items = flatten(results);
28226
+ let takeNext = false;
28227
+ for (const item of [...items].reverse()) {
28387
28228
  if (item.id === selectedId) {
28388
28229
  takeNext = true;
28389
28230
  }
@@ -28395,42 +28236,30 @@ var LuiSearchInput = function (props) {
28395
28236
  return;
28396
28237
  }
28397
28238
  function selectItem(itemId) {
28398
- var id = itemId ? itemId : selectedId;
28399
- var selectedItem = flatten(results).find(function (item) { return item.id === id; });
28239
+ const id = itemId ? itemId : selectedId;
28240
+ const selectedItem = flatten(results).find((item) => item.id === id);
28400
28241
  if (selectedItem) {
28401
28242
  setHaveFocus(false);
28402
28243
  setInputValue(selectedItem.description);
28403
28244
  props.onSelectOption(selectedItem);
28404
28245
  }
28405
28246
  }
28406
- function retrieveResults(input) {
28407
- return __awaiter(this, void 0, void 0, function () {
28408
- var results_1, items, selectedIdInResults;
28409
- return __generator(this, function (_a) {
28410
- switch (_a.label) {
28411
- case 0:
28412
- if (!(input !== '' && input.length >= props.minCharactersForSearch)) return [3 /*break*/, 4];
28413
- setIsLoading(true);
28414
- _a.label = 1;
28415
- case 1:
28416
- _a.trys.push([1, , 3, 4]);
28417
- return [4 /*yield*/, props.getOptions(input)];
28418
- case 2:
28419
- results_1 = _a.sent();
28420
- items = flatten(results_1);
28421
- setResults(results_1);
28422
- selectedIdInResults = items.some(function (item) { return item.id === selectedId; });
28423
- if (!selectedIdInResults) {
28424
- setSelectedId(items.length ? items[0].id : '');
28425
- }
28426
- return [3 /*break*/, 4];
28427
- case 3:
28428
- setIsLoading(false);
28429
- return [7 /*endfinally*/];
28430
- case 4: return [2 /*return*/];
28247
+ async function retrieveResults(input) {
28248
+ if (input !== '' && input.length >= props.minCharactersForSearch) {
28249
+ setIsLoading(true);
28250
+ try {
28251
+ const results = await props.getOptions(input);
28252
+ const items = flatten(results);
28253
+ setResults(results);
28254
+ const selectedIdInResults = items.some((item) => item.id === selectedId);
28255
+ if (!selectedIdInResults) {
28256
+ setSelectedId(items.length ? items[0].id : '');
28431
28257
  }
28432
- });
28433
- });
28258
+ }
28259
+ finally {
28260
+ setIsLoading(false);
28261
+ }
28262
+ }
28434
28263
  }
28435
28264
  function handleKeyDown(event) {
28436
28265
  switch (event.key) {
@@ -28453,19 +28282,19 @@ var LuiSearchInput = function (props) {
28453
28282
  }
28454
28283
  function scrollToViewSelected(topOfView) {
28455
28284
  // Wait for ref to update before scrolling to it
28456
- setTimeout(function () { var _a; return (_a = selectedRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView(topOfView); }, 0);
28285
+ setTimeout(() => selectedRef.current?.scrollIntoView(topOfView), 0);
28457
28286
  }
28458
- useEffect(function () {
28287
+ useEffect(() => {
28459
28288
  retrieveResults(typedValue);
28460
28289
  }, [typedValue]);
28461
- var cancelIcon = typedValue !== '' ? (React__default.createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "md", className: 'LuiSearchInput-iconPosition', spanProps: {
28462
- onClick: function () {
28290
+ const cancelIcon = typedValue !== '' ? (React__default.createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "md", className: 'LuiSearchInput-iconPosition', spanProps: {
28291
+ onClick: () => {
28463
28292
  setInputValue('');
28464
28293
  setResults([]);
28465
28294
  },
28466
28295
  } })) : null;
28467
- var searchIcon = (React__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(); } } }));
28468
- var typeMore = 'You need to type a few more characters';
28296
+ const searchIcon = (React__default.createElement(LuiIcon, { className: 'LuiSearchInput-startIconPosition', name: "ic_search", size: "md", alt: "search", spanProps: { onClick: () => inputRef.current?.focus() } }));
28297
+ const typeMore = 'You need to type a few more characters';
28469
28298
  function enoughChars(input) {
28470
28299
  if (typeof props.minCharactersForSearch === 'number')
28471
28300
  return input.length >= props.minCharactersForSearch;
@@ -28480,20 +28309,20 @@ var LuiSearchInput = function (props) {
28480
28309
  return typeMore;
28481
28310
  }
28482
28311
  if (props.name)
28483
- return "The " + props.name + " could not be displayed or does not exist.";
28312
+ return `The ${props.name} could not be displayed or does not exist.`;
28484
28313
  else
28485
28314
  return null;
28486
28315
  }
28487
28316
  return (React__default.createElement("div", { className: "LuiSearchInput" },
28488
28317
  React__default.createElement("span", { className: "LuiSearchInput-inputWrapper" },
28489
28318
  searchIcon,
28490
- React__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) {
28319
+ React__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) => {
28491
28320
  e.target.select();
28492
28321
  retrieveResults(typedValue);
28493
28322
  setHaveFocus(true);
28494
28323
  },
28495
28324
  // This timeout could be a little brittle but allows the menu to stay open long enough to click it
28496
- onBlur: function () { return setTimeout(function () { return setHaveFocus(false); }, 200); } }),
28325
+ onBlur: () => setTimeout(() => setHaveFocus(false), 200) }),
28497
28326
  cancelIcon),
28498
28327
  (isLoading || results.length > 0) && haveFocus && (React__default.createElement("div", null,
28499
28328
  React__default.createElement(ResultsDisplay, { results: results, selectedId: selectedId, setSelectedId: setSelectedId, selectedRef: selectedRef, onClick: selectItem, isLoading: isLoading, renderItem: props.renderItem }))),
@@ -28509,43 +28338,33 @@ var LuiSearchInput = function (props) {
28509
28338
  React__default.createElement("div", { "data-testid": "disclaimer", className: "LuiSearchInput-disclaimer" }, props.disclaimer)))));
28510
28339
  };
28511
28340
 
28512
- var resultStyle$1 = { verticalAlign: 'middle' };
28341
+ const resultStyle$1 = { verticalAlign: 'middle' };
28513
28342
  /**
28514
28343
  * LuiSearchBox is a search input with select menu.
28515
28344
  * The options of the menu and input can be passed in as an array.
28516
28345
  * See examples in SearchBox in storybook.
28517
28346
  */
28518
- var LuiSearchBox = function (_a) {
28519
- var searchBoxOptions = _a.searchBoxOptions, initOptionValue = _a.initOptionValue, onMenuSelect = _a.onMenuSelect, autoFocus = _a.autoFocus;
28520
- var initOption = searchBoxOptions.find(function (_a) {
28521
- var value = _a.value;
28522
- return value === initOptionValue;
28523
- });
28524
- var _b = useState(initOption ? initOption : searchBoxOptions[0]), selectedMenuOption = _b[0], setSelectedMenuOption = _b[1];
28347
+ const LuiSearchBox = ({ searchBoxOptions, initOptionValue, onMenuSelect, autoFocus, }) => {
28348
+ const initOption = searchBoxOptions.find(({ value }) => value === initOptionValue);
28349
+ const [selectedMenuOption, setSelectedMenuOption,] = useState(initOption ? initOption : searchBoxOptions[0]);
28525
28350
  //auto focus every time select a menu item
28526
- var _c = useState(false), focusUpdate = _c[0], setFocusUpdate = _c[1];
28351
+ const [focusUpdate, setFocusUpdate] = useState(false);
28527
28352
  //don't focus when first time display
28528
- var _d = useState(false), isFocus = _d[0], setIsFocus = _d[1];
28529
- useEffect(function () {
28530
- var updatedOption = searchBoxOptions.find(function (_a) {
28531
- var value = _a.value;
28532
- return value === initOptionValue;
28533
- });
28353
+ const [isFocus, setIsFocus] = useState(false);
28354
+ useEffect(() => {
28355
+ const updatedOption = searchBoxOptions.find(({ value }) => value === initOptionValue);
28534
28356
  if (updatedOption)
28535
28357
  setSelectedMenuOption(updatedOption);
28536
28358
  }, [initOptionValue]);
28537
- var handleMenuSelected = function (e) {
28359
+ const handleMenuSelected = (e) => {
28538
28360
  setSelectedMenuOption(findSelectedOption(e.value));
28539
28361
  if (onMenuSelect !== undefined)
28540
28362
  onMenuSelect(e);
28541
28363
  setIsFocus(true);
28542
28364
  setFocusUpdate(!focusUpdate);
28543
28365
  };
28544
- var findSelectedOption = function (v) {
28545
- var selectedOption = searchBoxOptions.find(function (_a) {
28546
- var value = _a.value;
28547
- return value === v;
28548
- });
28366
+ const findSelectedOption = (v) => {
28367
+ const selectedOption = searchBoxOptions.find(({ value }) => value === v);
28549
28368
  return selectedOption ? selectedOption : searchBoxOptions[0];
28550
28369
  };
28551
28370
  return (React__default.createElement("div", { className: "LuiSearchBox" },
@@ -28553,23 +28372,23 @@ var LuiSearchBox = function (_a) {
28553
28372
  React__default.createElement("div", { className: "LuiSearchBox-right" },
28554
28373
  React__default.createElement(LuiSearchInput, { name: selectedMenuOption.name ? selectedMenuOption.name : undefined, minCharactersForSearch: 2, placeholderText: selectedMenuOption.placeholderText, getOptions: selectedMenuOption.getOption, onSelectOption: selectedMenuOption.onSelectOption, renderItem: selectedMenuOption.renderItem
28555
28374
  ? selectedMenuOption.renderItem
28556
- : function (item) {
28375
+ : (item) => {
28557
28376
  return React__default.createElement("span", { style: resultStyle$1 }, item.description);
28558
28377
  }, disclaimer: selectedMenuOption.disclaimer, focusUpdate: autoFocus && isFocus ? focusUpdate : undefined }))));
28559
28378
  };
28560
- var LuiSearchBoxButton = React__default.forwardRef(function (props, ref) {
28561
- return (React__default.createElement(LuiButton, __assign({ level: "tertiary" }, props, { ref: ref, className: "LuiSearchBox-button" }),
28379
+ const LuiSearchBoxButton = React__default.forwardRef((props, ref) => {
28380
+ return (React__default.createElement(LuiButton, { level: "tertiary", ...props, ref: ref, className: "LuiSearchBox-button" },
28562
28381
  props.children,
28563
28382
  React__default.createElement(LuiIcon, { size: "md", name: 'ic_keyboard_arrow_down', className: 'LuiSearchBox-button-icon', alt: '' })));
28564
28383
  });
28565
- var renderSelectMenu = function (items, onClick) { return (React__default.createElement(React__default.Fragment, null, items.map(function (item) {
28384
+ const renderSelectMenu = (items, onClick) => (React__default.createElement(React__default.Fragment, null, items.map((item) => {
28566
28385
  return (React__default.createElement(React__default.Fragment, { key: item.value },
28567
28386
  item.groupDivider ? React__default.createElement(LuiSelectMenuDivider, null) : null,
28568
28387
  item.groupTitle ? (React__default.createElement(LuiSelectMenuHeader, null, item.groupTitle)) : null,
28569
- React__default.createElement(LuiSelectMenuItem, { "data-testid": "select-box-" + item.value, value: item.value, onClick: onClick, noPadding: true }, item.title)));
28570
- }))); };
28388
+ React__default.createElement(LuiSelectMenuItem, { "data-testid": `select-box-${item.value}`, value: item.value, onClick: onClick, noPadding: true }, item.title)));
28389
+ })));
28571
28390
 
28572
- var exampleSearchResults = [
28391
+ const exampleSearchResults = [
28573
28392
  {
28574
28393
  id: 'DP44035-1',
28575
28394
  description: 'This is a example Newlands search result',
@@ -28579,27 +28398,27 @@ var exampleSearchResults = [
28579
28398
  description: 'This is a example Newlands search result 2',
28580
28399
  },
28581
28400
  ];
28582
- var getDefaultOptions = function (input) {
28401
+ const getDefaultOptions = (input) => {
28583
28402
  if (input) {
28584
- var results_1 = exampleSearchResults.filter(function (item) {
28403
+ const results = exampleSearchResults.filter((item) => {
28585
28404
  return item.description.toUpperCase().includes(input.toUpperCase());
28586
28405
  });
28587
- return new Promise(function (resolve) {
28588
- setTimeout(function () { return resolve(results_1); }, 250);
28406
+ return new Promise((resolve) => {
28407
+ setTimeout(() => resolve(results), 250);
28589
28408
  });
28590
28409
  }
28591
28410
  else {
28592
28411
  return Promise.resolve([]);
28593
28412
  }
28594
28413
  };
28595
- var defaultSelectOption = function (selectedOption) {
28414
+ const defaultSelectOption = (selectedOption) => {
28596
28415
  console.log('SELECTED OPTION: ', selectedOption);
28597
28416
  };
28598
- var resultStyle = { verticalAlign: 'middle' };
28599
- var defaultRenderItem = function (item) {
28417
+ const resultStyle = { verticalAlign: 'middle' };
28418
+ const defaultRenderItem = (item) => {
28600
28419
  return React__default.createElement("span", { style: resultStyle }, item.description);
28601
28420
  };
28602
- var searchBoxOptions = [
28421
+ const searchBoxOptions = [
28603
28422
  {
28604
28423
  groupTitle: 'Title',
28605
28424
  value: 'address',
@@ -28659,17 +28478,16 @@ var searchBoxOptions = [
28659
28478
  onSelectOption: defaultSelectOption,
28660
28479
  },
28661
28480
  ];
28662
- var getDefaultSearchMenuOptions = function () {
28481
+ const getDefaultSearchMenuOptions = () => {
28663
28482
  return searchBoxOptions;
28664
28483
  };
28665
- var LOLSearchBox = function (_a) {
28666
- var searchBoxOptions = _a.searchBoxOptions, initOptionValue = _a.initOptionValue, onMenuSelect = _a.onMenuSelect;
28484
+ const LOLSearchBox = ({ searchBoxOptions, initOptionValue, onMenuSelect, }) => {
28667
28485
  return (React__default.createElement(LuiSearchBox, { onMenuSelect: onMenuSelect, initOptionValue: initOptionValue, searchBoxOptions: searchBoxOptions ? searchBoxOptions : getDefaultSearchMenuOptions() }));
28668
28486
  };
28669
28487
 
28670
28488
  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+';
28671
28489
 
28672
- var LuiErrorPage = function (props) {
28490
+ const LuiErrorPage = (props) => {
28673
28491
  return (React__default.createElement("div", { className: 'LuiErrorPage' },
28674
28492
  props.header,
28675
28493
  React__default.createElement("div", { className: 'Container' },
@@ -28680,36 +28498,36 @@ var LuiErrorPage = function (props) {
28680
28498
  props.footer));
28681
28499
  };
28682
28500
 
28683
- var userHasAnyPrivilege = function (privileges, selectedFirm) {
28501
+ const userHasAnyPrivilege = (privileges, selectedFirm) => {
28684
28502
  return (privileges.length === 0 ||
28685
28503
  (selectedFirm !== undefined &&
28686
- selectedFirm.privileges.filter(function (value) { return privileges.indexOf(value) > -1; })
28504
+ selectedFirm.privileges.filter((value) => privileges.indexOf(value) > -1)
28687
28505
  .length > 0));
28688
28506
  };
28689
- var userIsInternal = function (user) {
28690
- var loginType = (user === null || user === void 0 ? void 0 : user.loginType).code || (user === null || user === void 0 ? void 0 : user.loginType);
28507
+ const userIsInternal = (user) => {
28508
+ const loginType = user?.loginType.code || user?.loginType;
28691
28509
  return loginType === 'INTN';
28692
28510
  };
28693
28511
 
28694
28512
  function useLOLUserContext() {
28695
28513
  return useContext(LOLUserContext);
28696
28514
  }
28697
- var LOLUserContext = React__default.createContext({
28515
+ const LOLUserContext = React__default.createContext({
28698
28516
  user: undefined,
28699
28517
  selectedFirm: undefined,
28700
- changeFirm: function (firmId) {
28518
+ changeFirm: (firmId) => {
28701
28519
  console.error('Called changeFirm before UserContext loaded', firmId);
28702
28520
  },
28703
- isInternal: function () { return false; },
28704
- hasAnyPrivilege: function () { return false; },
28521
+ isInternal: () => false,
28522
+ hasAnyPrivilege: () => false,
28705
28523
  });
28706
28524
  function LOLUserContextProvider(props) {
28707
- var _a = useGetUserInfo(), isLoading = _a.isLoading, data = _a.data, isError = _a.isError;
28708
- var _b = useState(), selectedFirm = _b[0], setSelectedFirm = _b[1];
28709
- var _c = useState(false), ready = _c[0], setReady = _c[1];
28710
- useEffect(function () {
28525
+ const { isLoading, data, isError } = useGetUserInfo();
28526
+ const [selectedFirm, setSelectedFirm] = useState();
28527
+ const [ready, setReady] = useState(false);
28528
+ useEffect(() => {
28711
28529
  // User data is still loading
28712
- if (!(data === null || data === void 0 ? void 0 : data.user)) {
28530
+ if (!data?.user) {
28713
28531
  return;
28714
28532
  }
28715
28533
  // Clear firm value if there are no firms
@@ -28720,23 +28538,22 @@ function LOLUserContextProvider(props) {
28720
28538
  }
28721
28539
  if (data.user.firms.length > 0 &&
28722
28540
  (!getSelectedFirmIdCache() ||
28723
- !data.user.firms.find(function (firm) { return firm.id === getSelectedFirmIdCache(); }))) {
28724
- var firstFirm = data.user.firms[0];
28541
+ !data.user.firms.find((firm) => firm.id === getSelectedFirmIdCache()))) {
28542
+ const firstFirm = data.user.firms[0];
28725
28543
  setSelectedFirmCache(firstFirm.id, firstFirm.name);
28726
28544
  setSelectedFirm(firstFirm);
28727
28545
  setReady(true);
28728
28546
  }
28729
28547
  else {
28730
28548
  // pull firm from cache and use it
28731
- var selectedFirmIdFromCache_1 = getSelectedFirmIdCache();
28732
- var selectedFirmDerivedFromCache = data.user.firms.find(function (firm) { return firm.id === selectedFirmIdFromCache_1; });
28549
+ const selectedFirmIdFromCache = getSelectedFirmIdCache();
28550
+ const selectedFirmDerivedFromCache = data.user.firms.find((firm) => firm.id === selectedFirmIdFromCache);
28733
28551
  setSelectedFirm(selectedFirmDerivedFromCache || undefined);
28734
28552
  setReady(true);
28735
28553
  }
28736
28554
  }, [data]);
28737
- var changeFirm = useCallback(function (firmId) {
28738
- var _a;
28739
- var firm = (_a = data === null || data === void 0 ? void 0 : data.user) === null || _a === void 0 ? void 0 : _a.firms.find(function (f) {
28555
+ const changeFirm = useCallback((firmId) => {
28556
+ const firm = data?.user?.firms.find((f) => {
28740
28557
  return f.id === firmId;
28741
28558
  });
28742
28559
  if (firm === undefined) {
@@ -28747,14 +28564,12 @@ function LOLUserContextProvider(props) {
28747
28564
  setSelectedFirmCache(firm.id, firm.name);
28748
28565
  setSelectedFirm(firm);
28749
28566
  }, [data]);
28750
- var isInternal = useCallback(function () { return userIsInternal(data === null || data === void 0 ? void 0 : data.user); }, [data]);
28751
- var hasAnyPrivilege = useCallback(function (privileges) {
28752
- return userHasAnyPrivilege(privileges, selectedFirm);
28753
- }, [selectedFirm]);
28754
- useEffect(function () {
28755
- var onCachedFirmUpdate = function (event) {
28567
+ const isInternal = useCallback(() => userIsInternal(data?.user), [data]);
28568
+ const hasAnyPrivilege = useCallback((privileges) => userHasAnyPrivilege(privileges, selectedFirm), [selectedFirm]);
28569
+ useEffect(() => {
28570
+ const onCachedFirmUpdate = (event) => {
28756
28571
  if (event.storageArea === localStorage && event.key === FIRM_KEY) {
28757
- var selectedFirmId = event.newValue;
28572
+ const selectedFirmId = event.newValue;
28758
28573
  if (selectedFirmId) {
28759
28574
  changeFirm(selectedFirmId);
28760
28575
  }
@@ -28765,7 +28580,7 @@ function LOLUserContextProvider(props) {
28765
28580
  window.addEventListener('storage', onCachedFirmUpdate, false);
28766
28581
  }
28767
28582
  // cleanup listener on unmount
28768
- return function () {
28583
+ return () => {
28769
28584
  window.removeEventListener('storage', onCachedFirmUpdate, false);
28770
28585
  };
28771
28586
  }, [ready, changeFirm]);
@@ -28779,10 +28594,10 @@ function LOLUserContextProvider(props) {
28779
28594
  if (data && data.user && data.user.id) {
28780
28595
  return (React__default.createElement(LOLUserContext.Provider, { value: {
28781
28596
  user: data.user,
28782
- selectedFirm: selectedFirm,
28783
- changeFirm: changeFirm,
28784
- isInternal: isInternal,
28785
- hasAnyPrivilege: hasAnyPrivilege,
28597
+ selectedFirm,
28598
+ changeFirm,
28599
+ isInternal,
28600
+ hasAnyPrivilege,
28786
28601
  } }, props.children));
28787
28602
  }
28788
28603
  else {
@@ -28791,41 +28606,24 @@ function LOLUserContextProvider(props) {
28791
28606
  }
28792
28607
  }
28793
28608
  function useGetUserInfo() {
28794
- var _this = this;
28795
- return useQuery("useGetUserInfo", function () { return __awaiter(_this, void 0, void 0, function () {
28796
- var url, res;
28797
- return __generator(this, function (_a) {
28798
- switch (_a.label) {
28799
- case 0:
28800
- url = "/auth/api/userinfo";
28801
- return [4 /*yield*/, fetch(url)];
28802
- case 1:
28803
- res = _a.sent();
28804
- return [4 /*yield*/, checkForStandardErrors(res)];
28805
- case 2:
28806
- _a.sent();
28807
- return [4 /*yield*/, res.json()];
28808
- case 3: return [2 /*return*/, _a.sent()];
28809
- }
28810
- });
28811
- }); });
28609
+ return useQuery(`useGetUserInfo`, async () => {
28610
+ const url = `/auth/api/userinfo`;
28611
+ const res = await fetch(url);
28612
+ await checkForStandardErrors(res);
28613
+ return await res.json();
28614
+ });
28812
28615
  }
28813
28616
  function reAuthUser() {
28814
- var redirectPath = "" + window.location.pathname + window.location.search + window.location.hash;
28815
- window.location.assign("/auth/login?redirectPath=" + encodeURIComponent(redirectPath));
28617
+ const redirectPath = `${window.location.pathname}${window.location.search}${window.location.hash}`;
28618
+ window.location.assign(`/auth/login?redirectPath=${encodeURIComponent(redirectPath)}`);
28816
28619
  }
28817
- function checkForStandardErrors(res) {
28818
- return __awaiter(this, void 0, void 0, function () {
28819
- return __generator(this, function (_a) {
28820
- if (res.status !== 200) {
28821
- reAuthUser();
28822
- }
28823
- return [2 /*return*/];
28824
- });
28825
- });
28620
+ async function checkForStandardErrors(res) {
28621
+ if (res.status !== 200) {
28622
+ reAuthUser();
28623
+ }
28826
28624
  }
28827
- var FIRM_KEY = 'firmId';
28828
- var FIRM_NAME_KEY = 'firmName';
28625
+ const FIRM_KEY = 'firmId';
28626
+ const FIRM_NAME_KEY = 'firmName';
28829
28627
  function getSelectedFirmIdCache() {
28830
28628
  return window.localStorage.getItem(FIRM_KEY);
28831
28629
  }
@@ -28840,21 +28638,21 @@ function setSelectedFirmCache(firmId, firmName) {
28840
28638
  }
28841
28639
  }
28842
28640
 
28843
- var ClearableLuiTextInput = function (props) {
28844
- var _a = useState(props.value ? props.value : ''), currentValue = _a[0], setCurrentValue = _a[1];
28845
- var clear = function () {
28641
+ const ClearableLuiTextInput = (props) => {
28642
+ const [currentValue, setCurrentValue] = useState(props.value ? props.value : '');
28643
+ const clear = () => {
28846
28644
  setCurrentValue('');
28847
28645
  if (props.onValueChange) {
28848
28646
  props.onValueChange('');
28849
28647
  }
28850
28648
  };
28851
- var cancelIcon = currentValue !== '' ? (React__default.createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "lg", className: 'LuiTextInput-iconPosition', spanProps: { onClick: clear } })) : undefined;
28852
- return (React__default.createElement(LuiTextInput, __assign({}, props, { icon: cancelIcon, value: currentValue, onChange: function (e) {
28649
+ const cancelIcon = currentValue !== '' ? (React__default.createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "lg", className: 'LuiTextInput-iconPosition', spanProps: { onClick: clear } })) : undefined;
28650
+ return (React__default.createElement(LuiTextInput, { ...props, icon: cancelIcon, value: currentValue, onChange: (e) => {
28853
28651
  setCurrentValue(e.target.value);
28854
28652
  if (props.onValueChange) {
28855
28653
  props.onValueChange(e.target.value);
28856
28654
  }
28857
- } })));
28655
+ } }));
28858
28656
  };
28859
28657
 
28860
28658
  /**
@@ -28863,42 +28661,42 @@ var ClearableLuiTextInput = function (props) {
28863
28661
  * @param props
28864
28662
  * @constructor
28865
28663
  */
28866
- var LuiFilterContainer = function (props) {
28867
- 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;
28868
- var _c = useState(''), filter = _c[0], setFilter = _c[1];
28664
+ const LuiFilterContainer = (props) => {
28665
+ const { renderFunction, filterFunction, showFilter = true, isFilterClearable = true, } = props;
28666
+ const [filter, setFilter] = useState('');
28869
28667
  return (React__default.createElement("div", null,
28870
28668
  showFilter && (React__default.createElement("div", { className: 'LuiFilterContainer-filter-container LuiDeprecatedForms' },
28871
28669
  isFilterClearable && (React__default.createElement(ClearableLuiTextInput, { label: 'Filter', inputProps: {
28872
28670
  placeholder: 'Type to filter',
28873
- }, hideLabel: true, onValueChange: function (value) { return setFilter(value); } })),
28874
- !isFilterClearable && (React__default.createElement("input", { type: "text", placeholder: "Type to filter", value: filter, onChange: function (e) { return setFilter(e.target.value); } })))),
28671
+ }, hideLabel: true, onValueChange: (value) => setFilter(value) })),
28672
+ !isFilterClearable && (React__default.createElement("input", { type: "text", placeholder: "Type to filter", value: filter, onChange: (e) => setFilter(e.target.value) })))),
28875
28673
  renderFunction(filterFunction(filter))));
28876
28674
  };
28877
28675
 
28878
28676
  function useLOLGlobalClientRefContext() {
28879
28677
  return useContext(LOLGlobalClientRefContext);
28880
28678
  }
28881
- var LOLGlobalClientRefContext = React__default.createContext({
28679
+ const LOLGlobalClientRefContext = React__default.createContext({
28882
28680
  clientRef: '',
28883
- changeClientRef: function () {
28681
+ changeClientRef: () => {
28884
28682
  // no-op
28885
28683
  },
28886
28684
  });
28887
- var LOLGlobalClientRefContextProvider = function (props) {
28888
- var useUserIdAsClientReference = props.useUserIdAsClientReference;
28889
- var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm;
28890
- var _b = useState(''), clientRef = _b[0], setClientRef = _b[1];
28891
- var _c = useState(undefined), lastSelectedFirmId = _c[0], setLastSelectedFirmId = _c[1];
28892
- var changeClientRef = useCallback(function (clientRef) {
28685
+ const LOLGlobalClientRefContextProvider = (props) => {
28686
+ const { useUserIdAsClientReference } = props;
28687
+ const { user, selectedFirm } = useLOLUserContext();
28688
+ const [clientRef, setClientRef] = useState('');
28689
+ const [lastSelectedFirmId, setLastSelectedFirmId] = useState(undefined);
28690
+ const changeClientRef = useCallback((clientRef) => {
28893
28691
  setClientRef(clientRef);
28894
28692
  setGlobalClientRefCache(clientRef);
28895
28693
  }, []);
28896
- useEffect(function () {
28694
+ useEffect(() => {
28897
28695
  if (!user) {
28898
28696
  return;
28899
28697
  }
28900
- var cachedClientRef = getGlobalClientRefCache();
28901
- var clientRef = '';
28698
+ const cachedClientRef = getGlobalClientRefCache();
28699
+ let clientRef = '';
28902
28700
  if (cachedClientRef === null && useUserIdAsClientReference) {
28903
28701
  clientRef = user.id;
28904
28702
  }
@@ -28907,9 +28705,9 @@ var LOLGlobalClientRefContextProvider = function (props) {
28907
28705
  }
28908
28706
  setClientRef(clientRef);
28909
28707
  setGlobalClientRefCache(clientRef);
28910
- setLastSelectedFirmId(selectedFirm === null || selectedFirm === void 0 ? void 0 : selectedFirm.id);
28708
+ setLastSelectedFirmId(selectedFirm?.id);
28911
28709
  }, [user, selectedFirm, useUserIdAsClientReference]);
28912
- useEffect(function () {
28710
+ useEffect(() => {
28913
28711
  if (!selectedFirm ||
28914
28712
  !lastSelectedFirmId ||
28915
28713
  selectedFirm.id === lastSelectedFirmId) {
@@ -28926,11 +28724,11 @@ var LOLGlobalClientRefContextProvider = function (props) {
28926
28724
  useUserIdAsClientReference,
28927
28725
  ]);
28928
28726
  return (React__default.createElement(LOLGlobalClientRefContext.Provider, { value: {
28929
- clientRef: clientRef,
28930
- changeClientRef: changeClientRef,
28727
+ clientRef,
28728
+ changeClientRef,
28931
28729
  } }, props.children));
28932
28730
  };
28933
- var GLOBAL_CLIENT_REFERENCE_KEY = 'globalClientReference';
28731
+ const GLOBAL_CLIENT_REFERENCE_KEY = 'globalClientReference';
28934
28732
  function getGlobalClientRefCache() {
28935
28733
  return window.sessionStorage.getItem(GLOBAL_CLIENT_REFERENCE_KEY);
28936
28734
  }
@@ -28943,17 +28741,16 @@ function setGlobalClientRefCache(clientReference) {
28943
28741
  }
28944
28742
  }
28945
28743
 
28946
- var LOLFirmSwitcherMenu = function (_a) {
28947
- var _b = _a.showClientRef, showClientRef = _b === void 0 ? false : _b, restOfProps = __rest(_a, ["showClientRef"]);
28948
- var _c = useLOLUserContext(), user = _c.user, selectedFirm = _c.selectedFirm, changeFirm = _c.changeFirm, isInternal = _c.isInternal;
28949
- var clientRef = useLOLGlobalClientRefContext().clientRef;
28950
- var firms = user.firms;
28951
- var clientRefElement = showClientRef ? (React__default.createElement(React__default.Fragment, null,
28744
+ const LOLFirmSwitcherMenu = ({ showClientRef = false, ...restOfProps }) => {
28745
+ const { user, selectedFirm, changeFirm, isInternal } = useLOLUserContext();
28746
+ const { clientRef } = useLOLGlobalClientRefContext();
28747
+ const firms = user.firms;
28748
+ const clientRefElement = showClientRef ? (React__default.createElement(React__default.Fragment, null,
28952
28749
  React__default.createElement("br", null),
28953
28750
  React__default.createElement("span", null,
28954
28751
  "Client Ref: ",
28955
28752
  clientRef))) : null;
28956
- var label = isInternal() ? (React__default.createElement("div", { className: "LOLFirmSwitcherMenu-header" },
28753
+ const label = isInternal() ? (React__default.createElement("div", { className: "LOLFirmSwitcherMenu-header" },
28957
28754
  user.id,
28958
28755
  clientRefElement)) : (React__default.createElement("div", { className: "LOLFirmSwitcherMenu-header" },
28959
28756
  selectedFirm && (React__default.createElement(React__default.Fragment, null,
@@ -28963,97 +28760,69 @@ var LOLFirmSwitcherMenu = function (_a) {
28963
28760
  "User ID: ",
28964
28761
  user.id),
28965
28762
  clientRefElement));
28966
- var dropdownMenuProps = __assign(__assign({}, restOfProps), { label: label });
28763
+ const dropdownMenuProps = {
28764
+ ...restOfProps,
28765
+ label,
28766
+ };
28967
28767
  if (firms.length < 2) {
28968
- return React__default.createElement(LuiHeaderMenuItem, __assign({}, dropdownMenuProps));
28768
+ return React__default.createElement(LuiHeaderMenuItem, { ...dropdownMenuProps });
28969
28769
  }
28970
- return (React__default.createElement(LuiDropdownMenu, __assign({}, dropdownMenuProps),
28770
+ return (React__default.createElement(LuiDropdownMenu, { ...dropdownMenuProps },
28971
28771
  React__default.createElement(LOLFirmSwitcherMenuContent, { firms: firms, selectedFirm: selectedFirm, changeFirm: changeFirm })));
28972
28772
  };
28973
- var LOLFirmSwitcherMenuContent = function (_a) {
28974
- 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;
28975
- var showFilter = firms.length >= minimumFilterCount;
28773
+ const LOLFirmSwitcherMenuContent = ({ firms, selectedFirm, changeFirm, collapsible = false, minimumFilterCount = 5, }) => {
28774
+ const showFilter = firms.length >= minimumFilterCount;
28976
28775
  return (React__default.createElement(LuiDrawerMenuSection, { title: "Switch account", collapsible: collapsible && showFilter },
28977
- React__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) {
28978
- return [2 /*return*/, changeFirm(id)];
28979
- }); }); }, showFilter: showFilter })));
28776
+ React__default.createElement(FirmSwitcher, { options: firms, selectedId: selectedFirm?.id, onSelect: async (id) => changeFirm(id), showFilter: showFilter })));
28980
28777
  };
28981
- var FirmOption = function (_a) {
28982
- var _b = _a.value, id = _b.id, name = _b.name, onSelect = _a.onSelect, selected = _a.selected, disabled = _a.disabled;
28983
- return (React__default.createElement("div", { className: 'LOLFirmSwitcherMenu-option', onClick: function () { return onSelect(id); }, "aria-disabled": disabled, "data-testid": "firm-" + id },
28778
+ const FirmOption = ({ value: { id, name }, onSelect, selected, disabled, }) => {
28779
+ return (React__default.createElement("div", { className: 'LOLFirmSwitcherMenu-option', onClick: () => onSelect(id), "aria-disabled": disabled, "data-testid": `firm-${id}` },
28984
28780
  React__default.createElement("span", null, name),
28985
28781
  selected && React__default.createElement("i", { className: "material-icons-round" }, "check_circle")));
28986
28782
  };
28987
- var FirmSwitcher = function (_a) {
28988
- var options = _a.options, selectedId = _a.selectedId, onSelect = _a.onSelect, _b = _a.showFilter, showFilter = _b === void 0 ? true : _b;
28989
- var _c = useState(false), busy = _c[0], setBusy = _c[1];
28990
- var onSelectInternal = function (optionId) { return __awaiter(void 0, void 0, void 0, function () {
28991
- return __generator(this, function (_a) {
28992
- switch (_a.label) {
28993
- case 0:
28994
- if (!!busy) return [3 /*break*/, 2];
28995
- setBusy(true);
28996
- return [4 /*yield*/, onSelect(optionId)];
28997
- case 1:
28998
- _a.sent();
28999
- setBusy(false);
29000
- _a.label = 2;
29001
- case 2: return [2 /*return*/];
29002
- }
29003
- });
29004
- }); };
29005
- var filterFunction = useCallback(function (filterString) {
29006
- var upperCaseFilterString = filterString.trim().toUpperCase();
29007
- return options.filter(function (firm) {
29008
- return firm.name.toUpperCase().includes(upperCaseFilterString);
29009
- });
28783
+ const FirmSwitcher = ({ options, selectedId, onSelect, showFilter = true, }) => {
28784
+ const [busy, setBusy] = useState(false);
28785
+ const onSelectInternal = async (optionId) => {
28786
+ if (!busy) {
28787
+ setBusy(true);
28788
+ await onSelect(optionId);
28789
+ setBusy(false);
28790
+ }
28791
+ };
28792
+ const filterFunction = useCallback((filterString) => {
28793
+ const upperCaseFilterString = filterString.trim().toUpperCase();
28794
+ return options.filter((firm) => firm.name.toUpperCase().includes(upperCaseFilterString));
29010
28795
  }, [options]);
29011
- var renderFunction = function (filteredOptions) {
29012
- return (React__default.createElement(React__default.Fragment, null, filteredOptions.map(function (option) { return (React__default.createElement(FirmOption, { key: option.id, value: option, selected: option.id === selectedId, onSelect: onSelectInternal, disabled: busy })); })));
28796
+ const renderFunction = (filteredOptions) => {
28797
+ return (React__default.createElement(React__default.Fragment, null, filteredOptions.map((option) => (React__default.createElement(FirmOption, { key: option.id, value: option, selected: option.id === selectedId, onSelect: onSelectInternal, disabled: busy })))));
29013
28798
  };
29014
28799
  return (React__default.createElement("div", { className: "LOLFirmSwitcherMenu" },
29015
28800
  React__default.createElement(LuiFilterContainer, { showFilter: showFilter, filterFunction: filterFunction, renderFunction: renderFunction })));
29016
28801
  };
29017
28802
 
29018
- var LOLLogoutLink = function (props) {
29019
- var redirectPathString = props.redirectPath();
29020
- var user = useLOLUserContext().user;
28803
+ const LOLLogoutLink = (props) => {
28804
+ const redirectPathString = props.redirectPath();
28805
+ const { user } = useLOLUserContext();
29021
28806
  if (!user) {
29022
28807
  return null;
29023
28808
  }
29024
- var logout = function () { return __awaiter(void 0, void 0, void 0, function () {
29025
- var _a, res;
29026
- return __generator(this, function (_b) {
29027
- switch (_b.label) {
29028
- case 0:
29029
- _a = props.callBackBeforeLogout;
29030
- if (!_a) return [3 /*break*/, 2];
29031
- return [4 /*yield*/, props.callBackBeforeLogout()];
29032
- case 1:
29033
- _a = (_b.sent()) === false;
29034
- _b.label = 2;
29035
- case 2:
29036
- if (_a) {
29037
- return [2 /*return*/];
29038
- }
29039
- return [4 /*yield*/, fetch('/auth/api/logout')];
29040
- case 3:
29041
- res = _b.sent();
29042
- if (res.status === 200) {
29043
- window.location.assign("/auth/login?redirectPath=" + redirectPathString);
29044
- }
29045
- return [2 /*return*/];
29046
- }
29047
- });
29048
- }); };
29049
- return React__default.createElement(LuiDrawerMenuOption, { label: "Logout " + user.id, onClick: logout });
28809
+ const logout = async () => {
28810
+ if (props.callBackBeforeLogout &&
28811
+ (await props.callBackBeforeLogout()) === false) {
28812
+ return;
28813
+ }
28814
+ const res = await fetch('/auth/api/logout');
28815
+ if (res.status === 200) {
28816
+ window.location.assign(`/auth/login?redirectPath=${redirectPathString}`);
28817
+ }
28818
+ };
28819
+ return React__default.createElement(LuiDrawerMenuOption, { label: `Logout ${user.id}`, onClick: logout });
29050
28820
  };
29051
28821
 
29052
- var LOLUserLastLogin = function () {
29053
- var _a;
29054
- var lastLogin;
29055
- var context = useLOLUserContext();
29056
- var lastLoginISO = (_a = context === null || context === void 0 ? void 0 : context.user) === null || _a === void 0 ? void 0 : _a.lastLogin;
28822
+ const LOLUserLastLogin = () => {
28823
+ let lastLogin;
28824
+ const context = useLOLUserContext();
28825
+ const lastLoginISO = context?.user?.lastLogin;
29057
28826
  lastLogin = lastLoginISO
29058
28827
  ? new Date(lastLoginISO).toLocaleString('en-NZ')
29059
28828
  : null;
@@ -29067,11 +28836,11 @@ var LOLUserLastLogin = function () {
29067
28836
  React__default.createElement("span", null, "Not you? Please, call us on 0800 665 463"))));
29068
28837
  };
29069
28838
 
29070
- var LOLActiveFirmMessage = function (props) {
29071
- var _a = useLOLUserContext(), selectedFirm = _a.selectedFirm, user = _a.user;
29072
- var _b = useState(false), visible = _b[0], setVisible = _b[1];
29073
- var hide = props.showFrom !== 'xl' ? { from: props.showFrom || 'sm' } : undefined;
29074
- useEffect(function () {
28839
+ const LOLActiveFirmMessage = (props) => {
28840
+ const { selectedFirm, user } = useLOLUserContext();
28841
+ const [visible, setVisible] = useState(false);
28842
+ const hide = props.showFrom !== 'xl' ? { from: props.showFrom || 'sm' } : undefined;
28843
+ useEffect(() => {
29075
28844
  setVisible(true);
29076
28845
  }, [selectedFirm]);
29077
28846
  if (!selectedFirm || !visible || user.firms.length < 2) {
@@ -29081,7 +28850,7 @@ var LOLActiveFirmMessage = function (props) {
29081
28850
  React__default.createElement(LuiBannerContent, { level: 'info' },
29082
28851
  "Active account is ",
29083
28852
  selectedFirm.name,
29084
- React__default.createElement("button", { "aria-label": "Close dialog", onClick: function () {
28853
+ React__default.createElement("button", { "aria-label": "Close dialog", onClick: () => {
29085
28854
  setVisible(false);
29086
28855
  } },
29087
28856
  React__default.createElement("i", { className: "material-icons-round" }, "close")))));
@@ -29089,20 +28858,17 @@ var LOLActiveFirmMessage = function (props) {
29089
28858
 
29090
28859
  var ExternalIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzk4OTE4OSI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5IDE5SDVWNWg3VjNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0ydi03aC0ydjd6TTE0IDN2MmgzLjU5bC05LjgzIDkuODMgMS40MSAxLjQxTDE5IDYuNDFWMTBoMlYzaC03eiIvPjwvc3ZnPg==';
29091
28860
 
29092
- var LOLAuthorisedLink = function (props) {
29093
- var hasAnyPrivilege = useLOLUserContext().hasAnyPrivilege;
29094
- var icon = props.icon, activeIcon = props.activeIcon, active = props.active, label = props.label, path = props.path, openExternally = props.openExternally, anyPrivileges = props.anyPrivileges;
29095
- var onClickHandler = function () { return __awaiter(void 0, void 0, void 0, function () {
29096
- return __generator(this, function (_a) {
29097
- if (openExternally) {
29098
- window.open(path, '_blank');
29099
- }
29100
- else {
29101
- window.location.assign(path);
29102
- }
29103
- return [2 /*return*/];
29104
- });
29105
- }); };
28861
+ const LOLAuthorisedLink = (props) => {
28862
+ const { hasAnyPrivilege } = useLOLUserContext();
28863
+ const { icon, activeIcon, active, label, path, openExternally, anyPrivileges, } = props;
28864
+ const onClickHandler = async () => {
28865
+ if (openExternally) {
28866
+ window.open(path, '_blank');
28867
+ }
28868
+ else {
28869
+ window.location.assign(path);
28870
+ }
28871
+ };
29106
28872
  if (!hasAnyPrivilege(anyPrivileges)) {
29107
28873
  return null;
29108
28874
  }
@@ -29131,26 +28897,26 @@ var TitlesIconActive = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy
29131
28897
 
29132
28898
  function createLink(pathname, label, target, activeIcon, icon, anyPrivileges) {
29133
28899
  return {
29134
- label: label,
28900
+ label,
29135
28901
  path: target,
29136
- icon: icon,
29137
- activeIcon: activeIcon,
28902
+ icon,
28903
+ activeIcon,
29138
28904
  active: pathname.startsWith(target),
29139
- anyPrivileges: anyPrivileges,
28905
+ anyPrivileges,
29140
28906
  openExternally: true,
29141
28907
  };
29142
28908
  }
29143
- var SEARCH_LABEL = 'Search';
29144
- var NOC_LABEL = 'Post registered NoC';
29145
- var SURVEY_LABEL = 'Survey';
29146
- var TITLES_LABEL = 'Titles';
29147
- var LOLAppLauncherMenu = function (props) {
29148
- var _a = useLOLUserContext(), user = _a.user, isInternal = _a.isInternal;
29149
- 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;
28909
+ const SEARCH_LABEL = 'Search';
28910
+ const NOC_LABEL = 'Post registered NoC';
28911
+ const SURVEY_LABEL = 'Survey';
28912
+ const TITLES_LABEL = 'Titles';
28913
+ const LOLAppLauncherMenu = (props) => {
28914
+ const { user, isInternal } = useLOLUserContext();
28915
+ const { pathname, enableNOCLink = false, enableSurveyLink = false, enableTitlesLink = false, } = props;
29150
28916
  if (!user) {
29151
28917
  return null;
29152
28918
  }
29153
- var links = [
28919
+ const links = [
29154
28920
  createLink(pathname, SEARCH_LABEL, '/search', SearchIconActive, SearchIcon, isInternal() ? [] : ['prv_search_privilege', 'prv_spatial_view']),
29155
28921
  ];
29156
28922
  if (!isInternal() && enableNOCLink) {
@@ -29194,13 +28960,13 @@ var LOLAppLauncherMenu = function (props) {
29194
28960
  'prv_withdraw_dealing',
29195
28961
  ]));
29196
28962
  }
29197
- return (React__default.createElement(LuiDrawerMenuSection, { title: "Launch app" }, links.map(function (link) { return (React__default.createElement(LOLAuthorisedLink, __assign({ key: link.path }, link))); })));
28963
+ return (React__default.createElement(LuiDrawerMenuSection, { title: "Launch app" }, links.map((link) => (React__default.createElement(LOLAuthorisedLink, { key: link.path, ...link })))));
29198
28964
  };
29199
28965
 
29200
- var LOLDrawerMenuFirmSwitcher = function (props) {
29201
- var minimumFilterCount = props.minimumFilterCount;
29202
- var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm, changeFirm = _a.changeFirm;
29203
- var firms = user === null || user === void 0 ? void 0 : user.firms;
28966
+ const LOLDrawerMenuFirmSwitcher = (props) => {
28967
+ const { minimumFilterCount } = props;
28968
+ const { user, selectedFirm, changeFirm } = useLOLUserContext();
28969
+ const firms = user?.firms;
29204
28970
  if (!firms || !selectedFirm) {
29205
28971
  return null;
29206
28972
  }
@@ -29210,18 +28976,18 @@ var LOLDrawerMenuFirmSwitcher = function (props) {
29210
28976
  return (React__default.createElement(LOLFirmSwitcherMenuContent, { firms: firms, selectedFirm: selectedFirm, changeFirm: changeFirm, collapsible: true, minimumFilterCount: minimumFilterCount }));
29211
28977
  };
29212
28978
 
29213
- var LOLDrawerMenu = function (props) {
28979
+ const LOLDrawerMenu = (props) => {
29214
28980
  return (React__default.createElement(LuiDrawerMenu, { hasStickyHeader: props.hasStickyHeader },
29215
28981
  React__default.createElement("div", { className: "LOLDrawerMenu" },
29216
28982
  React__default.createElement("div", { className: "LOLDrawerMenu-contents" }, props.children),
29217
28983
  React__default.createElement("div", { className: "LOLDrawerMenu-footer" },
29218
28984
  React__default.createElement(LOLUserLastLogin, null)))));
29219
28985
  };
29220
- var LOLCommonDrawerMenu = function (props) {
29221
- var appSpecificLinks = props.appSpecificLinks, appSpecificSections = props.appSpecificSections, path = props.path, hasStickyHeader = props.hasStickyHeader, showRequestsLink = props.showRequestsLink, restOfProps = __rest(props, ["appSpecificLinks", "appSpecificSections", "path", "hasStickyHeader", "showRequestsLink"]);
28986
+ const LOLCommonDrawerMenu = (props) => {
28987
+ const { appSpecificLinks, appSpecificSections, path, hasStickyHeader, showRequestsLink, ...restOfProps } = props;
29222
28988
  return (React__default.createElement(LOLDrawerMenu, { hasStickyHeader: hasStickyHeader },
29223
28989
  appSpecificSections,
29224
- React__default.createElement(LOLAppLauncherMenu, __assign({ pathname: path }, restOfProps)),
28990
+ React__default.createElement(LOLAppLauncherMenu, { pathname: path, ...restOfProps }),
29225
28991
  React__default.createElement(LOLDrawerMenuFirmSwitcher, { minimumFilterCount: 5 }),
29226
28992
  showRequestsLink && (React__default.createElement(React__default.Fragment, null,
29227
28993
  React__default.createElement(LuiDrawerMenuDivider, null),
@@ -29232,24 +28998,24 @@ var LOLCommonDrawerMenu = function (props) {
29232
28998
  React__default.createElement(LuiDrawerMenuDivider, null),
29233
28999
  React__default.createElement(LOLCommonDrawerMenuAfterLinks, { path: path })));
29234
29000
  };
29235
- var LOLCommonDrawerMenuAfterLinks = function (props) {
29236
- var isInternal = useLOLUserContext().isInternal;
29237
- var path = props.path;
29238
- var contextPath = path.substr(0, path.indexOf('/', 1));
29239
- var gotoLink = function (url) {
29001
+ const LOLCommonDrawerMenuAfterLinks = (props) => {
29002
+ const { isInternal } = useLOLUserContext();
29003
+ const { path } = props;
29004
+ const contextPath = path.substr(0, path.indexOf('/', 1));
29005
+ const gotoLink = (url) => {
29240
29006
  window.location.assign(url);
29241
29007
  };
29242
29008
  return (React__default.createElement(React__default.Fragment, null,
29243
- !isInternal() && (React__default.createElement(LuiDrawerMenuOption, { label: "Change password", onClick: function () {
29244
- gotoLink("/manage/my-preferences?redirectPath=" + encodeURIComponent(path));
29009
+ !isInternal() && (React__default.createElement(LuiDrawerMenuOption, { label: "Change password", onClick: () => {
29010
+ gotoLink(`/manage/my-preferences?redirectPath=${encodeURIComponent(path)}`);
29245
29011
  } })),
29246
- React__default.createElement(LOLLogoutLink, { redirectPath: function () { return contextPath; } })));
29012
+ React__default.createElement(LOLLogoutLink, { redirectPath: () => contextPath })));
29247
29013
  };
29248
- var LOLCommonMenuRequestsLink = function () {
29249
- var openRequestsApp = function () {
29014
+ const LOLCommonMenuRequestsLink = () => {
29015
+ const openRequestsApp = () => {
29250
29016
  window.open('/requests', '_blank');
29251
29017
  };
29252
- return (React__default.createElement(LuiDrawerMenuOption, { label: 'Create request', onClick: function () {
29018
+ return (React__default.createElement(LuiDrawerMenuOption, { label: 'Create request', onClick: () => {
29253
29019
  openRequestsApp();
29254
29020
  }, badge: React__default.createElement("img", { src: ExternalIcon, alt: "Link opens in a new tab", style: { width: '16px', height: '16px', marginTop: '4px' } }) }));
29255
29021
  };
@@ -32783,27 +32549,26 @@ styleInject(css_248z$2);
32783
32549
  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}";
32784
32550
  styleInject(css_248z$1);
32785
32551
 
32786
- var id = 0;
32787
- var getKey = function () { return id++; };
32788
- var LuiTooltip = function (props) {
32789
- var children = props.children, message = props.message, placement = props.placement, trigger = props.trigger, _a = props.animation, animation = _a === void 0 ? true : _a;
32790
- var id = "LuiToolTip_" + useMemo(getKey, []);
32552
+ let id = 0;
32553
+ const getKey = () => id++;
32554
+ const LuiTooltip = (props) => {
32555
+ const { children, message, placement, trigger, animation = true } = props;
32556
+ const id = `LuiToolTip_${useMemo(getKey, [])}`;
32791
32557
  if (typeof message !== 'string') {
32792
32558
  throw new Error('LuiTooltip message must be a string!');
32793
32559
  }
32794
- useEffect(function () {
32795
- tippy("#" + id, {
32560
+ useEffect(() => {
32561
+ tippy(`#${id}`, {
32796
32562
  content: message,
32797
32563
  arrow: true,
32798
- trigger: trigger,
32564
+ trigger,
32799
32565
  theme: 'LUI',
32800
- placement: placement,
32566
+ placement,
32801
32567
  offset: [0, 24],
32802
- animation: animation,
32568
+ animation,
32803
32569
  });
32804
- return function () {
32805
- var _a, _b;
32806
- (_b = (_a = document.getElementById(id)) === null || _a === void 0 ? void 0 : _a._tippy) === null || _b === void 0 ? void 0 : _b.destroy();
32570
+ return () => {
32571
+ document.getElementById(id)?._tippy?.destroy();
32807
32572
  };
32808
32573
  }, [id, message, placement, trigger, animation]);
32809
32574
  return React__default.createElement("span", { id: id }, children);
@@ -32822,45 +32587,44 @@ var LuiTooltip = function (props) {
32822
32587
  ```
32823
32588
  */
32824
32589
  function useClickedOutsideElement(refElement, handleClickOutside) {
32825
- React__default.useEffect(function () {
32590
+ React__default.useEffect(() => {
32826
32591
  function onOutsideClicked(event) {
32827
- var element = refElement.current;
32828
- if (!(element === null || element === void 0 ? void 0 : element.contains(event.target))) {
32592
+ const element = refElement.current;
32593
+ if (!element?.contains(event.target)) {
32829
32594
  handleClickOutside();
32830
32595
  }
32831
32596
  }
32832
32597
  document.addEventListener('mousedown', onOutsideClicked);
32833
- return function () {
32598
+ return () => {
32834
32599
  document.removeEventListener('mousedown', onOutsideClicked);
32835
32600
  };
32836
32601
  // eslint-disable-next-line react-hooks/exhaustive-deps
32837
32602
  }, []);
32838
32603
  }
32839
32604
 
32840
- var LuiBadge = function (props) { return (React__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)); };
32605
+ const LuiBadge = (props) => (React__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));
32841
32606
 
32842
- var LuiSidePanelContext = React__default.createContext({ setProps: function () { return undefined; } });
32607
+ const LuiSidePanelContext = React__default.createContext({ setProps: () => undefined });
32843
32608
  /* eslint-disable react/prop-types */
32844
- var LuiSidePanel = function (_a) {
32845
- var children = _a.children, onClose = _a.onClose, width = _a.width, top = _a.top;
32846
- var setProps = React__default.useContext(LuiSidePanelContext).setProps;
32847
- React__default.useEffect(function () {
32848
- setProps({ children: children, onClose: onClose, width: width, top: top });
32849
- return function () {
32609
+ const LuiSidePanel = ({ children, onClose, width, top }) => {
32610
+ const { setProps } = React__default.useContext(LuiSidePanelContext);
32611
+ React__default.useEffect(() => {
32612
+ setProps({ children, onClose, width, top });
32613
+ return () => {
32850
32614
  setProps(undefined);
32851
32615
  };
32852
32616
  }, [setProps, children, onClose, width, top]);
32853
32617
  return React__default.createElement(React__default.Fragment, null);
32854
32618
  };
32855
- var LuiSidePanelContainer = function (props) {
32856
- 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;
32619
+ const LuiSidePanelContainer = (props) => {
32620
+ const { children, onClose, width = '50%', top = 60 } = props ?? {};
32857
32621
  return (React__default.createElement("section", { style: {
32858
32622
  position: 'fixed',
32859
32623
  right: 0,
32860
32624
  bottom: 0,
32861
32625
  top: top,
32862
32626
  background: 'white',
32863
- width: children ? width !== null && width !== void 0 ? width : '50%' : '0%',
32627
+ width: children ? width ?? '50%' : '0%',
32864
32628
  transition: 'width 0.2s ease',
32865
32629
  boxShadow: '-0.1em 0 0.4em rgba(0, 0, 0, 0.2)',
32866
32630
  padding: 0,
@@ -32880,25 +32644,105 @@ var LuiSidePanelContainer = function (props) {
32880
32644
  React__default.createElement(LuiIcon, { alt: "Close", name: "ic_clear", size: "lg", status: "interactive" }))),
32881
32645
  children));
32882
32646
  };
32883
- var LuiSidePanelProvider = function (_a) {
32884
- var children = _a.children;
32885
- var _b = React__default.useState(), props = _b[0], setProps = _b[1];
32886
- return (React__default.createElement(LuiSidePanelContext.Provider, { value: { setProps: setProps } },
32647
+ const LuiSidePanelProvider = ({ children }) => {
32648
+ const [props, setProps] = React__default.useState();
32649
+ return (React__default.createElement(LuiSidePanelContext.Provider, { value: { setProps } },
32887
32650
  children,
32888
- React__default.createElement(LuiSidePanelContainer, __assign({}, props))));
32651
+ React__default.createElement(LuiSidePanelContainer, { ...props })));
32889
32652
  };
32890
32653
 
32891
32654
  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}";
32892
32655
  styleInject(css_248z);
32893
32656
 
32894
- var LuiSwitchButton = function (props) {
32895
- var generatedId = useGenerateOrDefaultId();
32657
+ const LuiSwitchButton = (props) => {
32658
+ const generatedId = useGenerateOrDefaultId();
32896
32659
  return (React__default.createElement(React__default.Fragment, null,
32897
- React__default.createElement("input", __assign({ className: "lui-switch-checkbox", type: "checkbox", "data-testid": 'lui-switch-new', id: generatedId }, props)),
32898
- React__default.createElement("label", { "data-testid": "label", style: { background: props.checked ? '#007198' : 'gray' }, className: "lui-switch-label", htmlFor: generatedId },
32899
- React__default.createElement("span", { className: "lui-switch-button" }))));
32660
+ React__default.createElement("input", { className: "lui-switch-checkbox", type: "checkbox", "data-testid": 'lui-switch-new', id: generatedId, ...props }),
32661
+ React__default.createElement("label", { "data-testid": `label`, style: { background: props.checked ? '#007198' : 'gray' }, className: "lui-switch-label", htmlFor: generatedId },
32662
+ React__default.createElement("span", { className: `lui-switch-button` }))));
32900
32663
  };
32901
32664
 
32665
+ /******************************************************************************
32666
+ Copyright (c) Microsoft Corporation.
32667
+
32668
+ Permission to use, copy, modify, and/or distribute this software for any
32669
+ purpose with or without fee is hereby granted.
32670
+
32671
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
32672
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
32673
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
32674
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
32675
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
32676
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
32677
+ PERFORMANCE OF THIS SOFTWARE.
32678
+ ***************************************************************************** */
32679
+ /* global Reflect, Promise */
32680
+
32681
+ var extendStatics = function(d, b) {
32682
+ extendStatics = Object.setPrototypeOf ||
32683
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
32684
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
32685
+ return extendStatics(d, b);
32686
+ };
32687
+
32688
+ function __extends(d, b) {
32689
+ if (typeof b !== "function" && b !== null)
32690
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
32691
+ extendStatics(d, b);
32692
+ function __() { this.constructor = d; }
32693
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
32694
+ }
32695
+
32696
+ var __assign = function() {
32697
+ __assign = Object.assign || function __assign(t) {
32698
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
32699
+ s = arguments[i];
32700
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
32701
+ }
32702
+ return t;
32703
+ };
32704
+ return __assign.apply(this, arguments);
32705
+ };
32706
+
32707
+ function __rest(s, e) {
32708
+ var t = {};
32709
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
32710
+ t[p] = s[p];
32711
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
32712
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
32713
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32714
+ t[p[i]] = s[p[i]];
32715
+ }
32716
+ return t;
32717
+ }
32718
+
32719
+ function __read(o, n) {
32720
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
32721
+ if (!m) return o;
32722
+ var i = m.call(o), r, ar = [], e;
32723
+ try {
32724
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
32725
+ }
32726
+ catch (error) { e = { error: error }; }
32727
+ finally {
32728
+ try {
32729
+ if (r && !r.done && (m = i["return"])) m.call(i);
32730
+ }
32731
+ finally { if (e) throw e.error; }
32732
+ }
32733
+ return ar;
32734
+ }
32735
+
32736
+ function __spreadArray(to, from, pack) {
32737
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
32738
+ if (ar || !(i in from)) {
32739
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32740
+ ar[i] = from[i];
32741
+ }
32742
+ }
32743
+ return to.concat(ar || Array.prototype.slice.call(from));
32744
+ }
32745
+
32902
32746
  var createDefinition = function (propNames) { return ({
32903
32747
  isEnabled: function (props) { return propNames.some(function (name) { return !!props[name]; }); },
32904
32748
  }); };
@@ -40456,11 +40300,11 @@ var AnimatePresence = function (_a) {
40456
40300
  };
40457
40301
 
40458
40302
  // import clsx from 'clsx';
40459
- var LuiAccordicard = function (props) {
40460
- var _a = props.defaultToOpen, defaultToOpen = _a === void 0 ? false : _a, children = props.children, headerContent = props.headerContent;
40461
- var _b = useState(defaultToOpen), isOpen = _b[0], setIsOpen = _b[1];
40462
- var AccordicardContent = function () {
40463
- return (React__default.createElement(motion.div, { key: "content", initial: ['collapsed'], animate: "open", exit: "collapsed", variants: {
40303
+ const LuiAccordicard = (props) => {
40304
+ const { defaultToOpen = false, children, headerContent } = props;
40305
+ const [isOpen, setIsOpen] = useState(defaultToOpen);
40306
+ const AccordicardContent = () => {
40307
+ return (React__default.createElement(motion.div, { className: "LuiAccordicard-contentWrapper", key: "content", initial: ['collapsed'], animate: "open", exit: "collapsed", variants: {
40464
40308
  open: {
40465
40309
  opacity: 1,
40466
40310
  height: 'auto',
@@ -40496,24 +40340,28 @@ var LuiAccordicard = function (props) {
40496
40340
  } },
40497
40341
  React__default.createElement("div", { className: clsx('LuiAccordicard-content', isOpen ? 'LuiAccordicard-content--isOpen' : null) }, isOpen ? children : React__default.createElement(React__default.Fragment, null))));
40498
40342
  };
40499
- return (React__default.createElement(motion.div, { initial: false, className: clsx('LuiAccordicard', props.className, isOpen ? 'LuiAccordicard--isOpen' : null) },
40343
+ return (React__default.createElement(motion.div, { initial: false, className: clsx('LuiAccordicard', props.className, isOpen ? 'LuiAccordicard--isOpen' : null, props.warning ? 'LuiAccordicard--warning' : null) },
40344
+ props.warning && (React__default.createElement("div", { className: "LuiAccordicard-sideBar" },
40345
+ React__default.createElement(LuiIcon, { className: "LuiAccordicard-warningIcon", alt: "Accordicard warning", name: 'ic_warning', size: 'md' }))),
40500
40346
  React__default.createElement(motion.header, { layout: true, initial: false, className: "LuiAccordicard-header" },
40501
40347
  React__default.createElement("div", { className: "LuiAccordicard-headerContent" }, headerContent)),
40502
40348
  React__default.createElement(AnimatePresence, { initial: false }, isOpen && React__default.createElement(AccordicardContent, null)),
40503
- React__default.createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicard-trigger", onClick: function () { return setIsOpen(!isOpen); } },
40349
+ React__default.createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicard-trigger", onClick: () => setIsOpen(!isOpen) },
40504
40350
  React__default.createElement(LuiIcon, { className: clsx('LuiAccordicard-chevron', isOpen ? 'LuiAccordicard-chevron--isOpen' : null), name: 'ic_expand_more', alt: "expand", size: "md" }))));
40505
40351
  };
40506
40352
 
40507
- var LuiAccordicardStatic = function (props) {
40508
- var _a = props.defaultToOpen, defaultToOpen = _a === void 0 ? false : _a, children = props.children, headerContent = props.headerContent;
40509
- var _b = useState(defaultToOpen), isOpen = _b[0], setIsOpen = _b[1];
40510
- return (React__default.createElement("div", { className: clsx('LuiAccordicardStatic', isOpen ? 'LuiAccordicardStatic--isOpen' : null, props.className) },
40353
+ const LuiAccordicardStatic = (props) => {
40354
+ const { defaultToOpen = false, children, headerContent } = props;
40355
+ const [isOpen, setIsOpen] = useState(defaultToOpen);
40356
+ return (React__default.createElement("div", { className: clsx('LuiAccordicardStatic', isOpen ? 'LuiAccordicardStatic--isOpen' : null, props.warning ? 'LuiAccordicardStatic--warning' : null, props.className) },
40357
+ props.warning && (React__default.createElement("div", { className: "LuiAccordicardStatic-sideBar" },
40358
+ React__default.createElement(LuiIcon, { className: "LuiAccordicardStatic-warningIcon", alt: "Accordicard warning", name: 'ic_warning', size: 'md' }))),
40511
40359
  React__default.createElement("div", { className: "LuiAccordicardStatic-header" },
40512
40360
  React__default.createElement("div", { className: "LuiAccordicardStatic-headerContent" }, headerContent)),
40513
40361
  React__default.createElement("div", { className: clsx('LuiAccordicardStatic-contentWrapper', isOpen ? 'LuiAccordicardStatic-contentWrapper--isOpen' : null) },
40514
40362
  React__default.createElement("div", { className: clsx('LuiAccordicardStatic-content', isOpen ? 'LuiAccordicardStatic-content--isOpen' : null) }, isOpen ? children : React__default.createElement(React__default.Fragment, null))),
40515
- React__default.createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicardStatic-trigger", onClick: function () { return setIsOpen(!isOpen); } },
40516
- React__default.createElement(LuiIcon, { className: clsx('LuiAccordicardStatic-chevron', isOpen ? 'LuiAccordicardStatic-chevron--isOpen' : null), name: 'ic_expand_more', alt: "expand", size: "md" }))));
40363
+ React__default.createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicardStatic-trigger", onClick: () => setIsOpen(!isOpen) },
40364
+ React__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" }))));
40517
40365
  };
40518
40366
 
40519
40367
  export { FIRM_KEY, FIRM_NAME_KEY, GLOBAL_CLIENT_REFERENCE_KEY, LOLActiveFirmMessage, LOLAuthorisedLink, LOLCommonDrawerMenu, LOLCommonDrawerMenuAfterLinks, LOLDrawerMenu, LOLFirmSwitcherMenu, LOLGlobalClientRefContext, LOLGlobalClientRefContextProvider, LOLLogoutLink, LOLSearchBox, LOLUserContext, LOLUserContextProvider, LOLUserLastLogin, LuiAccordicard, LuiAccordicardStatic, LuiAlertModal, LuiAlertModalButtons, LuiBadge, LuiBanner, LuiBannerContent, LuiBearingFormikInput, LuiBearingInput, LuiButton, LuiButtonGroup, LuiCheckboxInput, LuiCloseableHeaderMenuContext, LuiCloseableHeaderMenuItem, LuiComboSelect, LuiControlledMenu, LuiDrawerMenu, LuiDrawerMenuDivider, LuiDrawerMenuOption, LuiDrawerMenuOptions, LuiDrawerMenuSection, LuiDropdownMenu, LuiErrorPage, LuiExpandableBanner, LuiFileInputBox, LuiFilterContainer, LuiFilterMenu, LuiFooter, LuiFormSectionHeader, LuiFormikCheckbox, LuiFormikForm, LuiFormikFormLabel, LuiFormikFormSubmitButton, LuiFormikRadioButton, LuiFormikRadioGroup, LuiFormikSelect, LuiFormikTextInput, LuiHeader, LuiHeaderMenuItem, LuiIcon, LuiLoadingSpinner, LuiLoadingSpinnerChristmas, LuiLoadingSpinnerEaster, LuiMenu, LuiMenuCloseButton, LuiMessagingContextProvider, LuiMiniSpinner, LuiModal, LuiRadioInput, LuiSearchBox, LuiSearchInput, LuiSelectDataMenu, LuiSelectInput, LuiSelectMenu, LuiSelectMenuItem, LuiSelectSubMenuItem, LuiShadow, LuiSidePanel, LuiSidePanelProvider, LuiStaticMessage, LuiStatusSpinner, LuiSwitchButton, LuiTab, LuiTabs, LuiTabsContext, LuiTabsGroup, LuiTabsPanel, LuiTabsPanelSwitch, LuiTextAreaInput, LuiTextInput, LuiToastMessage, LuiTooltip, LuiUpdatesSplashModal, getDefaultSearchMenuOptions, isChromatic, useClickedOutsideElement, useLOLGlobalClientRefContext, useLOLUserContext, useShowLUIMessage };