@apipass/inputs 0.2.15 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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/buttons.scss +118 -118
  4. package/assets/css/colors.scss +34 -34
  5. package/assets/css/fonts.scss +24 -24
  6. package/assets/css/inputs.scss +197 -197
  7. package/assets/css/pt_sans.scss +143 -143
  8. package/assets/css/spacing.scss +28 -28
  9. package/assets/css/texts.scss +18 -18
  10. package/custom-select/custom-select-item.d.ts +5 -5
  11. package/custom-select/custom-select.component.d.ts +51 -51
  12. package/debounce-model-directive/debouceInput.directive.d.ts +14 -14
  13. package/{esm2015/ace-editor/component.js → esm2020/ace-editor/component.mjs} +199 -204
  14. package/{esm2015/ace-editor/directive.js → esm2020/ace-editor/directive.mjs} +150 -150
  15. package/{esm2015/apipass-inputs.js → esm2020/apipass-inputs.mjs} +4 -4
  16. package/{esm2015/custom-select/custom-select-item.js → esm2020/custom-select/custom-select-item.mjs} +7 -7
  17. package/esm2020/custom-select/custom-select.component.mjs +204 -0
  18. package/esm2020/debounce-model-directive/debouceInput.directive.mjs +31 -0
  19. package/esm2020/field/field.component.mjs +51 -0
  20. package/esm2020/input-avatar/input-avatar.component.mjs +92 -0
  21. package/esm2020/input-boolean/input-boolean.component.mjs +56 -0
  22. package/esm2020/input-file/input-file.component.mjs +82 -0
  23. package/esm2020/input-number/input-number.component.mjs +62 -0
  24. package/esm2020/input-password/input-password.component.mjs +96 -0
  25. package/esm2020/input-text/input-text.component.mjs +62 -0
  26. package/esm2020/inputs.module.mjs +149 -0
  27. package/{esm2015/public-api.js → esm2020/public-api.mjs} +17 -17
  28. package/{esm2015/select-box/mat-select-infinite-scroll.directive.js → esm2020/select-box/mat-select-infinite-scroll.directive.mjs} +86 -86
  29. package/esm2020/select-box/select-box.component.mjs +220 -0
  30. package/esm2020/select-enum/select-enum.component.mjs +48 -0
  31. package/esm2020/select-interpolation/select-interpolation.component.mjs +169 -0
  32. package/{esm2015/value-acessor-base.js → esm2020/value-acessor-base.mjs} +31 -31
  33. package/fesm2015/apipass-inputs.mjs +1704 -0
  34. package/fesm2015/apipass-inputs.mjs.map +1 -0
  35. package/fesm2020/apipass-inputs.mjs +1697 -0
  36. package/fesm2020/apipass-inputs.mjs.map +1 -0
  37. package/field/field.component.d.ts +15 -15
  38. package/{apipass-inputs.d.ts → index.d.ts} +5 -5
  39. package/input-avatar/input-avatar.component.d.ts +29 -29
  40. package/input-boolean/input-boolean.component.d.ts +15 -15
  41. package/input-file/input-file.component.d.ts +31 -31
  42. package/input-number/input-number.component.d.ts +17 -17
  43. package/input-password/input-password.component.d.ts +29 -29
  44. package/input-text/input-text.component.d.ts +17 -17
  45. package/inputs.module.d.ts +36 -36
  46. package/package.json +38 -29
  47. package/public-api.d.ts +16 -16
  48. package/select-box/mat-select-infinite-scroll.directive.d.ts +26 -26
  49. package/select-box/select-box.component.d.ts +57 -57
  50. package/select-enum/select-enum.component.d.ts +12 -12
  51. package/select-interpolation/select-interpolation.component.d.ts +44 -44
  52. package/value-acessor-base.d.ts +13 -13
  53. package/bundles/apipass-inputs.umd.js +0 -3060
  54. package/bundles/apipass-inputs.umd.js.map +0 -1
  55. package/bundles/apipass-inputs.umd.min.js +0 -16
  56. package/bundles/apipass-inputs.umd.min.js.map +0 -1
  57. package/esm2015/custom-select/custom-select.component.js +0 -310
  58. package/esm2015/debounce-model-directive/debouceInput.directive.js +0 -31
  59. package/esm2015/field/field.component.js +0 -92
  60. package/esm2015/input-avatar/input-avatar.component.js +0 -167
  61. package/esm2015/input-boolean/input-boolean.component.js +0 -77
  62. package/esm2015/input-file/input-file.component.js +0 -133
  63. package/esm2015/input-number/input-number.component.js +0 -118
  64. package/esm2015/input-password/input-password.component.js +0 -159
  65. package/esm2015/input-text/input-text.component.js +0 -118
  66. package/esm2015/inputs.module.js +0 -155
  67. package/esm2015/select-box/select-box.component.js +0 -367
  68. package/esm2015/select-enum/select-enum.component.js +0 -95
  69. package/esm2015/select-interpolation/select-interpolation.component.js +0 -248
  70. package/fesm2015/apipass-inputs.js +0 -2434
  71. package/fesm2015/apipass-inputs.js.map +0 -1
@@ -1,248 +0,0 @@
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/material/form-field";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@angular/material/input";
10
- import * as i5 from "@angular/forms";
11
- import * as i6 from "ngx-drag-drop";
12
- import * as i7 from "@apipass/pipes";
13
- const _c0 = ["trigger"];
14
- const _c1 = ["input"];
15
- function SelectInterpolationComponent_ng_template_9_li_4_Template(rf, ctx) { if (rf & 1) {
16
- const _r7 = i0.ɵɵgetCurrentView();
17
- i0.ɵɵelementStart(0, "li", 15);
18
- i0.ɵɵlistener("click", function SelectInterpolationComponent_ng_template_9_li_4_Template_li_click_0_listener() { i0.ɵɵrestoreView(_r7); const i_r5 = ctx.$implicit; const ctx_r6 = i0.ɵɵnextContext(2); return ctx_r6.selectItem(i_r5); })("mousedown", function SelectInterpolationComponent_ng_template_9_li_4_Template_li_mousedown_0_listener() { i0.ɵɵrestoreView(_r7); const i_r5 = ctx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.selectItem(i_r5); });
19
- i0.ɵɵtext(1);
20
- i0.ɵɵelementEnd();
21
- } if (rf & 2) {
22
- const i_r5 = ctx.$implicit;
23
- i0.ɵɵadvance(1);
24
- i0.ɵɵtextInterpolate1(" ", i_r5.text, " ");
25
- } }
26
- function SelectInterpolationComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) {
27
- const _r10 = i0.ɵɵgetCurrentView();
28
- i0.ɵɵelementStart(0, "ul", 10);
29
- i0.ɵɵelementStart(1, "li", 11);
30
- i0.ɵɵelementStart(2, "mat-form-field", 12);
31
- i0.ɵɵelementStart(3, "input", 13);
32
- i0.ɵɵlistener("ngModelChange", function SelectInterpolationComponent_ng_template_9_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.searchText = $event; })("blur", function SelectInterpolationComponent_ng_template_9_Template_input_blur_3_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.onBlur($event); });
33
- i0.ɵɵelementEnd();
34
- i0.ɵɵelementEnd();
35
- i0.ɵɵelementEnd();
36
- i0.ɵɵtemplate(4, SelectInterpolationComponent_ng_template_9_li_4_Template, 2, 1, "li", 14);
37
- i0.ɵɵpipe(5, "selectFilter");
38
- i0.ɵɵelementEnd();
39
- } if (rf & 2) {
40
- const ctx_r3 = i0.ɵɵnextContext();
41
- i0.ɵɵadvance(3);
42
- i0.ɵɵproperty("placeholder", ctx_r3.findPlaceHolder)("ngModel", ctx_r3.searchText);
43
- i0.ɵɵadvance(1);
44
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind3(5, 3, ctx_r3.items, ctx_r3.searchText, "text"));
45
- } }
46
- const _c2 = function (a0) { return { "select-open": a0 }; };
47
- const _c3 = function () { return { standalone: true }; };
48
- const _c4 = function (a0, a1) { return { "fa-caret-down": a0, "fa-caret-up": a1 }; };
49
- export class SelectInterpolationComponent {
50
- constructor(sso) {
51
- this.sso = sso;
52
- this.edited = false;
53
- this.selectedItemLabel = '';
54
- this.searchText = '';
55
- this.opened = false;
56
- this.disabled = false;
57
- this.items = [];
58
- this.placeHolder = 'Select';
59
- this.findPlaceHolder = 'Find item';
60
- this.onSelect = new EventEmitter();
61
- this.tabindex = '0';
62
- this.onTouchedCallback = () => {
63
- };
64
- this.onChangeCallback = () => {
65
- };
66
- this.scrollStrategy = this.sso.block();
67
- }
68
- onBlur(target) {
69
- if (this.selectedItemLabel) {
70
- if (this.edited) {
71
- this.writeValue(this.selectedItemLabel);
72
- this.selectedItem = new CustomSelectItem(this.selectedItemLabel, this.selectedItemLabel);
73
- this.onSelect.next(this.selectedItem);
74
- }
75
- }
76
- else {
77
- this.writeValue(undefined);
78
- this.onSelect.next(undefined);
79
- }
80
- if (target && target.relatedTarget && target.relatedTarget.classList.contains('search-input-item')) {
81
- return;
82
- }
83
- this.setTriggerRect();
84
- this.opened = false;
85
- }
86
- ngAfterViewInit() {
87
- setTimeout(() => {
88
- this.setInitialState();
89
- this.setTriggerRect();
90
- }, 300);
91
- }
92
- setInitialState() {
93
- setTimeout(() => {
94
- if (this.value && this.items) {
95
- const selectedItem = this.items.find(item => item.id === this.value);
96
- this.selectedItemLabel = (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.text) || this.value;
97
- }
98
- });
99
- }
100
- setTriggerRect() {
101
- setTimeout(() => {
102
- var _a;
103
- this._triggerRect = (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.nativeElement.getBoundingClientRect();
104
- });
105
- }
106
- selectItem(item) {
107
- this.opened = false;
108
- this.edited = false;
109
- this.selectedItem = item;
110
- this.value = item.id;
111
- this.selectedItemLabel = item.text;
112
- this.searchText = '';
113
- this.onSelect.next(item);
114
- }
115
- keyPress() {
116
- this.setTriggerRect();
117
- this.opened = false;
118
- this.edited = true;
119
- this.searchText = '';
120
- }
121
- clicked() {
122
- this.setTriggerRect();
123
- this.opened = true;
124
- this.searchText = '';
125
- }
126
- get value() {
127
- return this.innerValue;
128
- }
129
- set value(value) {
130
- this.innerValue = value;
131
- this.onChangeCallback(value);
132
- }
133
- writeValue(value) {
134
- if (value !== this.value) {
135
- this.value = value;
136
- }
137
- }
138
- registerOnChange(fn) {
139
- this.onChangeCallback = fn;
140
- }
141
- registerOnTouched(fn) {
142
- this.onTouchedCallback = fn;
143
- }
144
- setDisabledState(isDisabled) {
145
- this.disabled = isDisabled;
146
- }
147
- arrowClick(event) {
148
- var _a;
149
- event.stopPropagation();
150
- this.setTriggerRect();
151
- if (this.opened) {
152
- this.opened = false;
153
- }
154
- else {
155
- this.opened = true;
156
- this.searchText = '';
157
- (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
158
- }
159
- }
160
- onDrop($event) {
161
- this.searchText = '';
162
- if (!this.value) {
163
- this.value = '';
164
- }
165
- this.edited = true;
166
- this.value += `{{${$event.data}}}`;
167
- this.selectedItemLabel = this.value;
168
- this.onBlur(undefined);
169
- }
170
- }
171
- SelectInterpolationComponent.ɵfac = function SelectInterpolationComponent_Factory(t) { return new (t || SelectInterpolationComponent)(i0.ɵɵdirectiveInject(i1.ScrollStrategyOptions)); };
172
- SelectInterpolationComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectInterpolationComponent, selectors: [["select-interpolation"]], viewQuery: function SelectInterpolationComponent_Query(rf, ctx) { if (rf & 1) {
173
- i0.ɵɵviewQuery(_c0, true);
174
- i0.ɵɵviewQuery(_c1, true, ElementRef);
175
- } if (rf & 2) {
176
- var _t;
177
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.trigger = _t.first);
178
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
179
- } }, hostVars: 1, hostBindings: function SelectInterpolationComponent_HostBindings(rf, ctx) { if (rf & 1) {
180
- i0.ɵɵlistener("blur", function SelectInterpolationComponent_blur_HostBindingHandler($event) { return ctx.onBlur($event.target); });
181
- } if (rf & 2) {
182
- i0.ɵɵattribute("tabindex", ctx.tabindex);
183
- } }, inputs: { disabled: "disabled", items: "items", placeHolder: "placeHolder", findPlaceHolder: "findPlaceHolder" }, outputs: { onSelect: "onSelect" }, features: [i0.ɵɵProvidersFeature([{
184
- provide: NG_VALUE_ACCESSOR,
185
- useExisting: forwardRef(() => SelectInterpolationComponent),
186
- multi: true
187
- }])], decls: 10, vars: 17, consts: [[1, "custom-select-input"], ["trigger", ""], ["cdkOverlayOrigin", "", "appearance", "fill", "autocomplete", "off", 1, "custom-select-component", 3, "ngClass"], ["origin", "cdkOverlayOrigin"], ["matInput", "", "dndDropzone", "", "autocomplete", "off", 3, "placeholder", "ngModel", "ngModelOptions", "disabled", "focus", "blur", "ngModelChange", "keyup", "click", "dndDrop"], ["input", ""], [1, "open-icon", 3, "click"], [1, "fas", 3, "ngClass"], [1, "custom-select-component"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayMinWidth"], [1, "ul-ac"], [1, "li-search", "search-input-item"], ["appearance", "fill", 1, "apipass-input-text", "search-input-item"], ["matInput", "", "aria-autocomplete", "none", "autocomplete", "off", 1, "search-input-item", 3, "placeholder", "ngModel", "ngModelChange", "blur"], ["class", "clickable", 3, "click", "mousedown", 4, "ngFor", "ngForOf"], [1, "clickable", 3, "click", "mousedown"]], template: function SelectInterpolationComponent_Template(rf, ctx) { if (rf & 1) {
188
- i0.ɵɵelementStart(0, "div", 0, 1);
189
- i0.ɵɵelementStart(2, "mat-form-field", 2, 3);
190
- i0.ɵɵelementStart(4, "input", 4, 5);
191
- i0.ɵɵlistener("focus", function SelectInterpolationComponent_Template_input_focus_4_listener() { return ctx.opened = true; })("blur", function SelectInterpolationComponent_Template_input_blur_4_listener($event) { return ctx.onBlur($event); })("ngModelChange", function SelectInterpolationComponent_Template_input_ngModelChange_4_listener($event) { return ctx.selectedItemLabel = $event; })("keyup", function SelectInterpolationComponent_Template_input_keyup_4_listener() { return ctx.keyPress(); })("click", function SelectInterpolationComponent_Template_input_click_4_listener() { return ctx.clicked(); })("dndDrop", function SelectInterpolationComponent_Template_input_dndDrop_4_listener($event) { return ctx.onDrop($event); });
192
- i0.ɵɵelementEnd();
193
- i0.ɵɵelementStart(6, "span", 6);
194
- i0.ɵɵlistener("click", function SelectInterpolationComponent_Template_span_click_6_listener($event) { return ctx.arrowClick($event); });
195
- i0.ɵɵelement(7, "i", 7);
196
- i0.ɵɵelementEnd();
197
- i0.ɵɵelementEnd();
198
- i0.ɵɵelementEnd();
199
- i0.ɵɵelementStart(8, "div", 8);
200
- i0.ɵɵtemplate(9, SelectInterpolationComponent_ng_template_9_Template, 6, 7, "ng-template", 9);
201
- i0.ɵɵelementEnd();
202
- } if (rf & 2) {
203
- const _r1 = i0.ɵɵreference(3);
204
- i0.ɵɵadvance(2);
205
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c2, ctx.opened));
206
- i0.ɵɵadvance(2);
207
- i0.ɵɵproperty("placeholder", ctx.placeHolder)("ngModel", ctx.selectedItemLabel)("ngModelOptions", i0.ɵɵpureFunction0(13, _c3))("disabled", ctx.disabled);
208
- i0.ɵɵadvance(3);
209
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(14, _c4, !ctx.opened, ctx.opened));
210
- i0.ɵɵadvance(2);
211
- i0.ɵɵproperty("cdkConnectedOverlayPanelClass", "custom-select-overlay-panel")("cdkConnectedOverlayScrollStrategy", ctx.scrollStrategy)("cdkConnectedOverlayOrigin", _r1)("cdkConnectedOverlayOpen", ctx.opened)("cdkConnectedOverlayMinWidth", ctx._triggerRect == null ? null : ctx._triggerRect.width);
212
- } }, directives: [i2.MatFormField, i1.CdkOverlayOrigin, i3.NgClass, i4.MatInput, i5.DefaultValueAccessor, i6.DndDropzoneDirective, i5.NgControlStatus, i5.NgModel, i1.CdkConnectedOverlay, i3.NgForOf], pipes: [i7.SelectFilterPipe], styles: [".custom-select-component[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%], .custom-select-overlay-panel{cursor:pointer}.custom-select-component[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .custom-select-overlay-panel input{background:#fff!important;height:48px}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%], .custom-select-overlay-panel .ul-ac{background:#fff;border:1px solid #ccc;box-sizing:border-box;list-style:none;margin-top:-1px;max-height:16rem;overflow:auto;padding:0;position:relative;width:100%}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .custom-select-overlay-panel .ul-ac li{cursor:pointer;font-size:12px;overflow:hidden;padding:10px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover, .custom-select-input[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover, .custom-select-overlay-panel .ul-ac li:hover{background:#bbbcbc}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%], .custom-select-overlay-panel .ul-ac li .mat-form-field-flex{height:37px!important}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .custom-select-overlay-panel .ul-ac li .mat-form-field-flex input{height:auto}.custom-select-component[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%], .custom-select-overlay-panel .selected{background-color:#898a8a!important}.custom-select-component[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%] .fa[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%] .fa[_ngcontent-%COMP%], .custom-select-overlay-panel .selected .fa{color:#fff!important}.custom-select-component[_ngcontent-%COMP%] .remove-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .remove-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .custom-select-overlay-panel .remove-icon i{color:red;margin-right:10px}.custom-select-component[_ngcontent-%COMP%] .open-icon[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .open-icon[_ngcontent-%COMP%], .custom-select-overlay-panel .open-icon{cursor:pointer}.custom-select-component[_ngcontent-%COMP%] .open-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .open-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .custom-select-overlay-panel .open-icon i{color:rgba(0,0,0,.54)}.custom-select-component[_ngcontent-%COMP%] .li-search[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .li-search[_ngcontent-%COMP%], .custom-select-overlay-panel .li-search{border-bottom:1px solid #ccc!important;cursor:default!important}.custom-select-component[_ngcontent-%COMP%] .li-search[_ngcontent-%COMP%]:hover, .custom-select-input[_ngcontent-%COMP%] .li-search[_ngcontent-%COMP%]:hover, .custom-select-overlay-panel .li-search:hover{background:#fff!important}.custom-select-component[_ngcontent-%COMP%] .select-open[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%], .custom-select-input[_ngcontent-%COMP%] .select-open[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%], .custom-select-overlay-panel .select-open .mat-form-field-flex{border-radius:6px 6px 0 0!important}"] });
213
- /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SelectInterpolationComponent, [{
214
- type: Component,
215
- args: [{
216
- selector: 'select-interpolation',
217
- templateUrl: 'select-interpolation.component.html',
218
- styleUrls: ['select-interpolation.component.scss'],
219
- providers: [{
220
- provide: NG_VALUE_ACCESSOR,
221
- useExisting: forwardRef(() => SelectInterpolationComponent),
222
- multi: true
223
- }]
224
- }]
225
- }], function () { return [{ type: i1.ScrollStrategyOptions }]; }, { disabled: [{
226
- type: Input
227
- }], items: [{
228
- type: Input
229
- }], placeHolder: [{
230
- type: Input
231
- }], findPlaceHolder: [{
232
- type: Input
233
- }], onSelect: [{
234
- type: Output
235
- }], trigger: [{
236
- type: ViewChild,
237
- args: ['trigger']
238
- }], input: [{
239
- type: ViewChild,
240
- args: ['input', { read: ElementRef }]
241
- }], tabindex: [{
242
- type: HostBinding,
243
- args: ['attr.tabindex']
244
- }], onBlur: [{
245
- type: HostListener,
246
- args: ['blur', ['$event.target']]
247
- }] }); })();
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWludGVycG9sYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9zZWxlY3QtaW50ZXJwb2xhdGlvbi9zZWxlY3QtaW50ZXJwb2xhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1pbnRlcnBvbGF0aW9uL3NlbGVjdC1pbnRlcnBvbGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFpQixxQkFBcUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7O0lDMkJyRSw4QkFHRTtJQUZFLDBPQUF1QixxT0FBQTtJQUV6QixZQUNGO0lBQUEsaUJBQUs7OztJQURILGVBQ0Y7SUFERSwwQ0FDRjs7OztJQWpCRiw4QkFDRTtJQUFBLDhCQUNFO0lBQUEsMENBQ0U7SUFBQSxpQ0FPRjtJQUxTLHFPQUF3QixtTUFBQTtJQUYvQixpQkFPRjtJQUFBLGlCQUFpQjtJQUNuQixpQkFBSztJQUVMLDBGQUdFOztJQUdKLGlCQUFLOzs7SUFmUSxlQUErQjtJQUEvQixvREFBK0IsOEJBQUE7SUFTcEIsZUFBd0Q7SUFBeEQsdUZBQXdEOzs7OztBRGZwRixNQUFNLE9BQU8sNEJBQTRCO0lBeUJ2QyxZQUE2QixHQUEwQjtRQUExQixRQUFHLEdBQUgsR0FBRyxDQUF1QjtRQXRCL0MsV0FBTSxH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WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Q3VzdG9tU2VsZWN0SXRlbX0gZnJvbSAnLi4vY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LWl0ZW0nO1xuaW1wb3J0IHtTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlbGVjdC1pbnRlcnBvbGF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICdzZWxlY3QtaW50ZXJwb2xhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzZWxlY3QtaW50ZXJwb2xhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0SW50ZXJwb2xhdGlvbkNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0SW50ZXJwb2xhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcblxuICBwcml2YXRlIGlubmVyVmFsdWU6IGFueTtcbiAgcHJpdmF0ZSBlZGl0ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgc2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5O1xuICBwdWJsaWMgX3RyaWdnZXJSZWN0OiBDbGllbnRSZWN0IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgc2VsZWN0ZWRJdGVtOiBDdXN0b21TZWxlY3RJdGVtIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgc2VsZWN0ZWRJdGVtTGFiZWwgPSAnJztcbiAgcHVibGljIHNlYXJjaFRleHQgPSAnJztcbiAgcHVibGljIG9wZW5lZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IEN1c3RvbVNlbGVjdEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2VIb2xkZXIgPSAnU2VsZWN0JztcbiAgQElucHV0KCkgcHVibGljIGZpbmRQbGFjZUhvbGRlciA9ICdGaW5kIGl0ZW0nO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxDdXN0b21TZWxlY3RJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyJylcbiAgcHVibGljIHRyaWdnZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGlucHV0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3NvOiBTY3JvbGxTdHJhdGVneU9wdGlvbnMpIHtcbiAgICB0aGlzLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zc28uYmxvY2soKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYmluZGV4ID0gJzAnO1xuICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0J10pIG9uQmx1cih0YXJnZXQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbUxhYmVsKSB7XG4gICAgICBpZiAodGhpcy5lZGl0ZWQpIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc2VsZWN0ZWRJdGVtTGFiZWwpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG5ldyBDdXN0b21TZWxlY3RJdGVtKHRoaXMuc2VsZWN0ZWRJdGVtTGFiZWwsIHRoaXMuc2VsZWN0ZWRJdGVtTGFiZWwpO1xuICAgICAgICB0aGlzLm9uU2VsZWN0Lm5leHQodGhpcy5zZWxlY3RlZEl0ZW0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodW5kZWZpbmVkKTtcbiAgICAgIHRoaXMub25TZWxlY3QubmV4dCh1bmRlZmluZWQpO1xuICAgIH1cbiAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC5yZWxhdGVkVGFyZ2V0ICYmIHRhcmdldC5yZWxhdGVkVGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnc2VhcmNoLWlucHV0LWl0ZW0nKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNldFRyaWdnZXJSZWN0KCk7XG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XG4gICAgICB0aGlzLnNldFRyaWdnZXJSZWN0KCk7XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJbml0aWFsU3RhdGUoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLml0ZW1zKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMuaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUxhYmVsID0gc2VsZWN0ZWRJdGVtPy50ZXh0IHx8IHRoaXMudmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFRyaWdnZXJSZWN0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fdHJpZ2dlclJlY3QgPSB0aGlzLnRyaWdnZXI/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SXRlbShpdGVtOiBDdXN0b21TZWxlY3RJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLmVkaXRlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaXRlbTtcbiAgICB0aGlzLnZhbHVlID0gaXRlbS5pZDtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUxhYmVsID0gaXRlbS50ZXh0O1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgIHRoaXMub25TZWxlY3QubmV4dChpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBrZXlQcmVzcygpOiBhbnkge1xuICAgIHRoaXMuc2V0VHJpZ2dlclJlY3QoKTtcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgIHRoaXMuZWRpdGVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBjbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VHJpZ2dlclJlY3QoKTtcbiAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gIH1cblxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4ge1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIGFycm93Q2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2V0VHJpZ2dlclJlY3QoKTtcbiAgICBpZiAodGhpcy5vcGVuZWQpIHtcbiAgICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkRyb3AoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9XG4gICAgdGhpcy5lZGl0ZWQgPSB0cnVlO1xuICAgIHRoaXMudmFsdWUgKz0gYHt7JHskZXZlbnQuZGF0YX19fWA7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1MYWJlbCA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5vbkJsdXIodW5kZWZpbmVkKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1pbnB1dFwiICN0cmlnZ2VyPlxuICA8bWF0LWZvcm0tZmllbGQgY2RrT3ZlcmxheU9yaWdpbiAjb3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiIGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1jb21wb25lbnRcIiBbbmdDbGFzc109XCJ7J3NlbGVjdC1vcGVuJyA6IG9wZW5lZH1cIiBhcHBlYXJhbmNlPVwiZmlsbFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICAgIDxpbnB1dCBtYXRJbnB1dCAjaW5wdXRcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgICAgICAgKGZvY3VzKT1cIm9wZW5lZCA9IHRydWVcIlxuICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtTGFiZWxcIlxuICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgKGtleXVwKT1rZXlQcmVzcygpXG4gICAgICAgICAgIChjbGljayk9XCJjbGlja2VkKClcIlxuICAgICAgICAgICBkbmREcm9wem9uZVxuICAgICAgICAgICAoZG5kRHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgLz5cbiAgICA8c3BhbiBjbGFzcz1cIm9wZW4taWNvblwiIChjbGljayk9XCJhcnJvd0NsaWNrKCRldmVudClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJ7J2ZhLWNhcmV0LWRvd24nIDogIW9wZW5lZCwgJ2ZhLWNhcmV0LXVwJyA6IG9wZW5lZH1cIj48L2k+XG4gICAgPC9zcGFuPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1jb21wb25lbnRcIj5cblxuICA8bmctdGVtcGxhdGUgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT1cIidjdXN0b20tc2VsZWN0LW92ZXJsYXktcGFuZWwnXCJcbiAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3ldPVwic2Nyb2xsU3RyYXRlZ3lcIlxuICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwib3JpZ2luXCJcbiAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJvcGVuZWRcIlxuICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aF09XCJfdHJpZ2dlclJlY3Q/LndpZHRoIVwiPlxuICAgIDx1bCBjbGFzcz1cInVsLWFjXCI+XG4gICAgICA8bGkgY2xhc3M9XCJsaS1zZWFyY2ggc2VhcmNoLWlucHV0LWl0ZW1cIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYXBpcGFzcy1pbnB1dC10ZXh0IHNlYXJjaC1pbnB1dC1pdGVtXCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgY2xhc3M9XCJzZWFyY2gtaW5wdXQtaXRlbVwiXG4gICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaW5kUGxhY2VIb2xkZXJcIlxuICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbGk+XG5cbiAgICAgIDxsaSBjbGFzcz1cImNsaWNrYWJsZVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zIHwgc2VsZWN0RmlsdGVyOnNlYXJjaFRleHQ6J3RleHQnXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpKVwiXG4gICAgICAgICAgKG1vdXNlZG93bik9XCJzZWxlY3RJdGVtKGkpXCI+XG4gICAgICAgIHt7aS50ZXh0fX1cbiAgICAgIDwvbGk+XG5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=