ngx-dropdown-list 1.1.2 → 1.2.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 (66) hide show
  1. package/README.md +2 -2
  2. package/esm2020/ngx-dropdown-list.mjs +5 -0
  3. package/esm2020/public_api.mjs +2 -0
  4. package/esm2020/src/ngx-dropdown-list/anchor/anchor.component.mjs +149 -0
  5. package/esm2020/src/ngx-dropdown-list/dropdown/dropdown.component.mjs +252 -0
  6. package/esm2020/src/ngx-dropdown-list/dropdown-list.component.mjs +233 -0
  7. package/esm2020/src/ngx-dropdown-list/dropdown-list.module.mjs +38 -0
  8. package/esm2020/src/ngx-dropdown-list/filter/input-filter.component.mjs +44 -0
  9. package/esm2020/src/ngx-dropdown-list/group-item/group-item.component.mjs +25 -0
  10. package/esm2020/src/ngx-dropdown-list/index.mjs +3 -0
  11. package/esm2020/src/ngx-dropdown-list/item/item.component.mjs +77 -0
  12. package/esm2020/src/ngx-dropdown-list/types/index.mjs +3 -0
  13. package/esm2020/src/ngx-dropdown-list/types/selection-group-items.types.mjs +2 -0
  14. package/esm2020/src/ngx-dropdown-list/types/selection-item.types.mjs +2 -0
  15. package/esm2020/src/ngx-dropdown-list/utils/util.mjs +59 -0
  16. package/fesm2015/ngx-dropdown-list.mjs +854 -0
  17. package/fesm2015/ngx-dropdown-list.mjs.map +1 -0
  18. package/fesm2020/ngx-dropdown-list.mjs +854 -0
  19. package/fesm2020/ngx-dropdown-list.mjs.map +1 -0
  20. package/ngx-dropdown-list.d.ts +1 -5
  21. package/package.json +26 -48
  22. package/src/ngx-dropdown-list/anchor/anchor.component.d.ts +6 -3
  23. package/src/ngx-dropdown-list/dropdown/dropdown.component.d.ts +5 -2
  24. package/src/ngx-dropdown-list/dropdown-list.component.d.ts +7 -4
  25. package/src/ngx-dropdown-list/dropdown-list.module.d.ts +12 -0
  26. package/src/ngx-dropdown-list/filter/input-filter.component.d.ts +3 -0
  27. package/src/ngx-dropdown-list/group-item/group-item.component.d.ts +3 -0
  28. package/src/ngx-dropdown-list/item/item.component.d.ts +3 -0
  29. package/bundles/ngx-dropdown-list.umd.js +0 -1212
  30. package/bundles/ngx-dropdown-list.umd.js.map +0 -1
  31. package/bundles/ngx-dropdown-list.umd.min.js +0 -2
  32. package/bundles/ngx-dropdown-list.umd.min.js.map +0 -1
  33. package/esm2015/ngx-dropdown-list.js +0 -14
  34. package/esm2015/public_api.js +0 -6
  35. package/esm2015/src/ngx-dropdown-list/anchor/anchor.component.js +0 -226
  36. package/esm2015/src/ngx-dropdown-list/dropdown/dropdown.component.js +0 -351
  37. package/esm2015/src/ngx-dropdown-list/dropdown-list.component.js +0 -290
  38. package/esm2015/src/ngx-dropdown-list/dropdown-list.module.js +0 -32
  39. package/esm2015/src/ngx-dropdown-list/filter/input-filter.component.js +0 -64
  40. package/esm2015/src/ngx-dropdown-list/group-item/group-item.component.js +0 -37
  41. package/esm2015/src/ngx-dropdown-list/index.js +0 -7
  42. package/esm2015/src/ngx-dropdown-list/item/item.component.js +0 -104
  43. package/esm2015/src/ngx-dropdown-list/types/index.js +0 -7
  44. package/esm2015/src/ngx-dropdown-list/types/selection-group-items.types.js +0 -16
  45. package/esm2015/src/ngx-dropdown-list/types/selection-item.types.js +0 -20
  46. package/esm2015/src/ngx-dropdown-list/utils/util.js +0 -101
  47. package/esm5/ngx-dropdown-list.js +0 -14
  48. package/esm5/public_api.js +0 -6
  49. package/esm5/src/ngx-dropdown-list/anchor/anchor.component.js +0 -272
  50. package/esm5/src/ngx-dropdown-list/dropdown/dropdown.component.js +0 -420
  51. package/esm5/src/ngx-dropdown-list/dropdown-list.component.js +0 -361
  52. package/esm5/src/ngx-dropdown-list/dropdown-list.module.js +0 -36
  53. package/esm5/src/ngx-dropdown-list/filter/input-filter.component.js +0 -79
  54. package/esm5/src/ngx-dropdown-list/group-item/group-item.component.js +0 -47
  55. package/esm5/src/ngx-dropdown-list/index.js +0 -7
  56. package/esm5/src/ngx-dropdown-list/item/item.component.js +0 -120
  57. package/esm5/src/ngx-dropdown-list/types/index.js +0 -7
  58. package/esm5/src/ngx-dropdown-list/types/selection-group-items.types.js +0 -16
  59. package/esm5/src/ngx-dropdown-list/types/selection-item.types.js +0 -20
  60. package/esm5/src/ngx-dropdown-list/utils/util.js +0 -124
  61. package/fesm2015/ngx-dropdown-list.js +0 -930
  62. package/fesm2015/ngx-dropdown-list.js.map +0 -1
  63. package/fesm5/ngx-dropdown-list.js +0 -1177
  64. package/fesm5/ngx-dropdown-list.js.map +0 -1
  65. package/ngx-dropdown-list-1.1.2.tgz +0 -0
  66. package/ngx-dropdown-list.metadata.json +0 -1
@@ -1,290 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
6
- import { clearAllSelection, getFirstSelectedItem, stopPropagationAndDefault } from './utils/util';
7
- export class DropdownListComponent {
8
- constructor() {
9
- /**
10
- * bind to [multiSelection], the flag for multi-select (checkbox) mode.
11
- */
12
- this.multiSelection = false;
13
- /**
14
- * bind to [filterBox] for displaying the filter input text box
15
- */
16
- this.filterBox = false;
17
- /**
18
- * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)
19
- */
20
- this.allowClear = true;
21
- /**
22
- * bind to [formatNumber] for show formatted number text
23
- */
24
- this.formatNumber = false;
25
- /**
26
- * for 2-way binding of [selectedValue], using async event to
27
- * prevent "ExpressionChangedAfterItHasBeenCheckedError".
28
- */
29
- this.selectedValueChange = new EventEmitter(true);
30
- /**
31
- * [selectionChange] event that will be triggered when changing of the selection.
32
- * Using async event to prevent "ExpressionChangedAfterItHasBeenCheckedError".
33
- */
34
- this.selectionChange = new EventEmitter(true);
35
- /**
36
- * visibility flag of drop down
37
- */
38
- this.dropdownVisibility = false;
39
- }
40
- /**
41
- * current selected text
42
- * @return {?}
43
- */
44
- get selectedText() {
45
- if (!this.multiSelection) {
46
- /** @type {?} */
47
- const selectedItem = getFirstSelectedItem(this.items);
48
- return selectedItem ? selectedItem.text : undefined;
49
- }
50
- }
51
- /**
52
- * triggered with (selectionChange) event, emits (selectedValueChange) and (selectionChange)
53
- * @param {?} event
54
- * @return {?}
55
- */
56
- onSelectionChange(event) {
57
- this.selectedValueChange.emit(event);
58
- this.selectionChange.emit(event);
59
- }
60
- /**
61
- * triggered with (anchorClick) event, controlling the "open" and "close" of the dropdown
62
- * @param {?} event
63
- * @return {?}
64
- */
65
- onAnchorClick(event) {
66
- if (this.disabled) {
67
- stopPropagationAndDefault(event);
68
- return;
69
- }
70
- if (this._isSelectionOpen()) {
71
- this._hideItemList();
72
- }
73
- else {
74
- this._showItemsList();
75
- }
76
- stopPropagationAndDefault(event);
77
- }
78
- /**
79
- * triggered with (itemClick) event, closes the dropdown in non-checkbox mode
80
- * @return {?}
81
- */
82
- onItemClick() {
83
- if (!this.multiSelection) {
84
- this._hideItemList();
85
- }
86
- }
87
- /**
88
- * triggered with (clearanceClick) event, clearing all selections
89
- * and emits (selectedValueChange) and (selectionChange) event for empty value
90
- * @param {?} event
91
- * @return {?}
92
- */
93
- onClearanceClick(event) {
94
- if (!this.multiSelection) {
95
- this.selectedValue = void 0;
96
- this.selectedValueChange.emit(undefined);
97
- this.selectionChange.emit(undefined);
98
- clearAllSelection(this.items);
99
- }
100
- stopPropagationAndDefault(event);
101
- }
102
- /**
103
- * triggered with (dropdownBlur) event, closes the dropdown
104
- * @return {?}
105
- */
106
- onItemsBlur() {
107
- if (this._isSelectionOpen()) {
108
- this._hideItemList();
109
- }
110
- }
111
- /**
112
- * close the dropdown
113
- * @private
114
- * @return {?}
115
- */
116
- _hideItemList() {
117
- // hide the dropdown element (has some problem for using CSS directly, using this as a workaround)
118
- this._dropdownElement.classList.remove('visible');
119
- this._dropdownElement.style.display = 'none';
120
- this.dropdownVisibility = false;
121
- }
122
- /**
123
- * open the dropdown
124
- * @private
125
- * @return {?}
126
- */
127
- _showItemsList() {
128
- // display the dropdown element (has some problem for using CSS directly, using this as a workaround)
129
- this._dropdownElement.classList.add('visible');
130
- this._dropdownElement.style.display = 'block';
131
- this.dropdownVisibility = true;
132
- // scrolling to the selected item
133
- if (this._selectedElement) {
134
- this._selectedElement.scrollIntoView({ behavior: 'instant', block: 'center' });
135
- }
136
- // setting the focus
137
- if (this.filterBox && !this.multiSelection) {
138
- this._filterInputElement.focus();
139
- }
140
- else {
141
- this._dropdownElement.focus();
142
- }
143
- }
144
- /**
145
- * visibility status of dropdown
146
- * @private
147
- * @return {?}
148
- */
149
- _isSelectionOpen() {
150
- return this.dropdownVisibility;
151
- }
152
- /**
153
- * get the real dropdown element (for focusing and visibility controlling), the <span> not the <dropdown>
154
- * @private
155
- * @return {?}
156
- */
157
- get _dropdownElement() {
158
- return this.dropdownRef ? this.dropdownRef.nativeElement ? this.dropdownRef.nativeElement.firstElementChild : null : null;
159
- }
160
- /**
161
- * get the real filter element (for focusing), the <input> not the <input-filter>
162
- * @private
163
- * @return {?}
164
- */
165
- get _filterInputElement() {
166
- return this._dropdownElement ?
167
- this._dropdownElement.firstElementChild ? this._dropdownElement.firstElementChild.firstElementChild : null : null;
168
- }
169
- /**
170
- * get the HTMLElement of selected item, for doing (scrollIntoView) scrolling to the selected item
171
- * @private
172
- * @return {?}
173
- */
174
- get _selectedElement() {
175
- /** @type {?} */
176
- const selectedItem = getFirstSelectedItem(this.items);
177
- return selectedItem ? (/** @type {?} */ (document.getElementById(selectedItem.id))) : undefined;
178
- }
179
- }
180
- DropdownListComponent.decorators = [
181
- { type: Component, args: [{
182
- selector: 'ngx-dropdown-list',
183
- template: `
184
- <span class="ngx-select">
185
- <anchor (anchorClick)="onAnchorClick($event)" (clearanceClick)="onClearanceClick($event)"
186
- [checkbox]="multiSelection"
187
- [formatNumber]="formatNumber"
188
- [suffixText]="suffixText"
189
- [placeHolder]="placeHolder"
190
- [allowClear]="allowClear"
191
- [openStatus]="dropdownVisibility"
192
- [selectedText]="selectedText"
193
- [disabled]="disabled">
194
- </anchor>
195
- <dropdown #dropdown (dropdownBlur) = "onItemsBlur()" (selectionChange)="onSelectionChange($event)"
196
- [items]="items"
197
- [checkbox]="multiSelection"
198
- [filterBox]="filterBox"
199
- [formatNumber]="formatNumber"
200
- [suffixText]="suffixText"
201
- [(selectedValue)]="selectedValue"
202
- (itemClick) = "onItemClick()"
203
- [disabled]="disabled">
204
- </dropdown>
205
- </span>
206
- `,
207
- styles: [":host *,:host :after,:host :before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}:host .ngx-select{border-radius:4px;font-size:14px;position:relative;display:inline-block;width:100%;height:34px;background:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}"]
208
- }] }
209
- ];
210
- DropdownListComponent.propDecorators = {
211
- dropdownRef: [{ type: ViewChild, args: ['dropdown', { read: ElementRef },] }],
212
- placeHolder: [{ type: Input }],
213
- items: [{ type: Input }],
214
- multiSelection: [{ type: Input }],
215
- selectedValue: [{ type: Input }],
216
- filterBox: [{ type: Input }],
217
- suffixText: [{ type: Input }],
218
- disabled: [{ type: Input }],
219
- allowClear: [{ type: Input }],
220
- formatNumber: [{ type: Input }],
221
- selectedValueChange: [{ type: Output }],
222
- selectionChange: [{ type: Output }]
223
- };
224
- if (false) {
225
- /** @type {?} */
226
- DropdownListComponent.prototype.dropdownRef;
227
- /**
228
- * bind to [placeHolder] for displaying the place holder string of the anchor.
229
- * @type {?}
230
- */
231
- DropdownListComponent.prototype.placeHolder;
232
- /**
233
- * bind to [items] for the options/groups in the dropdown
234
- * @type {?}
235
- */
236
- DropdownListComponent.prototype.items;
237
- /**
238
- * bind to [multiSelection], the flag for multi-select (checkbox) mode.
239
- * @type {?}
240
- */
241
- DropdownListComponent.prototype.multiSelection;
242
- /**
243
- * bind to [selectedValue] for the value of the selected option from dropdown
244
- * @type {?}
245
- */
246
- DropdownListComponent.prototype.selectedValue;
247
- /**
248
- * bind to [filterBox] for displaying the filter input text box
249
- * @type {?}
250
- */
251
- DropdownListComponent.prototype.filterBox;
252
- /**
253
- * bind to [suffixText] for displaying the suffix of the selected text of anchor
254
- * @type {?}
255
- */
256
- DropdownListComponent.prototype.suffixText;
257
- /**
258
- * bind to [disabled] for disabling the dropdown
259
- * @type {?}
260
- */
261
- DropdownListComponent.prototype.disabled;
262
- /**
263
- * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)
264
- * @type {?}
265
- */
266
- DropdownListComponent.prototype.allowClear;
267
- /**
268
- * bind to [formatNumber] for show formatted number text
269
- * @type {?}
270
- */
271
- DropdownListComponent.prototype.formatNumber;
272
- /**
273
- * for 2-way binding of [selectedValue], using async event to
274
- * prevent "ExpressionChangedAfterItHasBeenCheckedError".
275
- * @type {?}
276
- */
277
- DropdownListComponent.prototype.selectedValueChange;
278
- /**
279
- * [selectionChange] event that will be triggered when changing of the selection.
280
- * Using async event to prevent "ExpressionChangedAfterItHasBeenCheckedError".
281
- * @type {?}
282
- */
283
- DropdownListComponent.prototype.selectionChange;
284
- /**
285
- * visibility flag of drop down
286
- * @type {?}
287
- */
288
- DropdownListComponent.prototype.dropdownVisibility;
289
- }
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJvcGRvd24tbGlzdC8iLCJzb3VyY2VzIjpbInNyYy9uZ3gtZHJvcGRvd24tbGlzdC9kcm9wZG93bi1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQStCaEcsTUFBTSxPQUFPLHFCQUFxQjtJQTdCbEM7Ozs7UUEyQ1csbUJBQWMsR0FBRyxLQUFLLENBQUM7Ozs7UUFRdkIsY0FBUyxHQUFHLEtBQUssQ0FBQzs7OztRQVlsQixlQUFVLEdBQUcsSUFBSSxDQUFDOzs7O1FBSWxCLGlCQUFZLEdBQUcsS0FBSyxDQUFDOzs7OztRQUtwQix3QkFBbUIsR0FBRyxJQUFJLFlBQVksQ0FBUyxJQUFJLENBQUMsQ0FBQzs7Ozs7UUFLckQsb0JBQWUsR0FBRyxJQUFJLFlBQVksQ0FBTSxJQUFJLENBQUMsQ0FBQzs7OztRQUt4RCx1QkFBa0IsR0FBRyxLQUFLLENBQUM7SUFrSTdCLENBQUM7Ozs7O0lBN0hDLElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFOztrQkFDbEIsWUFBWSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDckQsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUNyRDtJQUNILENBQUM7Ozs7OztJQUtELGlCQUFpQixDQUFDLEtBQUs7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FB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IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtjbGVhckFsbFNlbGVjdGlvbiwgZ2V0Rmlyc3RTZWxlY3RlZEl0ZW0sIHN0b3BQcm9wYWdhdGlvbkFuZERlZmF1bHR9IGZyb20gJy4vdXRpbHMvdXRpbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25neC1kcm9wZG93bi1saXN0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHNwYW4gY2xhc3M9XCJuZ3gtc2VsZWN0XCI+XHJcbiAgICAgICAgPGFuY2hvciAoYW5jaG9yQ2xpY2spPVwib25BbmNob3JDbGljaygkZXZlbnQpXCIgKGNsZWFyYW5jZUNsaWNrKT1cIm9uQ2xlYXJhbmNlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbY2hlY2tib3hdPVwibXVsdGlTZWxlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgW2Zvcm1hdE51bWJlcl09XCJmb3JtYXROdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgW3N1ZmZpeFRleHRdPVwic3VmZml4VGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwicGxhY2VIb2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgW2FsbG93Q2xlYXJdPVwiYWxsb3dDbGVhclwiXHJcbiAgICAgICAgICAgICAgICBbb3BlblN0YXR1c109XCJkcm9wZG93blZpc2liaWxpdHlcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkVGV4dF09XCJzZWxlY3RlZFRleHRcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgPC9hbmNob3I+XHJcbiAgICAgICAgPGRyb3Bkb3duICNkcm9wZG93biAoZHJvcGRvd25CbHVyKSA9IFwib25JdGVtc0JsdXIoKVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgW2NoZWNrYm94XT1cIm11bHRpU2VsZWN0aW9uXCJcclxuICAgICAgICAgICAgICAgIFtmaWx0ZXJCb3hdPVwiZmlsdGVyQm94XCJcclxuICAgICAgICAgICAgICAgIFtmb3JtYXROdW1iZXJdPVwiZm9ybWF0TnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIFtzdWZmaXhUZXh0XT1cInN1ZmZpeFRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhzZWxlY3RlZFZhbHVlKV09XCJzZWxlY3RlZFZhbHVlXCJcclxuICAgICAgICAgICAgICAgIChpdGVtQ2xpY2spID0gXCJvbkl0ZW1DbGljaygpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgIDwvZHJvcGRvd24+XHJcbiAgICA8L3NwYW4+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25MaXN0Q29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBkcm9wZG93blJlZjogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqXHJcbiAgICogYmluZCB0byBbcGxhY2VIb2xkZXJdIGZvciBkaXNwbGF5aW5nIHRoZSBwbGFjZSBob2xkZXIgc3RyaW5nIG9mIHRoZSBhbmNob3IuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcGxhY2VIb2xkZXI6IHN0cmluZztcclxuICAvKipcclxuICAgKiBiaW5kIHRvIFtpdGVtc10gZm9yIHRoZSBvcHRpb25zL2dyb3VwcyBpbiB0aGUgZHJvcGRvd25cclxuICAgKi9cclxuICBASW5wdXQoKSBpdGVtczogYW55W107XHJcbiAgLyoqXHJcbiAgICogYmluZCB0byBbbXVsdGlTZWxlY3Rpb25dLCB0aGUgZmxhZyBmb3IgbXVsdGktc2VsZWN0IChjaGVja2JveCkgbW9kZS5cclxuICAgKi9cclxuICBASW5wdXQoKSBtdWx0aVNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIGJpbmQgdG8gW3NlbGVjdGVkVmFsdWVdIGZvciB0aGUgdmFsdWUgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbiBmcm9tIGRyb3Bkb3duXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogYW55O1xyXG4gIC8qKlxyXG4gICAqIGJpbmQgdG8gW2ZpbHRlckJveF0gZm9yIGRpc3BsYXlpbmcgdGhlIGZpbHRlciBpbnB1dCB0ZXh0IGJveFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZpbHRlckJveCA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIGJpbmQgdG8gW3N1ZmZpeFRleHRdIGZvciBkaXNwbGF5aW5nIHRoZSBzdWZmaXggb2YgdGhlIHNlbGVjdGVkIHRleHQgb2YgYW5jaG9yXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3VmZml4VGV4dDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIGJpbmQgdG8gW2Rpc2FibGVkXSBmb3IgZGlzYWJsaW5nIHRoZSBkcm9wZG93blxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIGJpbmQgdG8gW2FsbG93Q2xlYXJdIGZvciBlbmFibGluZyB0aGUgY2xlYXJhbmNlIChjbGVhcmFuY2UgaXMgbm90IGF2YWlhYmxlIHdoZW4gY2hlY2tib3ggaXMgZW5hYmxlZClcclxuICAgKi9cclxuICBASW5wdXQoKSBhbGxvd0NsZWFyID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBiaW5kIHRvIFtmb3JtYXROdW1iZXJdIGZvciBzaG93IGZvcm1hdHRlZCBudW1iZXIgdGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvcm1hdE51bWJlciA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIGZvciAyLXdheSBiaW5kaW5nIG9mIFtzZWxlY3RlZFZhbHVlXSwgdXNpbmcgYXN5bmMgZXZlbnQgdG9cclxuICAgKiBwcmV2ZW50IFwiRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclwiLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KHRydWUpO1xyXG4gIC8qKlxyXG4gICAqIFtzZWxlY3Rpb25DaGFuZ2VdIGV2ZW50IHRoYXQgd2lsbCBiZSB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2luZyBvZiB0aGUgc2VsZWN0aW9uLlxyXG4gICAqIFVzaW5nIGFzeW5jIGV2ZW50IHRvIHByZXZlbnQgXCJFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXCIuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55Pih0cnVlKTtcclxuXHJcbiAgLyoqXHJcbiAgICogdmlzaWJpbGl0eSBmbGFnIG9mIGRyb3AgZG93blxyXG4gICAqL1xyXG4gIGRyb3Bkb3duVmlzaWJpbGl0eSA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBjdXJyZW50IHNlbGVjdGVkIHRleHRcclxuICAgKi9cclxuICBnZXQgc2VsZWN0ZWRUZXh0KCk6IGFueSB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlTZWxlY3Rpb24pIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gZ2V0Rmlyc3RTZWxlY3RlZEl0ZW0odGhpcy5pdGVtcyk7XHJcbiAgICAgIHJldHVybiBzZWxlY3RlZEl0ZW0gPyBzZWxlY3RlZEl0ZW0udGV4dCA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHRyaWdnZXJlZCB3aXRoIChzZWxlY3Rpb25DaGFuZ2UpIGV2ZW50LCBlbWl0cyAoc2VsZWN0ZWRWYWx1ZUNoYW5nZSkgYW5kIChzZWxlY3Rpb25DaGFuZ2UpXHJcbiAgICovXHJcbiAgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogdHJpZ2dlcmVkIHdpdGggKGFuY2hvckNsaWNrKSBldmVudCwgY29udHJvbGxpbmcgdGhlIFwib3BlblwiIGFuZCBcImNsb3NlXCIgb2YgdGhlIGRyb3Bkb3duXHJcbiAgICovXHJcbiAgb25BbmNob3JDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHN0b3BQcm9wYWdhdGlvbkFuZERlZmF1bHQoZXZlbnQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5faXNTZWxlY3Rpb25PcGVuKCkpIHtcclxuICAgICAgdGhpcy5faGlkZUl0ZW1MaXN0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zaG93SXRlbXNMaXN0KCk7XHJcbiAgICB9XHJcbiAgICBzdG9wUHJvcGFnYXRpb25BbmREZWZhdWx0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHRyaWdnZXJlZCB3aXRoIChpdGVtQ2xpY2spIGV2ZW50LCBjbG9zZXMgdGhlIGRyb3Bkb3duIGluIG5vbi1jaGVja2JveCBtb2RlXHJcbiAgICovXHJcbiAgb25JdGVtQ2xpY2soKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlTZWxlY3Rpb24pIHtcclxuICAgICAgdGhpcy5faGlkZUl0ZW1MaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiB0cmlnZ2VyZWQgd2l0aCAoY2xlYXJhbmNlQ2xpY2spIGV2ZW50LCBjbGVhcmluZyBhbGwgc2VsZWN0aW9uc1xyXG4gICAqIGFuZCBlbWl0cyAoc2VsZWN0ZWRWYWx1ZUNoYW5nZSkgYW5kIChzZWxlY3Rpb25DaGFuZ2UpIGV2ZW50IGZvciBlbXB0eSB2YWx1ZVxyXG4gICAqL1xyXG4gIG9uQ2xlYXJhbmNlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlTZWxlY3Rpb24pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdm9pZCAwO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2UuZW1pdCh1bmRlZmluZWQpO1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHVuZGVmaW5lZCk7XHJcbiAgICAgIGNsZWFyQWxsU2VsZWN0aW9uKHRoaXMuaXRlbXMpO1xyXG4gICAgfVxyXG4gICAgc3RvcFByb3BhZ2F0aW9uQW5kRGVmYXVsdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiB0cmlnZ2VyZWQgd2l0aCAoZHJvcGRvd25CbHVyKSBldmVudCwgY2xvc2VzIHRoZSBkcm9wZG93blxyXG4gICAqL1xyXG4gIG9uSXRlbXNCbHVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2lzU2VsZWN0aW9uT3BlbigpKSB7XHJcbiAgICAgIHRoaXMuX2hpZGVJdGVtTGlzdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogY2xvc2UgdGhlIGRyb3Bkb3duXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaGlkZUl0ZW1MaXN0KCk6IHZvaWQge1xyXG4gICAgLy8gaGlkZSB0aGUgZHJvcGRvd24gZWxlbWVudCAoaGFzIHNvbWUgcHJvYmxlbSBmb3IgdXNpbmcgQ1NTIGRpcmVjdGx5LCB1c2luZyB0aGlzIGFzIGEgd29ya2Fyb3VuZClcclxuICAgIHRoaXMuX2Ryb3Bkb3duRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd2aXNpYmxlJyk7XHJcbiAgICB0aGlzLl9kcm9wZG93bkVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgIHRoaXMuZHJvcGRvd25WaXNpYmlsaXR5ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBvcGVuIHRoZSBkcm9wZG93blxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3Nob3dJdGVtc0xpc3QoKTogdm9pZCB7XHJcbiAgICAvLyBkaXNwbGF5IHRoZSBkcm9wZG93biBlbGVtZW50IChoYXMgc29tZSBwcm9ibGVtIGZvciB1c2luZyBDU1MgZGlyZWN0bHksIHVzaW5nIHRoaXMgYXMgYSB3b3JrYXJvdW5kKVxyXG4gICAgdGhpcy5fZHJvcGRvd25FbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Zpc2libGUnKTtcclxuICAgIHRoaXMuX2Ryb3Bkb3duRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcclxuXHJcbiAgICB0aGlzLmRyb3Bkb3duVmlzaWJpbGl0eSA9IHRydWU7XHJcblxyXG4gICAgLy8gc2Nyb2xsaW5nIHRvIHRoZSBzZWxlY3RlZCBpdGVtXHJcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnaW5zdGFudCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXR0aW5nIHRoZSBmb2N1c1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyQm94ICYmICF0aGlzLm11bHRpU2VsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZHJvcGRvd25FbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiB2aXNpYmlsaXR5IHN0YXR1cyBvZiBkcm9wZG93blxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2lzU2VsZWN0aW9uT3BlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRyb3Bkb3duVmlzaWJpbGl0eTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGdldCB0aGUgcmVhbCBkcm9wZG93biBlbGVtZW50IChmb3IgZm9jdXNpbmcgYW5kIHZpc2liaWxpdHkgY29udHJvbGxpbmcpLCB0aGUgPHNwYW4+IG5vdCB0aGUgPGRyb3Bkb3duPlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0IF9kcm9wZG93bkVsZW1lbnQoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmRyb3Bkb3duUmVmID8gdGhpcy5kcm9wZG93blJlZi5uYXRpdmVFbGVtZW50ID8gdGhpcy5kcm9wZG93blJlZi5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkIDogbnVsbCA6IG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBnZXQgdGhlIHJlYWwgZmlsdGVyIGVsZW1lbnQgKGZvciBmb2N1c2luZyksIHRoZSA8aW5wdXQ+IG5vdCB0aGUgPGlucHV0LWZpbHRlcj5cclxuICAgKi9cclxuICBwcml2YXRlIGdldCBfZmlsdGVySW5wdXRFbGVtZW50KCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZHJvcGRvd25FbGVtZW50ID9cclxuICAgICAgdGhpcy5fZHJvcGRvd25FbGVtZW50LmZpcnN0RWxlbWVudENoaWxkID8gdGhpcy5fZHJvcGRvd25FbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmZpcnN0RWxlbWVudENoaWxkIDogbnVsbCA6IG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBnZXQgdGhlIEhUTUxFbGVtZW50IG9mIHNlbGVjdGVkIGl0ZW0sIGZvciBkb2luZyAoc2Nyb2xsSW50b1ZpZXcpIHNjcm9sbGluZyB0byB0aGUgc2VsZWN0ZWQgaXRlbVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0IF9zZWxlY3RlZEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gZ2V0Rmlyc3RTZWxlY3RlZEl0ZW0odGhpcy5pdGVtcyk7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRJdGVtID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VsZWN0ZWRJdGVtLmlkKSBhcyBIVE1MRWxlbWVudCA6IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,32 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { NgModule } from '@angular/core';
6
- import { CommonModule } from '@angular/common';
7
- import { FormsModule } from '@angular/forms';
8
- import { ItemComponent } from './item/item.component';
9
- import { GroupItemComponent } from './group-item/group-item.component';
10
- import { InputFilterComponent } from './filter/input-filter.component';
11
- import { AnchorComponent } from './anchor/anchor.component';
12
- import { DropdownComponent } from './dropdown/dropdown.component';
13
- import { DropdownListComponent } from './dropdown-list.component';
14
- export class DropdownListModule {
15
- }
16
- DropdownListModule.decorators = [
17
- { type: NgModule, args: [{
18
- declarations: [
19
- DropdownListComponent,
20
- ItemComponent,
21
- GroupItemComponent,
22
- InputFilterComponent,
23
- AnchorComponent,
24
- DropdownComponent
25
- ],
26
- exports: [DropdownListComponent],
27
- imports: [CommonModule, FormsModule],
28
- providers: [],
29
- bootstrap: [],
30
- },] }
31
- ];
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJvcGRvd24tbGlzdC8iLCJzb3VyY2VzIjpbInNyYy9uZ3gtZHJvcGRvd24tbGlzdC9kcm9wZG93bi1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFnQmxFLE1BQU0sT0FBTyxrQkFBa0I7OztZQWQ5QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtvQkFDckIsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZixpQkFBaUI7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRSxDQUFFLHFCQUFxQixDQUFDO2dCQUNqQyxPQUFPLEVBQUUsQ0FBRSxZQUFZLEVBQUUsV0FBVyxDQUFFO2dCQUN0QyxTQUFTLEVBQUUsRUFBRTtnQkFDYixTQUFTLEVBQUUsRUFBRTthQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2l0ZW0vaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcm91cEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2dyb3VwLWl0ZW0vZ3JvdXAtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnB1dEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2lucHV0LWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbmNob3JDb21wb25lbnQgfSBmcm9tICcuL2FuY2hvci9hbmNob3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyb3Bkb3duTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tbGlzdC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERyb3Bkb3duTGlzdENvbXBvbmVudCxcclxuICAgIEl0ZW1Db21wb25lbnQsXHJcbiAgICBHcm91cEl0ZW1Db21wb25lbnQsXHJcbiAgICBJbnB1dEZpbHRlckNvbXBvbmVudCxcclxuICAgIEFuY2hvckNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbIERyb3Bkb3duTGlzdENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlIF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxuICBib290c3RyYXA6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25MaXN0TW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,64 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component, EventEmitter, Input, Output } from '@angular/core';
6
- export class InputFilterComponent {
7
- constructor() {
8
- /**
9
- * bind to [inputFilterBlur], emits with (blur) of filter input box
10
- */
11
- this.inputFilterBlur = new EventEmitter();
12
- /**
13
- * bind to [filterValueChange], for 2-way binding of filterValue
14
- */
15
- this.filterValueChange = new EventEmitter();
16
- }
17
- /**
18
- * triggers with (blur) event, emits the (inputFilterBlur) event
19
- * @param {?} event
20
- * @return {?}
21
- */
22
- onFilterTextBlur(event) {
23
- this.inputFilterBlur.emit(event);
24
- }
25
- /**
26
- * triggers with (input) event, emits the (filterValueChange) event for 2-way binding of filterValue
27
- * @return {?}
28
- */
29
- onChange() {
30
- this.filterValueChange.emit(this.filterValue);
31
- }
32
- }
33
- InputFilterComponent.decorators = [
34
- { type: Component, args: [{
35
- selector: 'input-filter',
36
- template: `
37
- <input type="text" class="filter-box" [(ngModel)]="filterValue" (input)="onChange()" (blur)="onFilterTextBlur($event)">
38
- `,
39
- styles: ["*,:after,:before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}.filter-box{width:calc(100% - 10px);height:28px;border-radius:4px;border:1px solid #ccc;margin:1px 5px 5px;padding-left:5px;font-size:12px;box-sizing:border-box;color:#495057}.filter-box:focus{outline:0;border-color:#ccc}"]
40
- }] }
41
- ];
42
- InputFilterComponent.propDecorators = {
43
- filterValue: [{ type: Input }],
44
- inputFilterBlur: [{ type: Output }],
45
- filterValueChange: [{ type: Output }]
46
- };
47
- if (false) {
48
- /**
49
- * bind to [filterValue], the value of the filter
50
- * @type {?}
51
- */
52
- InputFilterComponent.prototype.filterValue;
53
- /**
54
- * bind to [inputFilterBlur], emits with (blur) of filter input box
55
- * @type {?}
56
- */
57
- InputFilterComponent.prototype.inputFilterBlur;
58
- /**
59
- * bind to [filterValueChange], for 2-way binding of filterValue
60
- * @type {?}
61
- */
62
- InputFilterComponent.prototype.filterValueChange;
63
- }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcm9wZG93bi1saXN0LyIsInNvdXJjZXMiOlsic3JjL25neC1kcm9wZG93bi1saXN0L2ZpbHRlci9pbnB1dC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBVXJFLE1BQU0sT0FBTyxvQkFBb0I7SUFSakM7Ozs7UUFnQlksb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDOzs7O1FBSTdDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFlM0QsQ0FBQzs7Ozs7O0lBVkMsZ0JBQWdCLENBQUMsS0FBSztRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7OztJQUtELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs7WUFsQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixRQUFRLEVBQUU7O0dBRVQ7O2FBRUY7OzswQkFNRSxLQUFLOzhCQUlMLE1BQU07Z0NBSU4sTUFBTTs7Ozs7OztJQVJQLDJDQUE2Qjs7Ozs7SUFJN0IsK0NBQXVEOzs7OztJQUl2RCxpREFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW5wdXQtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmaWx0ZXItYm94XCIgWyhuZ01vZGVsKV09XCJmaWx0ZXJWYWx1ZVwiIChpbnB1dCk9XCJvbkNoYW5nZSgpXCIgKGJsdXIpPVwib25GaWx0ZXJUZXh0Qmx1cigkZXZlbnQpXCI+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIElucHV0RmlsdGVyQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBiaW5kIHRvIFtmaWx0ZXJWYWx1ZV0sIHRoZSB2YWx1ZSBvZiB0aGUgZmlsdGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZmlsdGVyVmFsdWU6IHN0cmluZztcclxuICAvKipcclxuICAgKiBiaW5kIHRvIFtpbnB1dEZpbHRlckJsdXJdLCBlbWl0cyB3aXRoIChibHVyKSBvZiBmaWx0ZXIgaW5wdXQgYm94XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGlucHV0RmlsdGVyQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIC8qKlxyXG4gICAqIGJpbmQgdG8gW2ZpbHRlclZhbHVlQ2hhbmdlXSwgZm9yIDItd2F5IGJpbmRpbmcgb2YgZmlsdGVyVmFsdWVcclxuICAgKi9cclxuICBAT3V0cHV0KCkgZmlsdGVyVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogdHJpZ2dlcnMgd2l0aCAoYmx1cikgZXZlbnQsIGVtaXRzIHRoZSAoaW5wdXRGaWx0ZXJCbHVyKSBldmVudFxyXG4gICAqL1xyXG4gIG9uRmlsdGVyVGV4dEJsdXIoZXZlbnQpIHtcclxuICAgIHRoaXMuaW5wdXRGaWx0ZXJCbHVyLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogdHJpZ2dlcnMgd2l0aCAoaW5wdXQpIGV2ZW50LCBlbWl0cyB0aGUgKGZpbHRlclZhbHVlQ2hhbmdlKSBldmVudCBmb3IgMi13YXkgYmluZGluZyBvZiBmaWx0ZXJWYWx1ZVxyXG4gICAqL1xyXG4gIG9uQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5maWx0ZXJWYWx1ZUNoYW5nZS5lbWl0KHRoaXMuZmlsdGVyVmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,37 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component, Input } from '@angular/core';
6
- export class GroupItemComponent {
7
- /**
8
- * prevent all clicking event from happening
9
- * @param {?} event
10
- * @return {?}
11
- */
12
- onItemGroupClick(event) {
13
- event.stopImmediatePropagation();
14
- event.stopPropagation();
15
- event.preventDefault();
16
- }
17
- }
18
- GroupItemComponent.decorators = [
19
- { type: Component, args: [{
20
- selector: 'group-item',
21
- template: `
22
- <label class="dropdown-item dropdown-item-group" (mousedown)="onItemGroupClick($event)">{{item.group}}</label>
23
- `,
24
- styles: ["*,:after,:before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}.container-checkbox,.container-selection,.container-selection-selected,.dropdown-item{background:0 0;display:list-item;list-style:none;position:relative;width:100%;height:auto;cursor:pointer;color:#495057;padding-bottom:5px;padding-top:5px;padding-left:12px}.container-checkbox{padding-left:35px}.container-checkbox input{position:absolute;opacity:0;cursor:pointer}.container-checkbox .checkmark{position:absolute;top:5px;left:10px;height:15px;width:15px;border:1px solid rgba(0,0,0,.3);background-color:#fff;border-radius:4px}.container-checkbox .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.container-checkbox:hover input~.checkmark{background-color:#ccc}.container-checkbox input:checked~.checkmark{background-color:#2196f3;border:1px solid #2196f3}.container-checkbox input:checked~.checkmark:after{display:block}.container-checkbox:hover{color:#66afe9}.container-selection,.container-selection-selected{padding-left:12px}.container-selection-selected:hover,.container-selection:hover{color:#495057;background:#e0ffff}.container-selection-selected{color:#fff;background:#6495ed}.dropdown-item-group{font-weight:700}.dropdown-item-group:hover{cursor:default}"]
25
- }] }
26
- ];
27
- GroupItemComponent.propDecorators = {
28
- item: [{ type: Input }]
29
- };
30
- if (false) {
31
- /**
32
- * bind to [item], the group item of dropdown
33
- * @type {?}
34
- */
35
- GroupItemComponent.prototype.item;
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJvcGRvd24tbGlzdC8iLCJzb3VyY2VzIjpbInNyYy9uZ3gtZHJvcGRvd24tbGlzdC9ncm91cC1pdGVtL2dyb3VwLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVcvQyxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7SUFTN0IsZ0JBQWdCLENBQUMsS0FBSztRQUNwQixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OztZQXJCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRTs7R0FFVDs7YUFFRjs7O21CQU1FLEtBQUs7Ozs7Ozs7SUFBTixrQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NlbGVjdGlvbkdyb3VwSXRlbXN9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ3JvdXAtaXRlbScsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxsYWJlbCBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gZHJvcGRvd24taXRlbS1ncm91cFwiIChtb3VzZWRvd24pPVwib25JdGVtR3JvdXBDbGljaygkZXZlbnQpXCI+e3tpdGVtLmdyb3VwfX08L2xhYmVsPlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JvdXAtaXRlbS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgR3JvdXBJdGVtQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBiaW5kIHRvIFtpdGVtXSwgdGhlIGdyb3VwIGl0ZW0gb2YgZHJvcGRvd25cclxuICAgKi9cclxuICBASW5wdXQoKSBpdGVtOiBTZWxlY3Rpb25Hcm91cEl0ZW1zO1xyXG5cclxuICAvKipcclxuICAgKiBwcmV2ZW50IGFsbCBjbGlja2luZyBldmVudCBmcm9tIGhhcHBlbmluZ1xyXG4gICAqL1xyXG4gIG9uSXRlbUdyb3VwQ2xpY2soZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,7 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- export { DropdownListComponent } from './dropdown-list.component';
6
- export { DropdownListModule } from './dropdown-list.module';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJvcGRvd24tbGlzdC8iLCJzb3VyY2VzIjpbInNyYy9uZ3gtZHJvcGRvd24tbGlzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsc0NBQWMsMkJBQTJCLENBQUM7QUFDMUMsbUNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1saXN0Lm1vZHVsZSc7XHJcbiJdfQ==
@@ -1,104 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component, EventEmitter, Input, Output } from '@angular/core';
6
- import { isNumber } from '../utils/util';
7
- export class ItemComponent {
8
- constructor() {
9
- /**
10
- * bind to [formatNumber], the flag for formatting the number
11
- */
12
- this.formatNumber = false;
13
- /**
14
- * bind to [itemClick] event, triggers when clicking the item of dropdown
15
- */
16
- this.itemClick = new EventEmitter();
17
- /**
18
- * bind to [checkStatusChange] event, triggers when check status is changed in checkbox mode.
19
- */
20
- this.checkStatusChange = new EventEmitter();
21
- }
22
- /**
23
- * check whether needs to format number for the provided text
24
- * @param {?} value
25
- * @return {?}
26
- */
27
- needFormatNumber(value) {
28
- return isNumber(value) && this.formatNumber;
29
- }
30
- /**
31
- * triggered when clicking the item, emits the [itemClick] event
32
- * @param {?} item
33
- * @return {?}
34
- */
35
- onItemClick(item) {
36
- this.itemClick.emit(item);
37
- }
38
- /**
39
- * triggered when checking status changed in checkbox mode, emits the [checkStatusChange] event
40
- * @param {?} item
41
- * @return {?}
42
- */
43
- onCheckStatusChange(item) {
44
- this.checkStatusChange.emit(item);
45
- }
46
- }
47
- ItemComponent.decorators = [
48
- { type: Component, args: [{
49
- selector: 'item',
50
- template: `
51
- <label [class.container-checkbox]="checkbox"
52
- [class.container-selection]="!checkbox && !item.selected"
53
- [class.container-selection-selected]="!checkbox && item.selected"
54
- [id]="item.id" (mousedown)="onItemClick(item)">
55
- {{needFormatNumber(item.text)? (item.text | number:'1.0-2') : item.text}}{{suffixText? suffixText : ''}}
56
- <ng-container *ngIf="checkbox">
57
- <input type='checkbox' [id]="'checkbox-'+item.text" (change)="onCheckStatusChange(item)" [checked]="item.selected">
58
- <span class="checkmark" [id]="'checkmark-'+item.text"></span>
59
- </ng-container>
60
- </label>`,
61
- styles: ["*,:after,:before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}.container-checkbox,.container-selection,.container-selection-selected,.dropdown-item{background:0 0;display:list-item;list-style:none;position:relative;width:100%;height:auto;cursor:pointer;color:#495057;padding-bottom:5px;padding-top:5px;padding-left:12px}.container-checkbox{padding-left:35px}.container-checkbox input{position:absolute;opacity:0;cursor:pointer}.container-checkbox .checkmark{position:absolute;top:5px;left:10px;height:15px;width:15px;border:1px solid rgba(0,0,0,.3);background-color:#fff;border-radius:4px}.container-checkbox .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.container-checkbox:hover input~.checkmark{background-color:#ccc}.container-checkbox input:checked~.checkmark{background-color:#2196f3;border:1px solid #2196f3}.container-checkbox input:checked~.checkmark:after{display:block}.container-checkbox:hover{color:#66afe9}.container-selection,.container-selection-selected{padding-left:12px}.container-selection-selected:hover,.container-selection:hover{color:#495057;background:#e0ffff}.container-selection-selected{color:#fff;background:#6495ed}"]
62
- }] }
63
- ];
64
- ItemComponent.propDecorators = {
65
- checkbox: [{ type: Input }],
66
- item: [{ type: Input }],
67
- formatNumber: [{ type: Input }],
68
- suffixText: [{ type: Input }],
69
- itemClick: [{ type: Output }],
70
- checkStatusChange: [{ type: Output }]
71
- };
72
- if (false) {
73
- /**
74
- * bind to [checkbox], the flag of checkbox mode
75
- * @type {?}
76
- */
77
- ItemComponent.prototype.checkbox;
78
- /**
79
- * bind to [item], the dropdown option item
80
- * @type {?}
81
- */
82
- ItemComponent.prototype.item;
83
- /**
84
- * bind to [formatNumber], the flag for formatting the number
85
- * @type {?}
86
- */
87
- ItemComponent.prototype.formatNumber;
88
- /**
89
- * bind to [suffixText], the suffixText that will be displayed in the dropdown
90
- * @type {?}
91
- */
92
- ItemComponent.prototype.suffixText;
93
- /**
94
- * bind to [itemClick] event, triggers when clicking the item of dropdown
95
- * @type {?}
96
- */
97
- ItemComponent.prototype.itemClick;
98
- /**
99
- * bind to [checkStatusChange] event, triggers when check status is changed in checkbox mode.
100
- * @type {?}
101
- */
102
- ItemComponent.prototype.checkStatusChange;
103
- }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJvcGRvd24tbGlzdC8iLCJzb3VyY2VzIjpbInNyYy9uZ3gtZHJvcGRvd24tbGlzdC9pdGVtL2l0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFrQnZDLE1BQU0sT0FBTyxhQUFhO0lBaEIxQjs7OztRQTRCVyxpQkFBWSxHQUFHLEtBQUssQ0FBQzs7OztRQVFwQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQzs7OztRQUl2QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBc0IzRCxDQUFDOzs7Ozs7SUFqQkMsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzlDLENBQUM7Ozs7OztJQUtELFdBQVcsQ0FBQyxJQUFJO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7Ozs7O0lBS0QsbUJBQW1CLENBQUMsSUFBSTtRQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OztZQTdERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7OzthQVVDOzthQUVaOzs7dUJBTUUsS0FBSzttQkFJTCxLQUFLOzJCQUlMLEtBQUs7eUJBSUwsS0FBSzt3QkFJTCxNQUFNO2dDQUlOLE1BQU07Ozs7Ozs7SUFwQlAsaUNBQTJCOzs7OztJQUkzQiw2QkFBNkI7Ozs7O0lBSTdCLHFDQUE4Qjs7Ozs7SUFJOUIsbUNBQTRCOzs7OztJQUk1QixrQ0FBaUQ7Ozs7O0lBSWpELDBDQUF5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NlbGVjdGlvbkl0ZW19IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHtpc051bWJlcn0gZnJvbSAnLi4vdXRpbHMvdXRpbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2l0ZW0nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bGFiZWwgW2NsYXNzLmNvbnRhaW5lci1jaGVja2JveF09XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgW2NsYXNzLmNvbnRhaW5lci1zZWxlY3Rpb25dPVwiIWNoZWNrYm94ICYmICFpdGVtLnNlbGVjdGVkXCJcclxuICAgICAgICAgICBbY2xhc3MuY29udGFpbmVyLXNlbGVjdGlvbi1zZWxlY3RlZF09XCIhY2hlY2tib3ggJiYgaXRlbS5zZWxlY3RlZFwiXHJcbiAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIiAobW91c2Vkb3duKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCI+XHJcbiAgICAgIHt7bmVlZEZvcm1hdE51bWJlcihpdGVtLnRleHQpPyAoaXRlbS50ZXh0IHwgbnVtYmVyOicxLjAtMicpIDogaXRlbS50ZXh0fX17e3N1ZmZpeFRleHQ/IHN1ZmZpeFRleHQgOiAnJ319XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGVja2JveFwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSdjaGVja2JveCcgW2lkXT1cIidjaGVja2JveC0nK2l0ZW0udGV4dFwiIChjaGFuZ2UpPVwib25DaGVja1N0YXR1c0NoYW5nZShpdGVtKVwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrbWFya1wiIFtpZF09XCInY2hlY2ttYXJrLScraXRlbS50ZXh0XCI+PC9zcGFuPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbGFiZWw+YCxcclxuICBzdHlsZVVybHM6IFsnLi9pdGVtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBJdGVtQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBiaW5kIHRvIFtjaGVja2JveF0sIHRoZSBmbGFnIG9mIGNoZWNrYm94IG1vZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBjaGVja2JveDogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBiaW5kIHRvIFtpdGVtXSwgdGhlIGRyb3Bkb3duIG9wdGlvbiBpdGVtXHJcbiAgICovXHJcbiAgQElucHV0KCkgaXRlbTogU2VsZWN0aW9uSXRlbTtcclxuICAvKipcclxuICAgKiBiaW5kIHRvIFtmb3JtYXROdW1iZXJdLCB0aGUgZmxhZyBmb3IgZm9ybWF0dGluZyB0aGUgbnVtYmVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9ybWF0TnVtYmVyID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogYmluZCB0byBbc3VmZml4VGV4dF0sIHRoZSBzdWZmaXhUZXh0IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGRyb3Bkb3duXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3VmZml4VGV4dDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIGJpbmQgdG8gW2l0ZW1DbGlja10gZXZlbnQsIHRyaWdnZXJzIHdoZW4gY2xpY2tpbmcgdGhlIGl0ZW0gb2YgZHJvcGRvd25cclxuICAgKi9cclxuICBAT3V0cHV0KCkgaXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgLyoqXHJcbiAgICogYmluZCB0byBbY2hlY2tTdGF0dXNDaGFuZ2VdIGV2ZW50LCB0cmlnZ2VycyB3aGVuIGNoZWNrIHN0YXR1cyBpcyBjaGFuZ2VkIGluIGNoZWNrYm94IG1vZGUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGNoZWNrU3RhdHVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIGNoZWNrIHdoZXRoZXIgbmVlZHMgdG8gZm9ybWF0IG51bWJlciBmb3IgdGhlIHByb3ZpZGVkIHRleHRcclxuICAgKi9cclxuICBuZWVkRm9ybWF0TnVtYmVyKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpc051bWJlcih2YWx1ZSkgJiYgdGhpcy5mb3JtYXROdW1iZXI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiB0cmlnZ2VyZWQgd2hlbiBjbGlja2luZyB0aGUgaXRlbSwgZW1pdHMgdGhlIFtpdGVtQ2xpY2tdIGV2ZW50XHJcbiAgICovXHJcbiAgb25JdGVtQ2xpY2soaXRlbSkge1xyXG4gICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpdGVtKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHRyaWdnZXJlZCB3aGVuIGNoZWNraW5nIHN0YXR1cyBjaGFuZ2VkIGluIGNoZWNrYm94IG1vZGUsIGVtaXRzIHRoZSBbY2hlY2tTdGF0dXNDaGFuZ2VdIGV2ZW50XHJcbiAgICovXHJcbiAgb25DaGVja1N0YXR1c0NoYW5nZShpdGVtKSB7XHJcbiAgICB0aGlzLmNoZWNrU3RhdHVzQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,7 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- export {} from './selection-item.types';
6
- export {} from './selection-group-items.types';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJvcGRvd24tbGlzdC8iLCJzb3VyY2VzIjpbInNyYy9uZ3gtZHJvcGRvd24tbGlzdC90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsZUFBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24taXRlbS50eXBlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWdyb3VwLWl0ZW1zLnR5cGVzJztcclxuIl19
@@ -1,16 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * dropdown option group item
7
- * @record
8
- */
9
- export function SelectionGroupItems() { }
10
- if (false) {
11
- /** @type {?} */
12
- SelectionGroupItems.prototype.group;
13
- /** @type {?} */
14
- SelectionGroupItems.prototype.items;
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWdyb3VwLWl0ZW1zLnR5cGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyb3Bkb3duLWxpc3QvIiwic291cmNlcyI6WyJzcmMvbmd4LWRyb3Bkb3duLWxpc3QvdHlwZXMvc2VsZWN0aW9uLWdyb3VwLWl0ZW1zLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0EseUNBR0M7OztJQUZDLG9DQUFjOztJQUNkLG9DQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbkl0ZW0gfSBmcm9tICcuL3NlbGVjdGlvbi1pdGVtLnR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBkcm9wZG93biBvcHRpb24gZ3JvdXAgaXRlbVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25Hcm91cEl0ZW1zIHtcclxuICBncm91cDogc3RyaW5nO1xyXG4gIGl0ZW1zOiBTZWxlY3Rpb25JdGVtW107XHJcbn1cclxuIl19
@@ -1,20 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * dropdown option item
7
- * @record
8
- */
9
- export function SelectionItem() { }
10
- if (false) {
11
- /** @type {?} */
12
- SelectionItem.prototype.id;
13
- /** @type {?|undefined} */
14
- SelectionItem.prototype.value;
15
- /** @type {?} */
16
- SelectionItem.prototype.text;
17
- /** @type {?|undefined} */
18
- SelectionItem.prototype.selected;
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWl0ZW0udHlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJvcGRvd24tbGlzdC8iLCJzb3VyY2VzIjpbInNyYy9uZ3gtZHJvcGRvd24tbGlzdC90eXBlcy9zZWxlY3Rpb24taXRlbS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLG1DQUtDOzs7SUFKQywyQkFBVzs7SUFDWCw4QkFBWTs7SUFDWiw2QkFBVTs7SUFDVixpQ0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogZHJvcGRvd24gb3B0aW9uIGl0ZW1cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0aW9uSXRlbSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB2YWx1ZT86IGFueTtcclxuICB0ZXh0OiBhbnk7XHJcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==