@leanix/components 0.4.443 → 0.4.445

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.
@@ -1,21 +1,40 @@
1
- import { NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, computed, HostBinding, inject, InjectionToken, input, Input } from '@angular/core';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
+ // eslint-disable-next-line no-restricted-imports
5
+ import { IconComponent } from '@ui5/webcomponents-ngx/main/icon';
6
+ import { BehaviorSubject, of } from 'rxjs';
3
7
  import { TinySpinnerComponent } from '../tiny-spinner/tiny-spinner.component';
4
8
  import * as i0 from "@angular/core";
9
+ /**
10
+ * @internal
11
+ * Opt-in to render SAP icons in the `ButtonComponent`
12
+ */
13
+ export const LX_BUTTON_USE_SAP_ICONS = new InjectionToken('LX_BUTTON_USE_SAP_ICONS', {
14
+ factory: () => new BehaviorSubject(false)
15
+ });
16
+ /**
17
+ * @internal
18
+ * Maps font awesome icons to SAP icons to toggle icons in `ButtonComponent`.
19
+ * Required if `LX_BUTTON_USE_SAP_ICONS` is provided with `true`.
20
+ */
21
+ export const LX_BUTTON_ICON_MAP = new InjectionToken('ICON_MAP');
5
22
  /**
6
23
  * Button component is used to create a button with different styles and sizes. This uses native button element and
7
24
  * only provides styling and some additional features like loading spinner.
8
25
  *
9
26
  * ## Usage
10
27
  *
11
- * 1. Import the `LxCoreUiModule` module from `@leanix/components` in your module where you want to use the component.
28
+ * 1. Import the `ButtonComponent` from `@leanix/components` where you want to use the component.
12
29
  *
13
30
  * ```ts
14
- * import { LxCoreUiModule } from '@leanix/components';
31
+ * import { ButtonComponent } from '@leanix/components';
15
32
  * ```
16
33
  */
17
34
  export class ButtonComponent {
18
35
  constructor() {
36
+ this.iconMap = inject(LX_BUTTON_ICON_MAP, { optional: true });
37
+ this.useSAPIcons = toSignal(inject(LX_BUTTON_USE_SAP_ICONS, { optional: true }) || of(false));
19
38
  /**
20
39
  * The size of the button.
21
40
  */
@@ -48,20 +67,56 @@ export class ButtonComponent {
48
67
  * This disables the button.
49
68
  */
50
69
  this.disabled = false;
70
+ /**
71
+ * The icon name (font-awesome) to display inside the button.
72
+ * It is displayed before any additional content.
73
+ *
74
+ * @default undefined
75
+ * @example
76
+ * <button lx-button icon="fa-times">Close</button>
77
+ */
78
+ this.icon = input();
79
+ this.iconName = computed(() => this.getMappedIconName(this.icon()));
80
+ /**
81
+ * The icon name (font-awesome) to display inside the button.
82
+ * It is displayed after any additional content.
83
+ *
84
+ * @default undefined
85
+ * @example
86
+ * <button lx-button endIcon="fa-times">Close</button>
87
+ */
88
+ this.endIcon = input();
89
+ this.endIconName = computed(() => this.getMappedIconName(this.endIcon()));
51
90
  /**
52
91
  * This shows a spinner inside the button.
53
92
  */
54
93
  this.showSpinner = false;
55
94
  }
95
+ get hasIcon() {
96
+ return !!this.icon() || !!this.endIcon();
97
+ }
56
98
  get isDisabled() {
57
99
  return this.disabled || this.showSpinner;
58
100
  }
101
+ getMappedIconName(iconName) {
102
+ const useSAPIcons = this.useSAPIcons();
103
+ if (!iconName || (useSAPIcons && !this.iconMap)) {
104
+ return null;
105
+ }
106
+ if (useSAPIcons && this.iconMap) {
107
+ return getSAPIcon(iconName, this.iconMap);
108
+ }
109
+ if (!useSAPIcons) {
110
+ return iconName;
111
+ }
112
+ return null;
113
+ }
59
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ButtonComponent, isStandalone: true, selector: "button[lx-button]", inputs: { size: "size", color: "color", mode: "mode", pressed: "pressed", selected: "selected", square: "square", circle: "circle", disabled: "disabled", showSpinner: "showSpinner" }, host: { properties: { "attr.size": "this.size", "attr.color": "this.color", "attr.mode": "this.mode", "class.pressed": "this.pressed", "class.selected": "this.selected", "class.square": "this.square", "class.circle": "this.circle", "class.loading": "this.showSpinner", "disabled": "this.isDisabled" } }, ngImport: i0, template: "<lx-tiny-spinner *ngIf=\"showSpinner\" />\n<ng-content />\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host ::ng-deep i{font-size:.9em}:host{border-radius:3px;font-weight:var(--lxFontNormal, 400);cursor:pointer;transition:color,background-color,border-color .18s;transition-delay:0s;transition-timing-function:ease}:host[disabled]{opacity:.5;cursor:default}:host[color=default] lx-tiny-spinner{color:#2a303d}:host[color=default][mode=solid]{color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=solid]:hover:not([disabled]),:host[color=default][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=default][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=default][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=outline]:focus:not([disabled]),:host[color=default][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=default][mode=ghost]:focus:not([disabled]),:host[color=default][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=default][mode=link]:focus:not([disabled]),:host[color=default][mode=link]:hover:not([disabled]),:host[color=default][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=light] lx-tiny-spinner{color:#2a303d}:host[color=light][mode=solid]{color:#2a303d;background-color:#fff;border:1px solid #99a5bb}:host[color=light][mode=solid]:hover:not([disabled]),:host[color=light][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=light][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=light][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=outline]:focus:not([disabled]),:host[color=light][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=light][mode=ghost]:focus:not([disabled]),:host[color=light][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=light][mode=link]:focus:not([disabled]),:host[color=light][mode=link]:hover:not([disabled]),:host[color=light][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=primary] lx-tiny-spinner{color:var(--lx-primarybutton-fontcolor)}:host[color=primary][mode=solid]{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=solid]:hover:not([disabled]),:host[color=primary][mode=solid]:focus:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=solid]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcoloractive);border:1px solid var(--lx-primarybutton-backgroundcoloractive)}:host[color=primary][mode=solid].pressed{background-color:var(--lx-primarybutton-backgroundcoloractive)!important;border-color:var(--lx-primarybutton-backgroundcoloractive)!important}:host[color=primary][mode=solid].selected{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=outline]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:focus:not([disabled]),:host[color=primary][mode=outline]:hover:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=ghost]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent}:host[color=primary][mode=ghost]:focus:not([disabled]),:host[color=primary][mode=ghost]:hover:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=ghost]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=link]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=primary][mode=link]:focus:not([disabled]),:host[color=primary][mode=link]:hover:not([disabled]),:host[color=primary][mode=link]:active:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=danger] lx-tiny-spinner{color:#fff}:host[color=danger][mode=solid]{color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=solid]:hover:not([disabled]),:host[color=danger][mode=solid]:focus:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=solid]:active:not([disabled]){color:#fff;background-color:#bd0707;border:1px solid #bd0707}:host[color=danger][mode=solid].pressed{background-color:#bd0707!important;border-color:#bd0707!important}:host[color=danger][mode=solid].selected{color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=outline]{color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=outline]:focus:not([disabled]),:host[color=danger][mode=outline]:hover:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=outline]:active:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=ghost]{color:#f96464;background-color:transparent;border:1px solid transparent}:host[color=danger][mode=ghost]:focus:not([disabled]),:host[color=danger][mode=ghost]:hover:not([disabled]){color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=ghost]:active:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=link]{color:#f96464;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=danger][mode=link]:focus:not([disabled]),:host[color=danger][mode=link]:hover:not([disabled]),:host[color=danger][mode=link]:active:not([disabled]){color:#f96464;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=success] lx-tiny-spinner{color:#fff}:host[color=success][mode=solid]{color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=solid]:hover:not([disabled]),:host[color=success][mode=solid]:focus:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=solid]:active:not([disabled]){color:#fff;background-color:#145223;border:1px solid #145223}:host[color=success][mode=solid].pressed{background-color:#145223!important;border-color:#145223!important}:host[color=success][mode=solid].selected{color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=outline]{color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=outline]:focus:not([disabled]),:host[color=success][mode=outline]:hover:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=outline]:active:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=ghost]{color:#33cc58;background-color:transparent;border:1px solid transparent}:host[color=success][mode=ghost]:focus:not([disabled]),:host[color=success][mode=ghost]:hover:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=ghost]:active:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=link]{color:#33cc58;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=success][mode=link]:focus:not([disabled]),:host[color=success][mode=link]:hover:not([disabled]),:host[color=success][mode=link]:active:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[size=small]{height:20px;line-height:12px;padding:3px 7px;font-size:12px;min-width:20px}:host[size=small].square{width:20px;text-align:center;padding:0}:host[size=small].circle{border-radius:10px;min-width:20px;padding:0 3px}:host[size=medium]{height:24px;line-height:16px;padding:3px 7px;font-size:var(--lxFontSize, 13.5px);min-width:24px}:host[size=medium].square{width:24px;text-align:center;padding:0}:host[size=medium].circle{border-radius:11px;min-width:24px;padding:0 3px}:host[size=large]{height:32px;line-height:16px;padding:7px 11px;font-size:var(--lxFontSize, 13.5px);min-width:32px}:host[size=large].square{width:32px;text-align:center;padding:0}:host[size=large].circle{border-radius:15px;min-width:32px;padding:0 7px}:host[size=auto]{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].square{width:auto;text-align:center;padding:0}:host[size=auto].circle{border-radius:unset;min-width:auto;padding:0}:host[size=auto].circle{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].circle.square{width:auto;text-align:center;padding:0}:host[size=auto].circle.circle{border-radius:10px;min-width:auto;padding:0}:host.loading{position:relative;opacity:.5;color:transparent!important}:host.loading lx-tiny-spinner{position:absolute;left:calc(50% - .5em)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TinySpinnerComponent, selector: "lx-tiny-spinner" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ButtonComponent, isStandalone: true, selector: "button[lx-button]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: false, isRequired: false, transformFunction: null }, pressed: { classPropertyName: "pressed", publicName: "pressed", isSignal: false, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: false, isRequired: false, transformFunction: null }, square: { classPropertyName: "square", publicName: "square", isSignal: false, isRequired: false, transformFunction: null }, circle: { classPropertyName: "circle", publicName: "circle", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, endIcon: { classPropertyName: "endIcon", publicName: "endIcon", isSignal: true, isRequired: false, transformFunction: null }, showSpinner: { classPropertyName: "showSpinner", publicName: "showSpinner", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "attr.size": "this.size", "attr.color": "this.color", "attr.mode": "this.mode", "class.pressed": "this.pressed", "class.selected": "this.selected", "class.square": "this.square", "class.circle": "this.circle", "class.withIcon": "this.hasIcon", "class.loading": "this.showSpinner", "disabled": "this.isDisabled" } }, ngImport: i0, template: "@let useNewIcons = useSAPIcons();\n@let startIcon = iconName();\n@let endIcon = endIconName();\n@if (!startIcon && !endIcon) {\n <!-- old layout -->\n @if (showSpinner) {\n <lx-tiny-spinner />\n }\n <ng-container *ngTemplateOutlet=\"content\" />\n} @else {\n <div class=\"contentWrapper\">\n <!-- new layout -->\n @if (showSpinner) {\n <lx-tiny-spinner />\n } @else if (startIcon && useNewIcons) {\n <ui5-icon class=\"ui5Icon\" [name]=\"startIcon\" data-testid=\"start-icon\" />\n } @else if (startIcon && !useNewIcons) {\n <i class=\"far fa-fw\" [class]=\"startIcon\" role=\"img\" aria-hidden=\"true\" data-testid=\"start-icon\"></i>\n }\n <ng-container *ngTemplateOutlet=\"content\" />\n @if (!showSpinner && endIcon && useNewIcons) {\n <ui5-icon class=\"ui5Icon\" [name]=\"endIcon\" data-testid=\"end-icon\" />\n } @else if (!showSpinner && endIcon && !useNewIcons) {\n <i class=\"far fa-fw\" [class]=\"endIcon\" role=\"img\" aria-hidden=\"true\" data-testid=\"end-icon\"></i>\n }\n </div>\n}\n\n<!-- ng-content with the same slot can be used once in the same template -->\n<ng-template #content>\n <ng-content />\n</ng-template>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host ::ng-deep i{font-size:.9em}:host(.withIcon){line-height:unset}:host(.withIcon) .contentWrapper{display:flex;height:100%;align-items:center;justify-content:center;column-gap:4px}:host(.withIcon) .far{line-height:unset;font-size:var(--lxFontSmallSize)}:host(.withIcon) .ui5Icon{width:var(--lxFontSmallSize);height:var(--lxFontSmallSize);color:inherit}:host(.withIcon).loading[color]{position:relative;color:transparent}:host(.withIcon).loading[color] lx-tiny-spinner{position:absolute;left:50%;transform:translate(-50%)}:host{border-radius:3px;font-weight:var(--lxFontNormal, 400);cursor:pointer;transition:color,background-color,border-color .18s;transition-delay:0s;transition-timing-function:ease}:host[disabled]{opacity:.5;cursor:default}:host[color=default] lx-tiny-spinner{color:#2a303d}:host[color=default][mode=solid]{color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=solid]:hover:not([disabled]),:host[color=default][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=default][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=default][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=outline]:focus:not([disabled]),:host[color=default][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=default][mode=ghost]:focus:not([disabled]),:host[color=default][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=default][mode=link]:focus:not([disabled]),:host[color=default][mode=link]:hover:not([disabled]),:host[color=default][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=light] lx-tiny-spinner{color:#2a303d}:host[color=light][mode=solid]{color:#2a303d;background-color:#fff;border:1px solid #99a5bb}:host[color=light][mode=solid]:hover:not([disabled]),:host[color=light][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=light][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=light][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=outline]:focus:not([disabled]),:host[color=light][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=light][mode=ghost]:focus:not([disabled]),:host[color=light][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=light][mode=link]:focus:not([disabled]),:host[color=light][mode=link]:hover:not([disabled]),:host[color=light][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=primary] lx-tiny-spinner{color:var(--lx-primarybutton-fontcolor)}:host[color=primary][mode=solid]{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=solid]:hover:not([disabled]),:host[color=primary][mode=solid]:focus:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=solid]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcoloractive);border:1px solid var(--lx-primarybutton-backgroundcoloractive)}:host[color=primary][mode=solid].pressed{background-color:var(--lx-primarybutton-backgroundcoloractive)!important;border-color:var(--lx-primarybutton-backgroundcoloractive)!important}:host[color=primary][mode=solid].selected{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=outline]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:focus:not([disabled]),:host[color=primary][mode=outline]:hover:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=ghost]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent}:host[color=primary][mode=ghost]:focus:not([disabled]),:host[color=primary][mode=ghost]:hover:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=ghost]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=link]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=primary][mode=link]:focus:not([disabled]),:host[color=primary][mode=link]:hover:not([disabled]),:host[color=primary][mode=link]:active:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=danger] lx-tiny-spinner{color:#fff}:host[color=danger][mode=solid]{color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=solid]:hover:not([disabled]),:host[color=danger][mode=solid]:focus:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=solid]:active:not([disabled]){color:#fff;background-color:#bd0707;border:1px solid #bd0707}:host[color=danger][mode=solid].pressed{background-color:#bd0707!important;border-color:#bd0707!important}:host[color=danger][mode=solid].selected{color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=outline]{color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=outline]:focus:not([disabled]),:host[color=danger][mode=outline]:hover:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=outline]:active:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=ghost]{color:#f96464;background-color:transparent;border:1px solid transparent}:host[color=danger][mode=ghost]:focus:not([disabled]),:host[color=danger][mode=ghost]:hover:not([disabled]){color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=ghost]:active:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=link]{color:#f96464;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=danger][mode=link]:focus:not([disabled]),:host[color=danger][mode=link]:hover:not([disabled]),:host[color=danger][mode=link]:active:not([disabled]){color:#f96464;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=success] lx-tiny-spinner{color:#fff}:host[color=success][mode=solid]{color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=solid]:hover:not([disabled]),:host[color=success][mode=solid]:focus:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=solid]:active:not([disabled]){color:#fff;background-color:#145223;border:1px solid #145223}:host[color=success][mode=solid].pressed{background-color:#145223!important;border-color:#145223!important}:host[color=success][mode=solid].selected{color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=outline]{color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=outline]:focus:not([disabled]),:host[color=success][mode=outline]:hover:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=outline]:active:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=ghost]{color:#33cc58;background-color:transparent;border:1px solid transparent}:host[color=success][mode=ghost]:focus:not([disabled]),:host[color=success][mode=ghost]:hover:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=ghost]:active:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=link]{color:#33cc58;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=success][mode=link]:focus:not([disabled]),:host[color=success][mode=link]:hover:not([disabled]),:host[color=success][mode=link]:active:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[size=small]{height:20px;line-height:12px;padding:3px 7px;font-size:12px;min-width:20px}:host[size=small].square{width:20px;text-align:center;padding:0}:host[size=small].circle{border-radius:10px;min-width:20px;padding:0 3px}:host[size=medium]{height:24px;line-height:16px;padding:3px 7px;font-size:var(--lxFontSize, 13.5px);min-width:24px}:host[size=medium].square{width:24px;text-align:center;padding:0}:host[size=medium].circle{border-radius:11px;min-width:24px;padding:0 3px}:host[size=large]{height:32px;line-height:16px;padding:7px 11px;font-size:var(--lxFontSize, 13.5px);min-width:32px}:host[size=large].square{width:32px;text-align:center;padding:0}:host[size=large].circle{border-radius:15px;min-width:32px;padding:0 7px}:host[size=auto]{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].square{width:auto;text-align:center;padding:0}:host[size=auto].circle{border-radius:unset;min-width:auto;padding:0}:host[size=auto].circle{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].circle.square{width:auto;text-align:center;padding:0}:host[size=auto].circle.circle{border-radius:10px;min-width:auto;padding:0}:host.loading:not(.withIcon){position:relative;opacity:.5;color:transparent!important}:host.loading:not(.withIcon) lx-tiny-spinner{position:absolute;left:calc(50% - .5em)}\n"], dependencies: [{ kind: "component", type: TinySpinnerComponent, selector: "lx-tiny-spinner" }, { kind: "component", type: IconComponent, selector: "ui5-icon", inputs: ["design", "name", "accessibleName", "showTooltip", "mode"], exportAs: ["ui5Icon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
116
  }
62
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ButtonComponent, decorators: [{
63
118
  type: Component,
64
- args: [{ selector: 'button[lx-button]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, TinySpinnerComponent], template: "<lx-tiny-spinner *ngIf=\"showSpinner\" />\n<ng-content />\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host ::ng-deep i{font-size:.9em}:host{border-radius:3px;font-weight:var(--lxFontNormal, 400);cursor:pointer;transition:color,background-color,border-color .18s;transition-delay:0s;transition-timing-function:ease}:host[disabled]{opacity:.5;cursor:default}:host[color=default] lx-tiny-spinner{color:#2a303d}:host[color=default][mode=solid]{color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=solid]:hover:not([disabled]),:host[color=default][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=default][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=default][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=outline]:focus:not([disabled]),:host[color=default][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=default][mode=ghost]:focus:not([disabled]),:host[color=default][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=default][mode=link]:focus:not([disabled]),:host[color=default][mode=link]:hover:not([disabled]),:host[color=default][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=light] lx-tiny-spinner{color:#2a303d}:host[color=light][mode=solid]{color:#2a303d;background-color:#fff;border:1px solid #99a5bb}:host[color=light][mode=solid]:hover:not([disabled]),:host[color=light][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=light][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=light][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=outline]:focus:not([disabled]),:host[color=light][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=light][mode=ghost]:focus:not([disabled]),:host[color=light][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=light][mode=link]:focus:not([disabled]),:host[color=light][mode=link]:hover:not([disabled]),:host[color=light][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=primary] lx-tiny-spinner{color:var(--lx-primarybutton-fontcolor)}:host[color=primary][mode=solid]{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=solid]:hover:not([disabled]),:host[color=primary][mode=solid]:focus:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=solid]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcoloractive);border:1px solid var(--lx-primarybutton-backgroundcoloractive)}:host[color=primary][mode=solid].pressed{background-color:var(--lx-primarybutton-backgroundcoloractive)!important;border-color:var(--lx-primarybutton-backgroundcoloractive)!important}:host[color=primary][mode=solid].selected{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=outline]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:focus:not([disabled]),:host[color=primary][mode=outline]:hover:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=ghost]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent}:host[color=primary][mode=ghost]:focus:not([disabled]),:host[color=primary][mode=ghost]:hover:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=ghost]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=link]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=primary][mode=link]:focus:not([disabled]),:host[color=primary][mode=link]:hover:not([disabled]),:host[color=primary][mode=link]:active:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=danger] lx-tiny-spinner{color:#fff}:host[color=danger][mode=solid]{color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=solid]:hover:not([disabled]),:host[color=danger][mode=solid]:focus:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=solid]:active:not([disabled]){color:#fff;background-color:#bd0707;border:1px solid #bd0707}:host[color=danger][mode=solid].pressed{background-color:#bd0707!important;border-color:#bd0707!important}:host[color=danger][mode=solid].selected{color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=outline]{color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=outline]:focus:not([disabled]),:host[color=danger][mode=outline]:hover:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=outline]:active:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=ghost]{color:#f96464;background-color:transparent;border:1px solid transparent}:host[color=danger][mode=ghost]:focus:not([disabled]),:host[color=danger][mode=ghost]:hover:not([disabled]){color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=ghost]:active:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=link]{color:#f96464;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=danger][mode=link]:focus:not([disabled]),:host[color=danger][mode=link]:hover:not([disabled]),:host[color=danger][mode=link]:active:not([disabled]){color:#f96464;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=success] lx-tiny-spinner{color:#fff}:host[color=success][mode=solid]{color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=solid]:hover:not([disabled]),:host[color=success][mode=solid]:focus:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=solid]:active:not([disabled]){color:#fff;background-color:#145223;border:1px solid #145223}:host[color=success][mode=solid].pressed{background-color:#145223!important;border-color:#145223!important}:host[color=success][mode=solid].selected{color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=outline]{color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=outline]:focus:not([disabled]),:host[color=success][mode=outline]:hover:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=outline]:active:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=ghost]{color:#33cc58;background-color:transparent;border:1px solid transparent}:host[color=success][mode=ghost]:focus:not([disabled]),:host[color=success][mode=ghost]:hover:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=ghost]:active:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=link]{color:#33cc58;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=success][mode=link]:focus:not([disabled]),:host[color=success][mode=link]:hover:not([disabled]),:host[color=success][mode=link]:active:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[size=small]{height:20px;line-height:12px;padding:3px 7px;font-size:12px;min-width:20px}:host[size=small].square{width:20px;text-align:center;padding:0}:host[size=small].circle{border-radius:10px;min-width:20px;padding:0 3px}:host[size=medium]{height:24px;line-height:16px;padding:3px 7px;font-size:var(--lxFontSize, 13.5px);min-width:24px}:host[size=medium].square{width:24px;text-align:center;padding:0}:host[size=medium].circle{border-radius:11px;min-width:24px;padding:0 3px}:host[size=large]{height:32px;line-height:16px;padding:7px 11px;font-size:var(--lxFontSize, 13.5px);min-width:32px}:host[size=large].square{width:32px;text-align:center;padding:0}:host[size=large].circle{border-radius:15px;min-width:32px;padding:0 7px}:host[size=auto]{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].square{width:auto;text-align:center;padding:0}:host[size=auto].circle{border-radius:unset;min-width:auto;padding:0}:host[size=auto].circle{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].circle.square{width:auto;text-align:center;padding:0}:host[size=auto].circle.circle{border-radius:10px;min-width:auto;padding:0}:host.loading{position:relative;opacity:.5;color:transparent!important}:host.loading lx-tiny-spinner{position:absolute;left:calc(50% - .5em)}\n"] }]
119
+ args: [{ selector: 'button[lx-button]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [TinySpinnerComponent, IconComponent, NgTemplateOutlet], template: "@let useNewIcons = useSAPIcons();\n@let startIcon = iconName();\n@let endIcon = endIconName();\n@if (!startIcon && !endIcon) {\n <!-- old layout -->\n @if (showSpinner) {\n <lx-tiny-spinner />\n }\n <ng-container *ngTemplateOutlet=\"content\" />\n} @else {\n <div class=\"contentWrapper\">\n <!-- new layout -->\n @if (showSpinner) {\n <lx-tiny-spinner />\n } @else if (startIcon && useNewIcons) {\n <ui5-icon class=\"ui5Icon\" [name]=\"startIcon\" data-testid=\"start-icon\" />\n } @else if (startIcon && !useNewIcons) {\n <i class=\"far fa-fw\" [class]=\"startIcon\" role=\"img\" aria-hidden=\"true\" data-testid=\"start-icon\"></i>\n }\n <ng-container *ngTemplateOutlet=\"content\" />\n @if (!showSpinner && endIcon && useNewIcons) {\n <ui5-icon class=\"ui5Icon\" [name]=\"endIcon\" data-testid=\"end-icon\" />\n } @else if (!showSpinner && endIcon && !useNewIcons) {\n <i class=\"far fa-fw\" [class]=\"endIcon\" role=\"img\" aria-hidden=\"true\" data-testid=\"end-icon\"></i>\n }\n </div>\n}\n\n<!-- ng-content with the same slot can be used once in the same template -->\n<ng-template #content>\n <ng-content />\n</ng-template>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host ::ng-deep i{font-size:.9em}:host(.withIcon){line-height:unset}:host(.withIcon) .contentWrapper{display:flex;height:100%;align-items:center;justify-content:center;column-gap:4px}:host(.withIcon) .far{line-height:unset;font-size:var(--lxFontSmallSize)}:host(.withIcon) .ui5Icon{width:var(--lxFontSmallSize);height:var(--lxFontSmallSize);color:inherit}:host(.withIcon).loading[color]{position:relative;color:transparent}:host(.withIcon).loading[color] lx-tiny-spinner{position:absolute;left:50%;transform:translate(-50%)}:host{border-radius:3px;font-weight:var(--lxFontNormal, 400);cursor:pointer;transition:color,background-color,border-color .18s;transition-delay:0s;transition-timing-function:ease}:host[disabled]{opacity:.5;cursor:default}:host[color=default] lx-tiny-spinner{color:#2a303d}:host[color=default][mode=solid]{color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=solid]:hover:not([disabled]),:host[color=default][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=default][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=default][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=outline]:focus:not([disabled]),:host[color=default][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=default][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=default][mode=ghost]:focus:not([disabled]),:host[color=default][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=default][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#f0f2f5;border:1px solid #f0f2f5}:host[color=default][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=default][mode=link]:focus:not([disabled]),:host[color=default][mode=link]:hover:not([disabled]),:host[color=default][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=light] lx-tiny-spinner{color:#2a303d}:host[color=light][mode=solid]{color:#2a303d;background-color:#fff;border:1px solid #99a5bb}:host[color=light][mode=solid]:hover:not([disabled]),:host[color=light][mode=solid]:focus:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=solid]:active:not([disabled]){color:#2a303d;background-color:#c2c9d6;border:1px solid #c2c9d6}:host[color=light][mode=solid].pressed{background-color:#c2c9d6!important;border-color:#c2c9d6!important}:host[color=light][mode=solid].selected{color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=outline]{color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=outline]:focus:not([disabled]),:host[color=light][mode=outline]:hover:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=outline]:active:not([disabled]){color:#2a303d;background-color:#e1e5eb;border:1px solid #e1e5eb}:host[color=light][mode=ghost]{color:#2a303d;background-color:transparent;border:1px solid transparent}:host[color=light][mode=ghost]:focus:not([disabled]),:host[color=light][mode=ghost]:hover:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid #e1e5eb}:host[color=light][mode=ghost]:active:not([disabled]){color:#2a303d;background-color:#fff;border:1px solid #fff}:host[color=light][mode=link]{color:#2a303d;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=light][mode=link]:focus:not([disabled]),:host[color=light][mode=link]:hover:not([disabled]),:host[color=light][mode=link]:active:not([disabled]){color:#2a303d;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=primary] lx-tiny-spinner{color:var(--lx-primarybutton-fontcolor)}:host[color=primary][mode=solid]{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=solid]:hover:not([disabled]),:host[color=primary][mode=solid]:focus:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=solid]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcoloractive);border:1px solid var(--lx-primarybutton-backgroundcoloractive)}:host[color=primary][mode=solid].pressed{background-color:var(--lx-primarybutton-backgroundcoloractive)!important;border-color:var(--lx-primarybutton-backgroundcoloractive)!important}:host[color=primary][mode=solid].selected{color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=outline]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:focus:not([disabled]),:host[color=primary][mode=outline]:hover:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=outline]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolorhover);border:1px solid var(--lx-primarybutton-backgroundcolorhover)}:host[color=primary][mode=ghost]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent}:host[color=primary][mode=ghost]:focus:not([disabled]),:host[color=primary][mode=ghost]:hover:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=ghost]:active:not([disabled]){color:var(--lx-primarybutton-fontcolor);background-color:var(--lx-primarybutton-backgroundcolor);border:1px solid var(--lx-primarybutton-backgroundcolor)}:host[color=primary][mode=link]{color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=primary][mode=link]:focus:not([disabled]),:host[color=primary][mode=link]:hover:not([disabled]),:host[color=primary][mode=link]:active:not([disabled]){color:var(--lx-primarybutton-backgroundcolor);background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=danger] lx-tiny-spinner{color:#fff}:host[color=danger][mode=solid]{color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=solid]:hover:not([disabled]),:host[color=danger][mode=solid]:focus:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=solid]:active:not([disabled]){color:#fff;background-color:#bd0707;border:1px solid #bd0707}:host[color=danger][mode=solid].pressed{background-color:#bd0707!important;border-color:#bd0707!important}:host[color=danger][mode=solid].selected{color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=outline]{color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=outline]:focus:not([disabled]),:host[color=danger][mode=outline]:hover:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=outline]:active:not([disabled]){color:#fff;background-color:#f61a1a;border:1px solid #f61a1a}:host[color=danger][mode=ghost]{color:#f96464;background-color:transparent;border:1px solid transparent}:host[color=danger][mode=ghost]:focus:not([disabled]),:host[color=danger][mode=ghost]:hover:not([disabled]){color:#f96464;background-color:transparent;border:1px solid #f96464}:host[color=danger][mode=ghost]:active:not([disabled]){color:#fff;background-color:#f96464;border:1px solid #f96464}:host[color=danger][mode=link]{color:#f96464;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=danger][mode=link]:focus:not([disabled]),:host[color=danger][mode=link]:hover:not([disabled]),:host[color=danger][mode=link]:active:not([disabled]){color:#f96464;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[color=success] lx-tiny-spinner{color:#fff}:host[color=success][mode=solid]{color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=solid]:hover:not([disabled]),:host[color=success][mode=solid]:focus:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=solid]:active:not([disabled]){color:#fff;background-color:#145223;border:1px solid #145223}:host[color=success][mode=solid].pressed{background-color:#145223!important;border-color:#145223!important}:host[color=success][mode=solid].selected{color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=outline]{color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=outline]:focus:not([disabled]),:host[color=success][mode=outline]:hover:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=outline]:active:not([disabled]){color:#fff;background-color:#248f3e;border:1px solid #248f3e}:host[color=success][mode=ghost]{color:#33cc58;background-color:transparent;border:1px solid transparent}:host[color=success][mode=ghost]:focus:not([disabled]),:host[color=success][mode=ghost]:hover:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid #33cc58}:host[color=success][mode=ghost]:active:not([disabled]){color:#fff;background-color:#33cc58;border:1px solid #33cc58}:host[color=success][mode=link]{color:#33cc58;background-color:transparent;border:1px solid transparent;padding:0;border:none}:host[color=success][mode=link]:focus:not([disabled]),:host[color=success][mode=link]:hover:not([disabled]),:host[color=success][mode=link]:active:not([disabled]){color:#33cc58;background-color:transparent;border:1px solid transparent;text-decoration:underline;border:none}:host[size=small]{height:20px;line-height:12px;padding:3px 7px;font-size:12px;min-width:20px}:host[size=small].square{width:20px;text-align:center;padding:0}:host[size=small].circle{border-radius:10px;min-width:20px;padding:0 3px}:host[size=medium]{height:24px;line-height:16px;padding:3px 7px;font-size:var(--lxFontSize, 13.5px);min-width:24px}:host[size=medium].square{width:24px;text-align:center;padding:0}:host[size=medium].circle{border-radius:11px;min-width:24px;padding:0 3px}:host[size=large]{height:32px;line-height:16px;padding:7px 11px;font-size:var(--lxFontSize, 13.5px);min-width:32px}:host[size=large].square{width:32px;text-align:center;padding:0}:host[size=large].circle{border-radius:15px;min-width:32px;padding:0 7px}:host[size=auto]{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].square{width:auto;text-align:center;padding:0}:host[size=auto].circle{border-radius:unset;min-width:auto;padding:0}:host[size=auto].circle{height:auto;line-height:normal;padding:0;font-size:inherit;min-width:auto}:host[size=auto].circle.square{width:auto;text-align:center;padding:0}:host[size=auto].circle.circle{border-radius:10px;min-width:auto;padding:0}:host.loading:not(.withIcon){position:relative;opacity:.5;color:transparent!important}:host.loading:not(.withIcon) lx-tiny-spinner{position:absolute;left:calc(50% - .5em)}\n"] }]
65
120
  }], propDecorators: { size: [{
66
121
  type: Input
67
122
  }, {
@@ -99,6 +154,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
99
154
  args: ['class.circle']
100
155
  }], disabled: [{
101
156
  type: Input
157
+ }], hasIcon: [{
158
+ type: HostBinding,
159
+ args: ['class.withIcon']
102
160
  }], showSpinner: [{
103
161
  type: Input
104
162
  }, {
@@ -108,4 +166,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
108
166
  type: HostBinding,
109
167
  args: ['disabled']
110
168
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBRTlFOzs7Ozs7Ozs7OztHQVdHO0FBVUgsTUFBTSxPQUFPLGVBQWU7SUFUNUI7UUFVRTs7V0FFRztRQUNnQyxTQUFJLEdBQTBDLFFBQVEsQ0FBQztRQUMxRjs7V0FFRztRQUNpQyxVQUFLLEdBQTJELFNBQVMsQ0FBQztRQUM5Rzs7V0FFRztRQUNnQyxTQUFJLEdBQTJDLE9BQU8sQ0FBQztRQUMxRjs7V0FFRztRQUNvQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ2hFOztXQUVHO1FBQ3FDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDbEU7O1dBRUc7UUFDbUMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUM5RDs7V0FFRztRQUNtQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQzlEOztXQUVHO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUNuQzs7V0FFRztRQUdILGdCQUFXLEdBQVksS0FBSyxDQUFDO0tBTTlCO0lBSkMsSUFDSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDM0MsQ0FBQzs4R0EzQ1UsZUFBZTtrR0FBZixlQUFlLHFqQkN6QjVCLDZEQUVBLGlvWERxQlksSUFBSSw2RkFBRSxvQkFBb0I7OzJGQUV6QixlQUFlO2tCQVQzQixTQUFTOytCQUVFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQzs4QkFNRixJQUFJO3NCQUF0QyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLFdBQVc7Z0JBSUcsS0FBSztzQkFBeEMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxZQUFZO2dCQUlDLElBQUk7c0JBQXRDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsV0FBVztnQkFJTSxPQUFPO3NCQUE3QyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLGVBQWU7Z0JBSUcsUUFBUTtzQkFBL0MsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBSUEsTUFBTTtzQkFBM0MsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxjQUFjO2dCQUlFLE1BQU07c0JBQTNDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsY0FBYztnQkFJM0IsUUFBUTtzQkFBaEIsS0FBSztnQkFNTixXQUFXO3NCQUZWLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZUFBZTtnQkFJeEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGlueVNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuLi90aW55LXNwaW5uZXIvdGlueS1zcGlubmVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQnV0dG9uIGNvbXBvbmVudCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGJ1dHRvbiB3aXRoIGRpZmZlcmVudCBzdHlsZXMgYW5kIHNpemVzLiBUaGlzIHVzZXMgbmF0aXZlIGJ1dHRvbiBlbGVtZW50IGFuZFxuICogb25seSBwcm92aWRlcyBzdHlsaW5nIGFuZCBzb21lIGFkZGl0aW9uYWwgZmVhdHVyZXMgbGlrZSBsb2FkaW5nIHNwaW5uZXIuXG4gKlxuICogIyMgVXNhZ2VcbiAqXG4gKiAxLiBJbXBvcnQgdGhlIGBMeENvcmVVaU1vZHVsZWAgbW9kdWxlIGZyb20gYEBsZWFuaXgvY29tcG9uZW50c2AgaW4geW91ciBtb2R1bGUgd2hlcmUgeW91IHdhbnQgdG8gdXNlIHRoZSBjb21wb25lbnQuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IEx4Q29yZVVpTW9kdWxlIH0gZnJvbSAnQGxlYW5peC9jb21wb25lbnRzJztcbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdidXR0b25bbHgtYnV0dG9uXScsXG4gIHRlbXBsYXRlVXJsOiAnYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIFRpbnlTcGlubmVyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5zaXplJykgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICdhdXRvJyA9ICdtZWRpdW0nO1xuICAvKipcbiAgICogVGhlIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuY29sb3InKSBjb2xvcjogJ2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ2RhbmdlcicgfCAnc3VjY2VzcycgfCAnbGlnaHQnID0gJ2RlZmF1bHQnO1xuICAvKipcbiAgICogVGhlIG1vZGUgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5tb2RlJykgbW9kZTogJ3NvbGlkJyB8ICdnaG9zdCcgfCAnb3V0bGluZScgfCAnbGluaycgPSAnc29saWQnO1xuICAvKipcbiAgICogVGhlIHByZXNzZWQgc3RhdGUgb2YgdGhlIGJ1dHRvbi4gVGhpcyBzaW11bGF0ZXMgdGhlIGA6YWN0aXZlYCBzdGF0ZSBvZiB0aGUgYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5wcmVzc2VkJykgcHJlc3NlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogVGhlIHNlbGVjdGVkIHN0YXRlIG9mIHRoZSBidXR0b24uIFRoaXMgc2ltdWxhdGVzIHRoZSBgOmhvdmVyYCBzdGF0ZSBvZiB0aGUgYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBUaGlzIG1ha2VzIHRoZSBidXR0b24gc3F1YXJlLlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5zcXVhcmUnKSBzcXVhcmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIFRoaXMgbWFrZXMgY29ybmVycyByb3VuZGVkLiBVc2Ugd2l0aCBgc3F1YXJlYCBmb3IgYSB0cnVlIGNpcmNsZS5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuY2lyY2xlJykgY2lyY2xlOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBUaGlzIGRpc2FibGVzIHRoZSBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogVGhpcyBzaG93cyBhIHNwaW5uZXIgaW5zaWRlIHRoZSBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxvYWRpbmcnKVxuICBzaG93U3Bpbm5lcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnZGlzYWJsZWQnKVxuICBnZXQgaXNEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLnNob3dTcGlubmVyO1xuICB9XG59XG4iLCI8bHgtdGlueS1zcGlubmVyICpuZ0lmPVwic2hvd1NwaW5uZXJcIiAvPlxuPG5nLWNvbnRlbnQgLz5cbiJdfQ==
169
+ function getSAPIcon(iconName, iconMap) {
170
+ if (!iconMap[iconName]) {
171
+ console.warn(`No SAP icon found for Font Awesome icon ${iconName}`);
172
+ return null;
173
+ }
174
+ return iconMap[iconName]?.[0] ?? null;
175
+ }
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELGlEQUFpRDtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBRTlFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUEyQix5QkFBeUIsRUFBRTtJQUM3RyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDO0NBQzFDLENBQUMsQ0FBQztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBMkIsVUFBVSxDQUFDLENBQUM7QUFFM0Y7Ozs7Ozs7Ozs7O0dBV0c7QUFVSCxNQUFNLE9BQU8sZUFB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QUFLOztzQkFBSSxXQUFXO3VCQUFDLGdCQUFnQjtnQkFLQSxNQUFNO3NCQUEzQyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLGNBQWM7Z0JBS0UsTUFBTTtzQkFBM0MsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxjQUFjO2dCQUszQixRQUFRO3NCQUFoQixLQUFLO2dCQUU2QixPQUFPO3NCQUF6QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFnQzdCLFdBQVc7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxlQUFlO2dCQUl4QixVQUFVO3NCQURiLFdBQVc7dUJBQUMsVUFBVTs7QUF1QnpCLFNBQVMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsT0FBaUM7SUFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkNBQTJDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBpbnB1dCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1uZ3gvbWFpbi9pY29uJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRpbnlTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vdGlueS1zcGlubmVyL3Rpbnktc3Bpbm5lci5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogT3B0LWluIHRvIHJlbmRlciBTQVAgaWNvbnMgaW4gdGhlIGBCdXR0b25Db21wb25lbnRgXG4gKi9cbmV4cG9ydCBjb25zdCBMWF9CVVRUT05fVVNFX1NBUF9JQ09OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4+KCdMWF9CVVRUT05fVVNFX1NBUF9JQ09OUycsIHtcbiAgZmFjdG9yeTogKCkgPT4gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSlcbn0pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogTWFwcyBmb250IGF3ZXNvbWUgaWNvbnMgdG8gU0FQIGljb25zIHRvIHRvZ2dsZSBpY29ucyBpbiBgQnV0dG9uQ29tcG9uZW50YC5cbiAqIFJlcXVpcmVkIGlmIGBMWF9CVVRUT05fVVNFX1NBUF9JQ09OU2AgaXMgcHJvdmlkZWQgd2l0aCBgdHJ1ZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBMWF9CVVRUT05fSUNPTl9NQVAgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmVjb3JkPHN0cmluZywgc3RyaW5nW10+PignSUNPTl9NQVAnKTtcblxuLyoqXG4gKiBCdXR0b24gY29tcG9uZW50IGlzIHVzZWQgdG8gY3JlYXRlIGEgYnV0dG9uIHdpdGggZGlmZmVyZW50IHN0eWxlcyBhbmQgc2l6ZXMuIFRoaXMgdXNlcyBuYXRpdmUgYnV0dG9uIGVsZW1lbnQgYW5kXG4gKiBvbmx5IHByb3ZpZGVzIHN0eWxpbmcgYW5kIHNvbWUgYWRkaXRpb25hbCBmZWF0dXJlcyBsaWtlIGxvYWRpbmcgc3Bpbm5lci5cbiAqXG4gKiAjIyBVc2FnZVxuICpcbiAqIDEuIEltcG9ydCB0aGUgYEJ1dHRvbkNvbXBvbmVudGAgZnJvbSBgQGxlYW5peC9jb21wb25lbnRzYCB3aGVyZSB5b3Ugd2FudCB0byB1c2UgdGhlIGNvbXBvbmVudC5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGxlYW5peC9jb21wb25lbnRzJztcbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdidXR0b25bbHgtYnV0dG9uXScsXG4gIHRlbXBsYXRlVXJsOiAnYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1RpbnlTcGlubmVyQ29tcG9uZW50LCBJY29uQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGljb25NYXAgPSBpbmplY3QoTFhfQlVUVE9OX0lDT05fTUFQLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB1c2VTQVBJY29ucyA9IHRvU2lnbmFsKGluamVjdChMWF9CVVRUT05fVVNFX1NBUF9JQ09OUywgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBvZihmYWxzZSkpO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLnNpemUnKSBzaXplOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ2F1dG8nID0gJ21lZGl1bSc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbG9yJykgY29sb3I6ICdkZWZhdWx0JyB8ICdwcmltYXJ5JyB8ICdkYW5nZXInIHwgJ3N1Y2Nlc3MnIHwgJ2xpZ2h0JyA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogVGhlIG1vZGUgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5tb2RlJykgbW9kZTogJ3NvbGlkJyB8ICdnaG9zdCcgfCAnb3V0bGluZScgfCAnbGluaycgPSAnc29saWQnO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJlc3NlZCBzdGF0ZSBvZiB0aGUgYnV0dG9uLiBUaGlzIHNpbXVsYXRlcyB0aGUgYDphY3RpdmVgIHN0YXRlIG9mIHRoZSBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLnByZXNzZWQnKSBwcmVzc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWxlY3RlZCBzdGF0ZSBvZiB0aGUgYnV0dG9uLiBUaGlzIHNpbXVsYXRlcyB0aGUgYDpob3ZlcmAgc3RhdGUgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0ZWQnKSBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGlzIG1ha2VzIHRoZSBidXR0b24gc3F1YXJlLlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5zcXVhcmUnKSBzcXVhcmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhpcyBtYWtlcyBjb3JuZXJzIHJvdW5kZWQuIFVzZSB3aXRoIGBzcXVhcmVgIGZvciBhIHRydWUgY2lyY2xlLlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5jaXJjbGUnKSBjaXJjbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhpcyBkaXNhYmxlcyB0aGUgYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndpdGhJY29uJykgZ2V0IGhhc0ljb24oKSB7XG4gICAgcmV0dXJuICEhdGhpcy5pY29uKCkgfHwgISF0aGlzLmVuZEljb24oKTtcbiAgfVxuICAvKipcbiAgICogVGhlIGljb24gbmFtZSAoZm9udC1hd2Vzb21lKSB0byBkaXNwbGF5IGluc2lkZSB0aGUgYnV0dG9uLlxuICAgKiBJdCBpcyBkaXNwbGF5ZWQgYmVmb3JlIGFueSBhZGRpdGlvbmFsIGNvbnRlbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKiBAZXhhbXBsZVxuICAgKiA8YnV0dG9uIGx4LWJ1dHRvbiBpY29uPVwiZmEtdGltZXNcIj5DbG9zZTwvYnV0dG9uPlxuICAgKi9cbiAgcmVhZG9ubHkgaWNvbiA9IGlucHV0PHN0cmluZz4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbk5hbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmdldE1hcHBlZEljb25OYW1lKHRoaXMuaWNvbigpKSk7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIG5hbWUgKGZvbnQtYXdlc29tZSkgdG8gZGlzcGxheSBpbnNpZGUgdGhlIGJ1dHRvbi5cbiAgICogSXQgaXMgZGlzcGxheWVkIGFmdGVyIGFueSBhZGRpdGlvbmFsIGNvbnRlbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKiBAZXhhbXBsZVxuICAgKiA8YnV0dG9uIGx4LWJ1dHRvbiBlbmRJY29uPVwiZmEtdGltZXNcIj5DbG9zZTwvYnV0dG9uPlxuICAgKi9cbiAgcmVhZG9ubHkgZW5kSWNvbiA9IGlucHV0PHN0cmluZz4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW5kSWNvbk5hbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmdldE1hcHBlZEljb25OYW1lKHRoaXMuZW5kSWNvbigpKSk7XG5cbiAgLyoqXG4gICAqIFRoaXMgc2hvd3MgYSBzcGlubmVyIGluc2lkZSB0aGUgYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5sb2FkaW5nJylcbiAgc2hvd1NwaW5uZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2Rpc2FibGVkJylcbiAgZ2V0IGlzRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5zaG93U3Bpbm5lcjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWFwcGVkSWNvbk5hbWUoaWNvbk5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHVzZVNBUEljb25zID0gdGhpcy51c2VTQVBJY29ucygpO1xuXG4gICAgaWYgKCFpY29uTmFtZSB8fCAodXNlU0FQSWNvbnMgJiYgIXRoaXMuaWNvbk1hcCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh1c2VTQVBJY29ucyAmJiB0aGlzLmljb25NYXApIHtcbiAgICAgIHJldHVybiBnZXRTQVBJY29uKGljb25OYW1lLCB0aGlzLmljb25NYXApO1xuICAgIH1cblxuICAgIGlmICghdXNlU0FQSWNvbnMpIHtcbiAgICAgIHJldHVybiBpY29uTmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U0FQSWNvbihpY29uTmFtZTogc3RyaW5nLCBpY29uTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4pOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKCFpY29uTWFwW2ljb25OYW1lXSkge1xuICAgIGNvbnNvbGUud2FybihgTm8gU0FQIGljb24gZm91bmQgZm9yIEZvbnQgQXdlc29tZSBpY29uICR7aWNvbk5hbWV9YCk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIGljb25NYXBbaWNvbk5hbWVdPy5bMF0gPz8gbnVsbDtcbn1cbiIsIkBsZXQgdXNlTmV3SWNvbnMgPSB1c2VTQVBJY29ucygpO1xuQGxldCBzdGFydEljb24gPSBpY29uTmFtZSgpO1xuQGxldCBlbmRJY29uID0gZW5kSWNvbk5hbWUoKTtcbkBpZiAoIXN0YXJ0SWNvbiAmJiAhZW5kSWNvbikge1xuICA8IS0tIG9sZCBsYXlvdXQgLS0+XG4gIEBpZiAoc2hvd1NwaW5uZXIpIHtcbiAgICA8bHgtdGlueS1zcGlubmVyIC8+XG4gIH1cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIiAvPlxufSBAZWxzZSB7XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50V3JhcHBlclwiPlxuICAgIDwhLS0gbmV3IGxheW91dCAtLT5cbiAgICBAaWYgKHNob3dTcGlubmVyKSB7XG4gICAgICA8bHgtdGlueS1zcGlubmVyIC8+XG4gICAgfSBAZWxzZSBpZiAoc3RhcnRJY29uICYmIHVzZU5ld0ljb25zKSB7XG4gICAgICA8dWk1LWljb24gY2xhc3M9XCJ1aTVJY29uXCIgW25hbWVdPVwic3RhcnRJY29uXCIgZGF0YS10ZXN0aWQ9XCJzdGFydC1pY29uXCIgLz5cbiAgICB9IEBlbHNlIGlmIChzdGFydEljb24gJiYgIXVzZU5ld0ljb25zKSB7XG4gICAgICA8aSBjbGFzcz1cImZhciBmYS1md1wiIFtjbGFzc109XCJzdGFydEljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZGF0YS10ZXN0aWQ9XCJzdGFydC1pY29uXCI+PC9pPlxuICAgIH1cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiIC8+XG4gICAgQGlmICghc2hvd1NwaW5uZXIgJiYgZW5kSWNvbiAmJiB1c2VOZXdJY29ucykge1xuICAgICAgPHVpNS1pY29uIGNsYXNzPVwidWk1SWNvblwiIFtuYW1lXT1cImVuZEljb25cIiBkYXRhLXRlc3RpZD1cImVuZC1pY29uXCIgLz5cbiAgICB9IEBlbHNlIGlmICghc2hvd1NwaW5uZXIgJiYgZW5kSWNvbiAmJiAhdXNlTmV3SWNvbnMpIHtcbiAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWZ3XCIgW2NsYXNzXT1cImVuZEljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZGF0YS10ZXN0aWQ9XCJlbmQtaWNvblwiPjwvaT5cbiAgICB9XG4gIDwvZGl2PlxufVxuXG48IS0tIG5nLWNvbnRlbnQgd2l0aCB0aGUgc2FtZSBzbG90IGNhbiBiZSB1c2VkIG9uY2UgaW4gdGhlIHNhbWUgdGVtcGxhdGUgLS0+XG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50IC8+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -26,7 +26,7 @@ export class CollapsibleComponent {
26
26
  }
27
27
  }
28
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CollapsibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: CollapsibleComponent, isStandalone: true, selector: "lx-collapsible", inputs: { disableSectionToggle: "disableSectionToggle", hideSectionToggle: "hideSectionToggle", toggleSize: "toggleSize", toggleTitle: "toggleTitle", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.notClickable": "this.notClickable" } }, ngImport: i0, template: "<button\n *ngIf=\"!hideSectionToggle\"\n lx-button\n mode=\"link\"\n [title]=\"toggleTitle\"\n [size]=\"toggleSize\"\n class=\"sectionToggle\"\n type=\"button\"\n [disabled]=\"disableSectionToggle\"\n [square]=\"true\"\n (click)=\"onToggleSection($event)\"\n>\n <i class=\"far fa-angle-down\" [class.collapsed]=\"collapsed\"></i>\n</button>\n<div class=\"collapsible-title\">\n <ng-content />\n</div>\n", styles: [":host{position:relative;cursor:pointer;display:flex;border-bottom:1px solid #e1e5eb;margin-bottom:4px}:host.notClickable{cursor:default}.sectionToggle{font-size:18px;width:32px;align-self:center}.sectionToggle .fa-angle-down{transition:transform .2s linear}.sectionToggle .fa-angle-down.collapsed{transform:rotate(-90deg)}.collapsible-title{width:100%;align-self:center}:host(.align-left) .sectionToggle{text-align:left;width:24px}:host-context(lx-fact-sheet-section.transformationsRedesign){border-bottom-color:#c2c9d6;padding-bottom:8px}:host-context(lx-fact-sheet-section.transformationsRedesign) .sectionToggle{font-size:var(--lxFontLargeSize, 16px);width:20px;height:20px;min-width:20px;text-align:left}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: CollapsibleComponent, isStandalone: true, selector: "lx-collapsible", inputs: { disableSectionToggle: "disableSectionToggle", hideSectionToggle: "hideSectionToggle", toggleSize: "toggleSize", toggleTitle: "toggleTitle", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.notClickable": "this.notClickable" } }, ngImport: i0, template: "<button\n *ngIf=\"!hideSectionToggle\"\n lx-button\n mode=\"link\"\n [title]=\"toggleTitle\"\n [size]=\"toggleSize\"\n class=\"sectionToggle\"\n type=\"button\"\n [disabled]=\"disableSectionToggle\"\n [square]=\"true\"\n (click)=\"onToggleSection($event)\"\n>\n <i class=\"far fa-angle-down\" [class.collapsed]=\"collapsed\"></i>\n</button>\n<div class=\"collapsible-title\">\n <ng-content />\n</div>\n", styles: [":host{position:relative;cursor:pointer;display:flex;border-bottom:1px solid #e1e5eb;margin-bottom:4px}:host.notClickable{cursor:default}.sectionToggle{font-size:18px;width:32px;align-self:center}.sectionToggle .fa-angle-down{transition:transform .2s linear}.sectionToggle .fa-angle-down.collapsed{transform:rotate(-90deg)}.collapsible-title{width:100%;align-self:center}:host(.align-left) .sectionToggle{text-align:left;width:24px}:host-context(lx-fact-sheet-section.transformationsRedesign){border-bottom-color:#c2c9d6;padding-bottom:8px}:host-context(lx-fact-sheet-section.transformationsRedesign) .sectionToggle{font-size:var(--lxFontLargeSize, 16px);width:20px;height:20px;min-width:20px;text-align:left}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "icon", "endIcon", "showSpinner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CollapsibleComponent, decorators: [{
32
32
  type: Component,
@@ -29,7 +29,7 @@ export class ContentPanelComponent {
29
29
  this.body.nativeElement.scrollTo({ top: 0, behavior: 'smooth' });
30
30
  }
31
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ContentPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ContentPanelComponent, isStandalone: true, selector: "lx-content-panel", inputs: { title: "title" }, outputs: { contentPanelClose: "contentPanelClose" }, viewQueries: [{ propertyName: "body", first: true, predicate: ["body"], descendants: true }], ngImport: i0, template: "<div [class]=\"baseClass\">\n <div class=\"{{ baseClass }}Header\" #header>\n @if (title) {\n <div class=\"{{ baseClass }}Title\">{{ title }}</div>\n }\n <button lx-button [square]=\"true\" class=\"{{ baseClass }}CloseButton\" color=\"light\" mode=\"solid\" (click)=\"onClose()\">\n <i class=\"far fa-times\"></i>\n </button>\n </div>\n <div class=\"{{ baseClass }}Body\" #body>\n <ng-content />\n </div>\n</div>\n", styles: [":host .contentPanel{background-color:#fff;padding:16px;display:flex;flex-direction:column;max-height:100%}:host .contentPanelHeader{margin-bottom:16px;display:flex;justify-content:space-between}:host .contentPanelTitle{font-weight:700;font-size:var(--lxFontHeader3Size);line-height:24px}:host .contentPanelBody{flex:1;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }] }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ContentPanelComponent, isStandalone: true, selector: "lx-content-panel", inputs: { title: "title" }, outputs: { contentPanelClose: "contentPanelClose" }, viewQueries: [{ propertyName: "body", first: true, predicate: ["body"], descendants: true }], ngImport: i0, template: "<div [class]=\"baseClass\">\n <div class=\"{{ baseClass }}Header\" #header>\n @if (title) {\n <div class=\"{{ baseClass }}Title\">{{ title }}</div>\n }\n <button lx-button [square]=\"true\" class=\"{{ baseClass }}CloseButton\" color=\"light\" mode=\"solid\" (click)=\"onClose()\">\n <i class=\"far fa-times\"></i>\n </button>\n </div>\n <div class=\"{{ baseClass }}Body\" #body>\n <ng-content />\n </div>\n</div>\n", styles: [":host .contentPanel{background-color:#fff;padding:16px;display:flex;flex-direction:column;max-height:100%}:host .contentPanelHeader{margin-bottom:16px;display:flex;justify-content:space-between}:host .contentPanelTitle{font-weight:700;font-size:var(--lxFontHeader3Size);line-height:24px}:host .contentPanelBody{flex:1;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "icon", "endIcon", "showSpinner"] }] }); }
33
33
  }
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ContentPanelComponent, decorators: [{
35
35
  type: Component,
@@ -111,7 +111,7 @@ export class EllipsisComponent {
111
111
  return offsetWidth < scrollWidth;
112
112
  }
113
113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: EllipsisComponent, deps: [{ token: LX_ELLIPSIS_DEBOUNCE_ON_RESIZE }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ResizeObserverService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: EllipsisComponent, isStandalone: true, selector: "lx-ellipsis", inputs: { content: "content", escapeHtmlInContent: "escapeHtmlInContent" }, viewQueries: [{ propertyName: "contentSpanEl", first: true, predicate: ["contentEl"], descendants: true }, { propertyName: "showMoreButtonEl", first: true, predicate: ["showMoreButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<span\n #contentEl\n [class.showMore]=\"isShowingMore$ | async\"\n class=\"content truncate lx-margin-right\"\n [innerHtml]=\"sanitizedContent$ | async\"\n></span>\n<button *ngIf=\"showButton$ | async\" (click)=\"onShowMoreToggle()\" lx-button #showMoreButton size=\"auto\" mode=\"link\" color=\"primary\">\n {{ showMoreButtonLabel$ | async }}\n</button>\n", styles: [":host{display:block;white-space:pre-line;overflow-wrap:break-word}.content{display:inline-block;word-break:break-word}.truncate:not(.showMore){width:calc(100% - 140px);white-space:nowrap;overflow-wrap:normal;overflow:hidden;text-overflow:ellipsis}.content.showMore+button{margin-top:4px;display:block}button{white-space:nowrap;vertical-align:top}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: EllipsisComponent, isStandalone: true, selector: "lx-ellipsis", inputs: { content: "content", escapeHtmlInContent: "escapeHtmlInContent" }, viewQueries: [{ propertyName: "contentSpanEl", first: true, predicate: ["contentEl"], descendants: true }, { propertyName: "showMoreButtonEl", first: true, predicate: ["showMoreButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<span\n #contentEl\n [class.showMore]=\"isShowingMore$ | async\"\n class=\"content truncate lx-margin-right\"\n [innerHtml]=\"sanitizedContent$ | async\"\n></span>\n<button *ngIf=\"showButton$ | async\" (click)=\"onShowMoreToggle()\" lx-button #showMoreButton size=\"auto\" mode=\"link\" color=\"primary\">\n {{ showMoreButtonLabel$ | async }}\n</button>\n", styles: [":host{display:block;white-space:pre-line;overflow-wrap:break-word}.content{display:inline-block;word-break:break-word}.truncate:not(.showMore){width:calc(100% - 140px);white-space:nowrap;overflow-wrap:normal;overflow:hidden;text-overflow:ellipsis}.content.showMore+button{margin-top:4px;display:block}button{white-space:nowrap;vertical-align:top}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "icon", "endIcon", "showSpinner"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
115
115
  }
116
116
  __decorate([
117
117
  Observe('contentSpanEl')
@@ -139,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
139
139
  type: ViewChild,
140
140
  args: ['showMoreButton', { read: ElementRef }]
141
141
  }], content$: [] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9jb21wb25lbnRzL2VsbGlwc2lzL2VsbGlwc2lzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9lbGxpcHNpcy9lbGxpcHNpcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBR0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUYsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxjQUFjLEVBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRTdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUFTLGdDQUFnQyxFQUFFO0lBQ3pHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9B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QUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxnQkFBNkM7UUFDeEUsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQy9ELE9BQU8sV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDOzhHQWxLVSxpQkFBaUIsa0JBNkJsQiw4QkFBOEI7a0dBN0I3QixpQkFBaUIsK1VBYVMsVUFBVSw2QkNqRWpELDJXQVNBLHNaRHlDWSxJQUFJLDZGQUFFLGVBQWUsa0tBQUUsU0FBUzs7QUFZUjtJQUFqQyxPQUFPLENBQUMsZUFBZSxDQUFDO3lEQUFrRTtBQUV0RDtJQUFwQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7NERBQXVFO0FBVTNGO0lBRFAsT0FBTyxDQUFDLFNBQVMsQ0FBQzttREFDbUI7MkZBdEIzQixpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDOzswQkErQnhDLE1BQU07MkJBQUMsOEJBQThCO3FLQTFCL0IsT0FBTztzQkFBZixLQUFLO2dCQUtHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFNEIsY0FBYyxNQUN4QixhQUFhO3NCQUFwQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2UsaUJBQWlCLE1BQ0gsZ0JBQWdCO3NCQUFsRSxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFTekMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBlc2NhcGUgfSBmcm9tICdsb2Rhc2gvZnAnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBjb25jYXQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgcGFpcndpc2UsXG4gIHNraXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHdpdGhMYXRlc3RGcm9tXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvb2JzZXJ2ZSc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBMWF9FTExJUFNJU19ERUJPVU5DRV9PTl9SRVNJWkUgPSBuZXcgSW5qZWN0aW9uVG9rZW48bnVtYmVyPignTFhfRUxMSVBTSVNfREVCT1VOQ0VfT05fUkVTSVpFJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IEVsbGlwc2lzQ29tcG9uZW50LkRFRkFVTFRfUkVTSVpFX0RFQk9VTkNFX01TXG59KTtcblxuLyoqXG4gKiBZb3UgY2FuIHNldCBhIGN1c3RvbSBtYXgtd2lkdGggQ1NTIHByb3BlcnR5IG9uIHlvdXIgbHgtZWxsaXBzaXMgaG9zdCBlbGVtZW50XG4gKiBpZiB5b3Ugd2FudCBpdHMgY29udGVudCB0byBuZXZlciBleGNlZWQgYSBzcGVjaWZpYyB3aWR0aCxcbiAqIGUuZy4gPGx4LWVsbGlwc2lzIHN0eWxlPVwibWF4LXdpZHRoOiAzMDBweFwiIGNvbnRlbnQ9XCJIZWxsbyBXb3JsZFsuLl1cIj48L2x4LWVsbGlwc2lzPi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtZWxsaXBzaXMnLFxuICB0ZW1wbGF0ZVVybDogJ2VsbGlwc2lzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbYGVsbGlwc2lzLmNvbXBvbmVudC5zY3NzYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgQnV0dG9uQ29tcG9uZW50LCBBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEVsbGlwc2lzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQge1xuICBzdGF0aWMgREVGQVVMVF9SRVNJWkVfREVCT1VOQ0VfTVMgPSA1MDA7XG5cbiAgQElucHV0KCkgY29udGVudDogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBPbmx5IHNldCB0aGlzIHRvIGZhbHNlIGlmIHRoZSBjb250ZW50IGlzIG5vdCBhIHVzZXIgcHJvdmlkZWQgc3RyaW5nXG4gICAqIG9yIGlmIHlvdSBzYW5pdGl6ZSB0aGUgcHJvdmlkZWQgY29udGVudCB5b3Vyc2VsZi5cbiAgICovXG4gIEBJbnB1dCgpIGVzY2FwZUh0bWxJbkNvbnRlbnQgPSB0cnVlO1xuXG4gIEBPYnNlcnZlKCdjb250ZW50U3BhbkVsJykgcHJpdmF0ZSBjb250ZW50U3BhbkVsJCE6IE9ic2VydmFibGU8RWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+PjtcbiAgQFZpZXdDaGlsZCgnY29udGVudEVsJykgY29udGVudFNwYW5FbCE6IEVsZW1lbnRSZWY8SFRNTFNwYW5FbGVtZW50PjtcbiAgQE9ic2VydmUoJ3Nob3dNb3JlQnV0dG9uRWwnKSBwcml2YXRlIHNob3dNb3JlQnV0dG9uRWwkITogT2JzZXJ2YWJsZTxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj47XG4gIEBWaWV3Q2hpbGQoJ3Nob3dNb3JlQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHNob3dNb3JlQnV0dG9uRWwhOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICBpc1Nob3dpbmdNb3JlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHNob3dCdXR0b24kITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc2hvd01vcmVCdXR0b25MYWJlbCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgc2FuaXRpemVkQ29udGVudCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIEBPYnNlcnZlKCdjb250ZW50JylcbiAgcHJpdmF0ZSBjb250ZW50JCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgdmlld0NoZWNrZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExYX0VMTElQU0lTX0RFQk9VTkNFX09OX1JFU0laRSlcbiAgICBwcml2YXRlIGRlYm91bmNlTXNBZnRlclJlc2l6ZTogbnVtYmVyLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgaG9zdEVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhbml0aXplZENvbnRlbnQkID0gdGhpcy5jb250ZW50JC5waXBlKFxuICAgICAgbWFwKChjb250ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVzY2FwZUh0bWxJbkNvbnRlbnQgJiYgdHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIGVzY2FwZShjb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2hvd01vcmVCdXR0b25MYWJlbCQgPSB0aGlzLmlzU2hvd2luZ01vcmUkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGlzU2hvd2luZ01vcmUpID0+IHtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBpc1Nob3dpbmdNb3JlID8gJ2NvbW1vbi5zaG93TGVzcycgOiAnY29tbW9uLnNob3dNb3JlJztcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IG5ld1dpZHRoT25SZXNpemUkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICAgIGNvbnN0IG5ld0hlaWdodE9uUmVzaXplJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZS5vYnNlcnZlKHRoaXMuaG9zdEVsLm5hdGl2ZUVsZW1lbnQsIChyZXNpemVkRWxlbWVudCkgPT4ge1xuICAgICAgbmV3V2lkdGhPblJlc2l6ZSQubmV4dChyZXNpemVkRWxlbWVudC5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgICBuZXdIZWlnaHRPblJlc2l6ZSQubmV4dChyZXNpemVkRWxlbWVudC5jb250ZW50UmVjdC5oZWlnaHQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoQ2hhbmdlZFNpZ25pZmljYW50bHlBZnRlclJlc2l6ZSQgPSBuZXdXaWR0aE9uUmVzaXplJC5waXBlKFxuICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIGZpbHRlcigoW3ByZXZpb3VzV2lkdGgsIG5ld1dpZHRoXSkgPT4gTWF0aC5hYnMobmV3V2lkdGggLSBwcmV2aW91c1dpZHRoKSA+IDEpLFxuICAgICAgbWFwKChbLCBuZXdXaWR0aF0pID0+IG5ld1dpZHRoKVxuICAgICk7XG4gICAgY29uc3QgdXNlclRyaWdnZXJlZFRyaWdnZXJlZFNob3dMZXNzJCA9IHRoaXMuaXNTaG93aW5nTW9yZSQucGlwZShmaWx0ZXIoKGlzU2hvd2luZ01vcmUpID0+ICFpc1Nob3dpbmdNb3JlKSk7XG5cbiAgICBjb25zdCByZWV2YWx1YXRlSWZDb250ZW50SXNPdmVyZmxvd2luZyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29udGVudFNwYW5FbCQsXG4gICAgICB1c2VyVHJpZ2dlcmVkVHJpZ2dlcmVkU2hvd0xlc3MkLFxuICAgICAgY29udGFpbmVyV2lkdGhDaGFuZ2VkU2lnbmlmaWNhbnRseUFmdGVyUmVzaXplJFxuICAgIF0pO1xuXG4gICAgY29uc3QgaXNDb250ZW50T3ZlcmZsb3dpbmckID0gbWVyZ2UoXG4gICAgICBjb25jYXQoXG4gICAgICAgIHJlZXZhbHVhdGVJZkNvbnRlbnRJc092ZXJmbG93aW5nJC5waXBlKHRha2UoMSkpLCAvLyBkZWJvdW5jZSBhbGwgYnV0IHRoZSBmaXJzdCBvdXRwdXRcbiAgICAgICAgcmVldmFsdWF0ZUlmQ29udGVudElzT3ZlcmZsb3dpbmckLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VNc0FmdGVyUmVzaXplKSlcbiAgICAgICksXG4gICAgICB0aGlzLmNvbnRlbnQkLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnZpZXdDaGVja2VkJClcbiAgICAgIClcbiAgICApLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmNvbnRlbnRTcGFuRWwkKSxcbiAgICAgIG1hcCgoWywgY29udGVudFNwYW5SZWZdKSA9PiB0aGlzLmlzQ29udGVudE92ZXJmbG93aW5nKGNvbnRlbnRTcGFuUmVmKSlcbiAgICApO1xuXG4gICAgY29uc3QgdXNlclRyaWdnZXJlZFRyaWdnZXJlZFNob3dNb3JlJCA9IHRoaXMuaXNTaG93aW5nTW9yZSQucGlwZShmaWx0ZXIoKGlzU2hvd2luZ01vcmUpID0+IGlzU2hvd2luZ01vcmUpKTtcblxuICAgIGNvbnN0IGJ1dHRvbkhlaWdodCQgPSB0aGlzLnNob3dNb3JlQnV0dG9uRWwkLnBpcGUoXG4gICAgICBmaWx0ZXIoKHNob3dNb3JlQnV0dG9uRWwpID0+ICEhc2hvd01vcmVCdXR0b25FbCksXG4gICAgICBtYXAoKHNob3dNb3JlQnV0dG9uRWwpID0+IHNob3dNb3JlQnV0dG9uRWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gICAgY29uc3QgdXNlckluY3JlYXNlZEJyb3dzZXJXaW5kb3dTaXplVG9UaGVQb2ludE9mTm9UcnVuY2F0aW9uTmVjZXNzYXJ5JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgYnV0dG9uSGVpZ2h0JCxcbiAgICAgIG5ld0hlaWdodE9uUmVzaXplJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgXSkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaXNTaG93aW5nTW9yZSQpLFxuICAgICAgZmlsdGVyKChbLCBpc1Nob3dpbmdNb3JlXSkgPT4gaXNTaG93aW5nTW9yZSksXG4gICAgICBtYXAoKFtbYnV0dG9uSGVpZ2h0LCBuZXdIZWlnaHRdXSkgPT4ge1xuICAgICAgICBjb25zdCBoZWlnaHRPZk9uZUxpbmUgPSBidXR0b25IZWlnaHQ7XG4gICAgICAgIGNvbnN0IHNob3dMZXNzQnV0dG9uTWFyZ2luVG9wID0gNDtcbiAgICAgICAgY29uc3QgaGVpZ2h0T2ZTcGFuSW5TaG93TW9yZU1vZGUgPSBuZXdIZWlnaHQgLSBidXR0b25IZWlnaHQgLSBzaG93TGVzc0J1dHRvbk1hcmdpblRvcDtcbiAgICAgICAgY29uc3QgdGhyZXNob2xkVG9EZXRlY3RDb250ZW50SW5TaW5nbGVMaW5lID0gNDtcbiAgICAgICAgY29uc3QgZGlmZmVyZW5jZUJldHdlZW5Db250ZW50U3BhbkFuZEJ1dHRvbkhlaWdodCA9IE1hdGguYWJzKGhlaWdodE9mT25lTGluZSAtIGhlaWdodE9mU3BhbkluU2hvd01vcmVNb2RlKTtcbiAgICAgICAgY29uc3QgaXNTcGFuQ29udGVudERpc3BsYXllZEluT25lTGluZUFnYWluID0gZGlmZmVyZW5jZUJldHdlZW5Db250ZW50U3BhbkFuZEJ1dHRvbkhlaWdodCA8IHRocmVzaG9sZFRvRGV0ZWN0Q29udGVudEluU2luZ2xlTGluZTtcbiAgICAgICAgcmV0dXJuIGlzU3BhbkNvbnRlbnREaXNwbGF5ZWRJbk9uZUxpbmVBZ2FpbjtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCBjb250ZW50Rml0c0luT25lTGluZUFnYWluV2hpbGVTaG93TW9yZUlzRW5hYmxlZCQgPSB1c2VySW5jcmVhc2VkQnJvd3NlcldpbmRvd1NpemVUb1RoZVBvaW50T2ZOb1RydW5jYXRpb25OZWNlc3NhcnkkLnBpcGUoXG4gICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIGZpbHRlcigoW3ByZXZpb3VzVGV4dElzTm93SW5PbmVMaW5lQWdhaW5dKSA9PiAhcHJldmlvdXNUZXh0SXNOb3dJbk9uZUxpbmVBZ2FpbiksXG4gICAgICBtYXAoKFssIHRleHRJc05vd0luT25lTGluZUFnYWluXSkgPT4gIXRleHRJc05vd0luT25lTGluZUFnYWluKVxuICAgICk7XG4gICAgY29uc3QgY29udGVudElzT3ZlcmZsb3dpbmdBbmRTaG93TW9yZUlzTm90RW5hYmxlZCQgPSBpc0NvbnRlbnRPdmVyZmxvd2luZyQucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaXNTaG93aW5nTW9yZSQpLFxuICAgICAgZmlsdGVyKChbLCBpc1Nob3dpbmdNb3JlXSkgPT4gIWlzU2hvd2luZ01vcmUpLFxuICAgICAgbWFwKChbaXNDb250ZW50TG9uZ2VyVGhhbkNvbnRhaW5lcldpZHRoXSkgPT4ge1xuICAgICAgICByZXR1cm4gaXNDb250ZW50TG9uZ2VyVGhhbkNvbnRhaW5lcldpZHRoO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc2hvd0J1dHRvbiQgPSBtZXJnZShcbiAgICAgIHVzZXJUcmlnZ2VyZWRUcmlnZ2VyZWRTaG93TW9yZSQsXG4gICAgICBjb250ZW50Rml0c0luT25lTGluZUFnYWluV2hpbGVTaG93TW9yZUlzRW5hYmxlZCQsXG4gICAgICBjb250ZW50SXNPdmVyZmxvd2luZ0FuZFNob3dNb3JlSXNOb3RFbmFibGVkJFxuICAgICk7XG5cbiAgICAvLyBBcyBsb25nIGFzIG5vIHBhcmVudCBjb21wb25lbnQgaXMgbGlzdGVuaW5nIG9uIHJlc2l6ZSBldmVudHMsXG4gICAgLy8gdGhlIENoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpIGNhbGwgZG9uZSBieSB0aGUgYXN5bmMgcGlwZVxuICAgIC8vIHdpbGwgbm90IHJlc3VsdCBpbiBhIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgaW4gdGhpcyBjb21wb25lbnQgd2hlbiBpdHMgc2l6ZSBjaGFuZ2VzLlxuICAgIC8vIFRoaXMgaXMgdGhlIGxlYXN0IGFtb3VudCBvZiBDaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCkgY2FsbHNcbiAgICAvLyBJIHdhcyBhYmxlIHRvIGNvbWUgdXAgd2l0aC4gVGhlIEFuZ3VsYXIgcHJvZmlsZXIgc2hvd3MgYWNjZXB0YWJsZSBudW1iZXJzIG9mIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzV2hlbk9ic2VydmFibGVFbWl0cyhpc0NvbnRlbnRPdmVyZmxvd2luZyQpO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlc1doZW5PYnNlcnZhYmxlRW1pdHModGhpcy5zaG93QnV0dG9uJCk7XG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzV2hlbk9ic2VydmFibGVFbWl0cyh0aGlzLmNvbnRlbnQkKTtcbiAgICB0aGlzLmRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKGNvbnRlbnRJc092ZXJmbG93aW5nQW5kU2hvd01vcmVJc05vdEVuYWJsZWQkKTtcbiAgICB0aGlzLmRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKGlzQ29udGVudE92ZXJmbG93aW5nJCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy52aWV3Q2hlY2tlZCQubmV4dCgpO1xuICB9XG5cbiAgb25TaG93TW9yZVRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzU2hvd2luZ01vcmUkLm5leHQoIXRoaXMuaXNTaG93aW5nTW9yZSQuZ2V0VmFsdWUoKSk7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZS51bm9ic2VydmUodGhpcy5ob3N0RWwubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKG9ic2VydmFibGUkOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBvYnNlcnZhYmxlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbnRlbnRPdmVyZmxvd2luZyhjb250ZW50U3BhbkVsUmVmOiBFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD4pIHtcbiAgICBjb25zdCBzY3JvbGxXaWR0aCA9IGNvbnRlbnRTcGFuRWxSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICBjb25zdCBvZmZzZXRXaWR0aCA9IGNvbnRlbnRTcGFuRWxSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICByZXR1cm4gb2Zmc2V0V2lkdGggPCBzY3JvbGxXaWR0aDtcbiAgfVxufVxuIiwiPHNwYW5cbiAgI2NvbnRlbnRFbFxuICBbY2xhc3Muc2hvd01vcmVdPVwiaXNTaG93aW5nTW9yZSQgfCBhc3luY1wiXG4gIGNsYXNzPVwiY29udGVudCB0cnVuY2F0ZSBseC1tYXJnaW4tcmlnaHRcIlxuICBbaW5uZXJIdG1sXT1cInNhbml0aXplZENvbnRlbnQkIHwgYXN5bmNcIlxuPjwvc3Bhbj5cbjxidXR0b24gKm5nSWY9XCJzaG93QnV0dG9uJCB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uU2hvd01vcmVUb2dnbGUoKVwiIGx4LWJ1dHRvbiAjc2hvd01vcmVCdXR0b24gc2l6ZT1cImF1dG9cIiBtb2RlPVwibGlua1wiIGNvbG9yPVwicHJpbWFyeVwiPlxuICB7eyBzaG93TW9yZUJ1dHRvbkxhYmVsJCB8IGFzeW5jIH19XG48L2J1dHRvbj5cbiJdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9jb21wb25lbnRzL2VsbGlwc2lzL2VsbGlwc2lzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9lbGxpcHNpcy9lbGxpcHNpcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBR0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUYsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxjQUFjLEVBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRTdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUFTLGdDQUFnQyxFQUFFO0lBQ3pHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9B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QUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxnQkFBNkM7UUFDeEUsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQy9ELE9BQU8sV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDOzhHQWxLVSxpQkFBaUIsa0JBNkJsQiw4QkFBOEI7a0dBN0I3QixpQkFBaUIsK1VBYVMsVUFBVSw2QkNqRWpELDJXQVNBLHNaRHlDWSxJQUFJLDZGQUFFLGVBQWUscUxBQUUsU0FBUzs7QUFZUjtJQUFqQyxPQUFPLENBQUMsZUFBZSxDQUFDO3lEQUFrRTtBQUV0RDtJQUFwQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7NERBQXVFO0FBVTNGO0lBRFAsT0FBTyxDQUFDLFNBQVMsQ0FBQzttREFDbUI7MkZBdEIzQixpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDOzswQkErQnhDLE1BQU07MkJBQUMsOEJBQThCO3FLQTFCL0IsT0FBTztzQkFBZixLQUFLO2dCQUtHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFNEIsY0FBYyxNQUN4QixhQUFhO3NCQUFwQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2UsaUJBQWlCLE1BQ0gsZ0JBQWdCO3NCQUFsRSxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFTekMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBlc2NhcGUgfSBmcm9tICdsb2Rhc2gvZnAnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBjb25jYXQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgcGFpcndpc2UsXG4gIHNraXAsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHdpdGhMYXRlc3RGcm9tXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvb2JzZXJ2ZSc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBMWF9FTExJUFNJU19ERUJPVU5DRV9PTl9SRVNJWkUgPSBuZXcgSW5qZWN0aW9uVG9rZW48bnVtYmVyPignTFhfRUxMSVBTSVNfREVCT1VOQ0VfT05fUkVTSVpFJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IEVsbGlwc2lzQ29tcG9uZW50LkRFRkFVTFRfUkVTSVpFX0RFQk9VTkNFX01TXG59KTtcblxuLyoqXG4gKiBZb3UgY2FuIHNldCBhIGN1c3RvbSBtYXgtd2lkdGggQ1NTIHByb3BlcnR5IG9uIHlvdXIgbHgtZWxsaXBzaXMgaG9zdCBlbGVtZW50XG4gKiBpZiB5b3Ugd2FudCBpdHMgY29udGVudCB0byBuZXZlciBleGNlZWQgYSBzcGVjaWZpYyB3aWR0aCxcbiAqIGUuZy4gPGx4LWVsbGlwc2lzIHN0eWxlPVwibWF4LXdpZHRoOiAzMDBweFwiIGNvbnRlbnQ9XCJIZWxsbyBXb3JsZFsuLl1cIj48L2x4LWVsbGlwc2lzPi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtZWxsaXBzaXMnLFxuICB0ZW1wbGF0ZVVybDogJ2VsbGlwc2lzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbYGVsbGlwc2lzLmNvbXBvbmVudC5zY3NzYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgQnV0dG9uQ29tcG9uZW50LCBBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEVsbGlwc2lzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQge1xuICBzdGF0aWMgREVGQVVMVF9SRVNJWkVfREVCT1VOQ0VfTVMgPSA1MDA7XG5cbiAgQElucHV0KCkgY29udGVudDogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBPbmx5IHNldCB0aGlzIHRvIGZhbHNlIGlmIHRoZSBjb250ZW50IGlzIG5vdCBhIHVzZXIgcHJvdmlkZWQgc3RyaW5nXG4gICAqIG9yIGlmIHlvdSBzYW5pdGl6ZSB0aGUgcHJvdmlkZWQgY29udGVudCB5b3Vyc2VsZi5cbiAgICovXG4gIEBJbnB1dCgpIGVzY2FwZUh0bWxJbkNvbnRlbnQgPSB0cnVlO1xuXG4gIEBPYnNlcnZlKCdjb250ZW50U3BhbkVsJykgcHJpdmF0ZSBjb250ZW50U3BhbkVsJCE6IE9ic2VydmFibGU8RWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+PjtcbiAgQFZpZXdDaGlsZCgnY29udGVudEVsJykgY29udGVudFNwYW5FbCE6IEVsZW1lbnRSZWY8SFRNTFNwYW5FbGVtZW50PjtcbiAgQE9ic2VydmUoJ3Nob3dNb3JlQnV0dG9uRWwnKSBwcml2YXRlIHNob3dNb3JlQnV0dG9uRWwkITogT2JzZXJ2YWJsZTxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj47XG4gIEBWaWV3Q2hpbGQoJ3Nob3dNb3JlQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHNob3dNb3JlQnV0dG9uRWwhOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICBpc1Nob3dpbmdNb3JlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHNob3dCdXR0b24kITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc2hvd01vcmVCdXR0b25MYWJlbCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgc2FuaXRpemVkQ29udGVudCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIEBPYnNlcnZlKCdjb250ZW50JylcbiAgcHJpdmF0ZSBjb250ZW50JCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgdmlld0NoZWNrZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExYX0VMTElQU0lTX0RFQk9VTkNFX09OX1JFU0laRSlcbiAgICBwcml2YXRlIGRlYm91bmNlTXNBZnRlclJlc2l6ZTogbnVtYmVyLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgaG9zdEVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhbml0aXplZENvbnRlbnQkID0gdGhpcy5jb250ZW50JC5waXBlKFxuICAgICAgbWFwKChjb250ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVzY2FwZUh0bWxJbkNvbnRlbnQgJiYgdHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIGVzY2FwZShjb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2hvd01vcmVCdXR0b25MYWJlbCQgPSB0aGlzLmlzU2hvd2luZ01vcmUkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGlzU2hvd2luZ01vcmUpID0+IHtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBpc1Nob3dpbmdNb3JlID8gJ2NvbW1vbi5zaG93TGVzcycgOiAnY29tbW9uLnNob3dNb3JlJztcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IG5ld1dpZHRoT25SZXNpemUkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICAgIGNvbnN0IG5ld0hlaWdodE9uUmVzaXplJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZS5vYnNlcnZlKHRoaXMuaG9zdEVsLm5hdGl2ZUVsZW1lbnQsIChyZXNpemVkRWxlbWVudCkgPT4ge1xuICAgICAgbmV3V2lkdGhPblJlc2l6ZSQubmV4dChyZXNpemVkRWxlbWVudC5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgICBuZXdIZWlnaHRPblJlc2l6ZSQubmV4dChyZXNpemVkRWxlbWVudC5jb250ZW50UmVjdC5oZWlnaHQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoQ2hhbmdlZFNpZ25pZmljYW50bHlBZnRlclJlc2l6ZSQgPSBuZXdXaWR0aE9uUmVzaXplJC5waXBlKFxuICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIGZpbHRlcigoW3ByZXZpb3VzV2lkdGgsIG5ld1dpZHRoXSkgPT4gTWF0aC5hYnMobmV3V2lkdGggLSBwcmV2aW91c1dpZHRoKSA+IDEpLFxuICAgICAgbWFwKChbLCBuZXdXaWR0aF0pID0+IG5ld1dpZHRoKVxuICAgICk7XG4gICAgY29uc3QgdXNlclRyaWdnZXJlZFRyaWdnZXJlZFNob3dMZXNzJCA9IHRoaXMuaXNTaG93aW5nTW9yZSQucGlwZShmaWx0ZXIoKGlzU2hvd2luZ01vcmUpID0+ICFpc1Nob3dpbmdNb3JlKSk7XG5cbiAgICBjb25zdCByZWV2YWx1YXRlSWZDb250ZW50SXNPdmVyZmxvd2luZyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29udGVudFNwYW5FbCQsXG4gICAgICB1c2VyVHJpZ2dlcmVkVHJpZ2dlcmVkU2hvd0xlc3MkLFxuICAgICAgY29udGFpbmVyV2lkdGhDaGFuZ2VkU2lnbmlmaWNhbnRseUFmdGVyUmVzaXplJFxuICAgIF0pO1xuXG4gICAgY29uc3QgaXNDb250ZW50T3ZlcmZsb3dpbmckID0gbWVyZ2UoXG4gICAgICBjb25jYXQoXG4gICAgICAgIHJlZXZhbHVhdGVJZkNvbnRlbnRJc092ZXJmbG93aW5nJC5waXBlKHRha2UoMSkpLCAvLyBkZWJvdW5jZSBhbGwgYnV0IHRoZSBmaXJzdCBvdXRwdXRcbiAgICAgICAgcmVldmFsdWF0ZUlmQ29udGVudElzT3ZlcmZsb3dpbmckLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VNc0FmdGVyUmVzaXplKSlcbiAgICAgICksXG4gICAgICB0aGlzLmNvbnRlbnQkLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnZpZXdDaGVja2VkJClcbiAgICAgIClcbiAgICApLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmNvbnRlbnRTcGFuRWwkKSxcbiAgICAgIG1hcCgoWywgY29udGVudFNwYW5SZWZdKSA9PiB0aGlzLmlzQ29udGVudE92ZXJmbG93aW5nKGNvbnRlbnRTcGFuUmVmKSlcbiAgICApO1xuXG4gICAgY29uc3QgdXNlclRyaWdnZXJlZFRyaWdnZXJlZFNob3dNb3JlJCA9IHRoaXMuaXNTaG93aW5nTW9yZSQucGlwZShmaWx0ZXIoKGlzU2hvd2luZ01vcmUpID0+IGlzU2hvd2luZ01vcmUpKTtcblxuICAgIGNvbnN0IGJ1dHRvbkhlaWdodCQgPSB0aGlzLnNob3dNb3JlQnV0dG9uRWwkLnBpcGUoXG4gICAgICBmaWx0ZXIoKHNob3dNb3JlQnV0dG9uRWwpID0+ICEhc2hvd01vcmVCdXR0b25FbCksXG4gICAgICBtYXAoKHNob3dNb3JlQnV0dG9uRWwpID0+IHNob3dNb3JlQnV0dG9uRWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gICAgY29uc3QgdXNlckluY3JlYXNlZEJyb3dzZXJXaW5kb3dTaXplVG9UaGVQb2ludE9mTm9UcnVuY2F0aW9uTmVjZXNzYXJ5JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgYnV0dG9uSGVpZ2h0JCxcbiAgICAgIG5ld0hlaWdodE9uUmVzaXplJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgXSkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaXNTaG93aW5nTW9yZSQpLFxuICAgICAgZmlsdGVyKChbLCBpc1Nob3dpbmdNb3JlXSkgPT4gaXNTaG93aW5nTW9yZSksXG4gICAgICBtYXAoKFtbYnV0dG9uSGVpZ2h0LCBuZXdIZWlnaHRdXSkgPT4ge1xuICAgICAgICBjb25zdCBoZWlnaHRPZk9uZUxpbmUgPSBidXR0b25IZWlnaHQ7XG4gICAgICAgIGNvbnN0IHNob3dMZXNzQnV0dG9uTWFyZ2luVG9wID0gNDtcbiAgICAgICAgY29uc3QgaGVpZ2h0T2ZTcGFuSW5TaG93TW9yZU1vZGUgPSBuZXdIZWlnaHQgLSBidXR0b25IZWlnaHQgLSBzaG93TGVzc0J1dHRvbk1hcmdpblRvcDtcbiAgICAgICAgY29uc3QgdGhyZXNob2xkVG9EZXRlY3RDb250ZW50SW5TaW5nbGVMaW5lID0gNDtcbiAgICAgICAgY29uc3QgZGlmZmVyZW5jZUJldHdlZW5Db250ZW50U3BhbkFuZEJ1dHRvbkhlaWdodCA9IE1hdGguYWJzKGhlaWdodE9mT25lTGluZSAtIGhlaWdodE9mU3BhbkluU2hvd01vcmVNb2RlKTtcbiAgICAgICAgY29uc3QgaXNTcGFuQ29udGVudERpc3BsYXllZEluT25lTGluZUFnYWluID0gZGlmZmVyZW5jZUJldHdlZW5Db250ZW50U3BhbkFuZEJ1dHRvbkhlaWdodCA8IHRocmVzaG9sZFRvRGV0ZWN0Q29udGVudEluU2luZ2xlTGluZTtcbiAgICAgICAgcmV0dXJuIGlzU3BhbkNvbnRlbnREaXNwbGF5ZWRJbk9uZUxpbmVBZ2FpbjtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCBjb250ZW50Rml0c0luT25lTGluZUFnYWluV2hpbGVTaG93TW9yZUlzRW5hYmxlZCQgPSB1c2VySW5jcmVhc2VkQnJvd3NlcldpbmRvd1NpemVUb1RoZVBvaW50T2ZOb1RydW5jYXRpb25OZWNlc3NhcnkkLnBpcGUoXG4gICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIGZpbHRlcigoW3ByZXZpb3VzVGV4dElzTm93SW5PbmVMaW5lQWdhaW5dKSA9PiAhcHJldmlvdXNUZXh0SXNOb3dJbk9uZUxpbmVBZ2FpbiksXG4gICAgICBtYXAoKFssIHRleHRJc05vd0luT25lTGluZUFnYWluXSkgPT4gIXRleHRJc05vd0luT25lTGluZUFnYWluKVxuICAgICk7XG4gICAgY29uc3QgY29udGVudElzT3ZlcmZsb3dpbmdBbmRTaG93TW9yZUlzTm90RW5hYmxlZCQgPSBpc0NvbnRlbnRPdmVyZmxvd2luZyQucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaXNTaG93aW5nTW9yZSQpLFxuICAgICAgZmlsdGVyKChbLCBpc1Nob3dpbmdNb3JlXSkgPT4gIWlzU2hvd2luZ01vcmUpLFxuICAgICAgbWFwKChbaXNDb250ZW50TG9uZ2VyVGhhbkNvbnRhaW5lcldpZHRoXSkgPT4ge1xuICAgICAgICByZXR1cm4gaXNDb250ZW50TG9uZ2VyVGhhbkNvbnRhaW5lcldpZHRoO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc2hvd0J1dHRvbiQgPSBtZXJnZShcbiAgICAgIHVzZXJUcmlnZ2VyZWRUcmlnZ2VyZWRTaG93TW9yZSQsXG4gICAgICBjb250ZW50Rml0c0luT25lTGluZUFnYWluV2hpbGVTaG93TW9yZUlzRW5hYmxlZCQsXG4gICAgICBjb250ZW50SXNPdmVyZmxvd2luZ0FuZFNob3dNb3JlSXNOb3RFbmFibGVkJFxuICAgICk7XG5cbiAgICAvLyBBcyBsb25nIGFzIG5vIHBhcmVudCBjb21wb25lbnQgaXMgbGlzdGVuaW5nIG9uIHJlc2l6ZSBldmVudHMsXG4gICAgLy8gdGhlIENoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpIGNhbGwgZG9uZSBieSB0aGUgYXN5bmMgcGlwZVxuICAgIC8vIHdpbGwgbm90IHJlc3VsdCBpbiBhIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgaW4gdGhpcyBjb21wb25lbnQgd2hlbiBpdHMgc2l6ZSBjaGFuZ2VzLlxuICAgIC8vIFRoaXMgaXMgdGhlIGxlYXN0IGFtb3VudCBvZiBDaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCkgY2FsbHNcbiAgICAvLyBJIHdhcyBhYmxlIHRvIGNvbWUgdXAgd2l0aC4gVGhlIEFuZ3VsYXIgcHJvZmlsZXIgc2hvd3MgYWNjZXB0YWJsZSBudW1iZXJzIG9mIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzV2hlbk9ic2VydmFibGVFbWl0cyhpc0NvbnRlbnRPdmVyZmxvd2luZyQpO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlc1doZW5PYnNlcnZhYmxlRW1pdHModGhpcy5zaG93QnV0dG9uJCk7XG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzV2hlbk9ic2VydmFibGVFbWl0cyh0aGlzLmNvbnRlbnQkKTtcbiAgICB0aGlzLmRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKGNvbnRlbnRJc092ZXJmbG93aW5nQW5kU2hvd01vcmVJc05vdEVuYWJsZWQkKTtcbiAgICB0aGlzLmRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKGlzQ29udGVudE92ZXJmbG93aW5nJCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy52aWV3Q2hlY2tlZCQubmV4dCgpO1xuICB9XG5cbiAgb25TaG93TW9yZVRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzU2hvd2luZ01vcmUkLm5leHQoIXRoaXMuaXNTaG93aW5nTW9yZSQuZ2V0VmFsdWUoKSk7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZS51bm9ic2VydmUodGhpcy5ob3N0RWwubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdENoYW5nZXNXaGVuT2JzZXJ2YWJsZUVtaXRzKG9ic2VydmFibGUkOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBvYnNlcnZhYmxlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbnRlbnRPdmVyZmxvd2luZyhjb250ZW50U3BhbkVsUmVmOiBFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD4pIHtcbiAgICBjb25zdCBzY3JvbGxXaWR0aCA9IGNvbnRlbnRTcGFuRWxSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICBjb25zdCBvZmZzZXRXaWR0aCA9IGNvbnRlbnRTcGFuRWxSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICByZXR1cm4gb2Zmc2V0V2lkdGggPCBzY3JvbGxXaWR0aDtcbiAgfVxufVxuIiwiPHNwYW5cbiAgI2NvbnRlbnRFbFxuICBbY2xhc3Muc2hvd01vcmVdPVwiaXNTaG93aW5nTW9yZSQgfCBhc3luY1wiXG4gIGNsYXNzPVwiY29udGVudCB0cnVuY2F0ZSBseC1tYXJnaW4tcmlnaHRcIlxuICBbaW5uZXJIdG1sXT1cInNhbml0aXplZENvbnRlbnQkIHwgYXN5bmNcIlxuPjwvc3Bhbj5cbjxidXR0b24gKm5nSWY9XCJzaG93QnV0dG9uJCB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uU2hvd01vcmVUb2dnbGUoKVwiIGx4LWJ1dHRvbiAjc2hvd01vcmVCdXR0b24gc2l6ZT1cImF1dG9cIiBtb2RlPVwibGlua1wiIGNvbG9yPVwicHJpbWFyeVwiPlxuICB7eyBzaG93TW9yZUJ1dHRvbkxhYmVsJCB8IGFzeW5jIH19XG48L2J1dHRvbj5cbiJdfQ==
@@ -23,7 +23,7 @@ export class EmptyStateComponent {
23
23
  return this.size();
24
24
  }
25
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: EmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: EmptyStateComponent, isStandalone: true, selector: "lx-empty-state", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, buttonLabel: { classPropertyName: "buttonLabel", publicName: "buttonLabel", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonLabel: { classPropertyName: "secondaryButtonLabel", publicName: "secondaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, moreLinkLabel: { classPropertyName: "moreLinkLabel", publicName: "moreLinkLabel", isSignal: true, isRequired: false, transformFunction: null }, moreLink: { classPropertyName: "moreLink", publicName: "moreLink", isSignal: true, isRequired: false, transformFunction: null }, openMoreLinkInNewTab: { classPropertyName: "openMoreLinkInNewTab", publicName: "openMoreLinkInNewTab", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClicked: "buttonClicked", secondaryButtonClicked: "secondaryButtonClicked", moreLinkClicked: "moreLinkClicked" }, host: { properties: { "attr.size": "this._size" } }, ngImport: i0, template: "<div class=\"tw-max-w-[434px] tw-text-center\">\n @if (icon()) {\n <i class=\"emptyStateIcon fas tw-text-primary\" [class]=\"'fa-' + icon()\" aria-hidden=\"true\"></i>\n }\n\n <h3 class=\"empty-state-title tw-mb-m tw-mt-xl tw-text-black\" [innerHTML]=\"title()\"></h3>\n\n <div class=\"empty-state-content tw-leading-[16px] tw-text-gray-50\">\n <ng-content />\n </div>\n\n <div class=\"tw-flex tw-justify-center tw-gap-m\">\n @if (secondaryButtonLabel()) {\n <div class=\"secondaryButton tw-my-xl\">\n <button lx-button size=\"large\" [showSpinner]=\"loading()\" (click)=\"secondaryButtonClicked.emit($event)\">\n {{ secondaryButtonLabel() }}\n </button>\n </div>\n }\n\n @if (buttonLabel()) {\n <div class=\"actionButton tw-my-xl\">\n <button lx-button size=\"large\" color=\"primary\" [showSpinner]=\"loading()\" (click)=\"buttonClicked.emit($event)\">\n {{ buttonLabel() }}\n </button>\n </div>\n }\n </div>\n\n @if (moreLinkLabel() && moreLink()) {\n <div>\n @if (useRouterLink()) {\n <a\n rel=\"noopener noreferrer\"\n class=\"tw-text-size-md tw-text-primary\"\n [routerLink]=\"moreLink()\"\n (click)=\"moreLinkClicked.emit($event)\"\n [target]=\"openMoreLinkInNewTab() ? '_blank' : '_self'\"\n >{{ moreLinkLabel() }}</a\n >\n } @else {\n <a\n rel=\"noopener noreferrer\"\n class=\"tw-text-size-md tw-text-primary\"\n [href]=\"moreLink()\"\n (click)=\"moreLinkClicked.emit($event)\"\n [target]=\"openMoreLinkInNewTab() ? '_blank' : '_self'\"\n >{{ moreLinkLabel() }}</a\n >\n }\n </div>\n }\n</div>\n", styles: [":host{display:flex;justify-content:center}:host .emptyStateIcon{font-size:var(--lxFontHeader1Size, 32px)}:host[size=small] .empty-state-title{font-size:var(--lxFontSize, 13.5px)}:host[size=small] .empty-state-content{font-size:var(--lxFontSmallSize, 12px)}:host[size=medium] .empty-state-title{font-size:var(--lxFontHeader2Size, 24px)}:host[size=medium] .empty-state-content{font-size:var(--lxFontSize, 13.5px)}i{position:relative}i:after{content:\"\";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);height:6px;width:44px;background-color:#f0f2f5;border-radius:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: EmptyStateComponent, isStandalone: true, selector: "lx-empty-state", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, buttonLabel: { classPropertyName: "buttonLabel", publicName: "buttonLabel", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonLabel: { classPropertyName: "secondaryButtonLabel", publicName: "secondaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, moreLinkLabel: { classPropertyName: "moreLinkLabel", publicName: "moreLinkLabel", isSignal: true, isRequired: false, transformFunction: null }, moreLink: { classPropertyName: "moreLink", publicName: "moreLink", isSignal: true, isRequired: false, transformFunction: null }, openMoreLinkInNewTab: { classPropertyName: "openMoreLinkInNewTab", publicName: "openMoreLinkInNewTab", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClicked: "buttonClicked", secondaryButtonClicked: "secondaryButtonClicked", moreLinkClicked: "moreLinkClicked" }, host: { properties: { "attr.size": "this._size" } }, ngImport: i0, template: "<div class=\"tw-max-w-[434px] tw-text-center\">\n @if (icon()) {\n <i class=\"emptyStateIcon fas tw-text-primary\" [class]=\"'fa-' + icon()\" aria-hidden=\"true\"></i>\n }\n\n <h3 class=\"empty-state-title tw-mb-m tw-mt-xl tw-text-black\" [innerHTML]=\"title()\"></h3>\n\n <div class=\"empty-state-content tw-leading-[16px] tw-text-gray-50\">\n <ng-content />\n </div>\n\n <div class=\"tw-flex tw-justify-center tw-gap-m\">\n @if (secondaryButtonLabel()) {\n <div class=\"secondaryButton tw-my-xl\">\n <button lx-button size=\"large\" [showSpinner]=\"loading()\" (click)=\"secondaryButtonClicked.emit($event)\">\n {{ secondaryButtonLabel() }}\n </button>\n </div>\n }\n\n @if (buttonLabel()) {\n <div class=\"actionButton tw-my-xl\">\n <button lx-button size=\"large\" color=\"primary\" [showSpinner]=\"loading()\" (click)=\"buttonClicked.emit($event)\">\n {{ buttonLabel() }}\n </button>\n </div>\n }\n </div>\n\n @if (moreLinkLabel() && moreLink()) {\n <div>\n @if (useRouterLink()) {\n <a\n rel=\"noopener noreferrer\"\n class=\"tw-text-size-md tw-text-primary\"\n [routerLink]=\"moreLink()\"\n (click)=\"moreLinkClicked.emit($event)\"\n [target]=\"openMoreLinkInNewTab() ? '_blank' : '_self'\"\n >{{ moreLinkLabel() }}</a\n >\n } @else {\n <a\n rel=\"noopener noreferrer\"\n class=\"tw-text-size-md tw-text-primary\"\n [href]=\"moreLink()\"\n (click)=\"moreLinkClicked.emit($event)\"\n [target]=\"openMoreLinkInNewTab() ? '_blank' : '_self'\"\n >{{ moreLinkLabel() }}</a\n >\n }\n </div>\n }\n</div>\n", styles: [":host{display:flex;justify-content:center}:host .emptyStateIcon{font-size:var(--lxFontHeader1Size, 32px)}:host[size=small] .empty-state-title{font-size:var(--lxFontSize, 13.5px)}:host[size=small] .empty-state-content{font-size:var(--lxFontSmallSize, 12px)}:host[size=medium] .empty-state-title{font-size:var(--lxFontHeader2Size, 24px)}:host[size=medium] .empty-state-content{font-size:var(--lxFontSize, 13.5px)}i{position:relative}i:after{content:\"\";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);height:6px;width:44px;background-color:#f0f2f5;border-radius:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "icon", "endIcon", "showSpinner"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
27
27
  }
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: EmptyStateComponent, decorators: [{
29
29
  type: Component,
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
38
38
  }], moreLinkClicked: [{
39
39
  type: Output
40
40
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBVSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRWpDLFNBQUksR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN2QixnQkFBVyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNoQyxhQUFRLEdBQUcsS0FBSyxFQUFxQixDQUFDO1FBQ3RDLHlCQUFvQixHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUM1QyxTQUFJLEdBQUcsS0FBSyxDQUFxQixRQUFRLENBQUMsQ0FBQztRQUVwQyxrQkFBYSxHQUFvQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBTzdFLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ3hELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztLQUM1RDtJQVJDLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBakJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGs5Q0NaaEMsNnREQXFEQSxrb0JEN0NZLFlBQVksK0JBQUUsZUFBZSx1S0FBRSxVQUFVOzsyRkFJeEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDOzhCQW1CaEQsS0FBSztzQkFEUixXQUFXO3VCQUFDLFdBQVc7Z0JBS2QsYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE91dHB1dCwgU2lnbmFsLCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1lbXB0eS1zdGF0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgUm91dGVyTGlua10sXG4gIHRlbXBsYXRlVXJsOiAnLi9lbXB0eS1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9lbXB0eS1zdGF0ZS5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlTdGF0ZUNvbXBvbmVudCB7XG4gIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIGljb24gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGJ1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICBzZWNvbmRhcnlCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgbG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgbW9yZUxpbmtMYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgbW9yZUxpbmsgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgb3Blbk1vcmVMaW5rSW5OZXdUYWIgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgc2l6ZSA9IGlucHV0PCdzbWFsbCcgfCAnbWVkaXVtJz4oJ21lZGl1bScpO1xuXG4gIHB1YmxpYyB1c2VSb3V0ZXJMaW5rOiBTaWduYWw8Ym9vbGVhbj4gPSBjb21wdXRlZCgoKSA9PiBBcnJheS5pc0FycmF5KHRoaXMubW9yZUxpbmsoKSkpO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5zaXplJylcbiAgZ2V0IF9zaXplKCkge1xuICAgIHJldHVybiB0aGlzLnNpemUoKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgc2Vjb25kYXJ5QnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIG1vcmVMaW5rQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJ0dy1tYXgtdy1bNDM0cHhdIHR3LXRleHQtY2VudGVyXCI+XG4gIEBpZiAoaWNvbigpKSB7XG4gICAgPGkgY2xhc3M9XCJlbXB0eVN0YXRlSWNvbiBmYXMgdHctdGV4dC1wcmltYXJ5XCIgW2NsYXNzXT1cIidmYS0nICsgaWNvbigpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICB9XG5cbiAgPGgzIGNsYXNzPVwiZW1wdHktc3RhdGUtdGl0bGUgdHctbWItbSB0dy1tdC14bCB0dy10ZXh0LWJsYWNrXCIgW2lubmVySFRNTF09XCJ0aXRsZSgpXCI+PC9oMz5cblxuICA8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGUtY29udGVudCB0dy1sZWFkaW5nLVsxNnB4XSB0dy10ZXh0LWdyYXktNTBcIj5cbiAgICA8bmctY29udGVudCAvPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwidHctZmxleCB0dy1qdXN0aWZ5LWNlbnRlciB0dy1nYXAtbVwiPlxuICAgIEBpZiAoc2Vjb25kYXJ5QnV0dG9uTGFiZWwoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInNlY29uZGFyeUJ1dHRvbiB0dy1teS14bFwiPlxuICAgICAgICA8YnV0dG9uIGx4LWJ1dHRvbiBzaXplPVwibGFyZ2VcIiBbc2hvd1NwaW5uZXJdPVwibG9hZGluZygpXCIgKGNsaWNrKT1cInNlY29uZGFyeUJ1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCI+XG4gICAgICAgICAge3sgc2Vjb25kYXJ5QnV0dG9uTGFiZWwoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoYnV0dG9uTGFiZWwoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbkJ1dHRvbiB0dy1teS14bFwiPlxuICAgICAgICA8YnV0dG9uIGx4LWJ1dHRvbiBzaXplPVwibGFyZ2VcIiBjb2xvcj1cInByaW1hcnlcIiBbc2hvd1NwaW5uZXJdPVwibG9hZGluZygpXCIgKGNsaWNrKT1cImJ1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCI+XG4gICAgICAgICAge3sgYnV0dG9uTGFiZWwoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmIChtb3JlTGlua0xhYmVsKCkgJiYgbW9yZUxpbmsoKSkge1xuICAgIDxkaXY+XG4gICAgICBAaWYgKHVzZVJvdXRlckxpbmsoKSkge1xuICAgICAgICA8YVxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIGNsYXNzPVwidHctdGV4dC1zaXplLW1kIHR3LXRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwibW9yZUxpbmsoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1vcmVMaW5rQ2xpY2tlZC5lbWl0KCRldmVudClcIlxuICAgICAgICAgIFt0YXJnZXRdPVwib3Blbk1vcmVMaW5rSW5OZXdUYWIoKSA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgICAgPnt7IG1vcmVMaW5rTGFiZWwoKSB9fTwvYVxuICAgICAgICA+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGFcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBjbGFzcz1cInR3LXRleHQtc2l6ZS1tZCB0dy10ZXh0LXByaW1hcnlcIlxuICAgICAgICAgIFtocmVmXT1cIm1vcmVMaW5rKClcIlxuICAgICAgICAgIChjbGljayk9XCJtb3JlTGlua0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICBbdGFyZ2V0XT1cIm9wZW5Nb3JlTGlua0luTmV3VGFiKCkgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxuICAgICAgICAgID57eyBtb3JlTGlua0xhYmVsKCkgfX08L2FcbiAgICAgICAgPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBVSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRWpDLFNBQUksR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN2QixnQkFBVyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNoQyxhQUFRLEdBQUcsS0FBSyxFQUFxQixDQUFDO1FBQ3RDLHlCQUFvQixHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUM1QyxTQUFJLEdBQUcsS0FBSyxDQUFxQixRQUFRLENBQUMsQ0FBQztRQUVwQyxrQkFBYSxHQUFvQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBTzdFLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ3hELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztLQUM1RDtJQVJDLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBakJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGs5Q0NaaEMsNnREQXFEQSxrb0JEN0NZLFlBQVksK0JBQUUsZUFBZSwwTEFBRSxVQUFVOzsyRkFJeEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDOzhCQW1CaEQsS0FBSztzQkFEUixXQUFXO3VCQUFDLFdBQVc7Z0JBS2QsYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE91dHB1dCwgU2lnbmFsLCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1lbXB0eS1zdGF0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgUm91dGVyTGlua10sXG4gIHRlbXBsYXRlVXJsOiAnLi9lbXB0eS1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9lbXB0eS1zdGF0ZS5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlTdGF0ZUNvbXBvbmVudCB7XG4gIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIGljb24gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGJ1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICBzZWNvbmRhcnlCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgbG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgbW9yZUxpbmtMYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgbW9yZUxpbmsgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgb3Blbk1vcmVMaW5rSW5OZXdUYWIgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgc2l6ZSA9IGlucHV0PCdzbWFsbCcgfCAnbWVkaXVtJz4oJ21lZGl1bScpO1xuXG4gIHB1YmxpYyB1c2VSb3V0ZXJMaW5rOiBTaWduYWw8Ym9vbGVhbj4gPSBjb21wdXRlZCgoKSA9PiBBcnJheS5pc0FycmF5KHRoaXMubW9yZUxpbmsoKSkpO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5zaXplJylcbiAgZ2V0IF9zaXplKCkge1xuICAgIHJldHVybiB0aGlzLnNpemUoKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgc2Vjb25kYXJ5QnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIG1vcmVMaW5rQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJ0dy1tYXgtdy1bNDM0cHhdIHR3LXRleHQtY2VudGVyXCI+XG4gIEBpZiAoaWNvbigpKSB7XG4gICAgPGkgY2xhc3M9XCJlbXB0eVN0YXRlSWNvbiBmYXMgdHctdGV4dC1wcmltYXJ5XCIgW2NsYXNzXT1cIidmYS0nICsgaWNvbigpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICB9XG5cbiAgPGgzIGNsYXNzPVwiZW1wdHktc3RhdGUtdGl0bGUgdHctbWItbSB0dy1tdC14bCB0dy10ZXh0LWJsYWNrXCIgW2lubmVySFRNTF09XCJ0aXRsZSgpXCI+PC9oMz5cblxuICA8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGUtY29udGVudCB0dy1sZWFkaW5nLVsxNnB4XSB0dy10ZXh0LWdyYXktNTBcIj5cbiAgICA8bmctY29udGVudCAvPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwidHctZmxleCB0dy1qdXN0aWZ5LWNlbnRlciB0dy1nYXAtbVwiPlxuICAgIEBpZiAoc2Vjb25kYXJ5QnV0dG9uTGFiZWwoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInNlY29uZGFyeUJ1dHRvbiB0dy1teS14bFwiPlxuICAgICAgICA8YnV0dG9uIGx4LWJ1dHRvbiBzaXplPVwibGFyZ2VcIiBbc2hvd1NwaW5uZXJdPVwibG9hZGluZygpXCIgKGNsaWNrKT1cInNlY29uZGFyeUJ1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCI+XG4gICAgICAgICAge3sgc2Vjb25kYXJ5QnV0dG9uTGFiZWwoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoYnV0dG9uTGFiZWwoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbkJ1dHRvbiB0dy1teS14bFwiPlxuICAgICAgICA8YnV0dG9uIGx4LWJ1dHRvbiBzaXplPVwibGFyZ2VcIiBjb2xvcj1cInByaW1hcnlcIiBbc2hvd1NwaW5uZXJdPVwibG9hZGluZygpXCIgKGNsaWNrKT1cImJ1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCI+XG4gICAgICAgICAge3sgYnV0dG9uTGFiZWwoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmIChtb3JlTGlua0xhYmVsKCkgJiYgbW9yZUxpbmsoKSkge1xuICAgIDxkaXY+XG4gICAgICBAaWYgKHVzZVJvdXRlckxpbmsoKSkge1xuICAgICAgICA8YVxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIGNsYXNzPVwidHctdGV4dC1zaXplLW1kIHR3LXRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwibW9yZUxpbmsoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1vcmVMaW5rQ2xpY2tlZC5lbWl0KCRldmVudClcIlxuICAgICAgICAgIFt0YXJnZXRdPVwib3Blbk1vcmVMaW5rSW5OZXdUYWIoKSA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgICAgPnt7IG1vcmVMaW5rTGFiZWwoKSB9fTwvYVxuICAgICAgICA+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGFcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBjbGFzcz1cInR3LXRleHQtc2l6ZS1tZCB0dy10ZXh0LXByaW1hcnlcIlxuICAgICAgICAgIFtocmVmXT1cIm1vcmVMaW5rKClcIlxuICAgICAgICAgIChjbGljayk9XCJtb3JlTGlua0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICBbdGFyZ2V0XT1cIm9wZW5Nb3JlTGlua0luTmV3VGFiKCkgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxuICAgICAgICAgID57eyBtb3JlTGlua0xhYmVsKCkgfX08L2FcbiAgICAgICAgPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -87,7 +87,7 @@ export class TokenizerComponent {
87
87
  this.changeDetectorRef.detectChanges();
88
88
  }
89
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TokenizerComponent, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i0.ChangeDetectorRef }, { token: i1.ResizeObserverService }], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: TokenizerComponent, isStandalone: true, selector: "lx-tokenizer", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { overflowPlaceholderClick: "overflowPlaceholderClick" }, queries: [{ propertyName: "items", predicate: TokenComponent }], viewQueries: [{ propertyName: "counter", first: true, predicate: ["counter"], descendants: true, read: ElementRef }, { propertyName: "tokensContainer", first: true, predicate: ["tokensContainer"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div #tokensContainer class=\"tokensContainer\">\n <ng-content select=\"lx-token\" />\n @if (showCounter()) {\n <button\n lx-button\n class=\"counterButton\"\n mode=\"ghost\"\n (click)=\"onCounterClicked()\"\n [attr.aria-label]=\"\n NAME + (overflowItemCount() === 1 ? '.showMoreItem' : '.showMoreItems') | translate: { count: overflowItemCount() }\n \"\n >\n <lx-counter #counter aria-hidden=\"true\" [content]=\"'+' + overflowItemCount()\" color=\"gray\" />\n </button>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;white-space:nowrap}:host .counterButton{padding:0;display:flex;align-items:center;margin-left:4px;border-radius:12px}.tokensContainer{display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: CounterComponent, selector: "lx-counter", inputs: ["content", "size", "color"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: TokenizerComponent, isStandalone: true, selector: "lx-tokenizer", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { overflowPlaceholderClick: "overflowPlaceholderClick" }, queries: [{ propertyName: "items", predicate: TokenComponent }], viewQueries: [{ propertyName: "counter", first: true, predicate: ["counter"], descendants: true, read: ElementRef }, { propertyName: "tokensContainer", first: true, predicate: ["tokensContainer"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div #tokensContainer class=\"tokensContainer\">\n <ng-content select=\"lx-token\" />\n @if (showCounter()) {\n <button\n lx-button\n class=\"counterButton\"\n mode=\"ghost\"\n (click)=\"onCounterClicked()\"\n [attr.aria-label]=\"\n NAME + (overflowItemCount() === 1 ? '.showMoreItem' : '.showMoreItems') | translate: { count: overflowItemCount() }\n \"\n >\n <lx-counter #counter aria-hidden=\"true\" [content]=\"'+' + overflowItemCount()\" color=\"gray\" />\n </button>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;white-space:nowrap}:host .counterButton{padding:0;display:flex;align-items:center;margin-left:4px;border-radius:12px}.tokensContainer{display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: CounterComponent, selector: "lx-counter", inputs: ["content", "size", "color"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "icon", "endIcon", "showSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
91
  }
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TokenizerComponent, decorators: [{
93
93
  type: Component,
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
104
104
  type: ViewChild,
105
105
  args: ['tokensContainer', { read: ElementRef }]
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90b2tlbml6ZXIvdG9rZW5pemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90b2tlbml6ZXIvdG9rZW5pemVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsZUFBZSxFQUVmLE1BQU0sRUFDTixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFVekQsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsWUFDVSxVQUFtQyxFQUNuQyxVQUFzQixFQUN0QixpQkFBb0MsRUFDcEMscUJBQTRDO1FBSDVDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBekI3QyxTQUFJLEdBQUcsb0JBQW9CLENBQUM7UUFFM0Isa0JBQWEsR0FBRyxNQUFNLENBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXRGLFdBQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDYixZQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyx1QkFBa0IsR0FBRyxNQUFNLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBRXpEOzs7O1dBSUc7UUFDTyw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBbUUsQ0FBQztRQVl2SCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1Ysa0VBQWtFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEtBQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUMxRyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUM1QyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQ2hCLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFDRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBTSxDQUFDLE9BQU8sQ0FBQztRQUUxQyxhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsT0FBTztZQUNaLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0YsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFDLENBQUM7YUFDQyxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQzVCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDcEM7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzdDLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQVEsRUFBRSxDQUFDLENBQUM7UUFDcEYsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsY0FBc0I7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFdkMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbkYsSUFBSSxTQUFTLEdBQUcsY0FBYyxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRWxDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQ25HLElBQUkseUJBQXlCLEdBQUcsY0FBYyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDN0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3JELFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztnQkFFRCxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0FyR1Usa0JBQWtCO2tHQUFsQixrQkFBa0Isd1NBa0JaLGNBQWMsNEdBQ0QsVUFBVSw2R0FDRixVQUFVLDZCQ3ZEbEQsNmhCQWdCQSx3UURnQmtCLGdCQUFnQiw2RkFBRSxlQUFlLHNLQUFFLGVBQWU7OzJGQUd2RCxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FHUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLG1CQUNsRCx1QkFBdUIsQ0FBQyxNQUFNOzRLQWtCckMsd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUUwQixLQUFLO3NCQUFyQyxlQUFlO3VCQUFDLGNBQWM7Z0JBQ2EsT0FBTztzQkFBbEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNVLGVBQWU7c0JBQWxFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGVzdHJveVJlZixcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGlucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ291bnRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY291bnRlci9jb3VudGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUb2tlbkNvbXBvbmVudCB9IGZyb20gJy4vdG9rZW4vdG9rZW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtdG9rZW5pemVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuaXplci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2VuaXplci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbTmdJZiwgQ291bnRlckNvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb2tlbml6ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcmVhZG9ubHkgTkFNRSA9ICdUb2tlbml6ZXJDb21wb25lbnQnO1xuXG4gIHByb3RlY3RlZCBvdmVyZmxvd0l0ZW1zID0gc2lnbmFsPFRva2VuQ29tcG9uZW50W10+KFtdKTtcbiAgcHJvdGVjdGVkIG92ZXJmbG93SXRlbUNvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vdmVyZmxvd0l0ZW1zKCkubGVuZ3RoKTtcbiAgcHJvdGVjdGVkIHNob3dDb3VudGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hY3RpdmUoKSAmJiB0aGlzLm92ZXJmbG93SXRlbUNvdW50KCkgPiAwKTtcblxuICBhY3RpdmUgPSBpbnB1dCh0cnVlKTtcbiAgcHJpdmF0ZSBhY3RpdmUkID0gdG9PYnNlcnZhYmxlKHRoaXMuYWN0aXZlKTtcbiAgcHJpdmF0ZSBvdmVyZmxvd1N0YXJ0SW5kZXggPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY291bnRlciBidXR0b24gaXMgY2xpY2tlZFxuICAgKiBAcGFyYW0gc3RhcnRJbmRleCBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IG92ZXJmbG93aW5nIGVsZW1lbnRcbiAgICogQHBhcmFtIGNvdW50ZXJFbGVtZW50IFRoZSBjb3VudGVyIGJ1dHRvbiBlbGVtZW50XG4gICAqL1xuICBAT3V0cHV0KCkgb3ZlcmZsb3dQbGFjZWhvbGRlckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0SW5kZXg6IG51bWJlcjsgY291bnRlckVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUb2tlbkNvbXBvbmVudCkgaXRlbXM/OiBRdWVyeUxpc3Q8VG9rZW5Db21wb25lbnQ+O1xuICBAVmlld0NoaWxkKCdjb3VudGVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGNvdW50ZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgndG9rZW5zQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHRva2Vuc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2VcbiAgKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIC8vIFdoZW5ldmVyIHRoZSB0b2tlbml6ZXIgaXMgZGlzYWJsZWQsIGVuc3VyZSBhbGwgdG9rZW5zIGFyZSBzaG93blxuICAgICAgaWYgKCF0aGlzLmFjdGl2ZSgpKSB7XG4gICAgICAgIHRoaXMuaXRlbXMhLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uc2hvdygpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMucmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLmNyZWF0ZVJlc2l6ZU9ic2VydmFibGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnBpcGUoXG4gICAgICBtYXAoKGVudHJ5KSA9PiBlbnRyeS5jb250ZW50UmVjdC53aWR0aCA/PyAwKSxcbiAgICAgIGRlYm91bmNlVGltZSgxNiksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgICBjb25zdCBpdGVtc0NoYW5nZWQkID0gdGhpcy5pdGVtcyEuY2hhbmdlcztcblxuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hY3RpdmUkLFxuICAgICAgY29udGFpbmVyV2lkdGgucGlwZShzdGFydFdpdGgodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpKSxcbiAgICAgIGl0ZW1zQ2hhbmdlZCQucGlwZShzdGFydFdpdGgodGhpcy5pdGVtcykpXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKFthY3RpdmVdKSA9PiBhY3RpdmUpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoWywgY29udGFpbmVyV2lkdGhdKSA9PiB7XG4gICAgICAgIHRoaXMudG9rZW5pemUoY29udGFpbmVyV2lkdGgpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkNvdW50ZXJDbGlja2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLm92ZXJmbG93U3RhcnRJbmRleCgpO1xuICAgIGlmICh0eXBlb2Ygc3RhcnRJbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMub3ZlcmZsb3dQbGFjZWhvbGRlckNsaWNrLmVtaXQoeyBzdGFydEluZGV4LCBjb3VudGVyRWxlbWVudDogdGhpcy5jb3VudGVyISB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRva2VuaXplKGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaGlkZSgpKTtcbiAgICB0aGlzLm92ZXJmbG93SXRlbXMuc2V0KFtdKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIGxldCBpbmRleCA9IDA7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgIGl0ZW0uc2hvdygpO1xuICAgICAgY29uc3QgdXNlZFdpZHRoID0gdGhpcy50b2tlbnNDb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgIGlmICh1c2VkV2lkdGggPiBjb250YWluZXJXaWR0aCkge1xuICAgICAgICBpdGVtLmhpZGUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVPdmVyZmxvd0NvdW50ZXIoaW5kZXgpO1xuXG4gICAgICAgIGNvbnN0IHVzZWRXaWR0aEluY2x1ZGluZ0NvdW50ZXIgPSB0aGlzLnRva2Vuc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBpZiAodXNlZFdpZHRoSW5jbHVkaW5nQ291bnRlciA+IGNvbnRhaW5lcldpZHRoICYmIGluZGV4ID49IDEpIHtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c0l0ZW0gPSB0aGlzLml0ZW1zLnRvQXJyYXkoKVtpbmRleCAtIDFdO1xuICAgICAgICAgIHByZXZpb3VzSXRlbT8uaGlkZSgpO1xuICAgICAgICAgIHRoaXMudXBkYXRlT3ZlcmZsb3dDb3VudGVyKGluZGV4IC0gMSk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVPdmVyZmxvd0NvdW50ZXIoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMub3ZlcmZsb3dTdGFydEluZGV4LnNldChpbmRleCk7XG5cbiAgICBjb25zdCBvdmVyZmxvd2luZ0l0ZW1zID0gdGhpcy5pdGVtcz8udG9BcnJheSgpLnNsaWNlKGluZGV4KSA/PyBbXTtcbiAgICB0aGlzLm92ZXJmbG93SXRlbXMuc2V0KG92ZXJmbG93aW5nSXRlbXMpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2ICN0b2tlbnNDb250YWluZXIgY2xhc3M9XCJ0b2tlbnNDb250YWluZXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibHgtdG9rZW5cIiAvPlxuICBAaWYgKHNob3dDb3VudGVyKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICBseC1idXR0b25cbiAgICAgIGNsYXNzPVwiY291bnRlckJ1dHRvblwiXG4gICAgICBtb2RlPVwiZ2hvc3RcIlxuICAgICAgKGNsaWNrKT1cIm9uQ291bnRlckNsaWNrZWQoKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICBOQU1FICsgKG92ZXJmbG93SXRlbUNvdW50KCkgPT09IDEgPyAnLnNob3dNb3JlSXRlbScgOiAnLnNob3dNb3JlSXRlbXMnKSB8IHRyYW5zbGF0ZTogeyBjb3VudDogb3ZlcmZsb3dJdGVtQ291bnQoKSB9XG4gICAgICBcIlxuICAgID5cbiAgICAgIDxseC1jb3VudGVyICNjb3VudGVyIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtjb250ZW50XT1cIicrJyArIG92ZXJmbG93SXRlbUNvdW50KClcIiBjb2xvcj1cImdyYXlcIiAvPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90b2tlbml6ZXIvdG9rZW5pemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90b2tlbml6ZXIvdG9rZW5pemVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsZUFBZSxFQUVmLE1BQU0sRUFDTixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFVekQsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsWUFDVSxVQUFtQyxFQUNuQyxVQUFzQixF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LENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0FyR1Usa0JBQWtCO2tHQUFsQixrQkFBa0Isd1NBa0JaLGNBQWMsNEdBQ0QsVUFBVSw2R0FDRixVQUFVLDZCQ3ZEbEQsNmhCQWdCQSx3UURnQmtCLGdCQUFnQiw2RkFBRSxlQUFlLHlMQUFFLGVBQWU7OzJGQUd2RCxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FHUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLG1CQUNsRCx1QkFBdUIsQ0FBQyxNQUFNOzRLQWtCckMsd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUUwQixLQUFLO3NCQUFyQyxlQUFlO3VCQUFDLGNBQWM7Z0JBQ2EsT0FBTztzQkFBbEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNVLGVBQWU7c0JBQWxFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGVzdHJveVJlZixcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGlucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ291bnRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY291bnRlci9jb3VudGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUb2tlbkNvbXBvbmVudCB9IGZyb20gJy4vdG9rZW4vdG9rZW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtdG9rZW5pemVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuaXplci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2VuaXplci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbTmdJZiwgQ291bnRlckNvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb2tlbml6ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcmVhZG9ubHkgTkFNRSA9ICdUb2tlbml6ZXJDb21wb25lbnQnO1xuXG4gIHByb3RlY3RlZCBvdmVyZmxvd0l0ZW1zID0gc2lnbmFsPFRva2VuQ29tcG9uZW50W10+KFtdKTtcbiAgcHJvdGVjdGVkIG92ZXJmbG93SXRlbUNvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vdmVyZmxvd0l0ZW1zKCkubGVuZ3RoKTtcbiAgcHJvdGVjdGVkIHNob3dDb3VudGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hY3RpdmUoKSAmJiB0aGlzLm92ZXJmbG93SXRlbUNvdW50KCkgPiAwKTtcblxuICBhY3RpdmUgPSBpbnB1dCh0cnVlKTtcbiAgcHJpdmF0ZSBhY3RpdmUkID0gdG9PYnNlcnZhYmxlKHRoaXMuYWN0aXZlKTtcbiAgcHJpdmF0ZSBvdmVyZmxvd1N0YXJ0SW5kZXggPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY291bnRlciBidXR0b24gaXMgY2xpY2tlZFxuICAgKiBAcGFyYW0gc3RhcnRJbmRleCBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IG92ZXJmbG93aW5nIGVsZW1lbnRcbiAgICogQHBhcmFtIGNvdW50ZXJFbGVtZW50IFRoZSBjb3VudGVyIGJ1dHRvbiBlbGVtZW50XG4gICAqL1xuICBAT3V0cHV0KCkgb3ZlcmZsb3dQbGFjZWhvbGRlckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0SW5kZXg6IG51bWJlcjsgY291bnRlckVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUb2tlbkNvbXBvbmVudCkgaXRlbXM/OiBRdWVyeUxpc3Q8VG9rZW5Db21wb25lbnQ+O1xuICBAVmlld0NoaWxkKCdjb3VudGVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGNvdW50ZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgndG9rZW5zQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHRva2Vuc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2VcbiAgKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIC8vIFdoZW5ldmVyIHRoZSB0b2tlbml6ZXIgaXMgZGlzYWJsZWQsIGVuc3VyZSBhbGwgdG9rZW5zIGFyZSBzaG93blxuICAgICAgaWYgKCF0aGlzLmFjdGl2ZSgpKSB7XG4gICAgICAgIHRoaXMuaXRlbXMhLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uc2hvdygpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMucmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLmNyZWF0ZVJlc2l6ZU9ic2VydmFibGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnBpcGUoXG4gICAgICBtYXAoKGVudHJ5KSA9PiBlbnRyeS5jb250ZW50UmVjdC53aWR0aCA/PyAwKSxcbiAgICAgIGRlYm91bmNlVGltZSgxNiksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgICBjb25zdCBpdGVtc0NoYW5nZWQkID0gdGhpcy5pdGVtcyEuY2hhbmdlcztcblxuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hY3RpdmUkLFxuICAgICAgY29udGFpbmVyV2lkdGgucGlwZShzdGFydFdpdGgodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpKSxcbiAgICAgIGl0ZW1zQ2hhbmdlZCQucGlwZShzdGFydFdpdGgodGhpcy5pdGVtcykpXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKFthY3RpdmVdKSA9PiBhY3RpdmUpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoWywgY29udGFpbmVyV2lkdGhdKSA9PiB7XG4gICAgICAgIHRoaXMudG9rZW5pemUoY29udGFpbmVyV2lkdGgpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkNvdW50ZXJDbGlja2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLm92ZXJmbG93U3RhcnRJbmRleCgpO1xuICAgIGlmICh0eXBlb2Ygc3RhcnRJbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMub3ZlcmZsb3dQbGFjZWhvbGRlckNsaWNrLmVtaXQoeyBzdGFydEluZGV4LCBjb3VudGVyRWxlbWVudDogdGhpcy5jb3VudGVyISB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRva2VuaXplKGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaGlkZSgpKTtcbiAgICB0aGlzLm92ZXJmbG93SXRlbXMuc2V0KFtdKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIGxldCBpbmRleCA9IDA7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgIGl0ZW0uc2hvdygpO1xuICAgICAgY29uc3QgdXNlZFdpZHRoID0gdGhpcy50b2tlbnNDb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgIGlmICh1c2VkV2lkdGggPiBjb250YWluZXJXaWR0aCkge1xuICAgICAgICBpdGVtLmhpZGUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVPdmVyZmxvd0NvdW50ZXIoaW5kZXgpO1xuXG4gICAgICAgIGNvbnN0IHVzZWRXaWR0aEluY2x1ZGluZ0NvdW50ZXIgPSB0aGlzLnRva2Vuc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBpZiAodXNlZFdpZHRoSW5jbHVkaW5nQ291bnRlciA+IGNvbnRhaW5lcldpZHRoICYmIGluZGV4ID49IDEpIHtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c0l0ZW0gPSB0aGlzLml0ZW1zLnRvQXJyYXkoKVtpbmRleCAtIDFdO1xuICAgICAgICAgIHByZXZpb3VzSXRlbT8uaGlkZSgpO1xuICAgICAgICAgIHRoaXMudXBkYXRlT3ZlcmZsb3dDb3VudGVyKGluZGV4IC0gMSk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVPdmVyZmxvd0NvdW50ZXIoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMub3ZlcmZsb3dTdGFydEluZGV4LnNldChpbmRleCk7XG5cbiAgICBjb25zdCBvdmVyZmxvd2luZ0l0ZW1zID0gdGhpcy5pdGVtcz8udG9BcnJheSgpLnNsaWNlKGluZGV4KSA/PyBbXTtcbiAgICB0aGlzLm92ZXJmbG93SXRlbXMuc2V0KG92ZXJmbG93aW5nSXRlbXMpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2ICN0b2tlbnNDb250YWluZXIgY2xhc3M9XCJ0b2tlbnNDb250YWluZXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibHgtdG9rZW5cIiAvPlxuICBAaWYgKHNob3dDb3VudGVyKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICBseC1idXR0b25cbiAgICAgIGNsYXNzPVwiY291bnRlckJ1dHRvblwiXG4gICAgICBtb2RlPVwiZ2hvc3RcIlxuICAgICAgKGNsaWNrKT1cIm9uQ291bnRlckNsaWNrZWQoKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICBOQU1FICsgKG92ZXJmbG93SXRlbUNvdW50KCkgPT09IDEgPyAnLnNob3dNb3JlSXRlbScgOiAnLnNob3dNb3JlSXRlbXMnKSB8IHRyYW5zbGF0ZTogeyBjb3VudDogb3ZlcmZsb3dJdGVtQ291bnQoKSB9XG4gICAgICBcIlxuICAgID5cbiAgICAgIDxseC1jb3VudGVyICNjb3VudGVyIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtjb250ZW50XT1cIicrJyArIG92ZXJmbG93SXRlbUNvdW50KClcIiBjb2xvcj1cImdyYXlcIiAvPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cbiJdfQ==