@evotor-dev/ui-kit 7.2.9 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/esm2020/lib/components/evo-autocomplete/components/evo-autocomplete/evo-autocomplete.component.mjs +385 -0
  2. package/esm2020/lib/components/evo-autocomplete/components/evo-autocomplete-default-option/evo-autocomplete-default-option.component.mjs +43 -0
  3. package/esm2020/lib/components/evo-autocomplete/components/evo-autocomplete-footer/evo-autocomplete-footer.component.mjs +11 -0
  4. package/esm2020/lib/components/evo-autocomplete/components/evo-autocomplete-header/evo-autocomplete-header.component.mjs +11 -0
  5. package/esm2020/lib/components/evo-autocomplete/evo-autocomplete.module.mjs +15 -5
  6. package/esm2020/lib/components/evo-autocomplete/public-api.mjs +5 -3
  7. package/esm2020/lib/components/evo-checkbox/evo-checkbox.component.mjs +2 -2
  8. package/esm2020/lib/components/evo-datepicker/evo-datepicker.component.mjs +2 -2
  9. package/esm2020/lib/components/evo-icon-button/evo-icon-button.component.mjs +11 -4
  10. package/esm2020/lib/components/evo-input/evo-input.component.mjs +2 -2
  11. package/esm2020/lib/components/evo-select/evo-select.component.mjs +2 -2
  12. package/esm2020/lib/components/evo-textarea/evo-textarea.component.mjs +9 -5
  13. package/fesm2015/evotor-dev-ui-kit.mjs +105 -40
  14. package/fesm2015/evotor-dev-ui-kit.mjs.map +1 -1
  15. package/fesm2020/evotor-dev-ui-kit.mjs +104 -40
  16. package/fesm2020/evotor-dev-ui-kit.mjs.map +1 -1
  17. package/lib/components/evo-autocomplete/components/{evo-autocomplete.component.d.ts → evo-autocomplete/evo-autocomplete.component.d.ts} +16 -8
  18. package/lib/components/evo-autocomplete/components/evo-autocomplete-footer/evo-autocomplete-footer.component.d.ts +5 -0
  19. package/lib/components/evo-autocomplete/components/evo-autocomplete-header/evo-autocomplete-header.component.d.ts +5 -0
  20. package/lib/components/evo-autocomplete/evo-autocomplete.module.d.ts +12 -10
  21. package/lib/components/evo-autocomplete/public-api.d.ts +4 -2
  22. package/lib/components/evo-icon-button/evo-icon-button.component.d.ts +2 -1
  23. package/lib/components/evo-textarea/evo-textarea.component.d.ts +3 -1
  24. package/package.json +1 -1
  25. package/styles/main.scss +1 -0
  26. package/esm2020/lib/components/evo-autocomplete/components/evo-autocomplete.component.mjs +0 -358
  27. package/esm2020/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.mjs +0 -43
  28. /package/lib/components/evo-autocomplete/components/{templates → evo-autocomplete-default-option}/evo-autocomplete-default-option.component.d.ts +0 -0
@@ -0,0 +1,385 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { merge, Subject } from 'rxjs';
3
+ import { NgSelectComponent } from '@ng-select/ng-select';
4
+ import { delay, takeUntil, tap } from 'rxjs/operators';
5
+ import { isNull } from 'lodash-es';
6
+ import { EvoInputTheme } from '../../../evo-input';
7
+ import { iconDecline } from '@evotor-dev/ui-kit/icons/system';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/forms";
10
+ import * as i2 from "@ng-select/ng-select";
11
+ import * as i3 from "../../../evo-control-error/evo-control-error.component";
12
+ import * as i4 from "../../../../directives/evo-ui-class.directive";
13
+ import * as i5 from "@angular/common";
14
+ const DEFAULT_NOT_FOUND_TEXT = 'Не найдено';
15
+ export class EvoAutocompleteComponent {
16
+ constructor(cdr, control) {
17
+ this.cdr = cdr;
18
+ this.control = control;
19
+ this.theme = EvoInputTheme.default;
20
+ this.size = 'normal';
21
+ this.isFocused = false;
22
+ this.isSelectbox = false;
23
+ this.markFirst = true;
24
+ this.addTagText = 'Добавить тэг';
25
+ this.loadingText = 'Идет поиск...';
26
+ this.dropdownPosition = 'auto';
27
+ this.closeOnSelect = true;
28
+ this.bufferAmount = 4;
29
+ this.selectableGroupAsModel = true;
30
+ this.clearOnBackspace = true;
31
+ this.clearable = true;
32
+ // Fix: https://github.com/ng-select/ng-select/pull/1257
33
+ // Don't work with custom template - labelTemp
34
+ this.editQuery = false;
35
+ // Outputs
36
+ /* eslint-disable @angular-eslint/no-output-rename */
37
+ this.blurEvent = new EventEmitter();
38
+ this.focusEvent = new EventEmitter();
39
+ this.changeEvent = new EventEmitter();
40
+ this.openEvent = new EventEmitter();
41
+ this.closeEvent = new EventEmitter();
42
+ this.searchEvent = new EventEmitter();
43
+ this.clearEvent = new EventEmitter();
44
+ this.addEvent = new EventEmitter();
45
+ this.removeEvent = new EventEmitter();
46
+ this.scrollEvent = new EventEmitter();
47
+ this.scrollToEndEvent = new EventEmitter();
48
+ this._destroy$ = new Subject();
49
+ this._onChange = (value) => { };
50
+ this._onTouched = () => { };
51
+ control.valueAccessor = this;
52
+ }
53
+ get notFoundText() {
54
+ if (this.isSelectbox) {
55
+ return this._notFoundText || '';
56
+ }
57
+ return this._notFoundText || DEFAULT_NOT_FOUND_TEXT;
58
+ }
59
+ set searchable(searchable) {
60
+ this._searchable = searchable;
61
+ }
62
+ get searchable() {
63
+ return this._searchable ?? !this.isSelectbox;
64
+ }
65
+ set setSelectbox(isSelectbox) {
66
+ this.clearable = false;
67
+ this.editQuery = false;
68
+ this.isSelectbox = isSelectbox;
69
+ }
70
+ set setTheme(theme) {
71
+ if (EvoInputTheme[theme]) {
72
+ this.theme = EvoInputTheme[theme];
73
+ }
74
+ }
75
+ get hasErrors() {
76
+ return this.control.dirty && this.control.touched && this.control.invalid;
77
+ }
78
+ get classes() {
79
+ return {
80
+ 'is-multiple-inline': this.multipleInline,
81
+ 'is-edit-query': this.editQuery,
82
+ 'is-selectbox': this.isSelectbox,
83
+ disabled: this.control.disabled,
84
+ touched: this.control.touched,
85
+ valid: this.control.valid,
86
+ invalid: this.control.invalid,
87
+ [`theme-${this.theme}`]: true,
88
+ [`size-${this.size}`]: true,
89
+ };
90
+ }
91
+ get value() {
92
+ return this._value;
93
+ }
94
+ set value(value) {
95
+ if (value !== this._value) {
96
+ this._value = value;
97
+ this._onChange(value);
98
+ }
99
+ }
100
+ getMultipleInlineItemsLabels(items) {
101
+ if (!items || !Array.isArray(items) || items.length === 0) {
102
+ return '';
103
+ }
104
+ return items
105
+ .map((item) => item[this.bindLabel] || '')
106
+ .filter((item) => item !== '')
107
+ .join(', ');
108
+ }
109
+ ngAfterViewInit() {
110
+ if (this.editQuery) {
111
+ this.editQueryMode();
112
+ }
113
+ this.patchClearButtonIcon();
114
+ // prevent option click to close evo-modal
115
+ this.ngSelectComponent.element.addEventListener('click', (e) => {
116
+ if (e.target.closest('.ng-option')) {
117
+ e.stopPropagation();
118
+ }
119
+ });
120
+ // Allows to mark view for check
121
+ // if control was validated with FormHelper.validate
122
+ // and it's touched
123
+ this.control.control.statusChanges
124
+ .pipe(takeUntil(this._destroy$), tap(() => this.cdr.markForCheck()))
125
+ .subscribe();
126
+ }
127
+ ngOnDestroy() {
128
+ this._destroy$.next();
129
+ this._destroy$.complete();
130
+ }
131
+ writeValue(value) {
132
+ this.value = value;
133
+ if (this.ngSelectComponent) {
134
+ this.ngSelectComponent.writeValue(value);
135
+ }
136
+ }
137
+ registerOnChange(fn) {
138
+ this._onChange = fn;
139
+ }
140
+ registerOnTouched(fn) {
141
+ this._onTouched = fn;
142
+ }
143
+ setDisabledState(isDisabled) {
144
+ if (this.ngSelectComponent) {
145
+ this.ngSelectComponent.setDisabledState(isDisabled);
146
+ }
147
+ }
148
+ // TODO: investigate and remove
149
+ editQueryMode() {
150
+ const ngSelectEl = this.ngSelectComponent.element;
151
+ this.inputEl = ngSelectEl.querySelector('.ng-input input');
152
+ const streams$ = [
153
+ this.changeEvent.pipe(delay(0), tap(() => {
154
+ this.resetSearchQuery();
155
+ this.inputEl.value = this.inputVal || '';
156
+ })),
157
+ this.closeEvent.pipe(delay(0), tap(() => {
158
+ this.resetSearchQuery();
159
+ if (ngSelectEl.classList.contains('ng-select-focused')) {
160
+ this.inputEl.value = this.inputVal || '';
161
+ }
162
+ })),
163
+ this.focusEvent.pipe(tap(() => {
164
+ this.resetSearchQuery();
165
+ this.inputEl.value = this.inputVal || '';
166
+ })),
167
+ this.blurEvent.pipe(tap(() => {
168
+ this.inputEl.value = '';
169
+ })),
170
+ ];
171
+ if (this.control.valueChanges) {
172
+ streams$.push(this.control.valueChanges.pipe(tap((value) => {
173
+ if (!isNull(value)) {
174
+ this.resetSearchQuery();
175
+ return;
176
+ }
177
+ this.inputVal = '';
178
+ this.inputEl.value = '';
179
+ })));
180
+ }
181
+ merge(...streams$)
182
+ .pipe(takeUntil(this._destroy$))
183
+ .subscribe();
184
+ }
185
+ resetSearchQuery() {
186
+ const currentItem = this.ngSelectComponent.selectedItems[0];
187
+ this.inputVal = currentItem?.label || '';
188
+ }
189
+ focus() {
190
+ this.ngSelectComponent.focus();
191
+ }
192
+ blur() {
193
+ this.ngSelectComponent.blur();
194
+ }
195
+ open() {
196
+ this.ngSelectComponent.open();
197
+ }
198
+ close() {
199
+ this.ngSelectComponent.close();
200
+ }
201
+ onFocus(event) {
202
+ this.isFocused = true;
203
+ this._onTouched();
204
+ if (this.control.value) {
205
+ this.focusEvent.emit(event);
206
+ }
207
+ }
208
+ onBlur(event) {
209
+ this.isFocused = false;
210
+ this.blurEvent.emit(event);
211
+ }
212
+ onClearClick() {
213
+ this.ngSelectComponent.handleClearClick();
214
+ }
215
+ /**
216
+ * Try to patch clear button icon
217
+ */
218
+ patchClearButtonIcon() {
219
+ const originalShowClearFn = this.ngSelectComponent.showClear;
220
+ const ngSelectElement = this.ngSelectComponent;
221
+ let patchTimeout = null;
222
+ this.ngSelectComponent.showClear = function () {
223
+ const isClearButtonVisible = originalShowClearFn.bind(this)();
224
+ if (isClearButtonVisible) {
225
+ if (patchTimeout) {
226
+ clearTimeout(patchTimeout);
227
+ }
228
+ patchTimeout = setTimeout(() => {
229
+ const ngClearWrapperElement = ngSelectElement.element.querySelector('.ng-clear-wrapper');
230
+ if (!ngClearWrapperElement) {
231
+ return;
232
+ }
233
+ // tslint:disable-next-line:max-line-length
234
+ ngClearWrapperElement.innerHTML = `<span class="ng-clear ng-clear_patched"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">${iconDecline}</svg></span>`;
235
+ });
236
+ }
237
+ return isClearButtonVisible;
238
+ };
239
+ }
240
+ }
241
+ EvoAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoAutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgControl }], target: i0.ɵɵFactoryTarget.Component });
242
+ EvoAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoAutocompleteComponent, selector: "evo-autocomplete", inputs: { size: "size", isOpen: "isOpen", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", markFirst: "markFirst", placeholder: "placeholder", typeToSearchText: "typeToSearchText", addTagText: "addTagText", loadingText: "loadingText", clearAllText: "clearAllText", dropdownPosition: "dropdownPosition", appendTo: "appendTo", loading: "loading", closeOnSelect: "closeOnSelect", hideSelected: "hideSelected", selectOnTab: "selectOnTab", openOnEnter: "openOnEnter", maxSelectedItems: "maxSelectedItems", groupBy: "groupBy", groupValue: "groupValue", bufferAmount: "bufferAmount", virtualScroll: "virtualScroll", selectableGroup: "selectableGroup", selectableGroupAsModel: "selectableGroupAsModel", searchFn: "searchFn", clearOnBackspace: "clearOnBackspace", typeahead: "typeahead", multiple: "multiple", multipleInline: "multipleInline", addTag: "addTag", clearable: "clearable", errorsMessages: "errorsMessages", compareWith: "compareWith", _notFoundText: ["notFoundText", "_notFoundText"], editQuery: "editQuery", searchable: "searchable", setSelectbox: ["isSelectbox", "setSelectbox"], setTheme: ["theme", "setTheme"] }, outputs: { blurEvent: "blur", focusEvent: "focus", changeEvent: "change", openEvent: "open", closeEvent: "close", searchEvent: "search", clearEvent: "clear", addEvent: "add", removeEvent: "remove", scrollEvent: "scroll", scrollToEndEvent: "scrollToEnd" }, queries: [{ propertyName: "labelTemp", first: true, predicate: ["labelTemp"], descendants: true, read: TemplateRef }, { propertyName: "multiLabelTemp", first: true, predicate: ["multiLabelTemp"], descendants: true, read: TemplateRef }, { propertyName: "optionTemp", first: true, predicate: ["optionTemp"], descendants: true, read: TemplateRef }, { propertyName: "optgroupTemp", first: true, predicate: ["optgroupTemp"], descendants: true, read: TemplateRef }, { propertyName: "headerTemp", first: true, predicate: ["headerTemp"], descendants: true, read: TemplateRef }, { propertyName: "footerTemp", first: true, predicate: ["footerTemp"], descendants: true, read: TemplateRef }, { propertyName: "notFoundTemp", first: true, predicate: ["notFoundTemp"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: NgSelectComponent, descendants: true }], ngImport: i0, template: "<div class=\"evo-autocomplete\" [evoUiClass]=\"classes\">\n <ng-select\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [markFirst]=\"markFirst\"\n [placeholder]=\"placeholder\"\n [notFoundText]=\"notFoundText\"\n [typeToSearchText]=\"typeToSearchText\"\n [addTagText]=\"addTagText\"\n [loadingText]=\"loadingText\"\n [clearAllText]=\"clearAllText\"\n [dropdownPosition]=\"dropdownPosition\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"hideSelected\"\n [selectOnTab]=\"selectOnTab\"\n [openOnEnter]=\"openOnEnter\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [virtualScroll]=\"virtualScroll\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [searchFn]=\"searchFn\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [typeahead]=\"typeahead\"\n [multiple]=\"multiple || multipleInline\"\n [addTag]=\"addTag\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [isOpen]=\"isOpen\"\n [editableSearchTerm]=\"editQuery\"\n [disabled]=\"control.disabled\"\n [compareWith]=\"compareWith\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scrollEvent.emit($event)\"\n (scrollToEnd)=\"scrollToEndEvent.emit($event)\"\n >\n <!-- Selected Item Template -->\n <ng-template *ngIf=\"labelTemp\" ng-label-tmp let-item=\"item\">\n <ng-template *ngTemplateOutlet=\"labelTemp; context: { item: item }\"></ng-template>\n </ng-template>\n\n <!-- Overall Label For All Selected Items Template -->\n <ng-template *ngIf=\"multiLabelTemp\" ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template *ngTemplateOutlet=\"multiLabelTemp; context: { items: items, clear: clear }\"></ng-template>\n </ng-template>\n\n <!-- Options header template -->\n <ng-template *ngIf=\"headerTemp\" ng-header-tmp>\n <ng-template *ngTemplateOutlet=\"headerTemp; context: {items: items}\"></ng-template>\n </ng-template>\n\n <!-- Option Template -->\n <ng-template\n *ngIf=\"optionTemp\"\n ng-option-tmp\n let-item=\"item\"\n let-index=\"index\"\n let-search=\"searchTerm\"\n let-item$=\"item$\"\n >\n <ng-template\n *ngTemplateOutlet=\"optionTemp; context: { item: item, index: index, searchTerm: search, item$: item$}\"\n ></ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"multipleInline && !multiLabelTemp\">\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <div class=\"ng-value\">{{ getMultipleInlineItemsLabels(items) }}</div>\n </ng-template>\n </ng-container>\n\n <!-- Options group template -->\n <ng-template *ngIf=\"optgroupTemp\" ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\n <ng-template *ngTemplateOutlet=\"optgroupTemp; context: { item: item, index: index }\"></ng-template>\n </ng-template>\n\n <!-- Search Text Templates -->\n <ng-template ng-typetosearch-tmp>\n <div *ngIf=\"typeToSearchText\" class=\"ng-option disabled\">{{typeToSearchText}}</div>\n </ng-template>\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{loadingText}}</div>\n </ng-template>\n\n <ng-container *ngIf=\"notFoundTemp; else defaultNotFoundTemplate\">\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template *ngTemplateOutlet=\"notFoundTemp; context: {searchTerm: searchTerm}\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template #defaultNotFoundTemplate>\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option disabled\">{{notFoundText}}</div>\n </ng-template>\n </ng-template>\n\n <!-- Options footer template -->\n <ng-template *ngIf=\"footerTemp\" ng-footer-tmp>\n <ng-template *ngTemplateOutlet=\"footerTemp; context: {items: items}\"></ng-template>\n </ng-template>\n </ng-select>\n <evo-control-error\n *ngIf=\"hasErrors && errorsMessages\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n ></evo-control-error>\n</div>\n", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}evo-autocomplete{--evo-dropdown-max-height: 310px;--evo-autocomplete-option-overflow: hidden;--evo-autocomplete-option-text-overflow: ellipsis;--evo-autocomplete-option-white-space: nowrap;--evo-autocomplete-optgroup-overflow: hidden;--evo-autocomplete-optgroup-text-overflow: ellipsis;--evo-autocomplete-optgroup-white-space: nowrap;--evo-autocomplete-arrow-icon-color: #212121;--evo-autocomplete-option-v-padding: 12px;--evo-autocomplete-option-h-padding: 16px;--evo-autocomplete-panel-border-radius: 8px;--evo-autocomplete-panel-shadow: 0px 8px 10px rgba(0, 0, 0, .14), 0px 3px 14px rgba(0, 0, 0, .12)}evo-autocomplete .evo-autocomplete{--inner-input-padding-right: 40px;position:relative;display:block}evo-autocomplete .evo-autocomplete ng-select[ng-reflect-clearable=false]{--inner-input-padding-right: 16px}evo-autocomplete .evo-autocomplete__icon{display:block;flex:0 0 24px;width:24px;height:24px}evo-autocomplete .evo-autocomplete__icon_clear{position:absolute;top:12px;right:12px;z-index:1001;cursor:pointer;transition:fill .3s;fill:#91b1b8}evo-autocomplete .evo-autocomplete__icon_clear:hover{fill:#a7c1c6}evo-autocomplete .evo-autocomplete__icon_clear:active{fill:#829fa6}evo-autocomplete .evo-autocomplete__icon_dropdown{fill:#212121}evo-autocomplete .evo-autocomplete .ng-input{padding:0 var(--inner-input-padding-right) 0 16px}evo-autocomplete .evo-autocomplete .ng-placeholder{color:#9b9b9b}evo-autocomplete .evo-autocomplete .ng-value-container{align-items:center;min-width:0;overflow:hidden}evo-autocomplete .evo-autocomplete .ng-value{overflow:hidden;text-overflow:ellipsis}evo-autocomplete .evo-autocomplete .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;position:relative;align-items:center;margin:0;padding:0 12px 0 16px;line-height:var(--evo-input-height)}evo-autocomplete .evo-autocomplete .ng-select-container.ng-has-value .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center;color:#91b1b8;transition:color .3s}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:hover{color:#a7c1c6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:active{color:#829fa6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched{display:block;cursor:pointer}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched svg{display:block;fill:currentColor}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader{display:flex;justify-content:center;align-items:center;width:16px;height:100%;margin:0 0 0 8px;border:none;transform:none;animation:none}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader:before{content:\"\";display:block;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}evo-autocomplete .evo-autocomplete .ng-optgroup{font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer;font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:600}evo-autocomplete .evo-autocomplete .ng-optgroup evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete .ng-option{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer}evo-autocomplete .evo-autocomplete .ng-option evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-option.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-option.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-option.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single:not(.ng-select-focused) .ng-select-container .ng-value-container .ng-value{visibility:visible}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single.ng-select-focused .ng-select-container .ng-value-container .ng-value{visibility:var(--evo-autocomplete-option-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel{z-index:3001;display:block;max-height:var(--evo-dropdown-max-height, 310px);margin:4px 0;background-color:#fff;border-radius:var(--evo-autocomplete-panel-border-radius);box-shadow:var(--evo-autocomplete-panel-shadow);overflow:hidden}evo-autocomplete .evo-autocomplete .ng-dropdown-panel.ng-select-top{bottom:100%}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{overflow:var(--evo-autocomplete-option-overflow);white-space:var(--evo-autocomplete-option-white-space);text-overflow:var(--evo-autocomplete-option-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{overflow:var(--evo-autocomplete-optgroup-overflow);white-space:var(--evo-autocomplete-optgroup-white-space);text-overflow:var(--evo-autocomplete-optgroup-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:16px;background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{background-color:#c6c6c6;border:6px solid #FFFFFF;border-radius:16px}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-button{display:none}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper .ng-arrow{display:block;width:24px;height:24px;background-color:var(--evo-autocomplete-arrow-icon-color);mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 %2F%3E%3C%2Fsvg%3E\");background-position:center;transition:transform .25s}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select.ng-select-opened .ng-arrow{transform:rotate(180deg);transform-origin:center center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused{z-index:11}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-select-container{box-shadow:0 0 2px #91b1b8}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-clearable .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-height: 32px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-font-size: 14px;--evo-input-height: 40px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-value-icon{display:none}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-input{display:none}evo-autocomplete .evo-autocomplete .ng-select.ng-select-focused .ng-select-container,evo-autocomplete .evo-autocomplete .ng-select.ng-select-opened .ng-select-container{border:solid 1px #74706F}evo-autocomplete .evo-autocomplete.evo-autocomplete_touched.evo-autocomplete_invalid .ng-select:not(.ng-select-opened) .ng-select-container{border-color:#ff1817!important}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container .ng-arrow{opacity:.3}evo-autocomplete .evo-autocomplete .ng-input>input[readonly]{-webkit-user-select:auto!important;user-select:auto!important}\n"], components: [{ type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i3.EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], directives: [{ type: i4.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { type: i2.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { type: i2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i2.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { type: i2.NgTypeToSearchTemplateDirective, selector: "[ng-typetosearch-tmp]" }, { type: i2.NgLoadingTextTemplateDirective, selector: "[ng-loadingtext-tmp]" }, { type: i2.NgNotFoundTemplateDirective, selector: "[ng-notfound-tmp]" }, { type: i2.NgFooterTemplateDirective, selector: "[ng-footer-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoAutocompleteComponent, decorators: [{
244
+ type: Component,
245
+ args: [{ selector: 'evo-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"evo-autocomplete\" [evoUiClass]=\"classes\">\n <ng-select\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [markFirst]=\"markFirst\"\n [placeholder]=\"placeholder\"\n [notFoundText]=\"notFoundText\"\n [typeToSearchText]=\"typeToSearchText\"\n [addTagText]=\"addTagText\"\n [loadingText]=\"loadingText\"\n [clearAllText]=\"clearAllText\"\n [dropdownPosition]=\"dropdownPosition\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"hideSelected\"\n [selectOnTab]=\"selectOnTab\"\n [openOnEnter]=\"openOnEnter\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [virtualScroll]=\"virtualScroll\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [searchFn]=\"searchFn\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [typeahead]=\"typeahead\"\n [multiple]=\"multiple || multipleInline\"\n [addTag]=\"addTag\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [isOpen]=\"isOpen\"\n [editableSearchTerm]=\"editQuery\"\n [disabled]=\"control.disabled\"\n [compareWith]=\"compareWith\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scrollEvent.emit($event)\"\n (scrollToEnd)=\"scrollToEndEvent.emit($event)\"\n >\n <!-- Selected Item Template -->\n <ng-template *ngIf=\"labelTemp\" ng-label-tmp let-item=\"item\">\n <ng-template *ngTemplateOutlet=\"labelTemp; context: { item: item }\"></ng-template>\n </ng-template>\n\n <!-- Overall Label For All Selected Items Template -->\n <ng-template *ngIf=\"multiLabelTemp\" ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template *ngTemplateOutlet=\"multiLabelTemp; context: { items: items, clear: clear }\"></ng-template>\n </ng-template>\n\n <!-- Options header template -->\n <ng-template *ngIf=\"headerTemp\" ng-header-tmp>\n <ng-template *ngTemplateOutlet=\"headerTemp; context: {items: items}\"></ng-template>\n </ng-template>\n\n <!-- Option Template -->\n <ng-template\n *ngIf=\"optionTemp\"\n ng-option-tmp\n let-item=\"item\"\n let-index=\"index\"\n let-search=\"searchTerm\"\n let-item$=\"item$\"\n >\n <ng-template\n *ngTemplateOutlet=\"optionTemp; context: { item: item, index: index, searchTerm: search, item$: item$}\"\n ></ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"multipleInline && !multiLabelTemp\">\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <div class=\"ng-value\">{{ getMultipleInlineItemsLabels(items) }}</div>\n </ng-template>\n </ng-container>\n\n <!-- Options group template -->\n <ng-template *ngIf=\"optgroupTemp\" ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\n <ng-template *ngTemplateOutlet=\"optgroupTemp; context: { item: item, index: index }\"></ng-template>\n </ng-template>\n\n <!-- Search Text Templates -->\n <ng-template ng-typetosearch-tmp>\n <div *ngIf=\"typeToSearchText\" class=\"ng-option disabled\">{{typeToSearchText}}</div>\n </ng-template>\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{loadingText}}</div>\n </ng-template>\n\n <ng-container *ngIf=\"notFoundTemp; else defaultNotFoundTemplate\">\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template *ngTemplateOutlet=\"notFoundTemp; context: {searchTerm: searchTerm}\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template #defaultNotFoundTemplate>\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option disabled\">{{notFoundText}}</div>\n </ng-template>\n </ng-template>\n\n <!-- Options footer template -->\n <ng-template *ngIf=\"footerTemp\" ng-footer-tmp>\n <ng-template *ngTemplateOutlet=\"footerTemp; context: {items: items}\"></ng-template>\n </ng-template>\n </ng-select>\n <evo-control-error\n *ngIf=\"hasErrors && errorsMessages\"\n [errors]=\"control.errors\"\n [errorsMessages]=\"errorsMessages\"\n ></evo-control-error>\n</div>\n", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}evo-autocomplete{--evo-dropdown-max-height: 310px;--evo-autocomplete-option-overflow: hidden;--evo-autocomplete-option-text-overflow: ellipsis;--evo-autocomplete-option-white-space: nowrap;--evo-autocomplete-optgroup-overflow: hidden;--evo-autocomplete-optgroup-text-overflow: ellipsis;--evo-autocomplete-optgroup-white-space: nowrap;--evo-autocomplete-arrow-icon-color: #212121;--evo-autocomplete-option-v-padding: 12px;--evo-autocomplete-option-h-padding: 16px;--evo-autocomplete-panel-border-radius: 8px;--evo-autocomplete-panel-shadow: 0px 8px 10px rgba(0, 0, 0, .14), 0px 3px 14px rgba(0, 0, 0, .12)}evo-autocomplete .evo-autocomplete{--inner-input-padding-right: 40px;position:relative;display:block}evo-autocomplete .evo-autocomplete ng-select[ng-reflect-clearable=false]{--inner-input-padding-right: 16px}evo-autocomplete .evo-autocomplete__icon{display:block;flex:0 0 24px;width:24px;height:24px}evo-autocomplete .evo-autocomplete__icon_clear{position:absolute;top:12px;right:12px;z-index:1001;cursor:pointer;transition:fill .3s;fill:#91b1b8}evo-autocomplete .evo-autocomplete__icon_clear:hover{fill:#a7c1c6}evo-autocomplete .evo-autocomplete__icon_clear:active{fill:#829fa6}evo-autocomplete .evo-autocomplete__icon_dropdown{fill:#212121}evo-autocomplete .evo-autocomplete .ng-input{padding:0 var(--inner-input-padding-right) 0 16px}evo-autocomplete .evo-autocomplete .ng-placeholder{color:#9b9b9b}evo-autocomplete .evo-autocomplete .ng-value-container{align-items:center;min-width:0;overflow:hidden}evo-autocomplete .evo-autocomplete .ng-value{overflow:hidden;text-overflow:ellipsis}evo-autocomplete .evo-autocomplete .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;position:relative;align-items:center;margin:0;padding:0 12px 0 16px;line-height:var(--evo-input-height)}evo-autocomplete .evo-autocomplete .ng-select-container.ng-has-value .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center;color:#91b1b8;transition:color .3s}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:hover{color:#a7c1c6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:active{color:#829fa6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched{display:block;cursor:pointer}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched svg{display:block;fill:currentColor}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader{display:flex;justify-content:center;align-items:center;width:16px;height:100%;margin:0 0 0 8px;border:none;transform:none;animation:none}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader:before{content:\"\";display:block;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}evo-autocomplete .evo-autocomplete .ng-optgroup{font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer;font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:600}evo-autocomplete .evo-autocomplete .ng-optgroup evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete .ng-option{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer}evo-autocomplete .evo-autocomplete .ng-option evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-option.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-option.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-option.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single:not(.ng-select-focused) .ng-select-container .ng-value-container .ng-value{visibility:visible}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single.ng-select-focused .ng-select-container .ng-value-container .ng-value{visibility:var(--evo-autocomplete-option-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel{z-index:3001;display:block;max-height:var(--evo-dropdown-max-height, 310px);margin:4px 0;background-color:#fff;border-radius:var(--evo-autocomplete-panel-border-radius);box-shadow:var(--evo-autocomplete-panel-shadow);overflow:hidden}evo-autocomplete .evo-autocomplete .ng-dropdown-panel.ng-select-top{bottom:100%}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{overflow:var(--evo-autocomplete-option-overflow);white-space:var(--evo-autocomplete-option-white-space);text-overflow:var(--evo-autocomplete-option-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{overflow:var(--evo-autocomplete-optgroup-overflow);white-space:var(--evo-autocomplete-optgroup-white-space);text-overflow:var(--evo-autocomplete-optgroup-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:16px;background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{background-color:#c6c6c6;border:6px solid #FFFFFF;border-radius:16px}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-button{display:none}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper .ng-arrow{display:block;width:24px;height:24px;background-color:var(--evo-autocomplete-arrow-icon-color);mask-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 %2F%3E%3C%2Fsvg%3E\");background-position:center;transition:transform .25s}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select.ng-select-opened .ng-arrow{transform:rotate(180deg);transform-origin:center center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused{z-index:11}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-select-container{box-shadow:0 0 2px #91b1b8}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-clearable .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-height: 32px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-font-size: 14px;--evo-input-height: 40px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-value-icon{display:none}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-input{display:none}evo-autocomplete .evo-autocomplete .ng-select.ng-select-focused .ng-select-container,evo-autocomplete .evo-autocomplete .ng-select.ng-select-opened .ng-select-container{border:solid 1px #74706F}evo-autocomplete .evo-autocomplete.evo-autocomplete_touched.evo-autocomplete_invalid .ng-select:not(.ng-select-opened) .ng-select-container{border-color:#ff1817!important}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container .ng-arrow{opacity:.3}evo-autocomplete .evo-autocomplete .ng-input>input[readonly]{-webkit-user-select:auto!important;user-select:auto!important}\n"] }]
246
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NgControl }]; }, propDecorators: { size: [{
247
+ type: Input
248
+ }], isOpen: [{
249
+ type: Input
250
+ }], items: [{
251
+ type: Input
252
+ }], bindLabel: [{
253
+ type: Input
254
+ }], bindValue: [{
255
+ type: Input
256
+ }], markFirst: [{
257
+ type: Input
258
+ }], placeholder: [{
259
+ type: Input
260
+ }], typeToSearchText: [{
261
+ type: Input
262
+ }], addTagText: [{
263
+ type: Input
264
+ }], loadingText: [{
265
+ type: Input
266
+ }], clearAllText: [{
267
+ type: Input
268
+ }], dropdownPosition: [{
269
+ type: Input
270
+ }], appendTo: [{
271
+ type: Input
272
+ }], loading: [{
273
+ type: Input
274
+ }], closeOnSelect: [{
275
+ type: Input
276
+ }], hideSelected: [{
277
+ type: Input
278
+ }], selectOnTab: [{
279
+ type: Input
280
+ }], openOnEnter: [{
281
+ type: Input
282
+ }], maxSelectedItems: [{
283
+ type: Input
284
+ }], groupBy: [{
285
+ type: Input
286
+ }], groupValue: [{
287
+ type: Input
288
+ }], bufferAmount: [{
289
+ type: Input
290
+ }], virtualScroll: [{
291
+ type: Input
292
+ }], selectableGroup: [{
293
+ type: Input
294
+ }], selectableGroupAsModel: [{
295
+ type: Input
296
+ }], searchFn: [{
297
+ type: Input
298
+ }], clearOnBackspace: [{
299
+ type: Input
300
+ }], typeahead: [{
301
+ type: Input
302
+ }], multiple: [{
303
+ type: Input
304
+ }], multipleInline: [{
305
+ type: Input
306
+ }], addTag: [{
307
+ type: Input
308
+ }], clearable: [{
309
+ type: Input
310
+ }], errorsMessages: [{
311
+ type: Input
312
+ }], compareWith: [{
313
+ type: Input
314
+ }], _notFoundText: [{
315
+ type: Input,
316
+ args: ['notFoundText']
317
+ }], editQuery: [{
318
+ type: Input
319
+ }], blurEvent: [{
320
+ type: Output,
321
+ args: ['blur']
322
+ }], focusEvent: [{
323
+ type: Output,
324
+ args: ['focus']
325
+ }], changeEvent: [{
326
+ type: Output,
327
+ args: ['change']
328
+ }], openEvent: [{
329
+ type: Output,
330
+ args: ['open']
331
+ }], closeEvent: [{
332
+ type: Output,
333
+ args: ['close']
334
+ }], searchEvent: [{
335
+ type: Output,
336
+ args: ['search']
337
+ }], clearEvent: [{
338
+ type: Output,
339
+ args: ['clear']
340
+ }], addEvent: [{
341
+ type: Output,
342
+ args: ['add']
343
+ }], removeEvent: [{
344
+ type: Output,
345
+ args: ['remove']
346
+ }], scrollEvent: [{
347
+ type: Output,
348
+ args: ['scroll']
349
+ }], scrollToEndEvent: [{
350
+ type: Output,
351
+ args: ['scrollToEnd']
352
+ }], ngSelectComponent: [{
353
+ type: ViewChild,
354
+ args: [NgSelectComponent]
355
+ }], labelTemp: [{
356
+ type: ContentChild,
357
+ args: ['labelTemp', { read: TemplateRef }]
358
+ }], multiLabelTemp: [{
359
+ type: ContentChild,
360
+ args: ['multiLabelTemp', { read: TemplateRef }]
361
+ }], optionTemp: [{
362
+ type: ContentChild,
363
+ args: ['optionTemp', { read: TemplateRef }]
364
+ }], optgroupTemp: [{
365
+ type: ContentChild,
366
+ args: ['optgroupTemp', { read: TemplateRef }]
367
+ }], headerTemp: [{
368
+ type: ContentChild,
369
+ args: ['headerTemp', { read: TemplateRef }]
370
+ }], footerTemp: [{
371
+ type: ContentChild,
372
+ args: ['footerTemp', { read: TemplateRef }]
373
+ }], notFoundTemp: [{
374
+ type: ContentChild,
375
+ args: ['notFoundTemp', { read: TemplateRef }]
376
+ }], searchable: [{
377
+ type: Input
378
+ }], setSelectbox: [{
379
+ type: Input,
380
+ args: ['isSelectbox']
381
+ }], setTheme: [{
382
+ type: Input,
383
+ args: ['theme']
384
+ }] } });
385
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tYXV0b2NvbXBsZXRlL2NvbXBvbmVudHMvZXZvLWF1dG9jb21wbGV0ZS9ldm8tYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1hdXRvY29tcGxldGUvY29tcG9uZW50cy9ldm8tYXV0b2NvbXBsZXRlL2V2by1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQVM1RCxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQztBQVU1QyxNQUFNLE9BQU8sd0JBQXdCO0lBNEZqQyxZQUE2QixHQUFzQixFQUFTLE9BQWtCO1FBQWpELFFBQUcs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UztzQkFBeEQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQUNPLGNBQWM7c0JBQWxFLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQUNGLFVBQVU7c0JBQTFELFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQztnQkFDSSxZQUFZO3NCQUE5RCxZQUFZO3VCQUFDLGNBQWMsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUM7Z0JBQ0EsVUFBVTtzQkFBMUQsWUFBWTt1QkFBQyxZQUFZLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQUNFLFVBQVU7c0JBQTFELFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQztnQkFDSSxZQUFZO3NCQUE5RCxZQUFZO3VCQUFDLGNBQWMsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUM7Z0JBdUJwQyxVQUFVO3NCQUF0QixLQUFLO2dCQVFvQixZQUFZO3NCQUFyQyxLQUFLO3VCQUFDLGFBQWE7Z0JBTUEsUUFBUTtzQkFBM0IsS0FBSzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHttZXJnZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05nU2VsZWN0Q29tcG9uZW50fSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQge2RlbGF5LCB0YWtlVW50aWwsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpc051bGx9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge0V2b0lucHV0VGhlbWV9IGZyb20gJy4uLy4uLy4uL2V2by1pbnB1dCc7XG5pbXBvcnQge2ljb25EZWNsaW5lfSBmcm9tICdAZXZvdG9yLWRldi91aS1raXQvaWNvbnMvc3lzdGVtJztcbmltcG9ydCB7RXZvQXV0b2NvbXBsZXRlU2l6ZX0gZnJvbSAnLi4vLi4vdHlwZXMvZXZvLWF1dG9jb21wbGV0ZS1zaXplJztcblxuZXhwb3J0IHR5cGUgRHJvcGRvd25Qb3NpdGlvbiA9ICdib3R0b20nIHwgJ3RvcCcgfCAnYXV0byc7XG5leHBvcnQgdHlwZSBBZGRUYWdGbiA9ICh0ZXJtOiBzdHJpbmcpID0+IGFueSB8IFByb21pc2U8YW55PjtcbmV4cG9ydCB0eXBlIFNlYXJjaEZuID0gKHRlcm06IHN0cmluZywgaXRlbTogYW55KSA9PiBib29sZWFuO1xuZXhwb3J0IHR5cGUgQ29tcGFyZVdpdGhGbiA9IChhOiBhbnksIGI6IGFueSkgPT4gYm9vbGVhbjtcbmV4cG9ydCB0eXBlIEdyb3VwVmFsdWVGbiA9IChrZXk6IHN0cmluZyB8IG9iamVjdCwgY2hpbGRyZW46IGFueVtdKSA9PiBzdHJpbmcgfCBvYmplY3Q7XG5cbmNvbnN0IERFRkFVTFRfTk9UX0ZPVU5EX1RFWFQgPSAn0J3QtSDQvdCw0LnQtNC10L3Qvic7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICAgIHNlbGVjdG9yOiAnZXZvLWF1dG9jb21wbGV0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9BdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICB0aGVtZTogRXZvSW5wdXRUaGVtZSA9IEV2b0lucHV0VGhlbWUuZGVmYXVsdDtcblxuICAgIEBJbnB1dCgpIHNpemU6IEV2b0F1dG9jb21wbGV0ZVNpemUgPSAnbm9ybWFsJztcblxuICAgIGlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIGlzU2VsZWN0Ym94ID0gZmFsc2U7XG5cbiAgICAvLyBJbnB1dHNcbiAgICBASW5wdXQoKSBpc09wZW47XG4gICAgQElucHV0KCkgaXRlbXM6IGFueVtdO1xuICAgIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG1hcmtGaXJzdCA9IHRydWU7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSB0eXBlVG9TZWFyY2hUZXh0OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYWRkVGFnVGV4dCA9ICfQlNC+0LHQsNCy0LjRgtGMINGC0Y3Qsyc7XG4gICAgQElucHV0KCkgbG9hZGluZ1RleHQgPSAn0JjQtNC10YIg0L/QvtC40YHQui4uLic7XG4gICAgQElucHV0KCkgY2xlYXJBbGxUZXh0OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZHJvcGRvd25Qb3NpdGlvbjogRHJvcGRvd25Qb3NpdGlvbiA9ICdhdXRvJztcbiAgICBASW5wdXQoKSBhcHBlbmRUbzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XG4gICAgQElucHV0KCkgaGlkZVNlbGVjdGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNlbGVjdE9uVGFiOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG9wZW5PbkVudGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1heFNlbGVjdGVkSXRlbXM6IG51bWJlcjtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBASW5wdXQoKSBncm91cEJ5OiBzdHJpbmcgfCBGdW5jdGlvbjtcbiAgICBASW5wdXQoKSBncm91cFZhbHVlOiBHcm91cFZhbHVlRm47XG4gICAgQElucHV0KCkgYnVmZmVyQW1vdW50ID0gNDtcbiAgICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNlbGVjdGFibGVHcm91cDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzZWxlY3RhYmxlR3JvdXBBc01vZGVsID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzZWFyY2hGbjogU2VhcmNoRm47XG4gICAgQElucHV0KCkgY2xlYXJPbkJhY2tzcGFjZSA9IHRydWU7XG4gICAgQElucHV0KCkgdHlwZWFoZWFkOiBTdWJqZWN0PHN0cmluZz47XG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGVJbmxpbmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWRkVGFnOiBib29sZWFuIHwgQWRkVGFnRm47XG4gICAgQElucHV0KCkgY2xlYXJhYmxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBlcnJvcnNNZXNzYWdlczoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gICAgQElucHV0KCkgY29tcGFyZVdpdGg6IENvbXBhcmVXaXRoRm47XG4gICAgQElucHV0KCdub3RGb3VuZFRleHQnKSBfbm90Rm91bmRUZXh0OiBzdHJpbmc7XG5cbiAgICAvLyBGaXg6IGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1zZWxlY3Qvbmctc2VsZWN0L3B1bGwvMTI1N1xuICAgIC8vIERvbid0IHdvcmsgd2l0aCBjdXN0b20gdGVtcGxhdGUgLSBsYWJlbFRlbXBcbiAgICBASW5wdXQoKSBlZGl0UXVlcnkgPSBmYWxzZTtcblxuICAgIC8vIE91dHB1dHNcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LXJlbmFtZSAqL1xuICAgIEBPdXRwdXQoJ2JsdXInKSBibHVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgnZm9jdXMnKSBmb2N1c0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoJ2NoYW5nZScpIGNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoJ29wZW4nKSBvcGVuRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgnY2xvc2UnKSBjbG9zZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoJ3NlYXJjaCcpIHNlYXJjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx7dGVybTogc3RyaW5nOyBpdGVtczogYW55W119PigpO1xuICAgIEBPdXRwdXQoJ2NsZWFyJykgY2xlYXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCdhZGQnKSBhZGRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCdyZW1vdmUnKSByZW1vdmVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCdzY3JvbGwnKSBzY3JvbGxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8e3N0YXJ0OiBudW1iZXI7IGVuZDogbnVtYmVyfT4oKTtcbiAgICBAT3V0cHV0KCdzY3JvbGxUb0VuZCcpIHNjcm9sbFRvRW5kRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLyogZXNsaW50LWVuYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LXJlbmFtZSAqL1xuXG4gICAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudClcbiAgICBuZ1NlbGVjdENvbXBvbmVudDogTmdTZWxlY3RDb21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXAnLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBsYWJlbFRlbXA6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnbXVsdGlMYWJlbFRlbXAnLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBtdWx0aUxhYmVsVGVtcDogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25UZW1wJywge3JlYWQ6IFRlbXBsYXRlUmVmfSkgb3B0aW9uVGVtcDogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRncm91cFRlbXAnLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBvcHRncm91cFRlbXA6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyVGVtcCcsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pIGhlYWRlclRlbXA6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnZm9vdGVyVGVtcCcsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pIGZvb3RlclRlbXA6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnbm90Rm91bmRUZW1wJywge3JlYWQ6IFRlbXBsYXRlUmVmfSkgbm90Rm91bmRUZW1wOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHJvdGVjdGVkIGlucHV0VmFsOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByb3RlY3RlZCBfdmFsdWU6IGFueTtcblxuICAgIHByb3RlY3RlZCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgcHJvdGVjdGVkIF9zZWFyY2hhYmxlO1xuXG4gICAgZ2V0IG5vdEZvdW5kVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGJveCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX25vdEZvdW5kVGV4dCB8fCAnJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fbm90Rm91bmRUZXh0IHx8IERFRkFVTFRfTk9UX0ZPVU5EX1RFWFQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgY29udHJvbDogTmdDb250cm9sKSB7XG4gICAgICAgIGNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNlYXJjaGFibGUoc2VhcmNoYWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zZWFyY2hhYmxlID0gc2VhcmNoYWJsZTtcbiAgICB9XG5cbiAgICBnZXQgc2VhcmNoYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaGFibGUgPz8gIXRoaXMuaXNTZWxlY3Rib3g7XG4gICAgfVxuXG4gICAgQElucHV0KCdpc1NlbGVjdGJveCcpIHNldCBzZXRTZWxlY3Rib3goaXNTZWxlY3Rib3g6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5jbGVhcmFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lZGl0UXVlcnkgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1NlbGVjdGJveCA9IGlzU2VsZWN0Ym94O1xuICAgIH1cblxuICAgIEBJbnB1dCgndGhlbWUnKSBzZXQgc2V0VGhlbWUodGhlbWU6IHN0cmluZyB8IEV2b0lucHV0VGhlbWUpIHtcbiAgICAgICAgaWYgKEV2b0lucHV0VGhlbWVbdGhlbWVdKSB7XG4gICAgICAgICAgICB0aGlzLnRoZW1lID0gRXZvSW5wdXRUaGVtZVt0aGVtZV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sLmRpcnR5ICYmIHRoaXMuY29udHJvbC50b3VjaGVkICYmIHRoaXMuY29udHJvbC5pbnZhbGlkO1xuICAgIH1cblxuICAgIGdldCBjbGFzc2VzKCk6IHtba2V5OiBzdHJpbmddOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnaXMtbXVsdGlwbGUtaW5saW5lJzogdGhpcy5tdWx0aXBsZUlubGluZSxcbiAgICAgICAgICAgICdpcy1lZGl0LXF1ZXJ5JzogdGhpcy5lZGl0UXVlcnksXG4gICAgICAgICAgICAnaXMtc2VsZWN0Ym94JzogdGhpcy5pc1NlbGVjdGJveCxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmNvbnRyb2wuZGlzYWJsZWQsXG4gICAgICAgICAgICB0b3VjaGVkOiB0aGlzLmNvbnRyb2wudG91Y2hlZCxcbiAgICAgICAgICAgIHZhbGlkOiB0aGlzLmNvbnRyb2wudmFsaWQsXG4gICAgICAgICAgICBpbnZhbGlkOiB0aGlzLmNvbnRyb2wuaW52YWxpZCxcbiAgICAgICAgICAgIFtgdGhlbWUtJHt0aGlzLnRoZW1lfWBdOiB0cnVlLFxuICAgICAgICAgICAgW2BzaXplLSR7dGhpcy5zaXplfWBdOiB0cnVlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldE11bHRpcGxlSW5saW5lSXRlbXNMYWJlbHMoaXRlbXM6IGFueVtdKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFpdGVtcyB8fCAhQXJyYXkuaXNBcnJheShpdGVtcykgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW1zXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtW3RoaXMuYmluZExhYmVsXSB8fCAnJylcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09ICcnKVxuICAgICAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lZGl0UXVlcnkpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdFF1ZXJ5TW9kZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYXRjaENsZWFyQnV0dG9uSWNvbigpO1xuXG4gICAgICAgIC8vIHByZXZlbnQgb3B0aW9uIGNsaWNrIHRvIGNsb3NlIGV2by1tb2RhbFxuICAgICAgICB0aGlzLm5nU2VsZWN0Q29tcG9uZW50LmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgICAgICAgaWYgKChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLm5nLW9wdGlvbicpKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWxsb3dzIHRvIG1hcmsgdmlldyBmb3IgY2hlY2tcbiAgICAgICAgLy8gaWYgY29udHJvbCB3YXMgdmFsaWRhdGVkIHdpdGggRm9ybUhlbHBlci52YWxpZGF0ZVxuICAgICAgICAvLyBhbmQgaXQncyB0b3VjaGVkXG4gICAgICAgIHRoaXMuY29udHJvbC5jb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLm5nU2VsZWN0Q29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0Q29tcG9uZW50LndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmdTZWxlY3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQuc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRPRE86IGludmVzdGlnYXRlIGFuZCByZW1vdmVcbiAgICBlZGl0UXVlcnlNb2RlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZ1NlbGVjdEVsOiBIVE1MRWxlbWVudCA9IHRoaXMubmdTZWxlY3RDb21wb25lbnQuZWxlbWVudDtcbiAgICAgICAgdGhpcy5pbnB1dEVsID0gbmdTZWxlY3RFbC5xdWVyeVNlbGVjdG9yKCcubmctaW5wdXQgaW5wdXQnKTtcbiAgICAgICAgY29uc3Qgc3RyZWFtcyQgPSBbXG4gICAgICAgICAgICB0aGlzLmNoYW5nZUV2ZW50LnBpcGUoXG4gICAgICAgICAgICAgICAgZGVsYXkoMCksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldFNlYXJjaFF1ZXJ5KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbC52YWx1ZSA9IHRoaXMuaW5wdXRWYWwgfHwgJyc7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy5jbG9zZUV2ZW50LnBpcGUoXG4gICAgICAgICAgICAgICAgZGVsYXkoMCksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldFNlYXJjaFF1ZXJ5KCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZ1NlbGVjdEVsLmNsYXNzTGlzdC5jb250YWlucygnbmctc2VsZWN0LWZvY3VzZWQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gdGhpcy5pbnB1dFZhbCB8fCAnJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMuZm9jdXNFdmVudC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzZXRTZWFyY2hRdWVyeSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWwudmFsdWUgPSB0aGlzLmlucHV0VmFsIHx8ICcnO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMuYmx1ckV2ZW50LnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gJyc7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICBdO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzKSB7XG4gICAgICAgICAgICBzdHJlYW1zJC5wdXNoKFxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc051bGwodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldFNlYXJjaFF1ZXJ5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZhbCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgbWVyZ2UoLi4uc3RyZWFtcyQpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHJlc2V0U2VhcmNoUXVlcnkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5zZWxlY3RlZEl0ZW1zWzBdO1xuICAgICAgICB0aGlzLmlucHV0VmFsID0gY3VycmVudEl0ZW0/LmxhYmVsIHx8ICcnO1xuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nU2VsZWN0Q29tcG9uZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgYmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5ibHVyKCk7XG4gICAgfVxuXG4gICAgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5vcGVuKCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNFdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJsdXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkNsZWFyQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQuaGFuZGxlQ2xlYXJDbGljaygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfb25DaGFuZ2UgPSAodmFsdWUpID0+IHt9O1xuXG4gICAgcHJvdGVjdGVkIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKlxuICAgICAqIFRyeSB0byBwYXRjaCBjbGVhciBidXR0b24gaWNvblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwYXRjaENsZWFyQnV0dG9uSWNvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxTaG93Q2xlYXJGbiA9IHRoaXMubmdTZWxlY3RDb21wb25lbnQuc2hvd0NsZWFyO1xuICAgICAgICBjb25zdCBuZ1NlbGVjdEVsZW1lbnQgPSB0aGlzLm5nU2VsZWN0Q29tcG9uZW50O1xuICAgICAgICBsZXQgcGF0Y2hUaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5zaG93Q2xlYXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjb25zdCBpc0NsZWFyQnV0dG9uVmlzaWJsZSA9IG9yaWdpbmFsU2hvd0NsZWFyRm4uYmluZCh0aGlzKSgpO1xuICAgICAgICAgICAgaWYgKGlzQ2xlYXJCdXR0b25WaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhdGNoVGltZW91dCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQocGF0Y2hUaW1lb3V0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGF0Y2hUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5nQ2xlYXJXcmFwcGVyRWxlbWVudCA9IG5nU2VsZWN0RWxlbWVudC5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uZy1jbGVhci13cmFwcGVyJyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbmdDbGVhcldyYXBwZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgICAgICAgICAgICAgICAgICBuZ0NsZWFyV3JhcHBlckVsZW1lbnQuaW5uZXJIVE1MID0gYDxzcGFuIGNsYXNzPVwibmctY2xlYXIgbmctY2xlYXJfcGF0Y2hlZFwiPjxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPiR7aWNvbkRlY2xpbmV9PC9zdmc+PC9zcGFuPmA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXNDbGVhckJ1dHRvblZpc2libGU7XG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImV2by1hdXRvY29tcGxldGVcIiBbZXZvVWlDbGFzc109XCJjbGFzc2VzXCI+XG4gICAgPG5nLXNlbGVjdFxuICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgICAgICBbYmluZExhYmVsXT1cImJpbmRMYWJlbFwiXG4gICAgICAgIFtiaW5kVmFsdWVdPVwiYmluZFZhbHVlXCJcbiAgICAgICAgW21hcmtGaXJzdF09XCJtYXJrRmlyc3RcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbbm90Rm91bmRUZXh0XT1cIm5vdEZvdW5kVGV4dFwiXG4gICAgICAgIFt0eXBlVG9TZWFyY2hUZXh0XT1cInR5cGVUb1NlYXJjaFRleHRcIlxuICAgICAgICBbYWRkVGFnVGV4dF09XCJhZGRUYWdUZXh0XCJcbiAgICAgICAgW2xvYWRpbmdUZXh0XT1cImxvYWRpbmdUZXh0XCJcbiAgICAgICAgW2NsZWFyQWxsVGV4dF09XCJjbGVhckFsbFRleHRcIlxuICAgICAgICBbZHJvcGRvd25Qb3NpdGlvbl09XCJkcm9wZG93blBvc2l0aW9uXCJcbiAgICAgICAgW2FwcGVuZFRvXT1cImFwcGVuZFRvXCJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxuICAgICAgICBbaGlkZVNlbGVjdGVkXT1cImhpZGVTZWxlY3RlZFwiXG4gICAgICAgIFtzZWxlY3RPblRhYl09XCJzZWxlY3RPblRhYlwiXG4gICAgICAgIFtvcGVuT25FbnRlcl09XCJvcGVuT25FbnRlclwiXG4gICAgICAgIFttYXhTZWxlY3RlZEl0ZW1zXT1cIm1heFNlbGVjdGVkSXRlbXNcIlxuICAgICAgICBbZ3JvdXBCeV09XCJncm91cEJ5XCJcbiAgICAgICAgW2dyb3VwVmFsdWVdPVwiZ3JvdXBWYWx1ZVwiXG4gICAgICAgIFtidWZmZXJBbW91bnRdPVwiYnVmZmVyQW1vdW50XCJcbiAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidmlydHVhbFNjcm9sbFwiXG4gICAgICAgIFtzZWxlY3RhYmxlR3JvdXBdPVwic2VsZWN0YWJsZUdyb3VwXCJcbiAgICAgICAgW3NlbGVjdGFibGVHcm91cEFzTW9kZWxdPVwic2VsZWN0YWJsZUdyb3VwQXNNb2RlbFwiXG4gICAgICAgIFtzZWFyY2hGbl09XCJzZWFyY2hGblwiXG4gICAgICAgIFtjbGVhck9uQmFja3NwYWNlXT1cImNsZWFyT25CYWNrc3BhY2VcIlxuICAgICAgICBbdHlwZWFoZWFkXT1cInR5cGVhaGVhZFwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZSB8fCBtdWx0aXBsZUlubGluZVwiXG4gICAgICAgIFthZGRUYWddPVwiYWRkVGFnXCJcbiAgICAgICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXG4gICAgICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICAgICAgW2lzT3Blbl09XCJpc09wZW5cIlxuICAgICAgICBbZWRpdGFibGVTZWFyY2hUZXJtXT1cImVkaXRRdWVyeVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sLmRpc2FibGVkXCJcbiAgICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVXaXRoXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKG9wZW4pPVwib3BlbkV2ZW50LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChjbG9zZSk9XCJjbG9zZUV2ZW50LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChzZWFyY2gpPVwic2VhcmNoRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGNsZWFyKT1cImNsZWFyRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGFkZCk9XCJhZGRFdmVudC5lbWl0KCRldmVudClcIlxuICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUV2ZW50LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChzY3JvbGwpPVwic2Nyb2xsRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKHNjcm9sbFRvRW5kKT1cInNjcm9sbFRvRW5kRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDwhLS0gU2VsZWN0ZWQgSXRlbSBUZW1wbGF0ZSAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibGFiZWxUZW1wXCIgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxUZW1wOyBjb250ZXh0OiB7IGl0ZW06IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPCEtLSBPdmVyYWxsIExhYmVsIEZvciBBbGwgU2VsZWN0ZWQgSXRlbXMgVGVtcGxhdGUgLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm11bHRpTGFiZWxUZW1wXCIgbmctbXVsdGktbGFiZWwtdG1wIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm11bHRpTGFiZWxUZW1wOyBjb250ZXh0OiB7IGl0ZW1zOiBpdGVtcywgY2xlYXI6IGNsZWFyIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDwhLS0gT3B0aW9ucyBoZWFkZXIgdGVtcGxhdGUgLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImhlYWRlclRlbXBcIiBuZy1oZWFkZXItdG1wPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcDsgY29udGV4dDoge2l0ZW1zOiBpdGVtc31cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDwhLS0gT3B0aW9uIFRlbXBsYXRlIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICpuZ0lmPVwib3B0aW9uVGVtcFwiXG4gICAgICAgICAgICBuZy1vcHRpb24tdG1wXG4gICAgICAgICAgICBsZXQtaXRlbT1cIml0ZW1cIlxuICAgICAgICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIlxuICAgICAgICAgICAgbGV0LXNlYXJjaD1cInNlYXJjaFRlcm1cIlxuICAgICAgICAgICAgbGV0LWl0ZW0kPVwiaXRlbSRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvblRlbXA7IGNvbnRleHQ6IHsgaXRlbTogaXRlbSwgaW5kZXg6IGluZGV4LCBzZWFyY2hUZXJtOiBzZWFyY2gsIGl0ZW0kOiBpdGVtJH1cIlxuICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlSW5saW5lICYmICFtdWx0aUxhYmVsVGVtcFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW11bHRpLWxhYmVsLXRtcCBsZXQtaXRlbXM9XCJpdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZy12YWx1ZVwiPnt7IGdldE11bHRpcGxlSW5saW5lSXRlbXNMYWJlbHMoaXRlbXMpIH19PC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIE9wdGlvbnMgZ3JvdXAgdGVtcGxhdGUgLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGdyb3VwVGVtcFwiIG5nLW9wdGdyb3VwLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwib3B0Z3JvdXBUZW1wOyBjb250ZXh0OiB7IGl0ZW06IGl0ZW0sIGluZGV4OiBpbmRleCB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8IS0tIFNlYXJjaCBUZXh0IFRlbXBsYXRlcyAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLXR5cGV0b3NlYXJjaC10bXA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHlwZVRvU2VhcmNoVGV4dFwiIGNsYXNzPVwibmctb3B0aW9uIGRpc2FibGVkXCI+e3t0eXBlVG9TZWFyY2hUZXh0fX08L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLWxvYWRpbmd0ZXh0LXRtcCBsZXQtc2VhcmNoVGVybT1cInNlYXJjaFRlcm1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZy1vcHRpb24gZGlzYWJsZWRcIj57e2xvYWRpbmdUZXh0fX08L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm90Rm91bmRUZW1wOyBlbHNlIGRlZmF1bHROb3RGb3VuZFRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctbm90Zm91bmQtdG1wIGxldC1zZWFyY2hUZXJtPVwic2VhcmNoVGVybVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm5vdEZvdW5kVGVtcDsgY29udGV4dDoge3NlYXJjaFRlcm06IHNlYXJjaFRlcm19XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHROb3RGb3VuZFRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW5vdGZvdW5kLXRtcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctb3B0aW9uIGRpc2FibGVkXCI+e3tub3RGb3VuZFRleHR9fTwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8IS0tIE9wdGlvbnMgZm9vdGVyIHRlbXBsYXRlIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJmb290ZXJUZW1wXCIgbmctZm9vdGVyLXRtcD5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXA7IGNvbnRleHQ6IHtpdGVtczogaXRlbXN9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXNlbGVjdD5cbiAgICA8ZXZvLWNvbnRyb2wtZXJyb3JcbiAgICAgICAgKm5nSWY9XCJoYXNFcnJvcnMgJiYgZXJyb3JzTWVzc2FnZXNcIlxuICAgICAgICBbZXJyb3JzXT1cImNvbnRyb2wuZXJyb3JzXCJcbiAgICAgICAgW2Vycm9yc01lc3NhZ2VzXT1cImVycm9yc01lc3NhZ2VzXCJcbiAgICA+PC9ldm8tY29udHJvbC1lcnJvcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,43 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../evo-checkbox/evo-checkbox.component";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ export class EvoAutocompleteDefaultOptionComponent {
7
+ constructor(cdr) {
8
+ this.cdr = cdr;
9
+ }
10
+ get hasCheckboxClass() {
11
+ return this.hasCheckbox;
12
+ }
13
+ onSelectedChange(e) {
14
+ this.cdr.markForCheck();
15
+ }
16
+ onCheckboxClick(e) {
17
+ e.preventDefault();
18
+ e.stopImmediatePropagation();
19
+ if (e.target) {
20
+ e.target.closest('.ng-option')?.dispatchEvent(new Event('click'));
21
+ }
22
+ }
23
+ }
24
+ EvoAutocompleteDefaultOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoAutocompleteDefaultOptionComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
25
+ EvoAutocompleteDefaultOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoAutocompleteDefaultOptionComponent, selector: "evo-autocomplete-default-option", inputs: { hasCheckbox: "hasCheckbox", label: "label", description: "description", isDisabled: "isDisabled", isSelected: "isSelected" }, host: { properties: { "class.has-checkbox": "this.hasCheckboxClass" } }, ngImport: i0, template: "<div class=\"option option_has-checkbox\" *ngIf=\"hasCheckbox\">\n <evo-checkbox\n [ngModel]=\"isSelected\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"isDisabled\"\n (click)=\"onCheckboxClick($event)\"\n (change)=\"onCheckboxClick($event)\"\n (ngModelChange)=\"onSelectedChange($event)\"\n >{{ label }}</evo-checkbox>\n <ng-container *ngIf=\"description\">\n <div class=\"option__description\">{{ description }}</div>\n </ng-container>\n</div>\n<div class=\"option\" *ngIf=\"!hasCheckbox\">\n <div class=\"option__label\">{{ label }}</div>\n <ng-container *ngIf=\"description\">\n <div class=\"option__description\">{{ description }}</div>\n </ng-container>\n</div>\n", styles: [":host{display:block;color:inherit;white-space:var(--evo-autocomplete-option-white-space, nowrap);--evo-autocomplete-default-option-text-color: #212121;--evo-autocomplete-default-option-description-color: #9B9B9B;--evo-autocomplete-default-option-background: #FFFFFF}.option{position:relative;z-index:1;color:var(--evo-autocomplete-default-option-text-color);background:var(--evo-autocomplete-default-option-background)}.option__label{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;display:block;margin-bottom:0;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-text-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option__description{font-family:var(--evo-font);font-style:normal;font-size:12px;line-height:18px;font-weight:400;display:block;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-description-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option evo-checkbox{color:var(--evo-autocomplete-default-option-text-color)}.option evo-checkbox+.option evo-checkbox__description{padding-left:32px}\n"], components: [{ type: i1.EvoCheckboxComponent, selector: "evo-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoAutocompleteDefaultOptionComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'evo-autocomplete-default-option', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"option option_has-checkbox\" *ngIf=\"hasCheckbox\">\n <evo-checkbox\n [ngModel]=\"isSelected\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"isDisabled\"\n (click)=\"onCheckboxClick($event)\"\n (change)=\"onCheckboxClick($event)\"\n (ngModelChange)=\"onSelectedChange($event)\"\n >{{ label }}</evo-checkbox>\n <ng-container *ngIf=\"description\">\n <div class=\"option__description\">{{ description }}</div>\n </ng-container>\n</div>\n<div class=\"option\" *ngIf=\"!hasCheckbox\">\n <div class=\"option__label\">{{ label }}</div>\n <ng-container *ngIf=\"description\">\n <div class=\"option__description\">{{ description }}</div>\n </ng-container>\n</div>\n", styles: [":host{display:block;color:inherit;white-space:var(--evo-autocomplete-option-white-space, nowrap);--evo-autocomplete-default-option-text-color: #212121;--evo-autocomplete-default-option-description-color: #9B9B9B;--evo-autocomplete-default-option-background: #FFFFFF}.option{position:relative;z-index:1;color:var(--evo-autocomplete-default-option-text-color);background:var(--evo-autocomplete-default-option-background)}.option__label{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;display:block;margin-bottom:0;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-text-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option__description{font-family:var(--evo-font);font-style:normal;font-size:12px;line-height:18px;font-weight:400;display:block;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-description-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option evo-checkbox{color:var(--evo-autocomplete-default-option-text-color)}.option evo-checkbox+.option evo-checkbox__description{padding-left:32px}\n"] }]
29
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { hasCheckbox: [{
30
+ type: Input
31
+ }], label: [{
32
+ type: Input
33
+ }], description: [{
34
+ type: Input
35
+ }], isDisabled: [{
36
+ type: Input
37
+ }], isSelected: [{
38
+ type: Input
39
+ }], hasCheckboxClass: [{
40
+ type: HostBinding,
41
+ args: ['class.has-checkbox']
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWF1dG9jb21wbGV0ZS1kZWZhdWx0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tYXV0b2NvbXBsZXRlL2NvbXBvbmVudHMvZXZvLWF1dG9jb21wbGV0ZS1kZWZhdWx0LW9wdGlvbi9ldm8tYXV0b2NvbXBsZXRlLWRlZmF1bHQtb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1hdXRvY29tcGxldGUvY29tcG9uZW50cy9ldm8tYXV0b2NvbXBsZXRlLWRlZmF1bHQtb3B0aW9uL2V2by1hdXRvY29tcGxldGUtZGVmYXVsdC1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRMUcsTUFBTSxPQUFPLHFDQUFxQztJQVk5QyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUMxQyxDQUFDO0lBTEQsSUFBdUMsZ0JBQWdCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBS0QsZ0JBQWdCLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUFRO1FBQ3BCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDVCxDQUFDLENBQUMsTUFBc0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDdEY7SUFDTCxDQUFDOztrSUF6QlEscUNBQXFDO3NIQUFyQyxxQ0FBcUMsd1JDUmxELHd2QkFtQkE7MkZEWGEscUNBQXFDO2tCQU5qRCxTQUFTOytCQUNJLGlDQUFpQyxtQkFHMUIsdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRWlDLGdCQUFnQjtzQkFBdEQsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLWF1dG9jb21wbGV0ZS1kZWZhdWx0LW9wdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1hdXRvY29tcGxldGUtZGVmYXVsdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1hdXRvY29tcGxldGUtZGVmYXVsdC1vcHRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRXZvQXV0b2NvbXBsZXRlRGVmYXVsdE9wdGlvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgaGFzQ2hlY2tib3g6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc1NlbGVjdGVkOiBib29sZWFuO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtY2hlY2tib3gnKSBnZXQgaGFzQ2hlY2tib3hDbGFzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2hlY2tib3g7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgb25TZWxlY3RlZENoYW5nZShlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uQ2hlY2tib3hDbGljayhlOiBFdmVudCk6IHZvaWQge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmIChlLnRhcmdldCkge1xuICAgICAgICAgICAgKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcubmctb3B0aW9uJyk/LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjbGljaycpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvcHRpb24gb3B0aW9uX2hhcy1jaGVja2JveFwiICpuZ0lmPVwiaGFzQ2hlY2tib3hcIj5cbiAgICA8ZXZvLWNoZWNrYm94XG4gICAgICAgIFtuZ01vZGVsXT1cImlzU2VsZWN0ZWRcIlxuICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwib25DaGVja2JveENsaWNrKCRldmVudClcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uQ2hlY2tib3hDbGljaygkZXZlbnQpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3RlZENoYW5nZSgkZXZlbnQpXCJcbiAgICA+e3sgbGFiZWwgfX08L2V2by1jaGVja2JveD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbl9fZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwib3B0aW9uXCIgKm5nSWY9XCIhaGFzQ2hlY2tib3hcIj5cbiAgICA8ZGl2IGNsYXNzPVwib3B0aW9uX19sYWJlbFwiPnt7IGxhYmVsIH19PC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25fX2Rlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,11 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class EvoAutocompleteFooterComponent {
4
+ }
5
+ EvoAutocompleteFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoAutocompleteFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ EvoAutocompleteFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoAutocompleteFooterComponent, selector: "evo-autocomplete-footer", ngImport: i0, template: "<div class=\"evo-autocomplete-footer\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{--evo-autocomplete-footer-border: solid 1px #C6C6C6;--evo-autocomplete-footer-v-padding: var(--evo-autocomplete-option-h-padding);--evo-autocomplete-footer-h-padding: var(--evo-autocomplete-option-h-padding)}.evo-autocomplete-footer{display:flex;flex-direction:column;padding:var(--evo-autocomplete-footer-v-padding) var(--evo-autocomplete-footer-h-padding);border-top:var(--evo-autocomplete-footer-border);border-radius:0 0 var(--evo-autocomplete-panel-border-radius) var(--evo-autocomplete-panel-border-radius)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoAutocompleteFooterComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'evo-autocomplete-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"evo-autocomplete-footer\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{--evo-autocomplete-footer-border: solid 1px #C6C6C6;--evo-autocomplete-footer-v-padding: var(--evo-autocomplete-option-h-padding);--evo-autocomplete-footer-h-padding: var(--evo-autocomplete-option-h-padding)}.evo-autocomplete-footer{display:flex;flex-direction:column;padding:var(--evo-autocomplete-footer-v-padding) var(--evo-autocomplete-footer-h-padding);border-top:var(--evo-autocomplete-footer-border);border-radius:0 0 var(--evo-autocomplete-panel-border-radius) var(--evo-autocomplete-panel-border-radius)}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWF1dG9jb21wbGV0ZS1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWF1dG9jb21wbGV0ZS9jb21wb25lbnRzL2V2by1hdXRvY29tcGxldGUtZm9vdGVyL2V2by1hdXRvY29tcGxldGUtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1hdXRvY29tcGxldGUvY29tcG9uZW50cy9ldm8tYXV0b2NvbXBsZXRlLWZvb3Rlci9ldm8tYXV0b2NvbXBsZXRlLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVFqRSxNQUFNLE9BQU8sOEJBQThCOzsySEFBOUIsOEJBQThCOytHQUE5Qiw4QkFBOEIsK0RDUjNDLGtGQUdBOzJGREthLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V2by1hdXRvY29tcGxldGUtZm9vdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLWF1dG9jb21wbGV0ZS1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1hdXRvY29tcGxldGUtZm9vdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEV2b0F1dG9jb21wbGV0ZUZvb3RlckNvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cImV2by1hdXRvY29tcGxldGUtZm9vdGVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=