@bcgov/nr-ngx-component-lib 0.0.4 → 0.0.6
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.
- package/components/button/button.component.d.ts +3 -1
- package/components/filter-select/filter-select.component.d.ts +4 -1
- package/components/filters-panel/filters-panel.component.d.ts +6 -1
- package/components/icon/icon.component.d.ts +16 -0
- package/components/list-attachments/list-attachments.component.d.ts +1 -2
- package/components/row-list-pagination/row-list-pagination.component.d.ts +3 -2
- package/esm2022/components/button/button.component.mjs +11 -6
- package/esm2022/components/device-view/device-view.component.mjs +4 -7
- package/esm2022/components/expansion-panel/expansion-panel.component.mjs +9 -9
- package/esm2022/components/filter-date/filter-date.component.mjs +6 -6
- package/esm2022/components/filter-search/filter-search.component.mjs +5 -5
- package/esm2022/components/filter-select/filter-select.component.mjs +21 -9
- package/esm2022/components/filters-panel/filters-panel.component.mjs +24 -6
- package/esm2022/components/icon/icon.component.mjs +44 -0
- package/esm2022/components/list-attachments/list-attachments.component.mjs +12 -16
- package/esm2022/components/list-event-history/list-event-history.component.mjs +3 -3
- package/esm2022/components/page-header/page-header.component.mjs +2 -2
- package/esm2022/components/row-list-mobile/row-list-mobile.component.mjs +2 -2
- package/esm2022/components/row-list-pagination/row-list-pagination.component.mjs +7 -4
- package/esm2022/components/row-list-sorting/row-list-sorting.component.mjs +1 -1
- package/esm2022/components/snackbar/snackbar.component.mjs +4 -4
- package/esm2022/nr-ngx-component-lib.module.mjs +19 -7
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/bcgov-nr-ngx-component-lib.mjs +154 -70
- package/fesm2022/bcgov-nr-ngx-component-lib.mjs.map +1 -1
- package/nr-ngx-component-lib.module.d.ts +28 -22
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -2,8 +2,8 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, in
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/material/button";
|
|
4
4
|
import * as i2 from "@angular/material/form-field";
|
|
5
|
-
import * as i3 from "@angular/material/
|
|
6
|
-
import * as i4 from "
|
|
5
|
+
import * as i3 from "@angular/material/input";
|
|
6
|
+
import * as i4 from "../icon/icon.component";
|
|
7
7
|
export class FilterSearchComponent {
|
|
8
8
|
constructor() {
|
|
9
9
|
this.label = 'Search';
|
|
@@ -28,13 +28,13 @@ export class FilterSearchComponent {
|
|
|
28
28
|
this.inputEl.nativeElement.focus();
|
|
29
29
|
}
|
|
30
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterSearchComponent, selector: "nrcl-filter-search", inputs: { label: "label", placeholder: "placeholder", hint: "hint", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.has-value": "hasValue" } }, viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<mat-form-field\n floatLabel=\"auto\"\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n>\n <mat-label>{{ label }}</mat-label>\n\n <input class=\"search-input\" #input\n matInput\n [value]=\"value || ''\"\n (input)=\"onInput( $event )\"\n [placeholder]=\"placeholder\"\n >\n\n @if ( hint ) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if ( value ) {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n (click)=\"onCancelClick($event); $event.stopPropagation()\"\n >\n <
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterSearchComponent, selector: "nrcl-filter-search", inputs: { label: "label", placeholder: "placeholder", hint: "hint", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.has-value": "hasValue" } }, viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<mat-form-field\n floatLabel=\"auto\"\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n>\n <mat-label>{{ label }}</mat-label>\n\n <input class=\"search-input\" #input\n matInput\n [value]=\"value || ''\"\n (input)=\"onInput( $event )\"\n [placeholder]=\"placeholder\"\n >\n\n @if ( hint ) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if ( value ) {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n (click)=\"onCancelClick($event); $event.stopPropagation()\"\n >\n <nrcl-icon>close</nrcl-icon>\n </button>\n } \n</mat-form-field>\n", styles: ["::ng-deep :root{--nrcl-filter-search-width: calc( var( --nrcl-filter-width-default ) * 2 + 8px )}:host{--mat-form-field-container-height: calc( var( --nrcl-filter-height-default ) - 4px );--mat-form-field-container-vertical-padding: 8px;--mat-form-field-container-text-size: 15px;--mdc-outlined-text-field-focus-label-text-color: black;--mdc-outlined-text-field-hover-label-text-color: black;width:var(--nrcl-filter-search-width, calc(var(--nrcl-filter-width-default) * 2 + 8px));display:block}:host.has-value{--mdc-outlined-text-field-label-text-color: black}:host ::ng-deep .mat-mdc-form-field{width:100%}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:#fff;height:var(--nrcl-filter-height-default)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{width:var(--nrcl-filter-search-width, calc(var(--nrcl-filter-width-default) * 2 + 8px))}:host .cancel{padding:0;width:calc(var(--nrcl-filter-height-default) - 2px);height:calc(var(--nrcl-filter-height-default) - 2px);display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.IconComponent, selector: "nrcl-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
32
|
}
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterSearchComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ selector: "nrcl-filter-search", changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
36
36
|
'[class.has-value]': "hasValue"
|
|
37
|
-
}, template: "<mat-form-field\n floatLabel=\"auto\"\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n>\n <mat-label>{{ label }}</mat-label>\n\n <input class=\"search-input\" #input\n matInput\n [value]=\"value || ''\"\n (input)=\"onInput( $event )\"\n [placeholder]=\"placeholder\"\n >\n\n @if ( hint ) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if ( value ) {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n (click)=\"onCancelClick($event); $event.stopPropagation()\"\n >\n <
|
|
37
|
+
}, template: "<mat-form-field\n floatLabel=\"auto\"\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n>\n <mat-label>{{ label }}</mat-label>\n\n <input class=\"search-input\" #input\n matInput\n [value]=\"value || ''\"\n (input)=\"onInput( $event )\"\n [placeholder]=\"placeholder\"\n >\n\n @if ( hint ) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if ( value ) {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n (click)=\"onCancelClick($event); $event.stopPropagation()\"\n >\n <nrcl-icon>close</nrcl-icon>\n </button>\n } \n</mat-form-field>\n", styles: ["::ng-deep :root{--nrcl-filter-search-width: calc( var( --nrcl-filter-width-default ) * 2 + 8px )}:host{--mat-form-field-container-height: calc( var( --nrcl-filter-height-default ) - 4px );--mat-form-field-container-vertical-padding: 8px;--mat-form-field-container-text-size: 15px;--mdc-outlined-text-field-focus-label-text-color: black;--mdc-outlined-text-field-hover-label-text-color: black;width:var(--nrcl-filter-search-width, calc(var(--nrcl-filter-width-default) * 2 + 8px));display:block}:host.has-value{--mdc-outlined-text-field-label-text-color: black}:host ::ng-deep .mat-mdc-form-field{width:100%}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:#fff;height:var(--nrcl-filter-height-default)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{width:var(--nrcl-filter-search-width, calc(var(--nrcl-filter-width-default) * 2 + 8px))}:host .cancel{padding:0;width:calc(var(--nrcl-filter-height-default) - 2px);height:calc(var(--nrcl-filter-height-default) - 2px);display:flex;justify-content:center;align-items:center}\n"] }]
|
|
38
38
|
}], propDecorators: { label: [{
|
|
39
39
|
type: Input
|
|
40
40
|
}], placeholder: [{
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
49
49
|
type: ViewChild,
|
|
50
50
|
args: ['input']
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9maWx0ZXItc2VhcmNoL2ZpbHRlci1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZmlsdGVyLXNlYXJjaC9maWx0ZXItc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFXdkIsTUFBTSxPQUFPLHFCQUFxQjtJQVRsQztRQVVhLFVBQUssR0FBRyxRQUFRLENBQUE7UUFDaEIsZ0JBQVcsR0FBRyxXQUFXLENBQUE7UUFJeEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSW5ELGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7S0FvQmxEO0lBbEJHLGVBQWUsQ0FBRSxHQUFJO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBRSxHQUFHLENBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsT0FBTyxDQUFFLEVBQUU7UUFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFBO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUUsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3RDLENBQUM7K0dBOUJRLHFCQUFxQjttR0FBckIscUJBQXFCLG9WQ3JCbEMsc3JCQTRCQTs7NEZEUGEscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLG1CQUFtQixFQUFFLFVBQVU7cUJBQ2xDOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFFZSxPQUFPO3NCQUE1QixTQUFTO3VCQUFFLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KCB7XG4gICAgc2VsZWN0b3I6IFwibnJjbC1maWx0ZXItc2VhcmNoXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9maWx0ZXItc2VhcmNoLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmw6IFwiLi9maWx0ZXItc2VhcmNoLmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmhhcy12YWx1ZV0nOiBcImhhc1ZhbHVlXCJcbiAgICB9XG59IClcbmV4cG9ydCBjbGFzcyBGaWx0ZXJTZWFyY2hDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJ1NlYXJjaCdcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdTZWFyY2guLi4nXG4gICAgQElucHV0KCkgaGludFxuICAgIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmdcblxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQFZpZXdDaGlsZCggJ2lucHV0JyApIGlucHV0RWw6IEVsZW1lbnRSZWZcblxuICAgIGhhc1ZhbHVlID0gZmFsc2VcbiAgICBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdCggQ2hhbmdlRGV0ZWN0b3JSZWYgKVxuXG4gICAgZW1pdFZhbHVlQ2hhbmdlKCB2YWw/ICkge1xuICAgICAgICB0aGlzLmhhc1ZhbHVlID0gISF2YWxcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KCB2YWwgKVxuICAgIH1cblxuICAgIG9uSW5wdXQoIGV2ICkge1xuICAgICAgICB0aGlzLnZhbHVlID0gZXY/LnRhcmdldD8udmFsdWVcbiAgICAgICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2UoIGV2Py50YXJnZXQ/LnZhbHVlIClcbiAgICB9XG5cbiAgICBvbkNhbmNlbENsaWNrKCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbFxuICAgICAgICB0aGlzLmVtaXRWYWx1ZUNoYW5nZSgpXG4gICAgfVxuXG4gICAgZm9jdXMoKSB7XG4gICAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGRcbiAgICBmbG9hdExhYmVsPVwiYXV0b1wiXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIlxuPlxuICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cblxuICAgIDxpbnB1dCBjbGFzcz1cInNlYXJjaC1pbnB1dFwiICNpbnB1dFxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBbdmFsdWVdPVwidmFsdWUgfHwgJydcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCggJGV2ZW50IClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgID5cblxuICAgIEBpZiAoIGhpbnQgKSB7XG4gICAgICAgIDxtYXQtaGludD57eyBoaW50IH19PC9tYXQtaGludD5cbiAgICB9XG5cbiAgICBAaWYgKCB2YWx1ZSApIHtcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhbmNlbFwiXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2soJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5yY2wtaWNvbj5jbG9zZTwvbnJjbC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9ICAgICAgICAgICAgICAgIFxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -8,10 +8,10 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
import * as i1 from "@angular/forms";
|
|
9
9
|
import * as i2 from "@angular/material/button";
|
|
10
10
|
import * as i3 from "@angular/material/form-field";
|
|
11
|
-
import * as i4 from "@angular/material/
|
|
12
|
-
import * as i5 from "@angular/material/
|
|
13
|
-
import * as i6 from "@angular/material/
|
|
14
|
-
import * as i7 from "
|
|
11
|
+
import * as i4 from "@angular/material/input";
|
|
12
|
+
import * as i5 from "@angular/material/list";
|
|
13
|
+
import * as i6 from "@angular/material/tooltip";
|
|
14
|
+
import * as i7 from "../icon/icon.component";
|
|
15
15
|
/**
|
|
16
16
|
* A filter select component that allows users to select multiple options from a list.
|
|
17
17
|
*
|
|
@@ -28,6 +28,7 @@ export class FilterSelectComponent {
|
|
|
28
28
|
this.tooltips = true;
|
|
29
29
|
this.summary = true;
|
|
30
30
|
this.clear = true;
|
|
31
|
+
this.filter = true;
|
|
31
32
|
this.valueChange = new EventEmitter();
|
|
32
33
|
this.floatLabel = 'auto';
|
|
33
34
|
this.isFiltered = false;
|
|
@@ -88,7 +89,11 @@ export class FilterSelectComponent {
|
|
|
88
89
|
return;
|
|
89
90
|
this.isOpen = true;
|
|
90
91
|
this.floatLabel = 'always';
|
|
91
|
-
this.
|
|
92
|
+
if (this.filter) {
|
|
93
|
+
this.inputValue = '';
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
}
|
|
92
97
|
// Create overlay
|
|
93
98
|
const positionStrategy = this.overlay
|
|
94
99
|
.position()
|
|
@@ -219,19 +224,23 @@ export class FilterSelectComponent {
|
|
|
219
224
|
onInputFocus() {
|
|
220
225
|
this.open();
|
|
221
226
|
}
|
|
227
|
+
onCloseClick() {
|
|
228
|
+
this.close();
|
|
229
|
+
}
|
|
222
230
|
descriptionForCode(code) {
|
|
223
231
|
return this.options.find(o => o.code == code)?.description;
|
|
224
232
|
}
|
|
225
233
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
226
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterSelectComponent, selector: "nrcl-filter-select", inputs: { label: "label", placeholder: "placeholder", hint: "hint", options: "options", value: "value", selectMax: ["selectMax", "selectMax", numberAttribute], tooltips: ["tooltips", "tooltips", booleanAttribute], summary: ["summary", "summary", booleanAttribute], clear: ["clear", "clear", booleanAttribute] }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.has-value": "hasValue", "class.is-open": "isOpen", "class.is-closed": "!isOpen" } }, viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, read: ElementRef }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "overlayTemplate", first: true, predicate: ["overlayTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field #trigger\n [floatLabel]=\"floatLabel\"\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n>\n @if ( label ) {\n <mat-label>{{ label }}</mat-label>\n }\n\n <input class=\"filter-input\" #searchInput\n matInput \n [placeholder]=\"placeholder\" \n [value]=\"inputValue\"\n (input)=\"onInput( $event )\"\n (keydown.escape)=\"close()\"\n (focus)=\"onInputFocus()\"\n [matTooltip]=\"inputValue\"\n >\n\n @if ( isOpen ) {\n <mat-icon
|
|
234
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterSelectComponent, selector: "nrcl-filter-select", inputs: { label: "label", placeholder: "placeholder", hint: "hint", options: "options", value: "value", selectMax: ["selectMax", "selectMax", numberAttribute], tooltips: ["tooltips", "tooltips", booleanAttribute], summary: ["summary", "summary", booleanAttribute], clear: ["clear", "clear", booleanAttribute], filter: ["filter", "filter", booleanAttribute] }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.has-value": "hasValue", "class.is-open": "isOpen", "class.is-closed": "!isOpen", "class.use-filter": "filter" } }, viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, read: ElementRef }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "overlayTemplate", first: true, predicate: ["overlayTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field #trigger\n [floatLabel]=\"floatLabel\"\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n>\n @if ( label ) {\n <mat-label>{{ label }}</mat-label>\n }\n\n <input class=\"filter-input\" #searchInput\n matInput \n [placeholder]=\"placeholder\" \n [value]=\"inputValue\"\n (input)=\"onInput( $event )\"\n (keydown.escape)=\"close()\"\n (focus)=\"onInputFocus()\"\n [matTooltip]=\"inputValue\"\n [readonly]=\"!filter\"\n >\n\n @if ( isOpen ) {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n (click)=\"onCloseClick($event); $event.stopPropagation()\"\n >\n <nrcl-icon>arrow_drop_up</nrcl-icon>\n </button>\n }\n @else if ( selection?.value?.length > 0 && clear ) {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n (click)=\"onCancelClick($event); $event.stopPropagation()\"\n >\n <nrcl-icon>close</nrcl-icon>\n </button>\n }\n @else {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n >\n <nrcl-icon>arrow_drop_down</nrcl-icon>\n </button>\n } \n\n @if ( hint ) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n</mat-form-field> \n\n<ng-template #overlayTemplate>\n <div class=\"filter-select-options\" [class.multiple]=\"!single\" [class.single]=\"single\">\n @if ( !isFiltered && !single && summary ) {\n @if ( selection?.value?.length > 0 && selection?.value?.length < options?.length ) {\n <div class=\"selection-overview\">\n <div class=\"summary\">{{ selection?.value?.length }} selected of {{ options?.length }}</div>\n\n <mat-selection-list\n (selectionChange)=\"onUpperSelectionChange( $event )\"\n >\n @for ( code of selection?.value; track code ) {\n <mat-list-option \n [value]=\"code\" \n togglePosition=\"before\"\n selected\n [matTooltip]=\"tooltips ? descriptionForCode( code ) : null\"\n matTooltipPosition=\"after\"\n >\n {{ descriptionForCode( code ) }}\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n }\n\n @if ( selection?.value?.length == options?.length ) {\n <div class=\"selection-overview\">\n <div class=\"summary\">All options selected</div>\n </div>\n }\n }\n\n <mat-selection-list\n [formControl]=\"selection\"\n (selectionChange)=\"onSelectionChange( $event )\"\n [multiple]=\"!single\"\n hideSingleSelectionIndicator\n >\n @for ( option of options; track option ) {\n <mat-list-option [class.hide]=\"!matchesFilter( option )\"\n [value]=\"option.code\" \n togglePosition=\"before\" \n [matTooltip]=\"tooltips ? option.description : null\"\n matTooltipPosition=\"after\" \n >\n {{ option.description }}\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-filter-select-width: var( --nrcl-filter-width-default )}:host{--mat-form-field-container-height: calc( var( --nrcl-filter-height-default ) - 4px );--mat-form-field-container-vertical-padding: 8px;--mat-form-field-container-text-size: 15px;--mdc-outlined-text-field-focus-label-text-color: black;--mdc-outlined-text-field-hover-label-text-color: black;width:var(--nrcl-filter-select-width, var(--nrcl-filter-width-default));display:block}:host.has-value{--mdc-outlined-text-field-label-text-color: black}:host ::ng-deep .mat-mdc-form-field{width:100%}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:#fff;height:var(--nrcl-filter-height-default);cursor:pointer}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{width:var(--nrcl-filter-select-width, var(--nrcl-filter-width-default))}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .filter-input{cursor:pointer}:host.is-open.use-filter ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .filter-input{cursor:text}:host .cancel{padding:0;width:calc(var(--nrcl-filter-height-default) - 2px);height:calc(var(--nrcl-filter-height-default) - 2px);display:flex;justify-content:center;align-items:center;cursor:default}::ng-deep .filter-select-options{--mdc-list-list-item-selected-container-color: #007bff;font-family:var(--nrcl-font-family);overflow-x:hidden;overflow-y:auto;padding:0;background:#fff;color:#000;border:1px solid #aaa;border-radius:4px;font-size:var(--nrcl-font-size);pointer-events:all;box-shadow:0 4px 5px #00000026;display:block;width:100%}::ng-deep .filter-select-options .selection-overview{background-color:#eee;border-bottom:1px solid black}::ng-deep .filter-select-options .selection-overview .summary{padding-top:4px;padding-left:4px;font-size:14px;color:#000000bc;font-family:var(--nrcl-font-family)}::ng-deep .filter-select-options .mat-mdc-selection-list{padding-top:0;padding-bottom:0}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option{height:30px;font-size:var(--nrcl-font-size);padding-left:4px;padding-right:8px}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option.hide{display:none}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option .mdc-list-item__start{margin:0;padding:0 8px}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option .mdc-list-item__primary-text{flex-grow:1;font-size:var(--nrcl-font-size)}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option.mdc-list-item--selected .mdc-list-item__primary-text{color:#fff}::ng-deep .filter-select-options.single .mat-mdc-selection-list .mat-mdc-list-option{padding-left:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i7.IconComponent, selector: "nrcl-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
227
235
|
}
|
|
228
236
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterSelectComponent, decorators: [{
|
|
229
237
|
type: Component,
|
|
230
238
|
args: [{ selector: "nrcl-filter-select", changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
231
239
|
'[class.has-value]': "hasValue",
|
|
232
240
|
'[class.is-open]': "isOpen",
|
|
233
|
-
'[class.is-closed]': "!isOpen"
|
|
234
|
-
|
|
241
|
+
'[class.is-closed]': "!isOpen",
|
|
242
|
+
'[class.use-filter]': "filter",
|
|
243
|
+
}, template: "<mat-form-field #trigger\n [floatLabel]=\"floatLabel\"\n appearance=\"outline\"\n subscriptSizing=\"dynamic\"\n>\n @if ( label ) {\n <mat-label>{{ label }}</mat-label>\n }\n\n <input class=\"filter-input\" #searchInput\n matInput \n [placeholder]=\"placeholder\" \n [value]=\"inputValue\"\n (input)=\"onInput( $event )\"\n (keydown.escape)=\"close()\"\n (focus)=\"onInputFocus()\"\n [matTooltip]=\"inputValue\"\n [readonly]=\"!filter\"\n >\n\n @if ( isOpen ) {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n (click)=\"onCloseClick($event); $event.stopPropagation()\"\n >\n <nrcl-icon>arrow_drop_up</nrcl-icon>\n </button>\n }\n @else if ( selection?.value?.length > 0 && clear ) {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n (click)=\"onCancelClick($event); $event.stopPropagation()\"\n >\n <nrcl-icon>close</nrcl-icon>\n </button>\n }\n @else {\n <button class=\"cancel\"\n mat-icon-button\n matSuffix\n >\n <nrcl-icon>arrow_drop_down</nrcl-icon>\n </button>\n } \n\n @if ( hint ) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n</mat-form-field> \n\n<ng-template #overlayTemplate>\n <div class=\"filter-select-options\" [class.multiple]=\"!single\" [class.single]=\"single\">\n @if ( !isFiltered && !single && summary ) {\n @if ( selection?.value?.length > 0 && selection?.value?.length < options?.length ) {\n <div class=\"selection-overview\">\n <div class=\"summary\">{{ selection?.value?.length }} selected of {{ options?.length }}</div>\n\n <mat-selection-list\n (selectionChange)=\"onUpperSelectionChange( $event )\"\n >\n @for ( code of selection?.value; track code ) {\n <mat-list-option \n [value]=\"code\" \n togglePosition=\"before\"\n selected\n [matTooltip]=\"tooltips ? descriptionForCode( code ) : null\"\n matTooltipPosition=\"after\"\n >\n {{ descriptionForCode( code ) }}\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n }\n\n @if ( selection?.value?.length == options?.length ) {\n <div class=\"selection-overview\">\n <div class=\"summary\">All options selected</div>\n </div>\n }\n }\n\n <mat-selection-list\n [formControl]=\"selection\"\n (selectionChange)=\"onSelectionChange( $event )\"\n [multiple]=\"!single\"\n hideSingleSelectionIndicator\n >\n @for ( option of options; track option ) {\n <mat-list-option [class.hide]=\"!matchesFilter( option )\"\n [value]=\"option.code\" \n togglePosition=\"before\" \n [matTooltip]=\"tooltips ? option.description : null\"\n matTooltipPosition=\"after\" \n >\n {{ option.description }}\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n</ng-template>\n", styles: ["::ng-deep :root{--nrcl-filter-select-width: var( --nrcl-filter-width-default )}:host{--mat-form-field-container-height: calc( var( --nrcl-filter-height-default ) - 4px );--mat-form-field-container-vertical-padding: 8px;--mat-form-field-container-text-size: 15px;--mdc-outlined-text-field-focus-label-text-color: black;--mdc-outlined-text-field-hover-label-text-color: black;width:var(--nrcl-filter-select-width, var(--nrcl-filter-width-default));display:block}:host.has-value{--mdc-outlined-text-field-label-text-color: black}:host ::ng-deep .mat-mdc-form-field{width:100%}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:#fff;height:var(--nrcl-filter-height-default);cursor:pointer}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{width:var(--nrcl-filter-select-width, var(--nrcl-filter-width-default))}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .filter-input{cursor:pointer}:host.is-open.use-filter ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .filter-input{cursor:text}:host .cancel{padding:0;width:calc(var(--nrcl-filter-height-default) - 2px);height:calc(var(--nrcl-filter-height-default) - 2px);display:flex;justify-content:center;align-items:center;cursor:default}::ng-deep .filter-select-options{--mdc-list-list-item-selected-container-color: #007bff;font-family:var(--nrcl-font-family);overflow-x:hidden;overflow-y:auto;padding:0;background:#fff;color:#000;border:1px solid #aaa;border-radius:4px;font-size:var(--nrcl-font-size);pointer-events:all;box-shadow:0 4px 5px #00000026;display:block;width:100%}::ng-deep .filter-select-options .selection-overview{background-color:#eee;border-bottom:1px solid black}::ng-deep .filter-select-options .selection-overview .summary{padding-top:4px;padding-left:4px;font-size:14px;color:#000000bc;font-family:var(--nrcl-font-family)}::ng-deep .filter-select-options .mat-mdc-selection-list{padding-top:0;padding-bottom:0}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option{height:30px;font-size:var(--nrcl-font-size);padding-left:4px;padding-right:8px}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option.hide{display:none}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option .mdc-list-item__start{margin:0;padding:0 8px}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option .mdc-list-item__primary-text{flex-grow:1;font-size:var(--nrcl-font-size)}::ng-deep .filter-select-options .mat-mdc-selection-list .mat-mdc-list-option.mdc-list-item--selected .mdc-list-item__primary-text{color:#fff}::ng-deep .filter-select-options.single .mat-mdc-selection-list .mat-mdc-list-option{padding-left:12px}\n"] }]
|
|
235
244
|
}], propDecorators: { label: [{
|
|
236
245
|
type: Input
|
|
237
246
|
}], placeholder: [{
|
|
@@ -254,6 +263,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
254
263
|
}], clear: [{
|
|
255
264
|
type: Input,
|
|
256
265
|
args: [{ transform: booleanAttribute }]
|
|
266
|
+
}], filter: [{
|
|
267
|
+
type: Input,
|
|
268
|
+
args: [{ transform: booleanAttribute }]
|
|
257
269
|
}], valueChange: [{
|
|
258
270
|
type: Output
|
|
259
271
|
}], trigger: [{
|
|
@@ -266,4 +278,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
266
278
|
type: ViewChild,
|
|
267
279
|
args: ['overlayTemplate']
|
|
268
280
|
}] } });
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9maWx0ZXItc2VsZWN0L2ZpbHRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZmlsdGVyLXNlbGVjdC9maWx0ZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxFQUVmLE1BQU0sRUFHTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBSXhDOzs7Ozs7OztHQVFHO0FBWUgsTUFBTSxPQUFPLHFCQUFxQjtJQVhsQztRQWFhLGdCQUFXLEdBQUcsV0FBVyxDQUFBO1FBSU8sY0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNaLGFBQVEsR0FBRyxJQUFJLENBQUE7UUFDZixZQUFPLEdBQUcsSUFBSSxDQUFBO1FBQ2QsVUFBSyxHQUFHLElBQUksQ0FBQTtRQUU1QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7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QUFFLEVBQUUsV0FBVyxDQUFBO0lBQ2hFLENBQUM7K0dBeFBRLHFCQUFxQjttR0FBckIscUJBQXFCLGdMQU1ULGVBQWUsc0NBQ2YsZ0JBQWdCLG1DQUNoQixnQkFBZ0IsNkJBQ2hCLGdCQUFnQix1UUFtQk4sVUFBVSxvUEMxRTdDLDZ5R0EyRkE7OzRGRDdDYSxxQkFBcUI7a0JBWGpDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsbUJBQW1CLEVBQUUsVUFBVTt3QkFDL0IsaUJBQWlCLEVBQUUsUUFBUTt3QkFDM0IsbUJBQW1CLEVBQUUsU0FBUztxQkFDakM7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ21DLFNBQVM7c0JBQWpELEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUNJLFFBQVE7c0JBQWpELEtBQUs7dUJBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0csT0FBTztzQkFBaEQsS0FBSzt1QkFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRyxLQUFLO3NCQUE5QyxLQUFLO3VCQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU3QixXQUFXO3NCQUFwQixNQUFNO2dCQWlCdUMsT0FBTztzQkFBcEQsU0FBUzt1QkFBRSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNmLFdBQVc7c0JBQXRDLFNBQVM7dUJBQUUsYUFBYTtnQkFDTyxlQUFlO3NCQUE5QyxTQUFTO3VCQUFFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2xpc3RcIjtcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IENvZGVEZXNjcmlwdGlvbiB9IGZyb20gXCIuLi8uLi91dGlscy9jb2RlLXRhYmxlLnV0aWxcIjtcblxuXG4vKipcbiAqIEEgZmlsdGVyIHNlbGVjdCBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG11bHRpcGxlIG9wdGlvbnMgZnJvbSBhIGxpc3QuXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIE11bHRpLXNlbGVjdCB3aXRoIG9wdGlvbmFsIG1heGltdW0gc2VsZWN0aW9uIGxpbWl0XG4gKiAtIFNlYXJjaC9maWx0ZXIgZnVuY3Rpb25hbGl0eVxuICogLSBUb29sdGlwcyBmb3IgbG9uZyBkZXNjcmlwdGlvbnNcbiAqIC0gU3VtbWFyeSBkaXNwbGF5IG9mIHNlbGVjdGVkIGl0ZW1zXG4gKi9cbkBDb21wb25lbnQoIHtcbiAgICBzZWxlY3RvcjogXCJucmNsLWZpbHRlci1zZWxlY3RcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2ZpbHRlci1zZWxlY3QuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybDogXCIuL2ZpbHRlci1zZWxlY3QuY29tcG9uZW50LnNjc3NcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuaGFzLXZhbHVlXSc6IFwiaGFzVmFsdWVcIixcbiAgICAgICAgJ1tjbGFzcy5pcy1vcGVuXSc6IFwiaXNPcGVuXCIsXG4gICAgICAgICdbY2xhc3MuaXMtY2xvc2VkXSc6IFwiIWlzT3BlblwiXG4gICAgfVxufSApXG5leHBvcnQgY2xhc3MgRmlsdGVyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBsYWJlbFxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ0ZpbHRlci4uLidcbiAgICBASW5wdXQoKSBoaW50XG4gICAgQElucHV0KCkgb3B0aW9uczogQ29kZURlc2NyaXB0aW9uW11cbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nW11cbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSApIHNlbGVjdE1heCA9IDBcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0gKSB0b29sdGlwcyA9IHRydWVcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0gKSBzdW1tYXJ5ID0gdHJ1ZVxuICAgIEBJbnB1dCggeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSApIGNsZWFyID0gdHJ1ZVxuXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICAgIGZsb2F0TGFiZWwgPSAnYXV0bydcbiAgICBpbnB1dFZhbHVlXG4gICAgb3BlbmluZ1ZhbHVlXG4gICAgaXNGaWx0ZXJlZCA9IGZhbHNlXG4gICAgaXNPcGVuID0gZmFsc2VcbiAgICBoYXNWYWx1ZSA9IGZhbHNlXG4gICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZlxuICAgIHNlbGVjdGlvbiA9IG5ldyBGb3JtQ29udHJvbCgpXG4gICAgbWF0Y2g6ICggb3B0aW9uOiBDb2RlRGVzY3JpcHRpb24gKSA9PiBib29sZWFuID0gKCBvICkgPT4gdHJ1ZVxuICAgIGNsaWNrU3Vic2NyaXB0aW9uXG5cbiAgICBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdCggQ2hhbmdlRGV0ZWN0b3JSZWYgKVxuICAgIG92ZXJsYXkgPSBpbmplY3QoIE92ZXJsYXkgKVxuICAgIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoIFZpZXdDb250YWluZXJSZWYgKVxuXG4gICAgQFZpZXdDaGlsZCggJ3RyaWdnZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSApIHRyaWdnZXIhOiBFbGVtZW50UmVmXG4gICAgQFZpZXdDaGlsZCggJ2ZpbHRlcklucHV0JyApIGZpbHRlcklucHV0ITogRWxlbWVudFJlZlxuICAgIEBWaWV3Q2hpbGQoICdvdmVybGF5VGVtcGxhdGUnICkgb3ZlcmxheVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PlxuXG4gICAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XG4gICAgICAgIGlmICggdGhpcy5pc09wZW4gKSByZXR1cm5cblxuICAgICAgICBpZiAoIGNoYW5nZXMub3B0aW9ucyApIHtcbiAgICAgICAgICAgIGxldCBwdiA9IEpTT04uc3RyaW5naWZ5KCBjaGFuZ2VzLm9wdGlvbnMucHJldmlvdXNWYWx1ZSApXG4gICAgICAgICAgICBsZXQgY3YgPSBKU09OLnN0cmluZ2lmeSggY2hhbmdlcy5vcHRpb25zLmN1cnJlbnRWYWx1ZSApXG4gICAgICAgICAgICBpZiAoIHB2ICE9IGN2ICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCBudWxsIClcbiAgICAgICAgICAgICAgICB0aGlzLnNldElucHV0VG9TZWxlY3Rpb24oKVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggY2hhbmdlcy52YWx1ZSApIHtcbiAgICAgICAgICAgIGxldCBwdiA9IEpTT04uc3RyaW5naWZ5KCBjaGFuZ2VzLnZhbHVlLnByZXZpb3VzVmFsdWUgKVxuICAgICAgICAgICAgbGV0IGN2ID0gSlNPTi5zdHJpbmdpZnkoIGNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlIClcbiAgICAgICAgICAgIGlmICggcHYgIT0gY3YgKSB7XG4gICAgICAgICAgICAgICAgaWYgKCB0aGlzLnZhbHVlICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc1ZhbHVlID0gdGhpcy52YWx1ZS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCB0aGlzLnZhbHVlIClcbiAgICAgICAgICAgICAgICAgICAgaWYgKCB0aGlzLnNlbGVjdE1heCA+IDEgJiYgdGhpcy52YWx1ZS5sZW5ndGggPj0gdGhpcy5zZWxlY3RNYXggKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5kaXNhYmxlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmVuYWJsZSgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzVmFsdWUgPSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZXRWYWx1ZSggbnVsbCApXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmVuYWJsZSgpXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXIoKVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRUb1NlbGVjdGlvbigpXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBzaW5nbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdE1heCA9PSAxXG4gICAgfVxuXG4gICAgZW1pdFZhbHVlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLmhhc1ZhbHVlID0gKCB0aGlzLnNlbGVjdGlvbi52YWx1ZSB8fCBbXSApLmxlbmd0aCA+IDBcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KCB0aGlzLnNlbGVjdGlvbi52YWx1ZSB8fCBbXSApXG4gICAgfVxuXG4gICAgb3BlbigpIHtcbiAgICAgICAgaWYgKCB0aGlzLmlzT3BlbiApIHJldHVyblxuXG4gICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZVxuICAgICAgICB0aGlzLmZsb2F0TGFiZWwgPSAnYWx3YXlzJ1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSAnJ1xuXG4gICAgICAgIC8vIENyZWF0ZSBvdmVybGF5XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyggdGhpcy50cmlnZ2VyIClcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKCBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WTogMFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WTogMFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0gKVxuICAgICAgICAgICAgLndpdGhQdXNoKCBmYWxzZSApXG5cbiAgICAgICAgY29uc3Qgc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKCB7XG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBtYXhXaWR0aDogdGhpcy50cmlnZ2VyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiAyLFxuICAgICAgICAgICAgbWluV2lkdGg6IHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgbWF4SGVpZ2h0OiAzMDAsXG4gICAgICAgIH0gKVxuXG4gICAgICAgIC8vIEF0dGFjaCB0ZW1wbGF0ZVxuICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoIHRoaXMub3ZlcmxheVRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYgKVxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKCBwb3J0YWwgKVxuXG4gICAgICAgIC8vIExpc3RlbiB0byBkb2N1bWVudCBjbGlja3MgYWZ0ZXIgYSBzbWFsbCBkZWxheSB0byBhdm9pZCBjbG9zaW5nIGltbWVkaWF0ZWx5XG4gICAgICAgIHNldFRpbWVvdXQoICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oIGRvY3VtZW50LCAnY2xpY2snIClcbiAgICAgICAgICAgICAgICAucGlwZSggZmlsdGVyKCAoIGV2ZW50OiBNb3VzZUV2ZW50ICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGlja1RhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2VyRWwgPSB0aGlzLnRyaWdnZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBvdmVybGF5RWwgPSB0aGlzLm92ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gT25seSBjbG9zZSBpZiBjbGljayBpcyBvdXRzaWRlIGJvdGggdHJpZ2dlciBhbmQgb3ZlcmxheVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gIXRyaWdnZXJFbC5jb250YWlucyhjbGlja1RhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgICYmICFvdmVybGF5RWw/LmNvbnRhaW5zKGNsaWNrVGFyZ2V0KVxuICAgICAgICAgICAgICAgIH0gKSApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSggKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKClcbiAgICAgICAgICAgICAgICB9IClcbiAgICAgICAgfSApXG5cbiAgICAgICAgLy8gRm9jdXMgaW5wdXQgYWZ0ZXIgb3ZlcmxheSBpcyBhdHRhY2hlZFxuICAgICAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcklucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgICAgIC8vIHByZXZlbnQgbGlzdCBmcm9tIHNjcm9sbGluZyB3aGVuIHNlbGVjdGlvbiBjaGFuZ2VzXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY2hpbGRyZW5bMF0uc2Nyb2xsKCAwLCAxIClcbiAgICAgICAgfSApXG5cbiAgICAgICAgdGhpcy5zZXRGaWx0ZXIoKVxuXG4gICAgICAgIHRoaXMub3BlbmluZ1ZhbHVlID0gSlNPTi5zdHJpbmdpZnkoIHRoaXMuc2VsZWN0aW9uLnZhbHVlIClcbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgaWYgKCAhdGhpcy5pc09wZW4gKSByZXR1cm5cblxuICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlXG4gICAgICAgIHRoaXMuc2V0SW5wdXRUb1NlbGVjdGlvbigpXG4gICAgICAgIHRoaXMuZmxvYXRMYWJlbCA9ICdhdXRvJ1xuXG4gICAgICAgIGlmICggdGhpcy5jbGlja1N1YnNjcmlwdGlvbiApIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgICAgICAgICAgdGhpcy5jbGlja1N1YnNjcmlwdGlvbiA9IG51bGxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggdGhpcy5vdmVybGF5UmVmICkge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKVxuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbFxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcblxuICAgICAgICBsZXQgY2xvc2luZ1ZhbHVlID0gSlNPTi5zdHJpbmdpZnkoIHRoaXMuc2VsZWN0aW9uLnZhbHVlIClcbiAgICAgICAgaWYgKCB0aGlzLm9wZW5pbmdWYWx1ZSAhPSBjbG9zaW5nVmFsdWUgKVxuICAgICAgICAgICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2UoKVxuICAgIH1cblxuICAgIHNldElucHV0VG9TZWxlY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuc2VsZWN0aW9uPy52YWx1ZT8ubWFwKCBjID0+IHRoaXMuZGVzY3JpcHRpb25Gb3JDb2RlKCBjICkgKS5qb2luKCAnLCAnICkgfHwgbnVsbFxuICAgIH1cblxuICAgIG9uSW5wdXQoIGV2Pykge1xuICAgICAgICB0aGlzLnNldEZpbHRlciggZXY/LnRhcmdldD8udmFsdWUgKVxuICAgIH1cblxuICAgIHNldEZpbHRlciggdGV4dD86IHN0cmluZyApIHtcbiAgICAgICAgbGV0IHQgPSB0ZXh0Py50cmltKCkudG9Mb3dlckNhc2UoKVxuXG4gICAgICAgIGlmICggdCApIHtcbiAgICAgICAgICAgIHRoaXMuaXNGaWx0ZXJlZCA9IHRydWVcbiAgICAgICAgICAgIHRoaXMubWF0Y2ggPSAoIG9wdGlvbiApID0+IG9wdGlvbi5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCB0IClcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNGaWx0ZXJlZCA9IGZhbHNlXG4gICAgICAgICAgICB0aGlzLm1hdGNoID0gKCBvICkgPT4gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG5cbiAgICBtYXRjaGVzRmlsdGVyKCBvcHRpb246IENvZGVEZXNjcmlwdGlvbiApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF0Y2goIG9wdGlvbiApXG4gICAgfVxuXG4gICAgb25TZWxlY3Rpb25DaGFuZ2UoIGV2ICkge1xuICAgICAgICBpZiAoIHRoaXMuc2luZ2xlICkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcklucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggdGhpcy5zZWxlY3RNYXggPiAxICkge1xuICAgICAgICAgICAgaWYgKCB0aGlzLnNlbGVjdGlvbi52YWx1ZS5sZW5ndGggPj0gdGhpcy5zZWxlY3RNYXggKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uZGlzYWJsZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5lbmFibGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG5cbiAgICBvblVwcGVyU2VsZWN0aW9uQ2hhbmdlKCBldjogTWF0U2VsZWN0aW9uTGlzdENoYW5nZSApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBsZXQgY29kZXMgPSB0aGlzLnNlbGVjdGlvbi52YWx1ZS5maWx0ZXIoIGMgPT4gYyAhPSBldi5vcHRpb25zWyAwIF0udmFsdWUgKVxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0VmFsdWUoIGNvZGVzIClcblxuICAgICAgICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZSggZXYgKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIG9uQ2FuY2VsQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCBudWxsIClcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZW5hYmxlKClcbiAgICAgICAgdGhpcy5zZXRJbnB1dFRvU2VsZWN0aW9uKClcbiAgICAgICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2UoKVxuICAgIH1cblxuICAgIG9uSW5wdXRGb2N1cygpIHtcbiAgICAgICAgdGhpcy5vcGVuKClcbiAgICB9XG5cbiAgICBkZXNjcmlwdGlvbkZvckNvZGUoIGNvZGU6IHN0cmluZyApOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbmQoIG8gPT4gby5jb2RlID09IGNvZGUgKT8uZGVzY3JpcHRpb25cbiAgICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgI3RyaWdnZXJcbiAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiXG4+XG4gICAgQGlmICggbGFiZWwgKSB7XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICB9XG5cbiAgICA8aW5wdXQgY2xhc3M9XCJmaWx0ZXItaW5wdXRcIiAjc2VhcmNoSW5wdXRcbiAgICAgICAgbWF0SW5wdXQgXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFxuICAgICAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KCAkZXZlbnQgKVwiXG4gICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJjbG9zZSgpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygpXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiaW5wdXRWYWx1ZVwiXG4gICAgPlxuXG4gICAgQGlmICggaXNPcGVuICkge1xuICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4PmFycm93X2Ryb3BfdXA8L21hdC1pY29uPlxuICAgIH1cbiAgICBAZWxzZSBpZiAoIHNlbGVjdGlvbj8udmFsdWU/Lmxlbmd0aCA+IDAgJiYgY2xlYXIgKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWxcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbENsaWNrKCRldmVudCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXg+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cbiAgICB9ICAgICAgICAgICAgICAgIFxuXG4gICAgQGlmICggaGludCApIHtcbiAgICAgICAgPG1hdC1oaW50Pnt7IGhpbnQgfX08L21hdC1oaW50PlxuICAgIH1cbjwvbWF0LWZvcm0tZmllbGQ+ICAgICAgICBcblxuPG5nLXRlbXBsYXRlICNvdmVybGF5VGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1zZWxlY3Qtb3B0aW9uc1wiIFtjbGFzcy5tdWx0aXBsZV09XCIhc2luZ2xlXCIgW2NsYXNzLnNpbmdsZV09XCJzaW5nbGVcIj5cbiAgICAgICAgQGlmICggIWlzRmlsdGVyZWQgJiYgIXNpbmdsZSAmJiBzdW1tYXJ5ICkge1xuICAgICAgICAgICAgQGlmICggc2VsZWN0aW9uPy52YWx1ZT8ubGVuZ3RoID4gMCAmJiBzZWxlY3Rpb24/LnZhbHVlPy5sZW5ndGggPCBvcHRpb25zPy5sZW5ndGggKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGlvbi1vdmVydmlld1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPnt7IHNlbGVjdGlvbj8udmFsdWU/Lmxlbmd0aCB9fSBzZWxlY3RlZCBvZiB7eyBvcHRpb25zPy5sZW5ndGggfX08L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdGlvbi1saXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uVXBwZXJTZWxlY3Rpb25DaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoIGNvZGUgb2Ygc2VsZWN0aW9uPy52YWx1ZTsgdHJhY2sgY29kZSApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29kZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVQb3NpdGlvbj1cImJlZm9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBzID8gZGVzY3JpcHRpb25Gb3JDb2RlKCBjb2RlICkgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGVzY3JpcHRpb25Gb3JDb2RlKCBjb2RlICkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoIHNlbGVjdGlvbj8udmFsdWU/Lmxlbmd0aCA9PSBvcHRpb25zPy5sZW5ndGggKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGlvbi1vdmVydmlld1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPkFsbCBvcHRpb25zIHNlbGVjdGVkPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA8bWF0LXNlbGVjdGlvbi1saXN0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VsZWN0aW9uXCJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCIhc2luZ2xlXCJcbiAgICAgICAgICAgIGhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JcbiAgICAgICAgPlxuICAgICAgICAgICAgQGZvciAoIG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24gKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1saXN0LW9wdGlvbiBbY2xhc3MuaGlkZV09XCIhbWF0Y2hlc0ZpbHRlciggb3B0aW9uIClcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIiBcbiAgICAgICAgICAgICAgICAgICAgdG9nZ2xlUG9zaXRpb249XCJiZWZvcmVcIiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBzID8gb3B0aW9uLmRlc2NyaXB0aW9uIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFmdGVyXCIgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9maWx0ZXItc2VsZWN0L2ZpbHRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZmlsdGVyLXNlbGVjdC9maWx0ZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxFQUVmLE1BQU0sRUFHTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBSXhDOzs7Ozs7OztHQVFHO0FBYUgsTUFBTSxPQUFPLHFCQUFxQjtJQVpsQztRQWNhLGdCQUFXLEdBQUcsV0FBVyxDQUFBO1FBSU8sY0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNaLGFBQVEsR0FBRyxJQUFJLENBQUE7UUFDZixZQUFPLEdBQUcsSUFBSSxDQUFBO1FBQ2QsVUFBSyxHQUFHLElBQUksQ0FBQTtRQUNaLFdBQU0sR0FBRyxJQUFJLENBQUE7UUFFN0MsZ0JBQVcs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QUFTO3VCQUFFLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ2YsV0FBVztzQkFBdEMsU0FBUzt1QkFBRSxhQUFhO2dCQUNPLGVBQWU7c0JBQTlDLFNBQVM7dUJBQUUsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgQ29kZURlc2NyaXB0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvZGUtdGFibGUudXRpbFwiO1xuXG5cbi8qKlxuICogQSBmaWx0ZXIgc2VsZWN0IGNvbXBvbmVudCB0aGF0IGFsbG93cyB1c2VycyB0byBzZWxlY3QgbXVsdGlwbGUgb3B0aW9ucyBmcm9tIGEgbGlzdC5cbiAqXG4gKiBGZWF0dXJlczpcbiAqIC0gTXVsdGktc2VsZWN0IHdpdGggb3B0aW9uYWwgbWF4aW11bSBzZWxlY3Rpb24gbGltaXRcbiAqIC0gU2VhcmNoL2ZpbHRlciBmdW5jdGlvbmFsaXR5XG4gKiAtIFRvb2x0aXBzIGZvciBsb25nIGRlc2NyaXB0aW9uc1xuICogLSBTdW1tYXJ5IGRpc3BsYXkgb2Ygc2VsZWN0ZWQgaXRlbXNcbiAqL1xuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZmlsdGVyLXNlbGVjdFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vZmlsdGVyLXNlbGVjdC5jb21wb25lbnQuc2Nzc1wiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5oYXMtdmFsdWVdJzogXCJoYXNWYWx1ZVwiLFxuICAgICAgICAnW2NsYXNzLmlzLW9wZW5dJzogXCJpc09wZW5cIixcbiAgICAgICAgJ1tjbGFzcy5pcy1jbG9zZWRdJzogXCIhaXNPcGVuXCIsXG4gICAgICAgICdbY2xhc3MudXNlLWZpbHRlcl0nOiBcImZpbHRlclwiLFxuICAgIH1cbn0gKVxuZXhwb3J0IGNsYXNzIEZpbHRlclNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgbGFiZWxcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdGaWx0ZXIuLi4nXG4gICAgQElucHV0KCkgaGludFxuICAgIEBJbnB1dCgpIG9wdGlvbnM6IENvZGVEZXNjcmlwdGlvbltdXG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZ1tdXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0gKSBzZWxlY3RNYXggPSAwXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgdG9vbHRpcHMgPSB0cnVlXG4gICAgQElucHV0KCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9ICkgc3VtbWFyeSA9IHRydWVcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0gKSBjbGVhciA9IHRydWVcbiAgICBASW5wdXQoIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0gKSBmaWx0ZXIgPSB0cnVlXG5cbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgZmxvYXRMYWJlbCA9ICdhdXRvJ1xuICAgIGlucHV0VmFsdWVcbiAgICBvcGVuaW5nVmFsdWVcbiAgICBpc0ZpbHRlcmVkID0gZmFsc2VcbiAgICBpc09wZW4gPSBmYWxzZVxuICAgIGhhc1ZhbHVlID0gZmFsc2VcbiAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmXG4gICAgc2VsZWN0aW9uID0gbmV3IEZvcm1Db250cm9sKClcbiAgICBtYXRjaDogKCBvcHRpb246IENvZGVEZXNjcmlwdGlvbiApID0+IGJvb2xlYW4gPSAoIG8gKSA9PiB0cnVlXG4gICAgY2xpY2tTdWJzY3JpcHRpb25cblxuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG4gICAgb3ZlcmxheSA9IGluamVjdCggT3ZlcmxheSApXG4gICAgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdCggVmlld0NvbnRhaW5lclJlZiApXG5cbiAgICBAVmlld0NoaWxkKCAndHJpZ2dlcicsIHsgcmVhZDogRWxlbWVudFJlZiB9ICkgdHJpZ2dlciE6IEVsZW1lbnRSZWZcbiAgICBAVmlld0NoaWxkKCAnZmlsdGVySW5wdXQnICkgZmlsdGVySW5wdXQhOiBFbGVtZW50UmVmXG4gICAgQFZpZXdDaGlsZCggJ292ZXJsYXlUZW1wbGF0ZScgKSBvdmVybGF5VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+XG5cbiAgICBuZ09uQ2hhbmdlcyggY2hhbmdlczogU2ltcGxlQ2hhbmdlcyApOiB2b2lkIHtcbiAgICAgICAgaWYgKCB0aGlzLmlzT3BlbiApIHJldHVyblxuXG4gICAgICAgIGlmICggY2hhbmdlcy5vcHRpb25zICkge1xuICAgICAgICAgICAgbGV0IHB2ID0gSlNPTi5zdHJpbmdpZnkoIGNoYW5nZXMub3B0aW9ucy5wcmV2aW91c1ZhbHVlIClcbiAgICAgICAgICAgIGxldCBjdiA9IEpTT04uc3RyaW5naWZ5KCBjaGFuZ2VzLm9wdGlvbnMuY3VycmVudFZhbHVlIClcbiAgICAgICAgICAgIGlmICggcHYgIT0gY3YgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0VmFsdWUoIG51bGwgKVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRUb1NlbGVjdGlvbigpXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXIoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCBjaGFuZ2VzLnZhbHVlICkge1xuICAgICAgICAgICAgbGV0IHB2ID0gSlNPTi5zdHJpbmdpZnkoIGNoYW5nZXMudmFsdWUucHJldmlvdXNWYWx1ZSApXG4gICAgICAgICAgICBsZXQgY3YgPSBKU09OLnN0cmluZ2lmeSggY2hhbmdlcy52YWx1ZS5jdXJyZW50VmFsdWUgKVxuICAgICAgICAgICAgaWYgKCBwdiAhPSBjdiApIHtcbiAgICAgICAgICAgICAgICBpZiAoIHRoaXMudmFsdWUgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzVmFsdWUgPSB0aGlzLnZhbHVlLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0VmFsdWUoIHRoaXMudmFsdWUgKVxuICAgICAgICAgICAgICAgICAgICBpZiAoIHRoaXMuc2VsZWN0TWF4ID4gMSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+PSB0aGlzLnNlbGVjdE1heCApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmRpc2FibGUoKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uZW5hYmxlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNWYWx1ZSA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCBudWxsIClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uZW5hYmxlKClcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNldEZpbHRlcigpXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFRvU2VsZWN0aW9uKClcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHNpbmdsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0TWF4ID09IDFcbiAgICB9XG5cbiAgICBlbWl0VmFsdWVDaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMuaGFzVmFsdWUgPSAoIHRoaXMuc2VsZWN0aW9uLnZhbHVlIHx8IFtdICkubGVuZ3RoID4gMFxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoIHRoaXMuc2VsZWN0aW9uLnZhbHVlIHx8IFtdIClcbiAgICB9XG5cbiAgICBvcGVuKCkge1xuICAgICAgICBpZiAoIHRoaXMuaXNPcGVuICkgcmV0dXJuXG5cbiAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlXG4gICAgICAgIHRoaXMuZmxvYXRMYWJlbCA9ICdhbHdheXMnXG4gICAgICAgIGlmICggdGhpcy5maWx0ZXIgKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSAnJ1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBDcmVhdGUgb3ZlcmxheVxuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oIHRoaXMudHJpZ2dlciApXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyggW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IDBcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdIClcbiAgICAgICAgICAgIC53aXRoUHVzaCggZmFsc2UgKVxuXG4gICAgICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSgge1xuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5LFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgbWF4V2lkdGg6IHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICogMixcbiAgICAgICAgICAgIG1pbldpZHRoOiB0aGlzLnRyaWdnZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgIG1heEhlaWdodDogMzAwLFxuICAgICAgICB9IClcblxuICAgICAgICAvLyBBdHRhY2ggdGVtcGxhdGVcbiAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKCB0aGlzLm92ZXJsYXlUZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmIClcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCggcG9ydGFsIClcblxuICAgICAgICAvLyBMaXN0ZW4gdG8gZG9jdW1lbnQgY2xpY2tzIGFmdGVyIGEgc21hbGwgZGVsYXkgdG8gYXZvaWQgY2xvc2luZyBpbW1lZGlhdGVseVxuICAgICAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KCBkb2N1bWVudCwgJ2NsaWNrJyApXG4gICAgICAgICAgICAgICAgLnBpcGUoIGZpbHRlciggKCBldmVudDogTW91c2VFdmVudCApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xpY2tUYXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJpZ2dlckVsID0gdGhpcy50cmlnZ2VyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3ZlcmxheUVsID0gdGhpcy5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudFxuXG4gICAgICAgICAgICAgICAgICAgIC8vIE9ubHkgY2xvc2UgaWYgY2xpY2sgaXMgb3V0c2lkZSBib3RoIHRyaWdnZXIgYW5kIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICF0cmlnZ2VyRWwuY29udGFpbnMoY2xpY2tUYXJnZXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAmJiAhb3ZlcmxheUVsPy5jb250YWlucyhjbGlja1RhcmdldClcbiAgICAgICAgICAgICAgICB9ICkgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgfSApXG4gICAgICAgIH0gKVxuXG4gICAgICAgIC8vIEZvY3VzIGlucHV0IGFmdGVyIG92ZXJsYXkgaXMgYXR0YWNoZWRcbiAgICAgICAgc2V0VGltZW91dCggKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJJbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICAvLyBwcmV2ZW50IGxpc3QgZnJvbSBzY3JvbGxpbmcgd2hlbiBzZWxlY3Rpb24gY2hhbmdlc1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNoaWxkcmVuWzBdLnNjcm9sbCggMCwgMSApXG4gICAgICAgIH0gKVxuXG4gICAgICAgIHRoaXMuc2V0RmlsdGVyKClcblxuICAgICAgICB0aGlzLm9wZW5pbmdWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KCB0aGlzLnNlbGVjdGlvbi52YWx1ZSApXG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICggIXRoaXMuaXNPcGVuICkgcmV0dXJuXG5cbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZVxuICAgICAgICB0aGlzLnNldElucHV0VG9TZWxlY3Rpb24oKVxuICAgICAgICB0aGlzLmZsb2F0TGFiZWwgPSAnYXV0bydcblxuICAgICAgICBpZiAoIHRoaXMuY2xpY2tTdWJzY3JpcHRpb24gKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICAgICAgICAgIHRoaXMuY2xpY2tTdWJzY3JpcHRpb24gPSBudWxsXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIHRoaXMub3ZlcmxheVJlZiApIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKClcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGxcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG5cbiAgICAgICAgbGV0IGNsb3NpbmdWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KCB0aGlzLnNlbGVjdGlvbi52YWx1ZSApXG4gICAgICAgIGlmICggdGhpcy5vcGVuaW5nVmFsdWUgIT0gY2xvc2luZ1ZhbHVlIClcbiAgICAgICAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlKClcbiAgICB9XG5cbiAgICBzZXRJbnB1dFRvU2VsZWN0aW9uKCkge1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLnNlbGVjdGlvbj8udmFsdWU/Lm1hcCggYyA9PiB0aGlzLmRlc2NyaXB0aW9uRm9yQ29kZSggYyApICkuam9pbiggJywgJyApIHx8IG51bGxcbiAgICB9XG5cbiAgICBvbklucHV0KCBldj8pIHtcbiAgICAgICAgdGhpcy5zZXRGaWx0ZXIoIGV2Py50YXJnZXQ/LnZhbHVlIClcbiAgICB9XG5cbiAgICBzZXRGaWx0ZXIoIHRleHQ/OiBzdHJpbmcgKSB7XG4gICAgICAgIGxldCB0ID0gdGV4dD8udHJpbSgpLnRvTG93ZXJDYXNlKClcblxuICAgICAgICBpZiAoIHQgKSB7XG4gICAgICAgICAgICB0aGlzLmlzRmlsdGVyZWQgPSB0cnVlXG4gICAgICAgICAgICB0aGlzLm1hdGNoID0gKCBvcHRpb24gKSA9PiBvcHRpb24uZGVzY3JpcHRpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyggdCApXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzRmlsdGVyZWQgPSBmYWxzZVxuICAgICAgICAgICAgdGhpcy5tYXRjaCA9ICggbyApID0+IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuXG4gICAgbWF0Y2hlc0ZpbHRlciggb3B0aW9uOiBDb2RlRGVzY3JpcHRpb24gKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hdGNoKCBvcHRpb24gKVxuICAgIH1cblxuICAgIG9uU2VsZWN0aW9uQ2hhbmdlKCBldiApIHtcbiAgICAgICAgaWYgKCB0aGlzLnNpbmdsZSApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJJbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIHRoaXMuc2VsZWN0TWF4ID4gMSApIHtcbiAgICAgICAgICAgIGlmICggdGhpcy5zZWxlY3Rpb24udmFsdWUubGVuZ3RoID49IHRoaXMuc2VsZWN0TWF4ICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmRpc2FibGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uZW5hYmxlKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuXG4gICAgb25VcHBlclNlbGVjdGlvbkNoYW5nZSggZXY6IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UgKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbGV0IGNvZGVzID0gdGhpcy5zZWxlY3Rpb24udmFsdWUuZmlsdGVyKCBjID0+IGMgIT0gZXYub3B0aW9uc1sgMCBdLnZhbHVlIClcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldFZhbHVlKCBjb2RlcyApXG5cbiAgICAgICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UoIGV2IClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBvbkNhbmNlbENsaWNrKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZXRWYWx1ZSggbnVsbCApXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmVuYWJsZSgpXG4gICAgICAgIHRoaXMuc2V0SW5wdXRUb1NlbGVjdGlvbigpXG4gICAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlKClcbiAgICB9XG5cbiAgICBvbklucHV0Rm9jdXMoKSB7XG4gICAgICAgIHRoaXMub3BlbigpXG4gICAgfVxuXG4gICAgb25DbG9zZUNsaWNrKCkge1xuICAgICAgICB0aGlzLmNsb3NlKClcbiAgICB9XG5cbiAgICBkZXNjcmlwdGlvbkZvckNvZGUoIGNvZGU6IHN0cmluZyApOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbmQoIG8gPT4gby5jb2RlID09IGNvZGUgKT8uZGVzY3JpcHRpb25cbiAgICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgI3RyaWdnZXJcbiAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiXG4+XG4gICAgQGlmICggbGFiZWwgKSB7XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICB9XG5cbiAgICA8aW5wdXQgY2xhc3M9XCJmaWx0ZXItaW5wdXRcIiAjc2VhcmNoSW5wdXRcbiAgICAgICAgbWF0SW5wdXQgXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFxuICAgICAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KCAkZXZlbnQgKVwiXG4gICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJjbG9zZSgpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygpXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiaW5wdXRWYWx1ZVwiXG4gICAgICAgIFtyZWFkb25seV09XCIhZmlsdGVyXCJcbiAgICA+XG5cbiAgICBAaWYgKCBpc09wZW4gKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWxcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlQ2xpY2soJGV2ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5yY2wtaWNvbj5hcnJvd19kcm9wX3VwPC9ucmNsLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgICBAZWxzZSBpZiAoIHNlbGVjdGlvbj8udmFsdWU/Lmxlbmd0aCA+IDAgJiYgY2xlYXIgKSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWxcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbENsaWNrKCRldmVudCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxucmNsLWljb24+Y2xvc2U8L25yY2wtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhbmNlbFwiXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICA+XG4gICAgICAgICAgICA8bnJjbC1pY29uPmFycm93X2Ryb3BfZG93bjwvbnJjbC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9ICAgICAgICAgICAgICAgIFxuXG4gICAgQGlmICggaGludCApIHtcbiAgICAgICAgPG1hdC1oaW50Pnt7IGhpbnQgfX08L21hdC1oaW50PlxuICAgIH1cbjwvbWF0LWZvcm0tZmllbGQ+ICAgICAgICBcblxuPG5nLXRlbXBsYXRlICNvdmVybGF5VGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1zZWxlY3Qtb3B0aW9uc1wiIFtjbGFzcy5tdWx0aXBsZV09XCIhc2luZ2xlXCIgW2NsYXNzLnNpbmdsZV09XCJzaW5nbGVcIj5cbiAgICAgICAgQGlmICggIWlzRmlsdGVyZWQgJiYgIXNpbmdsZSAmJiBzdW1tYXJ5ICkge1xuICAgICAgICAgICAgQGlmICggc2VsZWN0aW9uPy52YWx1ZT8ubGVuZ3RoID4gMCAmJiBzZWxlY3Rpb24/LnZhbHVlPy5sZW5ndGggPCBvcHRpb25zPy5sZW5ndGggKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGlvbi1vdmVydmlld1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPnt7IHNlbGVjdGlvbj8udmFsdWU/Lmxlbmd0aCB9fSBzZWxlY3RlZCBvZiB7eyBvcHRpb25zPy5sZW5ndGggfX08L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdGlvbi1saXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uVXBwZXJTZWxlY3Rpb25DaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoIGNvZGUgb2Ygc2VsZWN0aW9uPy52YWx1ZTsgdHJhY2sgY29kZSApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29kZVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVQb3NpdGlvbj1cImJlZm9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBzID8gZGVzY3JpcHRpb25Gb3JDb2RlKCBjb2RlICkgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGVzY3JpcHRpb25Gb3JDb2RlKCBjb2RlICkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoIHNlbGVjdGlvbj8udmFsdWU/Lmxlbmd0aCA9PSBvcHRpb25zPy5sZW5ndGggKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGlvbi1vdmVydmlld1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPkFsbCBvcHRpb25zIHNlbGVjdGVkPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA8bWF0LXNlbGVjdGlvbi1saXN0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VsZWN0aW9uXCJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCIhc2luZ2xlXCJcbiAgICAgICAgICAgIGhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JcbiAgICAgICAgPlxuICAgICAgICAgICAgQGZvciAoIG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24gKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1saXN0LW9wdGlvbiBbY2xhc3MuaGlkZV09XCIhbWF0Y2hlc0ZpbHRlciggb3B0aW9uIClcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIiBcbiAgICAgICAgICAgICAgICAgICAgdG9nZ2xlUG9zaXRpb249XCJiZWZvcmVcIiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBzID8gb3B0aW9uLmRlc2NyaXB0aW9uIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFmdGVyXCIgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "
|
|
5
|
-
import * as i3 from "../device-view/device-view.component";
|
|
3
|
+
import * as i1 from "../button/button.component";
|
|
4
|
+
import * as i2 from "../device-view/device-view.component";
|
|
6
5
|
export class FiltersPanelComponent {
|
|
7
6
|
constructor() {
|
|
8
7
|
this.showClear = true;
|
|
9
8
|
this.showFilters = true;
|
|
9
|
+
this.hasAdvancedFilters = false;
|
|
10
|
+
this.showAdvancedFilters = false;
|
|
10
11
|
this.clearFilters = new EventEmitter();
|
|
11
12
|
this.showFiltersChange = new EventEmitter();
|
|
13
|
+
this.showAdvancedFiltersChange = new EventEmitter();
|
|
12
14
|
}
|
|
13
15
|
onClearClick() {
|
|
14
16
|
this.clearFilters.emit();
|
|
@@ -21,19 +23,35 @@ export class FiltersPanelComponent {
|
|
|
21
23
|
this.showFilters = true;
|
|
22
24
|
this.showFiltersChange.emit(true);
|
|
23
25
|
}
|
|
26
|
+
onHideAdvancedClick() {
|
|
27
|
+
this.showAdvancedFilters = false;
|
|
28
|
+
this.showAdvancedFiltersChange.emit(false);
|
|
29
|
+
}
|
|
30
|
+
onShowAdvancedClick() {
|
|
31
|
+
this.showAdvancedFilters = true;
|
|
32
|
+
this.showAdvancedFiltersChange.emit(true);
|
|
33
|
+
}
|
|
24
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FiltersPanelComponent, selector: "nrcl-filters-panel", inputs: { showClear: "showClear", showFilters: "showFilters" }, outputs: { clearFilters: "clearFilters", showFiltersChange: "showFiltersChange" }, ngImport: i0, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n<div class=\"actions\">\n <nrcl-
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FiltersPanelComponent, selector: "nrcl-filters-panel", inputs: { showClear: "showClear", showFilters: "showFilters", hasAdvancedFilters: "hasAdvancedFilters", showAdvancedFilters: "showAdvancedFilters" }, outputs: { clearFilters: "clearFilters", showFiltersChange: "showFiltersChange", showAdvancedFiltersChange: "showAdvancedFiltersChange" }, host: { properties: { "class.hide-filters": "!showFilters" } }, ngImport: i0, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n@if ( showFilters && hasAdvancedFilters && showAdvancedFilters ) {\n <ng-content select=\"[advanced]\"></ng-content>\n}\n\n<div class=\"actions\">\n @if ( showClear && showFilters ) {\n <nrcl-button outline \n label=\"Clear\"\n icon=\"clear-filters\"\n (click)=\"onClearClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n\n @if ( showFilters && hasAdvancedFilters ) {\n @if ( showAdvancedFilters ) {\n <nrcl-button outline \n label=\"Less Filters\"\n icon=\"remove\"\n (click)=\"onHideAdvancedClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n @else {\n <nrcl-button outline \n label=\"More Filters\"\n icon=\"add\"\n (click)=\"onShowAdvancedClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n }\n\n <nrcl-device-view>\n <ng-template mobile-view>\n @if ( showFilters ) {\n <nrcl-button outline \n label=\"Hide Filters\"\n icon=\"expand_less\"\n (click)=\"onHideClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n @else {\n <nrcl-button outline \n label=\"Show Filters\"\n icon=\"expand_more\"\n (click)=\"onShowClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n </ng-template>\n </nrcl-device-view>\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;gap:8px;position:relative;border:1px solid #c6c8cb;padding:8px;background-color:#f2f2f2}:host .actions{flex-grow:1;flex-direction:row-reverse;justify-content:space-between;align-items:flex-end;width:unset;display:flex}:host .actions button{height:40px}:host .actions nrcl-button{--nrcl-button-height: 40px}:host .actions .spacer{flex-grow:1}:host.hide-filters .actions{flex-direction:row}:host-context(.nrcl-device-mobile) :host{display:grid;grid-template-columns:1fr 1fr}:host-context(.nrcl-device-mobile) :host .actions{grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-search{--nrcl-filter-search-width: auto;grid-row:1;grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-select{--nrcl-filter-select-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-date{--nrcl-filter-date-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-container{--nrcl-filter-container-width: auto}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "nrcl-button", inputs: ["label", "icon", "iconRight", "iconCompact", "tooltip", "compact", "primary", "outline", "disabled"], outputs: ["click"] }, { kind: "directive", type: i2.MobileViewDirective, selector: "[mobile-view]" }, { kind: "component", type: i2.DeviceViewComponent, selector: "nrcl-device-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
36
|
}
|
|
27
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersPanelComponent, decorators: [{
|
|
28
38
|
type: Component,
|
|
29
|
-
args: [{ selector: "nrcl-filters-panel", changeDetection: ChangeDetectionStrategy.OnPush,
|
|
39
|
+
args: [{ selector: "nrcl-filters-panel", changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
40
|
+
'[class.hide-filters]': '!showFilters'
|
|
41
|
+
}, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n@if ( showFilters && hasAdvancedFilters && showAdvancedFilters ) {\n <ng-content select=\"[advanced]\"></ng-content>\n}\n\n<div class=\"actions\">\n @if ( showClear && showFilters ) {\n <nrcl-button outline \n label=\"Clear\"\n icon=\"clear-filters\"\n (click)=\"onClearClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n\n @if ( showFilters && hasAdvancedFilters ) {\n @if ( showAdvancedFilters ) {\n <nrcl-button outline \n label=\"Less Filters\"\n icon=\"remove\"\n (click)=\"onHideAdvancedClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n @else {\n <nrcl-button outline \n label=\"More Filters\"\n icon=\"add\"\n (click)=\"onShowAdvancedClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n }\n\n <nrcl-device-view>\n <ng-template mobile-view>\n @if ( showFilters ) {\n <nrcl-button outline \n label=\"Hide Filters\"\n icon=\"expand_less\"\n (click)=\"onHideClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n @else {\n <nrcl-button outline \n label=\"Show Filters\"\n icon=\"expand_more\"\n (click)=\"onShowClick()\"\n compact=\"mobile\"\n ></nrcl-button>\n }\n </ng-template>\n </nrcl-device-view>\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;gap:8px;position:relative;border:1px solid #c6c8cb;padding:8px;background-color:#f2f2f2}:host .actions{flex-grow:1;flex-direction:row-reverse;justify-content:space-between;align-items:flex-end;width:unset;display:flex}:host .actions button{height:40px}:host .actions nrcl-button{--nrcl-button-height: 40px}:host .actions .spacer{flex-grow:1}:host.hide-filters .actions{flex-direction:row}:host-context(.nrcl-device-mobile) :host{display:grid;grid-template-columns:1fr 1fr}:host-context(.nrcl-device-mobile) :host .actions{grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-search{--nrcl-filter-search-width: auto;grid-row:1;grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-select{--nrcl-filter-select-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-date{--nrcl-filter-date-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-container{--nrcl-filter-container-width: auto}\n"] }]
|
|
30
42
|
}], propDecorators: { showClear: [{
|
|
31
43
|
type: Input
|
|
32
44
|
}], showFilters: [{
|
|
33
45
|
type: Input
|
|
46
|
+
}], hasAdvancedFilters: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], showAdvancedFilters: [{
|
|
49
|
+
type: Input
|
|
34
50
|
}], clearFilters: [{
|
|
35
51
|
type: Output
|
|
36
52
|
}], showFiltersChange: [{
|
|
37
53
|
type: Output
|
|
54
|
+
}], showAdvancedFiltersChange: [{
|
|
55
|
+
type: Output
|
|
38
56
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9maWx0ZXJzLXBhbmVsL2ZpbHRlcnMtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZmlsdGVycy1wYW5lbC9maWx0ZXJzLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDOzs7O0FBV3ZCLE1BQU0sT0FBTyxxQkFBcUI7SUFUbEM7UUFVYSxjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLGdCQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ2xCLHVCQUFrQixHQUFHLEtBQUssQ0FBQTtRQUMxQix3QkFBbUIsR0FBRyxLQUFLLENBQUE7UUFFMUIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2pDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUE7UUFDL0MsOEJBQXlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQXlCcEU7SUF2QkcsWUFBWTtRQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFFLEtBQUssQ0FBRSxDQUFBO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBRSxJQUFJLENBQUUsQ0FBQTtJQUN2QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQTtRQUNoQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFFLEtBQUssQ0FBRSxDQUFBO0lBQ2hELENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFBO1FBQy9CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFFLENBQUE7SUFDL0MsQ0FBQzsrR0FoQ1EscUJBQXFCO21HQUFyQixxQkFBcUIsMlpDakJsQywrckRBMERBOzs0RkR6Q2EscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLHNCQUFzQixFQUFFLGNBQWM7cUJBQ3pDOzhCQUdRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLHlCQUF5QjtzQkFBbEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZmlsdGVycy1wYW5lbFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZmlsdGVycy1wYW5lbC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vZmlsdGVycy1wYW5lbC5jb21wb25lbnQuc2Nzc1wiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5oaWRlLWZpbHRlcnNdJzogJyFzaG93RmlsdGVycydcbiAgICB9XG59IClcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzUGFuZWxDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHNob3dDbGVhciA9IHRydWVcbiAgICBASW5wdXQoKSBzaG93RmlsdGVycyA9IHRydWVcbiAgICBASW5wdXQoKSBoYXNBZHZhbmNlZEZpbHRlcnMgPSBmYWxzZVxuICAgIEBJbnB1dCgpIHNob3dBZHZhbmNlZEZpbHRlcnMgPSBmYWxzZVxuXG4gICAgQE91dHB1dCgpIGNsZWFyRmlsdGVycyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICAgIEBPdXRwdXQoKSBzaG93RmlsdGVyc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuICAgIEBPdXRwdXQoKSBzaG93QWR2YW5jZWRGaWx0ZXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgICBvbkNsZWFyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzLmVtaXQoKVxuICAgIH1cblxuICAgIG9uSGlkZUNsaWNrKCkge1xuICAgICAgICB0aGlzLnNob3dGaWx0ZXJzID0gZmFsc2VcbiAgICAgICAgdGhpcy5zaG93RmlsdGVyc0NoYW5nZS5lbWl0KCBmYWxzZSApXG4gICAgfVxuXG4gICAgb25TaG93Q2xpY2soKSB7XG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlcnMgPSB0cnVlXG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlcnNDaGFuZ2UuZW1pdCggdHJ1ZSApXG4gICAgfVxuXG4gICAgb25IaWRlQWR2YW5jZWRDbGljaygpIHtcbiAgICAgICAgdGhpcy5zaG93QWR2YW5jZWRGaWx0ZXJzID0gZmFsc2VcbiAgICAgICAgdGhpcy5zaG93QWR2YW5jZWRGaWx0ZXJzQ2hhbmdlLmVtaXQoIGZhbHNlIClcbiAgICB9XG5cbiAgICBvblNob3dBZHZhbmNlZENsaWNrKCkge1xuICAgICAgICB0aGlzLnNob3dBZHZhbmNlZEZpbHRlcnMgPSB0cnVlXG4gICAgICAgIHRoaXMuc2hvd0FkdmFuY2VkRmlsdGVyc0NoYW5nZS5lbWl0KCB0cnVlIClcbiAgICB9XG59XG4iLCJAaWYgKCBzaG93RmlsdGVycyApIHtcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG59XG5cbkBpZiAoIHNob3dGaWx0ZXJzICYmIGhhc0FkdmFuY2VkRmlsdGVycyAmJiBzaG93QWR2YW5jZWRGaWx0ZXJzICkge1xuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthZHZhbmNlZF1cIj48L25nLWNvbnRlbnQ+XG59XG5cbjxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgQGlmICggc2hvd0NsZWFyICYmIHNob3dGaWx0ZXJzICkge1xuICAgICAgICA8bnJjbC1idXR0b24gb3V0bGluZSBcbiAgICAgICAgICAgIGxhYmVsPVwiQ2xlYXJcIlxuICAgICAgICAgICAgaWNvbj1cImNsZWFyLWZpbHRlcnNcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJDbGljaygpXCJcbiAgICAgICAgICAgIGNvbXBhY3Q9XCJtb2JpbGVcIlxuICAgICAgICA+PC9ucmNsLWJ1dHRvbj5cbiAgICB9XG5cbiAgICBAaWYgKCBzaG93RmlsdGVycyAmJiBoYXNBZHZhbmNlZEZpbHRlcnMgKSB7XG4gICAgICAgIEBpZiAoIHNob3dBZHZhbmNlZEZpbHRlcnMgKSB7XG4gICAgICAgICAgICA8bnJjbC1idXR0b24gb3V0bGluZSBcbiAgICAgICAgICAgICAgICBsYWJlbD1cIkxlc3MgRmlsdGVyc1wiXG4gICAgICAgICAgICAgICAgaWNvbj1cInJlbW92ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSGlkZUFkdmFuY2VkQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgY29tcGFjdD1cIm1vYmlsZVwiXG4gICAgICAgICAgICA+PC9ucmNsLWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICA8bnJjbC1idXR0b24gb3V0bGluZSBcbiAgICAgICAgICAgICAgICBsYWJlbD1cIk1vcmUgRmlsdGVyc1wiXG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FkdmFuY2VkQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgY29tcGFjdD1cIm1vYmlsZVwiXG4gICAgICAgICAgICA+PC9ucmNsLWJ1dHRvbj5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIDxucmNsLWRldmljZS12aWV3PlxuICAgICAgICA8bmctdGVtcGxhdGUgbW9iaWxlLXZpZXc+XG4gICAgICAgICAgICBAaWYgKCBzaG93RmlsdGVycyApIHtcbiAgICAgICAgICAgICAgICA8bnJjbC1idXR0b24gb3V0bGluZSBcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJIaWRlIEZpbHRlcnNcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiZXhwYW5kX2xlc3NcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25IaWRlQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbXBhY3Q9XCJtb2JpbGVcIlxuICAgICAgICAgICAgICAgID48L25yY2wtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxucmNsLWJ1dHRvbiBvdXRsaW5lIFxuICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIlNob3cgRmlsdGVyc1wiXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJleHBhbmRfbW9yZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNob3dDbGljaygpXCJcbiAgICAgICAgICAgICAgICAgICAgY29tcGFjdD1cIm1vYmlsZVwiXG4gICAgICAgICAgICAgICAgPjwvbnJjbC1idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9ucmNsLWRldmljZS12aWV3PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component, ElementRef, inject } from '@angular/core';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/icon";
|
|
5
|
+
export class IconComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.elementRef = inject(ElementRef);
|
|
8
|
+
this.domSanitizer = inject(DomSanitizer);
|
|
9
|
+
}
|
|
10
|
+
ngAfterContentInit() {
|
|
11
|
+
this.name = this.elementRef?.nativeElement?.textContent;
|
|
12
|
+
if (ICON[this.name])
|
|
13
|
+
this.svg = this.domSanitizer.bypassSecurityTrustHtml(ICON[this.name]);
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IconComponent, selector: "nrcl-icon", host: { properties: { "class.show-icon": "!svg", "class.show-svg": "!!svg" } }, ngImport: i0, template: "<mat-icon><ng-content></ng-content></mat-icon>\n<div class=\"svg\" [innerHTML]=\"svg\"></div>\n", styles: [":host{display:block}:host ::ng-deep .material-icons{font-family:Material Symbols Outlined;font-feature-settings:\"liga\"}:host ::ng-deep .mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab>.mat-icon,:host ::ng-deep button.mat-mdc-raised-button>.mat-icon,:host ::ng-deep button.mat-mdc-button>.mat-icon,:host ::ng-deep button.mat-mdc-icon-button>.mat-icon,:host ::ng-deep button.mat-mdc-outlined-button>.mat-icon,:host ::ng-deep button.mat-mdc-unelevated-button>.mat-icon,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item>.mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host.show-svg .mat-icon{display:none}:host.show-svg .svg{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host.show-icon .mat-icon{display:block}:host.show-icon .svg{display:none}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'nrcl-icon', host: {
|
|
21
|
+
'[class.show-icon]': '!svg',
|
|
22
|
+
'[class.show-svg]': '!!svg',
|
|
23
|
+
}, template: "<mat-icon><ng-content></ng-content></mat-icon>\n<div class=\"svg\" [innerHTML]=\"svg\"></div>\n", styles: [":host{display:block}:host ::ng-deep .material-icons{font-family:Material Symbols Outlined;font-feature-settings:\"liga\"}:host ::ng-deep .mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab>.mat-icon,:host ::ng-deep button.mat-mdc-raised-button>.mat-icon,:host ::ng-deep button.mat-mdc-button>.mat-icon,:host ::ng-deep button.mat-mdc-icon-button>.mat-icon,:host ::ng-deep button.mat-mdc-outlined-button>.mat-icon,:host ::ng-deep button.mat-mdc-unelevated-button>.mat-icon,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item>.mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host.show-svg .mat-icon{display:none}:host.show-svg .svg{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host.show-icon .mat-icon{display:block}:host.show-icon .svg{display:none}\n"] }]
|
|
24
|
+
}] });
|
|
25
|
+
const ICON = {
|
|
26
|
+
'clear-filters': `
|
|
27
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 -7.934265 133.15887 133.15887" height="100%" width="100%">
|
|
28
|
+
<g transform="translate(-34.473864,-66.676034)">
|
|
29
|
+
<g>
|
|
30
|
+
<g>
|
|
31
|
+
<path d="M 94.473677,137.49393 34.473864,66.783005 34.564632,66.676034 H 154.38314 l 0.0907,0.106971 z" />
|
|
32
|
+
<rect y="129.02737" x="88.416046" height="45.357258" width="12.115609" />
|
|
33
|
+
</g>
|
|
34
|
+
<rect width="29.482143" height="76.351196" x="79.73278" y="107.61517" />
|
|
35
|
+
</g>
|
|
36
|
+
<g transform="translate(500.06128,136.57473)">
|
|
37
|
+
<rect width="14.363094" height="49.892857" x="-249.284" y="235.20406" transform="rotate(45)" />
|
|
38
|
+
<rect width="14.363095" height="49.892857" x="-267.59927" y="-266.99539" transform="rotate(-45)" />
|
|
39
|
+
</g>
|
|
40
|
+
</g>
|
|
41
|
+
</svg>
|
|
42
|
+
`
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDOzs7QUFXbkUsTUFBTSxPQUFPLGFBQWE7SUFUMUI7UUFhSSxlQUFVLEdBQUcsTUFBTSxDQUFFLFVBQVUsQ0FBRSxDQUFBO1FBQ2pDLGlCQUFZLEdBQUcsTUFBTSxDQUFFLFlBQVksQ0FBRSxDQUFBO0tBTXhDO0lBSkcsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUE7UUFDdkQsSUFBSyxJQUFJLENBQUUsSUFBSSxDQUFDLElBQUksQ0FBRTtZQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBRSxJQUFJLENBQUUsSUFBSSxDQUFDLElBQUksQ0FBRSxDQUFFLENBQUE7SUFDdEcsQ0FBQzsrR0FWUSxhQUFhO21HQUFiLGFBQWEsaUlDWjFCLGlHQUVBOzs0RkRVYSxhQUFhO2tCQVR6QixTQUFTOytCQUNJLFdBQVcsUUFHZjt3QkFDRixtQkFBbUIsRUFBRSxNQUFNO3dCQUMzQixrQkFBa0IsRUFBRyxPQUFPO3FCQUMvQjs7QUFlTCxNQUFNLElBQUksR0FBRztJQUNULGVBQWUsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztLQWdCaEI7Q0FDSixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoIHtcbiAgICBzZWxlY3RvcjogJ25yY2wtaWNvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5zY3NzJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3Muc2hvdy1pY29uXSc6ICchc3ZnJyxcbiAgICAgICAgJ1tjbGFzcy5zaG93LXN2Z10nOiAgJyEhc3ZnJyxcbiAgICB9XG59IClcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7ICAgXG4gICAgbmFtZToga2V5b2YoIHR5cGVvZiBJQ09OIClcbiAgICBzdmc6IFNhZmVIdG1sXG5cbiAgICBlbGVtZW50UmVmID0gaW5qZWN0KCBFbGVtZW50UmVmIClcbiAgICBkb21TYW5pdGl6ZXIgPSBpbmplY3QoIERvbVNhbml0aXplciApICAgIFxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnRleHRDb250ZW50XG4gICAgICAgIGlmICggSUNPTlsgdGhpcy5uYW1lIF0gKSB0aGlzLnN2ZyA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKCBJQ09OWyB0aGlzLm5hbWUgXSApXG4gICAgfVxufVxuXG5jb25zdCBJQ09OID0ge1xuICAgICdjbGVhci1maWx0ZXJzJzogYFxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgLTcuOTM0MjY1IDEzMy4xNTg4NyAxMzMuMTU4ODdcIiBoZWlnaHQ9XCIxMDAlXCIgd2lkdGg9XCIxMDAlXCI+XG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTM0LjQ3Mzg2NCwtNjYuNjc2MDM0KVwiPlxuICAgICAgICAgICAgICAgIDxnPlxuICAgICAgICAgICAgICAgICAgICA8Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNIDk0LjQ3MzY3NywxMzcuNDkzOTMgMzQuNDczODY0LDY2Ljc4MzAwNSAzNC41NjQ2MzIsNjYuNjc2MDM0IEggMTU0LjM4MzE0IGwgMC4wOTA3LDAuMTA2OTcxIHpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjEyOS4wMjczN1wiIHg9XCI4OC40MTYwNDZcIiBoZWlnaHQ9XCI0NS4zNTcyNThcIiB3aWR0aD1cIjEyLjExNTYwOVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyOS40ODIxNDNcIiBoZWlnaHQ9XCI3Ni4zNTExOTZcIiB4PVwiNzkuNzMyNzhcIiB5PVwiMTA3LjYxNTE3XCIgLz5cbiAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUwMC4wNjEyOCwxMzYuNTc0NzMpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTQuMzYzMDk0XCIgaGVpZ2h0PVwiNDkuODkyODU3XCIgeD1cIi0yNDkuMjg0XCIgeT1cIjIzNS4yMDQwNlwiIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSlcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE0LjM2MzA5NVwiIGhlaWdodD1cIjQ5Ljg5Mjg1N1wiIHg9XCItMjY3LjU5OTI3XCIgeT1cIi0yNjYuOTk1MzlcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTQ1KVwiIC8+XG4gICAgICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICA8L3N2Zz5cbiAgICBgXG59IiwiPG1hdC1pY29uPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L21hdC1pY29uPlxuPGRpdiBjbGFzcz1cInN2Z1wiIFtpbm5lckhUTUxdPVwic3ZnXCI+PC9kaXY+XG4iXX0=
|