mapa-library-ui 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/core/elements/element-base.mjs +1 -1
- package/esm2020/lib/core/interfaces/element-group.interface.mjs +2 -0
- package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.mjs +61 -17
- package/esm2020/src/lib/components/capability/lib/core/elements/element-base.mjs +1 -1
- package/esm2020/src/lib/components/capability/lib/core/interfaces/element-group.interface.mjs +2 -0
- package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.mjs +61 -17
- package/esm2020/src/lib/components/chart/lib/core/elements/element-base.mjs +1 -1
- package/esm2020/src/lib/components/chart/lib/core/interfaces/element-group.interface.mjs +2 -0
- package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +61 -17
- package/esm2020/src/lib/components/dropdown/lib/core/elements/element-base.mjs +1 -1
- package/esm2020/src/lib/components/dropdown/lib/core/interfaces/element-group.interface.mjs +2 -0
- package/esm2020/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.component.mjs +7 -3
- package/esm2020/src/lib/components/radio-button/lib/core/elements/element-base.mjs +1 -1
- package/esm2020/src/lib/components/radio-button/lib/core/interfaces/element-group.interface.mjs +2 -0
- package/esm2020/src/lib/components/textarea/lib/core/elements/element-base.mjs +1 -1
- package/esm2020/src/lib/components/textarea/lib/core/interfaces/element-group.interface.mjs +2 -0
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +61 -16
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs +61 -16
- package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +61 -16
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-radio-button.mjs +6 -2
- package/fesm2015/mapa-library-ui-src-lib-components-radio-button.mjs.map +1 -1
- package/fesm2015/mapa-library-ui.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +60 -16
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs +60 -16
- package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +60 -16
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-radio-button.mjs +6 -2
- package/fesm2020/mapa-library-ui-src-lib-components-radio-button.mjs.map +1 -1
- package/fesm2020/mapa-library-ui.mjs.map +1 -1
- package/lib/core/elements/element-base.d.ts +3 -2
- package/lib/core/interfaces/element-group.interface.d.ts +5 -0
- package/mapa-library-ui-0.5.0.tgz +0 -0
- package/package.json +1 -1
- package/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.d.ts +6 -0
- package/src/lib/components/capability/lib/core/elements/element-base.d.ts +3 -2
- package/src/lib/components/capability/lib/core/interfaces/element-group.interface.d.ts +5 -0
- package/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.d.ts +6 -0
- package/src/lib/components/chart/lib/core/elements/element-base.d.ts +3 -2
- package/src/lib/components/chart/lib/core/interfaces/element-group.interface.d.ts +5 -0
- package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.d.ts +6 -0
- package/src/lib/components/dropdown/lib/core/elements/element-base.d.ts +3 -2
- package/src/lib/components/dropdown/lib/core/interfaces/element-group.interface.d.ts +5 -0
- package/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.component.d.ts +4 -2
- package/src/lib/components/radio-button/lib/core/elements/element-base.d.ts +3 -2
- package/src/lib/components/radio-button/lib/core/interfaces/element-group.interface.d.ts +5 -0
- package/src/lib/components/textarea/lib/core/elements/element-base.d.ts +3 -2
- package/src/lib/components/textarea/lib/core/interfaces/element-group.interface.d.ts +5 -0
- package/mapa-library-ui-0.4.2.tgz +0 -0
|
@@ -11,14 +11,26 @@ import * as i6 from "ngx-mat-select-search";
|
|
|
11
11
|
export class MapaDropdownComponent {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.filteredOptions = new ReplaySubject(1);
|
|
14
|
+
this.filteredGroups = new ReplaySubject(1);
|
|
14
15
|
this.filteredOptionsCache = [];
|
|
16
|
+
this.filteredGroupCache = [];
|
|
15
17
|
this._onDestroy = new Subject();
|
|
16
18
|
this.isIndeterminate = false;
|
|
17
19
|
this.isChecked = false;
|
|
20
|
+
this.isOptionsGroup = false;
|
|
18
21
|
}
|
|
19
22
|
ngOnInit() {
|
|
20
|
-
this.
|
|
21
|
-
|
|
23
|
+
this.isOptionsGroup = this.isElementGroup(this.element.options[0]);
|
|
24
|
+
if (this.isOptionsGroup) {
|
|
25
|
+
this.filteredGroupCache = this.element
|
|
26
|
+
.options.slice();
|
|
27
|
+
this.filteredGroups.next(this.filteredGroupCache);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.filteredOptionsCache = this.element
|
|
31
|
+
.options.slice();
|
|
32
|
+
this.filteredOptions.next(this.filteredOptionsCache);
|
|
33
|
+
}
|
|
22
34
|
if (this.element.search) {
|
|
23
35
|
this.element.search.formControl?.valueChanges
|
|
24
36
|
//.pipe(takeUntil(this._onDestroy))
|
|
@@ -35,20 +47,39 @@ export class MapaDropdownComponent {
|
|
|
35
47
|
this._onDestroy.next();
|
|
36
48
|
this._onDestroy.complete();
|
|
37
49
|
}
|
|
50
|
+
filterOptionsFromGroup(group, value) {
|
|
51
|
+
const filterValue = value.toLocaleLowerCase();
|
|
52
|
+
return group.label.toLocaleLowerCase().includes(filterValue)
|
|
53
|
+
? group.options
|
|
54
|
+
: group.options.filter((item) => item.value.toLocaleLowerCase().includes(filterValue));
|
|
55
|
+
}
|
|
38
56
|
filterOptions() {
|
|
39
57
|
if (!this.element.options) {
|
|
40
58
|
return;
|
|
41
59
|
}
|
|
42
60
|
// get the search keyword
|
|
43
61
|
let search = this.element.search?.formControl?.value;
|
|
44
|
-
if (
|
|
45
|
-
|
|
62
|
+
if (this.isOptionsGroup) {
|
|
63
|
+
const groups = this.element.options;
|
|
64
|
+
this.filteredGroupCache = groups
|
|
65
|
+
.map((group) => ({
|
|
66
|
+
label: group.label,
|
|
67
|
+
options: this.filterOptionsFromGroup(group, search),
|
|
68
|
+
}))
|
|
69
|
+
.filter((group) => group.options.length > 0);
|
|
70
|
+
this.filteredGroups.next(this.filteredGroupCache);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
const options = this.element.options;
|
|
74
|
+
if (!search) {
|
|
75
|
+
this.filteredOptionsCache = options.slice();
|
|
76
|
+
this.filteredOptions.next(this.filteredOptionsCache);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// filter the options
|
|
80
|
+
this.filteredOptionsCache = options.filter((option) => option.value.toLowerCase().indexOf(search) > -1);
|
|
46
81
|
this.filteredOptions.next(this.filteredOptionsCache);
|
|
47
|
-
return;
|
|
48
82
|
}
|
|
49
|
-
// filter the options
|
|
50
|
-
this.filteredOptionsCache = this.element.options.filter((option) => option.value.toLowerCase().indexOf(search) > -1);
|
|
51
|
-
this.filteredOptions.next(this.filteredOptionsCache);
|
|
52
83
|
}
|
|
53
84
|
setInitialValue() {
|
|
54
85
|
this.filteredOptions
|
|
@@ -61,19 +92,20 @@ export class MapaDropdownComponent {
|
|
|
61
92
|
let filteredLength = 0;
|
|
62
93
|
let search = this.element.search?.formControl?.value;
|
|
63
94
|
if (search && search.value) {
|
|
64
|
-
this.filteredOptionsCache.forEach(el => {
|
|
95
|
+
this.filteredOptionsCache.forEach((el) => {
|
|
65
96
|
if (search.value.toLowerCase().indexOf(el) > -1) {
|
|
66
97
|
filteredLength++;
|
|
67
98
|
}
|
|
68
99
|
});
|
|
69
|
-
this.isIndeterminate =
|
|
70
|
-
|
|
100
|
+
this.isIndeterminate =
|
|
101
|
+
filteredLength > 0 && filteredLength < this.filteredOptionsCache.length;
|
|
102
|
+
this.isChecked =
|
|
103
|
+
filteredLength > 0 &&
|
|
104
|
+
filteredLength === this.filteredOptionsCache.length;
|
|
71
105
|
}
|
|
72
106
|
}
|
|
73
107
|
toggleSelectAll(selectAllValue) {
|
|
74
|
-
this.filteredOptions
|
|
75
|
-
//.pipe(take(1), takeUntil(this._onDestroy))
|
|
76
|
-
.subscribe((options) => {
|
|
108
|
+
this.filteredOptions.subscribe((options) => {
|
|
77
109
|
if (selectAllValue) {
|
|
78
110
|
this.formControl?.patchValue(options);
|
|
79
111
|
}
|
|
@@ -81,13 +113,25 @@ export class MapaDropdownComponent {
|
|
|
81
113
|
this.formControl?.patchValue([]);
|
|
82
114
|
}
|
|
83
115
|
});
|
|
116
|
+
this.filteredGroups.subscribe((groups) => {
|
|
117
|
+
if (selectAllValue) {
|
|
118
|
+
this.formControl?.patchValue(groups.map((group) => group.options));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.formControl?.patchValue([]);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
isElementGroup(object) {
|
|
126
|
+
return (object.label !== undefined &&
|
|
127
|
+
object.options !== undefined);
|
|
84
128
|
}
|
|
85
129
|
}
|
|
86
130
|
MapaDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
-
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\n
|
|
131
|
+
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup *ngFor=\"let group of filteredGroups | async\" [label]=\"group.label\">\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error\n *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n</mat-form-field>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i6.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
88
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, decorators: [{
|
|
89
133
|
type: Component,
|
|
90
|
-
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\n
|
|
134
|
+
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup *ngFor=\"let group of filteredGroups | async\" [label]=\"group.label\">\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error\n *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n</mat-form-field>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
|
|
91
135
|
}], ctorParameters: function () { return []; }, propDecorators: { formControl: [{
|
|
92
136
|
type: Input
|
|
93
137
|
}], formControlSearch: [{
|
|
@@ -100,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
100
144
|
type: ViewChild,
|
|
101
145
|
args: ["dropdown", { static: true }]
|
|
102
146
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQVloRCxNQUFNLE9BQU8scUJBQXFCO0lBaUJoQztRQVRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFM0Msb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUVILENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVyRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxZQUFZO2dCQUMzQyxtQ0FBbUM7aUJBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVTLGFBQWE7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ3pCLE9BQU87U0FDUjtRQUNELHlCQUF5QjtRQUN6QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDckQsT0FBTztTQUNSO1FBQ0QscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3JELENBQUMsTUFBcUIsRUFBRSxFQUFFLENBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNsRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVTLGVBQWU7UUFDdkIsSUFBSSxDQUFDLGVBQWU7WUFDbEIsNENBQTRDO2FBQzNDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQVUsRUFBRSxDQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQztRQUVyRCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQzFCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3JDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQy9DLGNBQWMsRUFBRSxDQUFDO2lCQUNsQjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLEdBQUcsQ0FBQyxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1lBQy9GLElBQUksQ0FBQyxTQUFTLEdBQUcsY0FBYyxHQUFHLENBQUMsSUFBSSxjQUFjLEtBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztTQUM1RjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsY0FBdUI7UUFDckMsSUFBSSxDQUFDLGVBQWU7WUFDbEIsNENBQTRDO2FBQzNDLFNBQVMsQ0FBQyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDbEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O21IQTlGVSxxQkFBcUI7dUdBQXJCLHFCQUFxQiwrUkMxQmxDLHkzREF1REE7NEZEN0JhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7MEVBRzVCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRW1DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwcm90ZWN0ZWQgZmlsdGVyZWRPcHRpb25zQ2FjaGU6IEVsZW1lbnRPcHRpb25bXSA9IFtdO1xuICBwcm90ZWN0ZWQgX29uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIFxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSB0aGlzLmVsZW1lbnQub3B0aW9ucy5zbGljZSgpO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnNlYXJjaCkge1xuICAgICAgdGhpcy5lbGVtZW50LnNlYXJjaC5mb3JtQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgIC8vLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5fb25EZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9ucygpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudC5vcHRpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGdldCB0aGUgc2VhcmNoIGtleXdvcmRcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICghc2VhcmNoKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGZpbHRlciB0aGUgb3B0aW9uc1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSB0aGlzLmVsZW1lbnQub3B0aW9ucy5maWx0ZXIoXG4gICAgICAob3B0aW9uOiBFbGVtZW50T3B0aW9uKSA9PlxuICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICk7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRJbml0aWFsVmFsdWUoKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNcbiAgICAgIC8vLnBpcGUodGFrZSgxKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jb21wYXJlV2l0aCA9IChhOiBFbGVtZW50LCBiOiBFbGVtZW50KSA9PiBhICYmIGIgJiYgYS5pZCA9PT0gYi5pZDtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgbGV0IGZpbHRlcmVkTGVuZ3RoID0gMDtcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuXG4gICAgaWYgKHNlYXJjaCAmJiBzZWFyY2gudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUuZm9yRWFjaChlbCA9PiB7XG4gICAgICAgIGlmIChzZWFyY2gudmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGVsKSA+IC0xKSB7XG4gICAgICAgICAgZmlsdGVyZWRMZW5ndGgrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9IGZpbHRlcmVkTGVuZ3RoID4gMCAmJiBmaWx0ZXJlZExlbmd0aCA8IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPSBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPT09IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdEFsbChzZWxlY3RBbGxWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zXG4gICAgICAvLy5waXBlKHRha2UoMSksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUob3B0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICB7eyBlbGVtZW50LmxhYmVsIH19XG48L2xhYmVsPlxuPG1hdC1mb3JtLWZpZWxkXG4gIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXNvZnQtYm9yZGVyXT1cImJvcmRlciA9PT0gJ3NvZnQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCI+XG4gIDxtYXQtc2VsZWN0XG4gICAgI2Ryb3Bkb3duXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImVsZW1lbnQucGxhY2Vob2xkZXIgfHwgJydcIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJlbGVtZW50LnNlYXJjaFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fc2VhcmNoXCI+XG4gICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbc2hvd1RvZ2dsZUFsbENoZWNrYm94XT1cInRydWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICBbbm9FbnRyaWVzRm91bmRMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5ub0VudHJpZXNGb3VuZExhYmVsIHx8ICcnXCJcbiAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICh0b2dnbGVBbGwpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LXNlbGVjdD5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LnJlcXVpcmVkIH19XG4gIDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5jcGYgfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDxtYXQtZXJyb3JcbiAgICAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignY25waicpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmNucGogfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDxtYXQtZXJyb3JcbiAgICAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignZW1haWwnKVwiPlxuICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICA8L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQWFoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQWRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFD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VixpQkFBaUIsQ0FBQyxJQUFJOzBFQUc1QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVtQyxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1JlcGxheVN1YmplY3RcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9TdWJqZWN0XCI7XG4vL2ltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZWxlbWVudHMvZHJvcGRvd25cIjtcbmltcG9ydCB7IEVsZW1lbnRHcm91cCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xTZWFyY2ghOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duO1xuICBASW5wdXQoKSBib3JkZXI6IFwic29mdFwiIHwgXCJ0YWdcIiB8IFwiaGlnaGxpZ2h0XCIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93biE6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRPcHRpb25bXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50T3B0aW9uW11cbiAgPigxKTtcbiAgcHVibGljIGZpbHRlcmVkR3JvdXBzOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRHcm91cFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRHcm91cFtdXG4gID4oMSk7XG4gIHByb3RlY3RlZCBmaWx0ZXJlZE9wdGlvbnNDYWNoZTogRWxlbWVudE9wdGlvbltdID0gW107XG4gIHByb3RlY3RlZCBmaWx0ZXJlZEdyb3VwQ2FjaGU6IEVsZW1lbnRHcm91cFtdID0gW107XG4gIHByb3RlY3RlZCBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG4gIGlzT3B0aW9uc0dyb3VwID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXNPcHRpb25zR3JvdXAgPSB0aGlzLmlzRWxlbWVudEdyb3VwKHRoaXMuZWxlbWVudC5vcHRpb25zWzBdKTtcblxuICAgIGlmICh0aGlzLmlzT3B0aW9uc0dyb3VwKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9ICh0aGlzLmVsZW1lbnRcbiAgICAgICAgLm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW10pLnNsaWNlKCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW10pLnNsaWNlKCk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVsZW1lbnQuc2VhcmNoKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLy8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gICAgICAgICAgdGhpcy5zZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldEluaXRpYWxWYWx1ZSgpIHtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc1xuICAgICAgLy8ucGlwZSh0YWtlKDEpLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLmNvbXBhcmVXaXRoID0gKGE6IEVsZW1lbnQsIGI6IEVsZW1lbnQpID0+XG4gICAgICAgICAgYSAmJiBiICYmIGEuaWQgPT09IGIuaWQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCkge1xuICAgIGxldCBmaWx0ZXJlZExlbmd0aCA9IDA7XG4gICAgbGV0IHNlYXJjaCA9IHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZTtcblxuICAgIGlmIChzZWFyY2ggJiYgc2VhcmNoLnZhbHVlKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgIGlmIChzZWFyY2gudmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGVsKSA+IC0xKSB7XG4gICAgICAgICAgZmlsdGVyZWRMZW5ndGgrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJiBmaWx0ZXJlZExlbmd0aCA8IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiZcbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPT09IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdEFsbChzZWxlY3RBbGxWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpc0VsZW1lbnRHcm91cChvYmplY3Q6IEVsZW1lbnRHcm91cCB8IEVsZW1lbnRPcHRpb24pOiBvYmplY3QgaXMgRWxlbWVudEdyb3VwIHtcbiAgICByZXR1cm4gKFxuICAgICAgKG9iamVjdCBhcyBFbGVtZW50R3JvdXApLmxhYmVsICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICApO1xuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICB7eyBlbGVtZW50LmxhYmVsIH19XG48L2xhYmVsPlxuPG1hdC1mb3JtLWZpZWxkXG4gIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXNvZnQtYm9yZGVyXT1cImJvcmRlciA9PT0gJ3NvZnQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCI+XG4gIDxtYXQtc2VsZWN0XG4gICAgI2Ryb3Bkb3duXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImVsZW1lbnQucGxhY2Vob2xkZXIgfHwgJydcIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJlbGVtZW50LnNlYXJjaFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fc2VhcmNoXCI+XG4gICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbc2hvd1RvZ2dsZUFsbENoZWNrYm94XT1cInRydWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICBbbm9FbnRyaWVzRm91bmRMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5ub0VudHJpZXNGb3VuZExhYmVsIHx8ICcnXCJcbiAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICh0b2dnbGVBbGwpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09wdGlvbnNHcm91cDsgZWxzZSBpc0VsZW1lbnRPcHRpb25zXCI+XG4gICAgICA8bWF0LW9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCIgW2xhYmVsXT1cImdyb3VwLmxhYmVsXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZ3JvdXAub3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtb3B0Z3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAge3sgb3B0aW9uLnZhbHVlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDxtYXQtZXJyb3JcbiAgICAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ubWlubGVuZ3RoIH19XG4gIDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NwZicpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmNwZiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjbnBqJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmVtYWlsIH19XG4gIDwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -23,4 +23,4 @@ export class ElementBase {
|
|
|
23
23
|
this.errors = options.errors || undefined;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29yZS9lbGVtZW50cy9lbGVtZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLFdBQVc7SUF1QnRCLFlBQ0UsVUFzQkksRUFBRTtRQUVOLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50R3JvdXAgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRWxlbWVudE9wdGlvbiB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRWxlbWVudFNlYXJjaCB9IGZyb20gXCIuL2VsZW1lbnQtc2VhcmNoXCI7XG5pbXBvcnQgeyBFcnJvcnMgfSBmcm9tIFwiLi9lcnJvcnNcIjtcblxuZXhwb3J0IGNsYXNzIEVsZW1lbnRCYXNlIHtcbiAgdmFsdWU6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBvcmRlcjogbnVtYmVyO1xuICBjb250cm9sVHlwZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgYXV0b3NpemU/OiBib29sZWFuO1xuICBhdXRvc2l6ZU1pbldpZHRoPzogc3RyaW5nO1xuICBhdXRvc2l6ZU1heFdpZHRoPzogc3RyaW5nO1xuICBhdXRvc2l6ZU1pblJvdz86IG51bWJlcjtcbiAgYXV0b3NpemVNYXhSb3c/OiBudW1iZXI7XG4gIG9wdGlvbnM6IEVsZW1lbnRPcHRpb25bXSB8IEVsZW1lbnRHcm91cFtdO1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIHNlYXJjaD86IEVsZW1lbnRTZWFyY2g7XG4gIG1heExlbmd0aCE6IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gIGVycm9ycz86IEVycm9ycztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiB7XG4gICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgIGtleT86IHN0cmluZztcbiAgICAgIGxhYmVsPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAgb3JkZXI/OiBudW1iZXI7XG4gICAgICBjb250cm9sVHlwZT86IHN0cmluZztcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICAgIGhpbnQ/OiBzdHJpbmc7XG4gICAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgICBhdXRvc2l6ZT86IGJvb2xlYW47XG4gICAgICBhdXRvc2l6ZU1pbldpZHRoPzogc3RyaW5nO1xuICAgICAgYXV0b3NpemVNYXhXaWR0aD86IHN0cmluZztcbiAgICAgIGF1dG9zaXplTWluUm93PzogbnVtYmVyO1xuICAgICAgYXV0b3NpemVNYXhSb3c/OiBudW1iZXI7XG4gICAgICBvcHRpb25zPzogRWxlbWVudE9wdGlvbltdIHwgRWxlbWVudEdyb3VwW107XG4gICAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgICBzZWFyY2g/OiBFbGVtZW50U2VhcmNoO1xuICAgICAgbWF4TGVuZ3RoPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICAgIGVycm9ycz86IEVycm9ycztcbiAgICB9ID0ge31cbiAgKSB7XG4gICAgdGhpcy52YWx1ZSA9IG9wdGlvbnMudmFsdWUgfHwgXCJcIjtcbiAgICB0aGlzLmtleSA9IG9wdGlvbnMua2V5IHx8IFwiXCI7XG4gICAgdGhpcy5sYWJlbCA9IG9wdGlvbnMubGFiZWwgfHwgXCJcIjtcbiAgICB0aGlzLnJlcXVpcmVkID0gISFvcHRpb25zLnJlcXVpcmVkO1xuICAgIHRoaXMub3JkZXIgPSBvcHRpb25zLm9yZGVyID09PSB1bmRlZmluZWQgPyAxIDogb3B0aW9ucy5vcmRlcjtcbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gb3B0aW9ucy5jb250cm9sVHlwZSB8fCBcIlwiO1xuICAgIHRoaXMudHlwZSA9IG9wdGlvbnMudHlwZSB8fCBcIlwiO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBvcHRpb25zLnBsYWNlaG9sZGVyIHx8IFwiXCI7XG4gICAgdGhpcy5oaW50ID0gb3B0aW9ucy5oaW50IHx8IFwiXCI7XG4gICAgdGhpcy5wcmVmaXggPSBvcHRpb25zLnByZWZpeCB8fCBcIlwiO1xuICAgIHRoaXMuc3VmZml4ID0gb3B0aW9ucy5zdWZmaXggfHwgXCJcIjtcbiAgICB0aGlzLmF1dG9zaXplID0gb3B0aW9ucy5hdXRvc2l6ZSB8fCBmYWxzZTtcbiAgICB0aGlzLmF1dG9zaXplTWluV2lkdGggPSBvcHRpb25zLmF1dG9zaXplTWluV2lkdGggfHwgXCIyMTJweFwiO1xuICAgIHRoaXMuYXV0b3NpemVNYXhXaWR0aCA9IG9wdGlvbnMuYXV0b3NpemVNYXhXaWR0aCB8fCBcIjQwMHB4XCI7XG4gICAgdGhpcy5hdXRvc2l6ZU1pblJvdyA9IG9wdGlvbnMuYXV0b3NpemVNaW5Sb3cgfHwgMjtcbiAgICB0aGlzLmF1dG9zaXplTWF4Um93ID0gb3B0aW9ucy5hdXRvc2l6ZU1heFJvdyB8fCA1O1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCBbXTtcbiAgICB0aGlzLm11bHRpcGxlID0gb3B0aW9ucy5tdWx0aXBsZSB8fCBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaCA9IG9wdGlvbnMuc2VhcmNoIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLm1heExlbmd0aCA9IG9wdGlvbnMubWF4TGVuZ3RoIHx8IG51bGw7XG4gICAgdGhpcy5lcnJvcnMgPSBvcHRpb25zLmVycm9ycyB8fCB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1ncm91cC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50R3JvdXAge1xuICBsYWJlbDogc3RyaW5nO1xuICBvcHRpb25zOiBFbGVtZW50T3B0aW9uW107XG59XG4iXX0=
|
package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs
CHANGED
|
@@ -11,14 +11,26 @@ import * as i6 from "ngx-mat-select-search";
|
|
|
11
11
|
export class MapaDropdownComponent {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.filteredOptions = new ReplaySubject(1);
|
|
14
|
+
this.filteredGroups = new ReplaySubject(1);
|
|
14
15
|
this.filteredOptionsCache = [];
|
|
16
|
+
this.filteredGroupCache = [];
|
|
15
17
|
this._onDestroy = new Subject();
|
|
16
18
|
this.isIndeterminate = false;
|
|
17
19
|
this.isChecked = false;
|
|
20
|
+
this.isOptionsGroup = false;
|
|
18
21
|
}
|
|
19
22
|
ngOnInit() {
|
|
20
|
-
this.
|
|
21
|
-
|
|
23
|
+
this.isOptionsGroup = this.isElementGroup(this.element.options[0]);
|
|
24
|
+
if (this.isOptionsGroup) {
|
|
25
|
+
this.filteredGroupCache = this.element
|
|
26
|
+
.options.slice();
|
|
27
|
+
this.filteredGroups.next(this.filteredGroupCache);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.filteredOptionsCache = this.element
|
|
31
|
+
.options.slice();
|
|
32
|
+
this.filteredOptions.next(this.filteredOptionsCache);
|
|
33
|
+
}
|
|
22
34
|
if (this.element.search) {
|
|
23
35
|
this.element.search.formControl?.valueChanges
|
|
24
36
|
//.pipe(takeUntil(this._onDestroy))
|
|
@@ -35,20 +47,39 @@ export class MapaDropdownComponent {
|
|
|
35
47
|
this._onDestroy.next();
|
|
36
48
|
this._onDestroy.complete();
|
|
37
49
|
}
|
|
50
|
+
filterOptionsFromGroup(group, value) {
|
|
51
|
+
const filterValue = value.toLocaleLowerCase();
|
|
52
|
+
return group.label.toLocaleLowerCase().includes(filterValue)
|
|
53
|
+
? group.options
|
|
54
|
+
: group.options.filter((item) => item.value.toLocaleLowerCase().includes(filterValue));
|
|
55
|
+
}
|
|
38
56
|
filterOptions() {
|
|
39
57
|
if (!this.element.options) {
|
|
40
58
|
return;
|
|
41
59
|
}
|
|
42
60
|
// get the search keyword
|
|
43
61
|
let search = this.element.search?.formControl?.value;
|
|
44
|
-
if (
|
|
45
|
-
|
|
62
|
+
if (this.isOptionsGroup) {
|
|
63
|
+
const groups = this.element.options;
|
|
64
|
+
this.filteredGroupCache = groups
|
|
65
|
+
.map((group) => ({
|
|
66
|
+
label: group.label,
|
|
67
|
+
options: this.filterOptionsFromGroup(group, search),
|
|
68
|
+
}))
|
|
69
|
+
.filter((group) => group.options.length > 0);
|
|
70
|
+
this.filteredGroups.next(this.filteredGroupCache);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
const options = this.element.options;
|
|
74
|
+
if (!search) {
|
|
75
|
+
this.filteredOptionsCache = options.slice();
|
|
76
|
+
this.filteredOptions.next(this.filteredOptionsCache);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// filter the options
|
|
80
|
+
this.filteredOptionsCache = options.filter((option) => option.value.toLowerCase().indexOf(search) > -1);
|
|
46
81
|
this.filteredOptions.next(this.filteredOptionsCache);
|
|
47
|
-
return;
|
|
48
82
|
}
|
|
49
|
-
// filter the options
|
|
50
|
-
this.filteredOptionsCache = this.element.options.filter((option) => option.value.toLowerCase().indexOf(search) > -1);
|
|
51
|
-
this.filteredOptions.next(this.filteredOptionsCache);
|
|
52
83
|
}
|
|
53
84
|
setInitialValue() {
|
|
54
85
|
this.filteredOptions
|
|
@@ -61,19 +92,20 @@ export class MapaDropdownComponent {
|
|
|
61
92
|
let filteredLength = 0;
|
|
62
93
|
let search = this.element.search?.formControl?.value;
|
|
63
94
|
if (search && search.value) {
|
|
64
|
-
this.filteredOptionsCache.forEach(el => {
|
|
95
|
+
this.filteredOptionsCache.forEach((el) => {
|
|
65
96
|
if (search.value.toLowerCase().indexOf(el) > -1) {
|
|
66
97
|
filteredLength++;
|
|
67
98
|
}
|
|
68
99
|
});
|
|
69
|
-
this.isIndeterminate =
|
|
70
|
-
|
|
100
|
+
this.isIndeterminate =
|
|
101
|
+
filteredLength > 0 && filteredLength < this.filteredOptionsCache.length;
|
|
102
|
+
this.isChecked =
|
|
103
|
+
filteredLength > 0 &&
|
|
104
|
+
filteredLength === this.filteredOptionsCache.length;
|
|
71
105
|
}
|
|
72
106
|
}
|
|
73
107
|
toggleSelectAll(selectAllValue) {
|
|
74
|
-
this.filteredOptions
|
|
75
|
-
//.pipe(take(1), takeUntil(this._onDestroy))
|
|
76
|
-
.subscribe((options) => {
|
|
108
|
+
this.filteredOptions.subscribe((options) => {
|
|
77
109
|
if (selectAllValue) {
|
|
78
110
|
this.formControl?.patchValue(options);
|
|
79
111
|
}
|
|
@@ -81,13 +113,25 @@ export class MapaDropdownComponent {
|
|
|
81
113
|
this.formControl?.patchValue([]);
|
|
82
114
|
}
|
|
83
115
|
});
|
|
116
|
+
this.filteredGroups.subscribe((groups) => {
|
|
117
|
+
if (selectAllValue) {
|
|
118
|
+
this.formControl?.patchValue(groups.map((group) => group.options));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.formControl?.patchValue([]);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
isElementGroup(object) {
|
|
126
|
+
return (object.label !== undefined &&
|
|
127
|
+
object.options !== undefined);
|
|
84
128
|
}
|
|
85
129
|
}
|
|
86
130
|
MapaDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
-
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\n
|
|
131
|
+
MapaDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaDropdownComponent, selector: "mapa-dropdown", inputs: { formControl: "formControl", formControlSearch: "formControlSearch", element: "element", border: "border" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], ngImport: i0, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup *ngFor=\"let group of filteredGroups | async\" [label]=\"group.label\">\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error\n *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n</mat-form-field>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i6.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
88
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaDropdownComponent, decorators: [{
|
|
89
133
|
type: Component,
|
|
90
|
-
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\n
|
|
134
|
+
args: [{ selector: "mapa-dropdown", encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n</label>\n<mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\">\n <mat-select\n #dropdown\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup *ngFor=\"let group of filteredGroups | async\" [label]=\"group.label\">\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error\n *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error\n *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n</mat-form-field>\n", styles: [".mapa-dropdown{max-width:min-content;min-width:235px}.mapa-dropdown .mat-select{font-family:SF-Pro!important}.mapa-dropdown .mat-icon{display:flex;justify-content:center;align-items:center}.mapa-dropdown__label{display:block;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;margin-bottom:16px}.mapa-dropdown--highlight .mat-form-field-outline{border-radius:16px!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-width:2px!important;border-color:#eedb2a}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--highlight .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--soft-border .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important}.mapa-dropdown--tag .mat-form-field-outline{border-radius:16px!important;height:42px!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-width:1px!important;border-color:#cdcdcd}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-start{display:none!important}.mapa-dropdown--tag .mat-form-field-outline .mat-form-field-outline-end{border-radius:16px!important;border-left-style:solid!important}.mapa-dropdown .mat-form-field-outline{background-color:#fff;border-radius:8px}.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-start,.mapa-dropdown .mat-form-field-outline .mat-form-field-outline-end{border-width:2px}.mapa-dropdown .mat-form-field-flex{display:flex;align-items:center;height:48px}.mapa-dropdown .mat-form-field-infix{border-top:unset!important;padding:unset!important}.mapa-dropdown .mat-select-trigger{min-width:50px;padding-top:.3em;height:unset!important}.mapa-dropdown .mat-select-value-text{display:block;width:90%}.mapa-dropdown .mat-select-arrow-wrapper{transform:none!important}.mapa-dropdown .mat-select-arrow{border:unset}.mapa-dropdown .mat-select-arrow:before,.mapa-dropdown .mat-select-arrow:after{content:\"\";display:block;margin-top:-4px;position:absolute;right:10px;top:50%;width:0;border:solid black;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}.mapa-dropdown [aria-expanded=true] .mat-select-arrow{margin:6px 0 0}.mapa-dropdown [aria-expanded=true] .mat-select-arrow:before,.mapa-dropdown [aria-expanded=true] .mat-select-arrow:after{transform:rotate(-135deg)!important;-webkit-transform:rotate(-135deg)!important}.mapa-overlay-dropdown{transform:translate(-16px) translateY(36px)!important}.mapa-overlay-dropdown .mat-select-panel{border-radius:8px;min-width:calc(100% + 24px)!important}.mapa-overlay-dropdown .mat-select-panel .mat-option,.mapa-overlay-dropdown .mat-select-panel .mat-option-text{font-family:SF-Pro!important;font-size:16px;font-style:normal;font-weight:400;line-height:2em;height:2em;color:#50575e}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option{display:flex;padding:16px 8px!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;align-self:stretch;background:#f6f7f7;height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inside-mat-option{height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-clear{top:-3px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-inner{top:8px;border:2px solid #a7aaad;border-radius:8px!important;width:100%!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-toggle-all-checkbox{padding-left:8px!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input{padding:8px 8px 8px 6px!important;height:unset!important;line-height:unset!important}.mapa-overlay-dropdown .mapa-dropdown__search.mat-option .mat-select-search-input::placeholder{color:#c3c4c7!important}.mapa-overlay-dropdown .mapa-dropdown__search .mat-option-text{width:100%}.mapa-overlay-dropdown .mat-pseudo-checkbox{color:#c3c4c7!important}.mapa-overlay-dropdown .mat-checkbox-frame{border-color:#c3c4c7!important}\n"] }]
|
|
91
135
|
}], ctorParameters: function () { return []; }, propDecorators: { formControl: [{
|
|
92
136
|
type: Input
|
|
93
137
|
}], formControlSearch: [{
|
|
@@ -100,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
100
144
|
type: ViewChild,
|
|
101
145
|
args: ["dropdown", { static: true }]
|
|
102
146
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQVloRCxNQUFNLE9BQU8scUJBQXFCO0lBaUJoQztRQVRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFM0Msb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUVILENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVyRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxP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RTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDbEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O21IQTlGVSxxQkFBcUI7dUdBQXJCLHFCQUFxQiwrUkMxQmxDLHkzREF1REE7NEZEN0JhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7MEVBRzVCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRW1DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvUmVwbGF5U3ViamVjdFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1N1YmplY3RcIjtcbi8vaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbGVtZW50cy9kcm9wZG93blwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbFNlYXJjaCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBlbGVtZW50ITogRHJvcGRvd247XG4gIEBJbnB1dCgpIGJvcmRlcjogXCJzb2Z0XCIgfCBcInRhZ1wiIHwgXCJoaWdobGlnaHRcIiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duITogTWF0U2VsZWN0O1xuXG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IFJlcGxheVN1YmplY3Q8RWxlbWVudE9wdGlvbltdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRPcHRpb25bXVxuICA+KDEpO1xuICBwcm90ZWN0ZWQgZmlsdGVyZWRPcHRpb25zQ2FjaGU6IEVsZW1lbnRPcHRpb25bXSA9IFtdO1xuICBwcm90ZWN0ZWQgX29uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIFxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSB0aGlzLmVsZW1lbnQub3B0aW9ucy5zbGljZSgpO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnNlYXJjaCkge1xuICAgICAgdGhpcy5lbGVtZW50LnNlYXJjaC5mb3JtQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgIC8vLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucygpO1xuICAgICAgICAgIHRoaXMuc2V0VG9nZ2xlQWxsQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5fb25EZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlsdGVyT3B0aW9ucygpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudC5vcHRpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGdldCB0aGUgc2VhcmNoIGtleXdvcmRcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICghc2VhcmNoKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMuc2xpY2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGZpbHRlciB0aGUgb3B0aW9uc1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSB0aGlzLmVsZW1lbnQub3B0aW9ucy5maWx0ZXIoXG4gICAgICAob3B0aW9uOiBFbGVtZW50T3B0aW9uKSA9PlxuICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICk7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMubmV4dCh0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRJbml0aWFsVmFsdWUoKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNcbiAgICAgIC8vLnBpcGUodGFrZSgxKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jb21wYXJlV2l0aCA9IChhOiBFbGVtZW50LCBiOiBFbGVtZW50KSA9PiBhICYmIGIgJiYgYS5pZCA9PT0gYi5pZDtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRvZ2dsZUFsbENoZWNrYm94U3RhdGUoKSB7XG4gICAgbGV0IGZpbHRlcmVkTGVuZ3RoID0gMDtcbiAgICBsZXQgc2VhcmNoID0gdGhpcy5lbGVtZW50LnNlYXJjaD8uZm9ybUNvbnRyb2w/LnZhbHVlO1xuXG4gICAgaWYgKHNlYXJjaCAmJiBzZWFyY2gudmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUuZm9yRWFjaChlbCA9PiB7XG4gICAgICAgIGlmIChzZWFyY2gudmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGVsKSA+IC0xKSB7XG4gICAgICAgICAgZmlsdGVyZWRMZW5ndGgrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9IGZpbHRlcmVkTGVuZ3RoID4gMCAmJiBmaWx0ZXJlZExlbmd0aCA8IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPSBmaWx0ZXJlZExlbmd0aCA+IDAgJiYgZmlsdGVyZWRMZW5ndGggPT09IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdEFsbChzZWxlY3RBbGxWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zXG4gICAgICAvLy5waXBlKHRha2UoMSksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RBbGxWYWx1ZSkge1xuICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUob3B0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICB7eyBlbGVtZW50LmxhYmVsIH19XG48L2xhYmVsPlxuPG1hdC1mb3JtLWZpZWxkXG4gIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXNvZnQtYm9yZGVyXT1cImJvcmRlciA9PT0gJ3NvZnQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCI+XG4gIDxtYXQtc2VsZWN0XG4gICAgI2Ryb3Bkb3duXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImVsZW1lbnQucGxhY2Vob2xkZXIgfHwgJydcIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJlbGVtZW50LnNlYXJjaFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fc2VhcmNoXCI+XG4gICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbc2hvd1RvZ2dsZUFsbENoZWNrYm94XT1cInRydWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICBbbm9FbnRyaWVzRm91bmRMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5ub0VudHJpZXNGb3VuZExhYmVsIHx8ICcnXCJcbiAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICh0b2dnbGVBbGwpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LXNlbGVjdD5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LnJlcXVpcmVkIH19XG4gIDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/Lm1pbmxlbmd0aCB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjcGYnKVwiPlxuICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5jcGYgfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDxtYXQtZXJyb3JcbiAgICAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignY25waicpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmNucGogfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDxtYXQtZXJyb3JcbiAgICAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignZW1haWwnKVwiPlxuICAgIHt7IGVsZW1lbnQuZXJyb3JzPy5lbWFpbCB9fVxuICA8L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQWFoRCxNQUFNLE9BQU8scUJBQXFCO0lBc0JoQztRQWRPLG9CQUFlLEdBQW1DLElBQUksYUFBYSxDQUV4RSxDQUFDLENBQUMsQ0FBQztRQUNFLG1CQUFjLEdBQWtDLElBQUksYUFBYSxDQUV0RSxDQUFDLENBQUMsQ0FBQztRQUNLLHlCQUFvQixHQUFvQixFQUFFLENBQUM7UUFDM0MsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBRVIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFD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VixpQkFBaUIsQ0FBQyxJQUFJOzBFQUc1QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVtQyxRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gXCJyeGpzL2ludGVybmFsL1JlcGxheVN1YmplY3RcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9TdWJqZWN0XCI7XG4vL2ltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBFbGVtZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZWxlbWVudHMvZHJvcGRvd25cIjtcbmltcG9ydCB7IEVsZW1lbnRHcm91cCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xTZWFyY2ghOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZWxlbWVudCE6IERyb3Bkb3duO1xuICBASW5wdXQoKSBib3JkZXI6IFwic29mdFwiIHwgXCJ0YWdcIiB8IFwiaGlnaGxpZ2h0XCIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93biE6IE1hdFNlbGVjdDtcblxuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRPcHRpb25bXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxcbiAgICBFbGVtZW50T3B0aW9uW11cbiAgPigxKTtcbiAgcHVibGljIGZpbHRlcmVkR3JvdXBzOiBSZXBsYXlTdWJqZWN0PEVsZW1lbnRHcm91cFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgIEVsZW1lbnRHcm91cFtdXG4gID4oMSk7XG4gIHByb3RlY3RlZCBmaWx0ZXJlZE9wdGlvbnNDYWNoZTogRWxlbWVudE9wdGlvbltdID0gW107XG4gIHByb3RlY3RlZCBmaWx0ZXJlZEdyb3VwQ2FjaGU6IEVsZW1lbnRHcm91cFtdID0gW107XG4gIHByb3RlY3RlZCBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgaXNDaGVja2VkID0gZmFsc2U7XG4gIGlzT3B0aW9uc0dyb3VwID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXNPcHRpb25zR3JvdXAgPSB0aGlzLmlzRWxlbWVudEdyb3VwKHRoaXMuZWxlbWVudC5vcHRpb25zWzBdKTtcblxuICAgIGlmICh0aGlzLmlzT3B0aW9uc0dyb3VwKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9ICh0aGlzLmVsZW1lbnRcbiAgICAgICAgLm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW10pLnNsaWNlKCk7XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQodGhpcy5maWx0ZXJlZEdyb3VwQ2FjaGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gKHRoaXMuZWxlbWVudFxuICAgICAgICAub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW10pLnNsaWNlKCk7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVsZW1lbnQuc2VhcmNoKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2VhcmNoLmZvcm1Db250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLy8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gICAgICAgICAgdGhpcy5zZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zRnJvbUdyb3VwKFxuICAgIGdyb3VwOiBFbGVtZW50R3JvdXAsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBFbGVtZW50T3B0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBncm91cC5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0udmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50Lm9wdGlvbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxuICAgIGxldCBzZWFyY2ggPSB0aGlzLmVsZW1lbnQuc2VhcmNoPy5mb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICBpZiAodGhpcy5pc09wdGlvbnNHcm91cCkge1xuICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbGVtZW50Lm9wdGlvbnMgYXMgRWxlbWVudEdyb3VwW107XG4gICAgICB0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSA9IGdyb3Vwc1xuICAgICAgICAubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgICBvcHRpb25zOiB0aGlzLmZpbHRlck9wdGlvbnNGcm9tR3JvdXAoZ3JvdXAsIHNlYXJjaCksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucy5sZW5ndGggPiAwKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRHcm91cHMubmV4dCh0aGlzLmZpbHRlcmVkR3JvdXBDYWNoZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsZW1lbnQub3B0aW9ucyBhcyBFbGVtZW50T3B0aW9uW107XG4gICAgICBpZiAoIXNlYXJjaCkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlID0gb3B0aW9ucy5zbGljZSgpO1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5uZXh0KHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBmaWx0ZXIgdGhlIG9wdGlvbnNcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUgPSBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgKG9wdGlvbjogRWxlbWVudE9wdGlvbikgPT5cbiAgICAgICAgICBvcHRpb24udmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLm5leHQodGhpcy5maWx0ZXJlZE9wdGlvbnNDYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldEluaXRpYWxWYWx1ZSgpIHtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc1xuICAgICAgLy8ucGlwZSh0YWtlKDEpLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLmNvbXBhcmVXaXRoID0gKGE6IEVsZW1lbnQsIGI6IEVsZW1lbnQpID0+XG4gICAgICAgICAgYSAmJiBiICYmIGEuaWQgPT09IGIuaWQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUb2dnbGVBbGxDaGVja2JveFN0YXRlKCkge1xuICAgIGxldCBmaWx0ZXJlZExlbmd0aCA9IDA7XG4gICAgbGV0IHNlYXJjaCA9IHRoaXMuZWxlbWVudC5zZWFyY2g/LmZvcm1Db250cm9sPy52YWx1ZTtcblxuICAgIGlmIChzZWFyY2ggJiYgc2VhcmNoLnZhbHVlKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0NhY2hlLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgIGlmIChzZWFyY2gudmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGVsKSA+IC0xKSB7XG4gICAgICAgICAgZmlsdGVyZWRMZW5ndGgrKztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9XG4gICAgICAgIGZpbHRlcmVkTGVuZ3RoID4gMCAmJiBmaWx0ZXJlZExlbmd0aCA8IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPVxuICAgICAgICBmaWx0ZXJlZExlbmd0aCA+IDAgJiZcbiAgICAgICAgZmlsdGVyZWRMZW5ndGggPT09IHRoaXMuZmlsdGVyZWRPcHRpb25zQ2FjaGUubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdEFsbChzZWxlY3RBbGxWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zLnN1YnNjcmliZSgob3B0aW9uczogRWxlbWVudE9wdGlvbltdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyZWRHcm91cHMuc3Vic2NyaWJlKChncm91cHM6IEVsZW1lbnRHcm91cFtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0QWxsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShcbiAgICAgICAgICBncm91cHMubWFwKChncm91cDogRWxlbWVudEdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpc0VsZW1lbnRHcm91cChvYmplY3Q6IEVsZW1lbnRHcm91cCB8IEVsZW1lbnRPcHRpb24pOiBvYmplY3QgaXMgRWxlbWVudEdyb3VwIHtcbiAgICByZXR1cm4gKFxuICAgICAgKG9iamVjdCBhcyBFbGVtZW50R3JvdXApLmxhYmVsICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChvYmplY3QgYXMgRWxlbWVudEdyb3VwKS5vcHRpb25zICE9PSB1bmRlZmluZWRcbiAgICApO1xuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJlbGVtZW50LmxhYmVsXCIgY2xhc3M9XCJtYXBhLWRyb3Bkb3duX19sYWJlbFwiPlxuICB7eyBlbGVtZW50LmxhYmVsIH19XG48L2xhYmVsPlxuPG1hdC1mb3JtLWZpZWxkXG4gIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgY2xhc3M9XCJtYXBhLWRyb3Bkb3duXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWhpZ2hsaWdodF09XCJib3JkZXIgPT09ICdoaWdobGlnaHQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXNvZnQtYm9yZGVyXT1cImJvcmRlciA9PT0gJ3NvZnQnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLXRhZ109XCJib3JkZXIgPT09ICd0YWcnXCJcbiAgW2NsYXNzLm1hcGEtZHJvcGRvd24tLWxhYmVsZWRdPVwiISFlbGVtZW50LmxhYmVsXCI+XG4gIDxtYXQtc2VsZWN0XG4gICAgI2Ryb3Bkb3duXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImVsZW1lbnQucGxhY2Vob2xkZXIgfHwgJydcIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJlbGVtZW50LnNlYXJjaFwiIGNsYXNzPVwibWFwYS1kcm9wZG93bl9fc2VhcmNoXCI+XG4gICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICpuZ0lmPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbc2hvd1RvZ2dsZUFsbENoZWNrYm94XT1cInRydWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZWxlbWVudC5zZWFyY2guZm9ybUNvbnRyb2xcIlxuICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgIGkxOG4tcGxhY2Vob2xkZXJMYWJlbFxuICAgICAgICBbbm9FbnRyaWVzRm91bmRMYWJlbF09XCJlbGVtZW50LnNlYXJjaC5ub0VudHJpZXNGb3VuZExhYmVsIHx8ICcnXCJcbiAgICAgICAgW3RvZ2dsZUFsbENoZWNrYm94SW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIlxuICAgICAgICBbdG9nZ2xlQWxsQ2hlY2tib3hDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgICh0b2dnbGVBbGwpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgPjwvbmd4LW1hdC1zZWxlY3Qtc2VhcmNoPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09wdGlvbnNHcm91cDsgZWxzZSBpc0VsZW1lbnRPcHRpb25zXCI+XG4gICAgICA8bWF0LW9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZEdyb3VwcyB8IGFzeW5jXCIgW2xhYmVsXT1cImdyb3VwLmxhYmVsXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZ3JvdXAub3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAgICB7eyBvcHRpb24udmFsdWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtb3B0Z3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNpc0VsZW1lbnRPcHRpb25zPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAge3sgb3B0aW9uLnZhbHVlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ucmVxdWlyZWQgfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDxtYXQtZXJyb3JcbiAgICAqbmdJZj1cImZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8ubWlubGVuZ3RoIH19XG4gIDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yXG4gICAgKm5nSWY9XCJmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2NwZicpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmNwZiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdjbnBqJylcIj5cbiAgICB7eyBlbGVtZW50LmVycm9ycz8uY25waiB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvclxuICAgICpuZ0lmPVwiZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdlbWFpbCcpXCI+XG4gICAge3sgZWxlbWVudC5lcnJvcnM/LmVtYWlsIH19XG4gIDwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -23,4 +23,4 @@ export class ElementBase {
|
|
|
23
23
|
this.errors = options.errors || undefined;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29yZS9lbGVtZW50cy9lbGVtZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLFdBQVc7SUF1QnRCLFlBQ0UsVUFzQkksRUFBRTtRQUVOLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50R3JvdXAgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRWxlbWVudE9wdGlvbiB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRWxlbWVudFNlYXJjaCB9IGZyb20gXCIuL2VsZW1lbnQtc2VhcmNoXCI7XG5pbXBvcnQgeyBFcnJvcnMgfSBmcm9tIFwiLi9lcnJvcnNcIjtcblxuZXhwb3J0IGNsYXNzIEVsZW1lbnRCYXNlIHtcbiAgdmFsdWU6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBvcmRlcjogbnVtYmVyO1xuICBjb250cm9sVHlwZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgYXV0b3NpemU/OiBib29sZWFuO1xuICBhdXRvc2l6ZU1pbldpZHRoPzogc3RyaW5nO1xuICBhdXRvc2l6ZU1heFdpZHRoPzogc3RyaW5nO1xuICBhdXRvc2l6ZU1pblJvdz86IG51bWJlcjtcbiAgYXV0b3NpemVNYXhSb3c/OiBudW1iZXI7XG4gIG9wdGlvbnM6IEVsZW1lbnRPcHRpb25bXSB8IEVsZW1lbnRHcm91cFtdO1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIHNlYXJjaD86IEVsZW1lbnRTZWFyY2g7XG4gIG1heExlbmd0aCE6IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gIGVycm9ycz86IEVycm9ycztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiB7XG4gICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgIGtleT86IHN0cmluZztcbiAgICAgIGxhYmVsPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAgb3JkZXI/OiBudW1iZXI7XG4gICAgICBjb250cm9sVHlwZT86IHN0cmluZztcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICAgIGhpbnQ/OiBzdHJpbmc7XG4gICAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgICBhdXRvc2l6ZT86IGJvb2xlYW47XG4gICAgICBhdXRvc2l6ZU1pbldpZHRoPzogc3RyaW5nO1xuICAgICAgYXV0b3NpemVNYXhXaWR0aD86IHN0cmluZztcbiAgICAgIGF1dG9zaXplTWluUm93PzogbnVtYmVyO1xuICAgICAgYXV0b3NpemVNYXhSb3c/OiBudW1iZXI7XG4gICAgICBvcHRpb25zPzogRWxlbWVudE9wdGlvbltdIHwgRWxlbWVudEdyb3VwW107XG4gICAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgICBzZWFyY2g/OiBFbGVtZW50U2VhcmNoO1xuICAgICAgbWF4TGVuZ3RoPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICAgIGVycm9ycz86IEVycm9ycztcbiAgICB9ID0ge31cbiAgKSB7XG4gICAgdGhpcy52YWx1ZSA9IG9wdGlvbnMudmFsdWUgfHwgXCJcIjtcbiAgICB0aGlzLmtleSA9IG9wdGlvbnMua2V5IHx8IFwiXCI7XG4gICAgdGhpcy5sYWJlbCA9IG9wdGlvbnMubGFiZWwgfHwgXCJcIjtcbiAgICB0aGlzLnJlcXVpcmVkID0gISFvcHRpb25zLnJlcXVpcmVkO1xuICAgIHRoaXMub3JkZXIgPSBvcHRpb25zLm9yZGVyID09PSB1bmRlZmluZWQgPyAxIDogb3B0aW9ucy5vcmRlcjtcbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gb3B0aW9ucy5jb250cm9sVHlwZSB8fCBcIlwiO1xuICAgIHRoaXMudHlwZSA9IG9wdGlvbnMudHlwZSB8fCBcIlwiO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBvcHRpb25zLnBsYWNlaG9sZGVyIHx8IFwiXCI7XG4gICAgdGhpcy5oaW50ID0gb3B0aW9ucy5oaW50IHx8IFwiXCI7XG4gICAgdGhpcy5wcmVmaXggPSBvcHRpb25zLnByZWZpeCB8fCBcIlwiO1xuICAgIHRoaXMuc3VmZml4ID0gb3B0aW9ucy5zdWZmaXggfHwgXCJcIjtcbiAgICB0aGlzLmF1dG9zaXplID0gb3B0aW9ucy5hdXRvc2l6ZSB8fCBmYWxzZTtcbiAgICB0aGlzLmF1dG9zaXplTWluV2lkdGggPSBvcHRpb25zLmF1dG9zaXplTWluV2lkdGggfHwgXCIyMTJweFwiO1xuICAgIHRoaXMuYXV0b3NpemVNYXhXaWR0aCA9IG9wdGlvbnMuYXV0b3NpemVNYXhXaWR0aCB8fCBcIjQwMHB4XCI7XG4gICAgdGhpcy5hdXRvc2l6ZU1pblJvdyA9IG9wdGlvbnMuYXV0b3NpemVNaW5Sb3cgfHwgMjtcbiAgICB0aGlzLmF1dG9zaXplTWF4Um93ID0gb3B0aW9ucy5hdXRvc2l6ZU1heFJvdyB8fCA1O1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCBbXTtcbiAgICB0aGlzLm11bHRpcGxlID0gb3B0aW9ucy5tdWx0aXBsZSB8fCBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaCA9IG9wdGlvbnMuc2VhcmNoIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLm1heExlbmd0aCA9IG9wdGlvbnMubWF4TGVuZ3RoIHx8IG51bGw7XG4gICAgdGhpcy5lcnJvcnMgPSBvcHRpb25zLmVycm9ycyB8fCB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|