@linzjs/lui 17.10.3 → 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
@@ -9,127 +9,8 @@ import { useQuery } from 'react-query';
9
9
 
10
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}
11
11
 
12
- /*! *****************************************************************************
13
- Copyright (c) Microsoft Corporation.
14
-
15
- Permission to use, copy, modify, and/or distribute this software for any
16
- purpose with or without fee is hereby granted.
17
-
18
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
19
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
20
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
21
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
22
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
23
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
24
- PERFORMANCE OF THIS SOFTWARE.
25
- ***************************************************************************** */
26
- /* global Reflect, Promise */
27
-
28
- var extendStatics = function(d, b) {
29
- extendStatics = Object.setPrototypeOf ||
30
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
31
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
32
- return extendStatics(d, b);
33
- };
34
-
35
- function __extends(d, b) {
36
- if (typeof b !== "function" && b !== null)
37
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
38
- extendStatics(d, b);
39
- function __() { this.constructor = d; }
40
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
41
- }
42
-
43
- var __assign = function() {
44
- __assign = Object.assign || function __assign(t) {
45
- for (var s, i = 1, n = arguments.length; i < n; i++) {
46
- s = arguments[i];
47
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
48
- }
49
- return t;
50
- };
51
- return __assign.apply(this, arguments);
52
- };
53
-
54
- function __rest(s, e) {
55
- var t = {};
56
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
57
- t[p] = s[p];
58
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
59
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
60
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
61
- t[p[i]] = s[p[i]];
62
- }
63
- return t;
64
- }
65
-
66
- function __awaiter(thisArg, _arguments, P, generator) {
67
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
68
- return new (P || (P = Promise))(function (resolve, reject) {
69
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
70
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
71
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
72
- step((generator = generator.apply(thisArg, _arguments || [])).next());
73
- });
74
- }
75
-
76
- function __generator(thisArg, body) {
77
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
78
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
79
- function verb(n) { return function (v) { return step([n, v]); }; }
80
- function step(op) {
81
- if (f) throw new TypeError("Generator is already executing.");
82
- while (_) try {
83
- 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;
84
- if (y = 0, t) op = [op[0] & 2, t.value];
85
- switch (op[0]) {
86
- case 0: case 1: t = op; break;
87
- case 4: _.label++; return { value: op[1], done: false };
88
- case 5: _.label++; y = op[1]; op = [0]; continue;
89
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
90
- default:
91
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
92
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
93
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
94
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
95
- if (t[2]) _.ops.pop();
96
- _.trys.pop(); continue;
97
- }
98
- op = body.call(thisArg, _);
99
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
100
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
101
- }
102
- }
103
-
104
- function __read(o, n) {
105
- var m = typeof Symbol === "function" && o[Symbol.iterator];
106
- if (!m) return o;
107
- var i = m.call(o), r, ar = [], e;
108
- try {
109
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
110
- }
111
- catch (error) { e = { error: error }; }
112
- finally {
113
- try {
114
- if (r && !r.done && (m = i["return"])) m.call(i);
115
- }
116
- finally { if (e) throw e.error; }
117
- }
118
- return ar;
119
- }
120
-
121
- function __spreadArray(to, from, pack) {
122
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
123
- if (ar || !(i in from)) {
124
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
125
- ar[i] = from[i];
126
- }
127
- }
128
- return to.concat(ar || Array.prototype.slice.call(from));
129
- }
130
-
131
12
  // START OF GENERATED FILE`;
132
- var iconMap = {};
13
+ let iconMap = {};
133
14
  // @TODO This is a generated file, nothing is safe.
134
15
  iconMap['ic_account_circle'] = (React__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
135
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" })));
@@ -427,33 +308,32 @@ iconMap['ic_zoom_out'] = (React__default.createElement("svg", { viewBox: "0 0 24
427
308
  React__default.createElement("path", { d: "M19 13H5v-2h14v2Z" })));
428
309
  iconMap['ic_zoom_previous'] = (React__default.createElement("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
429
310
  React__default.createElement("path", { d: "M6 6h2v12H6V6Zm12 12-8.5-6L18 6v12Zm-5.03-6L16 14.14V9.86L12.97 12Z" })));
430
- var ICONS = iconMap;
311
+ const ICONS = iconMap;
431
312
  // END OF GENERATED FILE
432
313
 
433
- var ICON_SIZES = {
314
+ const ICON_SIZES = {
434
315
  xs: 'LuiIcon--xs',
435
316
  sm: 'LuiIcon--sm',
436
317
  md: 'LuiIcon--md',
437
318
  lg: 'LuiIcon--lg',
438
319
  xl: 'LuiIcon--xl',
439
- ns: 'LuiIcon--noSize'
320
+ ns: 'LuiIcon--noSize',
440
321
  };
441
- var ICON_STATUS = {
322
+ const ICON_STATUS = {
442
323
  none: '',
443
324
  error: 'LuiIcon--error',
444
325
  warning: 'LuiIcon--warning',
445
326
  success: 'LuiIcon--success',
446
327
  interactive: 'LuiIcon--interactive',
447
- disabled: 'LuiIcon--disabled'
328
+ disabled: 'LuiIcon--disabled',
448
329
  };
449
- var LuiIcon = function (_a) {
450
- 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;
451
- var iconSVG = ICONS[name];
330
+ const LuiIcon = ({ name, className, size = 'ns', title, alt, status = 'none', spanProps, }) => {
331
+ const iconSVG = ICONS[name];
452
332
  if (!iconSVG) {
453
- console.warn("<LuiIcon>: No icon found for: ".concat(iconSVG));
333
+ console.warn(`<LuiIcon>: No icon found for: ${iconSVG}`);
454
334
  return null;
455
335
  }
456
- 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));
457
337
  };
458
338
 
459
339
  function getMaterialIconForLevel(level) {
@@ -468,85 +348,84 @@ function getMaterialIconForLevel(level) {
468
348
  return 'error';
469
349
  }
470
350
  }
471
- var LuiBanner = function (props) {
472
- return (React__default.createElement("div", { className: clsx('lui-msg-banner-container', props.className ? "".concat(props.className, "-bannerContainer") : '') },
351
+ const LuiBanner = (props) => {
352
+ return (React__default.createElement("div", { className: clsx('lui-msg-banner-container', props.className ? `${props.className}-bannerContainer` : '') },
473
353
  React__default.createElement(LuiBannerContent, { level: props.level, className: props.className }, props.children)));
474
354
  };
475
- var LuiBannerContent = function (props) {
476
- var materialIcon = getMaterialIconForLevel(props.level);
477
- return (React__default.createElement("div", { className: clsx("lui-msg-".concat(props.level, " lui-msg-dynamic-banner"), props.className) },
478
- React__default.createElement(LuiIcon, { name: "ic_".concat(materialIcon), alt: "".concat(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" }),
479
359
  React__default.createElement("div", null, props.children)));
480
360
  };
481
361
 
482
- var LuiStaticMessage = function (props) {
483
- var _a = useState(true), display = _a[0], setDisplay = _a[1];
484
- var materialIcon = getMaterialIconForLevel(props.level);
485
- return display ? (React__default.createElement("div", { className: clsx("lui-msg-".concat(props.level), props.className), "data-testid": 'static-message-container' },
486
- React__default.createElement(LuiIcon, { name: "ic_".concat(materialIcon), alt: "".concat(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" }),
487
367
  props.children,
488
- (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: () => {
489
369
  setDisplay(false);
490
370
  } },
491
371
  React__default.createElement(LuiIcon, { name: "ic_clear", alt: 'close', size: "md", className: "LuiStaticMsg-close" }))))) : (React__default.createElement(React__default.Fragment, null));
492
372
  };
493
373
 
494
- var PlainButton = React__default.forwardRef(function (props, ref) {
495
- 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-".concat(props.level), "lui-button-".concat(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));
496
376
  });
497
- var LuiButton = React__default.forwardRef(function (props, ref) {
498
- var _level = props.level ? props.level : 'primary';
499
- 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';
500
380
  if (props.href) {
501
- var aProps = {
381
+ let aProps = {
502
382
  href: props.href,
503
383
  'data-testid': props['data-testid'],
504
384
  name: props.name,
505
385
  title: props.title,
506
- className: clsx('lui-button', "lui-button-".concat(props.level), "lui-button-".concat(props.size), props.className),
507
- style: props.style
386
+ className: clsx('lui-button', `lui-button-${props.level}`, `lui-button-${props.size}`, props.className),
387
+ style: props.style,
508
388
  };
509
389
  if (props.openInNewTab) {
510
390
  aProps.target = '_blank';
511
391
  aProps.rel = 'noopener noreferrer';
512
392
  }
513
- return React__default.createElement("a", __assign({}, aProps), props.children);
393
+ return React__default.createElement("a", { ...aProps }, props.children);
514
394
  }
515
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));
516
396
  });
517
397
  /**
518
398
  * A series of Lui buttons together.
519
399
  */
520
- var LuiButtonGroup = function (props) {
521
- var children = Array.isArray(props.children)
400
+ const LuiButtonGroup = (props) => {
401
+ const children = Array.isArray(props.children)
522
402
  ? props.children
523
403
  : [props.children];
524
- 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) => {
525
405
  return (React__default.createElement("div", { key: i, className: 'lui-button-wrapper' }, child));
526
406
  })));
527
407
  };
528
408
 
529
- var LuiToastMessage = function (_a) {
530
- 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;
531
- var _d = useState('lui-msg-toast-show'), className = _d[0], setClassname = _d[1];
532
- var _e = useState(undefined), fadeOutTimer = _e[0], setFadeOutTimer = _e[1];
533
- var _f = useState(undefined), removeTimer = _f[0], setRemoveTimer = _f[1];
534
- var materialIcon = getMaterialIconForLevel(level);
535
- 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 = () => {
536
415
  // This is so the caller can remove it from the dom
537
416
  if (onClose) {
538
- var timer = window.setTimeout(onClose, displayTimeout);
417
+ const timer = window.setTimeout(onClose, displayTimeout);
539
418
  setRemoveTimer(timer);
540
419
  }
541
420
  };
542
- useEffect(function () {
421
+ useEffect(() => {
543
422
  // clear timers if previously set
544
423
  fadeOutTimer && clearTimeout(fadeOutTimer);
545
424
  removeTimer && clearTimeout(removeTimer);
546
425
  setClassname('lui-msg-toast-show');
547
426
  if (!requireDismiss && displayTimeout !== 0) {
548
427
  // set a new timer
549
- var timer = window.setTimeout(function () {
428
+ const timer = window.setTimeout(() => {
550
429
  setClassname('lui-msg-toast-hide');
551
430
  callOnCloseAfterDissolved();
552
431
  }, displayTimeout);
@@ -554,36 +433,36 @@ var LuiToastMessage = function (_a) {
554
433
  }
555
434
  // eslint-disable-next-line react-hooks/exhaustive-deps
556
435
  }, [requireDismiss, displayTimeout, children]);
557
- useEffect(function () {
436
+ useEffect(() => {
558
437
  if (!display) {
559
438
  setClassname('lui-msg-toast-hide');
560
439
  callOnCloseAfterDissolved();
561
440
  }
562
441
  // eslint-disable-next-line react-hooks/exhaustive-deps
563
442
  }, [display]);
564
- return (React__default.createElement("div", { role: "status", "data-testid": className, className: "lui-msg-".concat(level, " lui-msg-toast lui-msg-toast-dismissable ").concat(className) },
443
+ return (React__default.createElement("div", { role: "status", "data-testid": className, className: `lui-msg-${level} lui-msg-toast lui-msg-toast-dismissable ${className}` },
565
444
  React__default.createElement("i", { className: "lui-msg-status-icon material-icons-round" }, materialIcon),
566
445
  children,
567
- 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: () => {
568
447
  setClassname('lui-msg-toast-hide');
569
448
  callOnCloseAfterDissolved();
570
449
  } },
571
450
  React__default.createElement("i", { className: "material-icons-round" }, "close"))));
572
451
  };
573
452
 
574
- var UIMessagingContext = createContext({
453
+ const UIMessagingContext = createContext({
575
454
  // @ts-ignore
576
- showMessage: function (props) { }
455
+ showMessage: (props) => { },
577
456
  });
578
457
  function useShowLUIMessage() {
579
458
  return useContext(UIMessagingContext).showMessage;
580
459
  }
581
- var LuiMessagingContextProvider = function (props) {
582
- var _a = useState(), _message = _a[0], setMessage = _a[1];
583
- var _b = useState(), _messageType = _b[0], setMessageType = _b[1];
584
- var _c = useState('success'), _messageLevel = _c[0], setMessageLevel = _c[1];
585
- var _d = useState(true), _requireDismiss = _d[0], setRequireDismiss = _d[1];
586
- 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) => {
587
466
  setMessage(props.message);
588
467
  setMessageType(props.messageType);
589
468
  setMessageLevel(props.messageLevel);
@@ -591,10 +470,10 @@ var LuiMessagingContextProvider = function (props) {
591
470
  ? props.messageLevel === 'error'
592
471
  : props.requireDismiss);
593
472
  };
594
- var renderMessage = function () {
473
+ const renderMessage = () => {
595
474
  switch (_messageType) {
596
475
  case 'toast':
597
- return (React__default.createElement(LuiToastMessage, { onClose: function () {
476
+ return (React__default.createElement(LuiToastMessage, { onClose: () => {
598
477
  setMessage(undefined);
599
478
  }, level: _messageLevel, requireDismiss: _requireDismiss },
600
479
  React__default.createElement("span", { "data-testid": 'toastMessageShow' }, typeof _message === 'string' ? React__default.createElement("h2", null, _message) : _message)));
@@ -602,45 +481,45 @@ var LuiMessagingContextProvider = function (props) {
602
481
  return null;
603
482
  }
604
483
  };
605
- return (React__default.createElement(UIMessagingContext.Provider, { value: { showMessage: showMessage } },
484
+ return (React__default.createElement(UIMessagingContext.Provider, { value: { showMessage } },
606
485
  _message && renderMessage(),
607
486
  props.children));
608
487
  };
609
488
 
610
- var LuiExpandableBanner = function (props) {
611
- var display = useRef(null);
612
- var _a = useState(true), collapse = _a[0], setCollapse = _a[1];
613
- var collapseSection = function (element) {
489
+ const LuiExpandableBanner = (props) => {
490
+ const display = useRef(null);
491
+ const [collapse, setCollapse] = useState(true);
492
+ const collapseSection = (element) => {
614
493
  // get the height of the element's inner content, regardless of its actual size
615
- var sectionHeight = element.scrollHeight;
494
+ const sectionHeight = element.scrollHeight;
616
495
  // on the next frame (as soon as the previous style change has taken effect),
617
496
  // explicitly set the element's height to its current pixel height, so we
618
497
  // aren't transitioning out of 'auto'
619
- requestAnimationFrame(function () {
498
+ requestAnimationFrame(() => {
620
499
  element.style.height = sectionHeight + 'px';
621
500
  // on the next frame (as soon as the previous style change has taken effect),
622
501
  // have the element transition to height: 0
623
- requestAnimationFrame(function () {
502
+ requestAnimationFrame(() => {
624
503
  element.style.height = 0 + 'px';
625
504
  });
626
505
  });
627
506
  // mark the section as "currently collapsed"
628
507
  setCollapse(true);
629
508
  };
630
- var expandSection = function (element) {
509
+ const expandSection = (element) => {
631
510
  // get the height of the element's inner content, regardless of its actual size
632
- var sectionHeight = element.scrollHeight;
511
+ const sectionHeight = element.scrollHeight;
633
512
  // have the element transition to the height of its inner content
634
513
  element.style.height = sectionHeight + 'px';
635
514
  // when the next css transition finishes (which should be the one we just triggered)
636
- setTimeout(function () {
515
+ setTimeout(() => {
637
516
  element.style.height = 'auto';
638
517
  }, 500);
639
518
  // mark the section as "currently not collapsed"
640
519
  setCollapse(false);
641
520
  };
642
- var expandFunction = function () {
643
- var section = display.current;
521
+ const expandFunction = () => {
522
+ const section = display.current;
644
523
  if (collapse) {
645
524
  expandSection(section);
646
525
  }
@@ -663,36 +542,33 @@ var LuiExpandableBanner = function (props) {
663
542
  * A menu controlled by a user-supplied MenuButton. Open/closed state is managed internally. The defaulted style props,
664
543
  * menuClassName and offsetY, can be overridden simply by setting them in the usual way.
665
544
  */
666
- var LuiMenu = function (props) {
667
- 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 });
668
547
  };
669
548
  /**
670
549
  * A menu with state managed externally. Can be used quite conveniently as a context menu. The defaulted style props,
671
550
  * menuClassName and offsetY, can be overridden simply by setting them in the usual way.
672
551
  */
673
- var LuiControlledMenu = function (props) {
674
- 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 });
675
554
  };
676
555
 
677
- var LuiSelectMenu = function (_a) {
678
- var props = __rest(_a, []);
679
- 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 });
680
558
  };
681
- var LuiSelectMenuItem = function (_a) {
682
- 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"]);
683
- return (React__default.createElement(MenuItem, __assign({}, rest, { className: clsx('lui-select-menuItem', "lui-select-menuItem--".concat(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'] },
684
561
  iconName ? (React__default.createElement(LuiIcon, { className: "lui-select-icon", name: iconName, alt: iconAlt ? iconAlt : '', size: "md" })) : (''),
685
562
  React__default.createElement("p", { className: clsx('lui-select-menuItemText', {
686
- 'lui-select-menuItemText--noPadding': noPadding
563
+ 'lui-select-menuItemText--noPadding': noPadding,
687
564
  }) }, rest.children)));
688
565
  };
689
- var LuiSelectSubMenuItem = function (_a) {
690
- var label = _a.label, iconName = _a.iconName, iconAlt = _a.iconAlt, rest = __rest(_a, ["label", "iconName", "iconAlt"]);
691
- 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
692
568
  ? label
693
- : LuiSubMenuComponent(label, iconName, iconAlt) }), rest.children));
569
+ : LuiSubMenuComponent(label, iconName, iconAlt) }, rest.children));
694
570
  };
695
- var LuiSubMenuComponent = function (label, iconName, iconAlt) {
571
+ const LuiSubMenuComponent = (label, iconName, iconAlt) => {
696
572
  return (React__default.createElement(React__default.Fragment, null,
697
573
  iconName === undefined ? ('') : (React__default.createElement(LuiIcon, { className: "lui-menu-sub-header-icon", name: iconName, alt: iconAlt ? iconAlt : '', size: "md" })),
698
574
  label));
@@ -727,11 +603,10 @@ let nanoid = (size = 21) => {
727
603
  };
728
604
 
729
605
  // Lui Select menu with dynamic data
730
- var LuiSelectDataMenu = function (_a) {
731
- var props = __rest(_a, []);
732
- 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)));
733
608
  };
734
- 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) => {
735
610
  if (item.options === undefined) {
736
611
  return (React__default.createElement(React__default.Fragment, { key: nanoid() },
737
612
  item.header ? React__default.createElement(GroupHeader, null, item.headerLabel) : null,
@@ -741,18 +616,15 @@ var displayMenu = function (items) { return (React__default.createElement(React_
741
616
  return (React__default.createElement(React__default.Fragment, { key: nanoid() },
742
617
  React__default.createElement(LuiSelectSubMenuItem, { label: item.label, iconName: item.iconName }, displayMenu(item.options))));
743
618
  }
744
- }))); };
745
- var GroupHeader = function (_a) {
746
- var children = _a.children;
747
- return (React__default.createElement(React__default.Fragment, null,
748
- React__default.createElement(MenuDivider, { className: "lui-select-divider" }),
749
- children && (React__default.createElement(MenuHeader, { autoCapitalize: "false", className: "lui-select-menu-group" }, children))));
750
- };
751
- 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 = () => {
752
624
  return React__default.createElement(MenuDivider, { className: "lui-select-divider" });
753
625
  };
754
- var LuiSelectMenuHeader = function (props) {
755
- 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 });
756
628
  };
757
629
 
758
630
  function styleInject(css, ref) {
@@ -782,12 +654,12 @@ function styleInject(css, ref) {
782
654
  }
783
655
  }
784
656
 
785
- var LuiFilterMenu = function (props) {
786
- var _a = useState(''), filter = _a[0], setFilter = _a[1];
787
- var _b = useMenuState(), toggleMenu = _b.toggleMenu, menuProps = __rest(_b, ["toggleMenu"]);
788
- var ref = useRef(null);
657
+ const LuiFilterMenu = (props) => {
658
+ const [filter, setFilter] = useState('');
659
+ const { toggleMenu, ...menuProps } = useMenuState();
660
+ const ref = useRef(null);
789
661
  return (React__default.createElement("div", { ref: ref },
790
- props.menuButton(function () {
662
+ props.menuButton(() => {
791
663
  switch (props.enabled) {
792
664
  case false: {
793
665
  toggleMenu(false);
@@ -799,28 +671,23 @@ var LuiFilterMenu = function (props) {
799
671
  }
800
672
  }
801
673
  }),
802
- 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) => {
803
675
  e.open && setFilter('');
804
676
  }, menuStyles: props.maxRows !== undefined
805
677
  ? { maxHeight: 62 + 34 * props.maxRows, overflowY: 'auto' }
806
- : {} }),
807
- React__default.createElement(FocusableItem, null, function (_a) {
808
- var ref = _a.ref;
809
- return (React__default.createElement("input", { ref: ref, type: "text", placeholder: "Type to filter", value: filter, onChange: function (e) { return setFilter(e.target.value); } }));
810
- }),
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) }))),
811
680
  props.filteredItems
812
- .filter(function (item) {
813
- return item.display.toUpperCase().includes(filter.trim().toUpperCase());
814
- })
815
- .map(function (item) {
816
- 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') {
817
684
  return React__default.createElement(MenuDivider, { key: item.id });
818
685
  }
819
- else if ((item === null || item === void 0 ? void 0 : item.specialType) === 'head') {
686
+ else if (item?.specialType === 'head') {
820
687
  return React__default.createElement(MenuHeader, { key: item.id }, item.display);
821
688
  }
822
689
  else {
823
- return (React__default.createElement(MenuItem, { key: item.id, onMouseDown: function (e) {
690
+ return (React__default.createElement(MenuItem, { key: item.id, onMouseDown: (e) => {
824
691
  props.onItemClick(item.id);
825
692
  e.stopPropagation();
826
693
  } }, item.display));
@@ -828,51 +695,50 @@ var LuiFilterMenu = function (props) {
828
695
  }))));
829
696
  };
830
697
 
831
- var LuiTabsContext = React__default.createContext({
698
+ const LuiTabsContext = React__default.createContext({
832
699
  activePanel: null,
833
- setActivePanel: function () { }
700
+ setActivePanel: () => { },
834
701
  });
835
- var LuiTabs = function (props) {
836
- var _a = useState(props.defaultPanel), activePanel = _a[0], setActivePanel = _a[1];
702
+ const LuiTabs = (props) => {
703
+ let [activePanel, setActivePanel] = useState(props.defaultPanel);
837
704
  return (React__default.createElement("div", { className: "LuiTabs" },
838
- React__default.createElement(LuiTabsContext.Provider, { value: { activePanel: activePanel, setActivePanel: setActivePanel } }, props.children)));
705
+ React__default.createElement(LuiTabsContext.Provider, { value: { activePanel, setActivePanel } }, props.children)));
839
706
  };
840
707
 
841
- var LuiTab = function (props) {
842
- return (React__default.createElement("button", { className: clsx('LuiTab', props.active && 'LuiTab--active'), id: props.id, role: "tab", "aria-selected": props.active, "aria-controls": "".concat(props.ariaControls), title: props.titleAttribute, onClick: props.onClick }, props.children));
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));
843
710
  };
844
711
 
845
712
  // import './LuiTabsGroup.scss';
846
- var LuiTabsGroup = function (props) {
847
- return (React__default.createElement("div", { className: "LuiTabsGroup ".concat(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));
848
715
  };
849
716
 
850
- var LuiTabsPanel = function (_a) {
851
- var children = _a.children, panel = _a.panel, _b = _a.mode, mode = _b === void 0 ? 'eager' : _b;
852
- var context = useContext(LuiTabsContext);
853
- var _c = useState(mode === 'eager'), shouldShow = _c[0], setShouldShow = _c[1];
854
- var active = context.activePanel === panel;
855
- 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(() => {
856
722
  if (active && !shouldShow) {
857
723
  setShouldShow(true);
858
724
  }
859
725
  }, [active, shouldShow]);
860
- return (React__default.createElement("div", { className: clsx('LuiTabsPanel', active && 'LuiTabsPanel--active'), id: "".concat(panel, "-tab-panel"), role: "tabpanel", "aria-labelledby": "".concat(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));
861
727
  };
862
728
 
863
- var LuiTabsPanelSwitch = function (props) {
864
- var context = useContext(LuiTabsContext);
865
- var active = context.activePanel === props.targetPanel;
866
- return (React__default.createElement(LuiTab, { id: "".concat(props.targetPanel, "-tab"), ariaControls: "".concat(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: () => {
867
733
  if (context.setActivePanel)
868
734
  context.setActivePanel(props.targetPanel);
869
735
  } }, props.children));
870
736
  };
871
737
 
872
738
  function useDeprecatedWarning(componentName) {
873
- useEffect(function () {
739
+ useEffect(() => {
874
740
  if (window.location.hostname.includes('localhost')) {
875
- console.warn("".concat(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.`);
876
742
  }
877
743
  }, []);
878
744
  }
@@ -880,11 +746,11 @@ function useDeprecatedWarning(componentName) {
880
746
  function LuiFormikForm(props) {
881
747
  useDeprecatedWarning('LuiFormikForm');
882
748
  // this spreads all keys, except className
883
- var _a = __assign({}, props); _a.className; var formikProps = __rest(_a, ["className"]);
884
- var classNames = clsx(props.className);
749
+ const { className, ...formikProps } = { ...props };
750
+ const classNames = clsx(props.className);
885
751
  return (
886
752
  // @ts-ignore not fixing due this component being deprecated
887
- React__default.createElement(Formik, __assign({}, formikProps),
753
+ React__default.createElement(Formik, { ...formikProps },
888
754
  React__default.createElement("div", { className: classNames },
889
755
  React__default.createElement(Form, null,
890
756
  props.children,
@@ -894,12 +760,9 @@ function LuiFormikForm(props) {
894
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}";
895
761
  styleInject(css_248z$5);
896
762
 
897
- var LuiError = function (_a) {
898
- var error = _a.error, className = _a.className;
899
- return (React__default.createElement("div", { className: "LuiError ".concat(className, "-error") },
900
- React__default.createElement(LuiIcon, { className: "LuiError-errorIcon ".concat(className, "-errorIcon"), alt: 'Error', name: "ic_error", size: "md", status: "error" }),
901
- error && (React__default.createElement("span", { className: "LuiError-errorText ".concat(className, "-errorText") }, error))));
902
- };
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))));
903
766
 
904
767
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
905
768
  // require the crypto API and do not support built-in fallback to lower quality random number
@@ -976,57 +839,53 @@ function v4(options, buf, offset) {
976
839
  }
977
840
 
978
841
  function useGenerateOrDefaultId(idFromProps) {
979
- var id = useState(idFromProps ? idFromProps : v4())[0];
842
+ const [id] = useState(idFromProps ? idFromProps : v4());
980
843
  return id;
981
844
  }
982
- var LuiTextInput = function (props) {
983
- var _a;
984
- 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);
985
847
  return (React__default.createElement("div", { className: clsx('LuiTextInput', props.error && 'hasError', props.className) },
986
848
  React__default.createElement("label", { className: 'LuiTextInput-label', htmlFor: id },
987
849
  props.mandatory && React__default.createElement("span", { className: "LuiTextInput-mandatory" }, "*"),
988
850
  React__default.createElement("span", { className: 'LuiTextInput-label-text ' +
989
851
  clsx(props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
990
852
  React__default.createElement("span", { className: "LuiTextInput-inputWrapper" },
991
- React__default.createElement("input", __assign({ type: 'text', className: (props.showPadlockIcon ? 'LuiTextInput-padlock-icon ' : '') +
992
- 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 }),
993
855
  props.icon),
994
856
  props.error && (React__default.createElement("span", { className: "LuiTextInput-error" },
995
857
  React__default.createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextInput-error-icon", size: "sm", status: "error" }),
996
858
  props.error)))));
997
859
  };
998
860
 
999
- var LuiCheckboxInput = function (props) {
1000
- var _a;
1001
- 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);
1002
863
  return (React__default.createElement("div", { className: clsx('LuiCheckboxInput', {
1003
864
  'LuiCheckboxInput--isChecked': props.isChecked,
1004
865
  'LuiCheckboxInput--hasError': !!props.error,
1005
- 'LuiCheckboxInput--isDisabled': !!props.isDisabled
866
+ 'LuiCheckboxInput--isDisabled': !!props.isDisabled,
1006
867
  }, props.className) },
1007
868
  React__default.createElement("label", { htmlFor: id, className: "LuiCheckboxInput-group" },
1008
869
  props.mandatory && (React__default.createElement("span", { "aria-label": "Required", className: "LuiCheckboxInput-mandatory" }, "*")),
1009
- 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 }),
1010
871
  React__default.createElement("span", { className: "LuiCheckboxInput-label" },
1011
872
  props.label,
1012
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 }))),
1013
874
  props.error && (React__default.createElement(LuiError, { className: "LuiCheckboxInput", error: props.error }))));
1014
875
  };
1015
876
 
1016
- var LuiFileInputBox = function (props) {
1017
- var _a = useState(), file = _a[0], setFile = _a[1];
1018
- var _b = useState(false), hasFileFormatError = _b[0], setHasFileFormatError = _b[1];
1019
- var onChange = function (e) {
877
+ const LuiFileInputBox = (props) => {
878
+ const [file, setFile] = useState();
879
+ const [hasFileFormatError, setHasFileFormatError] = useState(false);
880
+ const onChange = (e) => {
1020
881
  // Logic to go here to check extensions and setHasFileFormatError
1021
882
  setHasFileFormatError(false);
1022
- var files = e.target.files;
883
+ const files = e.target.files;
1023
884
  // File upload box is configured to only accept 1 file, we can't have more than one here
1024
885
  if (files && files.length === 1) {
1025
- var selectedFile = files[0];
1026
- var supportedFileTypes = props.acceptedExtensions.map(function (ext) {
1027
- return ext.toUpperCase();
1028
- });
1029
- var fileName = selectedFile.name;
886
+ const selectedFile = files[0];
887
+ const supportedFileTypes = props.acceptedExtensions.map((ext) => ext.toUpperCase());
888
+ const fileName = selectedFile.name;
1030
889
  if (!supportedFileTypes.includes(getFileNameExtension(fileName))) {
1031
890
  setHasFileFormatError(true);
1032
891
  setFile(undefined);
@@ -1037,10 +896,10 @@ var LuiFileInputBox = function (props) {
1037
896
  }
1038
897
  }
1039
898
  };
1040
- var hasError = hasFileFormatError || props.showMustSelectFileError === true;
899
+ const hasError = hasFileFormatError || props.showMustSelectFileError === true;
1041
900
  return (React__default.createElement("div", { className: clsx('LuiFileInputBox-upload', hasError && 'LuiFileInputBox-upload-error'), style: { width: props.width || 320, height: props.height || 320 } },
1042
901
  React__default.createElement("input", { role: "button", "aria-label": "File Upload", type: "file", className: "LuiFileInputBox-upload-input", accept: props.acceptedExtensions
1043
- .map(function (extension) { return ".".concat(extension); })
902
+ .map((extension) => `.${extension}`)
1044
903
  .join(','), onChange: onChange }),
1045
904
  React__default.createElement(React__default.Fragment, null, hasError ? (React__default.createElement("div", { className: "LuiFileInputBox-upload-container" },
1046
905
  React__default.createElement(React__default.Fragment, null,
@@ -1050,26 +909,26 @@ var LuiFileInputBox = function (props) {
1050
909
  "You must select a file with extension of",
1051
910
  ' ',
1052
911
  extensionsAsHumanReadableList(props.acceptedExtensions),
1053
- "."))))) : (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 })))));
1054
913
  };
1055
914
  // Only exported for chromatic
1056
- var FileUploadInfo = function (props) {
1057
- 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" },
1058
917
  "Drag and drop your ",
1059
918
  props.fileDescription,
1060
919
  " into the box",
1061
920
  React__default.createElement("br", null),
1062
- React__default.createElement("span", null, "(or upload file manually)"))); };
1063
- 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,
1064
923
  React__default.createElement("div", { className: 'LuiFileInputBox-upload-icon-upload' },
1065
924
  React__default.createElement(LuiIcon, { name: "ic_publish", size: 'ns', alt: "Upload" })),
1066
925
  React__default.createElement(DragAndDropInstruction, null),
1067
- props.fileFormatText && (React__default.createElement("p", { className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding" }, props.fileFormatText)))); };
1068
- 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,
1069
928
  React__default.createElement("div", { className: 'LuiFileInputBox-upload-icon-success' },
1070
929
  React__default.createElement(LuiIcon, { name: "ic_check_circle_outline", size: 'ns', alt: "Success" })),
1071
930
  React__default.createElement("p", { className: "LuiFileInputBox-upload-file-name" }, props.fileName),
1072
- React__default.createElement(DragAndDropInstruction, null))); };
931
+ React__default.createElement(DragAndDropInstruction, null)));
1073
932
  return (React__default.createElement("div", { className: "LuiFileInputBox-upload-container" }, props.fileName ? React__default.createElement(UploadSuccess, null) : React__default.createElement(WaitingForFileSelection, null)));
1074
933
  };
1075
934
  /**
@@ -1078,8 +937,8 @@ var FileUploadInfo = function (props) {
1078
937
  * @param fileName File-name to get extension from
1079
938
  * @return fileName extension in upper-case if found else empty string
1080
939
  */
1081
- var getFileNameExtension = function (fileName) {
1082
- var idx = fileName.lastIndexOf('.');
940
+ const getFileNameExtension = (fileName) => {
941
+ const idx = fileName.lastIndexOf('.');
1083
942
  return idx === -1 ? '' : fileName.substr(idx + 1).toUpperCase();
1084
943
  };
1085
944
  /**
@@ -1089,68 +948,63 @@ var getFileNameExtension = function (fileName) {
1089
948
  * @param extensions List of extensions to convert.
1090
949
  * @return Extensions in a human readable string in upper-case.
1091
950
  */
1092
- var extensionsAsHumanReadableList = function (extensions) {
1093
- var uppercaseExtensions = extensions.map(function (extension) {
1094
- return extension.toUpperCase();
1095
- });
951
+ const extensionsAsHumanReadableList = (extensions) => {
952
+ const uppercaseExtensions = extensions.map((extension) => extension.toUpperCase());
1096
953
  if (!extensions.length)
1097
954
  return '';
1098
955
  if (extensions.length === 1)
1099
956
  return uppercaseExtensions[0];
1100
- return "".concat(uppercaseExtensions.slice(0, -1).join(', '), " or ").concat(uppercaseExtensions[extensions.length - 1]);
957
+ return `${uppercaseExtensions.slice(0, -1).join(', ')} or ${uppercaseExtensions[extensions.length - 1]}`;
1101
958
  };
1102
959
 
1103
- var LuiSelectInput = function (props) {
1104
- var _a, _b;
1105
- var id = useGenerateOrDefaultId((_a = props.selectProps) === null || _a === void 0 ? void 0 : _a.id);
1106
- 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' : '') },
1107
963
  React__default.createElement("label", { htmlFor: id, className: "LuiSelect-label" },
1108
964
  props.mandatory && React__default.createElement("span", { className: "LuiSelect-mandatory" }, "*"),
1109
965
  React__default.createElement("span", { className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
1110
966
  React__default.createElement("div", { className: "LuiSelect-wrapper" },
1111
- 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 },
1112
968
  props.placeholderText && (React__default.createElement("option", { value: "", disabled: true }, props.placeholderText)),
1113
- 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)))),
1114
970
  React__default.createElement(LuiIcon, { alt: 'Error', name: "ic_keyboard_arrow_down", className: "LuiSelect-chevron-icon", size: "md" })),
1115
971
  props.error && (React__default.createElement("span", { className: "LuiSelect-error" },
1116
972
  React__default.createElement(LuiIcon, { alt: 'Error', name: "ic_error", className: "LuiSelect-error-icon", size: "sm", status: "error" }),
1117
973
  props.error)))));
1118
974
  };
1119
975
 
1120
- var LuiTextAreaInput = function (props) {
1121
- var _a, _b;
1122
- var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
1123
- 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' : '') },
1124
979
  React__default.createElement("label", { htmlFor: id },
1125
980
  props.mandatory && (React__default.createElement("span", { className: "LuiTextAreaInput-mandatory" }, "*")),
1126
981
  React__default.createElement("span", { className: "LuiTextAreaInput-label" }, props.label),
1127
982
  React__default.createElement("div", { className: "LuiTextAreaInput-wrapper" },
1128
983
  ' ',
1129
- 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 }))),
1130
985
  props.error && (React__default.createElement("span", { className: "LuiTextAreaInput-error" },
1131
986
  React__default.createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }),
1132
987
  props.error))));
1133
988
  };
1134
989
 
1135
990
  // @NOTE Can use LuiRadioInput in block form and pass through your own legend (label)
1136
- var LuiRadioInput = function (props) {
1137
- var _a;
1138
- 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);
1139
993
  return (React__default.createElement(React__default.Fragment, null,
1140
994
  React__default.createElement("div", { className: clsx('LuiRadioInput', {
1141
- 'LuiRadioInput--hasError': props.error
995
+ 'LuiRadioInput--hasError': props.error,
1142
996
  }) },
1143
997
  React__default.createElement("fieldset", { className: 'LuiRadioInput-fieldset' },
1144
998
  props.legend && (React__default.createElement("legend", { className: "LuiRadioInput-legend" }, props.legend)),
1145
- props.options.map(function (option, index) {
1146
- var radioId = "".concat(id, "-").concat(index);
1147
- var isSelected = props.selectedValue === option;
1148
- 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);
1149
1003
  return (React__default.createElement("label", { htmlFor: radioId, className: clsx('LuiRadioInput-label', {
1150
1004
  'LuiRadioInput-label--isDisabled': isDisabled,
1151
- 'LuiRadioInput-label--isSelected': isSelected
1005
+ 'LuiRadioInput-label--isSelected': isSelected,
1152
1006
  }), key: radioId },
1153
- 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 }),
1154
1008
  props.renderLabelFor ? props.renderLabelFor(option) : option));
1155
1009
  })),
1156
1010
  props.error && (React__default.createElement("div", { className: "LuiRadioInput-errorMsg" },
@@ -1160,76 +1014,70 @@ var LuiRadioInput = function (props) {
1160
1014
 
1161
1015
  function LuiFormikCheckbox(props) {
1162
1016
  useDeprecatedWarning('LuiFormikCheckbox');
1163
- var ctx = useFormikContext();
1017
+ let ctx = useFormikContext();
1164
1018
  return (React__default.createElement(React__default.Fragment, null,
1165
- React__default.createElement(Field, { name: props.name }, function (_a) {
1166
- var field = _a.field;
1167
- 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);
1168
1021
  return (React__default.createElement("div", { className: clsx(showError && 'lui-input-error') },
1169
1022
  React__default.createElement("div", { className: "lui-input-group-wrapper " },
1170
1023
  showError && (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
1171
1024
  React__default.createElement("div", { className: clsx('lui-checkbox-container', props.className) },
1172
- 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 }),
1173
1026
  typeof props.label === 'string' ? (React__default.createElement("label", { htmlFor: props.value }, props.label)) : (props.label)))));
1174
1027
  })));
1175
1028
  }
1176
1029
 
1177
- var LuiFormikFormLabel = function (props) {
1030
+ const LuiFormikFormLabel = (props) => {
1178
1031
  useDeprecatedWarning('LuiFormikFormLabel');
1179
- return (React__default.createElement("div", { className: clsx('LuiFormLabel-wrapper', props.className && "".concat(props.className)) },
1032
+ return (React__default.createElement("div", { className: clsx('LuiFormLabel-wrapper', props.className && `${props.className}`) },
1180
1033
  props.children,
1181
- React__default.createElement("label", { className: "LuiFormLabel", htmlFor: props["for"] },
1034
+ React__default.createElement("label", { className: "LuiFormLabel", htmlFor: props.for },
1182
1035
  props.required && React__default.createElement("span", { className: "lui-required-input-icon" }, "*"),
1183
1036
  props.label),
1184
1037
  props.tooltip && React__default.createElement("i", { className: "material-icons-round" }, "help")));
1185
1038
  };
1186
1039
 
1187
- var LuiFormikTextInput = connect(function (props) {
1188
- var error = getIn(props.formik.errors, props.name);
1189
- var touch = getIn(props.formik.touched, props.name);
1190
- var showError = touch && error;
1191
- 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();
1192
1045
  useDeprecatedWarning('LuiFormikTextInput');
1193
- var multiLineToggle = function (field) {
1194
- return !props.multiLine ? (React__default.createElement("input", __assign({ id: props.name, "data-testid": props.name }, field, { type: "text" }, props.inputProps, { onChange: function (event) {
1195
- var _a;
1196
- setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
1197
- if (props.onValueChange) {
1198
- props.onValueChange({
1199
- value: event.target.value,
1200
- formik: props.formik
1201
- });
1202
- }
1203
- } }))) : (React__default.createElement("textarea", __assign({ id: props.name, "data-testid": props.name }, field, { rows: 1 }, props.inputProps, { onChange: function (event) {
1204
- var _a;
1205
- setFieldValue(props.name, event.target.value, (_a = props.validateOnChange) !== null && _a !== void 0 ? _a : true);
1206
- if (props.onValueChange) {
1207
- props.onValueChange({
1208
- value: event.target.value,
1209
- formik: props.formik
1210
- });
1211
- }
1212
- } })));
1213
- };
1214
- return (React__default.createElement("div", { className: clsx(props.className && "".concat(props.className)) },
1215
- 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 })),
1216
1065
  props.helperInfo,
1217
- React__default.createElement(Field, { name: props.name, validate: props.validate }, function (_a) {
1218
- var field = _a.field;
1066
+ React__default.createElement(Field, { name: props.name, validate: props.validate }, ({ field }) => {
1219
1067
  return (React__default.createElement("div", { className: clsx(showError && 'lui-input-error') },
1220
- 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")) }),
1221
1069
  multiLineToggle(field),
1222
1070
  React__default.createElement(ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" })));
1223
1071
  })));
1224
1072
  });
1225
1073
 
1226
- var LuiFormikRadioButton = function (props) {
1227
- var _a = useField(props), field = _a[0], meta = _a[1];
1074
+ const LuiFormikRadioButton = (props) => {
1075
+ const [field, meta] = useField(props);
1228
1076
  useDeprecatedWarning('LuiFormikRadioButton');
1229
1077
  return (React__default.createElement("div", { className: props.className },
1230
1078
  meta.touched && meta.error && (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
1231
1079
  React__default.createElement("div", { className: 'lui-radio-container' },
1232
- 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 }),
1233
1081
  React__default.createElement("label", { htmlFor: props.value }, props.label))));
1234
1082
  };
1235
1083
 
@@ -1369,14 +1217,14 @@ camelcase$1.exports.default = camelCase;
1369
1217
  var camelcase = camelcase$1.exports;
1370
1218
 
1371
1219
  // TODO: It's annoying that we have to pass name into the RadioGroup and RadioButton
1372
- var LuiFormikRadioGroup = function (props) {
1373
- var ctx = useFormikContext();
1374
- var error = getIn(ctx.errors, props.name);
1375
- var touch = getIn(ctx.touched, props.name);
1376
- 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;
1377
1225
  useDeprecatedWarning('LuiFormikRadioGroup');
1378
- var describedby = props.hint && camelcase(props === null || props === void 0 ? void 0 : props.hint) + 'Id';
1379
- var errorDescribedBy = error && camelcase(error) + 'Id';
1226
+ const describedby = props.hint && camelcase(props?.hint) + 'Id';
1227
+ const errorDescribedBy = error && camelcase(error) + 'Id';
1380
1228
  return (React__default.createElement("div", { className: clsx('lui-fieldsetBlock-form-group', showError && 'lui-input-error') },
1381
1229
  React__default.createElement("fieldset", { "aria-describedby": clsx(props.hint && describedby + 'Id', showError && errorDescribedBy) },
1382
1230
  React__default.createElement("legend", null,
@@ -1389,42 +1237,42 @@ var LuiFormikRadioGroup = function (props) {
1389
1237
  React__default.createElement("div", { className: "lui-input-group-wrapper" }, props.children))));
1390
1238
  };
1391
1239
 
1392
- var LuiFormikFormSubmitButton = connect(function (props) {
1240
+ const LuiFormikFormSubmitButton = connect((props) => {
1393
1241
  useDeprecatedWarning('LuiFormikFormSubmitButton');
1394
1242
  return (React__default.createElement(LuiButton, { type: "submit", className: props.className, level: "primary", "data-testid": props['data-testid'], disabled: !!props.disabled }, props.children));
1395
1243
  });
1396
1244
 
1397
- var LuiFormikSelect = connect(function (props) {
1245
+ const LuiFormikSelect = connect((props) => {
1398
1246
  useDeprecatedWarning('LuiFormikSelect');
1399
- var error = getIn(props.formik.errors, props.name);
1400
- var touch = getIn(props.formik.touched, props.name);
1401
- 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;
1402
1250
  return (React__default.createElement("div", { className: props.className },
1403
- 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 })),
1404
1252
  props.helperInfo,
1405
1253
  React__default.createElement("div", { className: clsx('lui-input-wrapper', showError && 'lui-input-error') },
1406
- React__default.createElement(ErrorMessage, { name: props.name, render: function () { return (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")); } }),
1407
- 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),
1408
1256
  React__default.createElement(ErrorMessage, { name: props.name, className: 'lui-error-msg', component: "p" }))));
1409
1257
  });
1410
1258
 
1411
- var LuiBearingInput = function (props) {
1412
- var maxDecimal = 1;
1413
- var maxAfterDP = 4 + maxDecimal;
1414
- var parseBearing = function (decimalIsh) {
1415
- var sign = decimalIsh.startsWith('-') ? '-' : '+';
1416
- var parts = decimalIsh.split('.');
1417
- var degrees = Math.abs(parseInt(parts[0])) || 0;
1418
- 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';
1419
1267
  while (remainder.length < 4) {
1420
1268
  remainder += '0';
1421
1269
  }
1422
- var minutes = parseInt(remainder.substr(0, 2));
1423
- var seconds = parseFloat("".concat(remainder.substr(2, 2), ".").concat(remainder.length > 4 ? remainder.substr(4, 2) : '0'));
1424
- 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 };
1425
1273
  };
1426
- var validateBearing = function (bearing) {
1427
- var signedDegrees = bearing.sign === '-' ? bearing.degrees * -1 : bearing.degrees;
1274
+ const validateBearing = (bearing) => {
1275
+ const signedDegrees = bearing.sign === '-' ? bearing.degrees * -1 : bearing.degrees;
1428
1276
  if (signedDegrees < -360 || signedDegrees > 360)
1429
1277
  return 'Degrees must be between -360 and 360';
1430
1278
  if (bearing.minutes < 0 || bearing.minutes >= 60)
@@ -1435,16 +1283,16 @@ var LuiBearingInput = function (props) {
1435
1283
  //here ---
1436
1284
  return null;
1437
1285
  };
1438
- var formatBearing = function (decimalIsh) {
1439
- var _a = parseBearing(decimalIsh), sign = _a.sign, degrees = _a.degrees, minutes = _a.minutes, seconds = _a.seconds;
1440
- var displaySign = degrees === 0 && minutes === 0 && seconds === 0 ? '' : sign;
1441
- return "".concat(displaySign, " ").concat(degrees, "\u00B0 ").concat(padToTwo(minutes), "' ").concat(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)}"`;
1442
1290
  };
1443
- var onChange = function (event) {
1444
- var newValue = event.target.value;
1291
+ const onChange = (event) => {
1292
+ const newValue = event.target.value;
1445
1293
  if (newValue === '' ||
1446
1294
  newValue === '-' ||
1447
- newValue.match(RegExp("^-?[0-9]+(\\.[0-9]{0,".concat(maxAfterDP, "})?$")))) {
1295
+ newValue.match(RegExp(`^-?[0-9]+(\\.[0-9]{0,${maxAfterDP}})?$`))) {
1448
1296
  props.onChange && props.onChange(event);
1449
1297
  }
1450
1298
  else {
@@ -1454,26 +1302,26 @@ var LuiBearingInput = function (props) {
1454
1302
  function padToTwo(number) {
1455
1303
  return number <= 9 ? '0' + number : number.toString();
1456
1304
  }
1457
- var parsedBearing = parseBearing(props.value);
1458
- var internalError = validateBearing(parsedBearing);
1459
- var error = props.preferValidationError
1305
+ const parsedBearing = parseBearing(props.value);
1306
+ const internalError = validateBearing(parsedBearing);
1307
+ const error = props.preferValidationError
1460
1308
  ? props.validationError || internalError || null
1461
1309
  : internalError || props.validationError || null;
1462
- var showError = error !== null;
1310
+ const showError = error !== null;
1463
1311
  props.onValidate && props.onValidate(internalError);
1464
1312
  return (React__default.createElement(React__default.Fragment, null,
1465
- 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 })),
1466
1314
  props.helperInfo,
1467
1315
  React__default.createElement("div", { className: clsx('lui-margin-top-xs', showError && 'lui-input-error') },
1468
1316
  showError && (React__default.createElement("i", { className: "lui-form-status-icon material-icons-round" }, "error")),
1469
1317
  React__default.createElement("div", { className: 'lui-bearing-input-wrapper' },
1470
- 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 }),
1471
1319
  React__default.createElement("div", { className: 'lui-bearing-display' }, formatBearing(props.value || '0'))),
1472
1320
  showError && React__default.createElement("p", null, error))));
1473
1321
  };
1474
- var LuiBearingFormikInput = function (props) {
1475
- var ctx = useFormikContext();
1476
- var _a = useState(null), error = _a[0], setError = _a[1];
1322
+ const LuiBearingFormikInput = (props) => {
1323
+ let ctx = useFormikContext();
1324
+ const [error, setError] = useState(null);
1477
1325
  function validateBearing() {
1478
1326
  return error;
1479
1327
  }
@@ -1481,8 +1329,8 @@ var LuiBearingFormikInput = function (props) {
1481
1329
  setError(error);
1482
1330
  }
1483
1331
  return (React__default.createElement(React__default.Fragment, null,
1484
- React__default.createElement(Field, { name: props.name, validate: validateBearing }, function (renderProps) {
1485
- 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 }));
1486
1334
  })));
1487
1335
  };
1488
1336
 
@@ -1490,7 +1338,7 @@ var LinzLogoFooter = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
1490
1338
 
1491
1339
  var NzGovtLogoRev = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjIwIiB2aWV3Qm94PSIwIDAgMTkwIDIwIj4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGlkPSJhIiBkPSJNMCAwaDE4OS41NzJ2MTkuMzEySDB6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9Ii43Ij4KICAgICAgICA8bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2EiLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZFRkVGRSIgZD0iTTgzLjEzOSAxMy44MTNIODEuMzFWNy4wMjFjMC0uOTA0LS4wODItMS4yMjYtLjMyMy0xLjU0Ny0uMi0uMjYxLS41NjItLjQwMi0xLjAyNC0uNDAyLS43MjQgMC0xLjgxLjU2My0yLjQ5MiAxLjI4NnY3LjQ1NWgtLjkzYy0uNTg2IDAtLjktLjQ0LS45LTEuMTI3VjYuMzE4YzAtMS4yMDYtLjEtMS42NjgtLjM4MS0yLjM5MmwxLjc0OS0uNDgyYy4yNC40ODIuMzQyLjkyNC4zNDIgMS41NDcuNTgyLS40ODIuODg0LS43NDMgMS4zMDYtLjk4NGEzLjczMiAzLjczMiAwIDAgMSAxLjg2OS0uNTAyYzEuMDY0IDAgMi4wMDkuNTYyIDIuMzcgMS40MjYuMTYxLjM2Mi4yNDIuODA0LjI0MiAxLjI2N3Y3LjYxNXptOC4wNTQtMi41NTJWNS45OTZjLS41MjItLjYyMy0xLjE4Ni0uOTQ0LTIuMTMtLjk0NC0uNzYzIDAtMS4zNjcuMzgxLTEuNzQ4IDEuMDI1LS4zODIuNjYyLS41MjMgMS40NjctLjUyMyAyLjc3MyAwIDEuOTUuMjQxIDIuNDkyLjc4NCAzLjA1NC4zNDEuMzYyLjgwNC41MjMgMS40ODcuNTIzIDEuMDY1IDAgMS43ODktLjU2MyAyLjEzLTEuMTY2em0yLjE1IDIuNTUyaC0xLjc2OGMtLjEtLjMwMS0uMTItLjQ0Mi0uMTgxLS45NDQtLjcwMy43NDQtMS41MjggMS4xMDUtMi41OTIgMS4xMDUtMi41NzIgMC00LjA4LTEuOTI5LTQuMDgtNS4xMDQgMC0yLjE3Ljc0NC0zLjgzOCAyLjExLTQuNzIzYTMuNDc3IDMuNDc3IDAgMCAxIDEuOTctLjU4MmMuOTY0IDAgMS43NjguMzQxIDIuNDUxIDEuMTY2IDAtLjI4Mi0uMDQtMS44MTktLjA0LTIuNTAyVi4xNDNsMS44NDkuMzAxdjkuOTk0YzAgMS42MjcuMDYgMi43NTMuMjgxIDMuMzc1ek03MS44NiA4Ljg3Yy0uMjgyLS4wMi0uNDQyLS4wNC0uNjAzLS4wNC0xLjM4NyAwLTIuMjMuMjYxLTIuNjMzLjcyMy0uMzgxLjQ0My0uNTIyLjgwNC0uNTIyIDEuNDY3IDAgMS4xMDYuNTYzIDEuNzQ5IDEuNTg4IDEuNzQ5Ljg0MyAwIDEuNjQ4LS41MjMgMi4xMS0xLjMyN2wuMDYtMi41NzJ6bTIuNjEyIDQuMTJsLS45NDQgMS4yNDVjLS42MjMtLjI0LTEuMTA2LS43NDMtMS4zNDctMS40NDctLjI2LjMyMi0xLjEwNSAxLjMyNy0yLjg1MyAxLjMyNy0yLjAxIDAtMy4yNTUtMS4wMjUtMy4yNTUtMi45NTQgMC0yLjMzMSAxLjg2OC0zLjU3NyA1LjEyNC0zLjU3Ny4yNCAwIC40NDIgMCAuNzAzLjAyVjYuOTRjMC0xLjE4Ni0uMTYtMS45OS0xLjU2Ny0xLjk5LTEuMDY1IDAtMi4yNzIuNTIzLTMuMDk1IDEuMTQ2bC0uODQ0LTEuMzI3Yy45ODUtLjU2MiAyLjI3LTEuMzI2IDQuMjItMS4zMjYgMS40NjcgMCAyLjUzMi41NDMgMi45MTQgMS42MDguMTYuNDQyLjIuNzg0LjIgMS43NjggMCAuNzI0LS4wOCAyLjI3MS0uMDggMy43MzggMCAxLjM4Ny4wNCAxLjk1LjgyNCAyLjQzMnptLTkuMTcxLjgwM2EyLjcxIDIuNzEgMCAwIDEtMS4xNDYuMjIxYy0uNzIzIDAtMS4xODYtLjIyLTEuNTY3LS43NjMtLjMwMS0uNDIyLS4zODItLjc2NC0uMzgyLTEuNzQ5VjMuMjk1YzAtMS40MjYtLjA2LTIuMTEtLjIyMS0yLjg5M0w2My45MTUgMGMuMTguNjYzLjE4IDEuNjI4LjE4IDIuODc0djguMTQ2YzAgMS4wNjUuMDYgMS4zMDYuMjYxIDEuNDg3LjEyMS4xNDEuNDAyLjIwMS42MjMuMTQxbC4zMjIgMS4xNDV6TTU4LjI2NyA4Ljg3Yy0uMjgtLjAyLS40NDItLjA0LS42MDItLjA0LTEuMzg3IDAtMi4yMy4yNjEtMi42MzMuNzIzLS4zODIuNDQzLS41MjMuODA0LS41MjMgMS40NjcgMCAxLjEwNi41NjMgMS43NDkgMS41ODggMS43NDkuODQ0IDAgMS42NDgtLjUyMyAyLjExLTEuMzI3bC4wNi0yLjU3MnptMi42MTMgNC4xMmwtLjk0NCAxLjI0NWMtLjYyMy0uMjQtMS4xMDYtLjc0My0xLjM0Ny0xLjQ0Ny0uMjYuMzIyLTEuMTA1IDEuMzI3LTIuODU0IDEuMzI3LTIuMDA5IDAtMy4yNTUtMS4wMjUtMy4yNTUtMi45NTQgMC0yLjMzMSAxLjg2OS0zLjU3NyA1LjEyNC0zLjU3Ny4yNDEgMCAuNDQzIDAgLjcwNC4wMlY2Ljk0YzAtMS4xODYtLjE2MS0xLjk5LTEuNTY4LTEuOTktMS4wNjUgMC0yLjI3LjUyMy0zLjA5NSAxLjE0NmwtLjg0My0xLjMyN2MuOTg0LS41NjIgMi4yNy0xLjMyNiA0LjIyLTEuMzI2IDEuNDY2IDAgMi41MzIuNTQzIDIuOTE0IDEuNjA4LjE2LjQ0Mi4yLjc4NC4yIDEuNzY4IDAgLjcyNC0uMDggMi4yNzEtLjA4IDMuNzM4IDAgMS4zODcuMDQgMS45NS44MjQgMi40MzJ6TTQ5LjQ2MSA3LjgwNWMwLS45NjQtLjIyLTEuNzY4LS42MjItMi4yNzFhMS44MSAxLjgxIDAgMCAwLTEuNDQ3LS43MDNjLTEuNDA3IDAtMi4xMSAxLjE0Ni0yLjExIDIuOTc0aDQuMTh6bTEuOTMgMS4zNjZoLTYuMTN2LjI0MmMwIC44NjMuMTIxIDEuNTI3LjQyMyAyLjAxLjUyMi44MDMgMS4zNDUgMS4xODUgMi4zMSAxLjE4NS45NDUgMCAxLjc0OS0uMzIyIDIuNDcyLS45NjVsLjcwNCAxLjEwNmMtLjk4Ni44NjQtMi4xNyAxLjI4NS0zLjQ3NyAxLjI4NS0yLjc5MyAwLTQuNTAyLTIuMDI5LTQuNTAyLTUuMzI0IDAtMS43NDkuMzQyLTIuODc0IDEuMjA2LTMuOS44MDQtLjk0NCAxLjc4OS0xLjM4NiAzLjAzNS0xLjM4NiAxLjEyNSAwIDIuMDMuMzYyIDIuNzMzIDEuMDg1Ljg4NC45MDUgMS4yMDUgMi4wMyAxLjIyNiA0LjM0di4zMjJ6TTMyLjY0IDMuNzQ2bC0yLjgxMyAxMC4xNDhIMjguMDRsLTEuNDY3LTUuNDg2Yy0uMTgtLjcwMy0uNjIzLTIuMzcxLS42MjMtMi4zNzFoLS4wNnMtLjQwMiAxLjcwOC0uNTQyIDIuMjVsLTEuNTA4IDUuNjA3aC0xLjc2OEwxOS4zMTggMy44MjZsMS44NjgtLjMwMSAxLjI4NyA1LjY0NmMuMjIgMS4wMDUuNTIyIDIuNDcyLjUyMiAyLjQ3MmguMDYxcy4yMi0xLjQyNi40NjItMi4yOWwxLjUyNy01LjYwN2gxLjkxTDI4LjM2IDkuMTljLjI4MSAxLjA4NS41NjIgMi4zNTIuNTYyIDIuNDUyaC4wOGMwLS4xLjMyMi0xLjcyOC40NjMtMi4zOWwxLjI0Ni01LjUwN2gxLjkzem0tMTUuODIgNC4wNmMwLS45NjUtLjIyLTEuNzctLjYyMy0yLjI3MmExLjgwNyAxLjgwNyAwIDAgMC0xLjQ0Ni0uNzAzYy0xLjQwNyAwLTIuMTEgMS4xNDYtMi4xMSAyLjk3NGg0LjE4em0xLjkzIDEuMzY1aC02LjEzdi4yNDJjMCAuODYzLjEyMSAxLjUyNy40MjMgMi4wMS41MjMuODAzIDEuMzQ2IDEuMTg1IDIuMzEgMS4xODUuOTQ1IDAgMS43NDktLjMyMiAyLjQ3Mi0uOTY1bC43MDMgMS4xMDZjLS45ODQuODY0LTIuMTcgMS4yODUtMy40NzYgMS4yODUtMi43OTMgMC00LjUwMS0yLjAyOS00LjUwMS01LjMyNCAwLTEuNzQ5LjM0MS0yLjg3NCAxLjIwNS0zLjkuODA0LS45NDQgMS43OS0xLjM4NiAzLjAzNS0xLjM4NiAxLjEyNSAwIDIuMDMuMzYyIDIuNzMzIDEuMDg1Ljg4NC45MDUgMS4yMDUgMi4wMyAxLjIyNiA0LjM0di4zMjJ6bTE3MC44MjItNS4zOTZsLS41IDEuM2gtMS45OHY2LjAzOWMwIDEuMjQuMyAxLjYyIDEuMyAxLjYyLjM0IDAgLjYyLS4wNi45MzktLjJsLjIyIDEuMTJjLS41Ni4yOC0xLjE2LjQyLTEuODIuNDItLjY2IDAtMS4zNzktLjItMS43LS41LS40MTktLjM4MS0uNzQtLjU4LS43NC0yLjA0di02LjQ2aC0xLjE5OHYtMS4zaDEuMTk5YzAtLjc3OS4wMi0xLjguMTItMi41NTlsMS45LS40NGMtLjA4LjcyLS4xOCAxLjk4LS4xOCAzaDIuNDR6bS02Ljc3NSAxMC4wMThoLTEuODJWNy4wMzVjMC0uOS0uMDgtMS4yMi0uMzE5LTEuNTQtLjItLjI2LS41Ni0uNC0xLjAyLS40LS43MiAwLTEuOC41Ni0yLjQ4IDEuMjh2Ny40MThoLTEuODJWNi4zMzRjMC0xLjItLjEtMS42NTktLjM4LTIuMzhsMS43NC0uNDc5Yy4yNC40OC4zNC45Mi4zNCAxLjU0LjU4LS40OC44OC0uNzQgMS4zLS45OC41OC0uMzQgMS4yNC0uNSAxLjg2LS41IDEuMDYgMCAxLjk5OS41NiAyLjM2IDEuNDIuMTU5LjM2LjI0LjguMjQgMS4yNnY3LjU3OHptLTEwLjk4My01Ljk3OWMwLS45Ni0uMjItMS43Ni0uNjItMi4yNi0uMzItLjQtLjgtLjctMS40NC0uNy0xLjM5OSAwLTIuMSAxLjE0LTIuMSAyLjk2aDQuMTZ6bTEuOTIgMS4zNmgtNi4xdi4yNGMwIC44Ni4xMiAxLjUyLjQyIDIgLjUyMS44IDEuMzQgMS4xOCAyLjMgMS4xOC45NCAwIDEuNzQtLjMyIDIuNDYtLjk2bC43IDEuMWMtLjk4Ljg2LTIuMTYgMS4yOC0zLjQ2IDEuMjgtMi43OCAwLTQuNDc5LTIuMDItNC40NzktNS4zIDAtMS43NC4zNC0yLjg2IDEuMi0zLjg4LjgtLjk0IDEuNzgtMS4zNzkgMy4wMi0xLjM3OSAxLjEyIDAgMi4wMi4zNiAyLjcyIDEuMDguODguOSAxLjE5OSAyLjAyIDEuMjE5IDQuMzJ2LjMxOXptLTkuNTc3IDQuNjJoLTEuODJ2LTcuMThjMC0xLjE0LS4zNi0xLjU0LTEuMi0xLjU0LS45MiAwLTEuNTguNi0yLjMzOSAxLjM2djcuMzZoLTEuOHYtNy4xNGMwLTEuMTItLjMyLTEuNTQtMS4yNC0xLjU0LS42OCAwLTEuNDQuMzQtMi4zIDEuMTZ2Ny41MmgtMS44MnYtNy4zNmMwLTEuNDItLjA4LTEuOC0uMzU5LTIuNDk5bDEuNzItLjQyYy4yLjM0LjM0Ljg0LjM0IDEuNC44Ni0uOSAxLjg4LTEuNDIgMi44MTktMS40Mi45NCAwIDEuODguNSAyLjM4IDEuNTggMS0xLjA2IDIuMDQtMS41OCAzLjA2LTEuNTggMS41NTkgMCAyLjU1OS45OCAyLjU1OSAyLjgydjcuNDc4em0tMTQuMzk3IDBoLTEuODJ2LTYuNzZjMC0uODk5LS4wOC0xLjIyLS4zMi0xLjU0LS4yLS4yNi0uNTYtLjQtMS4wMi0uNC0uNzIgMC0xLjc5OS41Ni0yLjQ4IDEuMjh2Ny40MmgtMS44MnYtNy40NmMwLTEuMi0uMDk5LTEuNjU5LS4zNzktMi4zOGwxLjc0LS40NzljLjI0LjQ4LjM0LjkyLjM0IDEuNTQuNTgtLjQ4Ljg4LS43NCAxLjMtLjk4LjU4LS4zNCAxLjI0LS41IDEuODYtLjUgMS4wNTkgMCAxLjk5OS41NiAyLjM2IDEuNDIuMTU5LjM2LjIzOS44LjIzOSAxLjI2djcuNTc4em0tOC43ODItMTAuMjM5bC0uNjQgMS44NGExLjUgMS41IDAgMCAwLS41Mi0uMWMtMS4xMiAwLTIuMDc5Ljk0LTIuMDc5IDIuMDM5djYuNDZoLTEuODR2LTcuMzZjMC0xLjIyLS4xNC0xLjg4LS4zOC0yLjQ5OWwxLjc4LS40NmMuMTguMzguMzQgMS4wNC4zNCAxLjU0di4xOGMuOC0xLjE2IDEuNjYtMS43NCAyLjcyLTEuNzQuMjQgMCAuNDYuMDQuNjIuMXptLTguNjAzIDQuMjU5YzAtLjk2LS4yMi0xLjc2LS42Mi0yLjI2LS4zMi0uNC0uOC0uNy0xLjQ0LS43LTEuMzk5IDAtMi4xIDEuMTQtMi4xIDIuOTZoNC4xNnptMS45MiAxLjM2aC02LjF2LjI0YzAgLjg2LjEyIDEuNTIuNDIxIDIgLjUyLjggMS4zNCAxLjE4IDIuMyAxLjE4LjkzOSAwIDEuNzQtLjMyIDIuNDU5LS45NmwuNyAxLjFjLS45OC44Ni0yLjE2IDEuMjgtMy40NiAxLjI4LTIuNzc5IDAtNC40NzktMi4wMi00LjQ3OS01LjMgMC0xLjc0LjM0LTIuODYgMS4yLTMuODguOC0uOTQgMS43OC0xLjM3OSAzLjAyLTEuMzc5IDEuMTIgMCAyLjAyLjM2IDIuNzE5IDEuMDguODguOSAxLjIgMi4wMiAxLjIyIDQuMzJ2LjMxOXptLTguMzczLTUuNGwtMy42NTkgMTAuMWgtMS43MmwtMy41OC0xMC4wNiAxLjktLjMgMS45OCA2LjA2Yy4yMi42OC40NCAxLjQ4LjYgMi4xNi4xNi0uNi4zNi0xLjM4LjY0LTIuMmwxLjktNS43NmgxLjk0em0tMTEuMjU4IDUuMThjMC0zLjEtLjktNC4wNC0yLjM0LTQuMDQtMS42IDAtMi4yNTkgMS4xNC0yLjI1OSAzLjY2IDAgMy4wNi43OCA0LjA4IDIuMzQgNC4wOCAxLjQgMCAyLjI2LTEuMDggMi4yNi0zLjd6bTIuMDYtLjA4YzAgMy4xOC0xLjcgNS4yLTQuMzYgNS4yLTIuNjc5IDAtNC4zNC0yLjA0LTQuMzQtNS4zIDAtMy4yNCAxLjY2MS01LjI4IDQuMy01LjI4IDIuOTYgMCA0LjQgMi4zNiA0LjQgNS4zOHptLTEwLjAyNSA0LjAyYy0xLjEyLjctMi42MiAxLjEtNC4wOCAxLjEtMS44NCAwLTMuMy0uNjItNC4zNTgtMS44Ni0xLjEtMS4yOC0xLjYtMi45LTEuNi01LjE2IDAtMS45MTMuOC00LjEwMyAyLjM4LTUuNDAzLjk5OC0uODIgMi4wOTktMS4xOCAzLjQ1OS0xLjE4IDEuNSAwIDIuODE5LjQ0IDMuODk5IDEuMzhsLS45MiAxLjJjLTEuMDItLjc0LTEuODgtMS4wNC0yLjk0LTEuMDQtMS4zMiAwLTIuMjk4LjU1Mi0yLjk1OSAxLjc2LS40ODEuODgtLjc2IDEuNzQ0LS43NiAzLjM4MyAwIDEuOS4zNCAzLjMyLjk4IDQuMTYuNi43OCAxLjc4IDEuMjQgMi45NiAxLjI0Ljc3OSAwIDEuNDgtLjIgMi4wNC0uNTJ2LTMuOTJoLTIuNTRsLS4zMi0xLjU4aDQuNzU5djYuNDR6bS02My4yMy0uMzc0bC0uNDggMS42aC04LjIxOHYtMS40OGw1LjU1OS04Ljc4MmMuMy0uNTIuNy0xLjA2Ljk4LTEuNDItLjQuMDQtLjkuMDYtMS41OC4wNmgtNC43MTlsLjQ2LTEuNmg3LjkxOHYxLjU0bC01LjQ5OSA4Ljc4M2MtLjMuNTItLjYyLjkyLS44NiAxLjMyLjQyLS4wMi44OC0uMDIgMS4zOC0uMDJoNS4wNnpNOS4xOTQgMTMuOTU3aC0yLjA2bC0zLjYyLTcuMzE5Yy0uNy0xLjQyLTEuNDE5LTIuOTgtMS42NzktMy43OGwtLjEyLjAyYy4xIDEuMTguMTQgMi41Ni4xNiAzLjg0bC4wOCA3LjIzOWgtLjc1NmMtLjg3MyAwLTEuMTg0LS44NDQtMS4xODQtMS43OTZWLjE4aDIuMjRsMy44NCA3LjU5OWMuNTggMS4xNCAxLjI2IDIuOTIgMS4zNiAzLjNsLjEyLS4wNDFjLS4wNC0uNC0uMi0yLjU4LS4yLTQuMUw3LjMzMy4xOGgxLjg2djEzLjc3OHpNMCAxOC4zNTlzMjMuOTA5LTIuNjk5IDQ2LjUyMy0yLjY5OWMyMy4xIDAgNDcuMTUgMi43IDQ3LjE1IDIuN3YuOTUycy0yNC4yMS0yLjU1OS00Ny4xNDYtMi41NTlDMjMuOTEgMTYuNzUzIDAgMTkuMzEzIDAgMTkuMzEzdi0uOTU0eiIgbWFzaz0idXJsKCNiKSIvPgogICAgPC9nPgo8L3N2Zz4=';
1492
1340
 
1493
- var LuiFooter = function (props) {
1341
+ const LuiFooter = (props) => {
1494
1342
  return (React__default.createElement("footer", { className: 'lui-footer' },
1495
1343
  React__default.createElement("div", { className: 'lui-footer-columns' },
1496
1344
  React__default.createElement("h2", null, props.footerText),
@@ -24983,49 +24831,47 @@ var loaderDataChristmas = {
24983
24831
  * Very trivial react wrapper for Lottie-web light. Using lottie-web directly rather than with `react-lottie` or
24984
24832
  * `lottie-react` reduces our bundle size and enables use to use lottie-web in light mode.
24985
24833
  */
24986
- var LuiLottieLight = function (_a) {
24987
- var animationData = _a.animationData, style = _a.style, rendererSettings = _a.rendererSettings, autoplay = _a.autoplay, loop = _a.loop;
24988
- var element = React__default.useRef(null);
24989
- var lottieInstance = React__default.useRef();
24990
- 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(() => {
24991
24838
  if (element.current) {
24992
24839
  lottieInstance.current = lottie.loadAnimation({
24993
- animationData: animationData,
24840
+ animationData,
24994
24841
  container: element.current,
24995
- rendererSettings: rendererSettings,
24996
- autoplay: autoplay,
24997
- loop: loop
24842
+ rendererSettings,
24843
+ autoplay,
24844
+ loop,
24998
24845
  });
24999
24846
  }
25000
- return function () {
25001
- var _a;
25002
- (_a = lottieInstance.current) === null || _a === void 0 ? void 0 : _a.destroy();
24847
+ return () => {
24848
+ lottieInstance.current?.destroy();
25003
24849
  };
25004
24850
  }, [animationData, autoplay, loop, rendererSettings]);
25005
24851
  return React__default.createElement("div", { style: style, ref: element });
25006
24852
  };
25007
24853
 
25008
24854
  // This prevents spinners from animating and causing diffs in chromatic
25009
- var autoplay = !isChromatic();
25010
- var style = { height: 148, width: 148 };
25011
- var renderSettings = {
25012
- preserveAspectRatio: 'xMidYMid slice'
24855
+ const autoplay = !isChromatic();
24856
+ const style = { height: 148, width: 148 };
24857
+ const renderSettings = {
24858
+ preserveAspectRatio: 'xMidYMid slice',
25013
24859
  };
25014
- var LuiLoadingSpinnerBase = function (props) {
24860
+ const LuiLoadingSpinnerBase = (props) => {
25015
24861
  return (React__default.createElement("div", { style: {
25016
24862
  position: 'absolute',
25017
24863
  top: '50%',
25018
24864
  left: '50%',
25019
24865
  zIndex: 1000,
25020
24866
  marginLeft: '-74px',
25021
- marginTop: '-74px'
24867
+ marginTop: '-74px',
25022
24868
  }, "data-testid": "loading-spinner" },
25023
24869
  React__default.createElement(LuiLottieLight, { animationData: props.animationData, loop: true, autoplay: autoplay, rendererSettings: renderSettings, style: style })));
25024
24870
  };
25025
24871
  /**
25026
24872
  * A LuiSpinner with a status message beneath it.
25027
24873
  */
25028
- var LuiStatusSpinner = function (props) {
24874
+ const LuiStatusSpinner = (props) => {
25029
24875
  return (React__default.createElement("div", { className: 'LuiStatusSpinner' },
25030
24876
  React__default.createElement(LuiLoadingSpinner, null),
25031
24877
  React__default.createElement("div", { style: {
@@ -25033,32 +24879,32 @@ var LuiStatusSpinner = function (props) {
25033
24879
  top: '50%',
25034
24880
  left: '50%',
25035
24881
  marginLeft: '-150px',
25036
- marginTop: '74px'
24882
+ marginTop: '74px',
25037
24883
  } },
25038
24884
  React__default.createElement("div", { style: {
25039
24885
  textAlign: 'center',
25040
- width: '300px'
24886
+ width: '300px',
25041
24887
  } }, props.children))));
25042
24888
  };
25043
- var LuiMiniSpinner = function (props) {
25044
- return (React__default.createElement("div", __assign({}, props.divProps),
24889
+ const LuiMiniSpinner = (props) => {
24890
+ return (React__default.createElement("div", { ...props.divProps },
25045
24891
  React__default.createElement(LuiLottieLight, { animationData: loaderData, loop: true, autoplay: autoplay, rendererSettings: {
25046
- preserveAspectRatio: 'xMidYMid slice'
24892
+ preserveAspectRatio: 'xMidYMid slice',
25047
24893
  }, style: { height: props.size, width: props.size } })));
25048
24894
  };
25049
- var LuiLoadingSpinner = function () {
24895
+ const LuiLoadingSpinner = () => {
25050
24896
  return React__default.createElement(LuiLoadingSpinnerBase, { animationData: loaderData });
25051
24897
  };
25052
- var LuiLoadingSpinnerEaster = function () {
24898
+ const LuiLoadingSpinnerEaster = () => {
25053
24899
  return React__default.createElement(LuiLoadingSpinnerBase, { animationData: loaderDataEaster });
25054
24900
  };
25055
- var LuiLoadingSpinnerChristmas = function () {
24901
+ const LuiLoadingSpinnerChristmas = () => {
25056
24902
  return React__default.createElement(LuiLoadingSpinnerBase, { animationData: loaderDataChristmas });
25057
24903
  };
25058
24904
  // this function was extracted from chromatic/isChromatic. It was causing TS issues for the consumer
25059
24905
  function isChromatic() {
25060
- return !!((window === null || window === void 0 ? void 0 : window.navigator.userAgent.match(/Chromatic/)) ||
25061
- (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/));
25062
24908
  }
25063
24909
 
25064
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}";
@@ -25169,61 +25015,114 @@ var CreatableSelect = /*#__PURE__*/React__default.forwardRef(function (props, re
25169
25015
  /**
25170
25016
  * A wrapper around React Select with Lui styling
25171
25017
  */
25172
- var LuiComboSelect = forwardRef(LuiComboSelectActual);
25018
+ const LuiComboSelect = forwardRef(LuiComboSelectActual);
25173
25019
  // declare the indicator in here so it gets the types from
25174
25020
  // the function declaration
25175
- var LuiLoadingIndicator = function () { return React__default.createElement(LuiMiniSpinner, { size: 25 }); };
25021
+ const LuiLoadingIndicator = () => React__default.createElement(LuiMiniSpinner, { size: 25 });
25176
25022
  function LuiComboSelectActual(givenProps, ref) {
25177
- var props = Object.assign({
25178
- noOptionsMessage: function (i) {
25179
- return "No options found containing '".concat(i.inputValue, "'");
25180
- }
25023
+ const props = Object.assign({
25024
+ noOptionsMessage: (i) => `No options found containing '${i.inputValue}'`,
25181
25025
  }, givenProps);
25182
- props.components = __assign({ LoadingIndicator: LuiLoadingIndicator }, props.components);
25026
+ props.components = {
25027
+ LoadingIndicator: LuiLoadingIndicator,
25028
+ ...props.components,
25029
+ };
25183
25030
  // box-shadow: "-8px 0px 0 0 #cc0000";
25184
25031
  // border-radius: "4px";
25185
- var id = useGenerateOrDefaultId(props === null || props === void 0 ? void 0 : props.id);
25186
- 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: {
25187
- 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,
25188
25062
  /* matches style of .LuiTextInput-input */
25189
- boxShadow: 'none', border: state.isFocused ? '1px solid #053d52' : '1px solid #b2b2b2', '&:hover, &:active': {
25190
- borderColor: '#053d52'
25191
- } })); },
25192
- dropdownIndicator: function (provided) { return (__assign(__assign({}, provided), { color: css_248z$4['fuscous'] })); },
25193
- indicatorSeparator: function (provided) { return (__assign(__assign({}, provided), { width: 0 })); },
25194
- input: function (provided) { return (__assign(__assign({}, provided), { height: '40px', minHeight: '40px', fontWeight: 400, input: {
25195
- height: '38px !important'
25196
- } })); },
25197
- singleValue: function (provided) { return (__assign(__assign({}, provided), { color: '#414042', fontWeight: 400 })); },
25198
- placeholder: function (provided) { return (__assign(__assign({}, provided), {
25063
+ boxShadow: 'none',
25064
+ border: state.isFocused ? '1px solid #053d52' : '1px solid #b2b2b2',
25065
+ '&:hover, &:active': {
25066
+ borderColor: '#053d52',
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: {
25083
+ height: '38px !important',
25084
+ },
25085
+ }),
25086
+ singleValue: (provided) => ({
25087
+ ...provided,
25088
+ color: '#414042',
25089
+ fontWeight: 400,
25090
+ }),
25091
+ placeholder: (provided) => ({
25092
+ ...provided,
25199
25093
  /* please keep this in sync with FormVars.scss/mixin.formPlaceholder */
25200
- fontWeight: 'normal', fontStyle: 'italic', color: css_248z$4['input-placeholder'] })); },
25201
- option: function (provided, _a) {
25202
- var isSelected = _a.isSelected;
25203
- return (__assign(__assign({}, provided), { color: css_248z$4['input-text'], backgroundColor: isSelected ? css_248z$4['selection'] : css_248z$4['white'] }));
25204
- }
25205
- } });
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
+ };
25206
25105
  return (React__default.createElement("label", { htmlFor: id, className: clsx('LuiComboSelect-label', props.error && 'hasError') },
25207
25106
  React__default.createElement("span", { className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
25208
- 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 })),
25209
25108
  props.error && (React__default.createElement("span", { className: "LuiComboSelect-error" },
25210
25109
  React__default.createElement(LuiIcon, { alt: 'Error', name: "ic_error", className: "LuiComboSelect-error-icon", size: "sm", status: "error" }),
25211
25110
  props.error))));
25212
25111
  }
25213
25112
 
25214
- var LuiShadow = function (props) {
25113
+ const LuiShadow = (props) => {
25215
25114
  return (React__default.createElement("div", { className: clsx('LuiShadow', props.className) }, props.children));
25216
25115
  };
25217
25116
 
25218
- 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') },
25219
25118
  React__default.createElement(LuiIcon, { name: "ic_error_outline", className: 'HelpInfo-icon', size: "sm", alt: "Extra Information" }),
25220
- React__default.createElement("div", { className: 'HelpInfo-info' }, props.info))); };
25119
+ React__default.createElement("div", { className: 'HelpInfo-info' }, props.info)));
25221
25120
 
25222
- var LuiFormSectionHeader = function (props) { return (React__default.createElement("div", { className: "LuiFormSectionHeader" },
25121
+ const LuiFormSectionHeader = (props) => (React__default.createElement("div", { className: "LuiFormSectionHeader" },
25223
25122
  React__default.createElement("div", { className: "LuiFormSectionHeader-header" },
25224
25123
  React__default.createElement("h3", { className: "LuiFormSectionHeader-heading" }, props.header),
25225
25124
  props.details && React__default.createElement(HelpInfo, { info: props.details })),
25226
- React__default.createElement(LuiShadow, { className: 'LuiFormSectionHeader-details' }, props.children))); };
25125
+ React__default.createElement(LuiShadow, { className: 'LuiFormSectionHeader-details' }, props.children)));
25227
25126
 
25228
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+';
25229
25128
 
@@ -25234,15 +25133,15 @@ var motif = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id
25234
25133
  *
25235
25134
  * @param onEscape the handler function
25236
25135
  */
25237
- var useEscapeFunction = function (onEscape) {
25238
- var escFunction = useCallback(function (event) {
25136
+ const useEscapeFunction = (onEscape) => {
25137
+ const escFunction = useCallback((event) => {
25239
25138
  if (event.keyCode === 27) {
25240
25139
  onEscape();
25241
25140
  }
25242
25141
  }, [onEscape]);
25243
- useEffect(function () {
25142
+ useEffect(() => {
25244
25143
  document.addEventListener('keydown', escFunction, false);
25245
- return function () {
25144
+ return () => {
25246
25145
  document.removeEventListener('keydown', escFunction, false);
25247
25146
  };
25248
25147
  }, [escFunction]);
@@ -25255,14 +25154,13 @@ var useEscapeFunction = function (onEscape) {
25255
25154
  * @param onClickOutsideArg handler for mouse clicks outside the element
25256
25155
  * @return a react ref which can be bound to an html element
25257
25156
  */
25258
- var usePageClickFunction = function (onClickInsideArg, onClickOutsideArg) {
25259
- var elementRef = useRef(null);
25260
- var onClickInside = useCallback(onClickInsideArg, []);
25261
- var onClickOutside = useCallback(onClickOutsideArg, []);
25262
- useEffect(function () {
25263
- var handleClick = function (e) {
25264
- var _a;
25265
- 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)) {
25266
25164
  onClickInside(e);
25267
25165
  }
25268
25166
  else {
@@ -25272,18 +25170,17 @@ var usePageClickFunction = function (onClickInsideArg, onClickOutsideArg) {
25272
25170
  // add when mounted
25273
25171
  document.addEventListener('click', handleClick);
25274
25172
  // return function to be called when unmounted
25275
- return function () {
25173
+ return () => {
25276
25174
  document.removeEventListener('click', handleClick);
25277
25175
  };
25278
25176
  }, [elementRef, onClickInside, onClickOutside]);
25279
25177
  return elementRef;
25280
25178
  };
25281
25179
 
25282
- var sizes = ['xs', 'sm', 'md', 'lg', 'xl'];
25283
- var buildHideClassDict = function (_a) {
25284
- var _b = _a.from, from = _b === void 0 ? 'xs' : _b, _c = _a.upto, upto = _c === void 0 ? 'xl' : _c;
25285
- var inRange = function (size) {
25286
- 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);
25287
25184
  return idx >= sizes.indexOf(from) && idx <= sizes.indexOf(upto);
25288
25185
  };
25289
25186
  return {
@@ -25291,19 +25188,18 @@ var buildHideClassDict = function (_a) {
25291
25188
  'lui-hide-sm': inRange('sm'),
25292
25189
  'lui-hide-md': inRange('md'),
25293
25190
  'lui-hide-lg': inRange('lg'),
25294
- 'lui-hide-xl': inRange('xl')
25191
+ 'lui-hide-xl': inRange('xl'),
25295
25192
  };
25296
25193
  };
25297
25194
 
25298
- var LuiHeader = function (_a) {
25299
- 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;
25300
- 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 }));
25301
- 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;
25302
25198
  if (typeof homeLink === 'string') {
25303
25199
  logoContainer = React__default.createElement("a", { href: homeLink }, logoElement);
25304
25200
  }
25305
25201
  else if (typeof homeLink === 'function') {
25306
- logoContainer = (React__default.createElement("div", { className: "clickable", onClick: function () {
25202
+ logoContainer = (React__default.createElement("div", { className: "clickable", onClick: () => {
25307
25203
  homeLink();
25308
25204
  } }, logoElement));
25309
25205
  }
@@ -25311,7 +25207,7 @@ var LuiHeader = function (_a) {
25311
25207
  'lui-header': true,
25312
25208
  'lui-header-transparent': transparent,
25313
25209
  'lui-header-small': size === 'small',
25314
- 'lui-header-sticky': sticky
25210
+ 'lui-header-sticky': sticky,
25315
25211
  }) },
25316
25212
  React__default.createElement("div", { className: "lui-header-row" },
25317
25213
  React__default.createElement("div", { className: "lui-header-col" },
@@ -25325,10 +25221,9 @@ var LuiHeader = function (_a) {
25325
25221
  * Note that it depends on it being rendered inside a LuiHeader for its styles to apply properly.
25326
25222
  * To configure the item for responsiveness, ensure to set any of the hideOn* properties.
25327
25223
  */
25328
- var LuiHeaderMenuItem = forwardRef(function (_a, ref) {
25329
- 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;
25330
- var menuItemClasses = clsx('lui-header-menu-item', hide && buildHideClassDict(hide));
25331
- 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;
25332
25227
  return (React__default.createElement("div", { className: menuItemClasses, ref: ref },
25333
25228
  React__default.createElement("div", { className: clsx('lui-header-menu-icon', onClick && 'clickable'), onClick: onClick, "data-testid": dataTestId },
25334
25229
  resolvedIcon && (React__default.createElement("i", { title: "Main menu", className: "material-icons-round md-36" }, resolvedIcon)),
@@ -25336,44 +25231,38 @@ var LuiHeaderMenuItem = forwardRef(function (_a, ref) {
25336
25231
  badge && React__default.createElement("div", { className: "badge" }, badge)),
25337
25232
  children));
25338
25233
  });
25339
- var LuiCloseableHeaderMenuContext = createContext({
25340
- isOpen: function () { return false; },
25341
- open: function () { },
25342
- close: function () { }
25234
+ const LuiCloseableHeaderMenuContext = createContext({
25235
+ isOpen: () => false,
25236
+ open: () => { },
25237
+ close: () => { },
25343
25238
  });
25344
- var LuiCloseableHeaderMenuItem = function (_a) {
25345
- var open = _a.open, setOpen = _a.setOpen, props = __rest(_a, ["open", "setOpen"]);
25346
- useEscapeFunction(function () { return setOpen(false); });
25347
- 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) => {
25348
25242
  if (!open) {
25349
25243
  event.stopPropagation();
25350
25244
  setOpen(false);
25351
25245
  }
25352
25246
  });
25353
- var menuControls = {
25354
- isOpen: function () { return open; },
25355
- open: function () { return setOpen(true); },
25356
- close: function () { return setOpen(false); }
25247
+ const menuControls = {
25248
+ isOpen: () => open,
25249
+ open: () => setOpen(true),
25250
+ close: () => setOpen(false),
25357
25251
  };
25358
- var menuItemProps = __assign({ onClick: function () { return menuControls.open(); } }, props);
25252
+ const menuItemProps = { onClick: () => menuControls.open(), ...props };
25359
25253
  return (React__default.createElement(LuiCloseableHeaderMenuContext.Provider, { value: menuControls },
25360
- React__default.createElement(LuiHeaderMenuItem, __assign({ ref: menuDiv }, menuItemProps), props.children)));
25254
+ React__default.createElement(LuiHeaderMenuItem, { ref: menuDiv, ...menuItemProps }, props.children)));
25361
25255
  };
25362
- var LuiMenuCloseButton = function (_a) {
25363
- var _b = _a.icon, icon = _b === void 0 ? 'close' : _b, hide = _a.hide, _c = _a["data-testid"], dataTestId = _c === void 0 ? 'close-button' : _c;
25364
- var menu = useContext(LuiCloseableHeaderMenuContext);
25365
- 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));
25366
25259
  return (React__default.createElement("i", { className: classes, onClick: menu.close, "data-testid": dataTestId }, icon));
25367
25260
  };
25368
25261
 
25369
- var LuiDrawerMenuOptions = function (_a) {
25370
- var children = _a.children;
25371
- return (React__default.createElement("div", { className: "lui-menu-drawer-options" }, children));
25372
- };
25373
- var LuiDrawerMenuOption = function (_a) {
25374
- var icon = _a.icon, label = _a.label, badge = _a.badge, _b = _a.onClick, onClick = _b === void 0 ? function () { } : _b;
25375
- var menu = useContext(LuiCloseableHeaderMenuContext);
25376
- 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: () => {
25377
25266
  menu.close();
25378
25267
  onClick();
25379
25268
  }, "data-testid": 'drawer-option' },
@@ -25382,12 +25271,17 @@ var LuiDrawerMenuOption = function (_a) {
25382
25271
  label),
25383
25272
  badge));
25384
25273
  };
25385
- var LuiDrawerMenu = function (_a) {
25386
- var restOfProps = __rest(_a, []);
25387
- var children = restOfProps.children, _b = restOfProps.hasStickyHeader, hasStickyHeader = _b === void 0 ? true : _b, menuPropsCopy = __rest(restOfProps, ["children", "hasStickyHeader"]);
25388
- var _c = useState(false), open = _c[0], setOpen = _c[1];
25389
- var closeableMenuProps = __assign(__assign({}, menuPropsCopy), { open: open, setOpen: setOpen, icon: open ? 'close' : 'menu', onClick: function () { return setOpen(!open); } });
25390
- 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(() => {
25391
25285
  // Support for non-sticky headers. Scroll back to top when menu is opened
25392
25286
  if (open && !hasStickyHeader) {
25393
25287
  window.scrollTo({ top: 0, behavior: 'smooth' });
@@ -25400,27 +25294,26 @@ var LuiDrawerMenu = function (_a) {
25400
25294
  document.body.classList.remove('lui-menu-drawer-open');
25401
25295
  }
25402
25296
  }, [open, hasStickyHeader]);
25403
- return (React__default.createElement(LuiCloseableHeaderMenuItem, __assign({}, closeableMenuProps),
25297
+ return (React__default.createElement(LuiCloseableHeaderMenuItem, { ...closeableMenuProps },
25404
25298
  React__default.createElement("div", { className: clsx({
25405
25299
  'lui-menu-drawer': true,
25406
- 'lui-menu-drawer-closed': !open
25300
+ 'lui-menu-drawer-closed': !open,
25407
25301
  }), "data-testid": 'drawer', "aria-hidden": !open }, children)));
25408
25302
  };
25409
- var LuiDropdownMenu = function (_a) {
25410
- var restOfProps = __rest(_a, []);
25411
- var children = restOfProps.children, menuPropsCopy = __rest(restOfProps, ["children"]);
25412
- var _b = useState(false), open = _b[0], setOpen = _b[1];
25413
- var closeableMenuProps = __assign(__assign({}, menuPropsCopy), { open: open, setOpen: setOpen });
25414
- 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 },
25415
25308
  React__default.createElement("div", { className: clsx({
25416
25309
  'lui-menu-dropdown lui-box-shadow': true,
25417
- 'lui-menu-dropdown-closed': !open
25310
+ 'lui-menu-dropdown-closed': !open,
25418
25311
  }), "data-testid": 'dropdown', "aria-hidden": !open },
25419
25312
  children,
25420
25313
  ' ')));
25421
25314
  };
25422
- var LuiDrawerMenuSection = function (props) {
25423
- var children = props.children, title = props.title, collapsible = props.collapsible;
25315
+ const LuiDrawerMenuSection = (props) => {
25316
+ const { children, title, collapsible } = props;
25424
25317
  return (React__default.createElement("div", null,
25425
25318
  collapsible && (React__default.createElement(LuiExpandableBanner, { label: title || '', className: "LuiDrawerMenuSection-header" }, children)),
25426
25319
  !collapsible && (React__default.createElement(React__default.Fragment, null,
@@ -25429,7 +25322,7 @@ var LuiDrawerMenuSection = function (props) {
25429
25322
  React__default.createElement("h3", null, title)))),
25430
25323
  children))));
25431
25324
  };
25432
- var LuiDrawerMenuDivider = function () {
25325
+ const LuiDrawerMenuDivider = () => {
25433
25326
  return React__default.createElement("hr", { className: "LuiDrawerMenuDivider" });
25434
25327
  };
25435
25328
 
@@ -27777,8 +27670,8 @@ function polyfill(Component) {
27777
27670
  }
27778
27671
 
27779
27672
  var reactLifecyclesCompat_es = /*#__PURE__*/Object.freeze({
27780
- __proto__: null,
27781
- polyfill: polyfill
27673
+ __proto__: null,
27674
+ polyfill: polyfill
27782
27675
  });
27783
27676
 
27784
27677
  var require$$6 = /*@__PURE__*/getAugmentedNamespace(reactLifecyclesCompat_es);
@@ -28071,30 +27964,29 @@ module.exports = exports["default"];
28071
27964
 
28072
27965
  var Modal = /*@__PURE__*/getDefaultExportFromCjs(lib.exports);
28073
27966
 
28074
- var LuiUpdatesSplashModal = function (props) {
28075
- var _a;
28076
- var node = useRef(null);
27967
+ const LuiUpdatesSplashModal = (props) => {
27968
+ const node = useRef(null);
28077
27969
  // We have to do this as the CSS takes over a lot of the page
28078
27970
  // https://medium.com/@pitipatdop/little-neat-trick-to-capture-click-outside-with-react-hook-ba77c37c7e82
28079
- var handleClickOutside = useCallback(function (e) {
27971
+ const handleClickOutside = useCallback((e) => {
28080
27972
  console.log('clicking anywhere');
28081
27973
  // current DOES have a contains!
28082
- if ((node === null || node === void 0 ? void 0 : node.current) && node.current.contains(e.target)) {
27974
+ if (node?.current && node.current.contains(e.target)) {
28083
27975
  // inside click
28084
27976
  return;
28085
27977
  }
28086
27978
  // outside click
28087
27979
  props.onClose();
28088
27980
  }, [props]);
28089
- useEffect(function () {
27981
+ useEffect(() => {
28090
27982
  document.addEventListener('mousedown', handleClickOutside);
28091
- return function () {
27983
+ return () => {
28092
27984
  document.removeEventListener('mousedown', handleClickOutside);
28093
27985
  };
28094
27986
  }, [handleClickOutside]);
28095
27987
  // process may be undefined, e.g. webpack 5 does not include a polyfill for it. Assume if process is undefined then
28096
27988
  // this isn't running in a test.
28097
- 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') {
28098
27990
  Modal.setAppElement('#root');
28099
27991
  }
28100
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' } } },
@@ -28108,12 +28000,11 @@ var LuiUpdatesSplashModal = function (props) {
28108
28000
  React__default.createElement("div", { className: 'lui-feature-text' }, props.children))));
28109
28001
  };
28110
28002
 
28111
- var LuiModal = function (props) {
28112
- var _a;
28113
- var node = useRef(null);
28114
- var handleClickOutside = useCallback(function (e) {
28003
+ const LuiModal = (props) => {
28004
+ const node = useRef(null);
28005
+ const handleClickOutside = useCallback((e) => {
28115
28006
  // current DOES have a contains!
28116
- if ((node === null || node === void 0 ? void 0 : node.current) && node.current.contains(e.target)) {
28007
+ if (node?.current && node.current.contains(e.target)) {
28117
28008
  // inside click
28118
28009
  return;
28119
28010
  }
@@ -28122,37 +28013,37 @@ var LuiModal = function (props) {
28122
28013
  props.onClose && props.onClose();
28123
28014
  }
28124
28015
  }, [props]);
28125
- useEffect(function () {
28016
+ useEffect(() => {
28126
28017
  document.addEventListener('mousedown', handleClickOutside);
28127
- return function () {
28018
+ return () => {
28128
28019
  document.removeEventListener('mousedown', handleClickOutside);
28129
28020
  };
28130
28021
  }, [handleClickOutside]);
28131
- var isTest = false;
28022
+ let isTest = false;
28132
28023
  // this is here for the tests
28133
28024
  if (typeof process !== 'undefined') {
28134
- 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';
28135
28026
  if (!isTest) {
28136
28027
  Modal.setAppElement('#root');
28137
28028
  }
28138
28029
  }
28139
- 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 && {
28140
- parentSelector: props.appendToElement
28141
- })),
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
+ }) },
28142
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) },
28143
28034
  props.headingText && (React__default.createElement(LuiModalHeader, { headingText: props.headingText, onClose: props.onClose })),
28144
28035
  React__default.createElement("div", { className: clsx(props.headingText && 'lui-modal-container') }, props.children))));
28145
28036
  };
28146
- var LuiAlertModal = function (props) {
28147
- var materialIcon = getMaterialIconForLevel(props.level);
28148
- return (React__default.createElement(LuiModal, { key: props.key, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick, onClose: props.onClose, className: clsx("lui-modal-".concat(props.level), props.className), appendToElement: props.appendToElement },
28149
- React__default.createElement(LuiIcon, { name: "ic_".concat(materialIcon), alt: "".concat(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" }),
28150
28041
  props.children));
28151
28042
  };
28152
- var LuiAlertModalButtons = function (props) {
28043
+ const LuiAlertModalButtons = (props) => {
28153
28044
  return React__default.createElement("div", { className: "modal-btn-row" }, props.children);
28154
28045
  };
28155
- var LuiModalHeader = function (props) {
28046
+ const LuiModalHeader = (props) => {
28156
28047
  return (React__default.createElement("header", { className: "lui-modal-header" }, props.headingText && (React__default.createElement("div", { className: "lui-modal-header-title" },
28157
28048
  React__default.createElement("h1", null, props.headingText),
28158
28049
  props.onClose && (React__default.createElement("button", { className: "lui-modal-header-close-btn", onClick: props.onClose },
@@ -28253,18 +28144,17 @@ function Skeleton({ count = 1, wrapper: Wrapper, className: customClassName, con
28253
28144
  : elements));
28254
28145
  }
28255
28146
 
28256
- var SKELETON_COUNT = 3;
28257
- var ResultsDisplay = function (_a) {
28258
- 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;
28259
- var ResultLine = function (result) {
28260
- var isSelected = result.id === selectedId;
28261
- 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)));
28262
28152
  };
28263
- var GroupedResult = function (result) {
28153
+ const GroupedResult = (result) => {
28264
28154
  return (React__default.createElement("div", null,
28265
28155
  React__default.createElement("div", { className: "LuiSearchInput-resultHeader" }, result.label),
28266
- result.items.map(function (item) {
28267
- 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 });
28268
28158
  })));
28269
28159
  };
28270
28160
  return (React__default.createElement("div", { className: "LuiSearchInput-results" },
@@ -28272,15 +28162,15 @@ var ResultsDisplay = function (_a) {
28272
28162
  React__default.createElement(Skeleton, { className: "LuiSearchInput-skeletonItem", count: SKELETON_COUNT }))),
28273
28163
  !isLoading &&
28274
28164
  isGroupedResult(results) &&
28275
- results.map(function (result, index) {
28165
+ results.map((result, index) => {
28276
28166
  return (React__default.createElement(React__default.Fragment, null,
28277
- React__default.createElement(GroupedResult, __assign({ key: result.id }, result)),
28167
+ React__default.createElement(GroupedResult, { key: result.id, ...result }),
28278
28168
  index !== results.length - 1 && (React__default.createElement("hr", { className: "LuiSearchInput-groupSeparator" }))));
28279
28169
  }),
28280
28170
  !isLoading &&
28281
28171
  !isGroupedResult(results) &&
28282
- results.map(function (result) {
28283
- return React__default.createElement(ResultLine, __assign({ key: result.id }, result));
28172
+ results.map((result) => {
28173
+ return React__default.createElement(ResultLine, { key: result.id, ...result });
28284
28174
  }),
28285
28175
  children));
28286
28176
  };
@@ -28293,36 +28183,34 @@ function isGroupedResult(result) {
28293
28183
  }
28294
28184
  function flatten(items) {
28295
28185
  if (isGroupedResult(items)) {
28296
- return items.flatMap(function (item) { return item.items; });
28186
+ return items.flatMap((item) => item.items);
28297
28187
  }
28298
28188
  return items;
28299
28189
  }
28300
- var LuiSearchInput = function (props) {
28301
- var _a = useState(props.initialValue ? props.initialValue : ''), typedValue = _a[0], setTypedValue = _a[1];
28302
- var _b = useState([]), results = _b[0], setResults = _b[1];
28303
- var _c = useState(''), selectedId = _c[0], setSelectedId = _c[1];
28304
- var _d = useState(false), haveFocus = _d[0], setHaveFocus = _d[1];
28305
- var _e = useState(false), isLoading = _e[0], setIsLoading = _e[1];
28306
- var inputRef = useRef(null);
28307
- 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);
28308
28198
  //set focus to inut box
28309
- useEffect(function () {
28310
- var _a;
28199
+ useEffect(() => {
28311
28200
  if (props.focusUpdate !== undefined)
28312
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
28201
+ inputRef.current?.focus();
28313
28202
  }, [props.focusUpdate]);
28314
28203
  //clear result after search types changed
28315
- useEffect(function () {
28204
+ useEffect(() => {
28316
28205
  setResults([]);
28317
28206
  }, [props.getOptions]);
28318
28207
  function setInputValue(value) {
28319
28208
  setTypedValue(props.inputTransformer ? props.inputTransformer(value) : value);
28320
28209
  }
28321
28210
  function moveDown() {
28322
- var items = flatten(results);
28323
- var takeNext = selectedId === '';
28324
- for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
28325
- var item = items_1[_i];
28211
+ const items = flatten(results);
28212
+ let takeNext = selectedId === '';
28213
+ for (const item of items) {
28326
28214
  if (item.id === selectedId) {
28327
28215
  takeNext = true;
28328
28216
  }
@@ -28334,10 +28222,9 @@ var LuiSearchInput = function (props) {
28334
28222
  return;
28335
28223
  }
28336
28224
  function moveUp() {
28337
- var items = flatten(results);
28338
- var takeNext = false;
28339
- for (var _i = 0, _a = __spreadArray([], items, true).reverse(); _i < _a.length; _i++) {
28340
- var item = _a[_i];
28225
+ const items = flatten(results);
28226
+ let takeNext = false;
28227
+ for (const item of [...items].reverse()) {
28341
28228
  if (item.id === selectedId) {
28342
28229
  takeNext = true;
28343
28230
  }
@@ -28349,42 +28236,30 @@ var LuiSearchInput = function (props) {
28349
28236
  return;
28350
28237
  }
28351
28238
  function selectItem(itemId) {
28352
- var id = itemId ? itemId : selectedId;
28353
- 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);
28354
28241
  if (selectedItem) {
28355
28242
  setHaveFocus(false);
28356
28243
  setInputValue(selectedItem.description);
28357
28244
  props.onSelectOption(selectedItem);
28358
28245
  }
28359
28246
  }
28360
- function retrieveResults(input) {
28361
- return __awaiter(this, void 0, void 0, function () {
28362
- var results_1, items, selectedIdInResults;
28363
- return __generator(this, function (_a) {
28364
- switch (_a.label) {
28365
- case 0:
28366
- if (!(input !== '' && input.length >= props.minCharactersForSearch)) return [3 /*break*/, 4];
28367
- setIsLoading(true);
28368
- _a.label = 1;
28369
- case 1:
28370
- _a.trys.push([1, , 3, 4]);
28371
- return [4 /*yield*/, props.getOptions(input)];
28372
- case 2:
28373
- results_1 = _a.sent();
28374
- items = flatten(results_1);
28375
- setResults(results_1);
28376
- selectedIdInResults = items.some(function (item) { return item.id === selectedId; });
28377
- if (!selectedIdInResults) {
28378
- setSelectedId(items.length ? items[0].id : '');
28379
- }
28380
- return [3 /*break*/, 4];
28381
- case 3:
28382
- setIsLoading(false);
28383
- return [7 /*endfinally*/];
28384
- 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 : '');
28385
28257
  }
28386
- });
28387
- });
28258
+ }
28259
+ finally {
28260
+ setIsLoading(false);
28261
+ }
28262
+ }
28388
28263
  }
28389
28264
  function handleKeyDown(event) {
28390
28265
  switch (event.key) {
@@ -28407,19 +28282,19 @@ var LuiSearchInput = function (props) {
28407
28282
  }
28408
28283
  function scrollToViewSelected(topOfView) {
28409
28284
  // Wait for ref to update before scrolling to it
28410
- 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);
28411
28286
  }
28412
- useEffect(function () {
28287
+ useEffect(() => {
28413
28288
  retrieveResults(typedValue);
28414
28289
  }, [typedValue]);
28415
- var cancelIcon = typedValue !== '' ? (React__default.createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "md", className: 'LuiSearchInput-iconPosition', spanProps: {
28416
- onClick: function () {
28290
+ const cancelIcon = typedValue !== '' ? (React__default.createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "md", className: 'LuiSearchInput-iconPosition', spanProps: {
28291
+ onClick: () => {
28417
28292
  setInputValue('');
28418
28293
  setResults([]);
28419
- }
28294
+ },
28420
28295
  } })) : null;
28421
- 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(); } } }));
28422
- 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';
28423
28298
  function enoughChars(input) {
28424
28299
  if (typeof props.minCharactersForSearch === 'number')
28425
28300
  return input.length >= props.minCharactersForSearch;
@@ -28434,20 +28309,20 @@ var LuiSearchInput = function (props) {
28434
28309
  return typeMore;
28435
28310
  }
28436
28311
  if (props.name)
28437
- return "The ".concat(props.name, " could not be displayed or does not exist.");
28312
+ return `The ${props.name} could not be displayed or does not exist.`;
28438
28313
  else
28439
28314
  return null;
28440
28315
  }
28441
28316
  return (React__default.createElement("div", { className: "LuiSearchInput" },
28442
28317
  React__default.createElement("span", { className: "LuiSearchInput-inputWrapper" },
28443
28318
  searchIcon,
28444
- 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) => {
28445
28320
  e.target.select();
28446
28321
  retrieveResults(typedValue);
28447
28322
  setHaveFocus(true);
28448
28323
  },
28449
28324
  // This timeout could be a little brittle but allows the menu to stay open long enough to click it
28450
- onBlur: function () { return setTimeout(function () { return setHaveFocus(false); }, 200); } }),
28325
+ onBlur: () => setTimeout(() => setHaveFocus(false), 200) }),
28451
28326
  cancelIcon),
28452
28327
  (isLoading || results.length > 0) && haveFocus && (React__default.createElement("div", null,
28453
28328
  React__default.createElement(ResultsDisplay, { results: results, selectedId: selectedId, setSelectedId: setSelectedId, selectedRef: selectedRef, onClick: selectItem, isLoading: isLoading, renderItem: props.renderItem }))),
@@ -28463,43 +28338,33 @@ var LuiSearchInput = function (props) {
28463
28338
  React__default.createElement("div", { "data-testid": "disclaimer", className: "LuiSearchInput-disclaimer" }, props.disclaimer)))));
28464
28339
  };
28465
28340
 
28466
- var resultStyle$1 = { verticalAlign: 'middle' };
28341
+ const resultStyle$1 = { verticalAlign: 'middle' };
28467
28342
  /**
28468
28343
  * LuiSearchBox is a search input with select menu.
28469
28344
  * The options of the menu and input can be passed in as an array.
28470
28345
  * See examples in SearchBox in storybook.
28471
28346
  */
28472
- var LuiSearchBox = function (_a) {
28473
- var searchBoxOptions = _a.searchBoxOptions, initOptionValue = _a.initOptionValue, onMenuSelect = _a.onMenuSelect, autoFocus = _a.autoFocus;
28474
- var initOption = searchBoxOptions.find(function (_a) {
28475
- var value = _a.value;
28476
- return value === initOptionValue;
28477
- });
28478
- 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]);
28479
28350
  //auto focus every time select a menu item
28480
- var _c = useState(false), focusUpdate = _c[0], setFocusUpdate = _c[1];
28351
+ const [focusUpdate, setFocusUpdate] = useState(false);
28481
28352
  //don't focus when first time display
28482
- var _d = useState(false), isFocus = _d[0], setIsFocus = _d[1];
28483
- useEffect(function () {
28484
- var updatedOption = searchBoxOptions.find(function (_a) {
28485
- var value = _a.value;
28486
- return value === initOptionValue;
28487
- });
28353
+ const [isFocus, setIsFocus] = useState(false);
28354
+ useEffect(() => {
28355
+ const updatedOption = searchBoxOptions.find(({ value }) => value === initOptionValue);
28488
28356
  if (updatedOption)
28489
28357
  setSelectedMenuOption(updatedOption);
28490
28358
  }, [initOptionValue]);
28491
- var handleMenuSelected = function (e) {
28359
+ const handleMenuSelected = (e) => {
28492
28360
  setSelectedMenuOption(findSelectedOption(e.value));
28493
28361
  if (onMenuSelect !== undefined)
28494
28362
  onMenuSelect(e);
28495
28363
  setIsFocus(true);
28496
28364
  setFocusUpdate(!focusUpdate);
28497
28365
  };
28498
- var findSelectedOption = function (v) {
28499
- var selectedOption = searchBoxOptions.find(function (_a) {
28500
- var value = _a.value;
28501
- return value === v;
28502
- });
28366
+ const findSelectedOption = (v) => {
28367
+ const selectedOption = searchBoxOptions.find(({ value }) => value === v);
28503
28368
  return selectedOption ? selectedOption : searchBoxOptions[0];
28504
28369
  };
28505
28370
  return (React__default.createElement("div", { className: "LuiSearchBox" },
@@ -28507,53 +28372,53 @@ var LuiSearchBox = function (_a) {
28507
28372
  React__default.createElement("div", { className: "LuiSearchBox-right" },
28508
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
28509
28374
  ? selectedMenuOption.renderItem
28510
- : function (item) {
28375
+ : (item) => {
28511
28376
  return React__default.createElement("span", { style: resultStyle$1 }, item.description);
28512
28377
  }, disclaimer: selectedMenuOption.disclaimer, focusUpdate: autoFocus && isFocus ? focusUpdate : undefined }))));
28513
28378
  };
28514
- var LuiSearchBoxButton = React__default.forwardRef(function (props, ref) {
28515
- 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" },
28516
28381
  props.children,
28517
28382
  React__default.createElement(LuiIcon, { size: "md", name: 'ic_keyboard_arrow_down', className: 'LuiSearchBox-button-icon', alt: '' })));
28518
28383
  });
28519
- 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) => {
28520
28385
  return (React__default.createElement(React__default.Fragment, { key: item.value },
28521
28386
  item.groupDivider ? React__default.createElement(LuiSelectMenuDivider, null) : null,
28522
28387
  item.groupTitle ? (React__default.createElement(LuiSelectMenuHeader, null, item.groupTitle)) : null,
28523
- React__default.createElement(LuiSelectMenuItem, { "data-testid": "select-box-".concat(item.value), value: item.value, onClick: onClick, noPadding: true }, item.title)));
28524
- }))); };
28388
+ React__default.createElement(LuiSelectMenuItem, { "data-testid": `select-box-${item.value}`, value: item.value, onClick: onClick, noPadding: true }, item.title)));
28389
+ })));
28525
28390
 
28526
- var exampleSearchResults = [
28391
+ const exampleSearchResults = [
28527
28392
  {
28528
28393
  id: 'DP44035-1',
28529
- description: 'This is a example Newlands search result'
28394
+ description: 'This is a example Newlands search result',
28530
28395
  },
28531
28396
  {
28532
28397
  id: 'DP44035-2',
28533
- description: 'This is a example Newlands search result 2'
28398
+ description: 'This is a example Newlands search result 2',
28534
28399
  },
28535
28400
  ];
28536
- var getDefaultOptions = function (input) {
28401
+ const getDefaultOptions = (input) => {
28537
28402
  if (input) {
28538
- var results_1 = exampleSearchResults.filter(function (item) {
28403
+ const results = exampleSearchResults.filter((item) => {
28539
28404
  return item.description.toUpperCase().includes(input.toUpperCase());
28540
28405
  });
28541
- return new Promise(function (resolve) {
28542
- setTimeout(function () { return resolve(results_1); }, 250);
28406
+ return new Promise((resolve) => {
28407
+ setTimeout(() => resolve(results), 250);
28543
28408
  });
28544
28409
  }
28545
28410
  else {
28546
28411
  return Promise.resolve([]);
28547
28412
  }
28548
28413
  };
28549
- var defaultSelectOption = function (selectedOption) {
28414
+ const defaultSelectOption = (selectedOption) => {
28550
28415
  console.log('SELECTED OPTION: ', selectedOption);
28551
28416
  };
28552
- var resultStyle = { verticalAlign: 'middle' };
28553
- var defaultRenderItem = function (item) {
28417
+ const resultStyle = { verticalAlign: 'middle' };
28418
+ const defaultRenderItem = (item) => {
28554
28419
  return React__default.createElement("span", { style: resultStyle }, item.description);
28555
28420
  };
28556
- var searchBoxOptions = [
28421
+ const searchBoxOptions = [
28557
28422
  {
28558
28423
  groupTitle: 'Title',
28559
28424
  value: 'address',
@@ -28563,28 +28428,28 @@ var searchBoxOptions = [
28563
28428
  disclaimer: 'This is a default disclaimer, add your own search options',
28564
28429
  getOption: getDefaultOptions,
28565
28430
  onSelectOption: defaultSelectOption,
28566
- renderItem: defaultRenderItem
28431
+ renderItem: defaultRenderItem,
28567
28432
  },
28568
28433
  {
28569
28434
  value: 'titleReference',
28570
28435
  title: 'Title Reference',
28571
28436
  placeholderText: 'Enter a title reference e.g. TN117/154',
28572
28437
  getOption: getDefaultOptions,
28573
- onSelectOption: defaultSelectOption
28438
+ onSelectOption: defaultSelectOption,
28574
28439
  },
28575
28440
  {
28576
28441
  value: 'ownerName',
28577
28442
  title: 'Registered Owner',
28578
28443
  placeholderText: 'Enter owners name',
28579
28444
  getOption: getDefaultOptions,
28580
- onSelectOption: defaultSelectOption
28445
+ onSelectOption: defaultSelectOption,
28581
28446
  },
28582
28447
  {
28583
28448
  value: 'lgdId',
28584
28449
  title: 'Legal Description',
28585
28450
  placeholderText: 'Example: Lot 2 DP 1234',
28586
28451
  getOption: getDefaultOptions,
28587
- onSelectOption: defaultSelectOption
28452
+ onSelectOption: defaultSelectOption,
28588
28453
  },
28589
28454
  {
28590
28455
  value: 'parcelId',
@@ -28592,7 +28457,7 @@ var searchBoxOptions = [
28592
28457
  placeholderText: 'Enter a parcel id e.g 93851642',
28593
28458
  disclaimer: 'testdd2',
28594
28459
  getOption: getDefaultOptions,
28595
- onSelectOption: defaultSelectOption
28460
+ onSelectOption: defaultSelectOption,
28596
28461
  },
28597
28462
  {
28598
28463
  groupTitle: 'Survey',
@@ -28601,7 +28466,7 @@ var searchBoxOptions = [
28601
28466
  title: 'Survey number',
28602
28467
  placeholderText: 'Enter a survey number, e.g. DP 44035',
28603
28468
  getOption: getDefaultOptions,
28604
- onSelectOption: defaultSelectOption
28469
+ onSelectOption: defaultSelectOption,
28605
28470
  },
28606
28471
  {
28607
28472
  groupTitle: 'Instrument',
@@ -28610,20 +28475,19 @@ var searchBoxOptions = [
28610
28475
  title: 'Instrument Number',
28611
28476
  placeholderText: 'Example: 7723502.2',
28612
28477
  getOption: getDefaultOptions,
28613
- onSelectOption: defaultSelectOption
28478
+ onSelectOption: defaultSelectOption,
28614
28479
  },
28615
28480
  ];
28616
- var getDefaultSearchMenuOptions = function () {
28481
+ const getDefaultSearchMenuOptions = () => {
28617
28482
  return searchBoxOptions;
28618
28483
  };
28619
- var LOLSearchBox = function (_a) {
28620
- var searchBoxOptions = _a.searchBoxOptions, initOptionValue = _a.initOptionValue, onMenuSelect = _a.onMenuSelect;
28484
+ const LOLSearchBox = ({ searchBoxOptions, initOptionValue, onMenuSelect, }) => {
28621
28485
  return (React__default.createElement(LuiSearchBox, { onMenuSelect: onMenuSelect, initOptionValue: initOptionValue, searchBoxOptions: searchBoxOptions ? searchBoxOptions : getDefaultSearchMenuOptions() }));
28622
28486
  };
28623
28487
 
28624
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+';
28625
28489
 
28626
- var LuiErrorPage = function (props) {
28490
+ const LuiErrorPage = (props) => {
28627
28491
  return (React__default.createElement("div", { className: 'LuiErrorPage' },
28628
28492
  props.header,
28629
28493
  React__default.createElement("div", { className: 'Container' },
@@ -28634,36 +28498,36 @@ var LuiErrorPage = function (props) {
28634
28498
  props.footer));
28635
28499
  };
28636
28500
 
28637
- var userHasAnyPrivilege = function (privileges, selectedFirm) {
28501
+ const userHasAnyPrivilege = (privileges, selectedFirm) => {
28638
28502
  return (privileges.length === 0 ||
28639
28503
  (selectedFirm !== undefined &&
28640
- selectedFirm.privileges.filter(function (value) { return privileges.indexOf(value) > -1; })
28504
+ selectedFirm.privileges.filter((value) => privileges.indexOf(value) > -1)
28641
28505
  .length > 0));
28642
28506
  };
28643
- var userIsInternal = function (user) {
28644
- 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;
28645
28509
  return loginType === 'INTN';
28646
28510
  };
28647
28511
 
28648
28512
  function useLOLUserContext() {
28649
28513
  return useContext(LOLUserContext);
28650
28514
  }
28651
- var LOLUserContext = React__default.createContext({
28515
+ const LOLUserContext = React__default.createContext({
28652
28516
  user: undefined,
28653
28517
  selectedFirm: undefined,
28654
- changeFirm: function (firmId) {
28518
+ changeFirm: (firmId) => {
28655
28519
  console.error('Called changeFirm before UserContext loaded', firmId);
28656
28520
  },
28657
- isInternal: function () { return false; },
28658
- hasAnyPrivilege: function () { return false; }
28521
+ isInternal: () => false,
28522
+ hasAnyPrivilege: () => false,
28659
28523
  });
28660
28524
  function LOLUserContextProvider(props) {
28661
- var _a = useGetUserInfo(), isLoading = _a.isLoading, data = _a.data, isError = _a.isError;
28662
- var _b = useState(), selectedFirm = _b[0], setSelectedFirm = _b[1];
28663
- var _c = useState(false), ready = _c[0], setReady = _c[1];
28664
- useEffect(function () {
28525
+ const { isLoading, data, isError } = useGetUserInfo();
28526
+ const [selectedFirm, setSelectedFirm] = useState();
28527
+ const [ready, setReady] = useState(false);
28528
+ useEffect(() => {
28665
28529
  // User data is still loading
28666
- if (!(data === null || data === void 0 ? void 0 : data.user)) {
28530
+ if (!data?.user) {
28667
28531
  return;
28668
28532
  }
28669
28533
  // Clear firm value if there are no firms
@@ -28674,23 +28538,22 @@ function LOLUserContextProvider(props) {
28674
28538
  }
28675
28539
  if (data.user.firms.length > 0 &&
28676
28540
  (!getSelectedFirmIdCache() ||
28677
- !data.user.firms.find(function (firm) { return firm.id === getSelectedFirmIdCache(); }))) {
28678
- var firstFirm = data.user.firms[0];
28541
+ !data.user.firms.find((firm) => firm.id === getSelectedFirmIdCache()))) {
28542
+ const firstFirm = data.user.firms[0];
28679
28543
  setSelectedFirmCache(firstFirm.id, firstFirm.name);
28680
28544
  setSelectedFirm(firstFirm);
28681
28545
  setReady(true);
28682
28546
  }
28683
28547
  else {
28684
28548
  // pull firm from cache and use it
28685
- var selectedFirmIdFromCache_1 = getSelectedFirmIdCache();
28686
- 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);
28687
28551
  setSelectedFirm(selectedFirmDerivedFromCache || undefined);
28688
28552
  setReady(true);
28689
28553
  }
28690
28554
  }, [data]);
28691
- var changeFirm = useCallback(function (firmId) {
28692
- var _a;
28693
- 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) => {
28694
28557
  return f.id === firmId;
28695
28558
  });
28696
28559
  if (firm === undefined) {
@@ -28701,14 +28564,12 @@ function LOLUserContextProvider(props) {
28701
28564
  setSelectedFirmCache(firm.id, firm.name);
28702
28565
  setSelectedFirm(firm);
28703
28566
  }, [data]);
28704
- var isInternal = useCallback(function () { return userIsInternal(data === null || data === void 0 ? void 0 : data.user); }, [data]);
28705
- var hasAnyPrivilege = useCallback(function (privileges) {
28706
- return userHasAnyPrivilege(privileges, selectedFirm);
28707
- }, [selectedFirm]);
28708
- useEffect(function () {
28709
- 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) => {
28710
28571
  if (event.storageArea === localStorage && event.key === FIRM_KEY) {
28711
- var selectedFirmId = event.newValue;
28572
+ const selectedFirmId = event.newValue;
28712
28573
  if (selectedFirmId) {
28713
28574
  changeFirm(selectedFirmId);
28714
28575
  }
@@ -28719,7 +28580,7 @@ function LOLUserContextProvider(props) {
28719
28580
  window.addEventListener('storage', onCachedFirmUpdate, false);
28720
28581
  }
28721
28582
  // cleanup listener on unmount
28722
- return function () {
28583
+ return () => {
28723
28584
  window.removeEventListener('storage', onCachedFirmUpdate, false);
28724
28585
  };
28725
28586
  }, [ready, changeFirm]);
@@ -28733,10 +28594,10 @@ function LOLUserContextProvider(props) {
28733
28594
  if (data && data.user && data.user.id) {
28734
28595
  return (React__default.createElement(LOLUserContext.Provider, { value: {
28735
28596
  user: data.user,
28736
- selectedFirm: selectedFirm,
28737
- changeFirm: changeFirm,
28738
- isInternal: isInternal,
28739
- hasAnyPrivilege: hasAnyPrivilege
28597
+ selectedFirm,
28598
+ changeFirm,
28599
+ isInternal,
28600
+ hasAnyPrivilege,
28740
28601
  } }, props.children));
28741
28602
  }
28742
28603
  else {
@@ -28745,41 +28606,24 @@ function LOLUserContextProvider(props) {
28745
28606
  }
28746
28607
  }
28747
28608
  function useGetUserInfo() {
28748
- var _this = this;
28749
- return useQuery("useGetUserInfo", function () { return __awaiter(_this, void 0, void 0, function () {
28750
- var url, res;
28751
- return __generator(this, function (_a) {
28752
- switch (_a.label) {
28753
- case 0:
28754
- url = "/auth/api/userinfo";
28755
- return [4 /*yield*/, fetch(url)];
28756
- case 1:
28757
- res = _a.sent();
28758
- return [4 /*yield*/, checkForStandardErrors(res)];
28759
- case 2:
28760
- _a.sent();
28761
- return [4 /*yield*/, res.json()];
28762
- case 3: return [2 /*return*/, _a.sent()];
28763
- }
28764
- });
28765
- }); });
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
+ });
28766
28615
  }
28767
28616
  function reAuthUser() {
28768
- var redirectPath = "".concat(window.location.pathname).concat(window.location.search).concat(window.location.hash);
28769
- window.location.assign("/auth/login?redirectPath=".concat(encodeURIComponent(redirectPath)));
28617
+ const redirectPath = `${window.location.pathname}${window.location.search}${window.location.hash}`;
28618
+ window.location.assign(`/auth/login?redirectPath=${encodeURIComponent(redirectPath)}`);
28770
28619
  }
28771
- function checkForStandardErrors(res) {
28772
- return __awaiter(this, void 0, void 0, function () {
28773
- return __generator(this, function (_a) {
28774
- if (res.status !== 200) {
28775
- reAuthUser();
28776
- }
28777
- return [2 /*return*/];
28778
- });
28779
- });
28620
+ async function checkForStandardErrors(res) {
28621
+ if (res.status !== 200) {
28622
+ reAuthUser();
28623
+ }
28780
28624
  }
28781
- var FIRM_KEY = 'firmId';
28782
- var FIRM_NAME_KEY = 'firmName';
28625
+ const FIRM_KEY = 'firmId';
28626
+ const FIRM_NAME_KEY = 'firmName';
28783
28627
  function getSelectedFirmIdCache() {
28784
28628
  return window.localStorage.getItem(FIRM_KEY);
28785
28629
  }
@@ -28794,21 +28638,21 @@ function setSelectedFirmCache(firmId, firmName) {
28794
28638
  }
28795
28639
  }
28796
28640
 
28797
- var ClearableLuiTextInput = function (props) {
28798
- var _a = useState(props.value ? props.value : ''), currentValue = _a[0], setCurrentValue = _a[1];
28799
- var clear = function () {
28641
+ const ClearableLuiTextInput = (props) => {
28642
+ const [currentValue, setCurrentValue] = useState(props.value ? props.value : '');
28643
+ const clear = () => {
28800
28644
  setCurrentValue('');
28801
28645
  if (props.onValueChange) {
28802
28646
  props.onValueChange('');
28803
28647
  }
28804
28648
  };
28805
- var cancelIcon = currentValue !== '' ? (React__default.createElement(LuiIcon, { alt: "clear", name: "ic_cancel_clear", size: "lg", className: 'LuiTextInput-iconPosition', spanProps: { onClick: clear } })) : undefined;
28806
- 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) => {
28807
28651
  setCurrentValue(e.target.value);
28808
28652
  if (props.onValueChange) {
28809
28653
  props.onValueChange(e.target.value);
28810
28654
  }
28811
- } })));
28655
+ } }));
28812
28656
  };
28813
28657
 
28814
28658
  /**
@@ -28817,42 +28661,42 @@ var ClearableLuiTextInput = function (props) {
28817
28661
  * @param props
28818
28662
  * @constructor
28819
28663
  */
28820
- var LuiFilterContainer = function (props) {
28821
- 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;
28822
- 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('');
28823
28667
  return (React__default.createElement("div", null,
28824
28668
  showFilter && (React__default.createElement("div", { className: 'LuiFilterContainer-filter-container LuiDeprecatedForms' },
28825
28669
  isFilterClearable && (React__default.createElement(ClearableLuiTextInput, { label: 'Filter', inputProps: {
28826
- placeholder: 'Type to filter'
28827
- }, hideLabel: true, onValueChange: function (value) { return setFilter(value); } })),
28828
- !isFilterClearable && (React__default.createElement("input", { type: "text", placeholder: "Type to filter", value: filter, onChange: function (e) { return setFilter(e.target.value); } })))),
28670
+ placeholder: 'Type to filter',
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) })))),
28829
28673
  renderFunction(filterFunction(filter))));
28830
28674
  };
28831
28675
 
28832
28676
  function useLOLGlobalClientRefContext() {
28833
28677
  return useContext(LOLGlobalClientRefContext);
28834
28678
  }
28835
- var LOLGlobalClientRefContext = React__default.createContext({
28679
+ const LOLGlobalClientRefContext = React__default.createContext({
28836
28680
  clientRef: '',
28837
- changeClientRef: function () {
28681
+ changeClientRef: () => {
28838
28682
  // no-op
28839
- }
28683
+ },
28840
28684
  });
28841
- var LOLGlobalClientRefContextProvider = function (props) {
28842
- var useUserIdAsClientReference = props.useUserIdAsClientReference;
28843
- var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm;
28844
- var _b = useState(''), clientRef = _b[0], setClientRef = _b[1];
28845
- var _c = useState(undefined), lastSelectedFirmId = _c[0], setLastSelectedFirmId = _c[1];
28846
- 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) => {
28847
28691
  setClientRef(clientRef);
28848
28692
  setGlobalClientRefCache(clientRef);
28849
28693
  }, []);
28850
- useEffect(function () {
28694
+ useEffect(() => {
28851
28695
  if (!user) {
28852
28696
  return;
28853
28697
  }
28854
- var cachedClientRef = getGlobalClientRefCache();
28855
- var clientRef = '';
28698
+ const cachedClientRef = getGlobalClientRefCache();
28699
+ let clientRef = '';
28856
28700
  if (cachedClientRef === null && useUserIdAsClientReference) {
28857
28701
  clientRef = user.id;
28858
28702
  }
@@ -28861,9 +28705,9 @@ var LOLGlobalClientRefContextProvider = function (props) {
28861
28705
  }
28862
28706
  setClientRef(clientRef);
28863
28707
  setGlobalClientRefCache(clientRef);
28864
- setLastSelectedFirmId(selectedFirm === null || selectedFirm === void 0 ? void 0 : selectedFirm.id);
28708
+ setLastSelectedFirmId(selectedFirm?.id);
28865
28709
  }, [user, selectedFirm, useUserIdAsClientReference]);
28866
- useEffect(function () {
28710
+ useEffect(() => {
28867
28711
  if (!selectedFirm ||
28868
28712
  !lastSelectedFirmId ||
28869
28713
  selectedFirm.id === lastSelectedFirmId) {
@@ -28880,11 +28724,11 @@ var LOLGlobalClientRefContextProvider = function (props) {
28880
28724
  useUserIdAsClientReference,
28881
28725
  ]);
28882
28726
  return (React__default.createElement(LOLGlobalClientRefContext.Provider, { value: {
28883
- clientRef: clientRef,
28884
- changeClientRef: changeClientRef
28727
+ clientRef,
28728
+ changeClientRef,
28885
28729
  } }, props.children));
28886
28730
  };
28887
- var GLOBAL_CLIENT_REFERENCE_KEY = 'globalClientReference';
28731
+ const GLOBAL_CLIENT_REFERENCE_KEY = 'globalClientReference';
28888
28732
  function getGlobalClientRefCache() {
28889
28733
  return window.sessionStorage.getItem(GLOBAL_CLIENT_REFERENCE_KEY);
28890
28734
  }
@@ -28897,17 +28741,16 @@ function setGlobalClientRefCache(clientReference) {
28897
28741
  }
28898
28742
  }
28899
28743
 
28900
- var LOLFirmSwitcherMenu = function (_a) {
28901
- var _b = _a.showClientRef, showClientRef = _b === void 0 ? false : _b, restOfProps = __rest(_a, ["showClientRef"]);
28902
- var _c = useLOLUserContext(), user = _c.user, selectedFirm = _c.selectedFirm, changeFirm = _c.changeFirm, isInternal = _c.isInternal;
28903
- var clientRef = useLOLGlobalClientRefContext().clientRef;
28904
- var firms = user.firms;
28905
- 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,
28906
28749
  React__default.createElement("br", null),
28907
28750
  React__default.createElement("span", null,
28908
28751
  "Client Ref: ",
28909
28752
  clientRef))) : null;
28910
- var label = isInternal() ? (React__default.createElement("div", { className: "LOLFirmSwitcherMenu-header" },
28753
+ const label = isInternal() ? (React__default.createElement("div", { className: "LOLFirmSwitcherMenu-header" },
28911
28754
  user.id,
28912
28755
  clientRefElement)) : (React__default.createElement("div", { className: "LOLFirmSwitcherMenu-header" },
28913
28756
  selectedFirm && (React__default.createElement(React__default.Fragment, null,
@@ -28917,97 +28760,69 @@ var LOLFirmSwitcherMenu = function (_a) {
28917
28760
  "User ID: ",
28918
28761
  user.id),
28919
28762
  clientRefElement));
28920
- var dropdownMenuProps = __assign(__assign({}, restOfProps), { label: label });
28763
+ const dropdownMenuProps = {
28764
+ ...restOfProps,
28765
+ label,
28766
+ };
28921
28767
  if (firms.length < 2) {
28922
- return React__default.createElement(LuiHeaderMenuItem, __assign({}, dropdownMenuProps));
28768
+ return React__default.createElement(LuiHeaderMenuItem, { ...dropdownMenuProps });
28923
28769
  }
28924
- return (React__default.createElement(LuiDropdownMenu, __assign({}, dropdownMenuProps),
28770
+ return (React__default.createElement(LuiDropdownMenu, { ...dropdownMenuProps },
28925
28771
  React__default.createElement(LOLFirmSwitcherMenuContent, { firms: firms, selectedFirm: selectedFirm, changeFirm: changeFirm })));
28926
28772
  };
28927
- var LOLFirmSwitcherMenuContent = function (_a) {
28928
- 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;
28929
- var showFilter = firms.length >= minimumFilterCount;
28773
+ const LOLFirmSwitcherMenuContent = ({ firms, selectedFirm, changeFirm, collapsible = false, minimumFilterCount = 5, }) => {
28774
+ const showFilter = firms.length >= minimumFilterCount;
28930
28775
  return (React__default.createElement(LuiDrawerMenuSection, { title: "Switch account", collapsible: collapsible && showFilter },
28931
- 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) {
28932
- return [2 /*return*/, changeFirm(id)];
28933
- }); }); }, showFilter: showFilter })));
28776
+ React__default.createElement(FirmSwitcher, { options: firms, selectedId: selectedFirm?.id, onSelect: async (id) => changeFirm(id), showFilter: showFilter })));
28934
28777
  };
28935
- var FirmOption = function (_a) {
28936
- var _b = _a.value, id = _b.id, name = _b.name, onSelect = _a.onSelect, selected = _a.selected, disabled = _a.disabled;
28937
- return (React__default.createElement("div", { className: 'LOLFirmSwitcherMenu-option', onClick: function () { return onSelect(id); }, "aria-disabled": disabled, "data-testid": "firm-".concat(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}` },
28938
28780
  React__default.createElement("span", null, name),
28939
28781
  selected && React__default.createElement("i", { className: "material-icons-round" }, "check_circle")));
28940
28782
  };
28941
- var FirmSwitcher = function (_a) {
28942
- var options = _a.options, selectedId = _a.selectedId, onSelect = _a.onSelect, _b = _a.showFilter, showFilter = _b === void 0 ? true : _b;
28943
- var _c = useState(false), busy = _c[0], setBusy = _c[1];
28944
- var onSelectInternal = function (optionId) { return __awaiter(void 0, void 0, void 0, function () {
28945
- return __generator(this, function (_a) {
28946
- switch (_a.label) {
28947
- case 0:
28948
- if (!!busy) return [3 /*break*/, 2];
28949
- setBusy(true);
28950
- return [4 /*yield*/, onSelect(optionId)];
28951
- case 1:
28952
- _a.sent();
28953
- setBusy(false);
28954
- _a.label = 2;
28955
- case 2: return [2 /*return*/];
28956
- }
28957
- });
28958
- }); };
28959
- var filterFunction = useCallback(function (filterString) {
28960
- var upperCaseFilterString = filterString.trim().toUpperCase();
28961
- return options.filter(function (firm) {
28962
- return firm.name.toUpperCase().includes(upperCaseFilterString);
28963
- });
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));
28964
28795
  }, [options]);
28965
- var renderFunction = function (filteredOptions) {
28966
- 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 })))));
28967
28798
  };
28968
28799
  return (React__default.createElement("div", { className: "LOLFirmSwitcherMenu" },
28969
28800
  React__default.createElement(LuiFilterContainer, { showFilter: showFilter, filterFunction: filterFunction, renderFunction: renderFunction })));
28970
28801
  };
28971
28802
 
28972
- var LOLLogoutLink = function (props) {
28973
- var redirectPathString = props.redirectPath();
28974
- var user = useLOLUserContext().user;
28803
+ const LOLLogoutLink = (props) => {
28804
+ const redirectPathString = props.redirectPath();
28805
+ const { user } = useLOLUserContext();
28975
28806
  if (!user) {
28976
28807
  return null;
28977
28808
  }
28978
- var logout = function () { return __awaiter(void 0, void 0, void 0, function () {
28979
- var _a, res;
28980
- return __generator(this, function (_b) {
28981
- switch (_b.label) {
28982
- case 0:
28983
- _a = props.callBackBeforeLogout;
28984
- if (!_a) return [3 /*break*/, 2];
28985
- return [4 /*yield*/, props.callBackBeforeLogout()];
28986
- case 1:
28987
- _a = (_b.sent()) === false;
28988
- _b.label = 2;
28989
- case 2:
28990
- if (_a) {
28991
- return [2 /*return*/];
28992
- }
28993
- return [4 /*yield*/, fetch('/auth/api/logout')];
28994
- case 3:
28995
- res = _b.sent();
28996
- if (res.status === 200) {
28997
- window.location.assign("/auth/login?redirectPath=".concat(redirectPathString));
28998
- }
28999
- return [2 /*return*/];
29000
- }
29001
- });
29002
- }); };
29003
- return React__default.createElement(LuiDrawerMenuOption, { label: "Logout ".concat(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 });
29004
28820
  };
29005
28821
 
29006
- var LOLUserLastLogin = function () {
29007
- var _a;
29008
- var lastLogin;
29009
- var context = useLOLUserContext();
29010
- 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;
29011
28826
  lastLogin = lastLoginISO
29012
28827
  ? new Date(lastLoginISO).toLocaleString('en-NZ')
29013
28828
  : null;
@@ -29021,11 +28836,11 @@ var LOLUserLastLogin = function () {
29021
28836
  React__default.createElement("span", null, "Not you? Please, call us on 0800 665 463"))));
29022
28837
  };
29023
28838
 
29024
- var LOLActiveFirmMessage = function (props) {
29025
- var _a = useLOLUserContext(), selectedFirm = _a.selectedFirm, user = _a.user;
29026
- var _b = useState(false), visible = _b[0], setVisible = _b[1];
29027
- var hide = props.showFrom !== 'xl' ? { from: props.showFrom || 'sm' } : undefined;
29028
- 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(() => {
29029
28844
  setVisible(true);
29030
28845
  }, [selectedFirm]);
29031
28846
  if (!selectedFirm || !visible || user.firms.length < 2) {
@@ -29035,7 +28850,7 @@ var LOLActiveFirmMessage = function (props) {
29035
28850
  React__default.createElement(LuiBannerContent, { level: 'info' },
29036
28851
  "Active account is ",
29037
28852
  selectedFirm.name,
29038
- React__default.createElement("button", { "aria-label": "Close dialog", onClick: function () {
28853
+ React__default.createElement("button", { "aria-label": "Close dialog", onClick: () => {
29039
28854
  setVisible(false);
29040
28855
  } },
29041
28856
  React__default.createElement("i", { className: "material-icons-round" }, "close")))));
@@ -29043,20 +28858,17 @@ var LOLActiveFirmMessage = function (props) {
29043
28858
 
29044
28859
  var ExternalIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzk4OTE4OSI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5IDE5SDVWNWg3VjNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0ydi03aC0ydjd6TTE0IDN2MmgzLjU5bC05LjgzIDkuODMgMS40MSAxLjQxTDE5IDYuNDFWMTBoMlYzaC03eiIvPjwvc3ZnPg==';
29045
28860
 
29046
- var LOLAuthorisedLink = function (props) {
29047
- var hasAnyPrivilege = useLOLUserContext().hasAnyPrivilege;
29048
- var icon = props.icon, activeIcon = props.activeIcon, active = props.active, label = props.label, path = props.path, openExternally = props.openExternally, anyPrivileges = props.anyPrivileges;
29049
- var onClickHandler = function () { return __awaiter(void 0, void 0, void 0, function () {
29050
- return __generator(this, function (_a) {
29051
- if (openExternally) {
29052
- window.open(path, '_blank');
29053
- }
29054
- else {
29055
- window.location.assign(path);
29056
- }
29057
- return [2 /*return*/];
29058
- });
29059
- }); };
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
+ };
29060
28872
  if (!hasAnyPrivilege(anyPrivileges)) {
29061
28873
  return null;
29062
28874
  }
@@ -29085,26 +28897,26 @@ var TitlesIconActive = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy
29085
28897
 
29086
28898
  function createLink(pathname, label, target, activeIcon, icon, anyPrivileges) {
29087
28899
  return {
29088
- label: label,
28900
+ label,
29089
28901
  path: target,
29090
- icon: icon,
29091
- activeIcon: activeIcon,
28902
+ icon,
28903
+ activeIcon,
29092
28904
  active: pathname.startsWith(target),
29093
- anyPrivileges: anyPrivileges,
29094
- openExternally: true
28905
+ anyPrivileges,
28906
+ openExternally: true,
29095
28907
  };
29096
28908
  }
29097
- var SEARCH_LABEL = 'Search';
29098
- var NOC_LABEL = 'Post registered NoC';
29099
- var SURVEY_LABEL = 'Survey';
29100
- var TITLES_LABEL = 'Titles';
29101
- var LOLAppLauncherMenu = function (props) {
29102
- var _a = useLOLUserContext(), user = _a.user, isInternal = _a.isInternal;
29103
- 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;
29104
28916
  if (!user) {
29105
28917
  return null;
29106
28918
  }
29107
- var links = [
28919
+ const links = [
29108
28920
  createLink(pathname, SEARCH_LABEL, '/search', SearchIconActive, SearchIcon, isInternal() ? [] : ['prv_search_privilege', 'prv_spatial_view']),
29109
28921
  ];
29110
28922
  if (!isInternal() && enableNOCLink) {
@@ -29148,13 +28960,13 @@ var LOLAppLauncherMenu = function (props) {
29148
28960
  'prv_withdraw_dealing',
29149
28961
  ]));
29150
28962
  }
29151
- 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 })))));
29152
28964
  };
29153
28965
 
29154
- var LOLDrawerMenuFirmSwitcher = function (props) {
29155
- var minimumFilterCount = props.minimumFilterCount;
29156
- var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm, changeFirm = _a.changeFirm;
29157
- 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;
29158
28970
  if (!firms || !selectedFirm) {
29159
28971
  return null;
29160
28972
  }
@@ -29164,18 +28976,18 @@ var LOLDrawerMenuFirmSwitcher = function (props) {
29164
28976
  return (React__default.createElement(LOLFirmSwitcherMenuContent, { firms: firms, selectedFirm: selectedFirm, changeFirm: changeFirm, collapsible: true, minimumFilterCount: minimumFilterCount }));
29165
28977
  };
29166
28978
 
29167
- var LOLDrawerMenu = function (props) {
28979
+ const LOLDrawerMenu = (props) => {
29168
28980
  return (React__default.createElement(LuiDrawerMenu, { hasStickyHeader: props.hasStickyHeader },
29169
28981
  React__default.createElement("div", { className: "LOLDrawerMenu" },
29170
28982
  React__default.createElement("div", { className: "LOLDrawerMenu-contents" }, props.children),
29171
28983
  React__default.createElement("div", { className: "LOLDrawerMenu-footer" },
29172
28984
  React__default.createElement(LOLUserLastLogin, null)))));
29173
28985
  };
29174
- var LOLCommonDrawerMenu = function (props) {
29175
- 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;
29176
28988
  return (React__default.createElement(LOLDrawerMenu, { hasStickyHeader: hasStickyHeader },
29177
28989
  appSpecificSections,
29178
- React__default.createElement(LOLAppLauncherMenu, __assign({ pathname: path }, restOfProps)),
28990
+ React__default.createElement(LOLAppLauncherMenu, { pathname: path, ...restOfProps }),
29179
28991
  React__default.createElement(LOLDrawerMenuFirmSwitcher, { minimumFilterCount: 5 }),
29180
28992
  showRequestsLink && (React__default.createElement(React__default.Fragment, null,
29181
28993
  React__default.createElement(LuiDrawerMenuDivider, null),
@@ -29186,24 +28998,24 @@ var LOLCommonDrawerMenu = function (props) {
29186
28998
  React__default.createElement(LuiDrawerMenuDivider, null),
29187
28999
  React__default.createElement(LOLCommonDrawerMenuAfterLinks, { path: path })));
29188
29000
  };
29189
- var LOLCommonDrawerMenuAfterLinks = function (props) {
29190
- var isInternal = useLOLUserContext().isInternal;
29191
- var path = props.path;
29192
- var contextPath = path.substr(0, path.indexOf('/', 1));
29193
- 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) => {
29194
29006
  window.location.assign(url);
29195
29007
  };
29196
29008
  return (React__default.createElement(React__default.Fragment, null,
29197
- !isInternal() && (React__default.createElement(LuiDrawerMenuOption, { label: "Change password", onClick: function () {
29198
- gotoLink("/manage/my-preferences?redirectPath=".concat(encodeURIComponent(path)));
29009
+ !isInternal() && (React__default.createElement(LuiDrawerMenuOption, { label: "Change password", onClick: () => {
29010
+ gotoLink(`/manage/my-preferences?redirectPath=${encodeURIComponent(path)}`);
29199
29011
  } })),
29200
- React__default.createElement(LOLLogoutLink, { redirectPath: function () { return contextPath; } })));
29012
+ React__default.createElement(LOLLogoutLink, { redirectPath: () => contextPath })));
29201
29013
  };
29202
- var LOLCommonMenuRequestsLink = function () {
29203
- var openRequestsApp = function () {
29014
+ const LOLCommonMenuRequestsLink = () => {
29015
+ const openRequestsApp = () => {
29204
29016
  window.open('/requests', '_blank');
29205
29017
  };
29206
- return (React__default.createElement(LuiDrawerMenuOption, { label: 'Create request', onClick: function () {
29018
+ return (React__default.createElement(LuiDrawerMenuOption, { label: 'Create request', onClick: () => {
29207
29019
  openRequestsApp();
29208
29020
  }, badge: React__default.createElement("img", { src: ExternalIcon, alt: "Link opens in a new tab", style: { width: '16px', height: '16px', marginTop: '4px' } }) }));
29209
29021
  };
@@ -32737,27 +32549,26 @@ styleInject(css_248z$2);
32737
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}";
32738
32550
  styleInject(css_248z$1);
32739
32551
 
32740
- var id = 0;
32741
- var getKey = function () { return id++; };
32742
- var LuiTooltip = function (props) {
32743
- var children = props.children, message = props.message, placement = props.placement, trigger = props.trigger, _a = props.animation, animation = _a === void 0 ? true : _a;
32744
- var id = "LuiToolTip_".concat(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, [])}`;
32745
32557
  if (typeof message !== 'string') {
32746
32558
  throw new Error('LuiTooltip message must be a string!');
32747
32559
  }
32748
- useEffect(function () {
32749
- tippy("#".concat(id), {
32560
+ useEffect(() => {
32561
+ tippy(`#${id}`, {
32750
32562
  content: message,
32751
32563
  arrow: true,
32752
- trigger: trigger,
32564
+ trigger,
32753
32565
  theme: 'LUI',
32754
- placement: placement,
32566
+ placement,
32755
32567
  offset: [0, 24],
32756
- animation: animation
32568
+ animation,
32757
32569
  });
32758
- return function () {
32759
- var _a, _b;
32760
- (_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();
32761
32572
  };
32762
32573
  }, [id, message, placement, trigger, animation]);
32763
32574
  return React__default.createElement("span", { id: id }, children);
@@ -32776,49 +32587,48 @@ var LuiTooltip = function (props) {
32776
32587
  ```
32777
32588
  */
32778
32589
  function useClickedOutsideElement(refElement, handleClickOutside) {
32779
- React__default.useEffect(function () {
32590
+ React__default.useEffect(() => {
32780
32591
  function onOutsideClicked(event) {
32781
- var element = refElement.current;
32782
- if (!(element === null || element === void 0 ? void 0 : element.contains(event.target))) {
32592
+ const element = refElement.current;
32593
+ if (!element?.contains(event.target)) {
32783
32594
  handleClickOutside();
32784
32595
  }
32785
32596
  }
32786
32597
  document.addEventListener('mousedown', onOutsideClicked);
32787
- return function () {
32598
+ return () => {
32788
32599
  document.removeEventListener('mousedown', onOutsideClicked);
32789
32600
  };
32790
32601
  // eslint-disable-next-line react-hooks/exhaustive-deps
32791
32602
  }, []);
32792
32603
  }
32793
32604
 
32794
- 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));
32795
32606
 
32796
- var LuiSidePanelContext = React__default.createContext({ setProps: function () { return undefined; } });
32607
+ const LuiSidePanelContext = React__default.createContext({ setProps: () => undefined });
32797
32608
  /* eslint-disable react/prop-types */
32798
- var LuiSidePanel = function (_a) {
32799
- var children = _a.children, onClose = _a.onClose, width = _a.width, top = _a.top;
32800
- var setProps = React__default.useContext(LuiSidePanelContext).setProps;
32801
- React__default.useEffect(function () {
32802
- setProps({ children: children, onClose: onClose, width: width, top: top });
32803
- 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 () => {
32804
32614
  setProps(undefined);
32805
32615
  };
32806
32616
  }, [setProps, children, onClose, width, top]);
32807
32617
  return React__default.createElement(React__default.Fragment, null);
32808
32618
  };
32809
- var LuiSidePanelContainer = function (props) {
32810
- 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 ?? {};
32811
32621
  return (React__default.createElement("section", { style: {
32812
32622
  position: 'fixed',
32813
32623
  right: 0,
32814
32624
  bottom: 0,
32815
32625
  top: top,
32816
32626
  background: 'white',
32817
- width: children ? width !== null && width !== void 0 ? width : '50%' : '0%',
32627
+ width: children ? width ?? '50%' : '0%',
32818
32628
  transition: 'width 0.2s ease',
32819
32629
  boxShadow: '-0.1em 0 0.4em rgba(0, 0, 0, 0.2)',
32820
32630
  padding: 0,
32821
- zIndex: 3
32631
+ zIndex: 3,
32822
32632
  } },
32823
32633
  children && (React__default.createElement("button", { type: "button", "data-testid": "close", onClick: onClose, style: {
32824
32634
  color: '#5e5e61',
@@ -32829,30 +32639,110 @@ var LuiSidePanelContainer = function (props) {
32829
32639
  border: 'none',
32830
32640
  display: 'flex',
32831
32641
  cursor: 'pointer',
32832
- borderBottomLeftRadius: '5px'
32642
+ borderBottomLeftRadius: '5px',
32833
32643
  } },
32834
32644
  React__default.createElement(LuiIcon, { alt: "Close", name: "ic_clear", size: "lg", status: "interactive" }))),
32835
32645
  children));
32836
32646
  };
32837
- var LuiSidePanelProvider = function (_a) {
32838
- var children = _a.children;
32839
- var _b = React__default.useState(), props = _b[0], setProps = _b[1];
32840
- 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 } },
32841
32650
  children,
32842
- React__default.createElement(LuiSidePanelContainer, __assign({}, props))));
32651
+ React__default.createElement(LuiSidePanelContainer, { ...props })));
32843
32652
  };
32844
32653
 
32845
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}";
32846
32655
  styleInject(css_248z);
32847
32656
 
32848
- var LuiSwitchButton = function (props) {
32849
- var generatedId = useGenerateOrDefaultId();
32657
+ const LuiSwitchButton = (props) => {
32658
+ const generatedId = useGenerateOrDefaultId();
32850
32659
  return (React__default.createElement(React__default.Fragment, null,
32851
- React__default.createElement("input", __assign({ className: "lui-switch-checkbox", type: "checkbox", "data-testid": 'lui-switch-new', id: generatedId }, props)),
32852
- React__default.createElement("label", { "data-testid": "label", style: { background: props.checked ? '#007198' : 'gray' }, className: "lui-switch-label", htmlFor: generatedId },
32853
- 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` }))));
32854
32663
  };
32855
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
+
32856
32746
  var createDefinition = function (propNames) { return ({
32857
32747
  isEnabled: function (props) { return propNames.some(function (name) { return !!props[name]; }); },
32858
32748
  }); };
@@ -40410,10 +40300,10 @@ var AnimatePresence = function (_a) {
40410
40300
  };
40411
40301
 
40412
40302
  // import clsx from 'clsx';
40413
- var LuiAccordicard = function (props) {
40414
- var _a = props.defaultToOpen, defaultToOpen = _a === void 0 ? false : _a, children = props.children, headerContent = props.headerContent;
40415
- var _b = useState(defaultToOpen), isOpen = _b[0], setIsOpen = _b[1];
40416
- var AccordicardContent = function () {
40303
+ const LuiAccordicard = (props) => {
40304
+ const { defaultToOpen = false, children, headerContent } = props;
40305
+ const [isOpen, setIsOpen] = useState(defaultToOpen);
40306
+ const AccordicardContent = () => {
40417
40307
  return (React__default.createElement(motion.div, { className: "LuiAccordicard-contentWrapper", key: "content", initial: ['collapsed'], animate: "open", exit: "collapsed", variants: {
40418
40308
  open: {
40419
40309
  opacity: 1,
@@ -40422,14 +40312,14 @@ var LuiAccordicard = function (props) {
40422
40312
  opacity: {
40423
40313
  delay: 0.1,
40424
40314
  duration: 0.6,
40425
- ease: [0.04, 0.62, 0.23, 0.98]
40315
+ ease: [0.04, 0.62, 0.23, 0.98],
40426
40316
  },
40427
40317
  height: {
40428
40318
  delay: 0,
40429
40319
  duration: 0.2,
40430
- ease: [0.04, 0.62, 0.23, 0.98]
40431
- }
40432
- }
40320
+ ease: [0.04, 0.62, 0.23, 0.98],
40321
+ },
40322
+ },
40433
40323
  },
40434
40324
  collapsed: {
40435
40325
  opacity: 0,
@@ -40438,15 +40328,15 @@ var LuiAccordicard = function (props) {
40438
40328
  opacity: {
40439
40329
  delay: 0,
40440
40330
  duration: 0.2,
40441
- ease: [0.04, 0.62, 0.23, 0.98]
40331
+ ease: [0.04, 0.62, 0.23, 0.98],
40442
40332
  },
40443
40333
  height: {
40444
40334
  delay: 0.1,
40445
40335
  duration: 0.2,
40446
- ease: [0.04, 0.62, 0.23, 0.98]
40447
- }
40448
- }
40449
- }
40336
+ ease: [0.04, 0.62, 0.23, 0.98],
40337
+ },
40338
+ },
40339
+ },
40450
40340
  } },
40451
40341
  React__default.createElement("div", { className: clsx('LuiAccordicard-content', isOpen ? 'LuiAccordicard-content--isOpen' : null) }, isOpen ? children : React__default.createElement(React__default.Fragment, null))));
40452
40342
  };
@@ -40456,13 +40346,13 @@ var LuiAccordicard = function (props) {
40456
40346
  React__default.createElement(motion.header, { layout: true, initial: false, className: "LuiAccordicard-header" },
40457
40347
  React__default.createElement("div", { className: "LuiAccordicard-headerContent" }, headerContent)),
40458
40348
  React__default.createElement(AnimatePresence, { initial: false }, isOpen && React__default.createElement(AccordicardContent, null)),
40459
- 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) },
40460
40350
  React__default.createElement(LuiIcon, { className: clsx('LuiAccordicard-chevron', isOpen ? 'LuiAccordicard-chevron--isOpen' : null), name: 'ic_expand_more', alt: "expand", size: "md" }))));
40461
40351
  };
40462
40352
 
40463
- var LuiAccordicardStatic = function (props) {
40464
- var _a = props.defaultToOpen, defaultToOpen = _a === void 0 ? false : _a, children = props.children, headerContent = props.headerContent;
40465
- var _b = useState(defaultToOpen), isOpen = _b[0], setIsOpen = _b[1];
40353
+ const LuiAccordicardStatic = (props) => {
40354
+ const { defaultToOpen = false, children, headerContent } = props;
40355
+ const [isOpen, setIsOpen] = useState(defaultToOpen);
40466
40356
  return (React__default.createElement("div", { className: clsx('LuiAccordicardStatic', isOpen ? 'LuiAccordicardStatic--isOpen' : null, props.warning ? 'LuiAccordicardStatic--warning' : null, props.className) },
40467
40357
  props.warning && (React__default.createElement("div", { className: "LuiAccordicardStatic-sideBar" },
40468
40358
  React__default.createElement(LuiIcon, { className: "LuiAccordicardStatic-warningIcon", alt: "Accordicard warning", name: 'ic_warning', size: 'md' }))),
@@ -40470,7 +40360,7 @@ var LuiAccordicardStatic = function (props) {
40470
40360
  React__default.createElement("div", { className: "LuiAccordicardStatic-headerContent" }, headerContent)),
40471
40361
  React__default.createElement("div", { className: clsx('LuiAccordicardStatic-contentWrapper', isOpen ? 'LuiAccordicardStatic-contentWrapper--isOpen' : null) },
40472
40362
  React__default.createElement("div", { className: clsx('LuiAccordicardStatic-content', isOpen ? 'LuiAccordicardStatic-content--isOpen' : null) }, isOpen ? children : React__default.createElement(React__default.Fragment, null))),
40473
- React__default.createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicardStatic-trigger", onClick: function () { return setIsOpen(!isOpen); } },
40363
+ React__default.createElement("button", { "aria-label": isOpen ? 'Expanded' : 'Closed', className: "LuiAccordicardStatic-trigger", onClick: () => setIsOpen(!isOpen) },
40474
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" }))));
40475
40365
  };
40476
40366