@messaia/cdk 18.0.0-rc13 → 18.0.0-rc14

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.
@@ -37,7 +37,7 @@ import * as i18 from "@angular/material/slide-toggle";
37
37
  import * as i19 from "@angular/material/paginator";
38
38
  import * as i20 from "@angular/material/tooltip";
39
39
  import * as i21 from "../filter-input.component";
40
- import * as i22 from "../filter-select.component";
40
+ import * as i22 from "../filter-select/filter-select.component";
41
41
  import * as i23 from "../filter-clear.component";
42
42
  import * as i24 from "../filter-date.component";
43
43
  import * as i25 from "../../directives/data-source-filter.directive";
@@ -0,0 +1,375 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { CdkPortal } from '@angular/cdk/portal';
3
+ import { CdkColumnDef } from '@angular/cdk/table';
4
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
5
+ import { Component, ContentChild, Directive, ElementRef, HostListener, Injector, Input, TemplateRef, ViewChild, ViewContainerRef, forwardRef } from '@angular/core';
6
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
+ import { MAT_SELECT_CONFIG, MatSelect } from '@angular/material/select';
8
+ import { MatTable } from '@angular/material/table';
9
+ import { BehaviorSubject } from 'rxjs';
10
+ import { EnumService } from '../../../common/services/enum.service';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/material/table";
13
+ import * as i2 from "@angular/cdk/table";
14
+ import * as i3 from "@angular/common";
15
+ import * as i4 from "@angular/forms";
16
+ import * as i5 from "@angular/material/form-field";
17
+ import * as i6 from "@angular/material/select";
18
+ import * as i7 from "@angular/material/core";
19
+ import * as i8 from "@angular/material/icon";
20
+ import * as i9 from "@angular/material/input";
21
+ export class VdFilterOptionDirective extends CdkPortal {
22
+ constructor(templateRef, viewContainerRef) {
23
+ super(templateRef, viewContainerRef);
24
+ }
25
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdFilterOptionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
26
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: VdFilterOptionDirective, selector: "[vd-filter-option]ng-template", usesInheritance: true, ngImport: i0 });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdFilterOptionDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{ selector: '[vd-filter-option]ng-template' }]
31
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
32
+ export class FilterSelectComponent {
33
+ injector;
34
+ table;
35
+ column;
36
+ /**
37
+ * VdChip template
38
+ */
39
+ optionTemplate;
40
+ /**
41
+ * The select element.
42
+ */
43
+ selectEl;
44
+ /**
45
+ * The select element.
46
+ */
47
+ filterInput;
48
+ /**
49
+ * Represents a value that changes over time.
50
+ * Observers can subscribe to the subject to receive pdf file changes
51
+ */
52
+ _endpointChange = new BehaviorSubject([]);
53
+ /**
54
+ * Represents a value that changes over time.
55
+ */
56
+ _enumChange = new BehaviorSubject([]);
57
+ /**
58
+ * Gets pdf endpoint
59
+ */
60
+ get endpoint() { return this._endpointChange.value; }
61
+ /**
62
+ * Sets pdf endpoint
63
+ */
64
+ set endpoint(endpoint) { this._endpointChange.next(Array.isArray(endpoint) ? endpoint.join('') : endpoint); }
65
+ /**
66
+ * _params: any
67
+ */
68
+ _params = {};
69
+ /**
70
+ * params: any
71
+ */
72
+ get params() { return this._params; }
73
+ set params(query) {
74
+ this._params = query;
75
+ /* Remove empty params */
76
+ Object.keys(this._params).forEach((key) => {
77
+ if ((this._params[key] == null || this._params[key] == '' || this._params[key] == 'undefined')) {
78
+ delete this._params[key];
79
+ }
80
+ });
81
+ this._endpointChange.next([this.endpoint, this.params, this.projection]);
82
+ }
83
+ /**
84
+ * _projection: any
85
+ */
86
+ _projection;
87
+ /**
88
+ * projection: any
89
+ */
90
+ get projection() { return this._projection; }
91
+ set projection(projection) {
92
+ this._projection = projection;
93
+ this._endpointChange.next([this.endpoint, this.params, this.projection]);
94
+ }
95
+ /**
96
+ * sortBy?
97
+ */
98
+ sortBy;
99
+ /**
100
+ * Sorts options
101
+ */
102
+ _sorted = true;
103
+ /**
104
+ * _enumFilter: Function
105
+ */
106
+ _enumFilter;
107
+ /**
108
+ * Sorts options
109
+ */
110
+ get sorted() { return this._sorted; }
111
+ set sorted(multi) {
112
+ this._sorted = coerceBooleanProperty(multi);
113
+ this._endpointChange.next([this.endpoint, this.params, this.projection]);
114
+ }
115
+ /**
116
+ * @property
117
+ */
118
+ get enumFilter() { return this._enumFilter; }
119
+ set enumFilter(enumFilter) { this._enumFilter = enumFilter; this._enumChange.next([this._enumFilter]); }
120
+ /**
121
+ * The name of the endpoint
122
+ */
123
+ enum;
124
+ /**
125
+ * Metadata for enum types.
126
+ * @property
127
+ */
128
+ enumMetadata;
129
+ /**
130
+ * The key
131
+ */
132
+ key = 'id';
133
+ /**
134
+ * The text
135
+ */
136
+ text = 'name';
137
+ /**
138
+ * The prefix
139
+ */
140
+ prefix = '';
141
+ /**
142
+ * multiple?
143
+ */
144
+ multiple = false;
145
+ /**
146
+ * Option list
147
+ */
148
+ _options;
149
+ /**
150
+ * Option list
151
+ */
152
+ get options() { return this._options; }
153
+ set options(value) {
154
+ this.filteredOptions = this._options = value;
155
+ }
156
+ /**
157
+ * filtered option list
158
+ */
159
+ filteredOptions;
160
+ /**
161
+ * filterable?
162
+ */
163
+ filterable = true;
164
+ /**
165
+ * Field name
166
+ */
167
+ field = '';
168
+ /**
169
+ * placeholder?: string
170
+ * Placeholder for the underlying input component.
171
+ */
172
+ placeholder = 'Filter...';
173
+ /**
174
+ * cache?
175
+ */
176
+ cache = true;
177
+ /**
178
+ * The http service from to get the data
179
+ */
180
+ http;
181
+ /**
182
+ * Setters and getters for the select value
183
+ */
184
+ get value() { return this.table.dataSource['fieldFilters'][this.field]; }
185
+ ;
186
+ set value(v) {
187
+ if (v != this.table.dataSource['fieldFilters'][this.field]) {
188
+ this.table.dataSource['fieldFilters'][this.field] = v;
189
+ this.table.dataSource['paginator']['pageIndex'] = 0;
190
+ this.table.dataSource['reload']();
191
+ this.onChange(v);
192
+ }
193
+ }
194
+ /**
195
+ * Whether the control is focused.
196
+ */
197
+ focused = false;
198
+ /**
199
+ * Whether the control is focused.
200
+ */
201
+ onFocusIn() { this.focused = true; }
202
+ onFocusOut() { this.focused = false; }
203
+ /**
204
+ * Constructor
205
+ * @param injector
206
+ * @param table
207
+ * @param column
208
+ */
209
+ constructor(injector, table, column) {
210
+ this.injector = injector;
211
+ this.table = table;
212
+ this.column = column;
213
+ this.field = this.column.name.replace('filter.', '');
214
+ if (!this.enum) {
215
+ this.http = injector.get(HttpClient);
216
+ }
217
+ }
218
+ /**
219
+ * Lifecycle hook that is called after data-bound properties of a directive are initialized.
220
+ */
221
+ ngOnInit() {
222
+ if (this.enum) {
223
+ this.filterable = this.enumMetadata != null;
224
+ this.options = this.enumMetadata ? EnumService.getOrderedValues(this.enum, this.enumMetadata) : EnumService.toArray(this.enum, this.prefix);
225
+ /* Apply enum filters */
226
+ if (this._enumFilter && this.options) {
227
+ this.options = this.options.filter(this._enumFilter);
228
+ }
229
+ }
230
+ else if (this.http && this.endpoint) {
231
+ this._endpointChange.subscribe(_ => {
232
+ let headers = new HttpHeaders();
233
+ if (this.cache) {
234
+ headers.set('Client-Cache', 'Yes');
235
+ }
236
+ /* Init params, if null */
237
+ this._params ||= {};
238
+ /* Add projection, if any */
239
+ if (this.projection) {
240
+ this._params.projection = this.projection;
241
+ }
242
+ /* Add sorting */
243
+ var url = new URLSearchParams(this.endpoint);
244
+ if (!this._params.sortBy && !url.has('sortBy') && (this.sortBy || this.sorted)) {
245
+ this._params.sortBy = this.sortBy || this.text;
246
+ }
247
+ this.http.get(this.endpoint, { params: this._params, headers: headers }).subscribe(x => {
248
+ this.options = x;
249
+ });
250
+ });
251
+ }
252
+ }
253
+ /**
254
+ * A callback method that is invoked immediately after
255
+ * Angular has completed initialization of a component's view.
256
+ * It is invoked only once when the view is instantiated.
257
+ *
258
+ */
259
+ ngAfterViewInit() {
260
+ this.selectEl?.openedChange?.subscribe(x => {
261
+ if (x && this.filterable) {
262
+ this.filterInput?.nativeElement.focus();
263
+ }
264
+ });
265
+ }
266
+ /**
267
+ * Write a new value to the element.
268
+ */
269
+ writeValue(value) {
270
+ this.value = value;
271
+ this.onChange(value);
272
+ }
273
+ /**
274
+ * Handels filter event
275
+ * @param $event
276
+ */
277
+ handleFilter($event) {
278
+ let searchText = ($event?.target?.value ?? '').toLowerCase();
279
+ this.filteredOptions = this.options.filter((x) => x[this.text]?.toLowerCase().search(searchText) > -1);
280
+ }
281
+ /**
282
+ * Set the function to be called when the control receives a change event.
283
+ */
284
+ registerOnChange(fn) { this.onChange = fn; }
285
+ /**
286
+ * Set the function to be called when the control receives a touch event.
287
+ */
288
+ registerOnTouched(fn) { this.onTouched = fn; }
289
+ /**
290
+ * Called when the control receives a change event.
291
+ */
292
+ onChange = (_) => { };
293
+ /**
294
+ * Called when the control receives a touch event.
295
+ */
296
+ onTouched = () => { };
297
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterSelectComponent, deps: [{ token: i0.Injector }, { token: i1.MatTable }, { token: i2.CdkColumnDef }], target: i0.ɵɵFactoryTarget.Component });
298
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: FilterSelectComponent, selector: "mat-header-cell[filter-select], [mat-header-cell][filter-select], [filter-select]", inputs: { endpoint: "endpoint", params: "params", projection: "projection", sortBy: "sortBy", sorted: "sorted", enumFilter: "enumFilter", enum: "enum", enumMetadata: "enumMetadata", key: "key", text: "text", prefix: "prefix", multiple: "multiple", options: "options", filteredOptions: "filteredOptions", filterable: "filterable", field: "field", placeholder: "placeholder", cache: "cache" }, host: { listeners: { "focusin": "onFocusIn()", "focusout": "onFocusOut()" } }, providers: [
299
+ {
300
+ provide: NG_VALUE_ACCESSOR,
301
+ useExisting: forwardRef((() => FilterSelectComponent)),
302
+ multi: true
303
+ },
304
+ {
305
+ provide: MAT_SELECT_CONFIG,
306
+ useValue: { overlayPanelClass: 'vd-select-filter-overlay' }
307
+ }
308
+ ], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdFilterOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelect, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], ngImport: i0, template: "<mat-form-field [ngClass]=\"{'filter-not-empty': value}\" flex>\r\n <span matPrefix *ngIf=\"!value && value!=0 && !focused\"><mat-icon fontSet=\"material-symbols-outlined\">manage_search</mat-icon></span>\r\n <mat-select type=\"input\" [(ngModel)]=\"value\" [multiple]=\"multiple\" flex>\r\n <mat-form-field *ngIf=\"filterable\" appearance=\"fill\" subscriptSizing=\"dynamic\" flex>\r\n <input matInput #filterInput type=\"text\" placeholder=\"Filter...\" class=\"vd-select-filter\" (keyup)=\"handleFilter($event)\" flex>\r\n <mat-icon *ngIf=\"filterInput?.value\" (click)=\"filterInput!.value = ''; handleFilter($event);\" fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </mat-form-field>\r\n <mat-option *ngIf=\"!multiple\" class=\"tc-grey-500\"></mat-option>\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-option [value]=\"option[key]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option.name, select, option {option} other {{{option[text]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate!.templateRef\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n</mat-form-field>", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
309
+ }
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterSelectComponent, decorators: [{
311
+ type: Component,
312
+ args: [{ selector: 'mat-header-cell[filter-select], [mat-header-cell][filter-select], [filter-select]', providers: [
313
+ {
314
+ provide: NG_VALUE_ACCESSOR,
315
+ useExisting: forwardRef((() => FilterSelectComponent)),
316
+ multi: true
317
+ },
318
+ {
319
+ provide: MAT_SELECT_CONFIG,
320
+ useValue: { overlayPanelClass: 'vd-select-filter-overlay' }
321
+ }
322
+ ], template: "<mat-form-field [ngClass]=\"{'filter-not-empty': value}\" flex>\r\n <span matPrefix *ngIf=\"!value && value!=0 && !focused\"><mat-icon fontSet=\"material-symbols-outlined\">manage_search</mat-icon></span>\r\n <mat-select type=\"input\" [(ngModel)]=\"value\" [multiple]=\"multiple\" flex>\r\n <mat-form-field *ngIf=\"filterable\" appearance=\"fill\" subscriptSizing=\"dynamic\" flex>\r\n <input matInput #filterInput type=\"text\" placeholder=\"Filter...\" class=\"vd-select-filter\" (keyup)=\"handleFilter($event)\" flex>\r\n <mat-icon *ngIf=\"filterInput?.value\" (click)=\"filterInput!.value = ''; handleFilter($event);\" fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </mat-form-field>\r\n <mat-option *ngIf=\"!multiple\" class=\"tc-grey-500\"></mat-option>\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-option [value]=\"option[key]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option.name, select, option {option} other {{{option[text]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate!.templateRef\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n</mat-form-field>" }]
323
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.MatTable }, { type: i2.CdkColumnDef }], propDecorators: { optionTemplate: [{
324
+ type: ContentChild,
325
+ args: [VdFilterOptionDirective]
326
+ }], selectEl: [{
327
+ type: ViewChild,
328
+ args: [MatSelect, { static: false }]
329
+ }], filterInput: [{
330
+ type: ViewChild,
331
+ args: ['filterInput', { static: false }]
332
+ }], endpoint: [{
333
+ type: Input
334
+ }], params: [{
335
+ type: Input
336
+ }], projection: [{
337
+ type: Input
338
+ }], sortBy: [{
339
+ type: Input
340
+ }], sorted: [{
341
+ type: Input
342
+ }], enumFilter: [{
343
+ type: Input
344
+ }], enum: [{
345
+ type: Input
346
+ }], enumMetadata: [{
347
+ type: Input
348
+ }], key: [{
349
+ type: Input
350
+ }], text: [{
351
+ type: Input
352
+ }], prefix: [{
353
+ type: Input
354
+ }], multiple: [{
355
+ type: Input
356
+ }], options: [{
357
+ type: Input
358
+ }], filteredOptions: [{
359
+ type: Input
360
+ }], filterable: [{
361
+ type: Input
362
+ }], field: [{
363
+ type: Input
364
+ }], placeholder: [{
365
+ type: Input
366
+ }], cache: [{
367
+ type: Input
368
+ }], onFocusIn: [{
369
+ type: HostListener,
370
+ args: ["focusin"]
371
+ }], onFocusOut: [{
372
+ type: HostListener,
373
+ args: ["focusout"]
374
+ }] } });
375
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS9jb21wb25lbnRzL2ZpbHRlci1zZWxlY3QvZmlsdGVyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS9jb21wb25lbnRzL2ZpbHRlci1zZWxlY3QvZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFHcEUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFNB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S0FBSztnQkFNQyxLQUFLO3NCQURYLEtBQUs7Z0JBNkJtQixTQUFTO3NCQUFqQyxZQUFZO3VCQUFDLFNBQVM7Z0JBQ0csVUFBVTtzQkFBbkMsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgQ2RrUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IENka0NvbHVtbkRlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX1NFTEVDVF9DT05GSUcsIE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW51bU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL21vZGVscy9lbnVtLW1ldGFkYXRhJztcclxuaW1wb3J0IHsgRW51bVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vc2VydmljZXMvZW51bS5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t2ZC1maWx0ZXItb3B0aW9uXW5nLXRlbXBsYXRlJyB9KVxyXG5leHBvcnQgY2xhc3MgVmRGaWx0ZXJPcHRpb25EaXJlY3RpdmUgZXh0ZW5kcyBDZGtQb3J0YWwge1xyXG5cdGNvbnN0cnVjdG9yKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcblx0XHRzdXBlcih0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lclJlZik7XHJcblx0fVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ21hdC1oZWFkZXItY2VsbFtmaWx0ZXItc2VsZWN0XSwgW21hdC1oZWFkZXItY2VsbF1bZmlsdGVyLXNlbGVjdF0sIFtmaWx0ZXItc2VsZWN0XScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsdGVyU2VsZWN0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE1BVF9TRUxFQ1RfQ09ORklHLFxyXG5cdFx0XHR1c2VWYWx1ZTogeyBvdmVybGF5UGFuZWxDbGFzczogJ3ZkLXNlbGVjdC1maWx0ZXItb3ZlcmxheScgfVxyXG5cdFx0fVxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlclNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cdC8qKlxyXG5cdCAqIFZkQ2hpcCB0ZW1wbGF0ZVxyXG5cdCAqL1xyXG5cdEBDb250ZW50Q2hpbGQoVmRGaWx0ZXJPcHRpb25EaXJlY3RpdmUpXHJcblx0cHVibGljIG9wdGlvblRlbXBsYXRlPzogVmRGaWx0ZXJPcHRpb25EaXJlY3RpdmU7XHJcblxyXG5cdC8qKiBcclxuXHQgKiBUaGUgc2VsZWN0IGVsZW1lbnQuXHJcblx0ICovXHJcblx0QFZpZXdDaGlsZChNYXRTZWxlY3QsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG5cdHB1YmxpYyBzZWxlY3RFbD86IE1hdFNlbGVjdDtcclxuXHJcblx0LyoqIFxyXG5cdCAqIFRoZSBzZWxlY3QgZWxlbWVudC5cclxuXHQgKi9cclxuXHRAVmlld0NoaWxkKCdmaWx0ZXJJbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG5cdHB1YmxpYyBmaWx0ZXJJbnB1dD86IEVsZW1lbnRSZWY7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlcHJlc2VudHMgYSB2YWx1ZSB0aGF0IGNoYW5nZXMgb3ZlciB0aW1lLiBcclxuXHQgKiBPYnNlcnZlcnMgY2FuIHN1YnNjcmliZSB0byB0aGUgc3ViamVjdCB0byByZWNlaXZlIHBkZiBmaWxlIGNoYW5nZXNcclxuXHQgKi9cclxuXHRwcml2YXRlIF9lbmRwb2ludENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGFueVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoPGFueT5bXSk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlcHJlc2VudHMgYSB2YWx1ZSB0aGF0IGNoYW5nZXMgb3ZlciB0aW1lLiBcclxuXHQgKi9cclxuXHRwcml2YXRlIF9lbnVtQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCg8YW55PltdKTtcclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyBwZGYgZW5kcG9pbnRcclxuXHQgKi9cclxuXHRnZXQgZW5kcG9pbnQoKTogYW55IHsgcmV0dXJuIHRoaXMuX2VuZHBvaW50Q2hhbmdlLnZhbHVlOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgcGRmIGVuZHBvaW50XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRzZXQgZW5kcG9pbnQoZW5kcG9pbnQ6IGFueSkgeyB0aGlzLl9lbmRwb2ludENoYW5nZS5uZXh0KEFycmF5LmlzQXJyYXkoZW5kcG9pbnQpID8gZW5kcG9pbnQuam9pbignJykgOiBlbmRwb2ludCk7IH1cclxuXHJcblx0LyoqXHJcblx0ICogX3BhcmFtczogYW55XHJcblx0ICovXHJcblx0cHVibGljIF9wYXJhbXM6IGFueSA9IHt9O1xyXG5cclxuXHQvKipcclxuXHQgKiBwYXJhbXM6IGFueVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHBhcmFtcygpIHsgcmV0dXJuIHRoaXMuX3BhcmFtczsgfVxyXG5cdHNldCBwYXJhbXMocXVlcnk6IGFueSkge1xyXG5cdFx0dGhpcy5fcGFyYW1zID0gcXVlcnk7XHJcblxyXG5cdFx0LyogUmVtb3ZlIGVtcHR5IHBhcmFtcyAqL1xyXG5cdFx0T2JqZWN0LmtleXModGhpcy5fcGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IHtcclxuXHRcdFx0aWYgKCh0aGlzLl9wYXJhbXNba2V5XSA9PSBudWxsIHx8IHRoaXMuX3BhcmFtc1trZXldID09ICcnIHx8IHRoaXMuX3BhcmFtc1trZXldID09ICd1bmRlZmluZWQnKSkge1xyXG5cdFx0XHRcdGRlbGV0ZSB0aGlzLl9wYXJhbXNba2V5XTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5fZW5kcG9pbnRDaGFuZ2UubmV4dChbdGhpcy5lbmRwb2ludCwgdGhpcy5wYXJhbXMsIHRoaXMucHJvamVjdGlvbl0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogX3Byb2plY3Rpb246IGFueVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBfcHJvamVjdGlvbj86IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogcHJvamVjdGlvbjogYW55XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRnZXQgcHJvamVjdGlvbigpOiBzdHJpbmcgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5fcHJvamVjdGlvbjsgfVxyXG5cdHNldCBwcm9qZWN0aW9uKHByb2plY3Rpb246IHN0cmluZykge1xyXG5cdFx0dGhpcy5fcHJvamVjdGlvbiA9IHByb2plY3Rpb247XHJcblx0XHR0aGlzLl9lbmRwb2ludENoYW5nZS5uZXh0KFt0aGlzLmVuZHBvaW50LCB0aGlzLnBhcmFtcywgdGhpcy5wcm9qZWN0aW9uXSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBzb3J0Qnk/XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgc29ydEJ5Pzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBTb3J0cyBvcHRpb25zXHJcblx0ICovXHJcblx0cHVibGljIF9zb3J0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBfZW51bUZpbHRlcjogRnVuY3Rpb25cclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgX2VudW1GaWx0ZXI/OiBGdW5jdGlvbjtcclxuXHJcblx0LyoqXHJcblx0ICogU29ydHMgb3B0aW9uc1xyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHNvcnRlZCgpIHsgcmV0dXJuIHRoaXMuX3NvcnRlZDsgfVxyXG5cdHNldCBzb3J0ZWQobXVsdGkpIHtcclxuXHRcdHRoaXMuX3NvcnRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShtdWx0aSk7XHJcblx0XHR0aGlzLl9lbmRwb2ludENoYW5nZS5uZXh0KFt0aGlzLmVuZHBvaW50LCB0aGlzLnBhcmFtcywgdGhpcy5wcm9qZWN0aW9uXSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBAcHJvcGVydHlcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBnZXQgZW51bUZpbHRlcigpOiBGdW5jdGlvbiB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl9lbnVtRmlsdGVyOyB9XHJcblx0cHVibGljIHNldCBlbnVtRmlsdGVyKGVudW1GaWx0ZXI6IEZ1bmN0aW9uKSB7IHRoaXMuX2VudW1GaWx0ZXIgPSBlbnVtRmlsdGVyOyB0aGlzLl9lbnVtQ2hhbmdlLm5leHQoW3RoaXMuX2VudW1GaWx0ZXJdKTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgbmFtZSBvZiB0aGUgZW5kcG9pbnRcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHByaXZhdGUgZW51bTogYW55O1xyXG5cclxuXHQvKipcclxuXHQgKiBNZXRhZGF0YSBmb3IgZW51bSB0eXBlcy5cclxuXHQgKiBAcHJvcGVydHlcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBlbnVtTWV0YWRhdGE/OiB7IFtrZXkgaW4gYW55XTogRW51bU1ldGFkYXRhIH07XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBrZXlcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBrZXk6IGFueSA9ICdpZCc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSB0ZXh0XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgdGV4dDogYW55ID0gJ25hbWUnO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgcHJlZml4XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgcHJlZml4OiBhbnkgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogbXVsdGlwbGU/XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogT3B0aW9uIGxpc3RcclxuXHQgKi9cclxuXHRwdWJsaWMgX29wdGlvbnM6IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogT3B0aW9uIGxpc3RcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBvcHRpb25zKCkgeyByZXR1cm4gdGhpcy5fb3B0aW9uczsgfVxyXG5cdHNldCBvcHRpb25zKHZhbHVlKSB7XHJcblx0XHR0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuX29wdGlvbnMgPSB2YWx1ZTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogZmlsdGVyZWQgb3B0aW9uIGxpc3RcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogZmlsdGVyYWJsZT9cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBmaWx0ZXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblx0LyoqXHJcblx0ICogRmllbGQgbmFtZVxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIGZpZWxkOiBzdHJpbmcgPSAnJztcclxuXHJcblx0LyoqXHJcblx0ICogcGxhY2Vob2xkZXI/OiBzdHJpbmdcclxuXHQgKiBQbGFjZWhvbGRlciBmb3IgdGhlIHVuZGVybHlpbmcgaW5wdXQgY29tcG9uZW50LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnRmlsdGVyLi4uJztcclxuXHJcblx0LyoqXHJcblx0ICogY2FjaGU/XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgY2FjaGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgaHR0cCBzZXJ2aWNlIGZyb20gdG8gZ2V0IHRoZSBkYXRhXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGh0dHA/OiBIdHRwQ2xpZW50O1xyXG5cclxuXHQvKipcclxuXHQgKiBTZXR0ZXJzIGFuZCBnZXR0ZXJzIGZvciB0aGUgc2VsZWN0IHZhbHVlXHJcblx0ICovXHJcblx0Z2V0IHZhbHVlKCk6IGFueSB7IHJldHVybiAodGhpcy50YWJsZS5kYXRhU291cmNlIGFzIGFueSlbJ2ZpZWxkRmlsdGVycyddW3RoaXMuZmllbGRdOyB9O1xyXG5cdHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuXHRcdGlmICh2ICE9ICh0aGlzLnRhYmxlLmRhdGFTb3VyY2UgYXMgYW55KVsnZmllbGRGaWx0ZXJzJ11bdGhpcy5maWVsZF0pIHtcclxuXHRcdFx0KHRoaXMudGFibGUuZGF0YVNvdXJjZSBhcyBhbnkpWydmaWVsZEZpbHRlcnMnXVt0aGlzLmZpZWxkXSA9IHY7XHJcblx0XHRcdCh0aGlzLnRhYmxlLmRhdGFTb3VyY2UgYXMgYW55KVsncGFnaW5hdG9yJ11bJ3BhZ2VJbmRleCddID0gMDtcclxuXHRcdFx0KHRoaXMudGFibGUuZGF0YVNvdXJjZSBhcyBhbnkpWydyZWxvYWQnXSgpO1xyXG5cdFx0XHR0aGlzLm9uQ2hhbmdlKHYpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogV2hldGhlciB0aGUgY29udHJvbCBpcyBmb2N1c2VkLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBmb2N1c2VkID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgZm9jdXNlZC5cclxuXHQgKi9cclxuXHRASG9zdExpc3RlbmVyKFwiZm9jdXNpblwiKSBvbkZvY3VzSW4oKSB7IHRoaXMuZm9jdXNlZCA9IHRydWU7IH1cclxuXHRASG9zdExpc3RlbmVyKFwiZm9jdXNvdXRcIikgb25Gb2N1c091dCgpIHsgdGhpcy5mb2N1c2VkID0gZmFsc2U7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gaW5qZWN0b3JcclxuXHQgKiBAcGFyYW0gdGFibGUgXHJcblx0ICogQHBhcmFtIGNvbHVtblxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHRhYmxlOiBNYXRUYWJsZTxhbnk+LCBwcml2YXRlIGNvbHVtbjogQ2RrQ29sdW1uRGVmKSB7XHJcblx0XHR0aGlzLmZpZWxkID0gdGhpcy5jb2x1bW4ubmFtZS5yZXBsYWNlKCdmaWx0ZXIuJywgJycpO1xyXG5cclxuXHRcdGlmICghdGhpcy5lbnVtKSB7XHJcblx0XHRcdHRoaXMuaHR0cCA9IGluamVjdG9yLmdldChIdHRwQ2xpZW50KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGRhdGEtYm91bmQgcHJvcGVydGllcyBvZiBhIGRpcmVjdGl2ZSBhcmUgaW5pdGlhbGl6ZWQuXHJcblx0ICovXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHRpZiAodGhpcy5lbnVtKSB7XHJcblx0XHRcdHRoaXMuZmlsdGVyYWJsZSA9IHRoaXMuZW51bU1ldGFkYXRhICE9IG51bGw7XHJcblx0XHRcdHRoaXMub3B0aW9ucyA9IHRoaXMuZW51bU1ldGFkYXRhID8gRW51bVNlcnZpY2UuZ2V0T3JkZXJlZFZhbHVlcyh0aGlzLmVudW0sIHRoaXMuZW51bU1ldGFkYXRhKSA6IEVudW1TZXJ2aWNlLnRvQXJyYXkodGhpcy5lbnVtLCB0aGlzLnByZWZpeCk7XHJcblxyXG5cdFx0XHQvKiBBcHBseSBlbnVtIGZpbHRlcnMgKi9cclxuXHRcdFx0aWYgKHRoaXMuX2VudW1GaWx0ZXIgJiYgdGhpcy5vcHRpb25zKSB7XHJcblx0XHRcdFx0dGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcih0aGlzLl9lbnVtRmlsdGVyKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmICh0aGlzLmh0dHAgJiYgdGhpcy5lbmRwb2ludCkge1xyXG5cdFx0XHR0aGlzLl9lbmRwb2ludENoYW5nZS5zdWJzY3JpYmUoXyA9PiB7XHJcblx0XHRcdFx0bGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuXHRcdFx0XHRpZiAodGhpcy5jYWNoZSkge1xyXG5cdFx0XHRcdFx0aGVhZGVycy5zZXQoJ0NsaWVudC1DYWNoZScsICdZZXMnKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qIEluaXQgcGFyYW1zLCBpZiBudWxsICovXHJcblx0XHRcdFx0dGhpcy5fcGFyYW1zIHx8PSB7fTtcclxuXHJcblx0XHRcdFx0LyogQWRkIHByb2plY3Rpb24sIGlmIGFueSAqL1xyXG5cdFx0XHRcdGlmICh0aGlzLnByb2plY3Rpb24pIHtcclxuXHRcdFx0XHRcdHRoaXMuX3BhcmFtcy5wcm9qZWN0aW9uID0gdGhpcy5wcm9qZWN0aW9uO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LyogQWRkIHNvcnRpbmcgKi9cclxuXHRcdFx0XHR2YXIgdXJsID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh0aGlzLmVuZHBvaW50KTtcclxuXHRcdFx0XHRpZiAoIXRoaXMuX3BhcmFtcy5zb3J0QnkgJiYgIXVybC5oYXMoJ3NvcnRCeScpICYmICh0aGlzLnNvcnRCeSB8fCB0aGlzLnNvcnRlZCkpIHtcclxuXHRcdFx0XHRcdHRoaXMuX3BhcmFtcy5zb3J0QnkgPSB0aGlzLnNvcnRCeSB8fCB0aGlzLnRleHQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR0aGlzLmh0dHAhLmdldCh0aGlzLmVuZHBvaW50LCB7IHBhcmFtczogdGhpcy5fcGFyYW1zLCBoZWFkZXJzOiBoZWFkZXJzIH0pLnN1YnNjcmliZSh4ID0+IHtcclxuXHRcdFx0XHRcdHRoaXMub3B0aW9ucyA9IHg7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQSBjYWxsYmFjayBtZXRob2QgdGhhdCBpcyBpbnZva2VkIGltbWVkaWF0ZWx5IGFmdGVyXHJcblx0ICogQW5ndWxhciBoYXMgY29tcGxldGVkIGluaXRpYWxpemF0aW9uIG9mIGEgY29tcG9uZW50J3Mgdmlldy5cclxuXHQgKiBJdCBpcyBpbnZva2VkIG9ubHkgb25jZSB3aGVuIHRoZSB2aWV3IGlzIGluc3RhbnRpYXRlZC5cclxuXHQgKlxyXG5cdCAqL1xyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2VsZWN0RWw/Lm9wZW5lZENoYW5nZT8uc3Vic2NyaWJlKHggPT4ge1xyXG5cdFx0XHRpZiAoeCAmJiB0aGlzLmZpbHRlcmFibGUpIHtcclxuXHRcdFx0XHR0aGlzLmZpbHRlcklucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogV3JpdGUgYSBuZXcgdmFsdWUgdG8gdGhlIGVsZW1lbnQuXHJcblx0ICovXHJcblx0d3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLnZhbHVlID0gdmFsdWU7XHJcblx0XHR0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEhhbmRlbHMgZmlsdGVyIGV2ZW50XHJcblx0ICogQHBhcmFtICRldmVudCBcclxuXHQgKi9cclxuXHRwdWJsaWMgaGFuZGxlRmlsdGVyKCRldmVudDogRXZlbnQpOiB2b2lkIHtcclxuXHRcdGxldCBzZWFyY2hUZXh0OiBzdHJpbmcgPSAoKCRldmVudD8udGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZSA/PyAnJykudG9Mb3dlckNhc2UoKTtcclxuXHRcdHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcigoeDogYW55KSA9PiB4W3RoaXMudGV4dF0/LnRvTG93ZXJDYXNlKCkuc2VhcmNoKHNlYXJjaFRleHQpID4gLTEpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2V0IHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIGNoYW5nZSBldmVudC5cclxuXHQgKi9cclxuXHRyZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBTZXQgdGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGEgdG91Y2ggZXZlbnQuXHJcblx0ICovXHJcblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBDYWxsZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBhIGNoYW5nZSBldmVudC5cclxuXHQgKi9cclxuXHRvbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuXHJcblx0LyoqXHJcblx0ICogQ2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSB0b3VjaCBldmVudC5cclxuXHQgKi9cclxuXHRvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcbn0iLCI8bWF0LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieydmaWx0ZXItbm90LWVtcHR5JzogdmFsdWV9XCIgZmxleD5cclxuICAgIDxzcGFuIG1hdFByZWZpeCAqbmdJZj1cIiF2YWx1ZSAmJiB2YWx1ZSE9MCAmJiAhZm9jdXNlZFwiPjxtYXQtaWNvbiBmb250U2V0PVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPm1hbmFnZV9zZWFyY2g8L21hdC1pY29uPjwvc3Bhbj5cclxuICAgIDxtYXQtc2VsZWN0IHR5cGU9XCJpbnB1dFwiIFsobmdNb2RlbCldPVwidmFsdWVcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiBmbGV4PlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImZpbHRlcmFibGVcIiBhcHBlYXJhbmNlPVwiZmlsbFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBmbGV4PlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgI2ZpbHRlcklucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJGaWx0ZXIuLi5cIiBjbGFzcz1cInZkLXNlbGVjdC1maWx0ZXJcIiAoa2V5dXApPVwiaGFuZGxlRmlsdGVyKCRldmVudClcIiBmbGV4PlxyXG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJmaWx0ZXJJbnB1dD8udmFsdWVcIiAoY2xpY2spPVwiZmlsdGVySW5wdXQhLnZhbHVlID0gJyc7IGhhbmRsZUZpbHRlcigkZXZlbnQpO1wiIGZvbnRTZXQ9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCIhbXVsdGlwbGVcIiBjbGFzcz1cInRjLWdyZXktNTAwXCI+PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtb3B0aW9uIGxldC1maXJzdD1cImZpcnN0XCIgbmdGb3IgW25nRm9yT2ZdPVwiZmlsdGVyZWRPcHRpb25zXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb25ba2V5XVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhb3B0aW9uVGVtcGxhdGU/LnRlbXBsYXRlUmVmXCIgaTE4bj1cIkBAc2VsZWN0aW9uXCI+e29wdGlvbi5uYW1lLCBzZWxlY3QsIG9wdGlvbiB7b3B0aW9ufSBvdGhlciB7e3tvcHRpb25bdGV4dF19fX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uVGVtcGxhdGU/LnRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGUhLnRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgb3B0aW9uOiBvcHRpb24gfVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
@@ -1,3 +1,2 @@
1
- export * from './components/filter-select.component';
2
1
  export * from './table.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3RhYmxlL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci1zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90YWJsZS5tb2R1bGUnO1xyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL3RhYmxlL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFibGUubW9kdWxlJztcclxuXHJcbiJdfQ==
@@ -24,7 +24,7 @@ import { VdDynamicTableComponent } from './components/dynamic-table/dynamic-tabl
24
24
  import { FilterClearComponent } from './components/filter-clear.component';
25
25
  import { FilterDateComponent } from './components/filter-date.component';
26
26
  import { FilterInputComponent } from './components/filter-input.component';
27
- import { FilterSelectComponent, VdFilterOptionDirective } from './components/filter-select.component';
27
+ import { FilterSelectComponent, VdFilterOptionDirective } from './components/filter-select/filter-select.component';
28
28
  import { DataSourceFilterDirective } from './directives/data-source-filter.directive';
29
29
  import { VdTableFieldDirective } from './directives/vd-table-field.directive';
30
30
  import { PaginatorIntl } from './paginator-intl';
@@ -43,7 +43,7 @@ export { TableColumnConfig } from './models/table-column-config';
43
43
  export { TableDefinition } from './models/table-definition';
44
44
  export { TableDataSource } from './table.data-source';
45
45
  export { TableStaticDataSource } from './table.static-data-source';
46
- export { DataSourceFilterDirective, FilterClearComponent, FilterDateComponent, FilterInputComponent, VdDynamicTableComponent, VdTableFieldDirective };
46
+ export { DataSourceFilterDirective, FilterClearComponent, FilterDateComponent, FilterInputComponent, FilterSelectComponent, VdDynamicTableComponent, VdFilterOptionDirective, VdTableFieldDirective };
47
47
  const DECLARATIONS = [
48
48
  FilterInputComponent,
49
49
  FilterSelectComponent,
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
154
154
  ]
155
155
  }]
156
156
  }] });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFN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QUFDLFlBQVksQ0FBQztvQkFDNUIsU0FBUyxFQUFFO3dCQUNWLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7cUJBQ3REO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrVGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9ySW50bCwgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBWZENvbW1vbk1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24ubW9kdWxlJztcclxuaW1wb3J0IHsgVmRMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFZkU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBWZER5bmFtaWNUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsdGVyQ2xlYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyLWNsZWFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbHRlckRhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyLWRhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsdGVySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbHRlclNlbGVjdENvbXBvbmVudCwgVmRGaWx0ZXJPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhU291cmNlRmlsdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGEtc291cmNlLWZpbHRlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBWZFRhYmxlRmllbGREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmQtdGFibGUtZmllbGQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUGFnaW5hdG9ySW50bCB9IGZyb20gJy4vcGFnaW5hdG9yLWludGwnO1xyXG5cclxuZXhwb3J0IHsgdGFibGVDb2x1bW5zTWV0YWRhdGFLZXksIHRhYmxlRGVmaW5pdGlvbk1ldGFkYXRhS2V5IH0gZnJvbSAnLi9jb25zdGFudHMvY29uc3RhbnRzJztcclxuZXhwb3J0IHsgRmlsdGVyT3BlcmF0b3IgfSBmcm9tICcuL2VudW1zL2ZpbHRlci1vcGVyYXRvcic7XHJcbmV4cG9ydCB7IEdyaWQgfSBmcm9tICcuL2VudW1zL2dyaWQnO1xyXG5leHBvcnQgeyBUYWJsZUNvbHVtblR5cGUgfSBmcm9tICcuL2VudW1zL3RhYmxlLWNvbHVtbi10eXBlJztcclxuZXhwb3J0IHsgQ29sdW1uLCBDb2x1bW5PYmplY3QsIFRhYmxlIH0gZnJvbSAnLi9mdW5jdGlvbnMvZGVjb3JhdG9ycyc7XHJcbmV4cG9ydCB7IGdldFRhYmxlRGVmaW5pdGlvbiB9IGZyb20gJy4vZnVuY3Rpb25zL2Z1bmN0aW9ucyc7XHJcbmV4cG9ydCB7IEZhY2V0IH0gZnJvbSAnLi9tb2RlbHMvZmFjZXQnO1xyXG5leHBvcnQgeyBGYWNldFZhbHVlIH0gZnJvbSAnLi9tb2RlbHMvZmFjZXQtdmFsdWUnO1xyXG5leHBvcnQgeyBQYWdpbmF0aW9uIH0gZnJvbSAnLi9tb2RlbHMvcGFnaW5hdGlvbic7XHJcbmV4cG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi9tb2RlbHMvdGFibGUtY29sdW1uJztcclxuZXhwb3J0IHsgVGFibGVDb2x1bW5Db25maWcgfSBmcm9tICcuL21vZGVscy90YWJsZS1jb2x1bW4tY29uZmlnJztcclxuZXhwb3J0IHsgVGFibGVEZWZpbml0aW9uIH0gZnJvbSAnLi9tb2RlbHMvdGFibGUtZGVmaW5pdGlvbic7XHJcbmV4cG9ydCB7IFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4vdGFibGUuZGF0YS1zb3VyY2UnO1xyXG5leHBvcnQgeyBUYWJsZVN0YXRpY0RhdGFTb3VyY2UgfSBmcm9tICcuL3RhYmxlLnN0YXRpYy1kYXRhLXNvdXJjZSc7XHJcblxyXG5leHBvcnQge1xyXG5cdERhdGFTb3VyY2VGaWx0ZXJEaXJlY3RpdmUsIEZpbHRlckNsZWFyQ29tcG9uZW50LFxyXG5cdEZpbHRlckRhdGVDb21wb25lbnQsXHJcblx0RmlsdGVySW5wdXRDb21wb25lbnQsIFZkRHluYW1pY1RhYmxlQ29tcG9uZW50LFxyXG5cdFZkVGFibGVGaWVsZERpcmVjdGl2ZVxyXG59O1xyXG5cclxuY29uc3QgREVDTEFSQVRJT05TID0gW1xyXG5cdEZpbHRlcklucHV0Q29tcG9uZW50LFxyXG5cdEZpbHRlclNlbGVjdENvbXBvbmVudCxcclxuXHRGaWx0ZXJDbGVhckNvbXBvbmVudCxcclxuXHRGaWx0ZXJEYXRlQ29tcG9uZW50LFxyXG5cdERhdGFTb3VyY2VGaWx0ZXJEaXJlY3RpdmUsXHJcblx0VmRGaWx0ZXJPcHRpb25EaXJlY3RpdmUsXHJcblx0VmREeW5hbWljVGFibGVDb21wb25lbnQsXHJcblx0VmRUYWJsZUZpZWxkRGlyZWN0aXZlXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdFZkTGF5b3V0TW9kdWxlLFxyXG5cdFx0VmRDb21tb25Nb2R1bGUsXHJcblx0XHRWZFNlbGVjdE1vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0UmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuXHRcdE1hdEJ1dHRvbk1vZHVsZSxcclxuXHRcdE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuXHRcdE1hdFNlbGVjdE1vZHVsZSxcclxuXHRcdE1hdEljb25Nb2R1bGUsXHJcblx0XHRNYXRJbnB1dE1vZHVsZSxcclxuXHRcdE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcblx0XHRNYXRUYWJsZU1vZHVsZSxcclxuXHRcdE1hdFNvcnRNb2R1bGUsXHJcblx0XHRDZGtUYWJsZU1vZHVsZSxcclxuXHRcdE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG5cdFx0TWF0Q2hlY2tib3hNb2R1bGUsXHJcblx0XHRNYXRCdXR0b25Nb2R1bGUsXHJcblx0XHRNYXRNZW51TW9kdWxlLFxyXG5cdFx0TWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcblx0XHRNYXRQYWdpbmF0b3JNb2R1bGUsXHJcblx0XHRNYXRUb29sdGlwTW9kdWxlLFxyXG5cdFx0TWF0VG9vbGJhck1vZHVsZSxcclxuXHRdLFxyXG5cdGV4cG9ydHM6IFtERUNMQVJBVElPTlNdLFxyXG5cdGRlY2xhcmF0aW9uczogW0RFQ0xBUkFUSU9OU10sXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7IHByb3ZpZGU6IE1hdFBhZ2luYXRvckludGwsIHVzZUNsYXNzOiBQYWdpbmF0b3JJbnRsIH1cclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZFRhYmxlTW9kdWxlIHsgfSJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFN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QUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzVCLFNBQVMsRUFBRTt3QkFDVixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUN0RDtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1RhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvckludGwsIE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgVmRDb21tb25Nb2R1bGUgfSBmcm9tICcuLi9jb21tb24vY29tbW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFZkTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBWZFNlbGVjdE1vZHVsZSB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3QubW9kdWxlJztcclxuaW1wb3J0IHsgVmREeW5hbWljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbHRlckNsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci1jbGVhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci1kYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbHRlcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJTZWxlY3RDb21wb25lbnQsIFZkRmlsdGVyT3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci1zZWxlY3QvZmlsdGVyLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhU291cmNlRmlsdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGEtc291cmNlLWZpbHRlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBWZFRhYmxlRmllbGREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmQtdGFibGUtZmllbGQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUGFnaW5hdG9ySW50bCB9IGZyb20gJy4vcGFnaW5hdG9yLWludGwnO1xyXG5cclxuZXhwb3J0IHsgdGFibGVDb2x1bW5zTWV0YWRhdGFLZXksIHRhYmxlRGVmaW5pdGlvbk1ldGFkYXRhS2V5IH0gZnJvbSAnLi9jb25zdGFudHMvY29uc3RhbnRzJztcclxuZXhwb3J0IHsgRmlsdGVyT3BlcmF0b3IgfSBmcm9tICcuL2VudW1zL2ZpbHRlci1vcGVyYXRvcic7XHJcbmV4cG9ydCB7IEdyaWQgfSBmcm9tICcuL2VudW1zL2dyaWQnO1xyXG5leHBvcnQgeyBUYWJsZUNvbHVtblR5cGUgfSBmcm9tICcuL2VudW1zL3RhYmxlLWNvbHVtbi10eXBlJztcclxuZXhwb3J0IHsgQ29sdW1uLCBDb2x1bW5PYmplY3QsIFRhYmxlIH0gZnJvbSAnLi9mdW5jdGlvbnMvZGVjb3JhdG9ycyc7XHJcbmV4cG9ydCB7IGdldFRhYmxlRGVmaW5pdGlvbiB9IGZyb20gJy4vZnVuY3Rpb25zL2Z1bmN0aW9ucyc7XHJcbmV4cG9ydCB7IEZhY2V0IH0gZnJvbSAnLi9tb2RlbHMvZmFjZXQnO1xyXG5leHBvcnQgeyBGYWNldFZhbHVlIH0gZnJvbSAnLi9tb2RlbHMvZmFjZXQtdmFsdWUnO1xyXG5leHBvcnQgeyBQYWdpbmF0aW9uIH0gZnJvbSAnLi9tb2RlbHMvcGFnaW5hdGlvbic7XHJcbmV4cG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi9tb2RlbHMvdGFibGUtY29sdW1uJztcclxuZXhwb3J0IHsgVGFibGVDb2x1bW5Db25maWcgfSBmcm9tICcuL21vZGVscy90YWJsZS1jb2x1bW4tY29uZmlnJztcclxuZXhwb3J0IHsgVGFibGVEZWZpbml0aW9uIH0gZnJvbSAnLi9tb2RlbHMvdGFibGUtZGVmaW5pdGlvbic7XHJcbmV4cG9ydCB7IFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4vdGFibGUuZGF0YS1zb3VyY2UnO1xyXG5leHBvcnQgeyBUYWJsZVN0YXRpY0RhdGFTb3VyY2UgfSBmcm9tICcuL3RhYmxlLnN0YXRpYy1kYXRhLXNvdXJjZSc7XHJcblxyXG5leHBvcnQge1xyXG5cdERhdGFTb3VyY2VGaWx0ZXJEaXJlY3RpdmUsIEZpbHRlckNsZWFyQ29tcG9uZW50LFxyXG5cdEZpbHRlckRhdGVDb21wb25lbnQsIEZpbHRlcklucHV0Q29tcG9uZW50LCBGaWx0ZXJTZWxlY3RDb21wb25lbnQsIFZkRHluYW1pY1RhYmxlQ29tcG9uZW50LCBWZEZpbHRlck9wdGlvbkRpcmVjdGl2ZSwgVmRUYWJsZUZpZWxkRGlyZWN0aXZlXHJcbn07XHJcblxyXG5jb25zdCBERUNMQVJBVElPTlMgPSBbXHJcblx0RmlsdGVySW5wdXRDb21wb25lbnQsXHJcblx0RmlsdGVyU2VsZWN0Q29tcG9uZW50LFxyXG5cdEZpbHRlckNsZWFyQ29tcG9uZW50LFxyXG5cdEZpbHRlckRhdGVDb21wb25lbnQsXHJcblx0RGF0YVNvdXJjZUZpbHRlckRpcmVjdGl2ZSxcclxuXHRWZEZpbHRlck9wdGlvbkRpcmVjdGl2ZSxcclxuXHRWZER5bmFtaWNUYWJsZUNvbXBvbmVudCxcclxuXHRWZFRhYmxlRmllbGREaXJlY3RpdmVcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0aW1wb3J0czogW1xyXG5cdFx0Q29tbW9uTW9kdWxlLFxyXG5cdFx0VmRMYXlvdXRNb2R1bGUsXHJcblx0XHRWZENvbW1vbk1vZHVsZSxcclxuXHRcdFZkU2VsZWN0TW9kdWxlLFxyXG5cdFx0Rm9ybXNNb2R1bGUsXHJcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cdFx0TWF0QnV0dG9uTW9kdWxlLFxyXG5cdFx0TWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG5cdFx0TWF0U2VsZWN0TW9kdWxlLFxyXG5cdFx0TWF0SWNvbk1vZHVsZSxcclxuXHRcdE1hdElucHV0TW9kdWxlLFxyXG5cdFx0TWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuXHRcdE1hdFRhYmxlTW9kdWxlLFxyXG5cdFx0TWF0U29ydE1vZHVsZSxcclxuXHRcdENka1RhYmxlTW9kdWxlLFxyXG5cdFx0TWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcblx0XHRNYXRDaGVja2JveE1vZHVsZSxcclxuXHRcdE1hdEJ1dHRvbk1vZHVsZSxcclxuXHRcdE1hdE1lbnVNb2R1bGUsXHJcblx0XHRNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuXHRcdE1hdFBhZ2luYXRvck1vZHVsZSxcclxuXHRcdE1hdFRvb2x0aXBNb2R1bGUsXHJcblx0XHRNYXRUb29sYmFyTW9kdWxlLFxyXG5cdF0sXHJcblx0ZXhwb3J0czogW0RFQ0xBUkFUSU9OU10sXHJcblx0ZGVjbGFyYXRpb25zOiBbREVDTEFSQVRJT05TXSxcclxuXHRwcm92aWRlcnM6IFtcclxuXHRcdHsgcHJvdmlkZTogTWF0UGFnaW5hdG9ySW50bCwgdXNlQ2xhc3M6IFBhZ2luYXRvckludGwgfVxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZkVGFibGVNb2R1bGUgeyB9Il19
@@ -68,7 +68,7 @@ import { trigger, state, style, AUTO_STYLE, transition, group, query, animateChi
68
68
  import * as i3$3 from '@angular/cdk/a11y';
69
69
  import * as i2$1 from '@angular/material/core';
70
70
  import { mixinErrorState, MAT_DATE_FORMATS, ErrorStateMatcher, MatNativeDateModule } from '@angular/material/core';
71
- import { CdkPortal, TemplatePortalDirective } from '@angular/cdk/portal';
71
+ import { CdkPortal } from '@angular/cdk/portal';
72
72
  import { SelectionModel } from '@angular/cdk/collections';
73
73
  import { MatExpansionPanel } from '@angular/material/expansion';
74
74
  import * as i2$3 from '@angular/material/snack-bar';
@@ -13281,7 +13281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
13281
13281
  args: ['keydown', ['$event']]
13282
13282
  }] } });
13283
13283
 
13284
- class VdFilterOptionDirective extends TemplatePortalDirective {
13284
+ class VdFilterOptionDirective extends CdkPortal {
13285
13285
  constructor(templateRef, viewContainerRef) {
13286
13286
  super(templateRef, viewContainerRef);
13287
13287
  }
@@ -13568,43 +13568,11 @@ class FilterSelectComponent {
13568
13568
  provide: MAT_SELECT_CONFIG,
13569
13569
  useValue: { overlayPanelClass: 'vd-select-filter-overlay' }
13570
13570
  }
13571
- ], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdFilterOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelect, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], ngImport: i0, template: `
13572
- <mat-form-field [ngClass]="{'filter-not-empty': value}" flex>
13573
- <span matPrefix *ngIf="!value && value!=0 && !focused"><mat-icon fontSet="material-symbols-outlined">manage_search</mat-icon></span>
13574
- <mat-select type="input" [(ngModel)]="value" [multiple]="multiple" flex>
13575
- <mat-form-field *ngIf="filterable" appearance="fill" subscriptSizing="dynamic" flex>
13576
- <input matInput #filterInput type="text" placeholder="Filter..." class="vd-select-filter" (keyup)="handleFilter($event)" flex>
13577
- <mat-icon *ngIf="filterInput?.value" (click)="filterInput!.value = ''; handleFilter($event);" fontSet="material-symbols-outlined">close</mat-icon>
13578
- </mat-form-field>
13579
- <mat-option *ngIf="!multiple" class="tc-grey-500"></mat-option>
13580
- <ng-template let-option let-first="first" ngFor [ngForOf]="filteredOptions">
13581
- <mat-option [value]="option[key]">
13582
- <span *ngIf="!optionTemplate?.templateRef" i18n="@@selection">{option.name, select, option {option} other {{{option[text]}}}}</span>
13583
- <ng-template *ngIf="optionTemplate?.templateRef" [ngTemplateOutlet]="optionTemplate!.templateRef" [ngTemplateOutletContext]="{ option: option }"></ng-template>
13584
- </mat-option>
13585
- </ng-template>
13586
- </mat-select>
13587
- </mat-form-field>`, isInline: true, styles: ["::ng-deep .vd-select-filter-overlay{min-width:150px}:is() ::ng-deep .mat-mdc-select-panel{padding-top:0!important}:is() .mat-mdc-form-field{position:sticky;top:0;z-index:100;width:100%}:is() .mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:0!important}:is() .mat-mdc-form-field mat-icon{cursor:pointer}mat-icon{opacity:.7}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i5$3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
13571
+ ], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdFilterOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelect, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], ngImport: i0, template: "<mat-form-field [ngClass]=\"{'filter-not-empty': value}\" flex>\r\n <span matPrefix *ngIf=\"!value && value!=0 && !focused\"><mat-icon fontSet=\"material-symbols-outlined\">manage_search</mat-icon></span>\r\n <mat-select type=\"input\" [(ngModel)]=\"value\" [multiple]=\"multiple\" flex>\r\n <mat-form-field *ngIf=\"filterable\" appearance=\"fill\" subscriptSizing=\"dynamic\" flex>\r\n <input matInput #filterInput type=\"text\" placeholder=\"Filter...\" class=\"vd-select-filter\" (keyup)=\"handleFilter($event)\" flex>\r\n <mat-icon *ngIf=\"filterInput?.value\" (click)=\"filterInput!.value = ''; handleFilter($event);\" fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </mat-form-field>\r\n <mat-option *ngIf=\"!multiple\" class=\"tc-grey-500\"></mat-option>\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-option [value]=\"option[key]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option.name, select, option {option} other {{{option[text]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate!.templateRef\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n</mat-form-field>", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i5$3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
13588
13572
  }
13589
13573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilterSelectComponent, decorators: [{
13590
13574
  type: Component,
13591
- args: [{ selector: 'mat-header-cell[filter-select], [mat-header-cell][filter-select], [filter-select]', template: `
13592
- <mat-form-field [ngClass]="{'filter-not-empty': value}" flex>
13593
- <span matPrefix *ngIf="!value && value!=0 && !focused"><mat-icon fontSet="material-symbols-outlined">manage_search</mat-icon></span>
13594
- <mat-select type="input" [(ngModel)]="value" [multiple]="multiple" flex>
13595
- <mat-form-field *ngIf="filterable" appearance="fill" subscriptSizing="dynamic" flex>
13596
- <input matInput #filterInput type="text" placeholder="Filter..." class="vd-select-filter" (keyup)="handleFilter($event)" flex>
13597
- <mat-icon *ngIf="filterInput?.value" (click)="filterInput!.value = ''; handleFilter($event);" fontSet="material-symbols-outlined">close</mat-icon>
13598
- </mat-form-field>
13599
- <mat-option *ngIf="!multiple" class="tc-grey-500"></mat-option>
13600
- <ng-template let-option let-first="first" ngFor [ngForOf]="filteredOptions">
13601
- <mat-option [value]="option[key]">
13602
- <span *ngIf="!optionTemplate?.templateRef" i18n="@@selection">{option.name, select, option {option} other {{{option[text]}}}}</span>
13603
- <ng-template *ngIf="optionTemplate?.templateRef" [ngTemplateOutlet]="optionTemplate!.templateRef" [ngTemplateOutletContext]="{ option: option }"></ng-template>
13604
- </mat-option>
13605
- </ng-template>
13606
- </mat-select>
13607
- </mat-form-field>`, providers: [
13575
+ args: [{ selector: 'mat-header-cell[filter-select], [mat-header-cell][filter-select], [filter-select]', providers: [
13608
13576
  {
13609
13577
  provide: NG_VALUE_ACCESSOR,
13610
13578
  useExisting: forwardRef((() => FilterSelectComponent)),
@@ -13614,7 +13582,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
13614
13582
  provide: MAT_SELECT_CONFIG,
13615
13583
  useValue: { overlayPanelClass: 'vd-select-filter-overlay' }
13616
13584
  }
13617
- ], styles: ["::ng-deep .vd-select-filter-overlay{min-width:150px}:is() ::ng-deep .mat-mdc-select-panel{padding-top:0!important}:is() .mat-mdc-form-field{position:sticky;top:0;z-index:100;width:100%}:is() .mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:0!important}:is() .mat-mdc-form-field mat-icon{cursor:pointer}mat-icon{opacity:.7}\n"] }]
13585
+ ], template: "<mat-form-field [ngClass]=\"{'filter-not-empty': value}\" flex>\r\n <span matPrefix *ngIf=\"!value && value!=0 && !focused\"><mat-icon fontSet=\"material-symbols-outlined\">manage_search</mat-icon></span>\r\n <mat-select type=\"input\" [(ngModel)]=\"value\" [multiple]=\"multiple\" flex>\r\n <mat-form-field *ngIf=\"filterable\" appearance=\"fill\" subscriptSizing=\"dynamic\" flex>\r\n <input matInput #filterInput type=\"text\" placeholder=\"Filter...\" class=\"vd-select-filter\" (keyup)=\"handleFilter($event)\" flex>\r\n <mat-icon *ngIf=\"filterInput?.value\" (click)=\"filterInput!.value = ''; handleFilter($event);\" fontSet=\"material-symbols-outlined\">close</mat-icon>\r\n </mat-form-field>\r\n <mat-option *ngIf=\"!multiple\" class=\"tc-grey-500\"></mat-option>\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-option [value]=\"option[key]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option.name, select, option {option} other {{{option[text]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate!.templateRef\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n</mat-form-field>" }]
13618
13586
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1$4.MatTable }, { type: i2$2.CdkColumnDef }], propDecorators: { optionTemplate: [{
13619
13587
  type: ContentChild,
13620
13588
  args: [VdFilterOptionDirective]