@mozaic-ds/angular 0.24.0-beta.6 → 0.24.0-beta.8
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/adeo/components/autocomplete/autocomplete.component.d.ts +11 -12
- package/adeo/components/dropdown/dropdown.component.d.ts +8 -15
- package/adeo/components/header/header.component.d.ts +7 -3
- package/adeo/components/listbox/listbox.component.d.ts +45 -9
- package/adeo/components/listbox/model/listbox-item.d.ts +3 -1
- package/adeo/components/public-api.d.ts +1 -0
- package/adeo/components/segmented-control/index.d.ts +4 -0
- package/adeo/components/segmented-control/public-api.d.ts +1 -0
- package/adeo/components/segmented-control/segmented-control-button/segmented-control-button.component.d.ts +7 -0
- package/adeo/components/segmented-control/segmented-control-size.d.ts +2 -0
- package/adeo/components/segmented-control/segmented-control.component.d.ts +9 -0
- package/adeo/components/segmented-control/segmented-control.module.d.ts +9 -0
- package/adeo/components/sidebar/model/models.d.ts +1 -1
- package/adeo/components/sidebar/moz-sidebar.component.d.ts +4 -3
- package/adeo/esm2020/components/autocomplete/autocomplete.component.mjs +49 -78
- package/adeo/esm2020/components/datatable/components/selection/moz-datatable-selection.component.mjs +2 -2
- package/adeo/esm2020/components/datatable/directives/moz-datatable-sort.directive.mjs +12 -10
- package/adeo/esm2020/components/datatable/moz-datatable.component.mjs +3 -3
- package/adeo/esm2020/components/dropdown/dropdown.component.mjs +45 -82
- package/adeo/esm2020/components/file-uploader/file-uploader.component.mjs +26 -9
- package/adeo/esm2020/components/header/header.component.mjs +17 -4
- package/adeo/esm2020/components/listbox/listbox.component.mjs +233 -17
- package/adeo/esm2020/components/listbox/model/listbox-item.mjs +1 -1
- package/adeo/esm2020/components/phone-number/phone-number.component.mjs +1 -1
- package/adeo/esm2020/components/public-api.mjs +2 -1
- package/adeo/esm2020/components/segmented-control/index.mjs +5 -0
- package/adeo/esm2020/components/segmented-control/public-api.mjs +2 -0
- package/adeo/esm2020/components/segmented-control/segmented-control-button/segmented-control-button.component.mjs +21 -0
- package/adeo/esm2020/components/segmented-control/segmented-control-size.mjs +2 -0
- package/adeo/esm2020/components/segmented-control/segmented-control.component.mjs +23 -0
- package/adeo/esm2020/components/segmented-control/segmented-control.module.mjs +19 -0
- package/adeo/esm2020/components/sidebar/components/user/moz-sidebar-user.component.mjs +1 -1
- package/adeo/esm2020/components/sidebar/model/models.mjs +1 -1
- package/adeo/esm2020/components/sidebar/moz-sidebar.component.mjs +11 -8
- package/adeo/fesm2015/mozaic-ds-angular.mjs +443 -202
- package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -1
- package/adeo/fesm2020/mozaic-ds-angular.mjs +440 -197
- package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -1
- package/adeo/package.json +1 -1
- package/components/autocomplete/autocomplete.component.d.ts +11 -12
- package/components/dropdown/dropdown.component.d.ts +8 -15
- package/components/header/header.component.d.ts +7 -3
- package/components/listbox/listbox.component.d.ts +45 -9
- package/components/listbox/model/listbox-item.d.ts +3 -1
- package/components/public-api.d.ts +1 -0
- package/components/segmented-control/index.d.ts +4 -0
- package/components/segmented-control/public-api.d.ts +1 -0
- package/components/segmented-control/segmented-control-button/segmented-control-button.component.d.ts +7 -0
- package/components/segmented-control/segmented-control-size.d.ts +2 -0
- package/components/segmented-control/segmented-control.component.d.ts +9 -0
- package/components/segmented-control/segmented-control.module.d.ts +9 -0
- package/components/sidebar/model/models.d.ts +1 -1
- package/components/sidebar/moz-sidebar.component.d.ts +4 -3
- package/esm2020/components/autocomplete/autocomplete.component.mjs +49 -78
- package/esm2020/components/datatable/components/selection/moz-datatable-selection.component.mjs +2 -2
- package/esm2020/components/datatable/directives/moz-datatable-sort.directive.mjs +12 -10
- package/esm2020/components/datatable/moz-datatable.component.mjs +3 -3
- package/esm2020/components/dropdown/dropdown.component.mjs +45 -82
- package/esm2020/components/file-uploader/file-uploader.component.mjs +26 -9
- package/esm2020/components/header/header.component.mjs +17 -4
- package/esm2020/components/listbox/listbox.component.mjs +233 -17
- package/esm2020/components/listbox/model/listbox-item.mjs +1 -1
- package/esm2020/components/phone-number/phone-number.component.mjs +1 -1
- package/esm2020/components/public-api.mjs +2 -1
- package/esm2020/components/segmented-control/index.mjs +5 -0
- package/esm2020/components/segmented-control/public-api.mjs +2 -0
- package/esm2020/components/segmented-control/segmented-control-button/segmented-control-button.component.mjs +21 -0
- package/esm2020/components/segmented-control/segmented-control-size.mjs +2 -0
- package/esm2020/components/segmented-control/segmented-control.component.mjs +23 -0
- package/esm2020/components/segmented-control/segmented-control.module.mjs +19 -0
- package/esm2020/components/sidebar/components/user/moz-sidebar-user.component.mjs +1 -1
- package/esm2020/components/sidebar/model/models.mjs +1 -1
- package/esm2020/components/sidebar/moz-sidebar.component.mjs +11 -8
- package/fesm2015/mozaic-ds-angular.mjs +443 -202
- package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
- package/fesm2020/mozaic-ds-angular.mjs +440 -197
- package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Injector, Input, Output, ViewChild, forwardRef, } from '@angular/core';
|
|
2
2
|
import { FormControlName, FormGroupDirective, NG_VALUE_ACCESSOR, NgControl, } from '@angular/forms';
|
|
3
|
-
import { Subject, fromEvent, takeUntil } from 'rxjs';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
import * as i1 from "@angular/common";
|
|
6
5
|
import * as i2 from "../tag/tag.component";
|
|
@@ -11,9 +10,8 @@ import * as i6 from "../icon/icon.component";
|
|
|
11
10
|
import * as i7 from "../loader/loader.component";
|
|
12
11
|
import * as i8 from "../text-input/text-input.component";
|
|
13
12
|
export class AutocompleteComponent {
|
|
14
|
-
constructor(injector,
|
|
13
|
+
constructor(injector, cd) {
|
|
15
14
|
this.injector = injector;
|
|
16
|
-
this.eRef = eRef;
|
|
17
15
|
this.cd = cd;
|
|
18
16
|
this.listboxItems = [];
|
|
19
17
|
this.multiple = false;
|
|
@@ -32,15 +30,18 @@ export class AutocompleteComponent {
|
|
|
32
30
|
this.withSearchFilter = true;
|
|
33
31
|
this.openState = false;
|
|
34
32
|
this.searchUpdated = new EventEmitter();
|
|
35
|
-
this.
|
|
33
|
+
this.inputClicked = new EventEmitter();
|
|
34
|
+
this.scrollEnd = new EventEmitter();
|
|
36
35
|
this.search = '';
|
|
37
36
|
this.initialListboxItems = [];
|
|
38
37
|
this.onAutocompleteChange = () => { };
|
|
39
|
-
this.
|
|
38
|
+
this.onAutocompleteTouch = () => { };
|
|
40
39
|
this.noResults = false;
|
|
41
40
|
}
|
|
42
|
-
|
|
41
|
+
ngOnChanges() {
|
|
43
42
|
this.initialListboxItems = this.listboxItems.map((x) => ({ ...x }));
|
|
43
|
+
}
|
|
44
|
+
ngOnInit() {
|
|
44
45
|
const ngControl = this.injector.get(NgControl);
|
|
45
46
|
if (ngControl instanceof FormControlName) {
|
|
46
47
|
this.control = this.injector.get(FormGroupDirective).getControl(ngControl);
|
|
@@ -58,64 +59,15 @@ export class AutocompleteComponent {
|
|
|
58
59
|
this.onAutocompleteChange = fn;
|
|
59
60
|
}
|
|
60
61
|
registerOnTouched(fn) {
|
|
61
|
-
this.
|
|
62
|
-
}
|
|
63
|
-
ngOnDestroy() {
|
|
64
|
-
if (this.listboxElementRef) {
|
|
65
|
-
const mozListbox = this.listboxElementRef.nativeElement;
|
|
66
|
-
if (mozListbox && mozListbox.parentNode) {
|
|
67
|
-
mozListbox.parentNode.removeChild(mozListbox);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
this.destroyed.next(null);
|
|
71
|
-
this.destroyed.complete();
|
|
72
|
-
}
|
|
73
|
-
ngAfterViewInit() {
|
|
74
|
-
fromEvent(window, 'resize')
|
|
75
|
-
.pipe(takeUntil(this.destroyed))
|
|
76
|
-
.subscribe(() => {
|
|
77
|
-
this.closeListbox();
|
|
78
|
-
this.cd.detectChanges();
|
|
79
|
-
});
|
|
80
|
-
fromEvent(window, 'scroll')
|
|
81
|
-
.pipe(takeUntil(this.destroyed))
|
|
82
|
-
.subscribe(() => {
|
|
83
|
-
this.closeListbox();
|
|
84
|
-
this.cd.detectChanges();
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
clickout(event) {
|
|
88
|
-
const listboxHtmlElementContainsClickTarget = this.listboxElementRef && this.listboxElementRef.nativeElement.contains(event.target);
|
|
89
|
-
const autocompleteInputContainsClickTarget = this.eRef.nativeElement.contains(event.target);
|
|
90
|
-
if ((!listboxHtmlElementContainsClickTarget && !autocompleteInputContainsClickTarget) ||
|
|
91
|
-
this.disabled) {
|
|
92
|
-
this.closeListbox();
|
|
93
|
-
}
|
|
62
|
+
this.onAutocompleteTouch = fn;
|
|
94
63
|
}
|
|
95
64
|
openListbox() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
setTimeout(() => {
|
|
99
|
-
const mozListbox = this.listboxElementRef.nativeElement;
|
|
100
|
-
const inputElement = this.eRef.nativeElement.firstChild;
|
|
101
|
-
const inputRect = inputElement.getBoundingClientRect();
|
|
102
|
-
mozListbox.style.position = 'absolute';
|
|
103
|
-
mozListbox.style.top = inputRect.bottom + window.scrollY + 'px';
|
|
104
|
-
mozListbox.style.left = inputRect.left + window.scrollX + 'px';
|
|
105
|
-
mozListbox.style.width = inputRect.width + 'px';
|
|
106
|
-
this.originalListboxParent = mozListbox.parentElement;
|
|
107
|
-
document.body.appendChild(mozListbox);
|
|
108
|
-
}, 10);
|
|
109
|
-
}
|
|
65
|
+
this.openState = true;
|
|
66
|
+
this.inputClicked.emit(true);
|
|
110
67
|
}
|
|
111
68
|
closeListbox() {
|
|
112
69
|
this.openState = false;
|
|
113
|
-
if (this.originalListboxParent && this.listboxElementRef) {
|
|
114
|
-
this.originalListboxParent.appendChild(this.listboxElementRef.nativeElement);
|
|
115
|
-
this.originalListboxParent = null;
|
|
116
|
-
}
|
|
117
70
|
this.listboxItems = this.initialListboxItems;
|
|
118
|
-
this.control?.markAsTouched();
|
|
119
71
|
}
|
|
120
72
|
itemsSelectedListboxEvent(listboxItemSelected) {
|
|
121
73
|
if (!this.multiple) {
|
|
@@ -123,9 +75,14 @@ export class AutocompleteComponent {
|
|
|
123
75
|
this.closeListbox();
|
|
124
76
|
}
|
|
125
77
|
this.invalid = false;
|
|
126
|
-
this.
|
|
127
|
-
|
|
128
|
-
|
|
78
|
+
if (this.control) {
|
|
79
|
+
this.control?.setValue(this.selectedItems);
|
|
80
|
+
this.control?.markAsDirty();
|
|
81
|
+
this.control?.markAsTouched();
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
this.writeValue(listboxItemSelected);
|
|
85
|
+
}
|
|
129
86
|
}
|
|
130
87
|
clearFieldEvent() {
|
|
131
88
|
if (!this.disabled) {
|
|
@@ -175,14 +132,19 @@ export class AutocompleteComponent {
|
|
|
175
132
|
return this.selectedItems.map((selectedItem) => ({ id: selectedItem.value, label: selectedItem.label }));
|
|
176
133
|
}
|
|
177
134
|
removeTagEvent($event) {
|
|
178
|
-
this.
|
|
135
|
+
const selectedItems = this.selectedItems.filter((selectedItem) => selectedItem.value !== $event.id);
|
|
136
|
+
if (this.control) {
|
|
137
|
+
this.control?.setValue(selectedItems);
|
|
138
|
+
this.control?.markAsDirty();
|
|
139
|
+
this.control?.markAsTouched();
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
this.writeValue(selectedItems);
|
|
143
|
+
}
|
|
179
144
|
this.taglistComponent.updateTaglistLayerConfig(this.getTagItemsFromSelectedItems());
|
|
180
145
|
if (this.getTagItemsFromSelectedItems().length === 0) {
|
|
181
146
|
this.taglistComponent.closeTaglistLayer();
|
|
182
147
|
}
|
|
183
|
-
this.control?.setValue(this.selectedItems);
|
|
184
|
-
this.control?.markAsDirty();
|
|
185
|
-
this.control?.markAsTouched();
|
|
186
148
|
this.cd.detectChanges();
|
|
187
149
|
}
|
|
188
150
|
searchEvent() {
|
|
@@ -210,15 +172,26 @@ export class AutocompleteComponent {
|
|
|
210
172
|
this.searchUpdated.emit(this.search);
|
|
211
173
|
this.cd.detectChanges();
|
|
212
174
|
}
|
|
175
|
+
focusinEvent() {
|
|
176
|
+
this.openListbox();
|
|
177
|
+
}
|
|
178
|
+
focusoutEvent($event) {
|
|
179
|
+
if ($event.relatedTarget && !$event.relatedTarget.classList.contains('mc-listbox__list')) {
|
|
180
|
+
this.closeListbox();
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
scrollEndEvent($event) {
|
|
184
|
+
this.scrollEnd.emit($event);
|
|
185
|
+
}
|
|
213
186
|
}
|
|
214
|
-
AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AutocompleteComponent, deps: [{ token: Injector }, { token: i0.
|
|
215
|
-
AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AutocompleteComponent, selector: "moz-autocomplete", inputs: { listboxItems: "listboxItems", multiple: "multiple", placeholder: "placeholder", disabled: "disabled", loading: "loading", clearfield: "clearfield", valid: "valid", invalid: "invalid", size: "size", showSelectedTags: "showSelectedTags", maxShowingSelectedTags: "maxShowingSelectedTags", layerTagsTitle: "layerTagsTitle", layerTagsIcon: "layerTagsIcon", errorContentText: "errorContentText", withSearchFilter: "withSearchFilter", openState: "openState" }, outputs: { searchUpdated: "searchUpdated"
|
|
187
|
+
AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AutocompleteComponent, deps: [{ token: Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
188
|
+
AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AutocompleteComponent, selector: "moz-autocomplete", inputs: { listboxItems: "listboxItems", multiple: "multiple", placeholder: "placeholder", disabled: "disabled", loading: "loading", clearfield: "clearfield", valid: "valid", invalid: "invalid", size: "size", showSelectedTags: "showSelectedTags", maxShowingSelectedTags: "maxShowingSelectedTags", layerTagsTitle: "layerTagsTitle", layerTagsIcon: "layerTagsIcon", errorContentText: "errorContentText", withSearchFilter: "withSearchFilter", openState: "openState" }, outputs: { searchUpdated: "searchUpdated", inputClicked: "inputClicked", scrollEnd: "scrollEnd" }, providers: [
|
|
216
189
|
{
|
|
217
190
|
provide: NG_VALUE_ACCESSOR,
|
|
218
191
|
useExisting: forwardRef(() => AutocompleteComponent),
|
|
219
192
|
multi: true,
|
|
220
193
|
},
|
|
221
|
-
], viewQueries: [{ propertyName: "taglistComponent", first: true, predicate: ["taglist"], descendants: true }, { propertyName: "listboxElementRef", first: true, predicate: ["listbox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n !showSelectedTags && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <div class=\"mc-autocomplete__main\">\n <moz-tag\n *ngIf=\"!showSelectedTags && multiple && getSelectedListboxItems().length > 0\"\n type=\"removable\"\n class=\"mc-autocomplete__tag mc-tag-removable mc-tag-removable--s\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"searchEvent()\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n </div>\n </div>\n <moz-listbox\n *ngIf=\"openState\"\n #listbox\n [listboxItems]=\"listboxItems\"\n [isOpen]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n ></moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\n<div class=\"mc-autocomplete__taglist\" *ngIf=\"showSelectedTags && multiple\">\n <moz-taglist\n #taglist\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:#666;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:Roboto,sans-serif;font-weight:400;box-sizing:border-box;outline:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #666666;color:#191919;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:#666;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' fill='%2346a610' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 11-8 8 8 8 0 018-8m0-2a10 10 0 1010 10A10 10 0 0012 2z'/%3E%3Cpath d='M10.73 15.75a1 1 0 01-.68-.26l-3-2.74a1 1 0 011.36-1.47l2.25 2.08 4.36-4.42a1 1 0 111.42 1.41l-5 5.1a1 1 0 01-.71.3z'/%3E%3C/svg%3E\")}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #758992}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:#666;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{list-style:none;margin-left:0;padding-left:0;background-color:#fff;border:1px solid #666666;border-radius:3px;position:absolute;overflow-y:auto;margin-top:.25rem;margin-bottom:0;max-height:13.8125rem;min-width:auto;opacity:0;visibility:hidden;max-width:var(--listbox-width, auto);width:100%}.mc-listbox.is-open{opacity:1;visibility:visible;z-index:10}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__item,.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;min-height:3rem;padding-left:.75rem;padding-right:.75rem;position:relative;justify-content:space-between}.mc-listbox__item:not(:last-child),.mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox__item:hover,.mc-listbox__tile:hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__flag,.mc-listbox__icon{width:2rem;height:2rem}.mc-listbox__flag{font-size:1.4375rem;line-height:1.3913043478;text-align:center}.mc-listbox__empty{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-listbox__label{cursor:pointer;margin-right:auto}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{order:1}.mc-listbox .is-checked,.mc-listbox .is-selected{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem}.mc-listbox .is-focus{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox .is-disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input:checked+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem}.mc-listbox--left{right:0}.mc-loader{color:#007f8c;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #758992}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}.mc-autocomplete__taglist{margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.TagComponent, selector: "moz-tag, a[moz-tag]", inputs: ["type", "size", "select"], outputs: ["selectChange", "clickOnRemove"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.TaglistComponent, selector: "moz-taglist", inputs: ["tagItems", "tagSize", "showAllTitle", "showAll", "layerTagsTitle", "layerTagsIcon", "max"], outputs: ["removeTag"] }, { kind: "component", type: i5.ListboxComponent, selector: "moz-listbox", inputs: ["listboxItems", "multiple", "isOpen", "selectedItems", "customMaxWidth"], outputs: ["itemsSelected"] }, { kind: "component", type: i6.IconComponent, selector: "moz-icon", inputs: ["iconName"] }, { kind: "component", type: i7.LoaderComponent, selector: "moz-loader", inputs: ["size", "theme", "isOverlay", "text", "hideOverlay"] }, { kind: "component", type: i8.TextInputComponent, selector: "input[moz-input]", inputs: ["size", "invalid", "valid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
194
|
+
], viewQueries: [{ propertyName: "taglistComponent", first: true, predicate: ["taglist"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n !showSelectedTags && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <moz-listbox\n #listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n >\n <div class=\"mc-autocomplete__main\" reference>\n <moz-tag\n *ngIf=\"!showSelectedTags && multiple && getSelectedListboxItems().length > 0\"\n type=\"removable\"\n class=\"mc-autocomplete__tag mc-tag-removable mc-tag-removable--s\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"searchEvent()\"\n (focusin)=\"focusinEvent()\"\n (focusout)=\"focusoutEvent($event)\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\n<div class=\"mc-autocomplete__taglist\" *ngIf=\"showSelectedTags && multiple && !openState\">\n <moz-taglist\n #taglist\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:#666;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:Roboto,sans-serif;font-weight:400;box-sizing:border-box;outline:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #666666;color:#191919;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:#666;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' fill='%2346a610' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 11-8 8 8 8 0 018-8m0-2a10 10 0 1010 10A10 10 0 0012 2z'/%3E%3Cpath d='M10.73 15.75a1 1 0 01-.68-.26l-3-2.74a1 1 0 011.36-1.47l2.25 2.08 4.36-4.42a1 1 0 111.42 1.41l-5 5.1a1 1 0 01-.71.3z'/%3E%3C/svg%3E\")}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #758992}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:#666;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{list-style:none;margin-left:0;padding-left:0;background-color:#fff;border:1px solid #666666;border-radius:3px;position:absolute;overflow-y:auto;margin-top:.25rem;margin-bottom:0;max-height:13.8125rem;min-width:auto;opacity:0;visibility:hidden;max-width:var(--listbox-width, auto);width:100%}.mc-listbox.is-open{opacity:1;visibility:visible;z-index:10}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__item,.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;min-height:3rem;padding-left:.75rem;padding-right:.75rem;position:relative;justify-content:space-between}.mc-listbox__item:not(:last-child),.mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox__item:hover,.mc-listbox__tile:hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__flag,.mc-listbox__icon{width:2rem;height:2rem}.mc-listbox__flag{font-size:1.4375rem;line-height:1.3913043478;text-align:center}.mc-listbox__empty{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-listbox__label{cursor:pointer;margin-right:auto}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{order:1}.mc-listbox .is-checked,.mc-listbox .is-selected{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem}.mc-listbox .is-focus{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox .is-disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input:checked+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem}.mc-listbox--left{right:0}.mc-loader{color:#007f8c;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #758992}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}.mc-autocomplete__taglist{margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.TagComponent, selector: "moz-tag, a[moz-tag]", inputs: ["type", "size", "select"], outputs: ["selectChange", "clickOnRemove"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.TaglistComponent, selector: "moz-taglist", inputs: ["tagItems", "tagSize", "showAllTitle", "showAll", "layerTagsTitle", "layerTagsIcon", "max"], outputs: ["removeTag"] }, { kind: "component", type: i5.ListboxComponent, selector: "moz-listbox", inputs: ["listboxItems", "multiple", "selectedItems", "type", "overlay", "maxWidth", "maxHeight", "width", "disabled", "withoutOverflow", "isOpen"], outputs: ["itemsSelected", "scrollEnd", "isOpenChange"] }, { kind: "component", type: i6.IconComponent, selector: "moz-icon", inputs: ["iconName"] }, { kind: "component", type: i7.LoaderComponent, selector: "moz-loader", inputs: ["size", "theme", "isOverlay", "text", "hideOverlay"] }, { kind: "component", type: i8.TextInputComponent, selector: "input[moz-input]", inputs: ["size", "invalid", "valid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
222
195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
223
196
|
type: Component,
|
|
224
197
|
args: [{ selector: 'moz-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -227,11 +200,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
227
200
|
useExisting: forwardRef(() => AutocompleteComponent),
|
|
228
201
|
multi: true,
|
|
229
202
|
},
|
|
230
|
-
], template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n !showSelectedTags && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <div class=\"mc-autocomplete__main\">\n <moz-tag\n *ngIf=\"!showSelectedTags && multiple && getSelectedListboxItems().length > 0\"\n type=\"removable\"\n class=\"mc-autocomplete__tag mc-tag-removable mc-tag-removable--s\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"searchEvent()\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n </div>\n </div>\n <moz-listbox\n *ngIf=\"openState\"\n #listbox\n [listboxItems]=\"listboxItems\"\n [isOpen]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n ></moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\n<div class=\"mc-autocomplete__taglist\" *ngIf=\"showSelectedTags && multiple\">\n <moz-taglist\n #taglist\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:#666;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:Roboto,sans-serif;font-weight:400;box-sizing:border-box;outline:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #666666;color:#191919;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:#666;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' fill='%2346a610' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 11-8 8 8 8 0 018-8m0-2a10 10 0 1010 10A10 10 0 0012 2z'/%3E%3Cpath d='M10.73 15.75a1 1 0 01-.68-.26l-3-2.74a1 1 0 011.36-1.47l2.25 2.08 4.36-4.42a1 1 0 111.42 1.41l-5 5.1a1 1 0 01-.71.3z'/%3E%3C/svg%3E\")}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #758992}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:#666;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{list-style:none;margin-left:0;padding-left:0;background-color:#fff;border:1px solid #666666;border-radius:3px;position:absolute;overflow-y:auto;margin-top:.25rem;margin-bottom:0;max-height:13.8125rem;min-width:auto;opacity:0;visibility:hidden;max-width:var(--listbox-width, auto);width:100%}.mc-listbox.is-open{opacity:1;visibility:visible;z-index:10}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__item,.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;min-height:3rem;padding-left:.75rem;padding-right:.75rem;position:relative;justify-content:space-between}.mc-listbox__item:not(:last-child),.mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox__item:hover,.mc-listbox__tile:hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__flag,.mc-listbox__icon{width:2rem;height:2rem}.mc-listbox__flag{font-size:1.4375rem;line-height:1.3913043478;text-align:center}.mc-listbox__empty{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-listbox__label{cursor:pointer;margin-right:auto}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{order:1}.mc-listbox .is-checked,.mc-listbox .is-selected{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem}.mc-listbox .is-focus{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox .is-disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input:checked+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem}.mc-listbox--left{right:0}.mc-loader{color:#007f8c;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #758992}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}.mc-autocomplete__taglist{margin-top:1rem}\n"] }]
|
|
203
|
+
], template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n !showSelectedTags && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <moz-listbox\n #listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n >\n <div class=\"mc-autocomplete__main\" reference>\n <moz-tag\n *ngIf=\"!showSelectedTags && multiple && getSelectedListboxItems().length > 0\"\n type=\"removable\"\n class=\"mc-autocomplete__tag mc-tag-removable mc-tag-removable--s\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"searchEvent()\"\n (focusin)=\"focusinEvent()\"\n (focusout)=\"focusoutEvent($event)\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\n<div class=\"mc-autocomplete__taglist\" *ngIf=\"showSelectedTags && multiple && !openState\">\n <moz-taglist\n #taglist\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:#666;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:Roboto,sans-serif;font-weight:400;box-sizing:border-box;outline:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #666666;color:#191919;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:#666;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' fill='%2346a610' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 11-8 8 8 8 0 018-8m0-2a10 10 0 1010 10A10 10 0 0012 2z'/%3E%3Cpath d='M10.73 15.75a1 1 0 01-.68-.26l-3-2.74a1 1 0 011.36-1.47l2.25 2.08 4.36-4.42a1 1 0 111.42 1.41l-5 5.1a1 1 0 01-.71.3z'/%3E%3C/svg%3E\")}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #758992}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:#666;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{list-style:none;margin-left:0;padding-left:0;background-color:#fff;border:1px solid #666666;border-radius:3px;position:absolute;overflow-y:auto;margin-top:.25rem;margin-bottom:0;max-height:13.8125rem;min-width:auto;opacity:0;visibility:hidden;max-width:var(--listbox-width, auto);width:100%}.mc-listbox.is-open{opacity:1;visibility:visible;z-index:10}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__item,.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;min-height:3rem;padding-left:.75rem;padding-right:.75rem;position:relative;justify-content:space-between}.mc-listbox__item:not(:last-child),.mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox__item:hover,.mc-listbox__tile:hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__flag,.mc-listbox__icon{width:2rem;height:2rem}.mc-listbox__flag{font-size:1.4375rem;line-height:1.3913043478;text-align:center}.mc-listbox__empty{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-listbox__label{cursor:pointer;margin-right:auto}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{order:1}.mc-listbox .is-checked,.mc-listbox .is-selected{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem}.mc-listbox .is-focus{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox .is-disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input:checked+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem}.mc-listbox--left{right:0}.mc-loader{color:#007f8c;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #758992}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}.mc-autocomplete__taglist{margin-top:1rem}\n"] }]
|
|
231
204
|
}], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
|
|
232
205
|
type: Inject,
|
|
233
206
|
args: [Injector]
|
|
234
|
-
}] }, { type: i0.
|
|
207
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { listboxItems: [{
|
|
235
208
|
type: Input
|
|
236
209
|
}], multiple: [{
|
|
237
210
|
type: Input
|
|
@@ -265,14 +238,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
265
238
|
type: Input
|
|
266
239
|
}], searchUpdated: [{
|
|
267
240
|
type: Output
|
|
241
|
+
}], inputClicked: [{
|
|
242
|
+
type: Output
|
|
243
|
+
}], scrollEnd: [{
|
|
244
|
+
type: Output
|
|
268
245
|
}], taglistComponent: [{
|
|
269
246
|
type: ViewChild,
|
|
270
247
|
args: ['taglist', { static: false }]
|
|
271
|
-
}], listboxElementRef: [{
|
|
272
|
-
type: ViewChild,
|
|
273
|
-
args: ['listbox', { read: ElementRef }]
|
|
274
|
-
}], clickout: [{
|
|
275
|
-
type: HostListener,
|
|
276
|
-
args: ['document:click', ['$event']]
|
|
277
248
|
}] } });
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBaUJyRCxNQUFNLE9BQU8scUJBQXFCO0lBa0NoQyxZQUM0QixRQUFrQixFQUNwQyxJQUFnQixFQUNoQixFQUFxQjtRQUZILGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQWxDZixpQkFBWSxHQUFrQixFQUFFLENBQUM7UUFDakMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFXLGFBQWEsQ0FBQztRQUNwQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFlBQU8s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RUFBRTtnQkFDSyxpQkFBaUI7c0JBQTVELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFzRTFDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Db250cm9sTmFtZSxcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgTmdDb250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMaXN0Ym94SXRlbSB9IGZyb20gJy4uL2xpc3Rib3gvbW9kZWwvbGlzdGJveC1pdGVtJztcbmltcG9ydCB7IFRhZ2xpc3RDb21wb25lbnQgfSBmcm9tICcuLi90YWdsaXN0L3RhZ2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYWdJdGVtIH0gZnJvbSAnLi4vdGFnL3RhZy10eXBlJztcbmltcG9ydCB7IFRleHRJbnB1dFNpemUgfSBmcm9tICcuLi90ZXh0LWlucHV0L3RleHQtaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb3otYXV0b2NvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBdXRvY29tcGxldGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0Ym94SXRlbXM6IExpc3Rib3hJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1BsYWNlaG9sZGVyJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhcmZpZWxkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogVGV4dElucHV0U2l6ZSA9ICdzJztcbiAgQElucHV0KCkgcHVibGljIHNob3dTZWxlY3RlZFRhZ3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIG1heFNob3dpbmdTZWxlY3RlZFRhZ3M6IG51bWJlciA9IDU7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXllclRhZ3NUaXRsZTogc3RyaW5nID0gJ0F1dG9jb21wbGV0ZSB0YWdzJztcbiAgQElucHV0KCkgcHVibGljIGxheWVyVGFnc0ljb246IHN0cmluZyA9ICdOYXZpZ2F0aW9uX0Rpc3BsYXlfU2V0dGluZ18yNHB4JztcbiAgQElucHV0KCkgcHVibGljIGVycm9yQ29udGVudFRleHQ6IHN0cmluZyA9ICdObyByZXN1bHRzIGZvdW5kJztcbiAgQElucHV0KCkgcHVibGljIHdpdGhTZWFyY2hGaWx0ZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgb3BlblN0YXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBzZWFyY2hVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBWaWV3Q2hpbGQoJ3RhZ2xpc3QnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFnbGlzdENvbXBvbmVudCE6IFRhZ2xpc3RDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2xpc3Rib3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbGlzdGJveEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBvcmlnaW5hbExpc3Rib3hQYXJlbnQ/OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gIHB1YmxpYyBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgc2VhcmNoOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGluaXRpYWxMaXN0Ym94SXRlbXM6IExpc3Rib3hJdGVtW10gPSBbXTtcbiAgcHVibGljIG9uQXV0b2NvbXBsZXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgcHVibGljIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuICBwdWJsaWMgbm9SZXN1bHRzOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjb250cm9sITogRm9ybUNvbnRyb2w7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChJbmplY3RvcikgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBlUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxMaXN0Ym94SXRlbXMgPSB0aGlzLmxpc3Rib3hJdGVtcy5tYXAoKHgpID0+ICh7IC4uLnggfSkpO1xuICAgIGNvbnN0IG5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCk7XG4gICAgaWYgKG5nQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sTmFtZSkge1xuICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoRm9ybUdyb3VwRGlyZWN0aXZlKS5nZXRDb250cm9sKG5nQ29udHJvbCk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogTGlzdGJveEl0ZW1bXSB8IExpc3Rib3hJdGVtIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaCA9ICh2YWx1ZSBhcyBMaXN0Ym94SXRlbSkubGFiZWwgfHwgJyc7XG4gICAgfVxuICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdmFsdWU7XG4gICAgdGhpcy5vbkF1dG9jb21wbGV0ZUNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkF1dG9jb21wbGV0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3Rib3hFbGVtZW50UmVmKSB7XG4gICAgICBjb25zdCBtb3pMaXN0Ym94ID0gdGhpcy5saXN0Ym94RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgaWYgKG1vekxpc3Rib3ggJiYgbW96TGlzdGJveC5wYXJlbnROb2RlKSB7XG4gICAgICAgIG1vekxpc3Rib3gucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChtb3pMaXN0Ym94KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dChudWxsKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTGlzdGJveCgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIGZyb21FdmVudCh3aW5kb3csICdzY3JvbGwnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTGlzdGJveCgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICBjbGlja291dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBsaXN0Ym94SHRtbEVsZW1lbnRDb250YWluc0NsaWNrVGFyZ2V0ID1cbiAgICAgIHRoaXMubGlzdGJveEVsZW1lbnRSZWYgJiYgdGhpcy5saXN0Ym94RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgY29uc3QgYXV0b2NvbXBsZXRlSW5wdXRDb250YWluc0NsaWNrVGFyZ2V0ID0gdGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgICBpZiAoXG4gICAgICAoIWxpc3Rib3hIdG1sRWxlbWVudENvbnRhaW5zQ2xpY2tUYXJnZXQgJiYgIWF1dG9jb21wbGV0ZUlucHV0Q29udGFpbnNDbGlja1RhcmdldCkgfHxcbiAgICAgIHRoaXMuZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2VMaXN0Ym94KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5MaXN0Ym94KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3Rib3hJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm9wZW5TdGF0ZSA9IHRydWU7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgbW96TGlzdGJveCA9IHRoaXMubGlzdGJveEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZDtcbiAgICAgICAgY29uc3QgaW5wdXRSZWN0ID0gaW5wdXRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBtb3pMaXN0Ym94LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgbW96TGlzdGJveC5zdHlsZS50b3AgPSBpbnB1dFJlY3QuYm90dG9tICsgd2luZG93LnNjcm9sbFkgKyAncHgnO1xuICAgICAgICBtb3pMaXN0Ym94LnN0eWxlLmxlZnQgPSBpbnB1dFJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYICsgJ3B4JztcbiAgICAgICAgbW96TGlzdGJveC5zdHlsZS53aWR0aCA9IGlucHV0UmVjdC53aWR0aCArICdweCc7XG4gICAgICAgIHRoaXMub3JpZ2luYWxMaXN0Ym94UGFyZW50ID0gbW96TGlzdGJveC5wYXJlbnRFbGVtZW50O1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG1vekxpc3Rib3gpO1xuICAgICAgfSwgMTApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUxpc3Rib3goKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5vcmlnaW5hbExpc3Rib3hQYXJlbnQgJiYgdGhpcy5saXN0Ym94RWxlbWVudFJlZikge1xuICAgICAgdGhpcy5vcmlnaW5hbExpc3Rib3hQYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5saXN0Ym94RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHRoaXMub3JpZ2luYWxMaXN0Ym94UGFyZW50ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5saXN0Ym94SXRlbXMgPSB0aGlzLmluaXRpYWxMaXN0Ym94SXRlbXM7XG4gICAgdGhpcy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cblxuICBwdWJsaWMgaXRlbXNTZWxlY3RlZExpc3Rib3hFdmVudChsaXN0Ym94SXRlbVNlbGVjdGVkOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuc2VhcmNoID0gKGxpc3Rib3hJdGVtU2VsZWN0ZWQgYXMgTGlzdGJveEl0ZW0pLmxhYmVsO1xuICAgICAgdGhpcy5jbG9zZUxpc3Rib3goKTtcbiAgICB9XG4gICAgdGhpcy5pbnZhbGlkID0gZmFsc2U7XG4gICAgdGhpcy53cml0ZVZhbHVlKGxpc3Rib3hJdGVtU2VsZWN0ZWQpO1xuICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB0aGlzLmNvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWVsZEV2ZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLnNlYXJjaCA9ICcnO1xuICAgICAgfVxuICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICB0aGlzLmNvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLmNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TXVsdGlTZWxlY3RlZExhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW10pXG4gICAgICAgIC5tYXAoKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLmxhYmVsKVxuICAgICAgICAuam9pbignLCAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCk6IExpc3Rib3hJdGVtW10ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbVtdO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbSgpOiBMaXN0Ym94SXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5DbGVhckZpZWxkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5jbGVhcmZpZWxkICYmIHRoaXMuZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKS5sZW5ndGggPiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5jbGVhcmZpZWxkICYmIHRoaXMuZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbSgpICE9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRhZ0l0ZW1zRnJvbVNlbGVjdGVkSXRlbXMoKTogVGFnSXRlbVtdIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJdGVtcykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gKHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbVtdKS5tYXAoXG4gICAgICAoc2VsZWN0ZWRJdGVtKSA9PiAoeyBpZDogc2VsZWN0ZWRJdGVtLnZhbHVlLCBsYWJlbDogc2VsZWN0ZWRJdGVtLmxhYmVsIH0gYXMgVGFnSXRlbSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVRhZ0V2ZW50KCRldmVudDogVGFnSXRlbSk6IHZvaWQge1xuICAgIHRoaXMud3JpdGVWYWx1ZShcbiAgICAgICh0aGlzLnNlbGVjdGVkSXRlbXMgYXMgTGlzdGJveEl0ZW1bXSkuZmlsdGVyKFxuICAgICAgICAoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0udmFsdWUgIT09ICRldmVudC5pZFxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy50YWdsaXN0Q29tcG9uZW50LnVwZGF0ZVRhZ2xpc3RMYXllckNvbmZpZyh0aGlzLmdldFRhZ0l0ZW1zRnJvbVNlbGVjdGVkSXRlbXMoKSk7XG4gICAgaWYgKHRoaXMuZ2V0VGFnSXRlbXNGcm9tU2VsZWN0ZWRJdGVtcygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50YWdsaXN0Q29tcG9uZW50LmNsb3NlVGFnbGlzdExheWVyKCk7XG4gICAgfVxuICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB0aGlzLmNvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG4gICAgdGhpcy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMud2l0aFNlYXJjaEZpbHRlcikge1xuICAgICAgdGhpcy5ub1Jlc3VsdHMgPSBmYWxzZTtcbiAgICAgIHRoaXMuaW52YWxpZCA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMuc2VhcmNoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5saXN0Ym94SXRlbXMgPSBbXG4gICAgICAgICAgLi4udGhpcy5pbml0aWFsTGlzdGJveEl0ZW1zLmZpbHRlcigobGlzdGJveEl0ZW0pID0+XG4gICAgICAgICAgICBsaXN0Ym94SXRlbS5sYWJlbC5pbmNsdWRlcyh0aGlzLnNlYXJjaClcbiAgICAgICAgICApLFxuICAgICAgICBdO1xuICAgICAgICBpZiAodGhpcy5saXN0Ym94SXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vUmVzdWx0cyA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW5TdGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubGlzdGJveEl0ZW1zID0gdGhpcy5pbml0aWFsTGlzdGJveEl0ZW1zO1xuICAgICAgICB0aGlzLm9wZW5TdGF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoVXBkYXRlZC5lbWl0KHRoaXMuc2VhcmNoKTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBpZD1cImpzLWF1dG9jb21wbGV0ZVwiXG4gIGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlIG1jLWF1dG9jb21wbGV0ZS0tY2xlYXJhYmxlXCJcbiAgW25nQ2xhc3NdPVwieyAnbWMtYXV0b2NvbXBsZXRlLS1tdWx0aSc6IG11bHRpcGxlIH1cIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgJy0tYXV0b2NvbXBsZXRlLXRhZy13aWR0aCc6XG4gICAgICAhc2hvd1NlbGVjdGVkVGFncyAmJiBtdWx0aXBsZSAmJiBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCA+IDAgPyAnMy41cmVtJyA6ICcnLFxuICAgICctLWF1dG9jb21wbGV0ZS13aWR0aCc6ICcxMDAlJ1xuICB9XCJcbj5cbiAgPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fbWFpblwiPlxuICAgIDxtb3otdGFnXG4gICAgICAqbmdJZj1cIiFzaG93U2VsZWN0ZWRUYWdzICYmIG11bHRpcGxlICYmIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMFwiXG4gICAgICB0eXBlPVwicmVtb3ZhYmxlXCJcbiAgICAgIGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX190YWcgbWMtdGFnLXJlbW92YWJsZSBtYy10YWctcmVtb3ZhYmxlLS1zXCJcbiAgICAgIFtzaXplXT1cIidzJ1wiXG4gICAgICAoY2xpY2tPblJlbW92ZSk9XCJjbGVhckZpZWxkRXZlbnQoKVwiXG4gICAgPlxuICAgICAge3sgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKS5sZW5ndGggfX08L21vei10YWdcbiAgICA+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWMtbGVmdC1pY29uLWlucHV0XCI+XG4gICAgICA8bW96LWljb25cbiAgICAgICAgY2xhc3M9XCJtYy1sZWZ0LWljb24taW5wdXRfX2ljb25cIlxuICAgICAgICBbaWNvbk5hbWVdPVwiJ05hdmlnYXRpb25fRGlzcGxheV9TZWFyY2hfMjRweCdcIlxuICAgICAgPjwvbW96LWljb24+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbW96LWlucHV0XG4gICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgICBjbGFzcz1cIm1jLWxlZnQtaWNvbi1pbnB1dF9faW5wdXQgbWMtdGV4dC1pbnB1dCBtYy1hdXRvY29tcGxldGVfX3RyaWdnZXJcIlxuICAgICAgICBbdmFsaWRdPVwidmFsaWRcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hFdmVudCgpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5MaXN0Ym94KClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX3Rvb2xzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19sb2FkZXIgbWMtbG9hZGVyIG1jLWxvYWRlci0tc1wiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWxvYWRlcl9fc3Bpbm5lclwiPlxuICAgICAgICAgIDxtb3otbG9hZGVyIGNsYXNzPVwibWMtbG9hZGVyX19pY29uXCIgc2l6ZT1cInNcIj48L21vei1sb2FkZXI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fY2xlYXJcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCJjYW5DbGVhckZpZWxkKClcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJGaWVsZEV2ZW50KClcIlxuICAgICAgPlxuICAgICAgICA8bW96LWljb25cbiAgICAgICAgICBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fY2xlYXItaWNvblwiXG4gICAgICAgICAgW2ljb25OYW1lXT1cIidOYXZpZ2F0aW9uX0NvbnRyb2xfVGFnLS1Dcm9zc18yNHB4J1wiXG4gICAgICAgID48L21vei1pY29uXG4gICAgICAgID48c3BhbiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fY2xlYXItdGV4dFwiPkNsZWFyPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bW96LWxpc3Rib3hcbiAgICAqbmdJZj1cIm9wZW5TdGF0ZVwiXG4gICAgI2xpc3Rib3hcbiAgICBbbGlzdGJveEl0ZW1zXT1cImxpc3Rib3hJdGVtc1wiXG4gICAgW2lzT3Blbl09XCJvcGVuU3RhdGVcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW3NlbGVjdGVkSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgKGl0ZW1zU2VsZWN0ZWQpPVwiaXRlbXNTZWxlY3RlZExpc3Rib3hFdmVudCgkZXZlbnQpXCJcbiAgPjwvbW96LWxpc3Rib3g+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2Vycm9yXCIgKm5nSWY9XCJpbnZhbGlkXCI+XG4gIHt7IGVycm9yQ29udGVudFRleHQgfX1cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fdGFnbGlzdFwiICpuZ0lmPVwic2hvd1NlbGVjdGVkVGFncyAmJiBtdWx0aXBsZVwiPlxuICA8bW96LXRhZ2xpc3RcbiAgICAjdGFnbGlzdFxuICAgIChyZW1vdmVUYWcpPVwicmVtb3ZlVGFnRXZlbnQoJGV2ZW50KVwiXG4gICAgW3RhZ0l0ZW1zXT1cImdldFRhZ0l0ZW1zRnJvbVNlbGVjdGVkSXRlbXMoKVwiXG4gICAgW21heF09XCJtYXhTaG93aW5nU2VsZWN0ZWRUYWdzXCJcbiAgICBbbGF5ZXJUYWdzVGl0bGVdPVwibGF5ZXJUYWdzVGl0bGVcIlxuICAgIFtsYXllclRhZ3NJY29uXT1cImxheWVyVGFnc0ljb25cIlxuICA+PC9tb3otdGFnbGlzdD5cbjwvZGl2PlxuIl19
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBbUJ4QixNQUFNLE9BQU8scUJBQXFCO0lBaUNoQyxZQUFzQyxRQUFrQixFQUFVLEVBQXFCO1FBQWpELGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQWhDdkUsaUJBQVksR0FBa0IsRUFBRSxDQUFDO1FBQ2pDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxhQUFhLENBQUM7UUFDcEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFNBQUksR0FBa0IsR0FBRyxDQUFDO1FBQzFCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQywyQkFBc0IsR0FBVyxDQUFDLENBQUM7UUFDbkMsbUJBQWMsR0FBVyxtQkFB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Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1Usc0JBQXNCO3NCQUFyQyxLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBRVcsYUFBYTtzQkFBN0IsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLFNBQVM7c0JBQXpCLE1BQU07Z0JBRWtDLGdCQUFnQjtzQkFBeEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtQ29udHJvbE5hbWUsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIE5nQ29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTGlzdGJveEl0ZW0gfSBmcm9tICcuLi9saXN0Ym94L21vZGVsL2xpc3Rib3gtaXRlbSc7XG5pbXBvcnQgeyBUYWdsaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vdGFnbGlzdC90YWdsaXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWdJdGVtIH0gZnJvbSAnLi4vdGFnL3RhZy10eXBlJztcbmltcG9ydCB7IFRleHRJbnB1dFNpemUgfSBmcm9tICcuLi90ZXh0LWlucHV0L3RleHQtaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb3otYXV0b2NvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBdXRvY29tcGxldGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0Ym94SXRlbXM6IExpc3Rib3hJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1BsYWNlaG9sZGVyJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhcmZpZWxkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogVGV4dElucHV0U2l6ZSA9ICdzJztcbiAgQElucHV0KCkgcHVibGljIHNob3dTZWxlY3RlZFRhZ3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIG1heFNob3dpbmdTZWxlY3RlZFRhZ3M6IG51bWJlciA9IDU7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXllclRhZ3NUaXRsZTogc3RyaW5nID0gJ0F1dG9jb21wbGV0ZSB0YWdzJztcbiAgQElucHV0KCkgcHVibGljIGxheWVyVGFnc0ljb246IHN0cmluZyA9ICdOYXZpZ2F0aW9uX0Rpc3BsYXlfU2V0dGluZ18yNHB4JztcbiAgQElucHV0KCkgcHVibGljIGVycm9yQ29udGVudFRleHQ6IHN0cmluZyA9ICdObyByZXN1bHRzIGZvdW5kJztcbiAgQElucHV0KCkgcHVibGljIHdpdGhTZWFyY2hGaWx0ZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgb3BlblN0YXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBzZWFyY2hVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaW5wdXRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHNjcm9sbEVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKCd0YWdsaXN0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHRhZ2xpc3RDb21wb25lbnQhOiBUYWdsaXN0Q29tcG9uZW50O1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBvcmlnaW5hbExpc3Rib3hQYXJlbnQ/OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gIHB1YmxpYyBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgaW5pdGlhbExpc3Rib3hJdGVtczogTGlzdGJveEl0ZW1bXSA9IFtdO1xuICBwdWJsaWMgb25BdXRvY29tcGxldGVDaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBwdWJsaWMgb25BdXRvY29tcGxldGVUb3VjaDogYW55ID0gKCkgPT4ge307XG4gIHB1YmxpYyBub1Jlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNvbnRyb2whOiBGb3JtQ29udHJvbDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsTGlzdGJveEl0ZW1zID0gdGhpcy5saXN0Ym94SXRlbXMubWFwKCh4KSA9PiAoeyAuLi54IH0pKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IG5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCk7XG4gICAgaWYgKG5nQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sTmFtZSkge1xuICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoRm9ybUdyb3VwRGlyZWN0aXZlKS5nZXRDb250cm9sKG5nQ29udHJvbCk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogTGlzdGJveEl0ZW1bXSB8IExpc3Rib3hJdGVtIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaCA9ICh2YWx1ZSBhcyBMaXN0Ym94SXRlbSkubGFiZWwgfHwgJyc7XG4gICAgfVxuICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdmFsdWU7XG5cbiAgICB0aGlzLm9uQXV0b2NvbXBsZXRlQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uQXV0b2NvbXBsZXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25BdXRvY29tcGxldGVUb3VjaCA9IGZuO1xuICB9XG5cbiAgcHVibGljIG9wZW5MaXN0Ym94KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblN0YXRlID0gdHJ1ZTtcbiAgICB0aGlzLmlucHV0Q2xpY2tlZC5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlTGlzdGJveCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TdGF0ZSA9IGZhbHNlO1xuICAgIHRoaXMubGlzdGJveEl0ZW1zID0gdGhpcy5pbml0aWFsTGlzdGJveEl0ZW1zO1xuICB9XG5cbiAgcHVibGljIGl0ZW1zU2VsZWN0ZWRMaXN0Ym94RXZlbnQobGlzdGJveEl0ZW1TZWxlY3RlZDogTGlzdGJveEl0ZW1bXSB8IExpc3Rib3hJdGVtKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnNlYXJjaCA9IChsaXN0Ym94SXRlbVNlbGVjdGVkIGFzIExpc3Rib3hJdGVtKS5sYWJlbDtcbiAgICAgIHRoaXMuY2xvc2VMaXN0Ym94KCk7XG4gICAgfVxuICAgIHRoaXMuaW52YWxpZCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAgIHRoaXMuY29udHJvbD8ubWFya0FzRGlydHkoKTtcbiAgICAgIHRoaXMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUobGlzdGJveEl0ZW1TZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyRmllbGRFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMub3BlblN0YXRlID0gZmFsc2U7XG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5zZWFyY2ggPSAnJztcbiAgICAgIH1cbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgdGhpcy5jb250cm9sPy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldE11bHRpU2VsZWN0ZWRMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICByZXR1cm4gKHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbVtdKVxuICAgICAgICAubWFwKChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS5sYWJlbClcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpOiBMaXN0Ym94SXRlbVtdIHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMgYXMgTGlzdGJveEl0ZW1bXTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkTGlzdGJveEl0ZW0oKTogTGlzdGJveEl0ZW0gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMgYXMgTGlzdGJveEl0ZW07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgY2FuQ2xlYXJGaWVsZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMuY2xlYXJmaWVsZCAmJiB0aGlzLmdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMuY2xlYXJmaWVsZCAmJiB0aGlzLmdldFNlbGVjdGVkTGlzdGJveEl0ZW0oKSAhPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUYWdJdGVtc0Zyb21TZWxlY3RlZEl0ZW1zKCk6IFRhZ0l0ZW1bXSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkSXRlbXMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkSXRlbXMgYXMgTGlzdGJveEl0ZW1bXSkubWFwKFxuICAgICAgKHNlbGVjdGVkSXRlbSkgPT4gKHsgaWQ6IHNlbGVjdGVkSXRlbS52YWx1ZSwgbGFiZWw6IHNlbGVjdGVkSXRlbS5sYWJlbCB9IGFzIFRhZ0l0ZW0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVUYWdFdmVudCgkZXZlbnQ6IFRhZ0l0ZW0pOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gKHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbVtdKS5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0udmFsdWUgIT09ICRldmVudC5pZFxuICAgICk7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZShzZWxlY3RlZEl0ZW1zKTtcbiAgICAgIHRoaXMuY29udHJvbD8ubWFya0FzRGlydHkoKTtcbiAgICAgIHRoaXMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUoc2VsZWN0ZWRJdGVtcyk7XG4gICAgfVxuICAgIHRoaXMudGFnbGlzdENvbXBvbmVudC51cGRhdGVUYWdsaXN0TGF5ZXJDb25maWcodGhpcy5nZXRUYWdJdGVtc0Zyb21TZWxlY3RlZEl0ZW1zKCkpO1xuICAgIGlmICh0aGlzLmdldFRhZ0l0ZW1zRnJvbVNlbGVjdGVkSXRlbXMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudGFnbGlzdENvbXBvbmVudC5jbG9zZVRhZ2xpc3RMYXllcigpO1xuICAgIH1cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy53aXRoU2VhcmNoRmlsdGVyKSB7XG4gICAgICB0aGlzLm5vUmVzdWx0cyA9IGZhbHNlO1xuICAgICAgdGhpcy5pbnZhbGlkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5zZWFyY2gubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hJdGVtcyA9IFtcbiAgICAgICAgICAuLi50aGlzLmluaXRpYWxMaXN0Ym94SXRlbXMuZmlsdGVyKChsaXN0Ym94SXRlbSkgPT5cbiAgICAgICAgICAgIGxpc3Rib3hJdGVtLmxhYmVsLmluY2x1ZGVzKHRoaXMuc2VhcmNoKVxuICAgICAgICAgICksXG4gICAgICAgIF07XG4gICAgICAgIGlmICh0aGlzLmxpc3Rib3hJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLm9wZW5TdGF0ZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmludmFsaWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub3BlblN0YXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5saXN0Ym94SXRlbXMgPSB0aGlzLmluaXRpYWxMaXN0Ym94SXRlbXM7XG4gICAgICAgIHRoaXMub3BlblN0YXRlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZWFyY2hVcGRhdGVkLmVtaXQodGhpcy5zZWFyY2gpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzaW5FdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5MaXN0Ym94KCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNvdXRFdmVudCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICgkZXZlbnQucmVsYXRlZFRhcmdldCAmJiAhJGV2ZW50LnJlbGF0ZWRUYXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdtYy1saXN0Ym94X19saXN0JykpIHtcbiAgICAgIHRoaXMuY2xvc2VMaXN0Ym94KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNjcm9sbEVuZEV2ZW50KCRldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsRW5kLmVtaXQoJGV2ZW50KTtcbiAgfVxufVxuIiwiPGRpdlxuICBpZD1cImpzLWF1dG9jb21wbGV0ZVwiXG4gIGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlIG1jLWF1dG9jb21wbGV0ZS0tY2xlYXJhYmxlXCJcbiAgW25nQ2xhc3NdPVwieyAnbWMtYXV0b2NvbXBsZXRlLS1tdWx0aSc6IG11bHRpcGxlIH1cIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgJy0tYXV0b2NvbXBsZXRlLXRhZy13aWR0aCc6XG4gICAgICAhc2hvd1NlbGVjdGVkVGFncyAmJiBtdWx0aXBsZSAmJiBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCA+IDAgPyAnMy41cmVtJyA6ICcnLFxuICAgICctLWF1dG9jb21wbGV0ZS13aWR0aCc6ICcxMDAlJ1xuICB9XCJcbj5cbiAgPG1vei1saXN0Ym94XG4gICAgI2xpc3Rib3hcbiAgICBbbGlzdGJveEl0ZW1zXT1cImxpc3Rib3hJdGVtc1wiXG4gICAgWyhpc09wZW4pXT1cIm9wZW5TdGF0ZVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICBbc2VsZWN0ZWRJdGVtc109XCJzZWxlY3RlZEl0ZW1zXCJcbiAgICAoaXRlbXNTZWxlY3RlZCk9XCJpdGVtc1NlbGVjdGVkTGlzdGJveEV2ZW50KCRldmVudClcIlxuICAgIChzY3JvbGxFbmQpPVwic2Nyb2xsRW5kRXZlbnQoJGV2ZW50KVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19tYWluXCIgcmVmZXJlbmNlPlxuICAgICAgPG1vei10YWdcbiAgICAgICAgKm5nSWY9XCIhc2hvd1NlbGVjdGVkVGFncyAmJiBtdWx0aXBsZSAmJiBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCA+IDBcIlxuICAgICAgICB0eXBlPVwicmVtb3ZhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX3RhZyBtYy10YWctcmVtb3ZhYmxlIG1jLXRhZy1yZW1vdmFibGUtLXNcIlxuICAgICAgICBbc2l6ZV09XCIncydcIlxuICAgICAgICAoY2xpY2tPblJlbW92ZSk9XCJjbGVhckZpZWxkRXZlbnQoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoIH19PC9tb3otdGFnXG4gICAgICA+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYy1sZWZ0LWljb24taW5wdXRcIj5cbiAgICAgICAgPG1vei1pY29uXG4gICAgICAgICAgY2xhc3M9XCJtYy1sZWZ0LWljb24taW5wdXRfX2ljb25cIlxuICAgICAgICAgIFtpY29uTmFtZV09XCInTmF2aWdhdGlvbl9EaXNwbGF5X1NlYXJjaF8yNHB4J1wiXG4gICAgICAgID48L21vei1pY29uPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtb3otaW5wdXRcbiAgICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgICAgIGNsYXNzPVwibWMtbGVmdC1pY29uLWlucHV0X19pbnB1dCBtYy10ZXh0LWlucHV0IG1jLWF1dG9jb21wbGV0ZV9fdHJpZ2dlclwiXG4gICAgICAgICAgW3ZhbGlkXT1cInZhbGlkXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaEV2ZW50KClcIlxuICAgICAgICAgIChmb2N1c2luKT1cImZvY3VzaW5FdmVudCgpXCJcbiAgICAgICAgICAoZm9jdXNvdXQpPVwiZm9jdXNvdXRFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAoY2xpY2spPVwib3Blbkxpc3Rib3goKVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fdG9vbHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fbG9hZGVyIG1jLWxvYWRlciBtYy1sb2FkZXItLXNcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWxvYWRlcl9fc3Bpbm5lclwiPlxuICAgICAgICAgICAgPG1vei1sb2FkZXIgY2xhc3M9XCJtYy1sb2FkZXJfX2ljb25cIiBzaXplPVwic1wiPjwvbW96LWxvYWRlcj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2NsZWFyXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAqbmdJZj1cImNhbkNsZWFyRmllbGQoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmllbGRFdmVudCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtb3otaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2NsZWFyLWljb25cIlxuICAgICAgICAgICAgW2ljb25OYW1lXT1cIidOYXZpZ2F0aW9uX0NvbnRyb2xfVGFnLS1Dcm9zc18yNHB4J1wiXG4gICAgICAgICAgPjwvbW96LWljb25cbiAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2NsZWFyLXRleHRcIj5DbGVhcjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9tb3otbGlzdGJveD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fZXJyb3JcIiAqbmdJZj1cImludmFsaWRcIj5cbiAge3sgZXJyb3JDb250ZW50VGV4dCB9fVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX190YWdsaXN0XCIgKm5nSWY9XCJzaG93U2VsZWN0ZWRUYWdzICYmIG11bHRpcGxlICYmICFvcGVuU3RhdGVcIj5cbiAgPG1vei10YWdsaXN0XG4gICAgI3RhZ2xpc3RcbiAgICAocmVtb3ZlVGFnKT1cInJlbW92ZVRhZ0V2ZW50KCRldmVudClcIlxuICAgIFt0YWdJdGVtc109XCJnZXRUYWdJdGVtc0Zyb21TZWxlY3RlZEl0ZW1zKClcIlxuICAgIFttYXhdPVwibWF4U2hvd2luZ1NlbGVjdGVkVGFnc1wiXG4gICAgW2xheWVyVGFnc1RpdGxlXT1cImxheWVyVGFnc1RpdGxlXCJcbiAgICBbbGF5ZXJUYWdzSWNvbl09XCJsYXllclRhZ3NJY29uXCJcbiAgPjwvbW96LXRhZ2xpc3Q+XG48L2Rpdj5cbiJdfQ==
|
package/adeo/esm2020/components/datatable/components/selection/moz-datatable-selection.component.mjs
CHANGED
|
@@ -273,10 +273,10 @@ export class MozDatatableSelectionComponent {
|
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
MozDatatableSelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MozDatatableSelectionComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
276
|
-
MozDatatableSelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MozDatatableSelectionComponent, selector: "moz-datatable-selection", inputs: { selectionSettings: "selectionSettings", paginationEnabled: "paginationEnabled", rowData: "rowData" }, outputs: { updateSelectionAllEmitter: "updateSelectionAllEmitter" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mc-datatable__selection\">\n <ng-container *ngIf=\"selectionSettings && selectionSettings.labels && paginationEnabled\">\n <div class=\"mc-datatable__topbar-selection\">\n <ng-container *ngIf=\"selectionSettings.selectedIds.length || selectionSettings.allSelected\">\n <div class=\"center-selection-label\">\n <div *ngIf=\"selectionSettings.allSelected; else notAllSelected\">\n <ng-container *ngIf=\"selectionSettings.excludedIds.length > 0; else exludedIdsEmpty\">\n <span>\n <b\n >{{\n selectionSettings.totalSelectableItems - selectionSettings.excludedIds.length\n }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"\n selectionSettings.totalSelectableItems -\n selectionSettings.excludedIds.length ===\n 1;\n else plurialAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </span>\n </ng-container>\n <ng-template #exludedIdsEmpty>\n <span>\n {{\n selectionSettings.labels.rowsSelectedLabel ||\n 'All rows are selected in the table.'\n }}\n -\n <a href=\"/\" (click)=\"clearAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.clearSelectionLabel || 'Clear selection' }}\n </a>\n </span>\n </ng-template>\n </div>\n <ng-template #notAllSelected>\n <span>\n <b\n >{{ selectionSettings.selectedIds.length }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"selectionSettings.selectedIds && selectionSettings.selectedIds.length > 0\"\n >\n <ng-container\n *ngIf=\"\n selectionSettings.selectedIds && selectionSettings.selectedIds.length === 1;\n else plurialNotAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialNotAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </ng-container>\n </span>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n", styles: [".center-selection-label{text-align:center;
|
|
276
|
+
MozDatatableSelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MozDatatableSelectionComponent, selector: "moz-datatable-selection", inputs: { selectionSettings: "selectionSettings", paginationEnabled: "paginationEnabled", rowData: "rowData" }, outputs: { updateSelectionAllEmitter: "updateSelectionAllEmitter" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mc-datatable__selection\">\n <ng-container *ngIf=\"selectionSettings && selectionSettings.labels && paginationEnabled\">\n <div class=\"mc-datatable__topbar-selection\">\n <ng-container *ngIf=\"selectionSettings.selectedIds.length || selectionSettings.allSelected\">\n <div class=\"center-selection-label\">\n <div *ngIf=\"selectionSettings.allSelected; else notAllSelected\">\n <ng-container *ngIf=\"selectionSettings.excludedIds.length > 0; else exludedIdsEmpty\">\n <span>\n <b\n >{{\n selectionSettings.totalSelectableItems - selectionSettings.excludedIds.length\n }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"\n selectionSettings.totalSelectableItems -\n selectionSettings.excludedIds.length ===\n 1;\n else plurialAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </span>\n </ng-container>\n <ng-template #exludedIdsEmpty>\n <span>\n {{\n selectionSettings.labels.rowsSelectedLabel ||\n 'All rows are selected in the table.'\n }}\n -\n <a href=\"/\" (click)=\"clearAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.clearSelectionLabel || 'Clear selection' }}\n </a>\n </span>\n </ng-template>\n </div>\n <ng-template #notAllSelected>\n <span>\n <b\n >{{ selectionSettings.selectedIds.length }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"selectionSettings.selectedIds && selectionSettings.selectedIds.length > 0\"\n >\n <ng-container\n *ngIf=\"\n selectionSettings.selectedIds && selectionSettings.selectedIds.length === 1;\n else plurialNotAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialNotAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </ng-container>\n </span>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n", styles: [".center-selection-label{margin-bottom:1rem;background-color:#fff;height:34px;text-align:center;align-items:center;display:flex;justify-content:center;border-radius:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
277
277
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MozDatatableSelectionComponent, decorators: [{
|
|
278
278
|
type: Component,
|
|
279
|
-
args: [{ selector: 'moz-datatable-selection', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-datatable__selection\">\n <ng-container *ngIf=\"selectionSettings && selectionSettings.labels && paginationEnabled\">\n <div class=\"mc-datatable__topbar-selection\">\n <ng-container *ngIf=\"selectionSettings.selectedIds.length || selectionSettings.allSelected\">\n <div class=\"center-selection-label\">\n <div *ngIf=\"selectionSettings.allSelected; else notAllSelected\">\n <ng-container *ngIf=\"selectionSettings.excludedIds.length > 0; else exludedIdsEmpty\">\n <span>\n <b\n >{{\n selectionSettings.totalSelectableItems - selectionSettings.excludedIds.length\n }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"\n selectionSettings.totalSelectableItems -\n selectionSettings.excludedIds.length ===\n 1;\n else plurialAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </span>\n </ng-container>\n <ng-template #exludedIdsEmpty>\n <span>\n {{\n selectionSettings.labels.rowsSelectedLabel ||\n 'All rows are selected in the table.'\n }}\n -\n <a href=\"/\" (click)=\"clearAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.clearSelectionLabel || 'Clear selection' }}\n </a>\n </span>\n </ng-template>\n </div>\n <ng-template #notAllSelected>\n <span>\n <b\n >{{ selectionSettings.selectedIds.length }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"selectionSettings.selectedIds && selectionSettings.selectedIds.length > 0\"\n >\n <ng-container\n *ngIf=\"\n selectionSettings.selectedIds && selectionSettings.selectedIds.length === 1;\n else plurialNotAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialNotAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </ng-container>\n </span>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n", styles: [".center-selection-label{text-align:center;
|
|
279
|
+
args: [{ selector: 'moz-datatable-selection', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-datatable__selection\">\n <ng-container *ngIf=\"selectionSettings && selectionSettings.labels && paginationEnabled\">\n <div class=\"mc-datatable__topbar-selection\">\n <ng-container *ngIf=\"selectionSettings.selectedIds.length || selectionSettings.allSelected\">\n <div class=\"center-selection-label\">\n <div *ngIf=\"selectionSettings.allSelected; else notAllSelected\">\n <ng-container *ngIf=\"selectionSettings.excludedIds.length > 0; else exludedIdsEmpty\">\n <span>\n <b\n >{{\n selectionSettings.totalSelectableItems - selectionSettings.excludedIds.length\n }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"\n selectionSettings.totalSelectableItems -\n selectionSettings.excludedIds.length ===\n 1;\n else plurialAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </span>\n </ng-container>\n <ng-template #exludedIdsEmpty>\n <span>\n {{\n selectionSettings.labels.rowsSelectedLabel ||\n 'All rows are selected in the table.'\n }}\n -\n <a href=\"/\" (click)=\"clearAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.clearSelectionLabel || 'Clear selection' }}\n </a>\n </span>\n </ng-template>\n </div>\n <ng-template #notAllSelected>\n <span>\n <b\n >{{ selectionSettings.selectedIds.length }}\n {{ selectionSettings.labels.selectedLabel || 'selected' }}</b\n >\n <ng-container\n *ngIf=\"selectionSettings.selectedIds && selectionSettings.selectedIds.length > 0\"\n >\n <ng-container\n *ngIf=\"\n selectionSettings.selectedIds && selectionSettings.selectedIds.length === 1;\n else plurialNotAllSelected\n \"\n >\n {{ selectionSettings.labels.rowOnPageLabel || 'row on the page. ' }}-\n </ng-container>\n <ng-template #plurialNotAllSelected>\n {{ selectionSettings.labels.rowsOnPageLabel || 'rows on the page. ' }}-\n </ng-template>\n <a href=\"/\" (click)=\"selectAll(); $event.preventDefault()\">\n {{ selectionSettings.labels.selectAllLabel || 'Select all' }}\n {{ selectionSettings.totalSelectableItems }}\n {{ selectionSettings.labels.rowsOfTableLabel || 'rows of the table' }}\n </a>\n </ng-container>\n </span>\n </ng-template>\n </div>\n </ng-container>\n </div>\n </ng-container>\n</div>\n", styles: [".center-selection-label{margin-bottom:1rem;background-color:#fff;height:34px;text-align:center;align-items:center;display:flex;justify-content:center;border-radius:.25rem}\n"] }]
|
|
280
280
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectionSettings: [{
|
|
281
281
|
type: Input
|
|
282
282
|
}], paginationEnabled: [{
|
|
@@ -10,22 +10,24 @@ export class MozDatatableSortDirective {
|
|
|
10
10
|
if (this.columnDef?.sort) {
|
|
11
11
|
const sortIcon = this.renderer.createElement('span');
|
|
12
12
|
this.renderer.addClass(sortIcon, 'mc-datatable__sort-arrow');
|
|
13
|
-
this.updateSortDirection(sortIcon);
|
|
13
|
+
this.updateSortDirection(sortIcon, true);
|
|
14
14
|
this.renderer.appendChild(this.elementRef.nativeElement, sortIcon);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
onSortClick($event) {
|
|
18
|
-
this.updateSortDirection($event.target);
|
|
18
|
+
this.updateSortDirection($event.target, false);
|
|
19
19
|
}
|
|
20
|
-
updateSortDirection(htmlSpanElement) {
|
|
20
|
+
updateSortDirection(htmlSpanElement, init) {
|
|
21
21
|
if (this.columnDef?.sort) {
|
|
22
22
|
if (htmlSpanElement.classList.contains('mc-datatable__sort-arrow')) {
|
|
23
|
-
|
|
24
|
-
this.columnDef.sort.direction
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
if (!init) {
|
|
24
|
+
this.columnDef.sort.direction =
|
|
25
|
+
this.columnDef.sort.direction == undefined
|
|
26
|
+
? 'ASC'
|
|
27
|
+
: this.columnDef.sort.direction === 'ASC'
|
|
28
|
+
? 'DESC'
|
|
29
|
+
: undefined;
|
|
30
|
+
}
|
|
29
31
|
if (this.columnDef.sort.direction === 'ASC') {
|
|
30
32
|
this.renderer.addClass(htmlSpanElement, 'is-sorted-asc');
|
|
31
33
|
this.renderer.removeClass(htmlSpanElement, 'is-sorted-desc');
|
|
@@ -62,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
62
64
|
type: HostListener,
|
|
63
65
|
args: ['click', ['$event']]
|
|
64
66
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW96LWRhdGF0YWJsZS1zb3J0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2RhdGF0YWJsZS9kaXJlY3RpdmVzL21vei1kYXRhdGFibGUtc29ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsWUFBb0IsVUFBc0IsRUFBVSxRQUFtQjtRQUFuRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUY3RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFc0IsQ0FBQztJQUUzRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQztJQUdELFdBQVcsQ0FBQyxNQUFXO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxlQUFnQyxFQUFFLElBQWE7UUFDekUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRTtZQUN4QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUzt3QkFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVM7NEJBQ3hDLENBQUMsQ0FBQyxLQUFLOzRCQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSztnQ0FDekMsQ0FBQyxDQUFDLE1BQU07Z0NBQ1IsQ0FBQyxDQUFDLFNBQVMsQ0FBQztpQkFDakI7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxFQUFFO29CQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2lCQUM5RDtxQkFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUU7b0JBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO29CQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7aUJBQzdEO3FCQUFNO29CQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO29CQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7aUJBQzdEO2dCQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNwQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUztvQkFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztpQkFDNUIsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7O3VIQS9DVSx5QkFBeUI7MkdBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CO3lIQUU0QixTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFDZixXQUFXO3NCQUFwQixNQUFNO2dCQWNQLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2x1bW5EZWYgfSBmcm9tICcuLi9tb2RlbC9jb2x1bW4tZGVmJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21vekRhdGF0YWJsZVNvcnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgTW96RGF0YXRhYmxlU29ydERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnbW96RGF0YXRhYmxlU29ydCcpIGNvbHVtbkRlZj86IENvbHVtbkRlZjtcbiAgQE91dHB1dCgpIHNvcnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmNvbHVtbkRlZj8uc29ydCkge1xuICAgICAgY29uc3Qgc29ydEljb24gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc29ydEljb24sICdtYy1kYXRhdGFibGVfX3NvcnQtYXJyb3cnKTtcbiAgICAgIHRoaXMudXBkYXRlU29ydERpcmVjdGlvbihzb3J0SWNvbiwgdHJ1ZSk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBzb3J0SWNvbik7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvblNvcnRDbGljaygkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudXBkYXRlU29ydERpcmVjdGlvbigkZXZlbnQudGFyZ2V0LCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNvcnREaXJlY3Rpb24oaHRtbFNwYW5FbGVtZW50OiBIVE1MU3BhbkVsZW1lbnQsIGluaXQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb2x1bW5EZWY/LnNvcnQpIHtcbiAgICAgIGlmIChodG1sU3BhbkVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdtYy1kYXRhdGFibGVfX3NvcnQtYXJyb3cnKSkge1xuICAgICAgICBpZiAoIWluaXQpIHtcbiAgICAgICAgICB0aGlzLmNvbHVtbkRlZi5zb3J0LmRpcmVjdGlvbiA9XG4gICAgICAgICAgICB0aGlzLmNvbHVtbkRlZi5zb3J0LmRpcmVjdGlvbiA9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgPyAnQVNDJ1xuICAgICAgICAgICAgICA6IHRoaXMuY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uID09PSAnQVNDJ1xuICAgICAgICAgICAgICA/ICdERVNDJ1xuICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb2x1bW5EZWYuc29ydC5kaXJlY3Rpb24gPT09ICdBU0MnKSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhodG1sU3BhbkVsZW1lbnQsICdpcy1zb3J0ZWQtYXNjJyk7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhodG1sU3BhbkVsZW1lbnQsICdpcy1zb3J0ZWQtZGVzYycpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uID09PSAnREVTQycpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGh0bWxTcGFuRWxlbWVudCwgJ2lzLXNvcnRlZC1kZXNjJyk7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhodG1sU3BhbkVsZW1lbnQsICdpcy1zb3J0ZWQtYXNjJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhodG1sU3BhbkVsZW1lbnQsICdpcy1zb3J0ZWQtZGVzYycpO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoaHRtbFNwYW5FbGVtZW50LCAnaXMtc29ydGVkLWFzYycpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc29ydEVtaXR0ZXIuZW1pdCh7XG4gICAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmNvbHVtbkRlZi5zb3J0LmRpcmVjdGlvbixcbiAgICAgICAgICBmaWVsZDogdGhpcy5jb2x1bW5EZWYuZmllbGQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|