design-angular-kit 0.13.0 → 1.0.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 (207) hide show
  1. package/README.md +61 -31
  2. package/esm2020/design-angular-kit.mjs +5 -0
  3. package/esm2020/lib/badge/badge.directive.mjs +83 -0
  4. package/esm2020/lib/breadcrumb/breadcrumb-item.component.mjs +66 -0
  5. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +89 -0
  6. package/esm2020/lib/button/button.directive.mjs +185 -0
  7. package/esm2020/lib/button/button.module.mjs +18 -0
  8. package/esm2020/lib/checkbox/checkbox.component.mjs +138 -0
  9. package/esm2020/lib/collapse/collapse-group.component.mjs +57 -0
  10. package/esm2020/lib/collapse/collapse-item.component.mjs +79 -0
  11. package/esm2020/lib/collapse/collapse.config.mjs +12 -0
  12. package/esm2020/lib/collapse/collapse.directive.mjs +55 -0
  13. package/esm2020/lib/collapse/collapse.module.mjs +22 -0
  14. package/esm2020/lib/design-angular-kit.module.mjs +142 -0
  15. package/esm2020/lib/dropdown/dropdown-divider.component.mjs +11 -0
  16. package/esm2020/lib/dropdown/dropdown-item.component.mjs +97 -0
  17. package/esm2020/lib/dropdown/dropdown.component.mjs +143 -0
  18. package/esm2020/lib/dropdown/dropdown.config.mjs +12 -0
  19. package/esm2020/lib/dropdown/dropdown.directive.mjs +156 -0
  20. package/esm2020/lib/dropdown/dropdown.module.mjs +25 -0
  21. package/esm2020/lib/enums/icons.enum.mjs +27 -0
  22. package/esm2020/lib/form-input/form-input-password.utils.mjs +154 -0
  23. package/esm2020/lib/form-input/form-input.component.mjs +495 -0
  24. package/esm2020/lib/form-input/it-prefix.directive.mjs +13 -0
  25. package/esm2020/lib/form-input/it-suffix.directive.mjs +13 -0
  26. package/esm2020/lib/form-input/it-text-prefix.directive.mjs +13 -0
  27. package/esm2020/lib/form-input/it-text-suffix.directive.mjs +13 -0
  28. package/esm2020/lib/form-input/mark-matching-text.pipe.mjs +36 -0
  29. package/esm2020/lib/icon/icon.component.mjs +87 -0
  30. package/esm2020/lib/icon/icon.module.mjs +18 -0
  31. package/esm2020/lib/models/Alignment.mjs +15 -0
  32. package/esm2020/lib/models/ButtonSize.mjs +15 -0
  33. package/esm2020/lib/models/InputType.mjs +44 -0
  34. package/esm2020/lib/models/ThemeColor.mjs +30 -0
  35. package/esm2020/lib/popover/popover.config.mjs +17 -0
  36. package/esm2020/lib/popover/popover.directive.mjs +33 -0
  37. package/esm2020/lib/popover/popover.module.mjs +19 -0
  38. package/esm2020/lib/progress-bar/progress-bar.component.mjs +98 -0
  39. package/esm2020/lib/radio/radio.component.mjs +287 -0
  40. package/esm2020/lib/radio/unique-selection-dispatcher.mjs +55 -0
  41. package/esm2020/lib/tabs/tab-group.component.mjs +177 -0
  42. package/esm2020/lib/tabs/tab.component.mjs +73 -0
  43. package/esm2020/lib/tabs/tabs.module.mjs +20 -0
  44. package/esm2020/lib/toggle/toggle.component.mjs +86 -0
  45. package/esm2020/lib/tooltip/tooltip.config.mjs +17 -0
  46. package/esm2020/lib/tooltip/tooltip.directive.mjs +43 -0
  47. package/esm2020/lib/tooltip/tooltip.module.mjs +19 -0
  48. package/esm2020/lib/util/focus-mouse.directive.mjs +32 -0
  49. package/esm2020/lib/util/util.mjs +12 -0
  50. package/esm2020/lib/util/utils.module.mjs +16 -0
  51. package/esm2020/public_api.mjs +40 -0
  52. package/fesm2015/design-angular-kit.mjs +3181 -0
  53. package/fesm2015/design-angular-kit.mjs.map +1 -0
  54. package/fesm2020/design-angular-kit.mjs +3160 -0
  55. package/fesm2020/design-angular-kit.mjs.map +1 -0
  56. package/index.d.ts +5 -0
  57. package/lib/badge/badge.directive.d.ts +11 -5
  58. package/lib/breadcrumb/breadcrumb-item.component.d.ts +16 -5
  59. package/lib/breadcrumb/breadcrumb.component.d.ts +12 -5
  60. package/lib/button/button.directive.d.ts +72 -0
  61. package/lib/button/button.module.d.ts +8 -0
  62. package/lib/checkbox/checkbox.component.d.ts +25 -5
  63. package/lib/collapse/collapse-group.component.d.ts +6 -2
  64. package/lib/collapse/collapse-item.component.d.ts +16 -8
  65. package/lib/collapse/collapse.config.d.ts +6 -0
  66. package/lib/collapse/collapse.directive.d.ts +13 -28
  67. package/lib/collapse/collapse.module.d.ts +12 -0
  68. package/lib/design-angular-kit.module.d.ts +27 -0
  69. package/lib/dropdown/dropdown-divider.component.d.ts +3 -0
  70. package/lib/dropdown/dropdown-item.component.d.ts +22 -8
  71. package/lib/dropdown/dropdown.component.d.ts +34 -26
  72. package/lib/dropdown/dropdown.config.d.ts +6 -0
  73. package/lib/dropdown/dropdown.directive.d.ts +77 -0
  74. package/lib/dropdown/dropdown.module.d.ts +15 -0
  75. package/lib/enums/icons.enum.d.ts +23 -0
  76. package/lib/form-input/form-input-password.utils.d.ts +45 -0
  77. package/lib/form-input/form-input.component.d.ts +202 -20
  78. package/lib/form-input/it-prefix.directive.d.ts +5 -0
  79. package/lib/form-input/it-suffix.directive.d.ts +5 -0
  80. package/lib/form-input/it-text-prefix.directive.d.ts +5 -0
  81. package/lib/form-input/it-text-suffix.directive.d.ts +5 -0
  82. package/lib/form-input/mark-matching-text.pipe.d.ts +10 -0
  83. package/lib/icon/icon.component.d.ts +34 -0
  84. package/lib/icon/icon.module.d.ts +8 -0
  85. package/lib/models/Alignment.d.ts +12 -0
  86. package/lib/models/ButtonSize.d.ts +1 -1
  87. package/lib/models/InputType.d.ts +22 -1
  88. package/lib/models/ThemeColor.d.ts +1 -1
  89. package/lib/popover/popover.config.d.ts +5 -6
  90. package/lib/popover/popover.directive.d.ts +13 -108
  91. package/lib/popover/popover.module.d.ts +9 -0
  92. package/lib/progress-bar/progress-bar.component.d.ts +25 -19
  93. package/lib/radio/radio.component.d.ts +22 -10
  94. package/lib/radio/unique-selection-dispatcher.d.ts +3 -0
  95. package/lib/tabs/tab-group.component.d.ts +17 -11
  96. package/lib/tabs/tab.component.d.ts +6 -2
  97. package/lib/tabs/tabs.module.d.ts +10 -0
  98. package/lib/toggle/toggle.component.d.ts +9 -4
  99. package/lib/tooltip/tooltip.config.d.ts +7 -7
  100. package/lib/tooltip/tooltip.directive.d.ts +12 -92
  101. package/lib/tooltip/tooltip.module.d.ts +9 -0
  102. package/lib/util/focus-mouse.directive.d.ts +13 -0
  103. package/lib/util/utils.module.d.ts +7 -0
  104. package/package.json +34 -20
  105. package/public_api.d.ts +16 -2
  106. package/bundles/design-angular-kit.umd.js +0 -6258
  107. package/bundles/design-angular-kit.umd.js.map +0 -1
  108. package/bundles/design-angular-kit.umd.min.js +0 -31
  109. package/bundles/design-angular-kit.umd.min.js.map +0 -1
  110. package/design-angular-kit.d.ts +0 -8
  111. package/design-angular-kit.metadata.json +0 -1
  112. package/esm2015/design-angular-kit.js +0 -14
  113. package/esm2015/lib/badge/badge.directive.js +0 -116
  114. package/esm2015/lib/breadcrumb/breadcrumb-item.component.js +0 -117
  115. package/esm2015/lib/breadcrumb/breadcrumb.component.js +0 -128
  116. package/esm2015/lib/button/button.component.js +0 -165
  117. package/esm2015/lib/checkbox/checkbox.component.js +0 -170
  118. package/esm2015/lib/collapse/collapse-group.component.js +0 -87
  119. package/esm2015/lib/collapse/collapse-item.component.js +0 -148
  120. package/esm2015/lib/collapse/collapse.directive.js +0 -153
  121. package/esm2015/lib/design-angular-kit.module.js +0 -90
  122. package/esm2015/lib/dropdown/dropdown-divider.component.js +0 -18
  123. package/esm2015/lib/dropdown/dropdown-header.component.js +0 -29
  124. package/esm2015/lib/dropdown/dropdown-item.component.js +0 -157
  125. package/esm2015/lib/dropdown/dropdown.component.js +0 -248
  126. package/esm2015/lib/form-input/form-input.component.js +0 -489
  127. package/esm2015/lib/models/ButtonSize.js +0 -25
  128. package/esm2015/lib/models/IconPosition.js +0 -21
  129. package/esm2015/lib/models/InputType.js +0 -33
  130. package/esm2015/lib/models/InteractionTrigger.js +0 -35
  131. package/esm2015/lib/models/ThemeColor.js +0 -45
  132. package/esm2015/lib/popover/popover.component.js +0 -134
  133. package/esm2015/lib/popover/popover.config.js +0 -35
  134. package/esm2015/lib/popover/popover.directive.js +0 -433
  135. package/esm2015/lib/popover/popup.js +0 -105
  136. package/esm2015/lib/popover/positioning.js +0 -349
  137. package/esm2015/lib/popover/triggers.js +0 -99
  138. package/esm2015/lib/progress-bar/progress-bar.component.js +0 -170
  139. package/esm2015/lib/radio/radio.component.js +0 -526
  140. package/esm2015/lib/radio/unique-selection-dispatcher.js +0 -70
  141. package/esm2015/lib/tabs/tab-group.component.js +0 -339
  142. package/esm2015/lib/tabs/tab.component.js +0 -143
  143. package/esm2015/lib/toggle/toggle.component.js +0 -173
  144. package/esm2015/lib/tooltip/popup.js +0 -105
  145. package/esm2015/lib/tooltip/positioning.js +0 -349
  146. package/esm2015/lib/tooltip/tooltip.component.js +0 -77
  147. package/esm2015/lib/tooltip/tooltip.config.js +0 -31
  148. package/esm2015/lib/tooltip/tooltip.directive.js +0 -384
  149. package/esm2015/lib/tooltip/triggers.js +0 -99
  150. package/esm2015/lib/util/util.js +0 -30
  151. package/esm2015/public_api.js +0 -31
  152. package/esm5/design-angular-kit.js +0 -14
  153. package/esm5/lib/badge/badge.directive.js +0 -145
  154. package/esm5/lib/breadcrumb/breadcrumb-item.component.js +0 -135
  155. package/esm5/lib/breadcrumb/breadcrumb.component.js +0 -164
  156. package/esm5/lib/button/button.component.js +0 -221
  157. package/esm5/lib/checkbox/checkbox.component.js +0 -200
  158. package/esm5/lib/collapse/collapse-group.component.js +0 -102
  159. package/esm5/lib/collapse/collapse-item.component.js +0 -183
  160. package/esm5/lib/collapse/collapse.directive.js +0 -210
  161. package/esm5/lib/design-angular-kit.module.js +0 -94
  162. package/esm5/lib/dropdown/dropdown-divider.component.js +0 -20
  163. package/esm5/lib/dropdown/dropdown-header.component.js +0 -27
  164. package/esm5/lib/dropdown/dropdown-item.component.js +0 -197
  165. package/esm5/lib/dropdown/dropdown.component.js +0 -309
  166. package/esm5/lib/form-input/form-input.component.js +0 -582
  167. package/esm5/lib/models/ButtonSize.js +0 -25
  168. package/esm5/lib/models/IconPosition.js +0 -21
  169. package/esm5/lib/models/InputType.js +0 -33
  170. package/esm5/lib/models/InteractionTrigger.js +0 -35
  171. package/esm5/lib/models/ThemeColor.js +0 -45
  172. package/esm5/lib/popover/popover.component.js +0 -144
  173. package/esm5/lib/popover/popover.config.js +0 -37
  174. package/esm5/lib/popover/popover.directive.js +0 -573
  175. package/esm5/lib/popover/popup.js +0 -116
  176. package/esm5/lib/popover/positioning.js +0 -446
  177. package/esm5/lib/popover/triggers.js +0 -115
  178. package/esm5/lib/progress-bar/progress-bar.component.js +0 -218
  179. package/esm5/lib/radio/radio.component.js +0 -610
  180. package/esm5/lib/radio/unique-selection-dispatcher.js +0 -108
  181. package/esm5/lib/tabs/tab-group.component.js +0 -401
  182. package/esm5/lib/tabs/tab.component.js +0 -156
  183. package/esm5/lib/toggle/toggle.component.js +0 -200
  184. package/esm5/lib/tooltip/popup.js +0 -116
  185. package/esm5/lib/tooltip/positioning.js +0 -446
  186. package/esm5/lib/tooltip/tooltip.component.js +0 -80
  187. package/esm5/lib/tooltip/tooltip.config.js +0 -33
  188. package/esm5/lib/tooltip/tooltip.directive.js +0 -516
  189. package/esm5/lib/tooltip/triggers.js +0 -115
  190. package/esm5/lib/util/util.js +0 -48
  191. package/esm5/public_api.js +0 -31
  192. package/fesm2015/design-angular-kit.js +0 -5094
  193. package/fesm2015/design-angular-kit.js.map +0 -1
  194. package/fesm5/design-angular-kit.js +0 -6314
  195. package/fesm5/design-angular-kit.js.map +0 -1
  196. package/lib/button/button.component.d.ts +0 -50
  197. package/lib/dropdown/dropdown-header.component.d.ts +0 -3
  198. package/lib/models/IconPosition.d.ts +0 -9
  199. package/lib/models/InteractionTrigger.d.ts +0 -19
  200. package/lib/popover/popover.component.d.ts +0 -25
  201. package/lib/popover/popup.d.ts +0 -27
  202. package/lib/popover/positioning.d.ts +0 -32
  203. package/lib/popover/triggers.d.ts +0 -18
  204. package/lib/tooltip/popup.d.ts +0 -27
  205. package/lib/tooltip/positioning.d.ts +0 -32
  206. package/lib/tooltip/tooltip.component.d.ts +0 -20
  207. package/lib/tooltip/triggers.d.ts +0 -18
@@ -1,489 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import { Component, Input, ChangeDetectionStrategy, forwardRef, Output, EventEmitter, ChangeDetectorRef, ViewChild, ElementRef } from '@angular/core';
6
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
- import { InputType, INPUT_TYPES } from '../models/InputType';
8
- import { Util } from '../util/util';
9
- /** @type {?} */
10
- let identifier = 0;
11
- export class FormInputChange {
12
- /**
13
- * @param {?} source
14
- * @param {?} value
15
- */
16
- constructor(source, value) {
17
- this.source = source;
18
- this.value = value;
19
- }
20
- }
21
- if (false) {
22
- /** @type {?} */
23
- FormInputChange.prototype.source;
24
- /** @type {?} */
25
- FormInputChange.prototype.value;
26
- }
27
- /**
28
- * Elementi e stili per la creazione di input accessibili e responsivi.
29
- */
30
- export class FormInputComponent {
31
- /**
32
- * @param {?} _changeDetector
33
- */
34
- constructor(_changeDetector) {
35
- this._changeDetector = _changeDetector;
36
- this._id = `form-input-${identifier++}`;
37
- this._type = INPUT_TYPES.TEXT;
38
- this._disabled = false;
39
- this._readonly = false;
40
- /**
41
- * Evento emesso quando il valore dell'input cambia.
42
- * Gli eventi di change sono emessi soltanto quando il valore cambia a causa dell'interazione dell'utente
43
- * con il campo d'input.
44
- */
45
- this.change = new EventEmitter();
46
- this._isLabelActive = false;
47
- this._isPasswordMode = false;
48
- this._isPasswordVisible = false;
49
- this._showAutocompletion = false;
50
- this._isInitialized = false;
51
- this._controlValueAccessorChangeFn = () => { };
52
- this._onTouched = () => { };
53
- }
54
- /**
55
- * Indica l'id dell'elemento HTML
56
- * @return {?}
57
- */
58
- get id() {
59
- return this._id;
60
- }
61
- /**
62
- * @param {?} value
63
- * @return {?}
64
- */
65
- set id(value) {
66
- this._id = value;
67
- }
68
- /**
69
- * Indica l'attributo name del componente HTML
70
- * @return {?}
71
- */
72
- get name() {
73
- return this._name;
74
- }
75
- /**
76
- * @param {?} value
77
- * @return {?}
78
- */
79
- set name(value) {
80
- this._name = value;
81
- }
82
- /**
83
- * Indica il tipo di campo. Puo' assumere i valori text, email, password e number
84
- * @return {?}
85
- */
86
- get type() {
87
- return this._type;
88
- }
89
- /**
90
- * @param {?} value
91
- * @return {?}
92
- */
93
- set type(value) {
94
- if (InputType.is(value)) {
95
- if (value === INPUT_TYPES.NUMBER) {
96
- if (isNaN(Number(this.value))) {
97
- this.value = '';
98
- this.onChange();
99
- }
100
- }
101
- this._type = value;
102
- }
103
- else {
104
- this._type = INPUT_TYPES.TEXT;
105
- }
106
- this._isPasswordMode = this._type === INPUT_TYPES.PASSWORD;
107
- this._isPasswordVisible = false;
108
- this._showAutocompletion = false;
109
- }
110
- /**
111
- * Indica il valore della label da visualizzare
112
- * @return {?}
113
- */
114
- get label() { return this._label; }
115
- /**
116
- * @param {?} value
117
- * @return {?}
118
- */
119
- set label(value) { this._label = value; }
120
- /**
121
- * Indica il testo di aiuto sotto la input
122
- * @return {?}
123
- */
124
- get note() { return this._note; }
125
- /**
126
- * @param {?} value
127
- * @return {?}
128
- */
129
- set note(value) { this._note = value; }
130
- /**
131
- * Indica il testo presente nel campo vuoto. Nel caso sia già presente la label, il placeholder non verrà mostrato
132
- * @return {?}
133
- */
134
- get placeholder() {
135
- if (this.label) {
136
- if (this.label.length > 0) {
137
- return '';
138
- }
139
- }
140
- return this._placeholder || '';
141
- }
142
- /**
143
- * @param {?} value
144
- * @return {?}
145
- */
146
- set placeholder(value) { this._placeholder = value; }
147
- /**
148
- * Indica l'icona da visualizzare a sinistra del campo di input
149
- * @return {?}
150
- */
151
- get icon() { return this._icon; }
152
- /**
153
- * @param {?} value
154
- * @return {?}
155
- */
156
- set icon(value) { this._icon = value; }
157
- /**
158
- * Opzionale.
159
- * Indica se il campo in questione è disabilitato.
160
- * Accetta una espressione booleana o può essere usato come attributo senza valore
161
- * @return {?}
162
- */
163
- get disabled() { return this._disabled; }
164
- /**
165
- * @param {?} value
166
- * @return {?}
167
- */
168
- set disabled(value) { this._disabled = Util.coerceBooleanProperty(value); }
169
- /**
170
- * Opzionale.
171
- * Indica se il campo in questione è di sola lettura.
172
- * Accetta una espressione booleana o può essere usato come attributo senza valore
173
- * @return {?}
174
- */
175
- get readonly() { return this._readonly; }
176
- /**
177
- * @param {?} value
178
- * @return {?}
179
- */
180
- set readonly(value) { this._readonly = Util.coerceBooleanProperty(value); }
181
- /**
182
- * @return {?}
183
- */
184
- get value() { return this._inputElement.nativeElement.value; }
185
- /**
186
- * @param {?} value
187
- * @return {?}
188
- */
189
- set value(value) { this._inputElement.nativeElement.value = value; }
190
- /**
191
- * Opzionale.
192
- * Disponibile solo se il type è search.
193
- * Indica la lista di elementi ricercabili su cui basare il sistema di autocompletamento della input
194
- * @return {?}
195
- */
196
- get autoCompleteData() { return this._autoCompleteData; }
197
- /**
198
- * @param {?} value
199
- * @return {?}
200
- */
201
- set autoCompleteData(value) { this._autoCompleteData = value; }
202
- /**
203
- * @return {?}
204
- */
205
- get isLabelActive() {
206
- return this._isLabelActive;
207
- }
208
- /**
209
- * @param {?} value
210
- * @return {?}
211
- */
212
- set isLabelActive(value) {
213
- this._isLabelActive = Util.coerceBooleanProperty(value);
214
- }
215
- /**
216
- * @return {?}
217
- */
218
- get isPasswordMode() {
219
- return this._isPasswordMode;
220
- }
221
- /**
222
- * @param {?} value
223
- * @return {?}
224
- */
225
- set isPasswordMode(value) {
226
- this._isPasswordMode = Util.coerceBooleanProperty(value);
227
- }
228
- /**
229
- * @return {?}
230
- */
231
- get isPasswordVisible() {
232
- return this._isPasswordVisible;
233
- }
234
- /**
235
- * @param {?} value
236
- * @return {?}
237
- */
238
- set isPasswordVisible(value) {
239
- this._isPasswordVisible = Util.coerceBooleanProperty(value);
240
- this._type = this._isPasswordVisible ? INPUT_TYPES.TEXT : INPUT_TYPES.PASSWORD;
241
- }
242
- /**
243
- * @return {?}
244
- */
245
- _emitChangeEvent() {
246
- if (this._isInitialized) {
247
- this.change.emit(new FormInputChange(this, this.value));
248
- }
249
- }
250
- /**
251
- * @param {?} value
252
- * @return {?}
253
- */
254
- writeValue(value) {
255
- this.value = value;
256
- if (this.value) {
257
- this._isLabelActive = true;
258
- }
259
- this.onChange();
260
- if (this._isInitialized) {
261
- this._changeDetector.detectChanges();
262
- }
263
- }
264
- /**
265
- * @param {?} fn
266
- * @return {?}
267
- */
268
- registerOnChange(fn) {
269
- this._controlValueAccessorChangeFn = fn;
270
- }
271
- /**
272
- * @param {?} fn
273
- * @return {?}
274
- */
275
- registerOnTouched(fn) {
276
- this._onTouched = fn;
277
- }
278
- /**
279
- * @return {?}
280
- */
281
- ngAfterContentInit() {
282
- this._isInitialized = true;
283
- }
284
- /**
285
- * @return {?}
286
- */
287
- onChange() {
288
- this._emitChangeEvent();
289
- this._controlValueAccessorChangeFn(this.value);
290
- }
291
- /**
292
- * @return {?}
293
- */
294
- onInput() {
295
- if (this._type === INPUT_TYPES.SEARCH && this.isAutocompletable() && !this._showAutocompletion) {
296
- this._showAutocompletion = true;
297
- }
298
- this._emitChangeEvent();
299
- this._controlValueAccessorChangeFn(this.value);
300
- }
301
- /**
302
- * @return {?}
303
- */
304
- onFocus() {
305
- this._isLabelActive = true;
306
- }
307
- /**
308
- * @return {?}
309
- */
310
- onBlur() {
311
- /** @type {?} */
312
- const inputValue = this.value;
313
- if (inputValue.length === 0) {
314
- this._isLabelActive = false;
315
- if (this.type === INPUT_TYPES.NUMBER) {
316
- this.value = '';
317
- }
318
- }
319
- }
320
- /**
321
- * @return {?}
322
- */
323
- noteId() {
324
- return `${this.id}-note`;
325
- }
326
- /**
327
- * @return {?}
328
- */
329
- getRelatedEntries() {
330
- if (this.value && this._showAutocompletion) {
331
- /** @type {?} */
332
- const lowercaseValue = this.value.toLowerCase();
333
- /** @type {?} */
334
- const lowercaseData = this._autoCompleteData.map(string => {
335
- return { original: string, lowercase: string.toLowerCase() };
336
- });
337
- /** @type {?} */
338
- const relatedEntries = [];
339
- lowercaseData.forEach(lowercaseEntry => {
340
- if ((lowercaseEntry.lowercase).includes(lowercaseValue)) {
341
- relatedEntries.push(lowercaseEntry.original);
342
- }
343
- });
344
- return relatedEntries;
345
- }
346
- else {
347
- return [];
348
- }
349
- }
350
- /**
351
- * @return {?}
352
- */
353
- isAutocompletable() {
354
- if (this._autoCompleteData && this._type === INPUT_TYPES.SEARCH) {
355
- return this._autoCompleteData.length > 0;
356
- }
357
- else {
358
- return false;
359
- }
360
- }
361
- /**
362
- * @param {?} entry
363
- * @return {?}
364
- */
365
- onEntryClick(entry) {
366
- this.value = entry;
367
- this._showAutocompletion = false;
368
- this.onChange();
369
- }
370
- }
371
- FormInputComponent.decorators = [
372
- { type: Component, args: [{
373
- selector: 'it-input',
374
- template: `<div class="form-group">
375
- <i *ngIf="icon" [class]="icon" [ngClass]="{ 'ico-prefix': true }"></i>
376
- <input #inputElement
377
- (focus)="onFocus()"
378
- (blur)="onBlur()"
379
- (change)="onChange()"
380
- (input)="onInput()"
381
- [type]="type"
382
- [id]="id"
383
- [attr.name]="name"
384
- [disabled]="disabled"
385
- [readonly]="readonly"
386
- [placeholder]="placeholder"
387
- [ngClass]="{
388
- 'form-control' : !readonly,
389
- 'form-control-plaintext' : readonly,
390
- 'autocomplete' : isAutocompletable()
391
- }"
392
- [attr.aria-labelledby]="note ? noteId : undefined"/>
393
- <span class="btn-eye"
394
- *ngIf="isPasswordMode"
395
- (click)="isPasswordVisible = !isPasswordVisible"
396
- [ngClass]="{
397
- 'eye-on' : !isPasswordVisible,
398
- 'eye-off' : isPasswordVisible
399
- }">
400
- </span>
401
- <ul class="autocomplete-wrap" *ngIf="isAutocompletable()">
402
- <li *ngFor="let entry of getRelatedEntries()" (click)="onEntryClick(entry)">
403
- {{entry}}
404
- </li>
405
- </ul>
406
- <label [attr.for]="id" [ngClass]="{ 'active' : isLabelActive }">
407
- {{label}}
408
- </label>
409
- <small [id]="noteId()" class="form-text text-muted" *ngIf="note">
410
- {{note}}
411
- </small>
412
- </div>
413
- `,
414
- styles: [`label{pointer-events:none}`],
415
- changeDetection: ChangeDetectionStrategy.OnPush,
416
- providers: [{
417
- provide: NG_VALUE_ACCESSOR,
418
- useExisting: forwardRef(() => FormInputComponent),
419
- multi: true
420
- }]
421
- },] },
422
- ];
423
- /** @nocollapse */
424
- FormInputComponent.ctorParameters = () => [
425
- { type: ChangeDetectorRef }
426
- ];
427
- FormInputComponent.propDecorators = {
428
- _inputElement: [{ type: ViewChild, args: ['inputElement',] }],
429
- id: [{ type: Input }],
430
- name: [{ type: Input }],
431
- type: [{ type: Input }],
432
- label: [{ type: Input }],
433
- note: [{ type: Input }],
434
- placeholder: [{ type: Input }],
435
- icon: [{ type: Input }],
436
- disabled: [{ type: Input }],
437
- readonly: [{ type: Input }],
438
- autoCompleteData: [{ type: Input }],
439
- change: [{ type: Output }]
440
- };
441
- if (false) {
442
- /** @type {?} */
443
- FormInputComponent.prototype._inputElement;
444
- /** @type {?} */
445
- FormInputComponent.prototype._id;
446
- /** @type {?} */
447
- FormInputComponent.prototype._name;
448
- /** @type {?} */
449
- FormInputComponent.prototype._type;
450
- /** @type {?} */
451
- FormInputComponent.prototype._label;
452
- /** @type {?} */
453
- FormInputComponent.prototype._note;
454
- /** @type {?} */
455
- FormInputComponent.prototype._placeholder;
456
- /** @type {?} */
457
- FormInputComponent.prototype._icon;
458
- /** @type {?} */
459
- FormInputComponent.prototype._disabled;
460
- /** @type {?} */
461
- FormInputComponent.prototype._readonly;
462
- /** @type {?} */
463
- FormInputComponent.prototype._autoCompleteData;
464
- /**
465
- * Evento emesso quando il valore dell'input cambia.
466
- * Gli eventi di change sono emessi soltanto quando il valore cambia a causa dell'interazione dell'utente
467
- * con il campo d'input.
468
- * @type {?}
469
- */
470
- FormInputComponent.prototype.change;
471
- /** @type {?} */
472
- FormInputComponent.prototype._isLabelActive;
473
- /** @type {?} */
474
- FormInputComponent.prototype._isPasswordMode;
475
- /** @type {?} */
476
- FormInputComponent.prototype._isPasswordVisible;
477
- /** @type {?} */
478
- FormInputComponent.prototype._showAutocompletion;
479
- /** @type {?} */
480
- FormInputComponent.prototype._isInitialized;
481
- /** @type {?} */
482
- FormInputComponent.prototype._controlValueAccessorChangeFn;
483
- /** @type {?} */
484
- FormInputComponent.prototype._onTouched;
485
- /** @type {?} */
486
- FormInputComponent.prototype._changeDetector;
487
- }
488
-
489
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXNpZ24tYW5ndWxhci1raXQvIiwic291cmNlcyI6WyJsaWIvZm9ybS1pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsVUFBVSxFQUNuQyxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQ2pGLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRXBDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQUVuQixNQUFNOzs7OztJQUNKLFlBQ1MsUUFDQTtRQURBLFdBQU0sR0FBTixNQUFNO1FBQ04sVUFBSyxHQUFMLEtBQUs7S0FDVDtDQUNOOzs7Ozs7Ozs7O0FBdURELE1BQU07Ozs7SUErTEosWUFBb0IsZUFBa0M7UUFBbEMsb0JBQWUsR0FBZixlQUFlLENBQW1CO21CQWpMeEMsY0FBYyxVQUFVLEVBQUUsRUFBRTtxQkFzQzFCLFdBQVcsQ0FBQyxJQUFJO3lCQWlEWixLQUFLO3lCQVVMLEtBQUs7Ozs7OztzQkFxQndCLElBQUksWUFBWSxFQUFtQjs4QkFRM0QsS0FBSzsrQkFTSixLQUFLO2tDQVNGLEtBQUs7bUNBRUosS0FBSzs4QkFDVixLQUFLOzZDQUNnQyxHQUFHLEVBQUUsSUFBSTswQkFDdkMsR0FBRyxFQUFFLElBQUk7S0E0QmtCOzs7OztJQXhMM0QsSUFDSSxFQUFFO1FBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7S0FDakI7Ozs7O0lBQ0QsSUFBSSxF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O3dCQUNqRCxLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDO2FBQ0g7Ozs7WUFuRXlDLGlCQUFpQjs7OzRCQXFFeEQsU0FBUyxTQUFDLGNBQWM7aUJBTXhCLEtBQUs7bUJBWUwsS0FBSzttQkFZTCxLQUFLO29CQTBCTCxLQUFLO21CQVFMLEtBQUs7MEJBUUwsS0FBSzttQkFlTCxLQUFLO3VCQVVMLEtBQUs7dUJBVUwsS0FBSzsrQkFhTCxLQUFLO3FCQVVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgZm9yd2FyZFJlZixcbiAgQWZ0ZXJDb250ZW50SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dFR5cGUsIElOUFVUX1RZUEVTIH0gZnJvbSAnLi4vbW9kZWxzL0lucHV0VHlwZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vdXRpbC91dGlsJztcblxubGV0IGlkZW50aWZpZXIgPSAwO1xuXG5leHBvcnQgY2xhc3MgRm9ybUlucHV0Q2hhbmdlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNvdXJjZTogRm9ybUlucHV0Q29tcG9uZW50LFxuICAgIHB1YmxpYyB2YWx1ZTogYW55XG4gICkgeyB9XG59XG5cbi8qKlxuICogRWxlbWVudGkgZSBzdGlsaSBwZXIgbGEgY3JlYXppb25lIGRpIGlucHV0IGFjY2Vzc2liaWxpIGUgcmVzcG9uc2l2aS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtaW5wdXQnLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gIDxpICpuZ0lmPVwiaWNvblwiIFtjbGFzc109XCJpY29uXCIgW25nQ2xhc3NdPVwieyAnaWNvLXByZWZpeCc6IHRydWUgfVwiPjwvaT5cbiAgPGlucHV0ICNpbnB1dEVsZW1lbnRcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgpXCJcbiAgICAoaW5wdXQpPVwib25JbnB1dCgpXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2Zvcm0tY29udHJvbCcgOiAhcmVhZG9ubHksXG4gICAgICAnZm9ybS1jb250cm9sLXBsYWludGV4dCcgOiByZWFkb25seSxcbiAgICAgICdhdXRvY29tcGxldGUnIDogaXNBdXRvY29tcGxldGFibGUoKVxuICAgIH1cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJub3RlID8gbm90ZUlkIDogdW5kZWZpbmVkXCIvPlxuICA8c3BhbiBjbGFzcz1cImJ0bi1leWVcIiBcbiAgICAqbmdJZj1cImlzUGFzc3dvcmRNb2RlXCJcbiAgICAoY2xpY2spPVwiaXNQYXNzd29yZFZpc2libGUgPSAhaXNQYXNzd29yZFZpc2libGVcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdleWUtb24nIDogIWlzUGFzc3dvcmRWaXNpYmxlLFxuICAgICAgJ2V5ZS1vZmYnIDogaXNQYXNzd29yZFZpc2libGVcbiAgICB9XCI+XG4gIDwvc3Bhbj5cbiAgPHVsIGNsYXNzPVwiYXV0b2NvbXBsZXRlLXdyYXBcIiAqbmdJZj1cImlzQXV0b2NvbXBsZXRhYmxlKClcIj5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGVudHJ5IG9mIGdldFJlbGF0ZWRFbnRyaWVzKClcIiAoY2xpY2spPVwib25FbnRyeUNsaWNrKGVudHJ5KVwiPlxuICAgICAge3tlbnRyeX19XG4gICAgPC9saT5cbiAgPC91bD5cbiAgPGxhYmVsIFthdHRyLmZvcl09XCJpZFwiIFtuZ0NsYXNzXT1cInsgJ2FjdGl2ZScgOiBpc0xhYmVsQWN0aXZlIH1cIj5cbiAgICB7e2xhYmVsfX1cbiAgPC9sYWJlbD5cbiAgPHNtYWxsIFtpZF09XCJub3RlSWQoKVwiIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtbXV0ZWRcIiAqbmdJZj1cIm5vdGVcIj5cbiAgICB7e25vdGV9fVxuICA8L3NtYWxsPlxuPC9kaXY+XG5gLFxuICBzdHlsZXM6IFtgbGFiZWx7cG9pbnRlci1ldmVudHM6bm9uZX1gXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb3JtSW5wdXRDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JylcbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgbCdpZCBkZWxsJ2VsZW1lbnRvIEhUTUxcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfaWQgPSBgZm9ybS1pbnB1dC0ke2lkZW50aWZpZXIrK31gO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgbCdhdHRyaWJ1dG8gbmFtZSBkZWwgY29tcG9uZW50ZSBIVE1MXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICB9XG4gIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9uYW1lID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgaWwgdGlwbyBkaSBjYW1wby4gUHVvJyBhc3N1bWVyZSBpIHZhbG9yaSB0ZXh0LCBlbWFpbCwgcGFzc3dvcmQgZSBudW1iZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cbiAgc2V0IHR5cGUodmFsdWU6IHN0cmluZykge1xuICAgIGlmIChJbnB1dFR5cGUuaXModmFsdWUpKSB7XG4gICAgICBpZiAodmFsdWUgPT09IElOUFVUX1RZUEVTLk5VTUJFUikge1xuICAgICAgICBpZiAoaXNOYU4oTnVtYmVyKHRoaXMudmFsdWUpKSkge1xuICAgICAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdHlwZSA9IElOUFVUX1RZUEVTLlRFWFQ7XG4gICAgfVxuXG4gICAgdGhpcy5faXNQYXNzd29yZE1vZGUgPSB0aGlzLl90eXBlID09PSBJTlBVVF9UWVBFUy5QQVNTV09SRDtcbiAgICB0aGlzLl9pc1Bhc3N3b3JkVmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuX3Nob3dBdXRvY29tcGxldGlvbiA9IGZhbHNlO1xuICB9XG4gIHByaXZhdGUgX3R5cGUgPSBJTlBVVF9UWVBFUy5URVhUO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgaWwgdmFsb3JlIGRlbGxhIGxhYmVsIGRhIHZpc3VhbGl6emFyZVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGxhYmVsKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9sYWJlbDsgfVxuICBzZXQgbGFiZWwodmFsdWU6IHN0cmluZykgeyB0aGlzLl9sYWJlbCA9IHZhbHVlOyB9XG4gIHByaXZhdGUgX2xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYSBpbCB0ZXN0byBkaSBhaXV0byBzb3R0byBsYSBpbnB1dFxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IG5vdGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX25vdGU7IH1cbiAgc2V0IG5vdGUodmFsdWU6IHN0cmluZykgeyB0aGlzLl9ub3RlID0gdmFsdWU7IH1cbiAgcHJpdmF0ZSBfbm90ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgaWwgdGVzdG8gcHJlc2VudGUgbmVsIGNhbXBvIHZ1b3RvLiBOZWwgY2FzbyBzaWEgZ2nDoCBwcmVzZW50ZSBsYSBsYWJlbCwgaWwgcGxhY2Vob2xkZXIgbm9uIHZlcnLDoCBtb3N0cmF0b1xuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIGlmICh0aGlzLmxhYmVsLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXIgfHwgJyc7XG4gIH1cbiAgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHsgdGhpcy5fcGxhY2Vob2xkZXIgPSB2YWx1ZTsgfVxuICBwcml2YXRlIF9wbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgbCdpY29uYSBkYSB2aXN1YWxpenphcmUgYSBzaW5pc3RyYSBkZWwgY2FtcG8gZGkgaW5wdXRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBpY29uKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9pY29uOyB9XG4gIHNldCBpY29uKHZhbHVlOiBzdHJpbmcpIHsgdGhpcy5faWNvbiA9IHZhbHVlOyB9XG4gIHByaXZhdGUgX2ljb246IHN0cmluZztcblxuICAvKipcbiAgICogT3B6aW9uYWxlLlxuICAgKiBJbmRpY2Egc2UgaWwgY2FtcG8gaW4gcXVlc3Rpb25lIMOoIGRpc2FiaWxpdGF0by5cbiAgICogQWNjZXR0YSB1bmEgZXNwcmVzc2lvbmUgYm9vbGVhbmEgbyBwdcOyIGVzc2VyZSB1c2F0byBjb21lIGF0dHJpYnV0byBzZW56YSB2YWxvcmVcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikgeyB0aGlzLl9kaXNhYmxlZCA9IFV0aWwuY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBPcHppb25hbGUuXG4gICAqIEluZGljYSBzZSBpbCBjYW1wbyBpbiBxdWVzdGlvbmUgw6ggZGkgc29sYSBsZXR0dXJhLlxuICAgKiBBY2NldHRhIHVuYSBlc3ByZXNzaW9uZSBib29sZWFuYSBvIHB1w7IgZXNzZXJlIHVzYXRvIGNvbWUgYXR0cmlidXRvIHNlbnphIHZhbG9yZVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVhZG9ubHk7IH1cbiAgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7IHRoaXMuX3JlYWRvbmx5ID0gVXRpbC5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gIHByaXZhdGUgX3JlYWRvbmx5ID0gZmFsc2U7XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7IHJldHVybiB0aGlzLl9pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTsgfVxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkgeyB0aGlzLl9pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlOyB9XG5cbiAgLyoqXG4gICAqIE9wemlvbmFsZS5cbiAgICogRGlzcG9uaWJpbGUgc29sbyBzZSBpbCB0eXBlIMOoIHNlYXJjaC5cbiAgICogSW5kaWNhIGxhIGxpc3RhIGRpIGVsZW1lbnRpIHJpY2VyY2FiaWxpIHN1IGN1aSBiYXNhcmUgaWwgc2lzdGVtYSBkaSBhdXRvY29tcGxldGFtZW50byBkZWxsYSBpbnB1dFxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGF1dG9Db21wbGV0ZURhdGEoKTogQXJyYXk8c3RyaW5nPiB7IHJldHVybiB0aGlzLl9hdXRvQ29tcGxldGVEYXRhOyB9XG4gIHNldCBhdXRvQ29tcGxldGVEYXRhKHZhbHVlOiBBcnJheTxzdHJpbmc+KSB7IHRoaXMuX2F1dG9Db21wbGV0ZURhdGEgPSB2YWx1ZTsgfVxuICBwcml2YXRlIF9hdXRvQ29tcGxldGVEYXRhOiBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZW1lc3NvIHF1YW5kbyBpbCB2YWxvcmUgZGVsbCdpbnB1dCBjYW1iaWEuXG4gICAqIEdsaSBldmVudGkgZGkgY2hhbmdlIHNvbm8gZW1lc3NpIHNvbHRhbnRvIHF1YW5kbyBpbCB2YWxvcmUgY2FtYmlhIGEgY2F1c2EgZGVsbCdpbnRlcmF6aW9uZSBkZWxsJ3V0ZW50ZVxuICAgKiBjb24gaWwgY2FtcG8gZCdpbnB1dC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxGb3JtSW5wdXRDaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtSW5wdXRDaGFuZ2U+KCk7XG5cbiAgZ2V0IGlzTGFiZWxBY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTGFiZWxBY3RpdmU7XG4gIH1cbiAgc2V0IGlzTGFiZWxBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0xhYmVsQWN0aXZlID0gVXRpbC5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgX2lzTGFiZWxBY3RpdmUgPSBmYWxzZTtcblxuXG4gIGdldCBpc1Bhc3N3b3JkTW9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNQYXNzd29yZE1vZGU7XG4gIH1cbiAgc2V0IGlzUGFzc3dvcmRNb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNQYXNzd29yZE1vZGUgPSBVdGlsLmNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfaXNQYXNzd29yZE1vZGUgPSBmYWxzZTtcblxuICBnZXQgaXNQYXNzd29yZFZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzUGFzc3dvcmRWaXNpYmxlO1xuICB9XG4gIHNldCBpc1Bhc3N3b3JkVmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzUGFzc3dvcmRWaXNpYmxlID0gVXRpbC5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuX3R5cGUgPSB0aGlzLl9pc1Bhc3N3b3JkVmlzaWJsZSA/IElOUFVUX1RZUEVTLlRFWFQgOiBJTlBVVF9UWVBFUy5QQVNTV09SRDtcbiAgfVxuICBwcml2YXRlIF9pc1Bhc3N3b3JkVmlzaWJsZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3Nob3dBdXRvY29tcGxldGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIF9pc0luaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4geyB9O1xuICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHsgfTtcblxuICBwcml2YXRlIF9lbWl0Q2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQobmV3IEZvcm1JbnB1dENoYW5nZSh0aGlzLCB0aGlzLnZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9pc0xhYmVsQWN0aXZlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlKCk7XG4gICAgaWYgKHRoaXMuX2lzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgb25DaGFuZ2UoKSB7XG4gICAgdGhpcy5fZW1pdENoYW5nZUV2ZW50KCk7XG4gICAgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbih0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uSW5wdXQoKSB7XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IElOUFVUX1RZUEVTLlNFQVJDSCAmJiB0aGlzLmlzQXV0b2NvbXBsZXRhYmxlKCkgJiYgIXRoaXMuX3Nob3dBdXRvY29tcGxldGlvbikge1xuICAgICAgdGhpcy5fc2hvd0F1dG9jb21wbGV0aW9uID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICB0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgb25Gb2N1cygpIHtcbiAgICB0aGlzLl9pc0xhYmVsQWN0aXZlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBjb25zdCBpbnB1dFZhbHVlOiBzdHJpbmcgPSB0aGlzLnZhbHVlO1xuICAgIGlmIChpbnB1dFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5faXNMYWJlbEFjdGl2ZSA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gSU5QVVRfVFlQRVMuTlVNQkVSKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBub3RlSWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LW5vdGVgO1xuICB9XG5cbiAgZ2V0UmVsYXRlZEVudHJpZXMoKSB7XG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5fc2hvd0F1dG9jb21wbGV0aW9uKSB7XG4gICAgICBjb25zdCBsb3dlcmNhc2VWYWx1ZSA9IHRoaXMudmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNvbnN0IGxvd2VyY2FzZURhdGEgPSB0aGlzLl9hdXRvQ29tcGxldGVEYXRhLm1hcChzdHJpbmcgPT4ge1xuICAgICAgICByZXR1cm4geyBvcmlnaW5hbCA6IHN0cmluZywgbG93ZXJjYXNlIDogc3RyaW5nLnRvTG93ZXJDYXNlKCkgfTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCByZWxhdGVkRW50cmllcyA9IFtdO1xuICAgICAgbG93ZXJjYXNlRGF0YS5mb3JFYWNoKGxvd2VyY2FzZUVudHJ5ID0+IHtcbiAgICAgICAgaWYgKChsb3dlcmNhc2VFbnRyeS5sb3dlcmNhc2UpLmluY2x1ZGVzKGxvd2VyY2FzZVZhbHVlKSkge1xuICAgICAgICAgIHJlbGF0ZWRFbnRyaWVzLnB1c2gobG93ZXJjYXNlRW50cnkub3JpZ2luYWwpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHJlbGF0ZWRFbnRyaWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgaXNBdXRvY29tcGxldGFibGUoKSB7XG4gICAgaWYgKHRoaXMuX2F1dG9Db21wbGV0ZURhdGEgJiYgdGhpcy5fdHlwZSA9PT0gSU5QVVRfVFlQRVMuU0VBUkNIKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXV0b0NvbXBsZXRlRGF0YS5sZW5ndGggPiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb25FbnRyeUNsaWNrKGVudHJ5KSB7XG4gICAgdGhpcy52YWx1ZSA9IGVudHJ5O1xuICAgIHRoaXMuX3Nob3dBdXRvY29tcGxldGlvbiA9IGZhbHNlO1xuICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,25 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import * as t from 'io-ts';
6
- /** @type {?} */
7
- export const ButtonSize = t.keyof({
8
- lg: null,
9
- sm: null,
10
- xs: null,
11
- });
12
- /** @type {?} */
13
- const LG = 'lg';
14
- /** @type {?} */
15
- const SM = 'sm';
16
- /** @type {?} */
17
- const XS = 'xs';
18
- /** @type {?} */
19
- export const BUTTON_SIZES = {
20
- LG: LG,
21
- SM: SM,
22
- XS: XS,
23
- };
24
-
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnV0dG9uU2l6ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Rlc2lnbi1hbmd1bGFyLWtpdC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvQnV0dG9uU2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUM7O0FBRTNCLGFBQWEsVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEMsRUFBRSxFQUFFLElBQUk7SUFDUixFQUFFLEVBQUUsSUFBSTtJQUNSLEVBQUUsRUFBRSxJQUFJO0NBQ1QsQ0FBQyxDQUFDOztBQUVILE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQzs7QUFDaEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDOztBQUNoQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7O0FBRWhCLGFBQWEsWUFBWSxHQUFHO0lBQzFCLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtDQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuZXhwb3J0IGNvbnN0IEJ1dHRvblNpemUgPSB0LmtleW9mKHtcbiAgbGc6IG51bGwsXG4gIHNtOiBudWxsLFxuICB4czogbnVsbCxcbn0pO1xuXG5jb25zdCBMRyA9ICdsZyc7XG5jb25zdCBTTSA9ICdzbSc7XG5jb25zdCBYUyA9ICd4cyc7XG5cbmV4cG9ydCBjb25zdCBCVVRUT05fU0laRVMgPSB7XG4gIExHOiBMRyxcbiAgU006IFNNLFxuICBYUzogWFMsXG59O1xuIl19
@@ -1,21 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import * as t from 'io-ts';
6
- /** @type {?} */
7
- export const IconPosition = t.keyof({
8
- right: null,
9
- left: null
10
- });
11
- /** @type {?} */
12
- const LEFT = 'left';
13
- /** @type {?} */
14
- const RIGHT = 'right';
15
- /** @type {?} */
16
- export const ICON_POSITIONS = {
17
- LEFT: LEFT,
18
- RIGHT: RIGHT
19
- };
20
-
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWNvblBvc2l0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZGVzaWduLWFuZ3VsYXIta2l0LyIsInNvdXJjZXMiOlsibGliL21vZGVscy9JY29uUG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sT0FBTyxDQUFDOztBQUUzQixhQUFhLFlBQVksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2xDLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLElBQUk7Q0FDWCxDQUFDLENBQUM7O0FBRUgsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDOztBQUNwQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7O0FBRXRCLGFBQWEsY0FBYyxHQUFHO0lBQzVCLElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLEtBQUs7Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5cbmV4cG9ydCBjb25zdCBJY29uUG9zaXRpb24gPSB0LmtleW9mKHtcbiAgcmlnaHQ6IG51bGwsXG4gIGxlZnQ6IG51bGxcbn0pO1xuXG5jb25zdCBMRUZUID0gJ2xlZnQnO1xuY29uc3QgUklHSFQgPSAncmlnaHQnO1xuXG5leHBvcnQgY29uc3QgSUNPTl9QT1NJVElPTlMgPSB7XG4gIExFRlQ6IExFRlQsXG4gIFJJR0hUOiBSSUdIVFxufTtcbiJdfQ==
@@ -1,33 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import * as t from 'io-ts';
6
- /** @type {?} */
7
- export const InputType = t.keyof({
8
- text: null,
9
- email: null,
10
- password: null,
11
- number: null,
12
- search: null
13
- });
14
- /** @type {?} */
15
- const TEXT = 'text';
16
- /** @type {?} */
17
- const EMAIL = 'email';
18
- /** @type {?} */
19
- const PASSWORD = 'password';
20
- /** @type {?} */
21
- const NUMBER = 'number';
22
- /** @type {?} */
23
- const SEARCH = 'search';
24
- /** @type {?} */
25
- export const INPUT_TYPES = {
26
- TEXT: TEXT,
27
- EMAIL: EMAIL,
28
- PASSWORD: PASSWORD,
29
- NUMBER: NUMBER,
30
- SEARCH: SEARCH
31
- };
32
-
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRUeXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZGVzaWduLWFuZ3VsYXIta2l0LyIsInNvdXJjZXMiOlsibGliL21vZGVscy9JbnB1dFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sT0FBTyxDQUFDOztBQUUzQixhQUFhLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9CLElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsSUFBSTtJQUNkLE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLElBQUk7Q0FDYixDQUFDLENBQUM7O0FBRUgsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDOztBQUNwQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7O0FBQ3RCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQzs7QUFDNUIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDOztBQUN4QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7O0FBRXhCLGFBQWEsV0FBVyxHQUFHO0lBQ3pCLElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLEtBQUs7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuXG5leHBvcnQgY29uc3QgSW5wdXRUeXBlID0gdC5rZXlvZih7XG4gIHRleHQ6IG51bGwsXG4gIGVtYWlsOiBudWxsLFxuICBwYXNzd29yZDogbnVsbCxcbiAgbnVtYmVyOiBudWxsLFxuICBzZWFyY2g6IG51bGxcbn0pO1xuXG5jb25zdCBURVhUID0gJ3RleHQnO1xuY29uc3QgRU1BSUwgPSAnZW1haWwnO1xuY29uc3QgUEFTU1dPUkQgPSAncGFzc3dvcmQnO1xuY29uc3QgTlVNQkVSID0gJ251bWJlcic7XG5jb25zdCBTRUFSQ0ggPSAnc2VhcmNoJztcblxuZXhwb3J0IGNvbnN0IElOUFVUX1RZUEVTID0ge1xuICBURVhUOiBURVhULFxuICBFTUFJTDogRU1BSUwsXG4gIFBBU1NXT1JEOiBQQVNTV09SRCxcbiAgTlVNQkVSOiBOVU1CRVIsXG4gIFNFQVJDSDogU0VBUkNIXG59O1xuIl19
@@ -1,35 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import * as t from 'io-ts';
6
- /** @type {?} */
7
- export const InteractionTrigger = t.keyof({
8
- click: null,
9
- focus: null,
10
- hover: null,
11
- });
12
- /** @type {?} */
13
- export const PopoverTrigger = t.keyof({
14
- click: null,
15
- focus: null,
16
- });
17
- /** @type {?} */
18
- const CLICK = 'click';
19
- /** @type {?} */
20
- const FOCUS = 'focus';
21
- /** @type {?} */
22
- const HOVER = 'hover';
23
- /** @type {?} */
24
- export const INTERACTION_TRIGGERS = {
25
- CLICK: CLICK,
26
- FOCUS: FOCUS,
27
- HOVER: HOVER,
28
- };
29
- /** @type {?} */
30
- export const POPOVER_TRIGGERS = {
31
- CLICK: CLICK,
32
- FOCUS: FOCUS,
33
- };
34
-
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3Rpb25UcmlnZ2VyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZGVzaWduLWFuZ3VsYXIta2l0LyIsInNvdXJjZXMiOlsibGliL21vZGVscy9JbnRlcmFjdGlvblRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sT0FBTyxDQUFDOztBQUUzQixhQUFhLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQyxDQUFDOztBQUVILGFBQWEsY0FBYyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEMsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUMsQ0FBQzs7QUFFSCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7O0FBQ3RCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQzs7QUFDdEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDOztBQUV0QixhQUFhLG9CQUFvQixHQUFHO0lBQ2xDLEtBQUssRUFBRSxLQUFLO0lBQ1osS0FBSyxFQUFFLEtBQUs7SUFDWixLQUFLLEVBQUUsS0FBSztDQUNiLENBQUM7O0FBRUYsYUFBYSxnQkFBZ0IsR0FBRztJQUM5QixLQUFLLEVBQUUsS0FBSztJQUNaLEtBQUssRUFBRSxLQUFLO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuXG5leHBvcnQgY29uc3QgSW50ZXJhY3Rpb25UcmlnZ2VyID0gdC5rZXlvZih7XG4gIGNsaWNrOiBudWxsLFxuICBmb2N1czogbnVsbCxcbiAgaG92ZXI6IG51bGwsXG59KTtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXJUcmlnZ2VyID0gdC5rZXlvZih7XG4gIGNsaWNrOiBudWxsLFxuICBmb2N1czogbnVsbCxcbn0pO1xuXG5jb25zdCBDTElDSyA9ICdjbGljayc7XG5jb25zdCBGT0NVUyA9ICdmb2N1cyc7XG5jb25zdCBIT1ZFUiA9ICdob3Zlcic7XG5cbmV4cG9ydCBjb25zdCBJTlRFUkFDVElPTl9UUklHR0VSUyA9IHtcbiAgQ0xJQ0s6IENMSUNLLFxuICBGT0NVUzogRk9DVVMsXG4gIEhPVkVSOiBIT1ZFUixcbn07XG5cbmV4cG9ydCBjb25zdCBQT1BPVkVSX1RSSUdHRVJTID0ge1xuICBDTElDSzogQ0xJQ0ssXG4gIEZPQ1VTOiBGT0NVUyxcbn07XG4iXX0=