@evotor-dev/ui-kit 8.5.1 → 8.6.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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, forwardRef, Inject, Input, Optional, output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { COMPOSITION_BUFFER_MODE, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
3
|
import { EvoControlStates } from '../../common/evo-control-state-manager/evo-control-states.enum';
|
|
4
4
|
import { EvoBaseControl } from '../../common/evo-base-control';
|
|
@@ -37,8 +37,8 @@ export class EvoInputComponent extends EvoBaseControl {
|
|
|
37
37
|
this.unmask = false;
|
|
38
38
|
this.clearable = false;
|
|
39
39
|
this.maskValidation = false;
|
|
40
|
-
|
|
41
|
-
this.
|
|
40
|
+
this.blur = output();
|
|
41
|
+
this.onFocus = output();
|
|
42
42
|
this.size = EvoInputSizes.normal;
|
|
43
43
|
this.theme = EvoInputTheme.default;
|
|
44
44
|
this.customTooltipChecked = false;
|
|
@@ -219,15 +219,18 @@ export class EvoInputComponent extends EvoBaseControl {
|
|
|
219
219
|
focus() {
|
|
220
220
|
this.inputElement.nativeElement.focus();
|
|
221
221
|
}
|
|
222
|
-
|
|
223
|
-
if (
|
|
224
|
-
|
|
222
|
+
onInputFocus(event) {
|
|
223
|
+
if (this.uiStates.isFocused) {
|
|
224
|
+
return;
|
|
225
225
|
}
|
|
226
|
+
this.uiStates.isFocused = true;
|
|
227
|
+
this.onTouched();
|
|
228
|
+
this.onFocus.emit(event);
|
|
226
229
|
}
|
|
227
|
-
|
|
230
|
+
onInputBlur(event) {
|
|
228
231
|
this.uiStates.isFocused = false;
|
|
229
232
|
this.onTouched();
|
|
230
|
-
this.blur.emit();
|
|
233
|
+
this.blur.emit(event);
|
|
231
234
|
}
|
|
232
235
|
// eslint-disable-next-line
|
|
233
236
|
onTooltipClick(event) {
|
|
@@ -291,7 +294,7 @@ export class EvoInputComponent extends EvoBaseControl {
|
|
|
291
294
|
return null;
|
|
292
295
|
}
|
|
293
296
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoInputComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: COMPOSITION_BUFFER_MODE, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
294
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoInputComponent, isStandalone: true, selector: "evo-input", inputs: { autoFocus: "autoFocus", dataCp: ["data-cp", "dataCp"], icon: "icon", mask: "mask", placeholder: "placeholder", tooltip: "tooltip", type: "type", disabled: "disabled", loading: "loading", prefix: "prefix", autocomplete: "autocomplete", inputDebounce: "inputDebounce", unmask: "unmask", clearable: "clearable", maskValidation: "maskValidation", setValue: ["value", "setValue"], setSize: ["size", "setSize"], setTheme: ["theme", "setTheme"] }, outputs: { blur: "blur" }, providers: [
|
|
297
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoInputComponent, isStandalone: true, selector: "evo-input", inputs: { autoFocus: "autoFocus", dataCp: ["data-cp", "dataCp"], icon: "icon", mask: "mask", placeholder: "placeholder", tooltip: "tooltip", type: "type", disabled: "disabled", loading: "loading", prefix: "prefix", autocomplete: "autocomplete", inputDebounce: "inputDebounce", unmask: "unmask", clearable: "clearable", maskValidation: "maskValidation", setValue: ["value", "setValue"], setSize: ["size", "setSize"], setTheme: ["theme", "setTheme"] }, outputs: { blur: "blur", onFocus: "onFocus" }, providers: [
|
|
295
298
|
{
|
|
296
299
|
provide: NG_VALUE_ACCESSOR,
|
|
297
300
|
useExisting: forwardRef(() => EvoInputComponent),
|
|
@@ -302,7 +305,7 @@ export class EvoInputComponent extends EvoBaseControl {
|
|
|
302
305
|
useExisting: forwardRef(() => EvoInputComponent),
|
|
303
306
|
multi: true,
|
|
304
307
|
},
|
|
305
|
-
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "tooltipElement", first: true, predicate: ["tooltipContainer"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\" />\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\" />\n </div>\n\n @if (prefix) {\n <span class=\"evo-input__prefix\" [evoUiClass]=\"{focused: (!isDisabled && !!value) || uiStates.isFocused}\">\n {{ prefix }}\n </span>\n }\n\n <input\n #input\n type=\"{{ type }}\"\n placeholder=\"{{ placeholder }}\"\n class=\"evo-input__field\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n (focus)=\"
|
|
308
|
+
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "tooltipElement", first: true, predicate: ["tooltipContainer"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\" />\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\" />\n </div>\n\n @if (prefix) {\n <span class=\"evo-input__prefix\" [evoUiClass]=\"{focused: (!isDisabled && !!value) || uiStates.isFocused}\">\n {{ prefix }}\n </span>\n }\n\n <input\n #input\n type=\"{{ type }}\"\n placeholder=\"{{ placeholder }}\"\n class=\"evo-input__field\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (compositionstart)=\"_compositionStart()\"\n (compositionend)=\"_compositionEnd($event.target.value)\"\n />\n\n @if (loading) {\n <div class=\"evo-input__loading-spinner\"></div>\n } @else {\n @if (isClearable) {\n <div class=\"evo-input__clearable\" (click)=\"onClear()\">\n <evo-icon shape=\"decline\" class=\"evo-input__icon-clear\" />\n </div>\n }\n @if (hasAdditional) {\n <div class=\"evo-input__additional\">\n @if (tooltip || uiStates.hasCustomTooltip) {\n <evo-icon\n shape=\"help\"\n class=\"evo-input__tooltip\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n (click)=\"onTooltipClick($event)\"\n />\n }\n @if (icon) {\n <div class=\"evo-input__icon\">\n <img [attr.src]=\"icon\" />\n </div>\n }\n </div>\n }\n }\n\n @if (!customTooltipChecked || uiStates.isTooltipVisible) {\n <div\n #tooltipContainer\n [hidden]=\"!customTooltipChecked\"\n [ngClass]=\"{'evo-input__tooltip-container': tooltip}\"\n (click)=\"onTooltipClick($event)\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n >\n {{ tooltip }}\n <ng-content select=\"[tooltip]\" />\n </div>\n }\n</label>\n\n@if (showErrors) {\n <evo-control-error [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\" />\n}\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%}}:host{display:inline-block;--evo-input-prefix-content-margin: 0 12px}.evo-input{--evo-input-padding-left: 16px;--evo-input-padding-right: 8px;position:relative;cursor:text}.evo-input_focused{border:solid 1px #74706F}.evo-input_disabled{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}.evo-input_invalid{border-color:#ff1817!important}.evo-input_theme-default{--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-input_theme-default.evo-input_size-small{--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-input_theme-default.evo-input_size-small .evo-input__field{--evo-input-padding-left: 8px;--evo-input-padding-right: 8px}.evo-input_theme-default.evo-input_size-small .evo-input__field:not(:last-child){--evo-input-padding-right: 0}.evo-input_theme-rounded{--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-input_theme-rounded.evo-input_size-small{--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-input_theme-rounded.evo-input_size-small .evo-input__field:last-child{--evo-input-padding-right: 16px}.evo-input_size-small{height:32px}.evo-input_size-small .evo-input__tooltip,.evo-input_size-small .evo-input__loading-spinner{flex:0 0 16px;width:16px;height:16px;margin:0 10px}.evo-input_size-small .evo-input__icon{margin-right:10px}.evo-input_size-small .evo-input__icon img{max-height:16px}.evo-input_size-small .evo-input__tooltip-container{top:100%}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(100% - 28px)}@media (min-width: 1200px){.evo-input_size-small .evo-input__tooltip-container{top:calc(100% + 4px)}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(50% - 6px)}}.evo-input_size-small .evo-input__prefix-icon{width:16px;height:16px}.evo-input_size-small .evo-input__prefix-icon:empty{display:none}.evo-input_size-small .evo-input__icon-clear{width:16px;height:16px}.evo-input__prefix-icon{display:flex;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:12px;fill:#91b1b8}.evo-input__prefix-icon:empty{display:none}.evo-input__prefix-content{display:inline-flex;flex-shrink:0;justify-content:center;align-items:center;margin:var(--evo-input-prefix-content-margin)}.evo-input__prefix-content:empty{display:none}.evo-input__prefix-content:not(:empty)~.evo-input__field{--evo-input-padding-left: 0}.evo-input__field{width:100%;height:100%;margin:0;padding:0 var(--evo-input-padding-right) 0 var(--evo-input-padding-left);color:inherit;font-weight:inherit;font-size:inherit;border:none;border-radius:inherit;outline:none}.evo-input__field::-webkit-input-placeholder{color:#9b9b9b}.evo-input__field::-moz-placeholder{color:#9b9b9b;opacity:1}.evo-input__field:-ms-input-placeholder{color:#9b9b9b}.evo-input__field:disabled{color:#b0b0b0;background-color:#f9fafb!important}.evo-input__field:not(:last-child){--evo-input-padding-right: 0}.evo-input__prefix{padding-left:20px;font-size:16px;transition:color .2s}.evo-input__prefix_focused{color:#000}.evo-input__prefix:not(:empty)~.evo-input__field{--evo-input-padding-left: 0}.evo-input__tooltip,.evo-input__icon-clear{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon{margin:0 20px 0 10px}.evo-input__icon img{display:block;width:100%;max-width:60px;height:auto;max-height:22px}.evo-input__tooltip-container{position:absolute;top:calc(100% - 2px);left:0;z-index:1;display:flex;width:100%;padding:10px 10px 10px 20px;color:#212121;line-height:normal;white-space:normal;background-color:#fff8e6;border-radius:4px;box-shadow:0 4px 12px #0003;cursor:default}.evo-input__tooltip-container[hidden]{display:none!important}.evo-input__tooltip-container:before{position:absolute;top:-20px;left:calc(100% - 34px);border:10px solid transparent;border-bottom-color:#fff8e6;pointer-events:none;content:\"\"}@media (min-width: 1200px){.evo-input__tooltip-container{left:calc(50% - 22px)}.evo-input__tooltip-container:before{left:calc(50% - 12px)}}.evo-input__clearable{display:flex;justify-content:center;align-items:center}.evo-input__clearable+.evo-input__additional{margin-left:-10px}.evo-input__additional{display:flex;justify-content:center;align-items:center}.evo-input__additional:not(:last-child) .evo-input__icon{margin-right:10px}.evo-input__additional+.evo-input__loading-spinner{margin-left:0}.evo-input__loading-spinner{margin:0 20px;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}\n"], dependencies: [{ kind: "directive", type: EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "component", type: EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }] }); }
|
|
306
309
|
}
|
|
307
310
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoInputComponent, decorators: [{
|
|
308
311
|
type: Component,
|
|
@@ -317,7 +320,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
317
320
|
useExisting: forwardRef(() => EvoInputComponent),
|
|
318
321
|
multi: true,
|
|
319
322
|
},
|
|
320
|
-
], standalone: true, imports: [EvoUiClassDirective, EvoIconComponent, NgClass, EvoControlErrorComponent], template: "<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\" />\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\" />\n </div>\n\n @if (prefix) {\n <span class=\"evo-input__prefix\" [evoUiClass]=\"{focused: (!isDisabled && !!value) || uiStates.isFocused}\">\n {{ prefix }}\n </span>\n }\n\n <input\n #input\n type=\"{{ type }}\"\n placeholder=\"{{ placeholder }}\"\n class=\"evo-input__field\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n (focus)=\"
|
|
323
|
+
], standalone: true, imports: [EvoUiClassDirective, EvoIconComponent, NgClass, EvoControlErrorComponent], template: "<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\" />\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\" />\n </div>\n\n @if (prefix) {\n <span class=\"evo-input__prefix\" [evoUiClass]=\"{focused: (!isDisabled && !!value) || uiStates.isFocused}\">\n {{ prefix }}\n </span>\n }\n\n <input\n #input\n type=\"{{ type }}\"\n placeholder=\"{{ placeholder }}\"\n class=\"evo-input__field\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (compositionstart)=\"_compositionStart()\"\n (compositionend)=\"_compositionEnd($event.target.value)\"\n />\n\n @if (loading) {\n <div class=\"evo-input__loading-spinner\"></div>\n } @else {\n @if (isClearable) {\n <div class=\"evo-input__clearable\" (click)=\"onClear()\">\n <evo-icon shape=\"decline\" class=\"evo-input__icon-clear\" />\n </div>\n }\n @if (hasAdditional) {\n <div class=\"evo-input__additional\">\n @if (tooltip || uiStates.hasCustomTooltip) {\n <evo-icon\n shape=\"help\"\n class=\"evo-input__tooltip\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n (click)=\"onTooltipClick($event)\"\n />\n }\n @if (icon) {\n <div class=\"evo-input__icon\">\n <img [attr.src]=\"icon\" />\n </div>\n }\n </div>\n }\n }\n\n @if (!customTooltipChecked || uiStates.isTooltipVisible) {\n <div\n #tooltipContainer\n [hidden]=\"!customTooltipChecked\"\n [ngClass]=\"{'evo-input__tooltip-container': tooltip}\"\n (click)=\"onTooltipClick($event)\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n >\n {{ tooltip }}\n <ng-content select=\"[tooltip]\" />\n </div>\n }\n</label>\n\n@if (showErrors) {\n <evo-control-error [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\" />\n}\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%}}:host{display:inline-block;--evo-input-prefix-content-margin: 0 12px}.evo-input{--evo-input-padding-left: 16px;--evo-input-padding-right: 8px;position:relative;cursor:text}.evo-input_focused{border:solid 1px #74706F}.evo-input_disabled{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}.evo-input_invalid{border-color:#ff1817!important}.evo-input_theme-default{--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-input_theme-default.evo-input_size-small{--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-input_theme-default.evo-input_size-small .evo-input__field{--evo-input-padding-left: 8px;--evo-input-padding-right: 8px}.evo-input_theme-default.evo-input_size-small .evo-input__field:not(:last-child){--evo-input-padding-right: 0}.evo-input_theme-rounded{--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-input_theme-rounded.evo-input_size-small{--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-input_theme-rounded.evo-input_size-small .evo-input__field:last-child{--evo-input-padding-right: 16px}.evo-input_size-small{height:32px}.evo-input_size-small .evo-input__tooltip,.evo-input_size-small .evo-input__loading-spinner{flex:0 0 16px;width:16px;height:16px;margin:0 10px}.evo-input_size-small .evo-input__icon{margin-right:10px}.evo-input_size-small .evo-input__icon img{max-height:16px}.evo-input_size-small .evo-input__tooltip-container{top:100%}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(100% - 28px)}@media (min-width: 1200px){.evo-input_size-small .evo-input__tooltip-container{top:calc(100% + 4px)}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(50% - 6px)}}.evo-input_size-small .evo-input__prefix-icon{width:16px;height:16px}.evo-input_size-small .evo-input__prefix-icon:empty{display:none}.evo-input_size-small .evo-input__icon-clear{width:16px;height:16px}.evo-input__prefix-icon{display:flex;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:12px;fill:#91b1b8}.evo-input__prefix-icon:empty{display:none}.evo-input__prefix-content{display:inline-flex;flex-shrink:0;justify-content:center;align-items:center;margin:var(--evo-input-prefix-content-margin)}.evo-input__prefix-content:empty{display:none}.evo-input__prefix-content:not(:empty)~.evo-input__field{--evo-input-padding-left: 0}.evo-input__field{width:100%;height:100%;margin:0;padding:0 var(--evo-input-padding-right) 0 var(--evo-input-padding-left);color:inherit;font-weight:inherit;font-size:inherit;border:none;border-radius:inherit;outline:none}.evo-input__field::-webkit-input-placeholder{color:#9b9b9b}.evo-input__field::-moz-placeholder{color:#9b9b9b;opacity:1}.evo-input__field:-ms-input-placeholder{color:#9b9b9b}.evo-input__field:disabled{color:#b0b0b0;background-color:#f9fafb!important}.evo-input__field:not(:last-child){--evo-input-padding-right: 0}.evo-input__prefix{padding-left:20px;font-size:16px;transition:color .2s}.evo-input__prefix_focused{color:#000}.evo-input__prefix:not(:empty)~.evo-input__field{--evo-input-padding-left: 0}.evo-input__tooltip,.evo-input__icon-clear{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon{margin:0 20px 0 10px}.evo-input__icon img{display:block;width:100%;max-width:60px;height:auto;max-height:22px}.evo-input__tooltip-container{position:absolute;top:calc(100% - 2px);left:0;z-index:1;display:flex;width:100%;padding:10px 10px 10px 20px;color:#212121;line-height:normal;white-space:normal;background-color:#fff8e6;border-radius:4px;box-shadow:0 4px 12px #0003;cursor:default}.evo-input__tooltip-container[hidden]{display:none!important}.evo-input__tooltip-container:before{position:absolute;top:-20px;left:calc(100% - 34px);border:10px solid transparent;border-bottom-color:#fff8e6;pointer-events:none;content:\"\"}@media (min-width: 1200px){.evo-input__tooltip-container{left:calc(50% - 22px)}.evo-input__tooltip-container:before{left:calc(50% - 12px)}}.evo-input__clearable{display:flex;justify-content:center;align-items:center}.evo-input__clearable+.evo-input__additional{margin-left:-10px}.evo-input__additional{display:flex;justify-content:center;align-items:center}.evo-input__additional:not(:last-child) .evo-input__icon{margin-right:10px}.evo-input__additional+.evo-input__loading-spinner{margin-left:0}.evo-input__loading-spinner{margin:0 20px;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}\n"] }]
|
|
321
324
|
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
322
325
|
type: Optional
|
|
323
326
|
}, {
|
|
@@ -354,8 +357,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
354
357
|
type: Input
|
|
355
358
|
}], maskValidation: [{
|
|
356
359
|
type: Input
|
|
357
|
-
}], blur: [{
|
|
358
|
-
type: Output
|
|
359
360
|
}], inputElement: [{
|
|
360
361
|
type: ViewChild,
|
|
361
362
|
args: ['input', { static: true }]
|
|
@@ -372,4 +373,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
372
373
|
type: Input,
|
|
373
374
|
args: ['theme']
|
|
374
375
|
}] } });
|
|
375
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1pbnB1dC9ldm8taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWlucHV0L2V2by1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUVOLEtBQUssRUFLTCxRQUFRLEVBQ1IsTUFBTSxFQUdOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLGFBQWEsRUFDYixpQkFBaUIsR0FFcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFD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LEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0osY0FDVyxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLENBQUM7OzBCQXNEOUUsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1QkFBdUI7Z0VBaER0QyxTQUFTO3NCQUFqQixLQUFLO2dCQUVZLE1BQU07c0JBQXZCLEtBQUs7dUJBQUMsU0FBUztnQkFDUCxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0ksSUFBSTtzQkFBYixNQUFNO2dCQUU2QixZQUFZO3NCQUEvQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ2EsY0FBYztzQkFBNUQsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBZ0N6QixRQUFRO3NCQUEzQixLQUFLO3VCQUFDLE9BQU87Z0JBSUssT0FBTztzQkFBekIsS0FBSzt1QkFBQyxNQUFNO2dCQU1PLFFBQVE7c0JBQTNCLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDT01QT1NJVElPTl9CVUZGRVJfTU9ERSxcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBOR19WQUxJREFUT1JTLFxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtFdm9Db250cm9sU3RhdGVzfSBmcm9tICcuLi8uLi9jb21tb24vZXZvLWNvbnRyb2wtc3RhdGUtbWFuYWdlci9ldm8tY29udHJvbC1zdGF0ZXMuZW51bSc7XG5pbXBvcnQge0V2b0Jhc2VDb250cm9sfSBmcm9tICcuLi8uLi9jb21tb24vZXZvLWJhc2UtY29udHJvbCc7XG5pbXBvcnQge2Zyb21FdmVudCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgbWFwLCB0YWtlVW50aWwsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtlbnRlclpvbmV9IGZyb20gJy4uLy4uL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyBJTWFzayBmcm9tICdpbWFzayc7XG5pbXBvcnQge0V2b0NvbnRyb2xFcnJvckNvbXBvbmVudH0gZnJvbSAnLi4vZXZvLWNvbnRyb2wtZXJyb3IvZXZvLWNvbnRyb2wtZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7TmdDbGFzc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RXZvSWNvbkNvbXBvbmVudH0gZnJvbSAnLi4vZXZvLWljb24vZXZvLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7RXZvVWlDbGFzc0RpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ldm8tdWktY2xhc3MuZGlyZWN0aXZlJztcblxuZXhwb3J0IGVudW0gRXZvSW5wdXRTaXplcyB7XG4gICAgc21hbGwgPSAnc21hbGwnLFxuICAgIG5vcm1hbCA9ICdub3JtYWwnLFxufVxuXG5leHBvcnQgZW51bSBFdm9JbnB1dFRoZW1lIHtcbiAgICBkZWZhdWx0ID0gJ2RlZmF1bHQnLFxuICAgIHJvdW5kZWQgPSAncm91bmRlZCcsXG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFdm9JbnB1dENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b0lucHV0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRXZvVWlDbGFzc0RpcmVjdGl2ZSwgRXZvSWNvbkNvbXBvbmVudCwgTmdDbGFzcywgRXZvQ29udHJvbEVycm9yQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvSW5wdXRDb21wb25lbnRcbiAgICBleHRlbmRzIEV2b0Jhc2VDb250cm9sXG4gICAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgVmFsaWRhdG9yXG57XG4gICAgQElucHV0KCkgYXV0b0ZvY3VzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIEBJbnB1dCgnZGF0YS1jcCcpIGRhdGFDcDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGljb246IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBASW5wdXQoKSBtYXNrOiBhbnk7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSB0b29sdGlwOiBzdHJpbmc7XG4gICAgQElucHV0KCkgdHlwZSA9ICd0ZXh0JztcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwcmVmaXggPSAnJztcbiAgICBASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBpbnB1dERlYm91bmNlID0gNTA7XG4gICAgQElucHV0KCkgdW5tYXNrOiBib29sZWFuIHwgJ3R5cGVkJyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNsZWFyYWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG1hc2tWYWxpZGF0aW9uID0gZmFsc2U7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBAT3V0cHV0KCkgYmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Jywge3N0YXRpYzogdHJ1ZX0pIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGFpbmVyJywge3N0YXRpYzogdHJ1ZX0pIHRvb2x0aXBFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgc2l6ZTogRXZvSW5wdXRTaXplcyA9IEV2b0lucHV0U2l6ZXMubm9ybWFsO1xuICAgIHRoZW1lOiBFdm9JbnB1dFRoZW1lID0gRXZvSW5wdXRUaGVtZS5kZWZhdWx0O1xuICAgIF92YWx1ZTogc3RyaW5nO1xuICAgIGN1c3RvbVRvb2x0aXBDaGVja2VkID0gZmFsc2U7XG4gICAgdWlTdGF0ZXMgPSB7XG4gICAgICAgIGhhc0N1c3RvbVRvb2x0aXA6IGZhbHNlLFxuICAgICAgICBpc1Rvb2x0aXBWaXNpYmxlOiBmYWxzZSxcbiAgICAgICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgcHJpdmF0ZSBpTWFzazogSU1hc2suSW5wdXRNYXNrPGFueT47XG5cbiAgICBwcml2YXRlIHRvb2x0aXBWaXNpYmlsaXR5VGltZW91dCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBjcmVhdGluZyBhIGNvbXBvc2l0aW9uIHN0cmluZyAoSU1FIGV2ZW50cykuICovXG4gICAgcHJpdmF0ZSBfY29tcG9zaW5nID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB6b25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KENPTVBPU0lUSU9OX0JVRkZFUl9NT0RFKSBwcml2YXRlIHJlYWRvbmx5IF9jb21wb3NpdGlvbk1vZGU6IGJvb2xlYW4sXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3ZhbHVlJykgc2V0IHNldFZhbHVlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCdzaXplJykgc2V0IHNldFNpemUoc2l6ZTogRXZvSW5wdXRTaXplcyB8IHN0cmluZykge1xuICAgICAgICBpZiAoRXZvSW5wdXRTaXplc1tzaXplXSkge1xuICAgICAgICAgICAgdGhpcy5zaXplID0gRXZvSW5wdXRTaXplc1tzaXplXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgndGhlbWUnKSBzZXQgc2V0VGhlbWUodGhlbWU6IHN0cmluZyB8IEV2b0lucHV0VGhlbWUpIHtcbiAgICAgICAgaWYgKEV2b0lucHV0VGhlbWVbdGhlbWVdKSB7XG4gICAgICAgICAgICB0aGlzLnRoZW1lID0gRXZvSW5wdXRUaGVtZVt0aGVtZV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaXNEaXNhYmxlZCgpIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodmFsdWUgfHwgdGhpcy5fdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5yZW1vdmVQcmVmaXgodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnByZWZpeCArICh0aGlzLl92YWx1ZSB8fCAnJykpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpbnB1dENsYXNzKCk6IHtbY3NzQ2xhc3M6IHN0cmluZ106IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZvY3VzZWQ6IHRoaXMudWlTdGF0ZXMuaXNGb2N1c2VkLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZCxcbiAgICAgICAgICAgIHZhbGlkOiB0aGlzLmN1cnJlbnRTdGF0ZVtFdm9Db250cm9sU3RhdGVzLnZhbGlkXSxcbiAgICAgICAgICAgIGludmFsaWQ6IHRoaXMuY3VycmVudFN0YXRlW0V2b0NvbnRyb2xTdGF0ZXMuaW52YWxpZF0sXG4gICAgICAgICAgICBbYHNpemUtJHt0aGlzLnNpemV9YF06IHRoaXMuc2l6ZSAhPT0gRXZvSW5wdXRTaXplcy5ub3JtYWwsXG4gICAgICAgICAgICBbYHRoZW1lLSR7dGhpcy50aGVtZX1gXTogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXQgaGFzQWRkaXRpb25hbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50b29sdGlwIHx8IHRoaXMudWlTdGF0ZXMuaGFzQ3VzdG9tVG9vbHRpcCB8fCAhIXRoaXMuaWNvbjtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBzZXQgbWFza1ZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFZhbHVlID0gdmFsdWUgPz8gJyc7XG4gICAgICAgIGlmICh0aGlzLmlNYXNrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy51bm1hc2sgPT09ICd0eXBlZCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlNYXNrLnR5cGVkVmFsdWUgPSBub3JtYWxpemVkVmFsdWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudW5tYXNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pTWFzay51bm1hc2tlZFZhbHVlID0gbm9ybWFsaXplZFZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlNYXNrLnZhbHVlID0gbm9ybWFsaXplZFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy53cml0ZVRvRWxlbWVudChub3JtYWxpemVkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgZ2V0IG1hc2tWYWx1ZSgpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuaU1hc2spIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnVubWFzayA9PT0gJ3R5cGVkJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaU1hc2sudHlwZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy51bm1hc2spIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlNYXNrLnVubWFza2VkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaU1hc2sudmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ2xlYXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jbGVhcmFibGUgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGlucHV0RWwgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5tYXNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVNYXNrSW5zdGFuY2UodGhpcy5tYXNrKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZnJvbUV2ZW50KGlucHV0RWwsICdpbnB1dCcpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmlucHV0RGVib3VuY2UpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKGU6IElucHV0RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlNYXNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFza1ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGVudGVyWm9uZSh0aGlzLnpvbmUpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgaWYgKHRoaXMuaU1hc2spIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveU1hc2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKCFjaGFuZ2VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bWFza30gPSBjaGFuZ2VzO1xuXG4gICAgICAgIGlmIChtYXNrICYmICFtYXNrLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdNYXNrT3B0aW9ucyA9IG1hc2suY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgaWYgKG5ld01hc2tPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaU1hc2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pTWFzay51cGRhdGVPcHRpb25zKG5ld01hc2tPcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1hc2tJbnN0YW5jZShuZXdNYXNrT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lNYXNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZSh2YWx1ZSkge1xuICAgICAgICAvLyB0aGlzIGlzIGludGVudGlvbmFsXG4gICAgfVxuXG4gICAgb25Ub3VjaGVkKCkge1xuICAgICAgICAvLyB0aGlzIGlzIGludGVudGlvbmFsXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoZWNrQ3VzdG9tVG9vbHRpcCgpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHdyaXRlVG9FbGVtZW50KHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMubWFzaykge1xuICAgICAgICAgICAgdGhpcy5tYXNrVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVUb0VsZW1lbnQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gc3RhdGU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnVpU3RhdGVzLmlzRm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy51aVN0YXRlcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVpU3RhdGVzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmJsdXIuZW1pdCgpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIG9uVG9vbHRpcENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgb25DbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKCcnKTtcbiAgICB9XG5cbiAgICBoaWRlVG9vbHRpcCgpIHtcbiAgICAgICAgdGhpcy50b29sdGlwVmlzaWJpbGl0eVRpbWVvdXQgPSB0cnVlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudG9vbHRpcFZpc2liaWxpdHlUaW1lb3V0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy51aVN0YXRlcy5pc1Rvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDI1KTtcbiAgICB9XG5cbiAgICBzaG93VG9vbHRpcCgpIHtcbiAgICAgICAgdGhpcy51aVN0YXRlcy5pc1Rvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50b29sdGlwVmlzaWJpbGl0eVRpbWVvdXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBDb21wb3NpdGlvbiBoYW5kbGluZyBpcyB0YWtlbiBmcm9tOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi8xMS4wLjMvcGFja2FnZXMvZm9ybXMvc3JjL2RpcmVjdGl2ZXMvZGVmYXVsdF92YWx1ZV9hY2Nlc3Nvci50cyNMMTUyXG4gICAgX2NvbXBvc2l0aW9uU3RhcnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbXBvc2luZyA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgX2NvbXBvc2l0aW9uRW5kKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29tcG9zaW5nID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLl9jb21wb3NpdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHByaXZhdGUgcmVtb3ZlUHJlZml4KHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5pbmRleE9mKHRoaXMucHJlZml4KSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UodGhpcy5wcmVmaXgsICcnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgcHJpdmF0ZSBjcmVhdGVNYXNrSW5zdGFuY2Uob3B0czogYW55KSB7XG4gICAgICAgIHRoaXMuaU1hc2sgPSBuZXcgSU1hc2suSW5wdXRNYXNrKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIG9wdHMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveU1hc2soKSB7XG4gICAgICAgIHRoaXMuaU1hc2s/LmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5pTWFzayA9IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0N1c3RvbVRvb2x0aXAoKSB7XG4gICAgICAgIHRoaXMudWlTdGF0ZXMuaGFzQ3VzdG9tVG9vbHRpcCA9XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBFbGVtZW50ICYmXG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcEVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLmN1c3RvbVRvb2x0aXBDaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLm1hc2tWYWxpZGF0aW9uICYmIHRoaXMubWFzayAmJiAhdGhpcy5pTWFzay5tYXNrZWQuaXNDb21wbGV0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHttYXNrOiB0cnVlfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJldm8taW5wdXRcIiBbZXZvVWlDbGFzc109XCJpbnB1dENsYXNzXCI+XG4gICAgPGRpdiBjbGFzcz1cImV2by1pbnB1dF9fcHJlZml4LWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V2b0lucHV0UHJlZml4Q29udGVudF1cIiAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJldm8taW5wdXRfX3ByZWZpeC1pY29uXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltldm9JbnB1dEljb25dXCIgLz5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAocHJlZml4KSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXZvLWlucHV0X19wcmVmaXhcIiBbZXZvVWlDbGFzc109XCJ7Zm9jdXNlZDogKCFpc0Rpc2FibGVkICYmICEhdmFsdWUpIHx8IHVpU3RhdGVzLmlzRm9jdXNlZH1cIj5cbiAgICAgICAgICAgIHt7IHByZWZpeCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuXG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICB0eXBlPVwie3sgdHlwZSB9fVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICBjbGFzcz1cImV2by1pbnB1dF9fZmllbGRcIlxuICAgICAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgW2F0dHIuZGF0YS1jcF09XCJkYXRhQ3BcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgIChjb21wb3NpdGlvbnN0YXJ0KT1cIl9jb21wb3NpdGlvblN0YXJ0KClcIlxuICAgICAgICAoY29tcG9zaXRpb25lbmQpPVwiX2NvbXBvc2l0aW9uRW5kKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAvPlxuXG4gICAgQGlmIChsb2FkaW5nKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldm8taW5wdXRfX2xvYWRpbmctc3Bpbm5lclwiPjwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKGlzQ2xlYXJhYmxlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLWlucHV0X19jbGVhcmFibGVcIiAoY2xpY2spPVwib25DbGVhcigpXCI+XG4gICAgICAgICAgICAgICAgPGV2by1pY29uIHNoYXBlPVwiZGVjbGluZVwiIGNsYXNzPVwiZXZvLWlucHV0X19pY29uLWNsZWFyXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaGFzQWRkaXRpb25hbCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by1pbnB1dF9fYWRkaXRpb25hbFwiPlxuICAgICAgICAgICAgICAgIEBpZiAodG9vbHRpcCB8fCB1aVN0YXRlcy5oYXNDdXN0b21Ub29sdGlwKSB7XG4gICAgICAgICAgICAgICAgICAgIDxldm8taWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJoZWxwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLWlucHV0X190b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNob3dUb29sdGlwKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaGlkZVRvb2x0aXAoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub29sdGlwQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLWlucHV0X19pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFthdHRyLnNyY109XCJpY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCFjdXN0b21Ub29sdGlwQ2hlY2tlZCB8fCB1aVN0YXRlcy5pc1Rvb2x0aXBWaXNpYmxlKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICN0b29sdGlwQ29udGFpbmVyXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFjdXN0b21Ub29sdGlwQ2hlY2tlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2V2by1pbnB1dF9fdG9vbHRpcC1jb250YWluZXInOiB0b29sdGlwfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25Ub29sdGlwQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJzaG93VG9vbHRpcCgpXCJcbiAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhpZGVUb29sdGlwKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0b29sdGlwIH19XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9vbHRpcF1cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2xhYmVsPlxuXG5AaWYgKHNob3dFcnJvcnMpIHtcbiAgICA8ZXZvLWNvbnRyb2wtZXJyb3IgW2Vycm9yc109XCJjb250cm9sLmVycm9yc1wiIFtlcnJvcnNNZXNzYWdlc109XCJlcnJvcnNNZXNzYWdlc1wiIC8+XG59XG4iXX0=
|
|
376
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1pbnB1dC9ldm8taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWlucHV0L2V2by1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUVULFVBQVUsRUFDVixNQUFNLEVBRU4sS0FBSyxFQUtMLFFBQVEsRUFDUixNQUFNLEVBR04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsYUFBYSxFQUNiLGlCQUFpQixHQUVwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsbUJBQW1CLEVB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ICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgb3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENPTVBPU0lUSU9OX0JVRkZFUl9NT0RFLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIE5HX1ZBTElEQVRPUlMsXG4gICAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0V2b0NvbnRyb2xTdGF0ZXN9IGZyb20gJy4uLy4uL2NvbW1vbi9ldm8tY29udHJvbC1zdGF0ZS1tYW5hZ2VyL2V2by1jb250cm9sLXN0YXRlcy5lbnVtJztcbmltcG9ydCB7RXZvQmFzZUNvbnRyb2x9IGZyb20gJy4uLy4uL2NvbW1vbi9ldm8tYmFzZS1jb250cm9sJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2VudGVyWm9uZX0gZnJvbSAnLi4vLi4vb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIElNYXNrIGZyb20gJ2ltYXNrJztcbmltcG9ydCB7RXZvQ29udHJvbEVycm9yQ29tcG9uZW50fSBmcm9tICcuLi9ldm8tY29udHJvbC1lcnJvci9ldm8tY29udHJvbC1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ0NsYXNzfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFdm9JY29uQ29tcG9uZW50fSBmcm9tICcuLi9ldm8taWNvbi9ldm8taWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtFdm9VaUNsYXNzRGlyZWN0aXZlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2V2by11aS1jbGFzcy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgZW51bSBFdm9JbnB1dFNpemVzIHtcbiAgICBzbWFsbCA9ICdzbWFsbCcsXG4gICAgbm9ybWFsID0gJ25vcm1hbCcsXG59XG5cbmV4cG9ydCBlbnVtIEV2b0lucHV0VGhlbWUge1xuICAgIGRlZmF1bHQgPSAnZGVmYXVsdCcsXG4gICAgcm91bmRlZCA9ICdyb3VuZGVkJyxcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8taW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b0lucHV0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXZvSW5wdXRDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtFdm9VaUNsYXNzRGlyZWN0aXZlLCBFdm9JY29uQ29tcG9uZW50LCBOZ0NsYXNzLCBFdm9Db250cm9sRXJyb3JDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9JbnB1dENvbXBvbmVudFxuICAgIGV4dGVuZHMgRXZvQmFzZUNvbnRyb2xcbiAgICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBWYWxpZGF0b3JcbntcbiAgICBASW5wdXQoKSBhdXRvRm9jdXM6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgQElucHV0KCdkYXRhLWNwJykgZGF0YUNwOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIEBJbnB1dCgpIG1hc2s6IGFueTtcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRvb2x0aXA6IHN0cmluZztcbiAgICBASW5wdXQoKSB0eXBlID0gJ3RleHQnO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHByZWZpeCA9ICcnO1xuICAgIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGlucHV0RGVib3VuY2UgPSA1MDtcbiAgICBASW5wdXQoKSB1bm1hc2s6IGJvb2xlYW4gfCAndHlwZWQnID0gZmFsc2U7XG4gICAgQElucHV0KCkgY2xlYXJhYmxlID0gZmFsc2U7XG4gICAgQElucHV0KCkgbWFza1ZhbGlkYXRpb24gPSBmYWxzZTtcblxuICAgIHJlYWRvbmx5IGJsdXIgPSBvdXRwdXQ8RXZlbnQ+KCk7XG4gICAgcmVhZG9ubHkgb25Gb2N1cyA9IG91dHB1dDxFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Jywge3N0YXRpYzogdHJ1ZX0pIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGFpbmVyJywge3N0YXRpYzogdHJ1ZX0pIHRvb2x0aXBFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgc2l6ZTogRXZvSW5wdXRTaXplcyA9IEV2b0lucHV0U2l6ZXMubm9ybWFsO1xuICAgIHRoZW1lOiBFdm9JbnB1dFRoZW1lID0gRXZvSW5wdXRUaGVtZS5kZWZhdWx0O1xuICAgIF92YWx1ZTogc3RyaW5nO1xuICAgIGN1c3RvbVRvb2x0aXBDaGVja2VkID0gZmFsc2U7XG4gICAgdWlTdGF0ZXMgPSB7XG4gICAgICAgIGhhc0N1c3RvbVRvb2x0aXA6IGZhbHNlLFxuICAgICAgICBpc1Rvb2x0aXBWaXNpYmxlOiBmYWxzZSxcbiAgICAgICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgcHJpdmF0ZSBpTWFzazogSU1hc2suSW5wdXRNYXNrPGFueT47XG5cbiAgICBwcml2YXRlIHRvb2x0aXBWaXNpYmlsaXR5VGltZW91dCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBjcmVhdGluZyBhIGNvbXBvc2l0aW9uIHN0cmluZyAoSU1FIGV2ZW50cykuICovXG4gICAgcHJpdmF0ZSBfY29tcG9zaW5nID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB6b25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KENPTVBPU0lUSU9OX0JVRkZFUl9NT0RFKSBwcml2YXRlIHJlYWRvbmx5IF9jb21wb3NpdGlvbk1vZGU6IGJvb2xlYW4sXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3ZhbHVlJykgc2V0IHNldFZhbHVlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCdzaXplJykgc2V0IHNldFNpemUoc2l6ZTogRXZvSW5wdXRTaXplcyB8IHN0cmluZykge1xuICAgICAgICBpZiAoRXZvSW5wdXRTaXplc1tzaXplXSkge1xuICAgICAgICAgICAgdGhpcy5zaXplID0gRXZvSW5wdXRTaXplc1tzaXplXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgndGhlbWUnKSBzZXQgc2V0VGhlbWUodGhlbWU6IHN0cmluZyB8IEV2b0lucHV0VGhlbWUpIHtcbiAgICAgICAgaWYgKEV2b0lucHV0VGhlbWVbdGhlbWVdKSB7XG4gICAgICAgICAgICB0aGlzLnRoZW1lID0gRXZvSW5wdXRUaGVtZVt0aGVtZV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaXNEaXNhYmxlZCgpIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodmFsdWUgfHwgdGhpcy5fdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5yZW1vdmVQcmVmaXgodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnByZWZpeCArICh0aGlzLl92YWx1ZSB8fCAnJykpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpbnB1dENsYXNzKCk6IHtbY3NzQ2xhc3M6IHN0cmluZ106IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZvY3VzZWQ6IHRoaXMudWlTdGF0ZXMuaXNGb2N1c2VkLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZCxcbiAgICAgICAgICAgIHZhbGlkOiB0aGlzLmN1cnJlbnRTdGF0ZVtFdm9Db250cm9sU3RhdGVzLnZhbGlkXSxcbiAgICAgICAgICAgIGludmFsaWQ6IHRoaXMuY3VycmVudFN0YXRlW0V2b0NvbnRyb2xTdGF0ZXMuaW52YWxpZF0sXG4gICAgICAgICAgICBbYHNpemUtJHt0aGlzLnNpemV9YF06IHRoaXMuc2l6ZSAhPT0gRXZvSW5wdXRTaXplcy5ub3JtYWwsXG4gICAgICAgICAgICBbYHRoZW1lLSR7dGhpcy50aGVtZX1gXTogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXQgaGFzQWRkaXRpb25hbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50b29sdGlwIHx8IHRoaXMudWlTdGF0ZXMuaGFzQ3VzdG9tVG9vbHRpcCB8fCAhIXRoaXMuaWNvbjtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBzZXQgbWFza1ZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFZhbHVlID0gdmFsdWUgPz8gJyc7XG4gICAgICAgIGlmICh0aGlzLmlNYXNrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy51bm1hc2sgPT09ICd0eXBlZCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlNYXNrLnR5cGVkVmFsdWUgPSBub3JtYWxpemVkVmFsdWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudW5tYXNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pTWFzay51bm1hc2tlZFZhbHVlID0gbm9ybWFsaXplZFZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlNYXNrLnZhbHVlID0gbm9ybWFsaXplZFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy53cml0ZVRvRWxlbWVudChub3JtYWxpemVkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgZ2V0IG1hc2tWYWx1ZSgpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuaU1hc2spIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnVubWFzayA9PT0gJ3R5cGVkJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaU1hc2sudHlwZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy51bm1hc2spIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlNYXNrLnVubWFza2VkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaU1hc2sudmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ2xlYXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jbGVhcmFibGUgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGlucHV0RWwgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5tYXNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVNYXNrSW5zdGFuY2UodGhpcy5tYXNrKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZnJvbUV2ZW50KGlucHV0RWwsICdpbnB1dCcpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmlucHV0RGVib3VuY2UpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKGU6IElucHV0RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlNYXNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFza1ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGVudGVyWm9uZSh0aGlzLnpvbmUpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgaWYgKHRoaXMuaU1hc2spIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveU1hc2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKCFjaGFuZ2VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bWFza30gPSBjaGFuZ2VzO1xuXG4gICAgICAgIGlmIChtYXNrICYmICFtYXNrLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdNYXNrT3B0aW9ucyA9IG1hc2suY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgaWYgKG5ld01hc2tPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaU1hc2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pTWFzay51cGRhdGVPcHRpb25zKG5ld01hc2tPcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1hc2tJbnN0YW5jZShuZXdNYXNrT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lNYXNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZSh2YWx1ZSkge1xuICAgICAgICAvLyB0aGlzIGlzIGludGVudGlvbmFsXG4gICAgfVxuXG4gICAgb25Ub3VjaGVkKCkge1xuICAgICAgICAvLyB0aGlzIGlzIGludGVudGlvbmFsXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoZWNrQ3VzdG9tVG9vbHRpcCgpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHdyaXRlVG9FbGVtZW50KHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMubWFzaykge1xuICAgICAgICAgICAgdGhpcy5tYXNrVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVUb0VsZW1lbnQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gc3RhdGU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25JbnB1dEZvY3VzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy51aVN0YXRlcy5pc0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudWlTdGF0ZXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uSW5wdXRCbHVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVpU3RhdGVzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmJsdXIuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgb25Ub29sdGlwQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbkNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUoJycpO1xuICAgIH1cblxuICAgIGhpZGVUb29sdGlwKCkge1xuICAgICAgICB0aGlzLnRvb2x0aXBWaXNpYmlsaXR5VGltZW91dCA9IHRydWU7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50b29sdGlwVmlzaWJpbGl0eVRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVpU3RhdGVzLmlzVG9vbHRpcFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMjUpO1xuICAgIH1cblxuICAgIHNob3dUb29sdGlwKCkge1xuICAgICAgICB0aGlzLnVpU3RhdGVzLmlzVG9vbHRpcFZpc2libGUgPSB0cnVlO1xuICAgICAgICB0aGlzLnRvb2x0aXBWaXNpYmlsaXR5VGltZW91dCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENvbXBvc2l0aW9uIGhhbmRsaW5nIGlzIHRha2VuIGZyb206XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iLzExLjAuMy9wYWNrYWdlcy9mb3Jtcy9zcmMvZGlyZWN0aXZlcy9kZWZhdWx0X3ZhbHVlX2FjY2Vzc29yLnRzI0wxNTJcbiAgICBfY29tcG9zaXRpb25TdGFydCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29tcG9zaW5nID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBfY29tcG9zaXRpb25FbmQodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb21wb3NpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvc2l0aW9uTW9kZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgcHJpdmF0ZSByZW1vdmVQcmVmaXgodmFsdWU6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmluZGV4T2YodGhpcy5wcmVmaXgpID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSh0aGlzLnByZWZpeCwgJycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBwcml2YXRlIGNyZWF0ZU1hc2tJbnN0YW5jZShvcHRzOiBhbnkpIHtcbiAgICAgICAgdGhpcy5pTWFzayA9IG5ldyBJTWFzay5JbnB1dE1hc2sodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgb3B0cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95TWFzaygpIHtcbiAgICAgICAgdGhpcy5pTWFzaz8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmlNYXNrID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrQ3VzdG9tVG9vbHRpcCgpIHtcbiAgICAgICAgdGhpcy51aVN0YXRlcy5oYXNDdXN0b21Ub29sdGlwID1cbiAgICAgICAgICAgIHRoaXMudG9vbHRpcEVsZW1lbnQgJiZcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcEVsZW1lbnQubmF0aXZlRWxlbWVudCAmJlxuICAgICAgICAgICAgdGhpcy50b29sdGlwRWxlbWVudC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDA7XG4gICAgICAgIHRoaXMuY3VzdG9tVG9vbHRpcENoZWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMubWFza1ZhbGlkYXRpb24gJiYgdGhpcy5tYXNrICYmICF0aGlzLmlNYXNrLm1hc2tlZC5pc0NvbXBsZXRlKSB7XG4gICAgICAgICAgICByZXR1cm4ge21hc2s6IHRydWV9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiIsIjxsYWJlbCBjbGFzcz1cImV2by1pbnB1dFwiIFtldm9VaUNsYXNzXT1cImlucHV0Q2xhc3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXZvLWlucHV0X19wcmVmaXgtY29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZXZvSW5wdXRQcmVmaXhDb250ZW50XVwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImV2by1pbnB1dF9fcHJlZml4LWljb25cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V2b0lucHV0SWNvbl1cIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChwcmVmaXgpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJldm8taW5wdXRfX3ByZWZpeFwiIFtldm9VaUNsYXNzXT1cIntmb2N1c2VkOiAoIWlzRGlzYWJsZWQgJiYgISF2YWx1ZSkgfHwgdWlTdGF0ZXMuaXNGb2N1c2VkfVwiPlxuICAgICAgICAgICAge3sgcHJlZml4IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIHR5cGU9XCJ7eyB0eXBlIH19XCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICAgIGNsYXNzPVwiZXZvLWlucHV0X19maWVsZFwiXG4gICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICBbYXR0ci5kYXRhLWNwXT1cImRhdGFDcFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChjb21wb3NpdGlvbnN0YXJ0KT1cIl9jb21wb3NpdGlvblN0YXJ0KClcIlxuICAgICAgICAoY29tcG9zaXRpb25lbmQpPVwiX2NvbXBvc2l0aW9uRW5kKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAvPlxuXG4gICAgQGlmIChsb2FkaW5nKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldm8taW5wdXRfX2xvYWRpbmctc3Bpbm5lclwiPjwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKGlzQ2xlYXJhYmxlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLWlucHV0X19jbGVhcmFibGVcIiAoY2xpY2spPVwib25DbGVhcigpXCI+XG4gICAgICAgICAgICAgICAgPGV2by1pY29uIHNoYXBlPVwiZGVjbGluZVwiIGNsYXNzPVwiZXZvLWlucHV0X19pY29uLWNsZWFyXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaGFzQWRkaXRpb25hbCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by1pbnB1dF9fYWRkaXRpb25hbFwiPlxuICAgICAgICAgICAgICAgIEBpZiAodG9vbHRpcCB8fCB1aVN0YXRlcy5oYXNDdXN0b21Ub29sdGlwKSB7XG4gICAgICAgICAgICAgICAgICAgIDxldm8taWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJoZWxwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLWlucHV0X190b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNob3dUb29sdGlwKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaGlkZVRvb2x0aXAoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub29sdGlwQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLWlucHV0X19pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFthdHRyLnNyY109XCJpY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCFjdXN0b21Ub29sdGlwQ2hlY2tlZCB8fCB1aVN0YXRlcy5pc1Rvb2x0aXBWaXNpYmxlKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICN0b29sdGlwQ29udGFpbmVyXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFjdXN0b21Ub29sdGlwQ2hlY2tlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2V2by1pbnB1dF9fdG9vbHRpcC1jb250YWluZXInOiB0b29sdGlwfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25Ub29sdGlwQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJzaG93VG9vbHRpcCgpXCJcbiAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhpZGVUb29sdGlwKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0b29sdGlwIH19XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9vbHRpcF1cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2xhYmVsPlxuXG5AaWYgKHNob3dFcnJvcnMpIHtcbiAgICA8ZXZvLWNvbnRyb2wtZXJyb3IgW2Vycm9yc109XCJjb250cm9sLmVycm9yc1wiIFtlcnJvcnNNZXNzYWdlc109XCJlcnJvcnNNZXNzYWdlc1wiIC8+XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Injectable, PLATFORM_ID, ɵstringify as _stringify, Directive, Input, EventEmitter, Output, HostListener, Optional, ViewContainerRef, TemplateRef, Inject, NgModule, CUSTOM_ELEMENTS_SCHEMA, inject, SecurityContext, Component, ChangeDetectionStrategy, HostBinding, Pipe, forwardRef, ViewChild, ViewEncapsulation, ContentChild, ElementRef, input, booleanAttribute, ComponentRef, computed,
|
|
2
|
+
import { InjectionToken, Injectable, PLATFORM_ID, ɵstringify as _stringify, Directive, Input, EventEmitter, Output, HostListener, Optional, ViewContainerRef, TemplateRef, Inject, NgModule, CUSTOM_ELEMENTS_SCHEMA, inject, SecurityContext, Component, ChangeDetectionStrategy, HostBinding, Pipe, output, forwardRef, ViewChild, ViewEncapsulation, ContentChild, ElementRef, input, booleanAttribute, ComponentRef, computed, viewChild, signal, ChangeDetectorRef, DestroyRef, EnvironmentInjector, NgZone, createComponent, Injector, ApplicationRef, ComponentFactoryResolver, makeEnvironmentProviders, Host, ContentChildren, ViewChildren } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { isPlatformBrowser, CommonModule, AsyncPipe, NgClass, NgTemplateOutlet, NgIf, NgStyle, Location, NgFor } from '@angular/common';
|
|
5
5
|
import * as i1$2 from '@angular/forms';
|
|
@@ -1010,8 +1010,8 @@ class EvoInputComponent extends EvoBaseControl {
|
|
|
1010
1010
|
this.unmask = false;
|
|
1011
1011
|
this.clearable = false;
|
|
1012
1012
|
this.maskValidation = false;
|
|
1013
|
-
|
|
1014
|
-
this.
|
|
1013
|
+
this.blur = output();
|
|
1014
|
+
this.onFocus = output();
|
|
1015
1015
|
this.size = EvoInputSizes.normal;
|
|
1016
1016
|
this.theme = EvoInputTheme.default;
|
|
1017
1017
|
this.customTooltipChecked = false;
|
|
@@ -1192,15 +1192,18 @@ class EvoInputComponent extends EvoBaseControl {
|
|
|
1192
1192
|
focus() {
|
|
1193
1193
|
this.inputElement.nativeElement.focus();
|
|
1194
1194
|
}
|
|
1195
|
-
|
|
1196
|
-
if (
|
|
1197
|
-
|
|
1195
|
+
onInputFocus(event) {
|
|
1196
|
+
if (this.uiStates.isFocused) {
|
|
1197
|
+
return;
|
|
1198
1198
|
}
|
|
1199
|
+
this.uiStates.isFocused = true;
|
|
1200
|
+
this.onTouched();
|
|
1201
|
+
this.onFocus.emit(event);
|
|
1199
1202
|
}
|
|
1200
|
-
|
|
1203
|
+
onInputBlur(event) {
|
|
1201
1204
|
this.uiStates.isFocused = false;
|
|
1202
1205
|
this.onTouched();
|
|
1203
|
-
this.blur.emit();
|
|
1206
|
+
this.blur.emit(event);
|
|
1204
1207
|
}
|
|
1205
1208
|
// eslint-disable-next-line
|
|
1206
1209
|
onTooltipClick(event) {
|
|
@@ -1264,7 +1267,7 @@ class EvoInputComponent extends EvoBaseControl {
|
|
|
1264
1267
|
return null;
|
|
1265
1268
|
}
|
|
1266
1269
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoInputComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: COMPOSITION_BUFFER_MODE, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1267
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoInputComponent, isStandalone: true, selector: "evo-input", inputs: { autoFocus: "autoFocus", dataCp: ["data-cp", "dataCp"], icon: "icon", mask: "mask", placeholder: "placeholder", tooltip: "tooltip", type: "type", disabled: "disabled", loading: "loading", prefix: "prefix", autocomplete: "autocomplete", inputDebounce: "inputDebounce", unmask: "unmask", clearable: "clearable", maskValidation: "maskValidation", setValue: ["value", "setValue"], setSize: ["size", "setSize"], setTheme: ["theme", "setTheme"] }, outputs: { blur: "blur" }, providers: [
|
|
1270
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoInputComponent, isStandalone: true, selector: "evo-input", inputs: { autoFocus: "autoFocus", dataCp: ["data-cp", "dataCp"], icon: "icon", mask: "mask", placeholder: "placeholder", tooltip: "tooltip", type: "type", disabled: "disabled", loading: "loading", prefix: "prefix", autocomplete: "autocomplete", inputDebounce: "inputDebounce", unmask: "unmask", clearable: "clearable", maskValidation: "maskValidation", setValue: ["value", "setValue"], setSize: ["size", "setSize"], setTheme: ["theme", "setTheme"] }, outputs: { blur: "blur", onFocus: "onFocus" }, providers: [
|
|
1268
1271
|
{
|
|
1269
1272
|
provide: NG_VALUE_ACCESSOR,
|
|
1270
1273
|
useExisting: forwardRef(() => EvoInputComponent),
|
|
@@ -1275,7 +1278,7 @@ class EvoInputComponent extends EvoBaseControl {
|
|
|
1275
1278
|
useExisting: forwardRef(() => EvoInputComponent),
|
|
1276
1279
|
multi: true,
|
|
1277
1280
|
},
|
|
1278
|
-
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "tooltipElement", first: true, predicate: ["tooltipContainer"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\" />\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\" />\n </div>\n\n @if (prefix) {\n <span class=\"evo-input__prefix\" [evoUiClass]=\"{focused: (!isDisabled && !!value) || uiStates.isFocused}\">\n {{ prefix }}\n </span>\n }\n\n <input\n #input\n type=\"{{ type }}\"\n placeholder=\"{{ placeholder }}\"\n class=\"evo-input__field\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n (focus)=\"
|
|
1281
|
+
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "tooltipElement", first: true, predicate: ["tooltipContainer"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\" />\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\" />\n </div>\n\n @if (prefix) {\n <span class=\"evo-input__prefix\" [evoUiClass]=\"{focused: (!isDisabled && !!value) || uiStates.isFocused}\">\n {{ prefix }}\n </span>\n }\n\n <input\n #input\n type=\"{{ type }}\"\n placeholder=\"{{ placeholder }}\"\n class=\"evo-input__field\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (compositionstart)=\"_compositionStart()\"\n (compositionend)=\"_compositionEnd($event.target.value)\"\n />\n\n @if (loading) {\n <div class=\"evo-input__loading-spinner\"></div>\n } @else {\n @if (isClearable) {\n <div class=\"evo-input__clearable\" (click)=\"onClear()\">\n <evo-icon shape=\"decline\" class=\"evo-input__icon-clear\" />\n </div>\n }\n @if (hasAdditional) {\n <div class=\"evo-input__additional\">\n @if (tooltip || uiStates.hasCustomTooltip) {\n <evo-icon\n shape=\"help\"\n class=\"evo-input__tooltip\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n (click)=\"onTooltipClick($event)\"\n />\n }\n @if (icon) {\n <div class=\"evo-input__icon\">\n <img [attr.src]=\"icon\" />\n </div>\n }\n </div>\n }\n }\n\n @if (!customTooltipChecked || uiStates.isTooltipVisible) {\n <div\n #tooltipContainer\n [hidden]=\"!customTooltipChecked\"\n [ngClass]=\"{'evo-input__tooltip-container': tooltip}\"\n (click)=\"onTooltipClick($event)\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n >\n {{ tooltip }}\n <ng-content select=\"[tooltip]\" />\n </div>\n }\n</label>\n\n@if (showErrors) {\n <evo-control-error [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\" />\n}\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%}}:host{display:inline-block;--evo-input-prefix-content-margin: 0 12px}.evo-input{--evo-input-padding-left: 16px;--evo-input-padding-right: 8px;position:relative;cursor:text}.evo-input_focused{border:solid 1px #74706F}.evo-input_disabled{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}.evo-input_invalid{border-color:#ff1817!important}.evo-input_theme-default{--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-input_theme-default.evo-input_size-small{--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-input_theme-default.evo-input_size-small .evo-input__field{--evo-input-padding-left: 8px;--evo-input-padding-right: 8px}.evo-input_theme-default.evo-input_size-small .evo-input__field:not(:last-child){--evo-input-padding-right: 0}.evo-input_theme-rounded{--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-input_theme-rounded.evo-input_size-small{--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-input_theme-rounded.evo-input_size-small .evo-input__field:last-child{--evo-input-padding-right: 16px}.evo-input_size-small{height:32px}.evo-input_size-small .evo-input__tooltip,.evo-input_size-small .evo-input__loading-spinner{flex:0 0 16px;width:16px;height:16px;margin:0 10px}.evo-input_size-small .evo-input__icon{margin-right:10px}.evo-input_size-small .evo-input__icon img{max-height:16px}.evo-input_size-small .evo-input__tooltip-container{top:100%}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(100% - 28px)}@media (min-width: 1200px){.evo-input_size-small .evo-input__tooltip-container{top:calc(100% + 4px)}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(50% - 6px)}}.evo-input_size-small .evo-input__prefix-icon{width:16px;height:16px}.evo-input_size-small .evo-input__prefix-icon:empty{display:none}.evo-input_size-small .evo-input__icon-clear{width:16px;height:16px}.evo-input__prefix-icon{display:flex;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:12px;fill:#91b1b8}.evo-input__prefix-icon:empty{display:none}.evo-input__prefix-content{display:inline-flex;flex-shrink:0;justify-content:center;align-items:center;margin:var(--evo-input-prefix-content-margin)}.evo-input__prefix-content:empty{display:none}.evo-input__prefix-content:not(:empty)~.evo-input__field{--evo-input-padding-left: 0}.evo-input__field{width:100%;height:100%;margin:0;padding:0 var(--evo-input-padding-right) 0 var(--evo-input-padding-left);color:inherit;font-weight:inherit;font-size:inherit;border:none;border-radius:inherit;outline:none}.evo-input__field::-webkit-input-placeholder{color:#9b9b9b}.evo-input__field::-moz-placeholder{color:#9b9b9b;opacity:1}.evo-input__field:-ms-input-placeholder{color:#9b9b9b}.evo-input__field:disabled{color:#b0b0b0;background-color:#f9fafb!important}.evo-input__field:not(:last-child){--evo-input-padding-right: 0}.evo-input__prefix{padding-left:20px;font-size:16px;transition:color .2s}.evo-input__prefix_focused{color:#000}.evo-input__prefix:not(:empty)~.evo-input__field{--evo-input-padding-left: 0}.evo-input__tooltip,.evo-input__icon-clear{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon{margin:0 20px 0 10px}.evo-input__icon img{display:block;width:100%;max-width:60px;height:auto;max-height:22px}.evo-input__tooltip-container{position:absolute;top:calc(100% - 2px);left:0;z-index:1;display:flex;width:100%;padding:10px 10px 10px 20px;color:#212121;line-height:normal;white-space:normal;background-color:#fff8e6;border-radius:4px;box-shadow:0 4px 12px #0003;cursor:default}.evo-input__tooltip-container[hidden]{display:none!important}.evo-input__tooltip-container:before{position:absolute;top:-20px;left:calc(100% - 34px);border:10px solid transparent;border-bottom-color:#fff8e6;pointer-events:none;content:\"\"}@media (min-width: 1200px){.evo-input__tooltip-container{left:calc(50% - 22px)}.evo-input__tooltip-container:before{left:calc(50% - 12px)}}.evo-input__clearable{display:flex;justify-content:center;align-items:center}.evo-input__clearable+.evo-input__additional{margin-left:-10px}.evo-input__additional{display:flex;justify-content:center;align-items:center}.evo-input__additional:not(:last-child) .evo-input__icon{margin-right:10px}.evo-input__additional+.evo-input__loading-spinner{margin-left:0}.evo-input__loading-spinner{margin:0 20px;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}\n"], dependencies: [{ kind: "directive", type: EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "component", type: EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }] }); }
|
|
1279
1282
|
}
|
|
1280
1283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoInputComponent, decorators: [{
|
|
1281
1284
|
type: Component,
|
|
@@ -1290,7 +1293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
1290
1293
|
useExisting: forwardRef(() => EvoInputComponent),
|
|
1291
1294
|
multi: true,
|
|
1292
1295
|
},
|
|
1293
|
-
], standalone: true, imports: [EvoUiClassDirective, EvoIconComponent, NgClass, EvoControlErrorComponent], template: "<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\" />\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\" />\n </div>\n\n @if (prefix) {\n <span class=\"evo-input__prefix\" [evoUiClass]=\"{focused: (!isDisabled && !!value) || uiStates.isFocused}\">\n {{ prefix }}\n </span>\n }\n\n <input\n #input\n type=\"{{ type }}\"\n placeholder=\"{{ placeholder }}\"\n class=\"evo-input__field\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n (focus)=\"
|
|
1296
|
+
], standalone: true, imports: [EvoUiClassDirective, EvoIconComponent, NgClass, EvoControlErrorComponent], template: "<label class=\"evo-input\" [evoUiClass]=\"inputClass\">\n <div class=\"evo-input__prefix-content\">\n <ng-content select=\"[evoInputPrefixContent]\" />\n </div>\n <div class=\"evo-input__prefix-icon\">\n <ng-content select=\"[evoInputIcon]\" />\n </div>\n\n @if (prefix) {\n <span class=\"evo-input__prefix\" [evoUiClass]=\"{focused: (!isDisabled && !!value) || uiStates.isFocused}\">\n {{ prefix }}\n </span>\n }\n\n <input\n #input\n type=\"{{ type }}\"\n placeholder=\"{{ placeholder }}\"\n class=\"evo-input__field\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.data-cp]=\"dataCp\"\n [disabled]=\"isDisabled\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (compositionstart)=\"_compositionStart()\"\n (compositionend)=\"_compositionEnd($event.target.value)\"\n />\n\n @if (loading) {\n <div class=\"evo-input__loading-spinner\"></div>\n } @else {\n @if (isClearable) {\n <div class=\"evo-input__clearable\" (click)=\"onClear()\">\n <evo-icon shape=\"decline\" class=\"evo-input__icon-clear\" />\n </div>\n }\n @if (hasAdditional) {\n <div class=\"evo-input__additional\">\n @if (tooltip || uiStates.hasCustomTooltip) {\n <evo-icon\n shape=\"help\"\n class=\"evo-input__tooltip\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n (click)=\"onTooltipClick($event)\"\n />\n }\n @if (icon) {\n <div class=\"evo-input__icon\">\n <img [attr.src]=\"icon\" />\n </div>\n }\n </div>\n }\n }\n\n @if (!customTooltipChecked || uiStates.isTooltipVisible) {\n <div\n #tooltipContainer\n [hidden]=\"!customTooltipChecked\"\n [ngClass]=\"{'evo-input__tooltip-container': tooltip}\"\n (click)=\"onTooltipClick($event)\"\n (mouseenter)=\"showTooltip()\"\n (mouseleave)=\"hideTooltip()\"\n >\n {{ tooltip }}\n <ng-content select=\"[tooltip]\" />\n </div>\n }\n</label>\n\n@if (showErrors) {\n <evo-control-error [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\" />\n}\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%}}:host{display:inline-block;--evo-input-prefix-content-margin: 0 12px}.evo-input{--evo-input-padding-left: 16px;--evo-input-padding-right: 8px;position:relative;cursor:text}.evo-input_focused{border:solid 1px #74706F}.evo-input_disabled{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}.evo-input_invalid{border-color:#ff1817!important}.evo-input_theme-default{--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-input_theme-default.evo-input_size-small{--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-input_theme-default.evo-input_size-small .evo-input__field{--evo-input-padding-left: 8px;--evo-input-padding-right: 8px}.evo-input_theme-default.evo-input_size-small .evo-input__field:not(:last-child){--evo-input-padding-right: 0}.evo-input_theme-rounded{--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-input_theme-rounded.evo-input_size-small{--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-input_theme-rounded.evo-input_size-small .evo-input__field:last-child{--evo-input-padding-right: 16px}.evo-input_size-small{height:32px}.evo-input_size-small .evo-input__tooltip,.evo-input_size-small .evo-input__loading-spinner{flex:0 0 16px;width:16px;height:16px;margin:0 10px}.evo-input_size-small .evo-input__icon{margin-right:10px}.evo-input_size-small .evo-input__icon img{max-height:16px}.evo-input_size-small .evo-input__tooltip-container{top:100%}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(100% - 28px)}@media (min-width: 1200px){.evo-input_size-small .evo-input__tooltip-container{top:calc(100% + 4px)}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(50% - 6px)}}.evo-input_size-small .evo-input__prefix-icon{width:16px;height:16px}.evo-input_size-small .evo-input__prefix-icon:empty{display:none}.evo-input_size-small .evo-input__icon-clear{width:16px;height:16px}.evo-input__prefix-icon{display:flex;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:12px;fill:#91b1b8}.evo-input__prefix-icon:empty{display:none}.evo-input__prefix-content{display:inline-flex;flex-shrink:0;justify-content:center;align-items:center;margin:var(--evo-input-prefix-content-margin)}.evo-input__prefix-content:empty{display:none}.evo-input__prefix-content:not(:empty)~.evo-input__field{--evo-input-padding-left: 0}.evo-input__field{width:100%;height:100%;margin:0;padding:0 var(--evo-input-padding-right) 0 var(--evo-input-padding-left);color:inherit;font-weight:inherit;font-size:inherit;border:none;border-radius:inherit;outline:none}.evo-input__field::-webkit-input-placeholder{color:#9b9b9b}.evo-input__field::-moz-placeholder{color:#9b9b9b;opacity:1}.evo-input__field:-ms-input-placeholder{color:#9b9b9b}.evo-input__field:disabled{color:#b0b0b0;background-color:#f9fafb!important}.evo-input__field:not(:last-child){--evo-input-padding-right: 0}.evo-input__prefix{padding-left:20px;font-size:16px;transition:color .2s}.evo-input__prefix_focused{color:#000}.evo-input__prefix:not(:empty)~.evo-input__field{--evo-input-padding-left: 0}.evo-input__tooltip,.evo-input__icon-clear{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon{margin:0 20px 0 10px}.evo-input__icon img{display:block;width:100%;max-width:60px;height:auto;max-height:22px}.evo-input__tooltip-container{position:absolute;top:calc(100% - 2px);left:0;z-index:1;display:flex;width:100%;padding:10px 10px 10px 20px;color:#212121;line-height:normal;white-space:normal;background-color:#fff8e6;border-radius:4px;box-shadow:0 4px 12px #0003;cursor:default}.evo-input__tooltip-container[hidden]{display:none!important}.evo-input__tooltip-container:before{position:absolute;top:-20px;left:calc(100% - 34px);border:10px solid transparent;border-bottom-color:#fff8e6;pointer-events:none;content:\"\"}@media (min-width: 1200px){.evo-input__tooltip-container{left:calc(50% - 22px)}.evo-input__tooltip-container:before{left:calc(50% - 12px)}}.evo-input__clearable{display:flex;justify-content:center;align-items:center}.evo-input__clearable+.evo-input__additional{margin-left:-10px}.evo-input__additional{display:flex;justify-content:center;align-items:center}.evo-input__additional:not(:last-child) .evo-input__icon{margin-right:10px}.evo-input__additional+.evo-input__loading-spinner{margin-left:0}.evo-input__loading-spinner{margin:0 20px;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}\n"] }]
|
|
1294
1297
|
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
1295
1298
|
type: Optional
|
|
1296
1299
|
}, {
|
|
@@ -1327,8 +1330,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
1327
1330
|
type: Input
|
|
1328
1331
|
}], maskValidation: [{
|
|
1329
1332
|
type: Input
|
|
1330
|
-
}], blur: [{
|
|
1331
|
-
type: Output
|
|
1332
1333
|
}], inputElement: [{
|
|
1333
1334
|
type: ViewChild,
|
|
1334
1335
|
args: ['input', { static: true }]
|