@cuby-ui/core 0.0.12 → 0.0.13

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 (48) hide show
  1. package/components/input-number/input-number.component.d.ts +9 -4
  2. package/components/input-number/input-number.module.d.ts +4 -3
  3. package/components/input-password/input-password.component.d.ts +8 -4
  4. package/components/input-password/input-password.module.d.ts +2 -1
  5. package/components/input-text/input-text.component.d.ts +9 -6
  6. package/components/input-text/input-text.module.d.ts +2 -1
  7. package/components/textarea/textarea.component.d.ts +3 -2
  8. package/directives/index.d.ts +1 -0
  9. package/directives/text-field-controller/index.d.ts +8 -0
  10. package/directives/text-field-controller/text-field-controller.module.d.ts +11 -0
  11. package/directives/text-field-controller/text-field-controller.provider.d.ts +4 -0
  12. package/directives/text-field-controller/text-field-icon-left.directive.d.ts +9 -0
  13. package/directives/text-field-controller/text-field-id.directive.d.ts +8 -0
  14. package/directives/text-field-controller/text-field-is-error.directive.d.ts +8 -0
  15. package/directives/text-field-controller/text-field-placeholder.directive.d.ts +8 -0
  16. package/directives/text-field-controller/text-field-size.directive.d.ts +9 -0
  17. package/directives/text-field-controller/text-field.controller.d.ts +20 -0
  18. package/esm2020/components/button/button.component.mjs +2 -2
  19. package/esm2020/components/context-menu/context-menu.component.mjs +3 -3
  20. package/esm2020/components/icon-button/icon-button.component.mjs +2 -2
  21. package/esm2020/components/input-number/input-number.component.mjs +35 -14
  22. package/esm2020/components/input-number/input-number.module.mjs +19 -6
  23. package/esm2020/components/input-password/input-password.component.mjs +34 -15
  24. package/esm2020/components/input-password/input-password.module.mjs +9 -4
  25. package/esm2020/components/input-text/input-text.component.mjs +34 -17
  26. package/esm2020/components/input-text/input-text.module.mjs +9 -4
  27. package/esm2020/components/textarea/textarea.component.mjs +13 -11
  28. package/esm2020/directives/index.mjs +2 -0
  29. package/esm2020/directives/text-field-controller/index.mjs +9 -0
  30. package/esm2020/directives/text-field-controller/text-field-controller.module.mjs +40 -0
  31. package/esm2020/directives/text-field-controller/text-field-controller.provider.mjs +24 -0
  32. package/esm2020/directives/text-field-controller/text-field-icon-left.directive.mjs +21 -0
  33. package/esm2020/directives/text-field-controller/text-field-id.directive.mjs +21 -0
  34. package/esm2020/directives/text-field-controller/text-field-is-error.directive.mjs +24 -0
  35. package/esm2020/directives/text-field-controller/text-field-placeholder.directive.mjs +21 -0
  36. package/esm2020/directives/text-field-controller/text-field-size.directive.mjs +24 -0
  37. package/esm2020/directives/text-field-controller/text-field.controller.mjs +25 -0
  38. package/esm2020/index.mjs +3 -2
  39. package/esm2020/interfaces/context-menu-item.mjs +1 -1
  40. package/fesm2015/cuby-ui-core.mjs +312 -68
  41. package/fesm2015/cuby-ui-core.mjs.map +1 -1
  42. package/fesm2020/cuby-ui-core.mjs +312 -68
  43. package/fesm2020/cuby-ui-core.mjs.map +1 -1
  44. package/index.d.ts +2 -1
  45. package/interfaces/context-menu-item.d.ts +1 -0
  46. package/package.json +3 -3
  47. package/styles/mixins/buttons.scss +2 -0
  48. package/styles/mixins/inputs.scss +8 -1
@@ -2,8 +2,11 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Host
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { CUI_INPUT_NUMBER_OPTIONS } from './input-number.options';
4
4
  import { cuiRemoveSpaces, cuiReplace } from '../../utils';
5
+ import { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';
5
6
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "../svg/svg.component";
7
10
  const INPUT_NUMBER_VALUE_ACCESSOR = {
8
11
  provide: NG_VALUE_ACCESSOR,
9
12
  useExisting: forwardRef(() => CuiInputNumberComponent),
@@ -12,6 +15,7 @@ const INPUT_NUMBER_VALUE_ACCESSOR = {
12
15
  export class CuiInputNumberComponent {
13
16
  constructor() {
14
17
  this.changeDetectorRef = inject(ChangeDetectorRef);
18
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
15
19
  this.cuiInputNumberOptions = inject(CUI_INPUT_NUMBER_OPTIONS);
16
20
  this.MIN_JS_NUMBER = -(2 ** 53);
17
21
  this.MAX_JS_NUMBER = 2 ** 53;
@@ -22,7 +26,6 @@ export class CuiInputNumberComponent {
22
26
  this._max = this.calculateValidMaxValue(this.cuiInputNumberOptions.max);
23
27
  this.step = this.cuiInputNumberOptions.step;
24
28
  this.precision = this.cuiInputNumberOptions.precision;
25
- this.isError = false;
26
29
  }
27
30
  set min(min) {
28
31
  this._min = this.calculateValidMinValue(min);
@@ -30,6 +33,21 @@ export class CuiInputNumberComponent {
30
33
  set max(max) {
31
34
  this._max = this.calculateValidMaxValue(max);
32
35
  }
36
+ get id() {
37
+ return this.cuiTextFieldController.id;
38
+ }
39
+ get placeholder() {
40
+ return this.cuiTextFieldController.placeholder;
41
+ }
42
+ get iconLeft() {
43
+ return this.cuiTextFieldController.iconLeft;
44
+ }
45
+ get size() {
46
+ return this.cuiTextFieldController.size;
47
+ }
48
+ get isError() {
49
+ return this.cuiTextFieldController.isError;
50
+ }
33
51
  writeValue(value) {
34
52
  this.value = value?.toString() ?? null;
35
53
  this.formattedValue = this.formatValue(this.value);
@@ -153,23 +171,20 @@ export class CuiInputNumberComponent {
153
171
  }
154
172
  }
155
173
  CuiInputNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
156
- CuiInputNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: { step: "step", precision: "precision", isError: "isError", inputId: "inputId", inputPlaceholder: "inputPlaceholder", min: "min", max: "max" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._with-error": "this.isError", "class._disabled": "this.isDisabled" } }, providers: [INPUT_NUMBER_VALUE_ACCESSOR], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n #input\n [ngModel]=\"formattedValue\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"inputPlaceholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.arrowDown)=\"onArrowDown()\"\n>\n", styles: [":host{padding:8px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
174
+ CuiInputNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: { step: "step", precision: "precision", min: "min", max: "max" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
175
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
176
+ INPUT_NUMBER_VALUE_ACCESSOR
177
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"formattedValue\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.arrowDown)=\"onArrowDown()\"\n>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
157
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberComponent, decorators: [{
158
179
  type: Component,
159
- args: [{ selector: 'cui-input-number', changeDetection: ChangeDetectionStrategy.OnPush, providers: [INPUT_NUMBER_VALUE_ACCESSOR], template: "<input\n #input\n [ngModel]=\"formattedValue\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"inputPlaceholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.arrowDown)=\"onArrowDown()\"\n>\n", styles: [":host{padding:8px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}\n"] }]
180
+ args: [{ selector: 'cui-input-number', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
181
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
182
+ INPUT_NUMBER_VALUE_ACCESSOR
183
+ ], template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"formattedValue\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.arrowDown)=\"onArrowDown()\"\n>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}\n"] }]
160
184
  }], propDecorators: { step: [{
161
185
  type: Input
162
186
  }], precision: [{
163
187
  type: Input
164
- }], isError: [{
165
- type: Input
166
- }, {
167
- type: HostBinding,
168
- args: ['class._with-error']
169
- }], inputId: [{
170
- type: Input
171
- }], inputPlaceholder: [{
172
- type: Input
173
188
  }], min: [{
174
189
  type: Input
175
190
  }], max: [{
@@ -180,8 +195,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
180
195
  }], input: [{
181
196
  type: ViewChild,
182
197
  args: ['input']
198
+ }], size: [{
199
+ type: HostBinding,
200
+ args: ['attr.data-size']
201
+ }], isError: [{
202
+ type: HostBinding,
203
+ args: ['class._with-error']
183
204
  }], onFocus: [{
184
205
  type: HostListener,
185
206
  args: ['click']
186
207
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQXlCLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUUxRCxNQUFNLDJCQUEyQixHQUFHO0lBQ2xDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBUW1CLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRXZELGtCQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzQixrQkFBYSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsc0JBQWlCLEdBQUcsb0JBQW9CLENBQUM7UUFDekMsNEJBQXVCLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLFNBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLFNBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBTXRFLFNBQUksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDO1FBR3ZDLGNBQVMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDO1FBSWpELFlBQU8sR0FBRyxLQUFLLENBQUM7S0FvTXhCO0lBNUxDLElBQ1csR0FBRyxDQUFDLEdBQVc7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQ1csR0FBRyxDQUFDLEdBQVc7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQVFNLFVBQVUsQ0FBQyxLQUEwQjtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQXVCO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFnQjtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsVUFBbUI7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFUyxPQUFPLENBQUMsS0FBWTtRQUM1QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUNyRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFDcEUsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRW5ELElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXhDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYztjQUN2QyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRVMsU0FBUztRQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHUyxPQUFPO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFVBQWtCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFVBQWtCO1FBQzFDLE1BQU0sQ0FBQyxFQUFFLFlBQVksR0FBRyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLFVBQVUsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDdkMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksVUFBVSxLQUFLLEdBQUcsSUFBSSxVQUFVLEtBQUssR0FBRyxJQUFJLFVBQVUsS0FBSyxJQUFJLElBQUksVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUN4RixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxVQUFVLENBQ2hDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFDM0IsR0FBRyxFQUNILEdBQUcsQ0FDSixDQUFDO1FBRUYsT0FBTyxjQUFjLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUNwRSxDQUFDO0lBRU8sdUJBQXVCLENBQUMsWUFBWSxHQUFHLEVBQUU7UUFDL0MsT0FBTyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDL0MsQ0FBQztJQUVPLFVBQVUsQ0FBQyxVQUFrQjtRQUNuQyxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2RCxRQUFRLGtCQUFrQixFQUFFO1lBQzFCLEtBQUssR0FBRztnQkFDTixPQUFPLElBQUksQ0FBQztZQUVkLEtBQUssSUFBSTtnQkFDUCxPQUFPLEtBQUssQ0FBQztZQUVmO2dCQUNFLE9BQU8sVUFBVSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsS0FBMEI7UUFDNUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckQsSUFBSSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDO1FBRXpFLElBQUksWUFBWSxLQUFLLFNBQVMsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzNGLGdCQUFnQixHQUFHLElBQUksQ0FBQztTQUN6QjtRQUVELE9BQU8sWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDL0YsQ0FBQztJQUVPLHdCQUF3QixDQUFDLEtBQWE7UUFDNUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsY0FBYyxJQUFJLENBQUMsdUJBQXVCLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV2RixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUc7WUFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUVoRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3JCLE9BQU87U0FDUjtRQUVELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV4QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUc7WUFDOUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRWhFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDckIsT0FBTztTQUNSO1FBRUQsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxZQUFvQjtRQUNqRCxPQUFPLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYTtZQUN2QyxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxZQUFvQjtRQUNqRCxPQUFPLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYTtZQUN2QyxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3pCLENBQUM7O3FIQTNOVSx1QkFBdUI7eUdBQXZCLHVCQUF1Qiw2VUFGdkIsQ0FBQywyQkFBMkIsQ0FBQywwSEM3QjFDLHNVQWFBOzRGRGtCYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQywyQkFBMkIsQ0FBQzs4QkFtQmpDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0MsT0FBTztzQkFGYixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFJekIsT0FBTztzQkFEYixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFJSyxHQUFHO3NCQURiLEtBQUs7Z0JBTUssR0FBRztzQkFEYixLQUFLO2dCQU1JLFVBQVU7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUlwQixLQUFLO3NCQURkLFNBQVM7dUJBQUMsT0FBTztnQkFzRFIsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEN1aU51bGxhYmxlLCBDdWlPbkNoYW5nZSwgQ3VpT25Ub3VjaGVkIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcblxuaW1wb3J0IHsgQ1VJX0lOUFVUX05VTUJFUl9PUFRJT05TLCBDdWlJbnB1dE51bWJlck9wdGlvbnMgfSBmcm9tICcuL2lucHV0LW51bWJlci5vcHRpb25zJztcbmltcG9ydCB7IGN1aVJlbW92ZVNwYWNlcywgY3VpUmVwbGFjZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuY29uc3QgSU5QVVRfTlVNQkVSX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VpLWlucHV0LW51bWJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIudGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LW51bWJlci5zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtJTlBVVF9OVU1CRVJfVkFMVUVfQUNDRVNTT1JdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUlucHV0TnVtYmVyQ29tcG9uZW50IGltcGxlbWVudHMgQ3VpSW5wdXROdW1iZXJPcHRpb25zLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGN1aUlucHV0TnVtYmVyT3B0aW9ucyA9IGluamVjdChDVUlfSU5QVVRfTlVNQkVSX09QVElPTlMpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBNSU5fSlNfTlVNQkVSID0gLSgyICoqIDUzKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IE1BWF9KU19OVU1CRVIgPSAyICoqIDUzO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgSU5QVVRfVkFMVUVfUkVHRVggPSAvXi0/W1xcZFxcc10qKCxcXGQqKT8kLztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IElOVEVSVkFMX0JFVFdFRU5fU1BBQ0VTID0gMztcblxuICBwcm90ZWN0ZWQgZm9ybWF0dGVkVmFsdWUgPSAnJztcbiAgcHJvdGVjdGVkIF9taW4gPSB0aGlzLmNhbGN1bGF0ZVZhbGlkTWluVmFsdWUodGhpcy5jdWlJbnB1dE51bWJlck9wdGlvbnMubWluKTtcbiAgcHJvdGVjdGVkIF9tYXggPSB0aGlzLmNhbGN1bGF0ZVZhbGlkTWF4VmFsdWUodGhpcy5jdWlJbnB1dE51bWJlck9wdGlvbnMubWF4KTtcbiAgcHJvdGVjdGVkIHZhbHVlITogQ3VpTnVsbGFibGU8c3RyaW5nPjtcbiAgcHJvdGVjdGVkIG9uQ2hhbmdlITogQ3VpT25DaGFuZ2U8bnVtYmVyPjtcbiAgcHJvdGVjdGVkIG9uVG91Y2hlZCE6IEN1aU9uVG91Y2hlZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc3RlcCA9IHRoaXMuY3VpSW5wdXROdW1iZXJPcHRpb25zLnN0ZXA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHByZWNpc2lvbiA9IHRoaXMuY3VpSW5wdXROdW1iZXJPcHRpb25zLnByZWNpc2lvbjtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl93aXRoLWVycm9yJylcbiAgcHVibGljIGlzRXJyb3IgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5wdXRJZD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5wdXRQbGFjZWhvbGRlcj86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1pbihtaW46IG51bWJlcikge1xuICAgIHRoaXMuX21pbiA9IHRoaXMuY2FsY3VsYXRlVmFsaWRNaW5WYWx1ZShtaW4pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtYXgobWF4OiBudW1iZXIpIHtcbiAgICB0aGlzLl9tYXggPSB0aGlzLmNhbGN1bGF0ZVZhbGlkTWF4VmFsdWUobWF4KTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuX2Rpc2FibGVkJylcbiAgcHJvdGVjdGVkIGlzRGlzYWJsZWQhOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JylcbiAgcHJvdGVjdGVkIGlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogQ3VpTnVsbGFibGU8bnVtYmVyPik6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZT8udG9TdHJpbmcoKSA/PyBudWxsO1xuICAgIHRoaXMuZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmZvcm1hdFZhbHVlKHRoaXMudmFsdWUpO1xuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBDdWlPbkNoYW5nZTxudW1iZXI+KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBDdWlPblRvdWNoZWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCB0YXJnZXRWYWx1ZSA9IGV2ZW50VGFyZ2V0LnZhbHVlO1xuICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID8/IDA7XG4gICAgY29uc3QgcHJldmlvdXNGb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc0lucHV0VmFsdWVDb3JyZWN0KHRhcmdldFZhbHVlKSkge1xuICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSB0aGlzLnBhcnNlVmFsdWUodGFyZ2V0VmFsdWUpO1xuXG4gICAgICB0aGlzLmNoYW5nZU1vZGVsKHBhcnNlZFZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICBldmVudFRhcmdldC52YWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG5cbiAgICBjb25zdCBjdXJyZW50Q2FyZXRQb3NpdGlvbiA9IHNlbGVjdGlvblN0YXJ0XG4gICAgICArICh0aGlzLmZvcm1hdHRlZFZhbHVlLmxlbmd0aCAtIHByZXZpb3VzRm9ybWF0dGVkVmFsdWUubGVuZ3RoID09PSAyID8gMSA6IDApO1xuXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKGN1cnJlbnRDYXJldFBvc2l0aW9uLCBjdXJyZW50Q2FyZXRQb3NpdGlvbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25BcnJvd1VwKCk6IHZvaWQge1xuICAgIHRoaXMuaW5jcmVhc2VCeVN0ZXAoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkFycm93RG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmRlY3JlYXNlQnlTdGVwKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHByb3RlY3RlZCBvbkZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0lucHV0VmFsdWVDb3JyZWN0KGlucHV0VmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLklOUFVUX1ZBTFVFX1JFR0VYLnRlc3QoaW5wdXRWYWx1ZSkgJiYgdGhpcy5pc0lucHV0VmFsdWVWYWxpZChpbnB1dFZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNJbnB1dFZhbHVlVmFsaWQoaW5wdXRWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgWywgZnJhY3Rpb25QYXJ0ID0gJyddID0gaW5wdXRWYWx1ZS5zcGxpdCgnLCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaXNOdW1iZXJWYWxpZChpbnB1dFZhbHVlKSAmJiB0aGlzLmlzUHJlY2lzaW9uQ291bnRDb3JyZWN0KGZyYWN0aW9uUGFydCk7XG4gIH1cblxuICBwcml2YXRlIGlzTnVtYmVyVmFsaWQoaW5wdXRWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGlucHV0VmFsdWUgPT09ICctJyAmJiB0aGlzLl9taW4gPiAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGlucHV0VmFsdWUgPT09ICcsJyB8fCBpbnB1dFZhbHVlID09PSAnLScgfHwgaW5wdXRWYWx1ZSA9PT0gJy0sJyB8fCBpbnB1dFZhbHVlID09PSAnJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgY29udmVydGVkVmFsdWUgPSArY3VpUmVwbGFjZShcbiAgICAgIGN1aVJlbW92ZVNwYWNlcyhpbnB1dFZhbHVlKSxcbiAgICAgICcsJyxcbiAgICAgICcuJ1xuICAgICk7XG5cbiAgICByZXR1cm4gY29udmVydGVkVmFsdWUgPD0gdGhpcy5fbWF4ICYmIGNvbnZlcnRlZFZhbHVlID49IHRoaXMuX21pbjtcbiAgfVxuXG4gIHByaXZhdGUgaXNQcmVjaXNpb25Db3VudENvcnJlY3QoZnJhY3Rpb25QYXJ0ID0gJycpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZnJhY3Rpb25QYXJ0Lmxlbmd0aCA8PSB0aGlzLnByZWNpc2lvbjtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VWYWx1ZShpbnB1dFZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlV2l0aG91dFNwYWNlcyA9IGN1aVJlbW92ZVNwYWNlcyhpbnB1dFZhbHVlKTtcblxuICAgIHN3aXRjaCAodmFsdWVXaXRob3V0U3BhY2VzKSB7XG4gICAgICBjYXNlICcsJzpcbiAgICAgICAgcmV0dXJuICcwLic7XG5cbiAgICAgIGNhc2UgJy0sJzpcbiAgICAgICAgcmV0dXJuICctMC4nO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gY3VpUmVwbGFjZSh2YWx1ZVdpdGhvdXRTcGFjZXMsICcsJywgJy4nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFZhbHVlKHZhbHVlOiBDdWlOdWxsYWJsZTxzdHJpbmc+KTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgW2ludGVnZXJQYXJ0LCBmcmFjdGlvblBhcnRdID0gdmFsdWUuc3BsaXQoJy4nKTtcbiAgICBsZXQgZm9ybWF0dGVkSW50ZWdlciA9IHRoaXMuaW5zZXJ0U3BhY2VzV2l0aEludGVydmFsKGludGVnZXJQYXJ0KSB8fCAnMCc7XG5cbiAgICBpZiAoZnJhY3Rpb25QYXJ0ICE9PSB1bmRlZmluZWQgJiYgaW50ZWdlclBhcnQuc3RhcnRzV2l0aCgnLScpICYmICFmb3JtYXR0ZWRJbnRlZ2VyLnNsaWNlKDEpKSB7XG4gICAgICBmb3JtYXR0ZWRJbnRlZ2VyID0gJy0wJztcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhY3Rpb25QYXJ0ICE9PSB1bmRlZmluZWQgPyBgJHtmb3JtYXR0ZWRJbnRlZ2VyfSwke2ZyYWN0aW9uUGFydH1gIDogZm9ybWF0dGVkSW50ZWdlcjtcbiAgfVxuXG4gIHByaXZhdGUgaW5zZXJ0U3BhY2VzV2l0aEludGVydmFsKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChgXFxcXEIoPz0oXFxcXGR7JHt0aGlzLklOVEVSVkFMX0JFVFdFRU5fU1BBQ0VTfX0pKyg/IVxcXFxkKSlgLCAnZycpO1xuXG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UocmVnZXgsICcgJyk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZU1vZGVsKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlID09PSAnLScgPyAwIDogK3ZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5jcmVhc2VCeVN0ZXAoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlID09PSAnLSdcbiAgICAgID8gdGhpcy5zdGVwXG4gICAgICA6ICgrKE51bWJlcih0aGlzLnZhbHVlKSArIHRoaXMuc3RlcCkudG9GaXhlZCh0aGlzLnByZWNpc2lvbikpO1xuXG4gICAgaWYgKHZhbHVlID4gdGhpcy5fbWF4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29udmVydGVkVmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuXG4gICAgdGhpcy5mb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0VmFsdWUoY29udmVydGVkVmFsdWUpO1xuXG4gICAgdGhpcy5jaGFuZ2VNb2RlbChjb252ZXJ0ZWRWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGRlY3JlYXNlQnlTdGVwKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSA9PT0gJy0nXG4gICAgICA/IC10aGlzLnN0ZXBcbiAgICAgIDogKCsoTnVtYmVyKHRoaXMudmFsdWUpIC0gdGhpcy5zdGVwKS50b0ZpeGVkKHRoaXMucHJlY2lzaW9uKSk7XG5cbiAgICBpZiAodmFsdWUgPCB0aGlzLl9taW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG5cbiAgICB0aGlzLmZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZShjb252ZXJ0ZWRWYWx1ZSk7XG5cbiAgICB0aGlzLmNoYW5nZU1vZGVsKGNvbnZlcnRlZFZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVmFsaWRNaW5WYWx1ZShpbml0aWFsVmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluaXRpYWxWYWx1ZSA+PSB0aGlzLk1JTl9KU19OVU1CRVJcbiAgICAgID8gaW5pdGlhbFZhbHVlXG4gICAgICA6IHRoaXMuTUlOX0pTX05VTUJFUjtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVmFsaWRNYXhWYWx1ZShpbml0aWFsVmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluaXRpYWxWYWx1ZSA8PSB0aGlzLk1BWF9KU19OVU1CRVJcbiAgICAgID8gaW5pdGlhbFZhbHVlXG4gICAgICA6IHRoaXMuTUFYX0pTX05VTUJFUjtcbiAgfVxufVxuIiwiPGlucHV0XG4gICNpbnB1dFxuICBbbmdNb2RlbF09XCJmb3JtYXR0ZWRWYWx1ZVwiXG4gIFthdHRyLmlkXT1cImlucHV0SWRcIlxuICBbYXR0ci5wbGFjZWhvbGRlcl09XCJpbnB1dFBsYWNlaG9sZGVyXCJcbiAgdHlwZT1cInRleHRcIlxuICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIGNsYXNzPVwiYy1pbnB1dFwiXG4gIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAoZm9jdXMpPVwib25Ub3VjaGVkKClcIlxuICAoa2V5ZG93bi5hcnJvd1VwKT1cIm9uQXJyb3dVcCgpXCJcbiAgKGtleWRvd24uYXJyb3dEb3duKT1cIm9uQXJyb3dEb3duKClcIlxuPlxuIl19
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQXlCLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBRWpHLE1BQU0sMkJBQTJCLEdBQUc7SUFDbEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVlGLE1BQU0sT0FBTyx1QkFBdUI7SUFWcEM7UUFXbUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDM0QsMEJBQXFCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFdkQsa0JBQWEsR0FB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QUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULGtDQUFrQzt3QkFDbEMsMkJBQTJCO3FCQUM1Qjs4QkFvQk0sSUFBSTtzQkFEVixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJSyxHQUFHO3NCQURiLEtBQUs7Z0JBTUssR0FBRztzQkFEYixLQUFLO2dCQU1JLFVBQVU7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUlwQixLQUFLO3NCQURkLFNBQVM7dUJBQUMsT0FBTztnQkFnQkosSUFBSTtzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWYsT0FBTztzQkFEcEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBd0R0QixPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3VpTnVsbGFibGUsIEN1aU9uQ2hhbmdlLCBDdWlPblRvdWNoZWQgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpSWNvbiB9IGZyb20gJ0BjdWJ5LXVpL2ljb25zJztcblxuaW1wb3J0IHsgQ1VJX0lOUFVUX05VTUJFUl9PUFRJT05TLCBDdWlJbnB1dE51bWJlck9wdGlvbnMgfSBmcm9tICcuL2lucHV0LW51bWJlci5vcHRpb25zJztcbmltcG9ydCB7IGN1aVJlbW92ZVNwYWNlcywgY3VpUmVwbGFjZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEN1aVNpemVNZCwgQ3VpU2l6ZVNtIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ1VJX1RFWFRfRklFTERfQ09OVFJPTExFUiwgQ1VJX1RFWFRfRklMRURfQ09OVFJPTExFUl9QUk9WSURFUiB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuXG5jb25zdCBJTlBVVF9OVU1CRVJfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdWlJbnB1dE51bWJlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdWktaW5wdXQtbnVtYmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbnVtYmVyLnN0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIENVSV9URVhUX0ZJTEVEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgSU5QVVRfTlVNQkVSX1ZBTFVFX0FDQ0VTU09SXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3VpSW5wdXROdW1iZXJDb21wb25lbnQgaW1wbGVtZW50cyBDdWlJbnB1dE51bWJlck9wdGlvbnMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VpVGV4dEZpZWxkQ29udHJvbGxlciA9IGluamVjdChDVUlfVEVYVF9GSUVMRF9DT05UUk9MTEVSKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjdWlJbnB1dE51bWJlck9wdGlvbnMgPSBpbmplY3QoQ1VJX0lOUFVUX05VTUJFUl9PUFRJT05TKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTUlOX0pTX05VTUJFUiA9IC0oMiAqKiA1Myk7XG4gIHByb3RlY3RlZCByZWFkb25seSBNQVhfSlNfTlVNQkVSID0gMiAqKiA1MztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IElOUFVUX1ZBTFVFX1JFR0VYID0gL14tP1tcXGRcXHNdKigsXFxkKik/JC87XG4gIHByb3RlY3RlZCByZWFkb25seSBJTlRFUlZBTF9CRVRXRUVOX1NQQUNFUyA9IDM7XG5cbiAgcHJvdGVjdGVkIGZvcm1hdHRlZFZhbHVlID0gJyc7XG4gIHByb3RlY3RlZCBfbWluID0gdGhpcy5jYWxjdWxhdGVWYWxpZE1pblZhbHVlKHRoaXMuY3VpSW5wdXROdW1iZXJPcHRpb25zLm1pbik7XG4gIHByb3RlY3RlZCBfbWF4ID0gdGhpcy5jYWxjdWxhdGVWYWxpZE1heFZhbHVlKHRoaXMuY3VpSW5wdXROdW1iZXJPcHRpb25zLm1heCk7XG4gIHByb3RlY3RlZCB2YWx1ZSE6IEN1aU51bGxhYmxlPHN0cmluZz47XG4gIHByb3RlY3RlZCBvbkNoYW5nZSE6IEN1aU9uQ2hhbmdlPG51bWJlcj47XG4gIHByb3RlY3RlZCBvblRvdWNoZWQhOiBDdWlPblRvdWNoZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0ZXAgPSB0aGlzLmN1aUlucHV0TnVtYmVyT3B0aW9ucy5zdGVwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmVjaXNpb24gPSB0aGlzLmN1aUlucHV0TnVtYmVyT3B0aW9ucy5wcmVjaXNpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtaW4obWluOiBudW1iZXIpIHtcbiAgICB0aGlzLl9taW4gPSB0aGlzLmNhbGN1bGF0ZVZhbGlkTWluVmFsdWUobWluKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWF4KG1heDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWF4ID0gdGhpcy5jYWxjdWxhdGVWYWxpZE1heFZhbHVlKG1heCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9kaXNhYmxlZCcpXG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkITogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIHByb3RlY3RlZCBpbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJvdGVjdGVkIGdldCBpZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY3VpVGV4dEZpZWxkQ29udHJvbGxlci5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaWNvbkxlZnQoKTogQ3VpSWNvbiB8IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY3VpVGV4dEZpZWxkQ29udHJvbGxlci5pY29uTGVmdDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICBwcm90ZWN0ZWQgZ2V0IHNpemUoKTogQ3VpU2l6ZVNtIHwgQ3VpU2l6ZU1kIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLnNpemU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl93aXRoLWVycm9yJylcbiAgcHJvdGVjdGVkIGdldCBpc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaXNFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBDdWlOdWxsYWJsZTxudW1iZXI+KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlPy50b1N0cmluZygpID8/IG51bGw7XG4gICAgdGhpcy5mb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0VmFsdWUodGhpcy52YWx1ZSk7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEN1aU9uQ2hhbmdlPG51bWJlcj4pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEN1aU9uVG91Y2hlZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IHRhcmdldFZhbHVlID0gZXZlbnRUYXJnZXQudmFsdWU7XG4gICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPz8gMDtcbiAgICBjb25zdCBwcmV2aW91c0Zvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcblxuICAgIGlmICh0aGlzLmlzSW5wdXRWYWx1ZUNvcnJlY3QodGFyZ2V0VmFsdWUpKSB7XG4gICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IHRoaXMucGFyc2VWYWx1ZSh0YXJnZXRWYWx1ZSk7XG5cbiAgICAgIHRoaXMuY2hhbmdlTW9kZWwocGFyc2VkVmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmZvcm1hdFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIGV2ZW50VGFyZ2V0LnZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcblxuICAgIGNvbnN0IGN1cnJlbnRDYXJldFBvc2l0aW9uID0gc2VsZWN0aW9uU3RhcnRcbiAgICAgICsgKHRoaXMuZm9ybWF0dGVkVmFsdWUubGVuZ3RoIC0gcHJldmlvdXNGb3JtYXR0ZWRWYWx1ZS5sZW5ndGggPT09IDIgPyAxIDogMCk7XG5cbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoY3VycmVudENhcmV0UG9zaXRpb24sIGN1cnJlbnRDYXJldFBvc2l0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkFycm93VXAoKTogdm9pZCB7XG4gICAgdGhpcy5pbmNyZWFzZUJ5U3RlcCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQXJyb3dEb3duKCk6IHZvaWQge1xuICAgIHRoaXMuZGVjcmVhc2VCeVN0ZXAoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHJvdGVjdGVkIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGlzSW5wdXRWYWx1ZUNvcnJlY3QoaW5wdXRWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuSU5QVVRfVkFMVUVfUkVHRVgudGVzdChpbnB1dFZhbHVlKSAmJiB0aGlzLmlzSW5wdXRWYWx1ZVZhbGlkKGlucHV0VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0lucHV0VmFsdWVWYWxpZChpbnB1dFZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBbLCBmcmFjdGlvblBhcnQgPSAnJ10gPSBpbnB1dFZhbHVlLnNwbGl0KCcsJyk7XG5cbiAgICByZXR1cm4gdGhpcy5pc051bWJlclZhbGlkKGlucHV0VmFsdWUpICYmIHRoaXMuaXNQcmVjaXNpb25Db3VudENvcnJlY3QoZnJhY3Rpb25QYXJ0KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNOdW1iZXJWYWxpZChpbnB1dFZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoaW5wdXRWYWx1ZSA9PT0gJy0nICYmIHRoaXMuX21pbiA+IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoaW5wdXRWYWx1ZSA9PT0gJywnIHx8IGlucHV0VmFsdWUgPT09ICctJyB8fCBpbnB1dFZhbHVlID09PSAnLSwnIHx8IGlucHV0VmFsdWUgPT09ICcnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9ICtjdWlSZXBsYWNlKFxuICAgICAgY3VpUmVtb3ZlU3BhY2VzKGlucHV0VmFsdWUpLFxuICAgICAgJywnLFxuICAgICAgJy4nXG4gICAgKTtcblxuICAgIHJldHVybiBjb252ZXJ0ZWRWYWx1ZSA8PSB0aGlzLl9tYXggJiYgY29udmVydGVkVmFsdWUgPj0gdGhpcy5fbWluO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1ByZWNpc2lvbkNvdW50Q29ycmVjdChmcmFjdGlvblBhcnQgPSAnJyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmcmFjdGlvblBhcnQubGVuZ3RoIDw9IHRoaXMucHJlY2lzaW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVZhbHVlKGlucHV0VmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWVXaXRob3V0U3BhY2VzID0gY3VpUmVtb3ZlU3BhY2VzKGlucHV0VmFsdWUpO1xuXG4gICAgc3dpdGNoICh2YWx1ZVdpdGhvdXRTcGFjZXMpIHtcbiAgICAgIGNhc2UgJywnOlxuICAgICAgICByZXR1cm4gJzAuJztcblxuICAgICAgY2FzZSAnLSwnOlxuICAgICAgICByZXR1cm4gJy0wLic7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBjdWlSZXBsYWNlKHZhbHVlV2l0aG91dFNwYWNlcywgJywnLCAnLicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0VmFsdWUodmFsdWU6IEN1aU51bGxhYmxlPHN0cmluZz4pOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBbaW50ZWdlclBhcnQsIGZyYWN0aW9uUGFydF0gPSB2YWx1ZS5zcGxpdCgnLicpO1xuICAgIGxldCBmb3JtYXR0ZWRJbnRlZ2VyID0gdGhpcy5pbnNlcnRTcGFjZXNXaXRoSW50ZXJ2YWwoaW50ZWdlclBhcnQpIHx8ICcwJztcblxuICAgIGlmIChmcmFjdGlvblBhcnQgIT09IHVuZGVmaW5lZCAmJiBpbnRlZ2VyUGFydC5zdGFydHNXaXRoKCctJykgJiYgIWZvcm1hdHRlZEludGVnZXIuc2xpY2UoMSkpIHtcbiAgICAgIGZvcm1hdHRlZEludGVnZXIgPSAnLTAnO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFjdGlvblBhcnQgIT09IHVuZGVmaW5lZCA/IGAke2Zvcm1hdHRlZEludGVnZXJ9LCR7ZnJhY3Rpb25QYXJ0fWAgOiBmb3JtYXR0ZWRJbnRlZ2VyO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnNlcnRTcGFjZXNXaXRoSW50ZXJ2YWwodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBcXFxcQig/PShcXFxcZHske3RoaXMuSU5URVJWQUxfQkVUV0VFTl9TUEFDRVN9fSkrKD8hXFxcXGQpKWAsICdnJyk7XG5cbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShyZWdleCwgJyAnKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlTW9kZWwodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgIHRoaXMub25DaGFuZ2UodmFsdWUgPT09ICctJyA/IDAgOiArdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmNyZWFzZUJ5U3RlcCgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUgPT09ICctJ1xuICAgICAgPyB0aGlzLnN0ZXBcbiAgICAgIDogKCsoTnVtYmVyKHRoaXMudmFsdWUpICsgdGhpcy5zdGVwKS50b0ZpeGVkKHRoaXMucHJlY2lzaW9uKSk7XG5cbiAgICBpZiAodmFsdWUgPiB0aGlzLl9tYXgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG5cbiAgICB0aGlzLmZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZShjb252ZXJ0ZWRWYWx1ZSk7XG5cbiAgICB0aGlzLmNoYW5nZU1vZGVsKGNvbnZlcnRlZFZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVjcmVhc2VCeVN0ZXAoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlID09PSAnLSdcbiAgICAgID8gLXRoaXMuc3RlcFxuICAgICAgOiAoKyhOdW1iZXIodGhpcy52YWx1ZSkgLSB0aGlzLnN0ZXApLnRvRml4ZWQodGhpcy5wcmVjaXNpb24pKTtcblxuICAgIGlmICh2YWx1ZSA8IHRoaXMuX21pbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnZlcnRlZFZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcblxuICAgIHRoaXMuZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmZvcm1hdFZhbHVlKGNvbnZlcnRlZFZhbHVlKTtcblxuICAgIHRoaXMuY2hhbmdlTW9kZWwoY29udmVydGVkVmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVWYWxpZE1pblZhbHVlKGluaXRpYWxWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5pdGlhbFZhbHVlID49IHRoaXMuTUlOX0pTX05VTUJFUlxuICAgICAgPyBpbml0aWFsVmFsdWVcbiAgICAgIDogdGhpcy5NSU5fSlNfTlVNQkVSO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVWYWxpZE1heFZhbHVlKGluaXRpYWxWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5pdGlhbFZhbHVlIDw9IHRoaXMuTUFYX0pTX05VTUJFUlxuICAgICAgPyBpbml0aWFsVmFsdWVcbiAgICAgIDogdGhpcy5NQVhfSlNfTlVNQkVSO1xuICB9XG59XG4iLCI8Y3VpLXN2Z1xuICAqbmdJZj1cImljb25MZWZ0XCJcbiAgW2ljb25dPVwiaWNvbkxlZnRcIlxuPjwvY3VpLXN2Zz5cbjxpbnB1dFxuICAjaW5wdXRcbiAgW25nTW9kZWxdPVwiZm9ybWF0dGVkVmFsdWVcIlxuICBbYXR0ci5pZF09XCJpZFwiXG4gIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgdHlwZT1cInRleHRcIlxuICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIGNsYXNzPVwiYy1pbnB1dFwiXG4gIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAoZm9jdXMpPVwib25Ub3VjaGVkKClcIlxuICAoa2V5ZG93bi5hcnJvd1VwKT1cIm9uQXJyb3dVcCgpXCJcbiAgKGtleWRvd24uYXJyb3dEb3duKT1cIm9uQXJyb3dEb3duKClcIlxuPlxuIl19
@@ -1,20 +1,33 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
3
4
  import { CuiInputNumberComponent } from './input-number.component';
4
5
  import { CuiSvgModule } from '../svg';
5
- import { FormsModule } from '@angular/forms';
6
+ import { CuiTextFieldControllerModule } from '../../directives';
6
7
  import * as i0 from "@angular/core";
7
8
  export class CuiInputNumberModule {
8
9
  }
9
10
  CuiInputNumberModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- CuiInputNumberModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, declarations: [CuiInputNumberComponent], imports: [CommonModule, CuiSvgModule, FormsModule], exports: [CuiInputNumberComponent] });
11
- CuiInputNumberModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, imports: [CommonModule, CuiSvgModule, FormsModule] });
11
+ CuiInputNumberModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, declarations: [CuiInputNumberComponent], imports: [CommonModule,
12
+ FormsModule,
13
+ CuiSvgModule], exports: [CuiInputNumberComponent,
14
+ CuiTextFieldControllerModule] });
15
+ CuiInputNumberModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, imports: [CommonModule,
16
+ FormsModule,
17
+ CuiSvgModule, CuiTextFieldControllerModule] });
12
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputNumberModule, decorators: [{
13
19
  type: NgModule,
14
20
  args: [{
15
- imports: [CommonModule, CuiSvgModule, FormsModule],
21
+ imports: [
22
+ CommonModule,
23
+ FormsModule,
24
+ CuiSvgModule
25
+ ],
16
26
  declarations: [CuiInputNumberComponent],
17
- exports: [CuiInputNumberComponent]
27
+ exports: [
28
+ CuiInputNumberComponent,
29
+ CuiTextFieldControllerModule
30
+ ]
18
31
  }]
19
32
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPN0MsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQUhoQix1QkFBdUIsYUFENUIsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLGFBRXZDLHVCQUF1QjttSEFFdEIsb0JBQW9CLFlBSnJCLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVzs0RkFJdEMsb0JBQW9CO2tCQUxoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNsRCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEN1aUlucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEN1aVN2Z01vZHVsZSB9IGZyb20gJy4uL3N2Zyc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ3VpU3ZnTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0N1aUlucHV0TnVtYmVyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0N1aUlucHV0TnVtYmVyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBDdWlJbnB1dE51bWJlck1vZHVsZSB7XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFjaEUsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQU5oQix1QkFBdUIsYUFKcEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZLGFBSVosdUJBQXVCO1FBQ3ZCLDRCQUE0QjttSEFHbkIsb0JBQW9CLFlBVjdCLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWSxFQUtaLDRCQUE0Qjs0RkFHbkIsb0JBQW9CO2tCQVpoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEN1aUlucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEN1aVN2Z01vZHVsZSB9IGZyb20gJy4uL3N2Zyc7XG5pbXBvcnQgeyBDdWlUZXh0RmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ3VpU3ZnTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW0N1aUlucHV0TnVtYmVyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1xuICAgIEN1aUlucHV0TnVtYmVyQ29tcG9uZW50LFxuICAgIEN1aVRleHRGaWVsZENvbnRyb2xsZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlJbnB1dE51bWJlck1vZHVsZSB7XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, inject, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, inject } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "@angular/forms";
@@ -12,8 +13,17 @@ const INPUT_PASSWORD_VALUE_ACCESSOR = {
12
13
  export class CuiInputPasswordComponent {
13
14
  constructor() {
14
15
  this.changeDetectorRef = inject(ChangeDetectorRef);
16
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
15
17
  this.isPasswordHidden = true;
16
- this.isError = false;
18
+ }
19
+ get id() {
20
+ return this.cuiTextFieldController.id;
21
+ }
22
+ get placeholder() {
23
+ return this.cuiTextFieldController.placeholder;
24
+ }
25
+ get iconLeft() {
26
+ return this.cuiTextFieldController.iconLeft;
17
27
  }
18
28
  get isToggleButtonShown() {
19
29
  return !this.isDisabled;
@@ -27,6 +37,12 @@ export class CuiInputPasswordComponent {
27
37
  get buttonTitle() {
28
38
  return this.isPasswordHidden ? 'Reveal password' : 'Hide password';
29
39
  }
40
+ get size() {
41
+ return this.cuiTextFieldController.size;
42
+ }
43
+ get isError() {
44
+ return this.cuiTextFieldController.isError;
45
+ }
30
46
  writeValue(value) {
31
47
  this.value = value;
32
48
  this.changeDetectorRef.markForCheck();
@@ -54,21 +70,24 @@ export class CuiInputPasswordComponent {
54
70
  }
55
71
  }
56
72
  CuiInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- CuiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputPasswordComponent, selector: "cui-input-password", inputs: { isError: "isError", inputId: "inputId", inputPlaceholder: "inputPlaceholder" }, host: { properties: { "class._with-error": "this.isError", "class._disabled": "this.isDisabled" } }, providers: [INPUT_PASSWORD_VALUE_ACCESSOR], ngImport: i0, template: "<input\n [ngModel]=\"value\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"inputPlaceholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n ></cui-svg>\n</button>\n", styles: [":host{padding:8px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;outline:none;cursor:pointer;appearance:none;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
+ CuiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputPasswordComponent, selector: "cui-input-password", host: { properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
74
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
75
+ INPUT_PASSWORD_VALUE_ACCESSOR
76
+ ], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n ></cui-svg>\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordComponent, decorators: [{
59
78
  type: Component,
60
- args: [{ selector: 'cui-input-password', changeDetection: ChangeDetectionStrategy.OnPush, providers: [INPUT_PASSWORD_VALUE_ACCESSOR], template: "<input\n [ngModel]=\"value\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"inputPlaceholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n ></cui-svg>\n</button>\n", styles: [":host{padding:8px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;outline:none;cursor:pointer;appearance:none;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"] }]
61
- }], propDecorators: { isError: [{
62
- type: Input
63
- }, {
64
- type: HostBinding,
65
- args: ['class._with-error']
66
- }], inputId: [{
67
- type: Input
68
- }], inputPlaceholder: [{
69
- type: Input
70
- }], isDisabled: [{
79
+ args: [{ selector: 'cui-input-password', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
80
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
81
+ INPUT_PASSWORD_VALUE_ACCESSOR
82
+ ], template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n ></cui-svg>\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"] }]
83
+ }], propDecorators: { isDisabled: [{
71
84
  type: HostBinding,
72
85
  args: ['class._disabled']
86
+ }], size: [{
87
+ type: HostBinding,
88
+ args: ['attr.data-size']
89
+ }], isError: [{
90
+ type: HostBinding,
91
+ args: ['class._with-error']
73
92
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1wYXNzd29yZC9pbnB1dC1wYXNzd29yZC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUl6RSxNQUFNLDZCQUE2QixHQUFHO0lBQ3BDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztJQUN4RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8seUJBQXlCO0lBUHRDO1FBUW1CLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXJELHFCQUFnQixHQUFHLElBQUksQ0FBQztRQU8zQixZQUFPLEdBQUcsS0FBSyxDQUFDO0tBOER4QjtJQW5EQyxJQUFjLG1CQUFtQjtRQUMvQixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYyxJQUFJO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBYyxJQUFJO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO0lBQ3JFLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBMEI7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUF1QjtRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBZ0I7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFVBQW1CO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1NBQzlCO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFUyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQVM7UUFDakMsTUFBTSxLQUFLLEdBQUksTUFBMkIsQ0FBQyxLQUFLLENBQUM7UUFFakQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRVMsMEJBQTBCO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqRCxDQUFDOzt1SEF2RVUseUJBQXlCOzJHQUF6Qix5QkFBeUIsNE9BRnpCLENBQUMsNkJBQTZCLENBQUMsMEJDeEI1QyxxZEFzQkE7NEZESWEseUJBQXlCO2tCQVByQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsNkJBQTZCLENBQUM7OEJBWW5DLE9BQU87c0JBRmIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBSXpCLE9BQU87c0JBRGIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUksVUFBVTtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDdWlJbnB1dFR5cGUsIEN1aU51bGxhYmxlLCBDdWlPbkNoYW5nZSwgQ3VpT25Ub3VjaGVkIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUljb24gfSBmcm9tICdAY3VieS11aS9pY29ucyc7XG5cbmNvbnN0IElOUFVUX1BBU1NXT1JEX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VpSW5wdXRQYXNzd29yZENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdWktaW5wdXQtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGFzc3dvcmQudGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXBhc3N3b3JkLnN0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0lOUFVUX1BBU1NXT1JEX1ZBTFVFX0FDQ0VTU09SXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwcm90ZWN0ZWQgaXNQYXNzd29yZEhpZGRlbiA9IHRydWU7XG4gIHByb3RlY3RlZCB2YWx1ZSE6IEN1aU51bGxhYmxlPHN0cmluZz47XG4gIHByb3RlY3RlZCBvbkNoYW5nZSE6IEN1aU9uQ2hhbmdlPHN0cmluZz47XG4gIHByb3RlY3RlZCBvblRvdWNoZWQhOiBDdWlPblRvdWNoZWQ7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fd2l0aC1lcnJvcicpXG4gIHB1YmxpYyBpc0Vycm9yID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlucHV0SWQ/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlucHV0UGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZGlzYWJsZWQnKVxuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZCE6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIGdldCBpc1RvZ2dsZUJ1dHRvblNob3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0Rpc2FibGVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpY29uKCk6IEN1aUljb24ge1xuICAgIHJldHVybiB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPyAnY3VpSWNvbkV5ZScgOiAnY3VpSWNvbkV5ZU9mZic7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHR5cGUoKTogQ3VpSW5wdXRUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5pc1Bhc3N3b3JkSGlkZGVuID8gJ3Bhc3N3b3JkJyA6ICd0ZXh0JztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYnV0dG9uVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1Bhc3N3b3JkSGlkZGVuID8gJ1JldmVhbCBwYXNzd29yZCcgOiAnSGlkZSBwYXNzd29yZCc7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogQ3VpTnVsbGFibGU8c3RyaW5nPik6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogQ3VpT25DaGFuZ2U8c3RyaW5nPik6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogQ3VpT25Ub3VjaGVkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc1Bhc3N3b3JkSGlkZGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW5wdXQoeyB0YXJnZXQgfTogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9ICh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG5cbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPSAhdGhpcy5pc1Bhc3N3b3JkSGlkZGVuO1xuICB9XG59XG4iLCI8aW5wdXRcbiAgW25nTW9kZWxdPVwidmFsdWVcIlxuICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwiaW5wdXRQbGFjZWhvbGRlclwiXG4gIFt0eXBlXT1cInR5cGVcIlxuICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIGNsYXNzPVwiYy1pbnB1dFwiXG4gIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAoZm9jdXMpPVwib25Ub3VjaGVkKClcIlxuPlxuPGJ1dHRvblxuICAqbmdJZj1cImlzVG9nZ2xlQnV0dG9uU2hvd25cIlxuICBbdGl0bGVdPVwiYnV0dG9uVGl0bGVcIlxuICBjbGFzcz1cImMtYnV0dG9uXCJcbiAgKGNsaWNrKT1cIm9uVG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KClcIlxuPlxuICA8Y3VpLXN2Z1xuICAgIFtpY29uXT1cImljb25cIlxuICAgIFt3aWR0aF09XCIxNlwiXG4gICAgW2hlaWdodF09XCIxNlwiXG4gID48L2N1aS1zdmc+XG48L2J1dHRvbj5cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC1wYXNzd29yZC9pbnB1dC1wYXNzd29yZC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBR2pHLE1BQU0sNkJBQTZCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVlGLE1BQU0sT0FBTyx5QkFBeUI7SUFWdEM7UUFXbUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFbEUscUJBQWdCLEdBQUcsSUFBSSxDQUFDO0tBaUZuQztJQXpFQyxJQUFjLEVBQUU7UUFDZCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQWMsV0FBVztRQUN2QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUM7SUFDakQsQ0FBQztJQUVELElBQWMsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQWMsbUJBQW1CO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFjLElBQUk7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFjLElBQUk7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFjLFdBQVc7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7SUFDckUsQ0FBQztJQUVELElBQ2MsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ2MsT0FBTztRQUNuQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUEwQjtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQXVCO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFnQjtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsVUFBbUI7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVTLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBUztRQUNqQyxNQUFNLEtBQUssR0FBSSxNQUEyQixDQUFDLEtBQUssQ0FBQztRQUVqRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFUywwQkFBMEI7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pELENBQUM7O3VIQXBGVSx5QkFBeUI7MkdBQXpCLHlCQUF5QixpTEFMekI7UUFDVCxrQ0FBa0M7UUFDbEMsNkJBQTZCO0tBQzlCLDBCQzdCSCwrZ0JBMEJBOzRGREthLHlCQUF5QjtrQkFWckMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxrQ0FBa0M7d0JBQ2xDLDZCQUE2QjtxQkFDOUI7OEJBWVMsVUFBVTtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBZ0NoQixJQUFJO3NCQURqQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNZixPQUFPO3NCQURwQixXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3VpSW5wdXRUeXBlLCBDdWlOdWxsYWJsZSwgQ3VpT25DaGFuZ2UsIEN1aU9uVG91Y2hlZCB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBDdWlJY29uIH0gZnJvbSAnQGN1YnktdWkvaWNvbnMnO1xuXG5pbXBvcnQgeyBDVUlfVEVYVF9GSUVMRF9DT05UUk9MTEVSLCBDVUlfVEVYVF9GSUxFRF9DT05UUk9MTEVSX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDdWlTaXplTWQsIEN1aVNpemVTbSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuY29uc3QgSU5QVVRfUEFTU1dPUkRfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS1pbnB1dC1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1wYXNzd29yZC50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGFzc3dvcmQuc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ1VJX1RFWFRfRklMRURfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBJTlBVVF9QQVNTV09SRF9WQUxVRV9BQ0NFU1NPUlxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUlucHV0UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGN1aVRleHRGaWVsZENvbnRyb2xsZXIgPSBpbmplY3QoQ1VJX1RFWFRfRklFTERfQ09OVFJPTExFUik7XG5cbiAgcHJvdGVjdGVkIGlzUGFzc3dvcmRIaWRkZW4gPSB0cnVlO1xuICBwcm90ZWN0ZWQgdmFsdWUhOiBDdWlOdWxsYWJsZTxzdHJpbmc+O1xuICBwcm90ZWN0ZWQgb25DaGFuZ2UhOiBDdWlPbkNoYW5nZTxzdHJpbmc+O1xuICBwcm90ZWN0ZWQgb25Ub3VjaGVkITogQ3VpT25Ub3VjaGVkO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuX2Rpc2FibGVkJylcbiAgcHJvdGVjdGVkIGlzRGlzYWJsZWQhOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCBnZXQgaWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLmlkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIucGxhY2Vob2xkZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGljb25MZWZ0KCk6IEN1aUljb24gfCBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaWNvbkxlZnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzVG9nZ2xlQnV0dG9uU2hvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmlzRGlzYWJsZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGljb24oKTogQ3VpSWNvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNQYXNzd29yZEhpZGRlbiA/ICdjdWlJY29uRXllJyA6ICdjdWlJY29uRXllT2ZmJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHlwZSgpOiBDdWlJbnB1dFR5cGUge1xuICAgIHJldHVybiB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPyAncGFzc3dvcmQnIDogJ3RleHQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBidXR0b25UaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPyAnUmV2ZWFsIHBhc3N3b3JkJyA6ICdIaWRlIHBhc3N3b3JkJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICBwcm90ZWN0ZWQgZ2V0IHNpemUoKTogQ3VpU2l6ZVNtIHwgQ3VpU2l6ZU1kIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLnNpemU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl93aXRoLWVycm9yJylcbiAgcHJvdGVjdGVkIGdldCBpc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaXNFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBDdWlOdWxsYWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBDdWlPbkNoYW5nZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBDdWlPblRvdWNoZWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JbnB1dCh7IHRhcmdldCB9OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcblxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uVG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIHRoaXMuaXNQYXNzd29yZEhpZGRlbiA9ICF0aGlzLmlzUGFzc3dvcmRIaWRkZW47XG4gIH1cbn1cbiIsIjxjdWktc3ZnXG4gICpuZ0lmPVwiaWNvbkxlZnRcIlxuICBbaWNvbl09XCJpY29uTGVmdFwiXG4+PC9jdWktc3ZnPlxuPGlucHV0XG4gIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgW2F0dHIuaWRdPVwiaWRcIlxuICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFt0eXBlXT1cInR5cGVcIlxuICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIGNsYXNzPVwiYy1pbnB1dFwiXG4gIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAoZm9jdXMpPVwib25Ub3VjaGVkKClcIlxuPlxuPGJ1dHRvblxuICAqbmdJZj1cImlzVG9nZ2xlQnV0dG9uU2hvd25cIlxuICBbdGl0bGVdPVwiYnV0dG9uVGl0bGVcIlxuICBjbGFzcz1cImMtYnV0dG9uXCJcbiAgKGNsaWNrKT1cIm9uVG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KClcIlxuPlxuICA8Y3VpLXN2Z1xuICAgIFtpY29uXT1cImljb25cIlxuICAgIFt3aWR0aF09XCIxNlwiXG4gICAgW2hlaWdodF09XCIxNlwiXG4gID48L2N1aS1zdmc+XG48L2J1dHRvbj5cbiJdfQ==
@@ -3,16 +3,18 @@ import { CommonModule } from '@angular/common';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { CuiInputPasswordComponent } from './input-password.component';
5
5
  import { CuiSvgModule } from '../svg';
6
+ import { CuiTextFieldControllerModule } from '../../directives';
6
7
  import * as i0 from "@angular/core";
7
8
  export class CuiInputPasswordModule {
8
9
  }
9
10
  CuiInputPasswordModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
11
  CuiInputPasswordModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, declarations: [CuiInputPasswordComponent], imports: [CommonModule,
11
12
  FormsModule,
12
- CuiSvgModule], exports: [CuiInputPasswordComponent] });
13
+ CuiSvgModule], exports: [CuiInputPasswordComponent,
14
+ CuiTextFieldControllerModule] });
13
15
  CuiInputPasswordModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, imports: [CommonModule,
14
16
  FormsModule,
15
- CuiSvgModule] });
17
+ CuiSvgModule, CuiTextFieldControllerModule] });
16
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputPasswordModule, decorators: [{
17
19
  type: NgModule,
18
20
  args: [{
@@ -22,7 +24,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
22
24
  CuiSvgModule
23
25
  ],
24
26
  declarations: [CuiInputPasswordComponent],
25
- exports: [CuiInputPasswordComponent]
27
+ exports: [
28
+ CuiInputPasswordComponent,
29
+ CuiTextFieldControllerModule
30
+ ]
26
31
  }]
27
32
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFXdEMsTUFBTSxPQUFPLHNCQUFzQjs7b0hBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCLGlCQUhsQix5QkFBeUIsYUFKdEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZLGFBR0oseUJBQXlCO3FIQUV4QixzQkFBc0IsWUFQL0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZOzRGQUtILHNCQUFzQjtrQkFUbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7cUJBQ2I7b0JBQ0QsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEN1aUlucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdWlTdmdNb2R1bGUgfSBmcm9tICcuLi9zdmcnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEN1aVN2Z01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtDdWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0N1aUlucHV0UGFzc3dvcmRDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUlucHV0UGFzc3dvcmRNb2R1bGUge1xufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFjaEUsTUFBTSxPQUFPLHNCQUFzQjs7b0hBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCLGlCQU5sQix5QkFBeUIsYUFKdEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZLGFBSVoseUJBQXlCO1FBQ3pCLDRCQUE0QjtxSEFHbkIsc0JBQXNCLFlBVi9CLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWSxFQUtaLDRCQUE0Qjs0RkFHbkIsc0JBQXNCO2tCQVpsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFO3dCQUNQLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEN1aUlucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdWlTdmdNb2R1bGUgfSBmcm9tICcuLi9zdmcnO1xuaW1wb3J0IHsgQ3VpVGV4dEZpZWxkQ29udHJvbGxlck1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEN1aVN2Z01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtDdWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1xuICAgIEN1aUlucHV0UGFzc3dvcmRDb21wb25lbnQsXG4gICAgQ3VpVGV4dEZpZWxkQ29udHJvbGxlck1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUlucHV0UGFzc3dvcmRNb2R1bGUge1xufVxuIl19
@@ -1,5 +1,6 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, HostListener, inject, Input, ViewChild } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, HostListener, inject, ViewChild } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FILED_CONTROLLER_PROVIDER } from '../../directives';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "@angular/forms";
@@ -12,11 +13,26 @@ const INPUT_TEXT_VALUE_ACCESSOR = {
12
13
  export class CuiInputTextComponent {
13
14
  constructor() {
14
15
  this.changeDetectorRef = inject(ChangeDetectorRef);
15
- this.isError = false;
16
+ this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
17
+ }
18
+ get id() {
19
+ return this.cuiTextFieldController.id;
20
+ }
21
+ get placeholder() {
22
+ return this.cuiTextFieldController.placeholder;
23
+ }
24
+ get iconLeft() {
25
+ return this.cuiTextFieldController.iconLeft;
16
26
  }
17
27
  get isClearButtonShown() {
18
28
  return !!(this.value && !this.isDisabled);
19
29
  }
30
+ get size() {
31
+ return this.cuiTextFieldController.size;
32
+ }
33
+ get isError() {
34
+ return this.cuiTextFieldController.isError;
35
+ }
20
36
  writeValue(value) {
21
37
  this.value = value;
22
38
  this.changeDetectorRef.markForCheck();
@@ -46,29 +62,30 @@ export class CuiInputTextComponent {
46
62
  }
47
63
  }
48
64
  CuiInputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
- CuiInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputTextComponent, selector: "cui-input-text", inputs: { isError: "isError", inputId: "inputId", inputPlaceholder: "inputPlaceholder", iconLeft: "iconLeft" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._with-error": "this.isError", "class._disabled": "this.isDisabled" } }, providers: [INPUT_TEXT_VALUE_ACCESSOR], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"inputPlaceholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isClearButtonShown\"\n class=\"c-button\"\n (click)=\"onClear()\"\n>\n <cui-svg icon=\"cuiIconClear\"></cui-svg>\n</button>\n", styles: [":host{padding:8px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;outline:none;cursor:pointer;appearance:none;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
65
+ CuiInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiInputTextComponent, selector: "cui-input-text", host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [
66
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
67
+ INPUT_TEXT_VALUE_ACCESSOR
68
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isClearButtonShown\"\n class=\"c-button\"\n (click)=\"onClear()\"\n>\n <cui-svg icon=\"cuiIconClear\"></cui-svg>\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputTextComponent, decorators: [{
51
70
  type: Component,
52
- args: [{ selector: 'cui-input-text', changeDetection: ChangeDetectionStrategy.OnPush, providers: [INPUT_TEXT_VALUE_ACCESSOR], template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"inputPlaceholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isClearButtonShown\"\n class=\"c-button\"\n (click)=\"onClear()\"\n>\n <cui-svg icon=\"cuiIconClear\"></cui-svg>\n</button>\n", styles: [":host{padding:8px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;outline:none;cursor:pointer;appearance:none;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"] }]
53
- }], propDecorators: { isError: [{
54
- type: Input
55
- }, {
56
- type: HostBinding,
57
- args: ['class._with-error']
58
- }], inputId: [{
59
- type: Input
60
- }], inputPlaceholder: [{
61
- type: Input
62
- }], iconLeft: [{
63
- type: Input
64
- }], isDisabled: [{
71
+ args: [{ selector: 'cui-input-text', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
72
+ CUI_TEXT_FILED_CONTROLLER_PROVIDER,
73
+ INPUT_TEXT_VALUE_ACCESSOR
74
+ ], template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n>\n<button\n *ngIf=\"isClearButtonShown\"\n class=\"c-button\"\n (click)=\"onClear()\"\n>\n <cui-svg icon=\"cuiIconClear\"></cui-svg>\n</button>\n", styles: [":host{padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-base-10);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px #e5ecff;border-color:var(--cui-info-600)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-error-500)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"] }]
75
+ }], propDecorators: { isDisabled: [{
65
76
  type: HostBinding,
66
77
  args: ['class._disabled']
67
78
  }], input: [{
68
79
  type: ViewChild,
69
80
  args: ['input']
81
+ }], size: [{
82
+ type: HostBinding,
83
+ args: ['attr.data-size']
84
+ }], isError: [{
85
+ type: HostBinding,
86
+ args: ['class._with-error']
70
87
  }], onFocus: [{
71
88
  type: HostListener,
72
89
  args: ['click']
73
90
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC10ZXh0L2lucHV0LXRleHQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUl6RSxNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUNwRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8scUJBQXFCO0lBUGxDO1FBUVUsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFRL0MsWUFBTyxHQUFHLEtBQUssQ0FBQztLQTREeEI7SUExQ0MsSUFBYyxrQkFBa0I7UUFDOUIsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBMEI7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUF1QjtRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBZ0I7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFVBQW1CO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBRTdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRVMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFTO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUUsTUFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRVMsT0FBTztRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUdTLE9BQU87UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOzttSEFwRVUscUJBQXFCO3VHQUFyQixxQkFBcUIsbVNBRnJCLENBQUMseUJBQXlCLENBQUMsMEhDM0J4QyxzY0FzQkE7NEZET2EscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMseUJBQXlCLENBQUM7OEJBVy9CLE9BQU87c0JBRmIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBSXpCLE9BQU87c0JBRGIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBS0MsUUFBUTtzQkFEZCxLQUFLO2dCQUlJLFVBQVU7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUlwQixLQUFLO3NCQURkLFNBQVM7dUJBQUMsT0FBTztnQkFvQ1IsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEN1aU9uQ2hhbmdlLCBDdWlPblRvdWNoZWQsIEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUljb24gfSBmcm9tICdAY3VieS11aS9pY29ucyc7XG5cbmNvbnN0IElOUFVUX1RFWFRfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdWlJbnB1dFRleHRDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VpLWlucHV0LXRleHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGV4dC50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGV4dC5zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtJTlBVVF9URVhUX1ZBTFVFX0FDQ0VTU09SXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlJbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHByb3RlY3RlZCB2YWx1ZSE6IEN1aU51bGxhYmxlPHN0cmluZz47XG4gIHByb3RlY3RlZCBvbkNoYW5nZSE6IEN1aU9uQ2hhbmdlPHN0cmluZz47XG4gIHByb3RlY3RlZCBvblRvdWNoZWQhOiBDdWlPblRvdWNoZWQ7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fd2l0aC1lcnJvcicpXG4gIHB1YmxpYyBpc0Vycm9yID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlucHV0SWQ/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlucHV0UGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLy8gVE9ETzog0JrRg9GH0LAg0LvQvtCz0LjQutC4INC80L7QttC90L4g0LLRi9C90LXRgdGC0Lgg0LIg0L/RgNC+0LLQsNC50LTQtdGALCDQutC+0YLQvtGA0YvQuSDRgdC+0LTQtdGA0LbQuNGCINC00LjRgNC10LrRgtC40LLRiyAo0LIgVGFpZ2EgVUkgLSBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUilcbiAgQElucHV0KClcbiAgcHVibGljIGljb25MZWZ0PzogQ3VpSWNvbiB8IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9kaXNhYmxlZCcpXG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkITogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIHByb3RlY3RlZCBpbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJvdGVjdGVkIGdldCBpc0NsZWFyQnV0dG9uU2hvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMudmFsdWUgJiYgIXRoaXMuaXNEaXNhYmxlZCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogQ3VpTnVsbGFibGU8c3RyaW5nPik6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogQ3VpT25DaGFuZ2U8c3RyaW5nPik6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogQ3VpT25Ub3VjaGVkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbklucHV0KHsgdGFyZ2V0IH06IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VNb2RlbCgodGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlTW9kZWwoJycpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwcm90ZWN0ZWQgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlTW9kZWwodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICB9XG59XG4iLCI8Y3VpLXN2Z1xuICAqbmdJZj1cImljb25MZWZ0XCJcbiAgW2ljb25dPVwiaWNvbkxlZnRcIlxuPjwvY3VpLXN2Zz5cbjxpbnB1dFxuICAjaW5wdXRcbiAgW25nTW9kZWxdPVwidmFsdWVcIlxuICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwiaW5wdXRQbGFjZWhvbGRlclwiXG4gIHR5cGU9XCJ0ZXh0XCJcbiAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICBjbGFzcz1cImMtaW5wdXRcIlxuICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgKGZvY3VzKT1cIm9uVG91Y2hlZCgpXCJcbj5cbjxidXR0b25cbiAgKm5nSWY9XCJpc0NsZWFyQnV0dG9uU2hvd25cIlxuICBjbGFzcz1cImMtYnV0dG9uXCJcbiAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXG4+XG4gIDxjdWktc3ZnIGljb249XCJjdWlJY29uQ2xlYXJcIj48L2N1aS1zdmc+XG48L2J1dHRvbj5cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9pbnB1dC10ZXh0L2lucHV0LXRleHQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBR2pHLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO0lBQ3BELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVlGLE1BQU0sT0FBTyxxQkFBcUI7SUFWbEM7UUFXbUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7S0E0RTdFO0lBaEVDLElBQWMsRUFBRTtRQUNkLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBYyxRQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBYyxrQkFBa0I7UUFDOUIsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUNjLElBQUk7UUFDaEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUNjLE9BQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDO0lBQzdDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBMEI7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUF1QjtRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBZ0I7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFVBQW1CO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBRTdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRVMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFTO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUUsTUFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRVMsT0FBTztRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUdTLE9BQU87UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOzttSEE3RVUscUJBQXFCO3VHQUFyQixxQkFBcUIsa05BTHJCO1FBQ1Qsa0NBQWtDO1FBQ2xDLHlCQUF5QjtLQUMxQiwwSENoQ0gsNGJBc0JBOzRGRFlhLHFCQUFxQjtrQkFWakMsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxrQ0FBa0M7d0JBQ2xDLHlCQUF5QjtxQkFDMUI7OEJBV1MsVUFBVTtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSXBCLEtBQUs7c0JBRGQsU0FBUzt1QkFBQyxPQUFPO2dCQW9CSixJQUFJO3NCQURqQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNZixPQUFPO3NCQURwQixXQUFXO3VCQUFDLG1CQUFtQjtnQkFrQ3RCLE9BQU87c0JBRGhCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEN1aU9uQ2hhbmdlLCBDdWlPblRvdWNoZWQsIEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUljb24gfSBmcm9tICdAY3VieS11aS9pY29ucyc7XG5cbmltcG9ydCB7IENVSV9URVhUX0ZJRUxEX0NPTlRST0xMRVIsIENVSV9URVhUX0ZJTEVEX0NPTlRST0xMRVJfUFJPVklERVIgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEN1aVNpemVNZCwgQ3VpU2l6ZVNtIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5jb25zdCBJTlBVVF9URVhUX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VpSW5wdXRUZXh0Q29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS1pbnB1dC10ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRleHQudGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXRleHQuc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ1VJX1RFWFRfRklMRURfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBJTlBVVF9URVhUX1ZBTFVFX0FDQ0VTU09SXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3VpSW5wdXRUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjdWlUZXh0RmllbGRDb250cm9sbGVyID0gaW5qZWN0KENVSV9URVhUX0ZJRUxEX0NPTlRST0xMRVIpO1xuXG4gIHByb3RlY3RlZCB2YWx1ZSE6IEN1aU51bGxhYmxlPHN0cmluZz47XG4gIHByb3RlY3RlZCBvbkNoYW5nZSE6IEN1aU9uQ2hhbmdlPHN0cmluZz47XG4gIHByb3RlY3RlZCBvblRvdWNoZWQhOiBDdWlPblRvdWNoZWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZGlzYWJsZWQnKVxuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZCE6IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBwcm90ZWN0ZWQgaW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCBnZXQgaWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLmlkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIucGxhY2Vob2xkZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGljb25MZWZ0KCk6IEN1aUljb24gfCBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaWNvbkxlZnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzQ2xlYXJCdXR0b25TaG93bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy52YWx1ZSAmJiAhdGhpcy5pc0Rpc2FibGVkKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICBwcm90ZWN0ZWQgZ2V0IHNpemUoKTogQ3VpU2l6ZVNtIHwgQ3VpU2l6ZU1kIHtcbiAgICByZXR1cm4gdGhpcy5jdWlUZXh0RmllbGRDb250cm9sbGVyLnNpemU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl93aXRoLWVycm9yJylcbiAgcHJvdGVjdGVkIGdldCBpc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1aVRleHRGaWVsZENvbnRyb2xsZXIuaXNFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBDdWlOdWxsYWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBDdWlPbkNoYW5nZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBDdWlPblRvdWNoZWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW5wdXQoeyB0YXJnZXQgfTogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZU1vZGVsKCh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VNb2RlbCgnJyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHByb3RlY3RlZCBvbkZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VNb2RlbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxjdWktc3ZnXG4gICpuZ0lmPVwiaWNvbkxlZnRcIlxuICBbaWNvbl09XCJpY29uTGVmdFwiXG4+PC9jdWktc3ZnPlxuPGlucHV0XG4gICNpbnB1dFxuICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gIFthdHRyLmlkXT1cImlkXCJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICB0eXBlPVwidGV4dFwiXG4gIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgY2xhc3M9XCJjLWlucHV0XCJcbiAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gIChmb2N1cyk9XCJvblRvdWNoZWQoKVwiXG4+XG48YnV0dG9uXG4gICpuZ0lmPVwiaXNDbGVhckJ1dHRvblNob3duXCJcbiAgY2xhc3M9XCJjLWJ1dHRvblwiXG4gIChjbGljayk9XCJvbkNsZWFyKClcIlxuPlxuICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvbkNsZWFyXCI+PC9jdWktc3ZnPlxuPC9idXR0b24+XG4iXX0=
@@ -3,16 +3,18 @@ import { CommonModule } from '@angular/common';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { CuiInputTextComponent } from './input-text.component';
5
5
  import { CuiSvgModule } from '../svg';
6
+ import { CuiTextFieldControllerModule } from '../../directives';
6
7
  import * as i0 from "@angular/core";
7
8
  export class CuiInputModule {
8
9
  }
9
10
  CuiInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
11
  CuiInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, declarations: [CuiInputTextComponent], imports: [CommonModule,
11
12
  FormsModule,
12
- CuiSvgModule], exports: [CuiInputTextComponent] });
13
+ CuiSvgModule], exports: [CuiInputTextComponent,
14
+ CuiTextFieldControllerModule] });
13
15
  CuiInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, imports: [CommonModule,
14
16
  FormsModule,
15
- CuiSvgModule] });
17
+ CuiSvgModule, CuiTextFieldControllerModule] });
16
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiInputModule, decorators: [{
17
19
  type: NgModule,
18
20
  args: [{
@@ -22,7 +24,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
22
24
  CuiSvgModule
23
25
  ],
24
26
  declarations: [CuiInputTextComponent],
25
- exports: [CuiInputTextComponent]
27
+ exports: [
28
+ CuiInputTextComponent,
29
+ CuiTextFieldControllerModule
30
+ ]
26
31
  }]
27
32
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFXdEMsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxpQkFIVixxQkFBcUIsYUFKbEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZLGFBR0oscUJBQXFCOzZHQUVwQixjQUFjLFlBUHZCLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTs0RkFLSCxjQUFjO2tCQVQxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ3VpSW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdWlTdmdNb2R1bGUgfSBmcm9tICcuLi9zdmcnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEN1aVN2Z01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtDdWlJbnB1dFRleHRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQ3VpSW5wdXRUZXh0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBDdWlJbnB1dE1vZHVsZSB7XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFjaEUsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxpQkFOVixxQkFBcUIsYUFKbEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZLGFBSVoscUJBQXFCO1FBQ3JCLDRCQUE0Qjs2R0FHbkIsY0FBYyxZQVZ2QixZQUFZO1FBQ1osV0FBVztRQUNYLFlBQVksRUFLWiw0QkFBNEI7NEZBR25CLGNBQWM7a0JBWjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQiw0QkFBNEI7cUJBQzdCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ3VpSW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdWlTdmdNb2R1bGUgfSBmcm9tICcuLi9zdmcnO1xuaW1wb3J0IHsgQ3VpVGV4dEZpZWxkQ29udHJvbGxlck1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEN1aVN2Z01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtDdWlJbnB1dFRleHRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbXG4gICAgQ3VpSW5wdXRUZXh0Q29tcG9uZW50LFxuICAgIEN1aVRleHRGaWVsZENvbnRyb2xsZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlJbnB1dE1vZHVsZSB7XG59XG4iXX0=