@wizco/fenixds-ngx 17.0.14 → 17.0.17

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.
@@ -0,0 +1,297 @@
1
+ import { Component, ContentChildren, EventEmitter, Input, Output, ViewEncapsulation, forwardRef, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormControl, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
4
+ import { SmartSelectOptionComponent } from './smart-select-options.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ export class SmartSelectComponent {
8
+ el;
9
+ options;
10
+ onChange = new EventEmitter();
11
+ /* Id do elemento */
12
+ inputId = 'select_' + Math.random().toString(36).substring(2);
13
+ /* Attr name do elemento */
14
+ inputName;
15
+ IconMaterial = 'arrow_drop_down';
16
+ /* Placeholder do select */
17
+ placeholder = 'Selecione uma opção';
18
+ /* Label do select */
19
+ label = ' ';
20
+ showSearch = false;
21
+ /* Texto exibido quando não há resultados */
22
+ textEmpty = 'Não há resultados para a busca';
23
+ /* habilitar opção de multiplas seleções */
24
+ multiSelect = false;
25
+ /* Limitar visualização de itens selecionados */
26
+ showMaxSelectedLabel = 0;
27
+ /* Tipos pré definidos de checkbox, radio ou null */
28
+ typePrefix = null;
29
+ isMobile = window.innerWidth <= 768;
30
+ formValue;
31
+ isFocused = false;
32
+ preventEscapeFocus = false;
33
+ autocompleteControl = new FormControl();
34
+ filteredOptions = [];
35
+ showList = false;
36
+ constructor(el) {
37
+ this.el = el;
38
+ }
39
+ onTouched = () => {
40
+ this.isFocused = true;
41
+ };
42
+ /// estados do control
43
+ ngOnInit() { }
44
+ writeValue(obj) {
45
+ this.formValue = obj;
46
+ this.autocompleteControl.setValue(obj);
47
+ }
48
+ registerOnChange(fn) {
49
+ this.autocompleteControl.valueChanges.subscribe((value) => {
50
+ fn(value);
51
+ });
52
+ }
53
+ registerOnTouched(fn) {
54
+ this.onTouched = fn;
55
+ }
56
+ validate(_control) {
57
+ if (this.multiSelect) {
58
+ if (this.formValue?.length) {
59
+ return null;
60
+ }
61
+ return { required: true };
62
+ }
63
+ if (this.formValue) {
64
+ return null;
65
+ }
66
+ return { required: true };
67
+ }
68
+ setDisabledState(isDisabled) {
69
+ if (isDisabled) {
70
+ this.autocompleteControl.disable();
71
+ }
72
+ else {
73
+ this.autocompleteControl.enable();
74
+ }
75
+ }
76
+ /// Abertura e fechamento da lista
77
+ onFocusIn(focus = false) {
78
+ this.renderBoxOptions();
79
+ this.autocompleteControl.markAsTouched();
80
+ this.onTouched();
81
+ this.isFocused = focus;
82
+ this.showList = focus;
83
+ this.positionBox();
84
+ }
85
+ /// here function to position box element top or bottom
86
+ positionBox() {
87
+ if (this.isMobile) {
88
+ return;
89
+ }
90
+ const componentBox = this.el.nativeElement;
91
+ if (!componentBox) {
92
+ return;
93
+ }
94
+ const componentBoxPosition = componentBox.getBoundingClientRect();
95
+ const inputId = componentBox.querySelector('.form-field');
96
+ const box = componentBox.querySelector('.wco-smartSelect--box');
97
+ const inputIdPosition = inputId.getBoundingClientRect().height;
98
+ const pageHeight = window.innerHeight;
99
+ if (box && componentBoxPosition.y + 320 >= pageHeight) {
100
+ box.style.bottom = inputIdPosition + 'px';
101
+ box.style.height = `var(--wco-smart-select-box-max-height)`;
102
+ box.style.top = 'initial';
103
+ }
104
+ else {
105
+ box.style.top = inputIdPosition + 'px';
106
+ box.style.bottom = 'initial';
107
+ box.style.height = `auto`;
108
+ }
109
+ }
110
+ onSelect(option) {
111
+ if (option.disabled || option.viewOnly) {
112
+ return;
113
+ }
114
+ const oldValue = this.formValue;
115
+ if (this.multiSelect) {
116
+ if (this.formValue?.includes(option.value)) {
117
+ this.formValue = this.formValue.filter((item) => item !== option.value);
118
+ this.autocompleteControl.setValue(this.formValue);
119
+ this.renderBoxOptions();
120
+ return;
121
+ }
122
+ // is Array []
123
+ if (!!this.formValue === false) {
124
+ this.formValue = [];
125
+ this.autocompleteControl.setValue(this.formValue);
126
+ }
127
+ this.formValue = [...this.formValue, option.value];
128
+ this.autocompleteControl.setValue(this.formValue);
129
+ }
130
+ else {
131
+ this.formValue = option.value;
132
+ this.autocompleteControl.setValue(option.value);
133
+ }
134
+ if (!this.multiSelect) {
135
+ this.showList = false;
136
+ }
137
+ if (oldValue !== this.formValue) {
138
+ this.onChange.emit({ type: 'updateValue', value: this.formValue });
139
+ }
140
+ }
141
+ // Show label span
142
+ get selectedLabel() {
143
+ const selectedOption = this.options?.find((option) => this.normalizeText(String(option.value)) ===
144
+ this.normalizeText(String(this.formValue)));
145
+ return selectedOption?.label || ' ';
146
+ }
147
+ // show label multi select
148
+ get selectedLabelMulti() {
149
+ const selectedOptions = this.options?.filter((option) => this.formValue?.includes(option.value));
150
+ if (!selectedOptions?.length) {
151
+ return [];
152
+ }
153
+ if (!this.showMaxSelectedLabel) {
154
+ return selectedOptions;
155
+ }
156
+ if (this.showMaxSelectedLabel && selectedOptions.length > this.showMaxSelectedLabel) {
157
+ return selectedOptions.slice(0, this.showMaxSelectedLabel);
158
+ }
159
+ return selectedOptions;
160
+ }
161
+ get selectedLabelMultiCount() {
162
+ const show = this.showMaxSelectedLabel || 0;
163
+ const selectedOptions = this.options?.filter((option) => this.formValue?.includes(option.value));
164
+ console.log('selectedOptions', selectedOptions);
165
+ console.log('show', show);
166
+ if (!selectedOptions?.length) {
167
+ return 0;
168
+ }
169
+ if (show > 0 && selectedOptions.length > show) {
170
+ return selectedOptions.length - show;
171
+ }
172
+ return 0;
173
+ }
174
+ removeItem(option) {
175
+ this.onSelect(option);
176
+ setTimeout(() => {
177
+ this.showList = false;
178
+ }, 100);
179
+ }
180
+ onKeyPress(event) {
181
+ event.preventDefault();
182
+ this.renderBoxOptions();
183
+ }
184
+ onFilter(event) {
185
+ const value = event.target.value;
186
+ if (!value) {
187
+ this.renderBoxOptions();
188
+ return;
189
+ }
190
+ if (this.filteredOptions.length) {
191
+ this.renderBoxOptions(value);
192
+ }
193
+ }
194
+ onResize() {
195
+ this.renderBoxOptions();
196
+ this.positionBox();
197
+ }
198
+ onFocusOut() {
199
+ if (!this.preventEscapeFocus && !this.isMobile) {
200
+ this.isFocused = false;
201
+ this.showList = false;
202
+ }
203
+ }
204
+ closeList() {
205
+ this.preventEscapeFocus = true;
206
+ this.isFocused = false;
207
+ this.showList = false;
208
+ }
209
+ selectedValue(option) {
210
+ if (this.multiSelect) {
211
+ return this.formValue?.includes(option.value);
212
+ }
213
+ return option.value === this.formValue;
214
+ }
215
+ renderBoxOptions(filterValue = null) {
216
+ if (!this.options || !this.options.length) {
217
+ return;
218
+ }
219
+ this.filteredOptions = this.options
220
+ ?.map((option) => {
221
+ return {
222
+ value: option.value,
223
+ iconPrefix: option.iconPrefix,
224
+ htmlLabel: option.safeHtmlContent || option.label,
225
+ disabled: option.disabled,
226
+ viewOnly: option.viewOnly,
227
+ };
228
+ })
229
+ .filter((option) => {
230
+ if (!filterValue) {
231
+ return true;
232
+ }
233
+ const normalizedFilter = this.normalizeText(filterValue);
234
+ const normalizedLabel = this.normalizeText(option.htmlLabel?.toString() || '');
235
+ return normalizedLabel.includes(normalizedFilter);
236
+ });
237
+ }
238
+ normalizeText(text) {
239
+ return text
240
+ .replace(/[\W_]+/g, '') // Remove caracteres especiais e sublinhados
241
+ .toLowerCase();
242
+ }
243
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartSelectComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
244
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SmartSelectComponent, isStandalone: true, selector: "wco-smart-select", inputs: { inputId: "inputId", inputName: "inputName", IconMaterial: "IconMaterial", placeholder: "placeholder", label: "label", showSearch: "showSearch", textEmpty: "textEmpty", multiSelect: "multiSelect", showMaxSelectedLabel: "showMaxSelectedLabel", typePrefix: "typePrefix" }, outputs: { onChange: "onChange" }, providers: [
245
+ {
246
+ provide: NG_VALUE_ACCESSOR,
247
+ useExisting: forwardRef(() => SmartSelectComponent),
248
+ multi: true,
249
+ },
250
+ {
251
+ provide: NG_VALIDATORS,
252
+ useExisting: SmartSelectComponent,
253
+ multi: true,
254
+ },
255
+ ], queries: [{ propertyName: "options", predicate: SmartSelectOptionComponent }], ngImport: i0, template: "<div\n class=\"wco-smartSelect\"\n [ngClass]=\"{\n 'wco-smartSelect--open': showList,\n 'wco-smartSelect--isMobile': isMobile,\n}\"\n (resize)=\"onResize()\"\n (mouseleave)=\"onFocusOut()\"\n>\n <div class=\"form-field\">\n <input\n *ngIf=\"!multiSelect\"\n class=\"form-field__input\"\n [ngClass]=\"{\n 'form-field--error':\n autocompleteControl.invalid && autocompleteControl.touched\n }\"\n [disabled]=\"autocompleteControl.disabled\"\n id=\"{{ inputId ? inputId : '' }}\"\n name=\"{{ inputName ? inputName : '' }}\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n (keypress)=\"onKeyPress($event)\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [value]=\"selectedLabel\"\n aria-label=\"Selecione uma op\u00E7\u00E3o\"\n />\n <div\n *ngIf=\"multiSelect\"\n class=\"form-field__input readonly multiSelect\"\n [ngClass]=\"{\n 'form-field--error': autocompleteControl.invalid && autocompleteControl.touched,\n 'form-field--disabled': autocompleteControl.disabled,\n }\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n >\n <ng-container *ngIf=\"!selectedLabelMulti.length\">\n <span class=\"wco-smart-select-placeholder\">{{ placeholder || 'Selecione uma op\u00E7\u00E3o' }}</span>\n </ng-container>\n <ng-container *ngIf=\"selectedLabelMulti.length\">\n <span *ngFor=\"let optionSelected of selectedLabelMulti\" class=\"wco-smart-select-item\">\n {{optionSelected.label}} \n <span class=\"wco-smart-select-remove\" (click)=\"removeItem(optionSelected)\">\n <span class=\"material-icons\">close</span>\n </span>\n </span>\n <span class=\"wco-smart-select-item\" *ngIf=\"selectedLabelMultiCount >= 1\">\n +{{selectedLabelMultiCount}} \n </span>\n </ng-container>\n </div>\n <label>{{ label }}</label>\n <span class=\"material-icons\">{{ IconMaterial }}</span>\n </div>\n <div\n class=\"wco-smartSelect--box\"\n [ngClass]=\"{\n 'wco-smartSelect--box--open': showList && !autocompleteControl.disabled\n }\"\n >\n <div class=\"wco-smartSelect--isMobile-close\">\n <button\n (click)=\"closeList()\"\n class=\"btn btn-sm btn-primary btn-outline mb-nano\"\n >\n fechar\n </button>\n </div>\n <ul>\n <li\n tabindex=\"0\"\n class=\"wco-smart-selected-filter\"\n *ngIf=\"showList && showSearch\"\n >\n <input\n placeholder=\"buscar\"\n (keyup)=\"onFilter($event)\"\n aria-label=\"Search through site content\"\n type=\"text\"\n />\n </li>\n <li\n *ngFor=\"let option of filteredOptions; let i = index\"\n [tabindex]=\"i + 1\"\n [ngClass]=\"{\n 'wco-smart-selected': selectedValue(option),\n 'wc-smart-select-disabled-option': option.disabled,\n 'wc-smart-select-view-only-option': option.viewOnly,\n }\"\n (click)=\"onSelect(option)\"\n >\n <span class=\"wco-smart-select-label-prefix\">\n <ng-container *ngIf=\"typePrefix === 'checkbox'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option) ? \"check_box\" : \"check_box_outline_blank\"\n }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"typePrefix === 'radio'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option)\n ? \"radio_button_checked\"\n : \"radio_button_unchecked\"\n }}\n </span>\n </ng-container>\n <ng-container\n *ngIf=\"\n !!option.iconPrefix &&\n typePrefix !== 'radio' &&\n typePrefix !== 'checkbox'\n \"\n >\n <span class=\"material-icons-outlined\">\n {{ option.iconPrefix }}\n </span>\n </ng-container>\n </span>\n <span\n class=\"wco-smart-select-label\"\n [innerHTML]=\"option.htmlLabel\"\n ></span>\n </li>\n <li *ngIf=\"!filteredOptions.length\">\n <p class=\"display-body\">{{ textEmpty }}</p>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".wco-smartSelect{width:100%;position:relative;display:inline-block;--wco-smart-select-box-height: 0px;--wco-smart-select-box-max-height: 300px;--wco-smart-select-box-radius: 8px;--wco-smart-select-box-shadow: var(--wco-shadow-level-1, 0 2px 4px rgba(0, 0, 0, .2));--wco-smart-select-box-default-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-default-color-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-box-default-padding: var(--wco-spacing-nano) var(--wco-spacing-xxxs);--wco-smart-select-box-hover-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-hover-color-bg: var(--wco-color-neutral-300, #bdbdbd);--wco-smart-select-box-selected-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-selected-color-bg: var(--wco-color-primary-100, #819ed3);--wco-smart-select-option-disabled-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-option-disabled-color: var(--wco-color-neutral-500, #9e9e9e);--wco-smart-select-box-option-height: 48px}.wco-smartSelect--open{--wco-smart-select-box-height: auto }.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--isMobile-close{display:flex;padding:var(--wco-spacing-nano);align-items:center;justify-content:flex-end}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box{position:fixed;bottom:0;left:0;width:100%}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open{padding:0}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open ul,.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open input{border-radius:0}.wco-smartSelect .wco-smartSelect--isMobile-close{display:none}.wco-smartSelect input{cursor:pointer}.wco-smartSelect .form-field__input.multiSelect{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--wco-spacing-nano);padding-right:var(--wco-spacing-sm)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-placeholder{opacity:.5}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item{display:inline-flex;align-items:center;justify-content:center;padding:var(--wco-spacing-quark) var(--wco-spacing-xxs);border-radius:var(--wco-smart-select-box-radius);background-color:var(--wco-smart-select-box-default-color-bg);position:relative}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item:hover>span{width:calc(var(--wco-spacing-xxs) - 2px)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span{position:absolute;right:0;top:50%;transform:translateY(-50%);border-radius:0 var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:100%;width:0px;transition:width .1s linear,margin .1s linear;overflow:hidden;z-index:1}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span>span{font-size:var(--wco-font-size-xxxs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;color:var(--wco-smart-select-box-default-color-label)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span:hover{color:var(--wco-smart-select-box-hover-color-label);background-color:var(--wco-smart-select-box-hover-color-bg)}.wco-smartSelect .wco-smartSelect--box{position:absolute;left:-12px;width:calc(100% + 24px);z-index:999;display:grid;grid-template-columns:1fr;grid-template-rows:var(--wco-smart-select-box-height, 0px);max-height:var(--wco-smart-select-box-max-height);transition:all .4s ease-in-out,padding 0ms linear;padding:0;opacity:0;visibility:hidden;pointer-events:none}.wco-smartSelect .wco-smartSelect--box.wco-smartSelect--box--open{pointer-events:all;padding:var(--wco-spacing-nano) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs);animation:introSmartSelectBox .4s ease-in-out .1s forwards}@keyframes introSmartSelectBox{0%{opacity:0;visibility:hidden;transform:translateY(-10px)}to{opacity:1;visibility:visible;transform:translateY(0)}}.wco-smartSelect .wco-smartSelect--box ul{border-top:none;border-radius:var(--wco-smart-select-box-radius);box-shadow:var(--wco-smart-select-box-shadow);background-color:var(--wco-smart-select-box-default-color-bg);overflow-y:auto;overflow-x:hidden;max-height:var(--wco-smart-select-box-max-height)}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar{width:8px}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-track{background-color:transparent}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-thumb{border-radius:99px;background-color:var(--wco-color-neutral-500, #9e9e9e)}.wco-smartSelect .wco-smartSelect--box ul li{color:var(--wco-smart-select-box-default-color-label);padding:var(--wco-smart-select-box-default-padding);display:grid;width:100%;align-items:center;justify-content:flex-start;grid-template-columns:auto 1fr auto;gap:var(--wco-spacing-xxxs);font-family:var(--wco-font-family);font-size:var(--wco-font-size-xs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;min-height:var(--wco-smart-select-box-option-height)}.wco-smartSelect .wco-smartSelect--box ul li .wco-smart-select-label-prefix{display:inline-flex;align-items:center}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter{padding:0;align-items:stretch;display:flex}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input{width:100%;height:auto;padding:var(--wco-smart-select-box-default-padding);border:none;border-bottom:1px solid #ccc;border-radius:var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0 0}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input:focus{outline:none}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter){cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):hover{background-color:var(--wco-smart-select-box-hover-color-bg);color:var(--wco-smart-select-box-hover-color-label);cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):focus,.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):active{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label)}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter).wco-smart-selected{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label);font-weight:600}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option{background-color:var(--wco-smart-select-option-disabled-bg);color:var(--wco-smart-select-option-disabled-color);cursor:not-allowed}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option .wco-smart-select-remove{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }], encapsulation: i0.ViewEncapsulation.None });
256
+ }
257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartSelectComponent, decorators: [{
258
+ type: Component,
259
+ args: [{ selector: 'wco-smart-select', standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule], encapsulation: ViewEncapsulation.None, providers: [
260
+ {
261
+ provide: NG_VALUE_ACCESSOR,
262
+ useExisting: forwardRef(() => SmartSelectComponent),
263
+ multi: true,
264
+ },
265
+ {
266
+ provide: NG_VALIDATORS,
267
+ useExisting: SmartSelectComponent,
268
+ multi: true,
269
+ },
270
+ ], template: "<div\n class=\"wco-smartSelect\"\n [ngClass]=\"{\n 'wco-smartSelect--open': showList,\n 'wco-smartSelect--isMobile': isMobile,\n}\"\n (resize)=\"onResize()\"\n (mouseleave)=\"onFocusOut()\"\n>\n <div class=\"form-field\">\n <input\n *ngIf=\"!multiSelect\"\n class=\"form-field__input\"\n [ngClass]=\"{\n 'form-field--error':\n autocompleteControl.invalid && autocompleteControl.touched\n }\"\n [disabled]=\"autocompleteControl.disabled\"\n id=\"{{ inputId ? inputId : '' }}\"\n name=\"{{ inputName ? inputName : '' }}\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n (keypress)=\"onKeyPress($event)\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [value]=\"selectedLabel\"\n aria-label=\"Selecione uma op\u00E7\u00E3o\"\n />\n <div\n *ngIf=\"multiSelect\"\n class=\"form-field__input readonly multiSelect\"\n [ngClass]=\"{\n 'form-field--error': autocompleteControl.invalid && autocompleteControl.touched,\n 'form-field--disabled': autocompleteControl.disabled,\n }\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n >\n <ng-container *ngIf=\"!selectedLabelMulti.length\">\n <span class=\"wco-smart-select-placeholder\">{{ placeholder || 'Selecione uma op\u00E7\u00E3o' }}</span>\n </ng-container>\n <ng-container *ngIf=\"selectedLabelMulti.length\">\n <span *ngFor=\"let optionSelected of selectedLabelMulti\" class=\"wco-smart-select-item\">\n {{optionSelected.label}} \n <span class=\"wco-smart-select-remove\" (click)=\"removeItem(optionSelected)\">\n <span class=\"material-icons\">close</span>\n </span>\n </span>\n <span class=\"wco-smart-select-item\" *ngIf=\"selectedLabelMultiCount >= 1\">\n +{{selectedLabelMultiCount}} \n </span>\n </ng-container>\n </div>\n <label>{{ label }}</label>\n <span class=\"material-icons\">{{ IconMaterial }}</span>\n </div>\n <div\n class=\"wco-smartSelect--box\"\n [ngClass]=\"{\n 'wco-smartSelect--box--open': showList && !autocompleteControl.disabled\n }\"\n >\n <div class=\"wco-smartSelect--isMobile-close\">\n <button\n (click)=\"closeList()\"\n class=\"btn btn-sm btn-primary btn-outline mb-nano\"\n >\n fechar\n </button>\n </div>\n <ul>\n <li\n tabindex=\"0\"\n class=\"wco-smart-selected-filter\"\n *ngIf=\"showList && showSearch\"\n >\n <input\n placeholder=\"buscar\"\n (keyup)=\"onFilter($event)\"\n aria-label=\"Search through site content\"\n type=\"text\"\n />\n </li>\n <li\n *ngFor=\"let option of filteredOptions; let i = index\"\n [tabindex]=\"i + 1\"\n [ngClass]=\"{\n 'wco-smart-selected': selectedValue(option),\n 'wc-smart-select-disabled-option': option.disabled,\n 'wc-smart-select-view-only-option': option.viewOnly,\n }\"\n (click)=\"onSelect(option)\"\n >\n <span class=\"wco-smart-select-label-prefix\">\n <ng-container *ngIf=\"typePrefix === 'checkbox'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option) ? \"check_box\" : \"check_box_outline_blank\"\n }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"typePrefix === 'radio'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option)\n ? \"radio_button_checked\"\n : \"radio_button_unchecked\"\n }}\n </span>\n </ng-container>\n <ng-container\n *ngIf=\"\n !!option.iconPrefix &&\n typePrefix !== 'radio' &&\n typePrefix !== 'checkbox'\n \"\n >\n <span class=\"material-icons-outlined\">\n {{ option.iconPrefix }}\n </span>\n </ng-container>\n </span>\n <span\n class=\"wco-smart-select-label\"\n [innerHTML]=\"option.htmlLabel\"\n ></span>\n </li>\n <li *ngIf=\"!filteredOptions.length\">\n <p class=\"display-body\">{{ textEmpty }}</p>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".wco-smartSelect{width:100%;position:relative;display:inline-block;--wco-smart-select-box-height: 0px;--wco-smart-select-box-max-height: 300px;--wco-smart-select-box-radius: 8px;--wco-smart-select-box-shadow: var(--wco-shadow-level-1, 0 2px 4px rgba(0, 0, 0, .2));--wco-smart-select-box-default-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-default-color-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-box-default-padding: var(--wco-spacing-nano) var(--wco-spacing-xxxs);--wco-smart-select-box-hover-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-hover-color-bg: var(--wco-color-neutral-300, #bdbdbd);--wco-smart-select-box-selected-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-selected-color-bg: var(--wco-color-primary-100, #819ed3);--wco-smart-select-option-disabled-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-option-disabled-color: var(--wco-color-neutral-500, #9e9e9e);--wco-smart-select-box-option-height: 48px}.wco-smartSelect--open{--wco-smart-select-box-height: auto }.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--isMobile-close{display:flex;padding:var(--wco-spacing-nano);align-items:center;justify-content:flex-end}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box{position:fixed;bottom:0;left:0;width:100%}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open{padding:0}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open ul,.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open input{border-radius:0}.wco-smartSelect .wco-smartSelect--isMobile-close{display:none}.wco-smartSelect input{cursor:pointer}.wco-smartSelect .form-field__input.multiSelect{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--wco-spacing-nano);padding-right:var(--wco-spacing-sm)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-placeholder{opacity:.5}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item{display:inline-flex;align-items:center;justify-content:center;padding:var(--wco-spacing-quark) var(--wco-spacing-xxs);border-radius:var(--wco-smart-select-box-radius);background-color:var(--wco-smart-select-box-default-color-bg);position:relative}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item:hover>span{width:calc(var(--wco-spacing-xxs) - 2px)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span{position:absolute;right:0;top:50%;transform:translateY(-50%);border-radius:0 var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:100%;width:0px;transition:width .1s linear,margin .1s linear;overflow:hidden;z-index:1}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span>span{font-size:var(--wco-font-size-xxxs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;color:var(--wco-smart-select-box-default-color-label)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span:hover{color:var(--wco-smart-select-box-hover-color-label);background-color:var(--wco-smart-select-box-hover-color-bg)}.wco-smartSelect .wco-smartSelect--box{position:absolute;left:-12px;width:calc(100% + 24px);z-index:999;display:grid;grid-template-columns:1fr;grid-template-rows:var(--wco-smart-select-box-height, 0px);max-height:var(--wco-smart-select-box-max-height);transition:all .4s ease-in-out,padding 0ms linear;padding:0;opacity:0;visibility:hidden;pointer-events:none}.wco-smartSelect .wco-smartSelect--box.wco-smartSelect--box--open{pointer-events:all;padding:var(--wco-spacing-nano) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs);animation:introSmartSelectBox .4s ease-in-out .1s forwards}@keyframes introSmartSelectBox{0%{opacity:0;visibility:hidden;transform:translateY(-10px)}to{opacity:1;visibility:visible;transform:translateY(0)}}.wco-smartSelect .wco-smartSelect--box ul{border-top:none;border-radius:var(--wco-smart-select-box-radius);box-shadow:var(--wco-smart-select-box-shadow);background-color:var(--wco-smart-select-box-default-color-bg);overflow-y:auto;overflow-x:hidden;max-height:var(--wco-smart-select-box-max-height)}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar{width:8px}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-track{background-color:transparent}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-thumb{border-radius:99px;background-color:var(--wco-color-neutral-500, #9e9e9e)}.wco-smartSelect .wco-smartSelect--box ul li{color:var(--wco-smart-select-box-default-color-label);padding:var(--wco-smart-select-box-default-padding);display:grid;width:100%;align-items:center;justify-content:flex-start;grid-template-columns:auto 1fr auto;gap:var(--wco-spacing-xxxs);font-family:var(--wco-font-family);font-size:var(--wco-font-size-xs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;min-height:var(--wco-smart-select-box-option-height)}.wco-smartSelect .wco-smartSelect--box ul li .wco-smart-select-label-prefix{display:inline-flex;align-items:center}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter{padding:0;align-items:stretch;display:flex}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input{width:100%;height:auto;padding:var(--wco-smart-select-box-default-padding);border:none;border-bottom:1px solid #ccc;border-radius:var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0 0}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input:focus{outline:none}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter){cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):hover{background-color:var(--wco-smart-select-box-hover-color-bg);color:var(--wco-smart-select-box-hover-color-label);cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):focus,.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):active{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label)}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter).wco-smart-selected{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label);font-weight:600}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option{background-color:var(--wco-smart-select-option-disabled-bg);color:var(--wco-smart-select-option-disabled-color);cursor:not-allowed}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option .wco-smart-select-remove{display:none}\n"] }]
271
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { options: [{
272
+ type: ContentChildren,
273
+ args: [SmartSelectOptionComponent]
274
+ }], onChange: [{
275
+ type: Output
276
+ }], inputId: [{
277
+ type: Input
278
+ }], inputName: [{
279
+ type: Input
280
+ }], IconMaterial: [{
281
+ type: Input
282
+ }], placeholder: [{
283
+ type: Input
284
+ }], label: [{
285
+ type: Input
286
+ }], showSearch: [{
287
+ type: Input
288
+ }], textEmpty: [{
289
+ type: Input
290
+ }], multiSelect: [{
291
+ type: Input
292
+ }], showMaxSelectedLabel: [{
293
+ type: Input
294
+ }], typePrefix: [{
295
+ type: Input
296
+ }] } });
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvc21hcnQtc2VsZWN0L3NtYXJ0LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3NtYXJ0LXNlbGVjdC9zbWFydC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFdBQVcsRUFDWCxXQUFXLEVBQ1gsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixtQkFBbUIsR0FFcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBc0I5RSxNQUFNLE9BQU8sb0JBQW9CO0lBb0RYO0lBbkR5QixPQUFPLENBRXRDO0lBRUosUUFBUSxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO0lBRXRFLG9CQUFvQjtJQUVwQixPQUFPLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTlELDJCQUEyQjtJQUNsQixTQUFTLENBQVU7SUFFbkIsWUFBWSxHQUFHLGlCQUFpQixDQUFDO0lBRTFDLDJCQUEyQjtJQUUzQixXQUFXLEdBQUcscUJBQXFCLENBQUM7SUFFcEMscUJBQXFCO0lBQ1osS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUdyQixV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O3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLHNCQUFzQjs0QkFDakMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUdBRzRDLE9BQU87c0JBQW5ELGVBQWU7dUJBQUMsMEJBQTBCO2dCQUlqQyxRQUFRO3NCQUFqQixNQUFNO2dCQUlQLE9BQU87c0JBRE4sS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBGb3Jtc01vZHVsZSxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU21hcnRTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXNlbGVjdC1vcHRpb25zLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1zbWFydC1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbWFydFNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogU21hcnRTZWxlY3RDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICBAQ29udGVudENoaWxkcmVuKFNtYXJ0U2VsZWN0T3B0aW9uQ29tcG9uZW50KSBvcHRpb25zOlxuICAgIHwgUXVlcnlMaXN0PFNtYXJ0U2VsZWN0T3B0aW9uQ29tcG9uZW50PlxuICAgIHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnkgfT4oKTtcblxuICAvKiBJZCBkbyBlbGVtZW50byAqL1xuICBASW5wdXQoKVxuICBpbnB1dElkID0gJ3NlbGVjdF8nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuXG4gIC8qIEF0dHIgbmFtZSBkbyBlbGVtZW50byAqL1xuICBASW5wdXQoKSBpbnB1dE5hbWU/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgSWNvbk1hdGVyaWFsID0gJ2Fycm93X2Ryb3BfZG93bic7XG5cbiAgLyogUGxhY2Vob2xkZXIgZG8gc2VsZWN0ICovXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJ1NlbGVjaW9uZSB1bWEgb3DDp8Ojbyc7XG5cbiAgLyogTGFiZWwgZG8gc2VsZWN0ICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJyAnO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dTZWFyY2ggPSBmYWxzZTtcblxuICAvKiBUZXh0byBleGliaWRvIHF1YW5kbyBuw6NvIGjDoSByZXN1bHRhZG9zICovXG4gIEBJbnB1dCgpXG4gIHRleHRFbXB0eSA9ICdOw6NvIGjDoSByZXN1bHRhZG9zIHBhcmEgYSBidXNjYSc7XG5cbiAgLyogaGFiaWxpdGFyIG9ww6fDo28gZGUgbXVsdGlwbGFzIHNlbGXDp8O1ZXMgKi9cbiAgQElucHV0KClcbiAgbXVsdGlTZWxlY3QgPSBmYWxzZTtcblxuICAvKiBMaW1pdGFyIHZpc3VhbGl6YcOnw6NvIGRlIGl0ZW5zIHNlbGVjaW9uYWRvcyAqL1xuICBASW5wdXQoKSBcbiAgc2hvd01heFNlbGVjdGVkTGFiZWwgPSAwO1xuXG4gIC8qIFRpcG9zIHByw6kgZGVmaW5pZG9zIGRlIGNoZWNrYm94LCByYWRpbyBvdSBudWxsICovXG4gIEBJbnB1dCgpXG4gIHR5cGVQcmVmaXg6ICdjaGVja2JveCcgfCAncmFkaW8nIHwgbnVsbCA9IG51bGw7XG5cbiAgaXNNb2JpbGUgPSB3aW5kb3cuaW5uZXJXaWR0aCA8PSA3Njg7XG5cbiAgZm9ybVZhbHVlOiBhbnk7XG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xuICBwcmV2ZW50RXNjYXBlRm9jdXMgPSBmYWxzZTtcbiAgYXV0b2NvbXBsZXRlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBmaWx0ZXJlZE9wdGlvbnM6IGFueVtdID0gW107XG5cbiAgc2hvd0xpc3QgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gIH07XG5cbiAgLy8vIGVzdGFkb3MgZG8gY29udHJvbFxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtVmFsdWUgPSBvYmo7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnNldFZhbHVlKG9iaik7XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBmbih2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHZhbGlkYXRlKF9jb250cm9sOiBGb3JtQ29udHJvbCkge1xuICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KSB7XG4gICAgICBpZiAodGhpcy5mb3JtVmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IHJlcXVpcmVkOiB0cnVlIH07XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1WYWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB7IHJlcXVpcmVkOiB0cnVlIH07XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICAvLy8gQWJlcnR1cmEgZSBmZWNoYW1lbnRvIGRhIGxpc3RhXG4gIG9uRm9jdXNJbihmb2N1cyA9IGZhbHNlKSB7XG4gICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZm9jdXM7XG4gICAgdGhpcy5zaG93TGlzdCA9IGZvY3VzO1xuICAgIHRoaXMucG9zaXRpb25Cb3goKTtcbiAgfVxuXG4gIC8vLyBoZXJlIGZ1bmN0aW9uIHRvIHBvc2l0aW9uIGJveCBlbGVtZW50IHRvcCBvciBib3R0b21cbiAgcG9zaXRpb25Cb3goKSB7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb21wb25lbnRCb3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFjb21wb25lbnRCb3gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY29tcG9uZW50Qm94UG9zaXRpb24gPSBjb21wb25lbnRCb3guZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgaW5wdXRJZCA9IGNvbXBvbmVudEJveC5xdWVyeVNlbGVjdG9yKCcuZm9ybS1maWVsZCcpO1xuICAgIGNvbnN0IGJveCA9IGNvbXBvbmVudEJveC5xdWVyeVNlbGVjdG9yKCcud2NvLXNtYXJ0U2VsZWN0LS1ib3gnKTtcbiAgICBjb25zdCBpbnB1dElkUG9zaXRpb24gPSBpbnB1dElkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICBjb25zdCBwYWdlSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGlmIChib3ggJiYgY29tcG9uZW50Qm94UG9zaXRpb24ueSArIDMyMCA+PSBwYWdlSGVpZ2h0KSB7XG4gICAgICBib3guc3R5bGUuYm90dG9tID0gaW5wdXRJZFBvc2l0aW9uICsgJ3B4JztcbiAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgdmFyKC0td2NvLXNtYXJ0LXNlbGVjdC1ib3gtbWF4LWhlaWdodClgO1xuICAgICAgYm94LnN0eWxlLnRvcCA9ICdpbml0aWFsJztcbiAgICB9IGVsc2Uge1xuICAgICAgYm94LnN0eWxlLnRvcCA9IGlucHV0SWRQb3NpdGlvbiArICdweCc7XG4gICAgICBib3guc3R5bGUuYm90dG9tID0gJ2luaXRpYWwnO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGBhdXRvYDtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdChvcHRpb246IGFueSkge1xuICAgIGlmIChvcHRpb24uZGlzYWJsZWQgfHwgb3B0aW9uLnZpZXdPbmx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmZvcm1WYWx1ZTtcblxuICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KSB7XG4gICAgICBpZiAodGhpcy5mb3JtVmFsdWU/LmluY2x1ZGVzKG9wdGlvbi52YWx1ZSkpIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWUgPSB0aGlzLmZvcm1WYWx1ZS5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbSAhPT0gb3B0aW9uLnZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvcm1WYWx1ZSk7XG4gICAgICAgIHRoaXMucmVuZGVyQm94T3B0aW9ucygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBpcyBBcnJheSBbXVxuICAgICAgaWYgKCEhdGhpcy5mb3JtVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgIHRoaXMuZm9ybVZhbHVlID0gW107XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvcm1WYWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm1WYWx1ZSA9IFsuLi50aGlzLmZvcm1WYWx1ZSwgb3B0aW9uLnZhbHVlXTtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvcm1WYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybVZhbHVlID0gb3B0aW9uLnZhbHVlO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnNldFZhbHVlKG9wdGlvbi52YWx1ZSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgdGhpcy5zaG93TGlzdCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAob2xkVmFsdWUgIT09IHRoaXMuZm9ybVZhbHVlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyB0eXBlOiAndXBkYXRlVmFsdWUnLCB2YWx1ZTogdGhpcy5mb3JtVmFsdWUgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2hvdyBsYWJlbCBzcGFuXG4gIGdldCBzZWxlY3RlZExhYmVsKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5vcHRpb25zPy5maW5kKFxuICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgdGhpcy5ub3JtYWxpemVUZXh0KFN0cmluZyhvcHRpb24udmFsdWUpKSA9PT1cbiAgICAgICAgdGhpcy5ub3JtYWxpemVUZXh0KFN0cmluZyh0aGlzLmZvcm1WYWx1ZSkpXG4gICAgKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb24/LmxhYmVsIHx8ICcgJztcbiAgfVxuXG4gIC8vIHNob3cgbGFiZWwgbXVsdGkgc2VsZWN0XG4gIGdldCBzZWxlY3RlZExhYmVsTXVsdGkoKTogeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIHRoaXMuZm9ybVZhbHVlPy5pbmNsdWRlcyhvcHRpb24udmFsdWUpXG4gICAgKTtcblxuICAgIGlmICghc2VsZWN0ZWRPcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBpZighdGhpcy5zaG93TWF4U2VsZWN0ZWRMYWJlbCkge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkT3B0aW9ucztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaG93TWF4U2VsZWN0ZWRMYWJlbCAmJiBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gdGhpcy5zaG93TWF4U2VsZWN0ZWRMYWJlbCkge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkT3B0aW9ucy5zbGljZSgwLCB0aGlzLnNob3dNYXhTZWxlY3RlZExhYmVsKTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHNlbGVjdGVkT3B0aW9ucztcbiAgfVxuXG4gIGdldCBzZWxlY3RlZExhYmVsTXVsdGlDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHNob3cgPSB0aGlzLnNob3dNYXhTZWxlY3RlZExhYmVsIHx8IDA7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIHRoaXMuZm9ybVZhbHVlPy5pbmNsdWRlcyhvcHRpb24udmFsdWUpXG4gICAgKTtcblxuICAgIGNvbnNvbGUubG9nKCdzZWxlY3RlZE9wdGlvbnMnLCBzZWxlY3RlZE9wdGlvbnMpO1xuICAgIGNvbnNvbGUubG9nKCdzaG93Jywgc2hvdyk7XG4gICAgaWYgKCFzZWxlY3RlZE9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgaWYgKHNob3cgPiAwICYmIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiBzaG93KSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCAtIHNob3c7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICByZW1vdmVJdGVtKG9wdGlvbjogYW55KSB7XG4gICAgdGhpcy5vblNlbGVjdChvcHRpb24pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93TGlzdCA9IGZhbHNlOyAgICBcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgb25LZXlQcmVzcyhldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnJlbmRlckJveE9wdGlvbnMoKTtcbiAgfVxuXG4gIG9uRmlsdGVyKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLnJlbmRlckJveE9wdGlvbnMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlbmRlckJveE9wdGlvbnModmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uUmVzaXplKCkge1xuICAgIHRoaXMucmVuZGVyQm94T3B0aW9ucygpO1xuICAgIHRoaXMucG9zaXRpb25Cb3goKTtcbiAgfVxuXG4gIG9uRm9jdXNPdXQoKSB7XG4gICAgaWYgKCF0aGlzLnByZXZlbnRFc2NhcGVGb2N1cyAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2hvd0xpc3QgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjbG9zZUxpc3QoKSB7XG4gICAgdGhpcy5wcmV2ZW50RXNjYXBlRm9jdXMgPSB0cnVlO1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5zaG93TGlzdCA9IGZhbHNlO1xuICB9XG5cbiAgc2VsZWN0ZWRWYWx1ZShvcHRpb246IHsgdmFsdWU6IGFueTsgbGFiZWw6IHN0cmluZzsgc2FmZUh0bWxDb250ZW50OiBhbnkgfSkge1xuICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtVmFsdWU/LmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5mb3JtVmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckJveE9wdGlvbnMoZmlsdGVyVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMgfHwgIXRoaXMub3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnNcbiAgICAgID8ubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgIGljb25QcmVmaXg6IG9wdGlvbi5pY29uUHJlZml4LFxuICAgICAgICAgIGh0bWxMYWJlbDogb3B0aW9uLnNhZmVIdG1sQ29udGVudCB8fCBvcHRpb24ubGFiZWwsXG4gICAgICAgICAgZGlzYWJsZWQ6IG9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICB2aWV3T25seTogb3B0aW9uLnZpZXdPbmx5LFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKG9wdGlvbikgPT4ge1xuICAgICAgICBpZiAoIWZpbHRlclZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZEZpbHRlciA9IHRoaXMubm9ybWFsaXplVGV4dChmaWx0ZXJWYWx1ZSk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRMYWJlbCA9IHRoaXMubm9ybWFsaXplVGV4dChcbiAgICAgICAgICBvcHRpb24uaHRtbExhYmVsPy50b1N0cmluZygpIHx8ICcnXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVkTGFiZWwuaW5jbHVkZXMobm9ybWFsaXplZEZpbHRlcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0ZXh0XG4gICAgICAucmVwbGFjZSgvW1xcV19dKy9nLCAnJykgLy8gUmVtb3ZlIGNhcmFjdGVyZXMgZXNwZWNpYWlzIGUgc3VibGluaGFkb3NcbiAgICAgIC50b0xvd2VyQ2FzZSgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwid2NvLXNtYXJ0U2VsZWN0XCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICd3Y28tc21hcnRTZWxlY3QtLW9wZW4nOiBzaG93TGlzdCxcbiAgICAnd2NvLXNtYXJ0U2VsZWN0LS1pc01vYmlsZSc6IGlzTW9iaWxlLFxufVwiXG4gIChyZXNpemUpPVwib25SZXNpemUoKVwiXG4gIChtb3VzZWxlYXZlKT1cIm9uRm9jdXNPdXQoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkXCI+XG4gICAgPGlucHV0XG4gICAgICAqbmdJZj1cIiFtdWx0aVNlbGVjdFwiXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0XCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2Zvcm0tZmllbGQtLWVycm9yJzpcbiAgICAgICAgICBhdXRvY29tcGxldGVDb250cm9sLmludmFsaWQgJiYgYXV0b2NvbXBsZXRlQ29udHJvbC50b3VjaGVkXG4gICAgICB9XCJcbiAgICAgIFtkaXNhYmxlZF09XCJhdXRvY29tcGxldGVDb250cm9sLmRpc2FibGVkXCJcbiAgICAgIGlkPVwie3sgaW5wdXRJZCA/IGlucHV0SWQgOiAnJyB9fVwiXG4gICAgICBuYW1lPVwie3sgaW5wdXROYW1lID8gaW5wdXROYW1lIDogJycgfX1cIlxuICAgICAgKGNsaWNrKT1cIm9uRm9jdXNJbih0cnVlKVwiXG4gICAgICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiXG4gICAgICAoa2V5dXAuZXNjYXBlKT1cIm9uRm9jdXNPdXQoKVwiXG4gICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbdmFsdWVdPVwic2VsZWN0ZWRMYWJlbFwiXG4gICAgICBhcmlhLWxhYmVsPVwiU2VsZWNpb25lIHVtYSBvcMOnw6NvXCJcbiAgICAvPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwibXVsdGlTZWxlY3RcIlxuICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCByZWFkb25seSBtdWx0aVNlbGVjdFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ2Zvcm0tZmllbGQtLWVycm9yJzogYXV0b2NvbXBsZXRlQ29udHJvbC5pbnZhbGlkICYmIGF1dG9jb21wbGV0ZUNvbnRyb2wudG91Y2hlZCxcbiAgICAgICAgICAgICAgICAnZm9ybS1maWVsZC0tZGlzYWJsZWQnOiBhdXRvY29tcGxldGVDb250cm9sLmRpc2FibGVkLFxuICAgICAgICAgICAgfVwiXG4gICAgICAoY2xpY2spPVwib25Gb2N1c0luKHRydWUpXCJcbiAgICAgIChmb2N1c2luKT1cIm9uRm9jdXNJbigpXCJcbiAgICAgIChrZXl1cC5lc2NhcGUpPVwib25Gb2N1c091dCgpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGVkTGFiZWxNdWx0aS5sZW5ndGhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0LXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfHwgJ1NlbGVjaW9uZSB1bWEgb3DDp8OjbycgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZExhYmVsTXVsdGkubGVuZ3RoXCI+XG4gICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBvcHRpb25TZWxlY3RlZCBvZiBzZWxlY3RlZExhYmVsTXVsdGlcIiBjbGFzcz1cIndjby1zbWFydC1zZWxlY3QtaXRlbVwiPlxuICAgICAgICAgIHt7b3B0aW9uU2VsZWN0ZWQubGFiZWx9fSBcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIndjby1zbWFydC1zZWxlY3QtcmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0ob3B0aW9uU2VsZWN0ZWQpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+Y2xvc2U8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0LWl0ZW1cIiAgKm5nSWY9XCJzZWxlY3RlZExhYmVsTXVsdGlDb3VudCA+PSAxXCI+XG4gICAgICAgICAgICAre3tzZWxlY3RlZExhYmVsTXVsdGlDb3VudH19IFxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgICA8bGFiZWw+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj57eyBJY29uTWF0ZXJpYWwgfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ3Y28tc21hcnRTZWxlY3QtLWJveFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3djby1zbWFydFNlbGVjdC0tYm94LS1vcGVuJzogc2hvd0xpc3QgJiYgIWF1dG9jb21wbGV0ZUNvbnRyb2wuZGlzYWJsZWRcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ3Y28tc21hcnRTZWxlY3QtLWlzTW9iaWxlLWNsb3NlXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJjbG9zZUxpc3QoKVwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBidG4tb3V0bGluZSBtYi1uYW5vXCJcbiAgICAgID5cbiAgICAgICAgZmVjaGFyXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8dWw+XG4gICAgICA8bGlcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0ZWQtZmlsdGVyXCJcbiAgICAgICAgKm5nSWY9XCJzaG93TGlzdCAmJiBzaG93U2VhcmNoXCJcbiAgICAgID5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJidXNjYXJcIlxuICAgICAgICAgIChrZXl1cCk9XCJvbkZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIHRocm91Z2ggc2l0ZSBjb250ZW50XCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIC8+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW3RhYmluZGV4XT1cImkgKyAxXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3djby1zbWFydC1zZWxlY3RlZCc6IHNlbGVjdGVkVmFsdWUob3B0aW9uKSxcbiAgICAgICAgICAgICd3Yy1zbWFydC1zZWxlY3QtZGlzYWJsZWQtb3B0aW9uJzogb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgJ3djLXNtYXJ0LXNlbGVjdC12aWV3LW9ubHktb3B0aW9uJzogb3B0aW9uLnZpZXdPbmx5LFxuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KG9wdGlvbilcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndjby1zbWFydC1zZWxlY3QtbGFiZWwtcHJlZml4XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVQcmVmaXggPT09ICdjaGVja2JveCdcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlKG9wdGlvbikgPyBcImNoZWNrX2JveFwiIDogXCJjaGVja19ib3hfb3V0bGluZV9ibGFua1wiXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVQcmVmaXggPT09ICdyYWRpbydcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlKG9wdGlvbilcbiAgICAgICAgICAgICAgICAgID8gXCJyYWRpb19idXR0b25fY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICA6IFwicmFkaW9fYnV0dG9uX3VuY2hlY2tlZFwiXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgISFvcHRpb24uaWNvblByZWZpeCAmJlxuICAgICAgICAgICAgICB0eXBlUHJlZml4ICE9PSAncmFkaW8nICYmXG4gICAgICAgICAgICAgIHR5cGVQcmVmaXggIT09ICdjaGVja2JveCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPlxuICAgICAgICAgICAgICB7eyBvcHRpb24uaWNvblByZWZpeCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0LWxhYmVsXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbi5odG1sTGFiZWxcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSAqbmdJZj1cIiFmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZGlzcGxheS1ib2R5XCI+e3sgdGV4dEVtcHR5IH19PC9wPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -67,10 +67,10 @@ export class StepComponent {
67
67
  }
68
68
  this.clicked.emit();
69
69
  }
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: StepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.4", type: StepComponent, isStandalone: true, selector: "wco-step", inputs: { active: "active", label: "label", iconName: "iconName", bulletValue: "bulletValue", isVertical: "isVertical", lineStart: "lineStart", lineEnd: "lineEnd", status: "status", size: "size", hasClick: "hasClick" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div class=\"step\"\n [class]=\"'step-status--' + status + ' step-size--' + size\"\n [ngClass]=\"{\n 'step--vertical': isVertical,\n 'step--horizontal': !isVertical,\n 'step--disabled-linestart': !lineStart,\n 'step--disabled-lineend': !lineEnd,\n 'step--clicked': hasClick,\n 'step--active': active\n }\"\n\n>\n <div class=\"step__line step__line--start\"></div>\n <div class=\"step__bullet\" (click)=\"clickedItem()\">\n <div>\n <span *ngIf=\"iconName && !bulletValue\" class=\"material-icons\">{{iconName}}</span>\n <span *ngIf=\"!iconName && bulletValue\">{{bulletValue}}</span>\n <ng-content select=\"[step-bullet-content]\"></ng-content>\n </div>\n </div>\n <div class=\"step__line step__line--end\"></div>\n <div class=\"step__content\">\n <div class=\"step__title\" (click)=\"clickedItem()\">\n <span *ngIf=\"label\">{{label}}</span>\n <ng-content select=\"[step-title]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["wco-step{display:inherit;align-items:baseline}.step{position:relative;--step-size: var(--wco-font-size-lg, 24px);--step-color: var(--wco-color-primary-600, #000);--step-background-color: var(--wco-color-primary-50, #fff);display:inline-grid;z-index:0}.step.step--active .step__title{font-weight:var(--wco-font-weight-bold, 700)}.step .step__line{width:2px;height:100%;background-color:var(--wco-color-neutral-700, #000)}.step .step__line--start{grid-area:linestart}.step .step__content{grid-area:content}.step .step__line--end{grid-area:lineend}.step--vertical{grid-template-columns:auto 1fr;grid:\"linestart .\" \"bullet content\" \"lineend .\"}.step--vertical .step__bullet{position:relative}.step--vertical .step__bullet:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:100%;background-color:var(--wco-color-neutral-700, #000);z-index:-1}.step--vertical .step__line{height:calc(var(--step-size) / 2);margin:0 auto;min-height:calc(var(--step-size) / 3)}.step--vertical .step__content{display:flex;align-items:center}.step--vertical .step__content .step__title{text-align:left}.step--horizontal{grid-template-columns:auto 1fr;grid:\"linestart bullet lineend\" \"content content content\";align-items:center}.step--horizontal .step__bullet{position:relative;display:flex;justify-content:center}.step--horizontal .step__bullet:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:101%;height:2px;background-color:var(--wco-color-neutral-700, #000);z-index:-1}.step--horizontal .step__line{height:2px;width:100%;min-width:calc(var(--step-size) / 3)}.step__bullet{grid-area:bullet;position:relative}.step__bullet>div{height:var(--step-size);width:var(--step-size);display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--step-background-color);color:var(--step-color);position:relative}.step__bullet span{font-size:var(--wco-font-size-xxs, 12px);font-weight:var(--wco-font-weight-bold, 700)}.step-status--current{--step-color: #080809;--step-background-color: var(--wco-color-primary-500, #fff)}.step-status--finalized{--step-color: #080809;--step-background-color: #FFB578}.step-status--waiting{--step-color: #080809;--step-background-color: #C4C4C4}.step-status--error{--step-color: #080809;--step-background-color: #FC9393}.step .step__content{padding-left:var(--wco-spacing-nano, 8px);padding-right:var(--wco-spacing-nano, 8px);text-align:center}.step.step--disabled-linestart.step--horizontal{grid:\"bullet bullet lineend\" \"content content content\"}.step.step--disabled-linestart.step--horizontal .step__bullet{justify-content:flex-start}.step.step--disabled-linestart.step--horizontal .step__title{text-align:left}.step.step--disabled-linestart .step__line--start{display:none}.step.step--disabled-lineend.step--horizontal{grid:\"linestart bullet bullet\" \"content content content\"}.step.step--disabled-lineend.step--horizontal .step__bullet{justify-content:flex-end}.step.step--disabled-lineend.step--horizontal .step__title{text-align:end}.step.step--disabled-lineend .step__line--end{display:none}.step.step-size--small{--step-size: var(--wco-spacing-sm, 12px)}.step.step-size--medium{--step-size: var(--wco-spacing-md, 18px)}.step.step-size--large{--step-size: var(--wco-spacing-lg, 24px)}.step.step--clicked .step__bullet{cursor:pointer;transition:all .3s ease}.step.step--clicked .step__bullet::hover{box-shadow:var(--wco-shadow-level-1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StepComponent, isStandalone: true, selector: "wco-step", inputs: { active: "active", label: "label", iconName: "iconName", bulletValue: "bulletValue", isVertical: "isVertical", lineStart: "lineStart", lineEnd: "lineEnd", status: "status", size: "size", hasClick: "hasClick" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div class=\"step\"\n [class]=\"'step-status--' + status + ' step-size--' + size\"\n [ngClass]=\"{\n 'step--vertical': isVertical,\n 'step--horizontal': !isVertical,\n 'step--disabled-linestart': !lineStart,\n 'step--disabled-lineend': !lineEnd,\n 'step--clicked': hasClick,\n 'step--active': active\n }\"\n\n>\n <div class=\"step__line step__line--start\"></div>\n <div class=\"step__bullet\" (click)=\"clickedItem()\">\n <div>\n <span *ngIf=\"iconName && !bulletValue\" class=\"material-icons\">{{iconName}}</span>\n <span *ngIf=\"!iconName && bulletValue\">{{bulletValue}}</span>\n <ng-content select=\"[step-bullet-content]\"></ng-content>\n </div>\n </div>\n <div class=\"step__line step__line--end\"></div>\n <div class=\"step__content\">\n <div class=\"step__title\" (click)=\"clickedItem()\">\n <span *ngIf=\"label\">{{label}}</span>\n <ng-content select=\"[step-title]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["wco-step{display:inherit;align-items:baseline}.step{position:relative;--step-size: var(--wco-font-size-lg, 24px);--step-color: var(--wco-color-primary-600, #000);--step-background-color: var(--wco-color-primary-50, #fff);display:inline-grid;z-index:0}.step.step--active .step__title{font-weight:var(--wco-font-weight-bold, 700)}.step .step__line{width:2px;height:100%;background-color:var(--wco-color-neutral-700, #000)}.step .step__line--start{grid-area:linestart}.step .step__content{grid-area:content}.step .step__line--end{grid-area:lineend}.step--vertical{grid-template-columns:auto 1fr;grid:\"linestart .\" \"bullet content\" \"lineend .\"}.step--vertical .step__bullet{position:relative}.step--vertical .step__bullet:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:100%;background-color:var(--wco-color-neutral-700, #000);z-index:-1}.step--vertical .step__line{height:calc(var(--step-size) / 2);margin:0 auto;min-height:calc(var(--step-size) / 3)}.step--vertical .step__content{display:flex;align-items:center}.step--vertical .step__content .step__title{text-align:left}.step--horizontal{grid-template-columns:auto 1fr;grid:\"linestart bullet lineend\" \"content content content\";align-items:center}.step--horizontal .step__bullet{position:relative;display:flex;justify-content:center}.step--horizontal .step__bullet:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:101%;height:2px;background-color:var(--wco-color-neutral-700, #000);z-index:-1}.step--horizontal .step__line{height:2px;width:100%;min-width:calc(var(--step-size) / 3)}.step__bullet{grid-area:bullet;position:relative}.step__bullet>div{height:var(--step-size);width:var(--step-size);display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--step-background-color);color:var(--step-color);position:relative}.step__bullet span{font-size:var(--wco-font-size-xxs, 12px);font-weight:var(--wco-font-weight-bold, 700)}.step-status--current{--step-color: #080809;--step-background-color: var(--wco-color-primary-500, #fff)}.step-status--finalized{--step-color: #080809;--step-background-color: #FFB578}.step-status--waiting{--step-color: #080809;--step-background-color: #C4C4C4}.step-status--error{--step-color: #080809;--step-background-color: #FC9393}.step .step__content{padding-left:var(--wco-spacing-nano, 8px);padding-right:var(--wco-spacing-nano, 8px);text-align:center}.step.step--disabled-linestart.step--horizontal{grid:\"bullet bullet lineend\" \"content content content\"}.step.step--disabled-linestart.step--horizontal .step__bullet{justify-content:flex-start}.step.step--disabled-linestart.step--horizontal .step__title{text-align:left}.step.step--disabled-linestart .step__line--start{display:none}.step.step--disabled-lineend.step--horizontal{grid:\"linestart bullet bullet\" \"content content content\"}.step.step--disabled-lineend.step--horizontal .step__bullet{justify-content:flex-end}.step.step--disabled-lineend.step--horizontal .step__title{text-align:end}.step.step--disabled-lineend .step__line--end{display:none}.step.step-size--small{--step-size: var(--wco-spacing-sm, 12px)}.step.step-size--medium{--step-size: var(--wco-spacing-md, 18px)}.step.step-size--large{--step-size: var(--wco-spacing-lg, 24px)}.step.step--clicked .step__bullet{cursor:pointer;transition:all .3s ease}.step.step--clicked .step__bullet::hover{box-shadow:var(--wco-shadow-level-1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: StepComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{ selector: 'wco-step', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"step\"\n [class]=\"'step-status--' + status + ' step-size--' + size\"\n [ngClass]=\"{\n 'step--vertical': isVertical,\n 'step--horizontal': !isVertical,\n 'step--disabled-linestart': !lineStart,\n 'step--disabled-lineend': !lineEnd,\n 'step--clicked': hasClick,\n 'step--active': active\n }\"\n\n>\n <div class=\"step__line step__line--start\"></div>\n <div class=\"step__bullet\" (click)=\"clickedItem()\">\n <div>\n <span *ngIf=\"iconName && !bulletValue\" class=\"material-icons\">{{iconName}}</span>\n <span *ngIf=\"!iconName && bulletValue\">{{bulletValue}}</span>\n <ng-content select=\"[step-bullet-content]\"></ng-content>\n </div>\n </div>\n <div class=\"step__line step__line--end\"></div>\n <div class=\"step__content\">\n <div class=\"step__title\" (click)=\"clickedItem()\">\n <span *ngIf=\"label\">{{label}}</span>\n <ng-content select=\"[step-title]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["wco-step{display:inherit;align-items:baseline}.step{position:relative;--step-size: var(--wco-font-size-lg, 24px);--step-color: var(--wco-color-primary-600, #000);--step-background-color: var(--wco-color-primary-50, #fff);display:inline-grid;z-index:0}.step.step--active .step__title{font-weight:var(--wco-font-weight-bold, 700)}.step .step__line{width:2px;height:100%;background-color:var(--wco-color-neutral-700, #000)}.step .step__line--start{grid-area:linestart}.step .step__content{grid-area:content}.step .step__line--end{grid-area:lineend}.step--vertical{grid-template-columns:auto 1fr;grid:\"linestart .\" \"bullet content\" \"lineend .\"}.step--vertical .step__bullet{position:relative}.step--vertical .step__bullet:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:100%;background-color:var(--wco-color-neutral-700, #000);z-index:-1}.step--vertical .step__line{height:calc(var(--step-size) / 2);margin:0 auto;min-height:calc(var(--step-size) / 3)}.step--vertical .step__content{display:flex;align-items:center}.step--vertical .step__content .step__title{text-align:left}.step--horizontal{grid-template-columns:auto 1fr;grid:\"linestart bullet lineend\" \"content content content\";align-items:center}.step--horizontal .step__bullet{position:relative;display:flex;justify-content:center}.step--horizontal .step__bullet:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:101%;height:2px;background-color:var(--wco-color-neutral-700, #000);z-index:-1}.step--horizontal .step__line{height:2px;width:100%;min-width:calc(var(--step-size) / 3)}.step__bullet{grid-area:bullet;position:relative}.step__bullet>div{height:var(--step-size);width:var(--step-size);display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--step-background-color);color:var(--step-color);position:relative}.step__bullet span{font-size:var(--wco-font-size-xxs, 12px);font-weight:var(--wco-font-weight-bold, 700)}.step-status--current{--step-color: #080809;--step-background-color: var(--wco-color-primary-500, #fff)}.step-status--finalized{--step-color: #080809;--step-background-color: #FFB578}.step-status--waiting{--step-color: #080809;--step-background-color: #C4C4C4}.step-status--error{--step-color: #080809;--step-background-color: #FC9393}.step .step__content{padding-left:var(--wco-spacing-nano, 8px);padding-right:var(--wco-spacing-nano, 8px);text-align:center}.step.step--disabled-linestart.step--horizontal{grid:\"bullet bullet lineend\" \"content content content\"}.step.step--disabled-linestart.step--horizontal .step__bullet{justify-content:flex-start}.step.step--disabled-linestart.step--horizontal .step__title{text-align:left}.step.step--disabled-linestart .step__line--start{display:none}.step.step--disabled-lineend.step--horizontal{grid:\"linestart bullet bullet\" \"content content content\"}.step.step--disabled-lineend.step--horizontal .step__bullet{justify-content:flex-end}.step.step--disabled-lineend.step--horizontal .step__title{text-align:end}.step.step--disabled-lineend .step__line--end{display:none}.step.step-size--small{--step-size: var(--wco-spacing-sm, 12px)}.step.step-size--medium{--step-size: var(--wco-spacing-md, 18px)}.step.step-size--large{--step-size: var(--wco-spacing-lg, 24px)}.step.step--clicked .step__bullet{cursor:pointer;transition:all .3s ease}.step.step--clicked .step__bullet::hover{box-shadow:var(--wco-shadow-level-1)}\n"] }]
76
76
  }], ctorParameters: function () { return []; }, propDecorators: { active: [{
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
96
96
  }], clicked: [{
97
97
  type: Output
98
98
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3N0ZXAvc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3N0ZXAvc3RlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVTFGLE1BQU0sT0FBTyxhQUFhO0lBRXhCOzs7TUFHRTtJQUNPLE1BQU0sR0FBWSxLQUFLLENBQUM7SUFFakM7O01BRUU7SUFDTyxLQUFLLEdBQVcsRUFBRSxDQUFDO0lBRTVCOztNQUVFO0lBQ08sUUFBUSxHQUF1QixTQUFTLENBQUM7SUFFbEQ7O01BRUU7SUFDTyxXQUFXLEdBQXVCLFNBQVMsQ0FBQztJQUVyRDs7TUFFRTtJQUNPLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFHcEM7O01BRUU7SUFDTyxTQUFTLEdBQVksSUFBSSxDQUFDO0lBRW5DOztNQUVFO0lBQ08sT0FBTyxHQUFZLElBQUksQ0FBQztJQUVqQzs7Ozs7Ozs7O01BU0U7SUFDTyxNQUFNLEdBQTJELFNBQVMsQ0FBQztJQUVwRjs7O09BR0c7SUFDTSxJQUFJLEdBQTBDLE9BQU8sQ0FBQztJQUcvRDs7O01BR0U7SUFDTyxRQUFRLEdBQVksS0FBSyxDQUFDO0lBRW5DOztNQUVFO0lBQ1EsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7SUFNOUMsZ0JBQWUsQ0FBQztJQUVoQjs7UUFFSTtJQUNKLFdBQVc7UUFDVCxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNyQixDQUFDO3VHQW5GVSxhQUFhOzJGQUFiLGFBQWEsaVVDWDFCLDI5QkE0QkEsdTlHRHRCWSxZQUFZOzsyRkFLWCxhQUFhO2tCQVJ6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTswRUFRNUIsTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFZRyxNQUFNO3NCQUFkLEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2NvLXN0ZXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGVwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU3RlcENvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFNlIG8gc3RlcCBlc3TDoSBhdGl2b1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGFjdGl2ZVxuICAqL1xuICBASW5wdXQoKSBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgKiBUZXh0byBkbyBsYWJlbCBkbyBzdGVwXG4gICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgKiDDjWNvbmUgZG8gc3RlcCAob3BjaW9uYWwpIC0gZGV2ZSBzZXIgdW0gw61jb25lIGRvIG1hdGVyaWFsIGljb25cbiAgKi9cbiAgQElucHV0KCkgaWNvbk5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGV4dG8gZG8gYnVsbGV0VmFsdWUgZG8gc3RlcCAob3BjaW9uYWwpIC0gZGV2ZSBzZXIgdW0gdGV4dG8gZGUgMSBhIDIgY2FyYWN0ZXJlc1xuICAqL1xuICBASW5wdXQoKSBidWxsZXRWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAqIFNlbnRpZG8gZG8gc3RlcHBlciAoaG9yaXpvbnRhbCBvdSB2ZXJ0aWNhbClcbiAgKi9cbiAgQElucHV0KCkgaXNWZXJ0aWNhbDogYm9vbGVhbiA9IHRydWU7XG5cblxuICAvKipcbiAgKiBEZXNhYmlsaXRhciBsaW5oYSBpbmljaWFsXG4gICovXG4gIEBJbnB1dCgpIGxpbmVTdGFydDogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIERlc2FiaWxpdGFyIGxpbmhhIGZpbmFsXG4gICovXG4gIEBJbnB1dCgpIGxpbmVFbmQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgICogQ2xhc3NlIGRvIHN0ZXBcbiAgICAqXG4gICAgKiBmaW5hbGl6ZWQgLSBzdGVwIGZpbmFsaXphZG9cbiAgICAqIGN1cnJlbnQgLSBzdGVwIGF0dWFsXG4gICAgKiB3YWl0aW5nIC0gc3RlcCBhZ3VhcmRhbmRvXG4gICAgKiBlcnJvciAtIHN0ZXAgY29tIGVycm9cbiAgICAqXG4gICAgKiBAcGFyYW0ge3N0cmluZ30gc3RhdHVzXG4gICovXG4gIEBJbnB1dCgpIHN0YXR1czogJ2ZpbmFsaXplZCcgfCAnY3VycmVudCcgfCAnd2FpdGluZycgfCAnZXJyb3InIHwgc3RyaW5nID0gJ2N1cnJlbnQnO1xuXG4gIC8qKlxuICAgKiBzaXplIGRvIHN0ZXBcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpemVcbiAgICovXG4gIEBJbnB1dCgpIHNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCBzdHJpbmcgPSAnc21hbGwnO1xuXG5cbiAgLyoqXG4gICAqIFNlIG8gc3RlcCDDqSBjbGljw6F2ZWxcbiAgICogQHBhcmFtIHtib29sZWFufSBjbGlja2FibGVcbiAgKi9cbiAgQElucHV0KCkgaGFzQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgKiBGdW7Dp8OjbyBxdWUgcmV0b3JuYSBvIHZhbG9yIGRvIMOtY29uZSBvdSBidWxsZXRcbiAgKi9cbiAgQE91dHB1dCgpIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxuXG5cblxuXG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAqIHNlIG8gaXRlbSBkbyBzdGVwcGVyIGVzdGl2ZSBjb20gbyBldmVudG8gZGUgY2xpY2tlZCB0cnVlLCBlbGUgcmV0b3JuYSBxdWFsIGVsZW1lbnRvIMOpIHNlbGVjaW9uYWRvIHBhcmEgbyBjb21wb25lbnRlIHBhaVxuICAqICovXG4gIGNsaWNrZWRJdGVtKCkge1xuICAgIGlmKHRoaXMuaGFzQ2xpY2spIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLmNsaWNrZWQuZW1pdCgpXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInN0ZXBcIlxuICBbY2xhc3NdPVwiJ3N0ZXAtc3RhdHVzLS0nICsgc3RhdHVzICsgJyBzdGVwLXNpemUtLScgKyBzaXplXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdzdGVwLS12ZXJ0aWNhbCc6IGlzVmVydGljYWwsXG4gICAgJ3N0ZXAtLWhvcml6b250YWwnOiAhaXNWZXJ0aWNhbCxcbiAgICAnc3RlcC0tZGlzYWJsZWQtbGluZXN0YXJ0JzogIWxpbmVTdGFydCxcbiAgICAnc3RlcC0tZGlzYWJsZWQtbGluZWVuZCc6ICFsaW5lRW5kLFxuICAgICdzdGVwLS1jbGlja2VkJzogaGFzQ2xpY2ssXG4gICAgJ3N0ZXAtLWFjdGl2ZSc6IGFjdGl2ZVxuICB9XCJcblxuPlxuICA8ZGl2IGNsYXNzPVwic3RlcF9fbGluZSBzdGVwX19saW5lLS1zdGFydFwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3RlcF9fYnVsbGV0XCIgKGNsaWNrKT1cImNsaWNrZWRJdGVtKClcIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gKm5nSWY9XCJpY29uTmFtZSAmJiAhYnVsbGV0VmFsdWVcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+e3tpY29uTmFtZX19PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCIhaWNvbk5hbWUgJiYgYnVsbGV0VmFsdWVcIj57e2J1bGxldFZhbHVlfX08L3NwYW4+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RlcC1idWxsZXQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3RlcF9fbGluZSBzdGVwX19saW5lLS1lbmRcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInN0ZXBfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RlcF9fdGl0bGVcIiAoY2xpY2spPVwiY2xpY2tlZEl0ZW0oKVwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvc3Bhbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzdGVwLXRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3N0ZXAvc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3N0ZXAvc3RlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVTFGLE1BQU0sT0FBTyxhQUFhO0lBRXhCOzs7TUFHRTtJQUNPLE1BQU0sR0FBWSxLQUFLLENBQUM7SUFFakM7O01BRUU7SUFDTyxLQUFLLEdBQVcsRUFBRSxDQUFDO0lBRTVCOztNQUVFO0lBQ08sUUFBUSxHQUF1QixTQUFTLENBQUM7SUFFbEQ7O01BRUU7SUFDTyxXQUFXLEdBQXVCLFNBQVMsQ0FBQztJQUVyRDs7TUFFRTtJQUNPLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFHcEM7O01BRUU7SUFDTyxTQUFTLEdBQVksSUFBSSxDQUFDO0lBRW5DOztNQUVFO0lBQ08sT0FBTyxHQUFZLElBQUksQ0FBQztJQUVqQzs7Ozs7Ozs7O01BU0U7SUFDTyxNQUFNLEdBQTJELFNBQVMsQ0FBQztJQUVwRjs7O09BR0c7SUFDTSxJQUFJLEdBQTBDLE9BQU8sQ0FBQztJQUcvRDs7O01BR0U7SUFDTyxRQUFRLEdBQVksS0FBSyxDQUFDO0lBRW5DOztNQUVFO0lBQ1EsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7SUFNOUMsZ0JBQWUsQ0FBQztJQUVoQjs7UUFFSTtJQUNKLFdBQVc7UUFDVCxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNyQixDQUFDO3dHQW5GVSxhQUFhOzRGQUFiLGFBQWEsaVVDWDFCLDI5QkE0QkEsdTlHRHRCWSxZQUFZOzs0RkFLWCxhQUFhO2tCQVJ6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTswRUFRNUIsTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFZRyxNQUFNO3NCQUFkLEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2NvLXN0ZXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGVwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU3RlcENvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFNlIG8gc3RlcCBlc3TDoSBhdGl2b1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGFjdGl2ZVxuICAqL1xuICBASW5wdXQoKSBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgKiBUZXh0byBkbyBsYWJlbCBkbyBzdGVwXG4gICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgKiDDjWNvbmUgZG8gc3RlcCAob3BjaW9uYWwpIC0gZGV2ZSBzZXIgdW0gw61jb25lIGRvIG1hdGVyaWFsIGljb25cbiAgKi9cbiAgQElucHV0KCkgaWNvbk5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGV4dG8gZG8gYnVsbGV0VmFsdWUgZG8gc3RlcCAob3BjaW9uYWwpIC0gZGV2ZSBzZXIgdW0gdGV4dG8gZGUgMSBhIDIgY2FyYWN0ZXJlc1xuICAqL1xuICBASW5wdXQoKSBidWxsZXRWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAqIFNlbnRpZG8gZG8gc3RlcHBlciAoaG9yaXpvbnRhbCBvdSB2ZXJ0aWNhbClcbiAgKi9cbiAgQElucHV0KCkgaXNWZXJ0aWNhbDogYm9vbGVhbiA9IHRydWU7XG5cblxuICAvKipcbiAgKiBEZXNhYmlsaXRhciBsaW5oYSBpbmljaWFsXG4gICovXG4gIEBJbnB1dCgpIGxpbmVTdGFydDogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIERlc2FiaWxpdGFyIGxpbmhhIGZpbmFsXG4gICovXG4gIEBJbnB1dCgpIGxpbmVFbmQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgICogQ2xhc3NlIGRvIHN0ZXBcbiAgICAqXG4gICAgKiBmaW5hbGl6ZWQgLSBzdGVwIGZpbmFsaXphZG9cbiAgICAqIGN1cnJlbnQgLSBzdGVwIGF0dWFsXG4gICAgKiB3YWl0aW5nIC0gc3RlcCBhZ3VhcmRhbmRvXG4gICAgKiBlcnJvciAtIHN0ZXAgY29tIGVycm9cbiAgICAqXG4gICAgKiBAcGFyYW0ge3N0cmluZ30gc3RhdHVzXG4gICovXG4gIEBJbnB1dCgpIHN0YXR1czogJ2ZpbmFsaXplZCcgfCAnY3VycmVudCcgfCAnd2FpdGluZycgfCAnZXJyb3InIHwgc3RyaW5nID0gJ2N1cnJlbnQnO1xuXG4gIC8qKlxuICAgKiBzaXplIGRvIHN0ZXBcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpemVcbiAgICovXG4gIEBJbnB1dCgpIHNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCBzdHJpbmcgPSAnc21hbGwnO1xuXG5cbiAgLyoqXG4gICAqIFNlIG8gc3RlcCDDqSBjbGljw6F2ZWxcbiAgICogQHBhcmFtIHtib29sZWFufSBjbGlja2FibGVcbiAgKi9cbiAgQElucHV0KCkgaGFzQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgKiBGdW7Dp8OjbyBxdWUgcmV0b3JuYSBvIHZhbG9yIGRvIMOtY29uZSBvdSBidWxsZXRcbiAgKi9cbiAgQE91dHB1dCgpIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxuXG5cblxuXG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAqIHNlIG8gaXRlbSBkbyBzdGVwcGVyIGVzdGl2ZSBjb20gbyBldmVudG8gZGUgY2xpY2tlZCB0cnVlLCBlbGUgcmV0b3JuYSBxdWFsIGVsZW1lbnRvIMOpIHNlbGVjaW9uYWRvIHBhcmEgbyBjb21wb25lbnRlIHBhaVxuICAqICovXG4gIGNsaWNrZWRJdGVtKCkge1xuICAgIGlmKHRoaXMuaGFzQ2xpY2spIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLmNsaWNrZWQuZW1pdCgpXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInN0ZXBcIlxuICBbY2xhc3NdPVwiJ3N0ZXAtc3RhdHVzLS0nICsgc3RhdHVzICsgJyBzdGVwLXNpemUtLScgKyBzaXplXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdzdGVwLS12ZXJ0aWNhbCc6IGlzVmVydGljYWwsXG4gICAgJ3N0ZXAtLWhvcml6b250YWwnOiAhaXNWZXJ0aWNhbCxcbiAgICAnc3RlcC0tZGlzYWJsZWQtbGluZXN0YXJ0JzogIWxpbmVTdGFydCxcbiAgICAnc3RlcC0tZGlzYWJsZWQtbGluZWVuZCc6ICFsaW5lRW5kLFxuICAgICdzdGVwLS1jbGlja2VkJzogaGFzQ2xpY2ssXG4gICAgJ3N0ZXAtLWFjdGl2ZSc6IGFjdGl2ZVxuICB9XCJcblxuPlxuICA8ZGl2IGNsYXNzPVwic3RlcF9fbGluZSBzdGVwX19saW5lLS1zdGFydFwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3RlcF9fYnVsbGV0XCIgKGNsaWNrKT1cImNsaWNrZWRJdGVtKClcIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gKm5nSWY9XCJpY29uTmFtZSAmJiAhYnVsbGV0VmFsdWVcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+e3tpY29uTmFtZX19PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCIhaWNvbk5hbWUgJiYgYnVsbGV0VmFsdWVcIj57e2J1bGxldFZhbHVlfX08L3NwYW4+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RlcC1idWxsZXQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3RlcF9fbGluZSBzdGVwX19saW5lLS1lbmRcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInN0ZXBfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RlcF9fdGl0bGVcIiAoY2xpY2spPVwiY2xpY2tlZEl0ZW0oKVwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvc3Bhbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzdGVwLXRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -26,10 +26,10 @@ export class StepperComponent {
26
26
  }
27
27
  this.stepperSelected.emit(index);
28
28
  }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.4", type: StepperComponent, isStandalone: true, selector: "wco-stepper", inputs: { isVertical: "isVertical", stepperArray: "stepperArray" }, outputs: { stepperSelected: "stepperSelected" }, ngImport: i0, template: "<div\n class=\"stepper-vertical\"\n [ngClass]=\"isVertical === true ? 'stepper-vertical' : 'stepper-horizontal'\"\n *ngIf=\"stepperArray\"\n>\n <div class=\"stepper-component\" *ngFor=\"let items of stepperArray; let $i = index\">\n <div class=\"stepper-component__main\">\n <div class=\"stepper-item\" [ngClass]=\"{'stepper-item__clicked': items.clicked}\" (click)=\"clickedItem(items,$i)\">\n <span\n [ngClass]=\"\n items.showLineStart === true\n ? 'stepper-item__line'\n : 'stepper-item__without-line'\n \"\n ></span>\n <span class=\"stepper-item__circle\" [ngClass]=\"items.className\"\n ><span *ngIf=\"items.type === 'icon'\" class=\"icon material-icons\">{{\n items.valueIcon\n }}</span>\n <span *ngIf=\"items.type === 'text'\" class=\"icon\">{{\n items.valueBullet\n }}</span></span\n >\n <span\n [ngClass]=\"\n items.showLineEnd === true\n ? 'stepper-item__line'\n : 'stepper-item__without-line'\n \"\n ></span>\n </div>\n <div class=\"stepper-label\">\n <span\n class=\"stepper-label__text\"\n [ngClass]=\"items.className === 'current' ? 'dark-text' : 'light-text'\"\n >{{ items.label }}</span\n >\n </div>\n </div>\n </div>\n</div>\n", styles: [".stepper-vertical{display:flex;align-items:flex-start;flex-direction:column}.stepper-vertical .stepper-component{display:flex;flex-direction:row;align-items:center}.stepper-vertical .stepper-component__main{display:flex;width:100%;flex-direction:row;justify-content:center;align-items:center}.stepper-vertical .stepper-item{display:flex;flex-direction:column;justify-content:center;align-items:center}.stepper-vertical .stepper-item__line{display:flex;background-color:#000;height:1rem;width:1px}.stepper-vertical .stepper-item___without-line{display:flex;padding-top:1rem}.stepper-vertical .stepper-item__without-line{display:flex;padding-bottom:1rem}.stepper-vertical .stepper-item__circle{display:flex;align-items:center;justify-content:center;border-radius:50%;height:2rem;width:2rem;font-size:.75rem;line-height:1;padding:1rem;overflow:hidden;transition:all .3s ease-in-out;transform-origin:center center}.stepper-vertical .stepper-item__circle .material-icons{display:flex;align-items:center;justify-content:center;font-size:1rem}.stepper-vertical .stepper-item__clicked{cursor:pointer}.stepper-vertical .stepper-item__clicked:hover .stepper-item__circle{transform:scale(1.2)}.stepper-vertical .stepper-item .finalized{background-color:#ffe1ca}.stepper-vertical .stepper-item .current{background-color:#f56c00;color:#fff}.stepper-vertical .stepper-item .waiting{background-color:#c1c3c5;color:gray}.stepper-vertical .stepper-item .error{background-color:#fc9393}.stepper-vertical .stepper-label{padding-left:.5rem;font-size:1rem}.stepper-vertical .stepper-label .dark-text{font-weight:700}.stepper-vertical .stepper-label .light-text{font-weight:400}.stepper-horizontal{display:flex;align-items:flex-start;flex-direction:row}.stepper-horizontal .stepper-component{display:flex;flex-direction:column;align-items:center;width:100%}.stepper-horizontal .stepper-component__main{display:flex;width:100%;flex-direction:column;justify-content:center;align-items:center}.stepper-horizontal .stepper-item{display:flex;flex-direction:row;justify-content:center;align-items:center;width:100%}.stepper-horizontal .stepper-item__line{display:flex;background-color:#000;height:1px;width:100%}.stepper-horizontal .stepper-item__without-line{background-color:transparent;height:1px;width:100%}.stepper-horizontal .stepper-item__circle{display:flex;align-items:center;justify-content:center;border-radius:50%;height:2rem;width:2rem;font-size:.75rem;line-height:1;padding:1rem;overflow:hidden}.stepper-horizontal .stepper-item__circle .material-icons{display:flex;align-items:center;justify-content:center;font-size:1rem}.stepper-horizontal .stepper-item .finalized{background-color:#ffe1ca}.stepper-horizontal .stepper-item .current{background-color:#f56c00;color:#fff}.stepper-horizontal .stepper-item .waiting{background-color:#c1c3c5;color:gray}.stepper-horizontal .stepper-item .error{background-color:#fc9393}.stepper-horizontal .stepper-label{padding-top:.5rem;padding-left:0rem;font-size:.875rem;display:flex;align-items:center;justify-content:center}.stepper-horizontal .stepper-label__text{display:flex;flex-wrap:wrap;max-width:50%;text-align:center}.stepper-horizontal .stepper-label .dark-text{font-weight:700}.stepper-horizontal .stepper-label .light-text{font-weight:400}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StepperComponent, isStandalone: true, selector: "wco-stepper", inputs: { isVertical: "isVertical", stepperArray: "stepperArray" }, outputs: { stepperSelected: "stepperSelected" }, ngImport: i0, template: "<div\n class=\"stepper-vertical\"\n [ngClass]=\"isVertical === true ? 'stepper-vertical' : 'stepper-horizontal'\"\n *ngIf=\"stepperArray\"\n>\n <div class=\"stepper-component\" *ngFor=\"let items of stepperArray; let $i = index\">\n <div class=\"stepper-component__main\">\n <div class=\"stepper-item\" [ngClass]=\"{'stepper-item__clicked': items.clicked}\" (click)=\"clickedItem(items,$i)\">\n <span\n [ngClass]=\"\n items.showLineStart === true\n ? 'stepper-item__line'\n : 'stepper-item__without-line'\n \"\n ></span>\n <span class=\"stepper-item__circle\" [ngClass]=\"items.className\"\n ><span *ngIf=\"items.type === 'icon'\" class=\"icon material-icons\">{{\n items.valueIcon\n }}</span>\n <span *ngIf=\"items.type === 'text'\" class=\"icon\">{{\n items.valueBullet\n }}</span></span\n >\n <span\n [ngClass]=\"\n items.showLineEnd === true\n ? 'stepper-item__line'\n : 'stepper-item__without-line'\n \"\n ></span>\n </div>\n <div class=\"stepper-label\">\n <span\n class=\"stepper-label__text\"\n [ngClass]=\"items.className === 'current' ? 'dark-text' : 'light-text'\"\n >{{ items.label }}</span\n >\n </div>\n </div>\n </div>\n</div>\n", styles: [".stepper-vertical{display:flex;align-items:flex-start;flex-direction:column}.stepper-vertical .stepper-component{display:flex;flex-direction:row;align-items:center}.stepper-vertical .stepper-component__main{display:flex;width:100%;flex-direction:row;justify-content:center;align-items:center}.stepper-vertical .stepper-item{display:flex;flex-direction:column;justify-content:center;align-items:center}.stepper-vertical .stepper-item__line{display:flex;background-color:#000;height:1rem;width:1px}.stepper-vertical .stepper-item___without-line{display:flex;padding-top:1rem}.stepper-vertical .stepper-item__without-line{display:flex;padding-bottom:1rem}.stepper-vertical .stepper-item__circle{display:flex;align-items:center;justify-content:center;border-radius:50%;height:2rem;width:2rem;font-size:.75rem;line-height:1;padding:1rem;overflow:hidden;transition:all .3s ease-in-out;transform-origin:center center}.stepper-vertical .stepper-item__circle .material-icons{display:flex;align-items:center;justify-content:center;font-size:1rem}.stepper-vertical .stepper-item__clicked{cursor:pointer}.stepper-vertical .stepper-item__clicked:hover .stepper-item__circle{transform:scale(1.2)}.stepper-vertical .stepper-item .finalized{background-color:#ffe1ca}.stepper-vertical .stepper-item .current{background-color:#f56c00;color:#fff}.stepper-vertical .stepper-item .waiting{background-color:#c1c3c5;color:gray}.stepper-vertical .stepper-item .error{background-color:#fc9393}.stepper-vertical .stepper-label{padding-left:.5rem;font-size:1rem}.stepper-vertical .stepper-label .dark-text{font-weight:700}.stepper-vertical .stepper-label .light-text{font-weight:400}.stepper-horizontal{display:flex;align-items:flex-start;flex-direction:row}.stepper-horizontal .stepper-component{display:flex;flex-direction:column;align-items:center;width:100%}.stepper-horizontal .stepper-component__main{display:flex;width:100%;flex-direction:column;justify-content:center;align-items:center}.stepper-horizontal .stepper-item{display:flex;flex-direction:row;justify-content:center;align-items:center;width:100%}.stepper-horizontal .stepper-item__line{display:flex;background-color:#000;height:1px;width:100%}.stepper-horizontal .stepper-item__without-line{background-color:transparent;height:1px;width:100%}.stepper-horizontal .stepper-item__circle{display:flex;align-items:center;justify-content:center;border-radius:50%;height:2rem;width:2rem;font-size:.75rem;line-height:1;padding:1rem;overflow:hidden}.stepper-horizontal .stepper-item__circle .material-icons{display:flex;align-items:center;justify-content:center;font-size:1rem}.stepper-horizontal .stepper-item .finalized{background-color:#ffe1ca}.stepper-horizontal .stepper-item .current{background-color:#f56c00;color:#fff}.stepper-horizontal .stepper-item .waiting{background-color:#c1c3c5;color:gray}.stepper-horizontal .stepper-item .error{background-color:#fc9393}.stepper-horizontal .stepper-label{padding-top:.5rem;padding-left:0rem;font-size:.875rem;display:flex;align-items:center;justify-content:center}.stepper-horizontal .stepper-label__text{display:flex;flex-wrap:wrap;max-width:50%;text-align:center}.stepper-horizontal .stepper-label .dark-text{font-weight:700}.stepper-horizontal .stepper-label .light-text{font-weight:400}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: StepperComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepperComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ selector: "wco-stepper", standalone: true, imports: [CommonModule], template: "<div\n class=\"stepper-vertical\"\n [ngClass]=\"isVertical === true ? 'stepper-vertical' : 'stepper-horizontal'\"\n *ngIf=\"stepperArray\"\n>\n <div class=\"stepper-component\" *ngFor=\"let items of stepperArray; let $i = index\">\n <div class=\"stepper-component__main\">\n <div class=\"stepper-item\" [ngClass]=\"{'stepper-item__clicked': items.clicked}\" (click)=\"clickedItem(items,$i)\">\n <span\n [ngClass]=\"\n items.showLineStart === true\n ? 'stepper-item__line'\n : 'stepper-item__without-line'\n \"\n ></span>\n <span class=\"stepper-item__circle\" [ngClass]=\"items.className\"\n ><span *ngIf=\"items.type === 'icon'\" class=\"icon material-icons\">{{\n items.valueIcon\n }}</span>\n <span *ngIf=\"items.type === 'text'\" class=\"icon\">{{\n items.valueBullet\n }}</span></span\n >\n <span\n [ngClass]=\"\n items.showLineEnd === true\n ? 'stepper-item__line'\n : 'stepper-item__without-line'\n \"\n ></span>\n </div>\n <div class=\"stepper-label\">\n <span\n class=\"stepper-label__text\"\n [ngClass]=\"items.className === 'current' ? 'dark-text' : 'light-text'\"\n >{{ items.label }}</span\n >\n </div>\n </div>\n </div>\n</div>\n", styles: [".stepper-vertical{display:flex;align-items:flex-start;flex-direction:column}.stepper-vertical .stepper-component{display:flex;flex-direction:row;align-items:center}.stepper-vertical .stepper-component__main{display:flex;width:100%;flex-direction:row;justify-content:center;align-items:center}.stepper-vertical .stepper-item{display:flex;flex-direction:column;justify-content:center;align-items:center}.stepper-vertical .stepper-item__line{display:flex;background-color:#000;height:1rem;width:1px}.stepper-vertical .stepper-item___without-line{display:flex;padding-top:1rem}.stepper-vertical .stepper-item__without-line{display:flex;padding-bottom:1rem}.stepper-vertical .stepper-item__circle{display:flex;align-items:center;justify-content:center;border-radius:50%;height:2rem;width:2rem;font-size:.75rem;line-height:1;padding:1rem;overflow:hidden;transition:all .3s ease-in-out;transform-origin:center center}.stepper-vertical .stepper-item__circle .material-icons{display:flex;align-items:center;justify-content:center;font-size:1rem}.stepper-vertical .stepper-item__clicked{cursor:pointer}.stepper-vertical .stepper-item__clicked:hover .stepper-item__circle{transform:scale(1.2)}.stepper-vertical .stepper-item .finalized{background-color:#ffe1ca}.stepper-vertical .stepper-item .current{background-color:#f56c00;color:#fff}.stepper-vertical .stepper-item .waiting{background-color:#c1c3c5;color:gray}.stepper-vertical .stepper-item .error{background-color:#fc9393}.stepper-vertical .stepper-label{padding-left:.5rem;font-size:1rem}.stepper-vertical .stepper-label .dark-text{font-weight:700}.stepper-vertical .stepper-label .light-text{font-weight:400}.stepper-horizontal{display:flex;align-items:flex-start;flex-direction:row}.stepper-horizontal .stepper-component{display:flex;flex-direction:column;align-items:center;width:100%}.stepper-horizontal .stepper-component__main{display:flex;width:100%;flex-direction:column;justify-content:center;align-items:center}.stepper-horizontal .stepper-item{display:flex;flex-direction:row;justify-content:center;align-items:center;width:100%}.stepper-horizontal .stepper-item__line{display:flex;background-color:#000;height:1px;width:100%}.stepper-horizontal .stepper-item__without-line{background-color:transparent;height:1px;width:100%}.stepper-horizontal .stepper-item__circle{display:flex;align-items:center;justify-content:center;border-radius:50%;height:2rem;width:2rem;font-size:.75rem;line-height:1;padding:1rem;overflow:hidden}.stepper-horizontal .stepper-item__circle .material-icons{display:flex;align-items:center;justify-content:center;font-size:1rem}.stepper-horizontal .stepper-item .finalized{background-color:#ffe1ca}.stepper-horizontal .stepper-item .current{background-color:#f56c00;color:#fff}.stepper-horizontal .stepper-item .waiting{background-color:#c1c3c5;color:gray}.stepper-horizontal .stepper-item .error{background-color:#fc9393}.stepper-horizontal .stepper-label{padding-top:.5rem;padding-left:0rem;font-size:.875rem;display:flex;align-items:center;justify-content:center}.stepper-horizontal .stepper-label__text{display:flex;flex-wrap:wrap;max-width:50%;text-align:center}.stepper-horizontal .stepper-label .dark-text{font-weight:700}.stepper-horizontal .stepper-label .light-text{font-weight:400}\n"] }]
35
35
  }], ctorParameters: function () { return []; }, propDecorators: { isVertical: [{
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
39
39
  }], stepperSelected: [{
40
40
  type: Output
41
41
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBb0J2RSxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOztNQUVFO0lBQ08sVUFBVSxHQUFZLEtBQUssQ0FBQztJQUVyQzs7O01BR0U7SUFDTyxZQUFZLEdBQXdCLEVBQUUsQ0FBQztJQUVoRDs7TUFFRTtJQUNRLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO0lBRXRELGdCQUFlLENBQUM7SUFFaEI7O1FBRUk7SUFDSixXQUFXLENBQUMsSUFBa0IsRUFBRSxLQUFhO1FBQzNDLElBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7dUdBM0JVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLDRMQ3JCN0IsbzVDQXlDQSxvd0dEeEJZLFlBQVk7OzJGQUlYLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzBFQVFkLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSztnQkFLSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXBwZXJDbGFzcyB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiAnZmluYWxpemVkJyB8ICAnY3VycmVudCcgfCAnd2FpdGluZycgfCAnZXJyb3InO1xuICBzaG93TGluZVN0YXJ0OiBib29sZWFuO1xuICBzaG93TGluZUVuZDogYm9vbGVhbjtcbiAgdHlwZT86ICdpY29uJyB8ICd0ZXh0JztcbiAgdmFsdWVJY29uPzogc3RyaW5nO1xuICB2YWx1ZUJ1bGxldD86IHN0cmluZztcbiAgY2xpY2tlZD86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJ3Y28tc3RlcHBlclwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdGVwcGVyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IHtcbiAgLyoqXG4gICogU2VudGlkbyBkbyBzdGVwcGVyIChob3Jpem9udGFsIG91IHZlcnRpY2FsKVxuICAqL1xuICBASW5wdXQoKSBpc1ZlcnRpY2FsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICogQXJyYXkgZGUgaXRlbnMgZG8gc3RlcHBlciBTdGVwcGVyQ2xhc3NcbiAgKiBAcGFyYW0ge1N0ZXBwZXJDbGFzc30gc3RlcHBlclxuICAqL1xuICBASW5wdXQoKSBzdGVwcGVyQXJyYXk6IEFycmF5PFN0ZXBwZXJDbGFzcz4gPSBbXTtcblxuICAvKipcbiAgKiBGdW7Dp8OjbyBxdWUgcmV0b3JuYSBvIHZhbG9yIGRvIMOtY29uZSBvdSBidWxsZXRcbiAgKi9cbiAgQE91dHB1dCgpIHN0ZXBwZXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpXG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAqIHNlIG8gaXRlbSBkbyBzdGVwcGVyIGVzdGl2ZSBjb20gbyBldmVudG8gZGUgY2xpY2tlZCB0cnVlLCBlbGUgcmV0b3JuYSBxdWFsIGVsZW1lbnRvIMOpIHNlbGVjaW9uYWRvIHBhcmEgbyBjb21wb25lbnRlIHBhaVxuICAqICovXG4gIGNsaWNrZWRJdGVtKGl0ZW06IFN0ZXBwZXJDbGFzcywgaW5kZXg6IG51bWJlcikge1xuICAgIGlmKCFpdGVtLmNsaWNrZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLnN0ZXBwZXJTZWxlY3RlZC5lbWl0KGluZGV4KVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic3RlcHBlci12ZXJ0aWNhbFwiXG4gIFtuZ0NsYXNzXT1cImlzVmVydGljYWwgPT09IHRydWUgPyAnc3RlcHBlci12ZXJ0aWNhbCcgOiAnc3RlcHBlci1ob3Jpem9udGFsJ1wiXG4gICpuZ0lmPVwic3RlcHBlckFycmF5XCJcbj5cbiAgPGRpdiBjbGFzcz1cInN0ZXBwZXItY29tcG9uZW50XCIgKm5nRm9yPVwibGV0IGl0ZW1zIG9mIHN0ZXBwZXJBcnJheTsgbGV0ICRpID0gaW5kZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1jb21wb25lbnRfX21haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWl0ZW1cIiBbbmdDbGFzc109XCJ7J3N0ZXBwZXItaXRlbV9fY2xpY2tlZCc6IGl0ZW1zLmNsaWNrZWR9XCIgIChjbGljayk9XCJjbGlja2VkSXRlbShpdGVtcywkaSlcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgIGl0ZW1zLnNob3dMaW5lU3RhcnQgPT09IHRydWVcbiAgICAgICAgICAgICAgPyAnc3RlcHBlci1pdGVtX19saW5lJ1xuICAgICAgICAgICAgICA6ICdzdGVwcGVyLWl0ZW1fX3dpdGhvdXQtbGluZSdcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXItaXRlbV9fY2lyY2xlXCIgW25nQ2xhc3NdPVwiaXRlbXMuY2xhc3NOYW1lXCJcbiAgICAgICAgICA+PHNwYW4gKm5nSWY9XCJpdGVtcy50eXBlID09PSAnaWNvbidcIiBjbGFzcz1cImljb24gbWF0ZXJpYWwtaWNvbnNcIj57e1xuICAgICAgICAgICAgaXRlbXMudmFsdWVJY29uXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtcy50eXBlID09PSAndGV4dCdcIiBjbGFzcz1cImljb25cIj57e1xuICAgICAgICAgICAgaXRlbXMudmFsdWVCdWxsZXRcbiAgICAgICAgICB9fTwvc3Bhbj48L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgaXRlbXMuc2hvd0xpbmVFbmQgPT09IHRydWVcbiAgICAgICAgICAgICAgPyAnc3RlcHBlci1pdGVtX19saW5lJ1xuICAgICAgICAgICAgICA6ICdzdGVwcGVyLWl0ZW1fX3dpdGhvdXQtbGluZSdcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1sYWJlbFwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic3RlcHBlci1sYWJlbF9fdGV4dFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbXMuY2xhc3NOYW1lID09PSAnY3VycmVudCcgPyAnZGFyay10ZXh0JyA6ICdsaWdodC10ZXh0J1wiXG4gICAgICAgICAgPnt7IGl0ZW1zLmxhYmVsIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBb0J2RSxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOztNQUVFO0lBQ08sVUFBVSxHQUFZLEtBQUssQ0FBQztJQUVyQzs7O01BR0U7SUFDTyxZQUFZLEdBQXdCLEVBQUUsQ0FBQztJQUVoRDs7TUFFRTtJQUNRLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO0lBRXRELGdCQUFlLENBQUM7SUFFaEI7O1FBRUk7SUFDSixXQUFXLENBQUMsSUFBa0IsRUFBRSxLQUFhO1FBQzNDLElBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7d0dBM0JVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLDRMQ3JCN0IsbzVDQXlDQSxvd0dEeEJZLFlBQVk7OzRGQUlYLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzBFQVFkLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSztnQkFLSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXBwZXJDbGFzcyB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiAnZmluYWxpemVkJyB8ICAnY3VycmVudCcgfCAnd2FpdGluZycgfCAnZXJyb3InO1xuICBzaG93TGluZVN0YXJ0OiBib29sZWFuO1xuICBzaG93TGluZUVuZDogYm9vbGVhbjtcbiAgdHlwZT86ICdpY29uJyB8ICd0ZXh0JztcbiAgdmFsdWVJY29uPzogc3RyaW5nO1xuICB2YWx1ZUJ1bGxldD86IHN0cmluZztcbiAgY2xpY2tlZD86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJ3Y28tc3RlcHBlclwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdGVwcGVyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IHtcbiAgLyoqXG4gICogU2VudGlkbyBkbyBzdGVwcGVyIChob3Jpem9udGFsIG91IHZlcnRpY2FsKVxuICAqL1xuICBASW5wdXQoKSBpc1ZlcnRpY2FsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICogQXJyYXkgZGUgaXRlbnMgZG8gc3RlcHBlciBTdGVwcGVyQ2xhc3NcbiAgKiBAcGFyYW0ge1N0ZXBwZXJDbGFzc30gc3RlcHBlclxuICAqL1xuICBASW5wdXQoKSBzdGVwcGVyQXJyYXk6IEFycmF5PFN0ZXBwZXJDbGFzcz4gPSBbXTtcblxuICAvKipcbiAgKiBGdW7Dp8OjbyBxdWUgcmV0b3JuYSBvIHZhbG9yIGRvIMOtY29uZSBvdSBidWxsZXRcbiAgKi9cbiAgQE91dHB1dCgpIHN0ZXBwZXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpXG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAqIHNlIG8gaXRlbSBkbyBzdGVwcGVyIGVzdGl2ZSBjb20gbyBldmVudG8gZGUgY2xpY2tlZCB0cnVlLCBlbGUgcmV0b3JuYSBxdWFsIGVsZW1lbnRvIMOpIHNlbGVjaW9uYWRvIHBhcmEgbyBjb21wb25lbnRlIHBhaVxuICAqICovXG4gIGNsaWNrZWRJdGVtKGl0ZW06IFN0ZXBwZXJDbGFzcywgaW5kZXg6IG51bWJlcikge1xuICAgIGlmKCFpdGVtLmNsaWNrZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLnN0ZXBwZXJTZWxlY3RlZC5lbWl0KGluZGV4KVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic3RlcHBlci12ZXJ0aWNhbFwiXG4gIFtuZ0NsYXNzXT1cImlzVmVydGljYWwgPT09IHRydWUgPyAnc3RlcHBlci12ZXJ0aWNhbCcgOiAnc3RlcHBlci1ob3Jpem9udGFsJ1wiXG4gICpuZ0lmPVwic3RlcHBlckFycmF5XCJcbj5cbiAgPGRpdiBjbGFzcz1cInN0ZXBwZXItY29tcG9uZW50XCIgKm5nRm9yPVwibGV0IGl0ZW1zIG9mIHN0ZXBwZXJBcnJheTsgbGV0ICRpID0gaW5kZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1jb21wb25lbnRfX21haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWl0ZW1cIiBbbmdDbGFzc109XCJ7J3N0ZXBwZXItaXRlbV9fY2xpY2tlZCc6IGl0ZW1zLmNsaWNrZWR9XCIgIChjbGljayk9XCJjbGlja2VkSXRlbShpdGVtcywkaSlcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgIGl0ZW1zLnNob3dMaW5lU3RhcnQgPT09IHRydWVcbiAgICAgICAgICAgICAgPyAnc3RlcHBlci1pdGVtX19saW5lJ1xuICAgICAgICAgICAgICA6ICdzdGVwcGVyLWl0ZW1fX3dpdGhvdXQtbGluZSdcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXItaXRlbV9fY2lyY2xlXCIgW25nQ2xhc3NdPVwiaXRlbXMuY2xhc3NOYW1lXCJcbiAgICAgICAgICA+PHNwYW4gKm5nSWY9XCJpdGVtcy50eXBlID09PSAnaWNvbidcIiBjbGFzcz1cImljb24gbWF0ZXJpYWwtaWNvbnNcIj57e1xuICAgICAgICAgICAgaXRlbXMudmFsdWVJY29uXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtcy50eXBlID09PSAndGV4dCdcIiBjbGFzcz1cImljb25cIj57e1xuICAgICAgICAgICAgaXRlbXMudmFsdWVCdWxsZXRcbiAgICAgICAgICB9fTwvc3Bhbj48L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgaXRlbXMuc2hvd0xpbmVFbmQgPT09IHRydWVcbiAgICAgICAgICAgICAgPyAnc3RlcHBlci1pdGVtX19saW5lJ1xuICAgICAgICAgICAgICA6ICdzdGVwcGVyLWl0ZW1fX3dpdGhvdXQtbGluZSdcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1sYWJlbFwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic3RlcHBlci1sYWJlbF9fdGV4dFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbXMuY2xhc3NOYW1lID09PSAnY3VycmVudCcgPyAnZGFyay10ZXh0JyA6ICdsaWdodC10ZXh0J1wiXG4gICAgICAgICAgPnt7IGl0ZW1zLmxhYmVsIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19