@apipass/inputs 1.0.7 → 1.0.9

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 (71) hide show
  1. package/ace-editor/component.d.ts +52 -52
  2. package/ace-editor/directive.d.ts +39 -39
  3. package/assets/css/colors.scss +34 -34
  4. package/assets/css/fonts.scss +24 -24
  5. package/assets/css/inputs.scss +245 -245
  6. package/assets/css/pt_sans.scss +143 -143
  7. package/assets/css/spacing.scss +28 -28
  8. package/assets/css/texts.scss +18 -18
  9. package/custom-select/custom-select-item.d.ts +5 -5
  10. package/custom-select/custom-select.component.d.ts +51 -51
  11. package/debounce-model-directive/debouceInput.directive.d.ts +14 -14
  12. package/esm2022/ace-editor/component.mjs +200 -0
  13. package/esm2022/ace-editor/directive.mjs +153 -0
  14. package/{esm2020 → esm2022}/apipass-inputs.mjs +4 -4
  15. package/esm2022/custom-select/custom-select-item.mjs +9 -0
  16. package/esm2022/custom-select/custom-select.component.mjs +213 -0
  17. package/esm2022/debounce-model-directive/debouceInput.directive.mjs +34 -0
  18. package/esm2022/field/field.component.mjs +56 -0
  19. package/esm2022/input-avatar/input-avatar.component.mjs +91 -0
  20. package/esm2022/input-boolean/input-boolean.component.mjs +54 -0
  21. package/esm2022/input-file/input-file.component.mjs +82 -0
  22. package/esm2022/input-number/input-number.component.mjs +60 -0
  23. package/esm2022/input-password/input-password.component.mjs +94 -0
  24. package/esm2022/input-text/input-text.component.mjs +60 -0
  25. package/esm2022/inputs.module.mjs +150 -0
  26. package/{esm2020 → esm2022}/public-api.mjs +17 -17
  27. package/esm2022/select-box/mat-select-infinite-scroll.directive.mjs +91 -0
  28. package/esm2022/select-box/select-box.component.mjs +226 -0
  29. package/esm2022/select-enum/select-enum.component.mjs +47 -0
  30. package/esm2022/select-interpolation/select-interpolation.component.mjs +177 -0
  31. package/esm2022/value-acessor-base.mjs +30 -0
  32. package/fesm2022/apipass-inputs.mjs +1711 -0
  33. package/fesm2022/apipass-inputs.mjs.map +1 -0
  34. package/field/field.component.d.ts +15 -15
  35. package/index.d.ts +5 -5
  36. package/input-avatar/input-avatar.component.d.ts +29 -29
  37. package/input-boolean/input-boolean.component.d.ts +15 -15
  38. package/input-file/input-file.component.d.ts +31 -31
  39. package/input-number/input-number.component.d.ts +17 -17
  40. package/input-password/input-password.component.d.ts +28 -28
  41. package/input-text/input-text.component.d.ts +17 -17
  42. package/inputs.module.d.ts +36 -36
  43. package/package.json +28 -25
  44. package/public-api.d.ts +16 -16
  45. package/select-box/mat-select-infinite-scroll.directive.d.ts +26 -26
  46. package/select-box/select-box.component.d.ts +57 -57
  47. package/select-enum/select-enum.component.d.ts +12 -12
  48. package/select-interpolation/select-interpolation.component.d.ts +44 -44
  49. package/value-acessor-base.d.ts +13 -13
  50. package/esm2020/ace-editor/component.mjs +0 -195
  51. package/esm2020/ace-editor/directive.mjs +0 -148
  52. package/esm2020/custom-select/custom-select-item.mjs +0 -7
  53. package/esm2020/custom-select/custom-select.component.mjs +0 -204
  54. package/esm2020/debounce-model-directive/debouceInput.directive.mjs +0 -31
  55. package/esm2020/field/field.component.mjs +0 -51
  56. package/esm2020/input-avatar/input-avatar.component.mjs +0 -92
  57. package/esm2020/input-boolean/input-boolean.component.mjs +0 -56
  58. package/esm2020/input-file/input-file.component.mjs +0 -82
  59. package/esm2020/input-number/input-number.component.mjs +0 -62
  60. package/esm2020/input-password/input-password.component.mjs +0 -96
  61. package/esm2020/input-text/input-text.component.mjs +0 -62
  62. package/esm2020/inputs.module.mjs +0 -149
  63. package/esm2020/select-box/mat-select-infinite-scroll.directive.mjs +0 -86
  64. package/esm2020/select-box/select-box.component.mjs +0 -225
  65. package/esm2020/select-enum/select-enum.component.mjs +0 -48
  66. package/esm2020/select-interpolation/select-interpolation.component.mjs +0 -169
  67. package/esm2020/value-acessor-base.mjs +0 -31
  68. package/fesm2015/apipass-inputs.mjs +0 -1706
  69. package/fesm2015/apipass-inputs.mjs.map +0 -1
  70. package/fesm2020/apipass-inputs.mjs +0 -1696
  71. package/fesm2020/apipass-inputs.mjs.map +0 -1
@@ -0,0 +1,177 @@
1
+ import { Component, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { CustomSelectItem } from '../custom-select/custom-select-item';
4
+ import { ScrollStrategyOptions } from '@angular/cdk/overlay';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/overlay";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/forms";
9
+ import * as i4 from "@angular/material/form-field";
10
+ import * as i5 from "@angular/material/input";
11
+ import * as i6 from "ngx-drag-drop";
12
+ import * as i7 from "@apipass/pipes";
13
+ class SelectInterpolationComponent {
14
+ sso;
15
+ innerValue;
16
+ edited = false;
17
+ scrollStrategy;
18
+ _triggerRect;
19
+ selectedItem;
20
+ selectedItemLabel = '';
21
+ searchText = '';
22
+ opened = false;
23
+ disabled = false;
24
+ items = [];
25
+ placeHolder = 'Select';
26
+ findPlaceHolder = 'Find item';
27
+ onSelect = new EventEmitter();
28
+ trigger;
29
+ input;
30
+ constructor(sso) {
31
+ this.sso = sso;
32
+ this.scrollStrategy = this.sso.block();
33
+ }
34
+ tabindex = '0';
35
+ onBlur(target) {
36
+ if (this.selectedItemLabel) {
37
+ if (this.edited) {
38
+ this.writeValue(this.selectedItemLabel);
39
+ this.selectedItem = new CustomSelectItem(this.selectedItemLabel, this.selectedItemLabel);
40
+ this.onSelect.next(this.selectedItem);
41
+ }
42
+ }
43
+ else {
44
+ this.writeValue(undefined);
45
+ this.onSelect.next(undefined);
46
+ }
47
+ if (target?.relatedTarget?.classList.contains('search-input-item')) {
48
+ return;
49
+ }
50
+ this.setTriggerRect();
51
+ this.opened = false;
52
+ }
53
+ ngAfterViewInit() {
54
+ setTimeout(() => {
55
+ this.setInitialState();
56
+ this.setTriggerRect();
57
+ }, 300);
58
+ }
59
+ setInitialState() {
60
+ setTimeout(() => {
61
+ if (this.value && this.items) {
62
+ const selectedItem = this.items.find(item => item.id === this.value);
63
+ this.selectedItemLabel = selectedItem?.text || this.value;
64
+ }
65
+ });
66
+ }
67
+ setTriggerRect() {
68
+ setTimeout(() => {
69
+ this._triggerRect = this.trigger?.nativeElement.getBoundingClientRect();
70
+ });
71
+ }
72
+ selectItem(item) {
73
+ this.opened = false;
74
+ this.edited = false;
75
+ this.selectedItem = item;
76
+ this.value = item.id;
77
+ this.selectedItemLabel = item.text;
78
+ this.searchText = '';
79
+ this.onSelect.next(item);
80
+ }
81
+ keyPress() {
82
+ this.setTriggerRect();
83
+ this.opened = false;
84
+ this.edited = true;
85
+ this.searchText = '';
86
+ }
87
+ clicked() {
88
+ this.setTriggerRect();
89
+ this.opened = true;
90
+ this.searchText = '';
91
+ }
92
+ onTouchedCallback = () => {
93
+ };
94
+ onChangeCallback = () => {
95
+ };
96
+ get value() {
97
+ return this.innerValue;
98
+ }
99
+ set value(value) {
100
+ this.innerValue = value;
101
+ this.onChangeCallback(value);
102
+ }
103
+ writeValue(value) {
104
+ if (value !== this.value) {
105
+ this.value = value;
106
+ }
107
+ }
108
+ registerOnChange(fn) {
109
+ this.onChangeCallback = fn;
110
+ }
111
+ registerOnTouched(fn) {
112
+ this.onTouchedCallback = fn;
113
+ }
114
+ setDisabledState(isDisabled) {
115
+ this.disabled = isDisabled;
116
+ }
117
+ arrowClick(event) {
118
+ event.stopPropagation();
119
+ this.setTriggerRect();
120
+ if (this.opened) {
121
+ this.opened = false;
122
+ }
123
+ else {
124
+ this.opened = true;
125
+ this.searchText = '';
126
+ this.input?.nativeElement.focus();
127
+ }
128
+ }
129
+ onDrop($event) {
130
+ this.searchText = '';
131
+ if (!this.value) {
132
+ this.value = '';
133
+ }
134
+ this.edited = true;
135
+ this.value += `{{${$event.data}}}`;
136
+ this.selectedItemLabel = this.value;
137
+ this.onBlur(undefined);
138
+ }
139
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SelectInterpolationComponent, deps: [{ token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Component });
140
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: SelectInterpolationComponent, selector: "select-interpolation", inputs: { disabled: "disabled", items: "items", placeHolder: "placeHolder", findPlaceHolder: "findPlaceHolder" }, outputs: { onSelect: "onSelect" }, host: { listeners: { "blur": "onBlur($event.target)" }, properties: { "attr.tabindex": "this.tabindex" } }, providers: [{
141
+ provide: NG_VALUE_ACCESSOR,
142
+ useExisting: forwardRef(() => SelectInterpolationComponent),
143
+ multi: true
144
+ }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"custom-select-input\" #trigger>\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"custom-select-component\" [ngClass]=\"{'select-open' : opened}\" appearance=\"fill\" autocomplete=\"off\">\n <input matInput #input\n [placeholder]=\"placeHolder\"\n (focus)=\"opened = true\"\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"selectedItemLabel\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n dndDropzone\n (dndDrop)=\"onDrop($event)\"\n autocomplete=\"off\"\n />\n <span class=\"open-icon\" (click)=\"arrowClick($event)\">\n <i class=\"fas\" [ngClass]=\"{'fa-caret-down' : !opened, 'fa-caret-up' : opened}\"></i>\n </span>\n </mat-form-field>\n</div>\n<div class=\"custom-select-component\">\n\n <ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'custom-select-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"opened\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\">\n <ul class=\"ul-ac\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"fill\">\n <input matInput class=\"search-input-item\"\n [placeholder]=\"findPlaceHolder\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n </ul>\n </ng-template>\n</div>\n", styles: ["::ng-deep .custom-select-overlay-panel,.custom-select-input,.custom-select-component{cursor:pointer}::ng-deep .custom-select-overlay-panel input,.custom-select-input input,.custom-select-component input{background:#FFF!important;height:48px}::ng-deep .custom-select-overlay-panel .ul-ac,.custom-select-input .ul-ac,.custom-select-component .ul-ac{max-height:16rem;overflow:auto;background:#fff;border:1px solid #ccc;box-sizing:border-box;list-style:none;padding:0;width:100%;position:relative;margin-top:-1px}::ng-deep .custom-select-overlay-panel .ul-ac li,.custom-select-input .ul-ac li,.custom-select-component .ul-ac li{text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:10px;font-size:12px}::ng-deep .custom-select-overlay-panel .ul-ac li:hover,.custom-select-input .ul-ac li:hover,.custom-select-component .ul-ac li:hover{background:#bbbcbc}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-form-field-flex,.custom-select-input .ul-ac li .mat-form-field-flex,.custom-select-component .ul-ac li .mat-form-field-flex{height:37px!important}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-form-field-flex input,.custom-select-input .ul-ac li .mat-form-field-flex input,.custom-select-component .ul-ac li .mat-form-field-flex input{height:auto}::ng-deep .custom-select-overlay-panel .selected,.custom-select-input .selected,.custom-select-component .selected{background-color:#898a8a!important}::ng-deep .custom-select-overlay-panel .selected .fa,.custom-select-input .selected .fa,.custom-select-component .selected .fa{color:#fff!important}::ng-deep .custom-select-overlay-panel .remove-icon i,.custom-select-input .remove-icon i,.custom-select-component .remove-icon i{color:red;margin-right:10px}::ng-deep .custom-select-overlay-panel .open-icon,.custom-select-input .open-icon,.custom-select-component .open-icon{cursor:pointer}::ng-deep .custom-select-overlay-panel .open-icon i,.custom-select-input .open-icon i,.custom-select-component .open-icon i{color:#0000008a}::ng-deep .custom-select-overlay-panel .li-search,.custom-select-input .li-search,.custom-select-component .li-search{cursor:default!important;border-bottom:1px solid #CCC!important}::ng-deep .custom-select-overlay-panel .li-search:hover,.custom-select-input .li-search:hover,.custom-select-component .li-search:hover{background:#FFF!important}::ng-deep .custom-select-overlay-panel .select-open .mat-form-field-flex,.custom-select-input .select-open .mat-form-field-flex,.custom-select-component .select-open .mat-form-field-flex{border-radius:6px 6px 0 0!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.DndDropzoneDirective, selector: "[dndDropzone]", inputs: ["dndDropzone", "dndEffectAllowed", "dndAllowExternal", "dndHorizontal", "dndDragoverClass", "dndDropzoneDisabledClass", "dndDisableIf", "dndDisableDropIf"], outputs: ["dndDragover", "dndDrop"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "pipe", type: i7.SelectFilterPipe, name: "selectFilter" }] });
145
+ }
146
+ export { SelectInterpolationComponent };
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SelectInterpolationComponent, decorators: [{
148
+ type: Component,
149
+ args: [{ selector: 'select-interpolation', providers: [{
150
+ provide: NG_VALUE_ACCESSOR,
151
+ useExisting: forwardRef(() => SelectInterpolationComponent),
152
+ multi: true
153
+ }], template: "<div class=\"custom-select-input\" #trigger>\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"custom-select-component\" [ngClass]=\"{'select-open' : opened}\" appearance=\"fill\" autocomplete=\"off\">\n <input matInput #input\n [placeholder]=\"placeHolder\"\n (focus)=\"opened = true\"\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"selectedItemLabel\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n dndDropzone\n (dndDrop)=\"onDrop($event)\"\n autocomplete=\"off\"\n />\n <span class=\"open-icon\" (click)=\"arrowClick($event)\">\n <i class=\"fas\" [ngClass]=\"{'fa-caret-down' : !opened, 'fa-caret-up' : opened}\"></i>\n </span>\n </mat-form-field>\n</div>\n<div class=\"custom-select-component\">\n\n <ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'custom-select-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"opened\"\n [cdkConnectedOverlayMinWidth]=\"_triggerRect?.width!\">\n <ul class=\"ul-ac\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"fill\">\n <input matInput class=\"search-input-item\"\n [placeholder]=\"findPlaceHolder\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n />\n </mat-form-field>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n </ul>\n </ng-template>\n</div>\n", styles: ["::ng-deep .custom-select-overlay-panel,.custom-select-input,.custom-select-component{cursor:pointer}::ng-deep .custom-select-overlay-panel input,.custom-select-input input,.custom-select-component input{background:#FFF!important;height:48px}::ng-deep .custom-select-overlay-panel .ul-ac,.custom-select-input .ul-ac,.custom-select-component .ul-ac{max-height:16rem;overflow:auto;background:#fff;border:1px solid #ccc;box-sizing:border-box;list-style:none;padding:0;width:100%;position:relative;margin-top:-1px}::ng-deep .custom-select-overlay-panel .ul-ac li,.custom-select-input .ul-ac li,.custom-select-component .ul-ac li{text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:10px;font-size:12px}::ng-deep .custom-select-overlay-panel .ul-ac li:hover,.custom-select-input .ul-ac li:hover,.custom-select-component .ul-ac li:hover{background:#bbbcbc}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-form-field-flex,.custom-select-input .ul-ac li .mat-form-field-flex,.custom-select-component .ul-ac li .mat-form-field-flex{height:37px!important}::ng-deep .custom-select-overlay-panel .ul-ac li .mat-form-field-flex input,.custom-select-input .ul-ac li .mat-form-field-flex input,.custom-select-component .ul-ac li .mat-form-field-flex input{height:auto}::ng-deep .custom-select-overlay-panel .selected,.custom-select-input .selected,.custom-select-component .selected{background-color:#898a8a!important}::ng-deep .custom-select-overlay-panel .selected .fa,.custom-select-input .selected .fa,.custom-select-component .selected .fa{color:#fff!important}::ng-deep .custom-select-overlay-panel .remove-icon i,.custom-select-input .remove-icon i,.custom-select-component .remove-icon i{color:red;margin-right:10px}::ng-deep .custom-select-overlay-panel .open-icon,.custom-select-input .open-icon,.custom-select-component .open-icon{cursor:pointer}::ng-deep .custom-select-overlay-panel .open-icon i,.custom-select-input .open-icon i,.custom-select-component .open-icon i{color:#0000008a}::ng-deep .custom-select-overlay-panel .li-search,.custom-select-input .li-search,.custom-select-component .li-search{cursor:default!important;border-bottom:1px solid #CCC!important}::ng-deep .custom-select-overlay-panel .li-search:hover,.custom-select-input .li-search:hover,.custom-select-component .li-search:hover{background:#FFF!important}::ng-deep .custom-select-overlay-panel .select-open .mat-form-field-flex,.custom-select-input .select-open .mat-form-field-flex,.custom-select-component .select-open .mat-form-field-flex{border-radius:6px 6px 0 0!important}\n"] }]
154
+ }], ctorParameters: function () { return [{ type: i1.ScrollStrategyOptions }]; }, propDecorators: { disabled: [{
155
+ type: Input
156
+ }], items: [{
157
+ type: Input
158
+ }], placeHolder: [{
159
+ type: Input
160
+ }], findPlaceHolder: [{
161
+ type: Input
162
+ }], onSelect: [{
163
+ type: Output
164
+ }], trigger: [{
165
+ type: ViewChild,
166
+ args: ['trigger']
167
+ }], input: [{
168
+ type: ViewChild,
169
+ args: ['input', { read: ElementRef }]
170
+ }], tabindex: [{
171
+ type: HostBinding,
172
+ args: ['attr.tabindex']
173
+ }], onBlur: [{
174
+ type: HostListener,
175
+ args: ['blur', ['$event.target']]
176
+ }] } });
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWludGVycG9sYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9zZWxlY3QtaW50ZXJwb2xhdGlvbi9zZWxlY3QtaW50ZXJwb2xhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1pbnRlcnBvbGF0aW9uL3NlbGVjdC1pbnRlcnBvbGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7Ozs7Ozs7QUFFNUUsTUFVYSw0QkFBNEI7SUF5QlQ7SUF2QnRCLFVBQVUsQ0FBSztJQUNmLE1BQU0sR0FBRyxLQUFLLENBQUE7SUFFZixjQUFjLENBQWdCO0lBQzlCLFlBQVksQ0FBd0I7SUFDcEMsWUFBWSxDQUE4QjtJQUMxQyxpQkFBaUIsR0FBRyxFQUFFLENBQUE7SUFDdEIsVUFBVSxHQUFHLEVBQUUsQ0FBQTtJQUNmLE1BQU0sR0FBRyxLQUFLLENBQUE7SUFFTCxRQUFRLEdBQUcsS0FBSyxDQUFBO0lBQ2hCLEtBQUssR0FBdUIsRUFBRSxDQUFBO0lBQzlCLFdBQVcsR0FBRyxRQUFRLENBQUE7SUFDdEIsZUFBZSxHQUFHLFdBQVcsQ0FBQTtJQUU1QixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUE7SUFHekQsT0FBTyxD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U0FBUzt1QkFBQyxTQUFTO2dCQUliLEtBQUs7c0JBRFgsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQU9WLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFDYSxNQUFNO3NCQUE5QyxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBDdXN0b21TZWxlY3RJdGVtIH0gZnJvbSAnLi4vY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LWl0ZW0nXG5pbXBvcnQgeyBTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlbGVjdC1pbnRlcnBvbGF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICdzZWxlY3QtaW50ZXJwb2xhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzZWxlY3QtaW50ZXJwb2xhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0SW50ZXJwb2xhdGlvbkNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0SW50ZXJwb2xhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcblxuICBwcml2YXRlIGlubmVyVmFsdWU6IGFueVxuICBwcml2YXRlIGVkaXRlZCA9IGZhbHNlXG5cbiAgcHVibGljIHNjcm9sbFN0cmF0ZWd5OiBTY3JvbGxTdHJhdGVneVxuICBwdWJsaWMgX3RyaWdnZXJSZWN0OiBDbGllbnRSZWN0IHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW06IEN1c3RvbVNlbGVjdEl0ZW0gfCB1bmRlZmluZWRcbiAgcHVibGljIHNlbGVjdGVkSXRlbUxhYmVsID0gJydcbiAgcHVibGljIHNlYXJjaFRleHQgPSAnJ1xuICBwdWJsaWMgb3BlbmVkID0gZmFsc2VcblxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZVxuICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IEN1c3RvbVNlbGVjdEl0ZW1bXSA9IFtdXG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZUhvbGRlciA9ICdTZWxlY3QnXG4gIEBJbnB1dCgpIHB1YmxpYyBmaW5kUGxhY2VIb2xkZXIgPSAnRmluZCBpdGVtJ1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbVNlbGVjdEl0ZW0+KClcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyJylcbiAgcHVibGljIHRyaWdnZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWRcblxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgaW5wdXQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWRcblxuICBjb25zdHJ1Y3RvciAocHJpdmF0ZSByZWFkb25seSBzc286IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucykge1xuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLnNzby5ibG9jaygpXG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9ICcwJ1xuICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0J10pIG9uQmx1ciAodGFyZ2V0OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1MYWJlbCkge1xuICAgICAgaWYgKHRoaXMuZWRpdGVkKSB7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbUxhYmVsKVxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG5ldyBDdXN0b21TZWxlY3RJdGVtKHRoaXMuc2VsZWN0ZWRJdGVtTGFiZWwsIHRoaXMuc2VsZWN0ZWRJdGVtTGFiZWwpXG4gICAgICAgIHRoaXMub25TZWxlY3QubmV4dCh0aGlzLnNlbGVjdGVkSXRlbSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHVuZGVmaW5lZClcbiAgICAgIHRoaXMub25TZWxlY3QubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICAgIGlmICh0YXJnZXQ/LnJlbGF0ZWRUYXJnZXQ/LmNsYXNzTGlzdC5jb250YWlucygnc2VhcmNoLWlucHV0LWl0ZW0nKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuc2V0VHJpZ2dlclJlY3QoKVxuICAgIHRoaXMub3BlbmVkID0gZmFsc2VcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpXG4gICAgICB0aGlzLnNldFRyaWdnZXJSZWN0KClcbiAgICB9LCAzMDApXG4gIH1cblxuICBwdWJsaWMgc2V0SW5pdGlhbFN0YXRlICgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5pdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdGhpcy52YWx1ZSlcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1MYWJlbCA9IHNlbGVjdGVkSXRlbT8udGV4dCB8fCB0aGlzLnZhbHVlXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgc2V0VHJpZ2dlclJlY3QgKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fdHJpZ2dlclJlY3QgPSB0aGlzLnRyaWdnZXI/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIHNlbGVjdEl0ZW0gKGl0ZW06IEN1c3RvbVNlbGVjdEl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlXG4gICAgdGhpcy5lZGl0ZWQgPSBmYWxzZVxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaXRlbVxuICAgIHRoaXMudmFsdWUgPSBpdGVtLmlkXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1MYWJlbCA9IGl0ZW0udGV4dFxuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnXG4gICAgdGhpcy5vblNlbGVjdC5uZXh0KGl0ZW0pXG4gIH1cblxuICBwdWJsaWMga2V5UHJlc3MgKCk6IGFueSB7XG4gICAgdGhpcy5zZXRUcmlnZ2VyUmVjdCgpXG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZVxuICAgIHRoaXMuZWRpdGVkID0gdHJ1ZVxuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnXG4gIH1cblxuICBwdWJsaWMgY2xpY2tlZCAoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRUcmlnZ2VyUmVjdCgpXG4gICAgdGhpcy5vcGVuZWQgPSB0cnVlXG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJydcbiAgfVxuXG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gIH1cblxuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7XG4gIH1cblxuICBnZXQgdmFsdWUgKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZVxuICB9XG5cbiAgc2V0IHZhbHVlICh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWVcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodmFsdWUpXG4gIH1cblxuICB3cml0ZVZhbHVlICh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlIChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkIChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuXG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlIChpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWRcbiAgfVxuXG4gIHB1YmxpYyBhcnJvd0NsaWNrIChldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB0aGlzLnNldFRyaWdnZXJSZWN0KClcbiAgICBpZiAodGhpcy5vcGVuZWQpIHtcbiAgICAgIHRoaXMub3BlbmVkID0gZmFsc2VcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuZWQgPSB0cnVlXG4gICAgICB0aGlzLnNlYXJjaFRleHQgPSAnJ1xuICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRHJvcCAoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJ1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnXG4gICAgfVxuICAgIHRoaXMuZWRpdGVkID0gdHJ1ZVxuICAgIHRoaXMudmFsdWUgKz0gYHt7JHskZXZlbnQuZGF0YX19fWBcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUxhYmVsID0gdGhpcy52YWx1ZVxuICAgIHRoaXMub25CbHVyKHVuZGVmaW5lZClcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1pbnB1dFwiICN0cmlnZ2VyPlxuICA8bWF0LWZvcm0tZmllbGQgY2RrT3ZlcmxheU9yaWdpbiAjb3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiIGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1jb21wb25lbnRcIiBbbmdDbGFzc109XCJ7J3NlbGVjdC1vcGVuJyA6IG9wZW5lZH1cIiBhcHBlYXJhbmNlPVwiZmlsbFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICAgIDxpbnB1dCBtYXRJbnB1dCAjaW5wdXRcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgICAgICAgKGZvY3VzKT1cIm9wZW5lZCA9IHRydWVcIlxuICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtTGFiZWxcIlxuICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgKGtleXVwKT1rZXlQcmVzcygpXG4gICAgICAgICAgIChjbGljayk9XCJjbGlja2VkKClcIlxuICAgICAgICAgICBkbmREcm9wem9uZVxuICAgICAgICAgICAoZG5kRHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgLz5cbiAgICA8c3BhbiBjbGFzcz1cIm9wZW4taWNvblwiIChjbGljayk9XCJhcnJvd0NsaWNrKCRldmVudClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJ7J2ZhLWNhcmV0LWRvd24nIDogIW9wZW5lZCwgJ2ZhLWNhcmV0LXVwJyA6IG9wZW5lZH1cIj48L2k+XG4gICAgPC9zcGFuPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1jb21wb25lbnRcIj5cblxuICA8bmctdGVtcGxhdGUgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT1cIidjdXN0b20tc2VsZWN0LW92ZXJsYXktcGFuZWwnXCJcbiAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3ldPVwic2Nyb2xsU3RyYXRlZ3lcIlxuICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwib3JpZ2luXCJcbiAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJvcGVuZWRcIlxuICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aF09XCJfdHJpZ2dlclJlY3Q/LndpZHRoIVwiPlxuICAgIDx1bCBjbGFzcz1cInVsLWFjXCI+XG4gICAgICA8bGkgY2xhc3M9XCJsaS1zZWFyY2ggc2VhcmNoLWlucHV0LWl0ZW1cIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYXBpcGFzcy1pbnB1dC10ZXh0IHNlYXJjaC1pbnB1dC1pdGVtXCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgY2xhc3M9XCJzZWFyY2gtaW5wdXQtaXRlbVwiXG4gICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaW5kUGxhY2VIb2xkZXJcIlxuICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbGk+XG5cbiAgICAgIDxsaSBjbGFzcz1cImNsaWNrYWJsZVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zIHwgc2VsZWN0RmlsdGVyOnNlYXJjaFRleHQ6J3RleHQnXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpKVwiXG4gICAgICAgICAgKG1vdXNlZG93bik9XCJzZWxlY3RJdGVtKGkpXCI+XG4gICAgICAgIHt7aS50ZXh0fX1cbiAgICAgIDwvbGk+XG5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,30 @@
1
+ export class ValueAccessorBase {
2
+ innerValue;
3
+ onChange = () => { };
4
+ onTouched = () => { };
5
+ get value() {
6
+ return this.innerValue;
7
+ }
8
+ set value(value) {
9
+ value = this.changeValue(value);
10
+ this.innerValue = value;
11
+ this.onChange(value);
12
+ this.onTouched();
13
+ }
14
+ changeValue(value) {
15
+ return value;
16
+ }
17
+ writeValue(value) {
18
+ this.innerValue = value;
19
+ }
20
+ registerOnChange(fn) {
21
+ this.onChange = fn;
22
+ }
23
+ registerOnTouched(fn) {
24
+ this.onTouched = fn;
25
+ }
26
+ touch() {
27
+ this.onTouched.forEach((f) => f());
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNlc3Nvci1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy92YWx1ZS1hY2Vzc29yLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFnQixpQkFBaUI7SUFFN0IsVUFBVSxDQUFLO0lBRWhCLFFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUE7SUFDeEIsU0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQTtJQUVoQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFFLEtBQVE7UUFDakIsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDbEIsQ0FBQztJQUVTLFdBQVcsQ0FBRSxLQUFRO1FBQzdCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELFVBQVUsQ0FBRSxLQUFRO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxFQUFPO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDL0MsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZhbHVlQWNjZXNzb3JCYXNlPFQ+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55XG5cbiAgcHVibGljIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fVxuICBwdWJsaWMgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fVxuXG4gIGdldCB2YWx1ZSAoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZVxuICB9XG5cbiAgc2V0IHZhbHVlICh2YWx1ZTogVCkge1xuICAgIHZhbHVlID0gdGhpcy5jaGFuZ2VWYWx1ZSh2YWx1ZSlcbiAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZVxuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpXG4gICAgdGhpcy5vblRvdWNoZWQoKVxuICB9XG5cbiAgcHJvdGVjdGVkIGNoYW5nZVZhbHVlICh2YWx1ZTogVCk6IFQge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgd3JpdGVWYWx1ZSAodmFsdWU6IFQpOiB2b2lkIHtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZSAoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmblxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQgKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuXG4gIH1cblxuICB0b3VjaCAoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQuZm9yRWFjaCgoZjogKCkgPT4gYW55KSA9PiBmKCkpXG4gIH1cblxufVxuIl19