myrta-ui 17.0.0-beta.3 → 17.0.0-beta.30
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/esm2022/lib/components/badges/components/badge/badge.component.mjs +2 -2
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +4 -3
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.enum.mjs +1 -1
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.module.mjs +10 -4
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +2 -2
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +5 -12
- package/esm2022/lib/components/form/checkbox/checkbox.enum.mjs +2 -5
- package/esm2022/lib/components/form/checkbox-group/checkbox-group.component.mjs +82 -44
- package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +4 -4
- package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +51 -43
- package/esm2022/lib/components/form/checkbox-group/helpers/change-group-value.mjs +7 -8
- package/esm2022/lib/components/form/checkbox-group/helpers/change-item-value.mjs +2 -2
- package/esm2022/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +5 -5
- package/esm2022/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +2 -2
- package/esm2022/lib/components/form/checkbox-group/helpers/get-inner-list.helper.mjs +46 -0
- package/esm2022/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +4 -4
- package/esm2022/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +2 -2
- package/esm2022/lib/components/form/checkbox-group/helpers/inner-list-to-list.helper.mjs +13 -0
- package/esm2022/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +1 -1
- package/esm2022/lib/components/form/editor/editor.component.mjs +9 -6
- package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +2 -2
- package/esm2022/lib/components/form/input-datepicker/input-datepicker.component.mjs +2 -2
- package/esm2022/lib/components/form/input-file/input-file.component.mjs +43 -47
- package/esm2022/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +8 -8
- package/esm2022/lib/components/form/input-file-image/input-file-image.component.mjs +196 -210
- package/esm2022/lib/components/form/input-file-image/input-file-image.enum.mjs +3 -3
- package/esm2022/lib/components/form/input-file-image/input-file-image.module.mjs +6 -4
- package/esm2022/lib/components/form/input-number/input-number.component.mjs +2 -2
- package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +2 -2
- package/esm2022/lib/components/form/input-password/input-password.component.mjs +4 -4
- package/esm2022/lib/components/form/input-phone/input-phone.component.mjs +4 -4
- package/esm2022/lib/components/form/input-search/input-search.component.mjs +4 -4
- package/esm2022/lib/components/form/input-select/input-select.component.mjs +4 -4
- package/esm2022/lib/components/form/input-tel/input-tel.component.mjs +4 -4
- package/esm2022/lib/components/form/input-text/input-text.component.mjs +4 -4
- package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +2 -2
- package/esm2022/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +7 -4
- package/esm2022/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +9 -3
- package/esm2022/lib/components/form/radio-group/models/radio-group.model.mjs +1 -1
- package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +32 -23
- package/esm2022/lib/components/form/radio-group/radio-group.module.mjs +25 -4
- package/esm2022/lib/components/form/rating/rating.component.mjs +2 -2
- package/esm2022/lib/components/form/switch/switch.component.mjs +2 -2
- package/esm2022/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +3 -5
- package/esm2022/lib/components/icon-button/icon-button.component.mjs +9 -3
- package/esm2022/lib/components/icon-button/icon-button.enum.mjs +2 -1
- package/esm2022/lib/components/label/label.component.mjs +2 -2
- package/esm2022/lib/components/link/link.component.mjs +22 -9
- package/esm2022/lib/components/link/link.module.mjs +5 -4
- package/esm2022/lib/components/paginator/paginator.component.mjs +5 -5
- package/esm2022/lib/components/paginator/paginator.module.mjs +8 -8
- package/esm2022/lib/components/pdf-viewer/pdf-viewer.component.mjs +268 -0
- package/esm2022/lib/components/pdf-viewer/pdf-viewer.module.mjs +59 -0
- package/esm2022/lib/components/progress/progress.component.mjs +2 -2
- package/esm2022/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +2 -2
- package/esm2022/lib/components/save-state/save-state.component.mjs +3 -3
- package/esm2022/lib/components/save-state/save-state.enum.mjs +1 -1
- package/esm2022/lib/components/table/table.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tabs-group/tabs-group.component.mjs +2 -2
- package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +2 -2
- package/esm2022/lib/components/truncate-text/truncate-text.component.mjs +1 -1
- package/esm2022/lib/models/input-file/input-file.model.mjs +1 -1
- package/esm2022/lib/services/file-upload/file-upload.service.mjs +5 -5
- package/esm2022/lib/services/index.mjs +9 -1
- package/esm2022/lib/services/modal-service/components/alert-modal/alert-modal.component.mjs +3 -5
- package/esm2022/lib/services/modal-service/components/confirm-modal/confirm-modal.component.mjs +3 -5
- package/esm2022/lib/services/modal-service/helpers/index.mjs +5 -0
- package/esm2022/lib/services/modal-service/helpers/modal.component.mjs +2 -3
- package/esm2022/lib/services/modal-service/modal-service.module.mjs +25 -0
- package/esm2022/lib/services/modal-service/modal-service.service.mjs +1 -1
- package/esm2022/lib/services/mrx-form-validator/constants/invalid-messages.mjs +10 -0
- package/esm2022/lib/services/mrx-form-validator/helpers/get-error-message.helper.mjs +10 -0
- package/esm2022/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.mjs +29 -0
- package/esm2022/lib/services/mrx-form-validator/models/index.mjs +4 -0
- package/esm2022/lib/services/mrx-form-validator/models/validations-options.model.mjs +2 -0
- package/esm2022/lib/services/mrx-form-validator/models/validations-settings.model.mjs +2 -0
- package/esm2022/lib/services/mrx-form-validator/models/validations-types.model.mjs +22 -0
- package/esm2022/lib/services/mrx-form-validator/mrx-form-validator.mjs +97 -183
- package/esm2022/lib/services/mrx-form-validator/validations/callback.validation.mjs +15 -0
- package/esm2022/lib/services/mrx-form-validator/validations/email.validation.mjs +11 -0
- package/esm2022/lib/services/mrx-form-validator/validations/max-length.validation.mjs +14 -0
- package/esm2022/lib/services/mrx-form-validator/validations/max-value.validation.mjs +10 -0
- package/esm2022/lib/services/mrx-form-validator/validations/min-length.validation.mjs +15 -0
- package/esm2022/lib/services/mrx-form-validator/validations/min-value.validation.mjs +10 -0
- package/esm2022/lib/services/mrx-form-validator/validations/pattern.validation.mjs +11 -0
- package/esm2022/lib/services/mrx-form-validator/validations/required.validation.mjs +22 -0
- package/esm2022/lib/services/toaster-service/components/toaster/toaster.component.mjs +30 -0
- package/esm2022/lib/services/toaster-service/models/toaster.model.mjs +15 -0
- package/esm2022/lib/services/toaster-service/toaster-service.module.mjs +52 -0
- package/esm2022/lib/services/toaster-service/toaster-service.service.mjs +53 -0
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/myrta-ui.mjs +1909 -1247
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/breadcrumbs/breadcrumbs.enum.d.ts +5 -0
- package/lib/components/breadcrumbs/breadcrumbs.module.d.ts +2 -1
- package/lib/components/form/checkbox/checkbox.component.d.ts +2 -4
- package/lib/components/form/checkbox/checkbox.enum.d.ts +0 -4
- package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +27 -18
- package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +16 -9
- package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +3 -3
- package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +3 -3
- package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/get-inner-list.helper.d.ts +2 -0
- package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/inner-list-to-list.helper.d.ts +2 -0
- package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +13 -2
- package/lib/components/form/editor/editor.component.d.ts +1 -1
- package/lib/components/form/input-file/input-file.component.d.ts +6 -4
- package/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.d.ts +5 -4
- package/lib/components/form/input-file-image/input-file-image.component.d.ts +21 -26
- package/lib/components/form/input-file-image/input-file-image.enum.d.ts +2 -2
- package/lib/components/form/input-file-image/input-file-image.module.d.ts +1 -1
- package/lib/components/form/input-select/input-select.component.d.ts +16 -5
- package/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.d.ts +3 -1
- package/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.d.ts +3 -1
- package/lib/components/form/radio-group/models/radio-group.model.d.ts +4 -0
- package/lib/components/form/radio-group/radio-group.component.d.ts +10 -7
- package/lib/components/form/radio-group/radio-group.module.d.ts +2 -1
- package/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.d.ts +2 -3
- package/lib/components/icon-button/icon-button.component.d.ts +4 -1
- package/lib/components/icon-button/icon-button.enum.d.ts +2 -1
- package/lib/components/link/link.component.d.ts +10 -3
- package/lib/components/link/link.module.d.ts +2 -1
- package/lib/components/paginator/paginator.module.d.ts +3 -3
- package/lib/components/pdf-viewer/pdf-viewer.component.d.ts +70 -0
- package/lib/components/pdf-viewer/pdf-viewer.module.d.ts +16 -0
- package/lib/components/save-state/save-state.enum.d.ts +1 -1
- package/lib/models/input-file/input-file.model.d.ts +5 -4
- package/lib/services/file-upload/file-upload.service.d.ts +2 -2
- package/lib/services/index.d.ts +8 -0
- package/lib/services/modal-service/components/alert-modal/alert-modal.component.d.ts +2 -3
- package/lib/services/modal-service/components/confirm-modal/confirm-modal.component.d.ts +2 -3
- package/lib/services/modal-service/helpers/index.d.ts +4 -0
- package/lib/services/modal-service/helpers/modal.component.d.ts +1 -2
- package/lib/services/modal-service/modal-service.module.d.ts +9 -0
- package/lib/services/modal-service/modal-service.service.d.ts +4 -4
- package/lib/services/mrx-form-validator/constants/invalid-messages.d.ts +9 -0
- package/lib/services/mrx-form-validator/helpers/get-error-message.helper.d.ts +3 -0
- package/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.d.ts +2 -0
- package/lib/services/mrx-form-validator/models/index.d.ts +3 -0
- package/lib/services/mrx-form-validator/models/validations-options.model.d.ts +31 -0
- package/lib/services/mrx-form-validator/models/validations-settings.model.d.ts +7 -0
- package/lib/services/mrx-form-validator/models/validations-types.model.d.ts +19 -0
- package/lib/services/mrx-form-validator/mrx-form-validator.d.ts +6 -33
- package/lib/services/mrx-form-validator/validations/callback.validation.d.ts +5 -0
- package/lib/services/mrx-form-validator/validations/email.validation.d.ts +5 -0
- package/lib/services/mrx-form-validator/validations/max-length.validation.d.ts +5 -0
- package/lib/services/mrx-form-validator/validations/max-value.validation.d.ts +5 -0
- package/lib/services/mrx-form-validator/validations/min-length.validation.d.ts +5 -0
- package/lib/services/mrx-form-validator/validations/min-value.validation.d.ts +5 -0
- package/lib/services/mrx-form-validator/validations/pattern.validation.d.ts +5 -0
- package/lib/services/mrx-form-validator/validations/required.validation.d.ts +5 -0
- package/lib/services/toaster-service/components/toaster/toaster.component.d.ts +12 -0
- package/lib/services/toaster-service/models/toaster.model.d.ts +12 -0
- package/lib/services/toaster-service/toaster-service.module.d.ts +10 -0
- package/lib/services/toaster-service/toaster-service.service.d.ts +15 -0
- package/package.json +5 -1
- package/public-api.d.ts +4 -0
|
@@ -3,31 +3,36 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
|
3
3
|
import { cloneDeep } from 'lodash-es';
|
|
4
4
|
import { getSortedList } from './helpers/get-sorted-list';
|
|
5
5
|
import { filterSearchGroup } from './helpers/filter-search-group';
|
|
6
|
-
import {
|
|
6
|
+
import { getItemInnerById } from './helpers/get-item-by-id';
|
|
7
7
|
import { changeItemValue, changeListValue } from './helpers/change-item-value';
|
|
8
8
|
import { changeGroupValue } from './helpers/change-group-value';
|
|
9
9
|
import { getCheckedItems } from './helpers/get-checked-items';
|
|
10
10
|
import { v4 as uuid } from 'uuid';
|
|
11
|
+
import { getInnerList } from './helpers/get-inner-list.helper';
|
|
12
|
+
import { innerListToList } from './helpers/inner-list-to-list.helper';
|
|
11
13
|
import * as i0 from "@angular/core";
|
|
12
14
|
import * as i1 from "@angular/common";
|
|
13
15
|
import * as i2 from "../../save-state/save-state.component";
|
|
14
|
-
import * as i3 from "
|
|
15
|
-
import * as i4 from "./components/checkbox-group-
|
|
16
|
+
import * as i3 from "../../error-message/error-message.component";
|
|
17
|
+
import * as i4 from "./components/checkbox-group-item/checkbox-group-item.component";
|
|
18
|
+
import * as i5 from "./components/checkbox-group-header/checkbox-group-header.component";
|
|
16
19
|
export class CheckboxGroupComponent {
|
|
17
|
-
|
|
20
|
+
_detector;
|
|
18
21
|
_groupItemsWrapperHeight = 0;
|
|
19
22
|
_searchValue = '';
|
|
20
23
|
list = [];
|
|
21
|
-
|
|
24
|
+
innerList = [];
|
|
22
25
|
checkedList = [];
|
|
26
|
+
filteredList = [];
|
|
23
27
|
// SAVE STATE
|
|
24
28
|
uuid = uuid();
|
|
25
29
|
fields = [];
|
|
26
|
-
items = [];
|
|
27
30
|
scrollMaxHeight = 200;
|
|
28
31
|
searchable = false;
|
|
29
32
|
scrollable = false;
|
|
30
33
|
sortable = false;
|
|
34
|
+
disabled = false;
|
|
35
|
+
readonly = false;
|
|
31
36
|
enableMessage = 'Ничего не найдено';
|
|
32
37
|
searchPlaceholder = '';
|
|
33
38
|
customClasses = '';
|
|
@@ -36,18 +41,36 @@ export class CheckboxGroupComponent {
|
|
|
36
41
|
// LABEL
|
|
37
42
|
labelText = '';
|
|
38
43
|
linkText = '';
|
|
44
|
+
// VALIDATE
|
|
45
|
+
invalid = false;
|
|
46
|
+
invalidMessage = '';
|
|
47
|
+
set items(list) {
|
|
48
|
+
this.list = list;
|
|
49
|
+
this._updateModifiedList();
|
|
50
|
+
}
|
|
51
|
+
get items() {
|
|
52
|
+
return this.filteredList;
|
|
53
|
+
}
|
|
39
54
|
groupItemsWrapper;
|
|
40
55
|
changed = new EventEmitter();
|
|
41
|
-
changeChecked = new EventEmitter();
|
|
42
56
|
modelChange = new EventEmitter();
|
|
43
|
-
|
|
57
|
+
changedInner = new EventEmitter();
|
|
58
|
+
modelChangeInner = new EventEmitter();
|
|
44
59
|
modelItemChange = new EventEmitter();
|
|
45
|
-
constructor() {
|
|
60
|
+
constructor(_detector) {
|
|
61
|
+
this._detector = _detector;
|
|
62
|
+
}
|
|
46
63
|
get isSearchValue() {
|
|
47
64
|
return this._searchValue;
|
|
48
65
|
}
|
|
49
66
|
get displaced() {
|
|
50
|
-
return this.list.some((item) => item.
|
|
67
|
+
return this.list.some((item) => item.items?.length);
|
|
68
|
+
}
|
|
69
|
+
get getInvalid() {
|
|
70
|
+
return this.invalid;
|
|
71
|
+
}
|
|
72
|
+
get getInvalidMessage() {
|
|
73
|
+
return this.invalidMessage;
|
|
51
74
|
}
|
|
52
75
|
get getClasses() {
|
|
53
76
|
return `${this.customClasses}`;
|
|
@@ -58,40 +81,30 @@ export class CheckboxGroupComponent {
|
|
|
58
81
|
trackByFn(index, item) {
|
|
59
82
|
return item.id;
|
|
60
83
|
}
|
|
61
|
-
onChange = (value) => {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
this.checkedList =
|
|
68
|
-
this.
|
|
84
|
+
onChange = (value) => {
|
|
85
|
+
};
|
|
86
|
+
onTouched = () => {
|
|
87
|
+
};
|
|
88
|
+
writeValue(selectedValue) {
|
|
89
|
+
if (selectedValue !== null) {
|
|
90
|
+
this.checkedList = getInnerList(selectedValue, this.checkedList);
|
|
91
|
+
this._updateModifiedList();
|
|
69
92
|
}
|
|
70
93
|
}
|
|
71
|
-
|
|
72
|
-
this.
|
|
73
|
-
|
|
74
|
-
registerOnTouched(fn) {
|
|
75
|
-
this.onTouched = fn;
|
|
76
|
-
}
|
|
77
|
-
updateValue(list, checkedList) {
|
|
78
|
-
this.changed.emit(list);
|
|
79
|
-
this.changeChecked.emit();
|
|
80
|
-
this.modelChange.emit({ value: list, id: this.uuid });
|
|
81
|
-
this.modelCheckedChange.emit({ value: checkedList, id: this.uuid });
|
|
82
|
-
this.onChange(list);
|
|
83
|
-
this.onTouched();
|
|
94
|
+
_updateModifiedList() {
|
|
95
|
+
this.innerList = getInnerList(this.list, this.checkedList);
|
|
96
|
+
this.filteredList = getSortedList(this.innerList, this.sortable);
|
|
84
97
|
}
|
|
85
98
|
checkHeightGroupWrapper() {
|
|
86
99
|
this._groupItemsWrapperHeight = this.groupItemsWrapper.nativeElement.scrollHeight;
|
|
87
100
|
}
|
|
88
101
|
updateCheckboxGroupSearchValue(searchValue) {
|
|
89
102
|
this._searchValue = searchValue;
|
|
90
|
-
this.filteredList = filterSearchGroup(this.
|
|
103
|
+
this.filteredList = filterSearchGroup(this.innerList, this._searchValue);
|
|
91
104
|
}
|
|
92
105
|
checkboxChanged({ value, item }) {
|
|
93
106
|
const cloneList = cloneDeep(this.filteredList);
|
|
94
|
-
const findItem =
|
|
107
|
+
const findItem = getItemInnerById(cloneList, item.id);
|
|
95
108
|
let changedItem = null;
|
|
96
109
|
if (findItem) {
|
|
97
110
|
changedItem = changeItemValue(findItem, value);
|
|
@@ -104,6 +117,7 @@ export class CheckboxGroupComponent {
|
|
|
104
117
|
if (changedItem) {
|
|
105
118
|
this.modelItemChange.emit(changedItem);
|
|
106
119
|
}
|
|
120
|
+
this._detector.detectChanges();
|
|
107
121
|
}
|
|
108
122
|
clearFilters() {
|
|
109
123
|
const cloneList = cloneDeep(this.filteredList);
|
|
@@ -113,14 +127,30 @@ export class CheckboxGroupComponent {
|
|
|
113
127
|
this.checkedList = getCheckedItems(cloneList);
|
|
114
128
|
this.updateValue(this.filteredList, this.checkedList);
|
|
115
129
|
}
|
|
116
|
-
|
|
117
|
-
|
|
130
|
+
registerOnChange(fn) {
|
|
131
|
+
this.onChange = fn;
|
|
132
|
+
}
|
|
133
|
+
registerOnTouched(fn) {
|
|
134
|
+
this.onTouched = fn;
|
|
135
|
+
}
|
|
136
|
+
updateValue(list, checkedList) {
|
|
137
|
+
const clearedList = innerListToList(checkedList);
|
|
138
|
+
const clearedInnerList = innerListToList(this.innerList);
|
|
139
|
+
this.changed.emit(clearedList);
|
|
140
|
+
this.modelChange.emit({ value: clearedList, full: clearedInnerList, id: this.uuid });
|
|
141
|
+
this.changedInner.emit(checkedList);
|
|
142
|
+
this.modelChangeInner.emit({ value: checkedList, full: this.innerList, id: this.uuid });
|
|
143
|
+
this.onChange(checkedList);
|
|
144
|
+
this.onTouched();
|
|
145
|
+
}
|
|
146
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
147
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: CheckboxGroupComponent, selector: "mrx-checkbox-group", inputs: { fields: "fields", scrollMaxHeight: "scrollMaxHeight", searchable: "searchable", scrollable: "scrollable", sortable: "sortable", disabled: "disabled", readonly: "readonly", enableMessage: "enableMessage", searchPlaceholder: "searchPlaceholder", customClasses: "customClasses", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", invalid: "invalid", invalidMessage: "invalidMessage", items: "items" }, outputs: { changed: "changed", modelChange: "modelChange", changedInner: "changedInner", modelChangeInner: "modelChangeInner", modelItemChange: "modelItemChange" }, providers: [
|
|
118
148
|
{
|
|
119
149
|
provide: NG_VALUE_ACCESSOR,
|
|
120
150
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
121
151
|
multi: true,
|
|
122
152
|
},
|
|
123
|
-
], viewQueries: [{ propertyName: "groupItemsWrapper", first: true, predicate: ["groupItemsWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\">\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: i3.CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["
|
|
153
|
+
], viewQueries: [{ propertyName: "groupItemsWrapper", first: true, predicate: ["groupItemsWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; trackBy: trackByFn; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [customClasses]=\"'mt-2'\"\r\n ></mrx-error-message>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: i3.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i4.CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["displaced", "level", "animationTrigger", "isLast", "disabled", "readonly", "invalid", "item"], outputs: ["animationEnd", "checkboxChanged"] }, { kind: "component", type: i5.CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: ["searchable", "searchPlaceholder", "tooltip", "labelText", "linkText", "checkedItemsCount"], outputs: ["updateCheckboxGroupSearchValue", "clearFilters"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
124
154
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CheckboxGroupComponent, providedIn: CheckboxGroupComponent });
|
|
125
155
|
}
|
|
126
156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
|
|
@@ -136,10 +166,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
136
166
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
137
167
|
multi: true,
|
|
138
168
|
},
|
|
139
|
-
], template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\">\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"] }]
|
|
140
|
-
}], ctorParameters: () => [], propDecorators: { fields: [{
|
|
141
|
-
type: Input
|
|
142
|
-
}], items: [{
|
|
169
|
+
], template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; trackBy: trackByFn; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [customClasses]=\"'mt-2'\"\r\n ></mrx-error-message>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"] }]
|
|
170
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { fields: [{
|
|
143
171
|
type: Input
|
|
144
172
|
}], scrollMaxHeight: [{
|
|
145
173
|
type: Input
|
|
@@ -149,6 +177,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
149
177
|
type: Input
|
|
150
178
|
}], sortable: [{
|
|
151
179
|
type: Input
|
|
180
|
+
}], disabled: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], readonly: [{
|
|
183
|
+
type: Input
|
|
152
184
|
}], enableMessage: [{
|
|
153
185
|
type: Input
|
|
154
186
|
}], searchPlaceholder: [{
|
|
@@ -161,18 +193,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
161
193
|
type: Input
|
|
162
194
|
}], linkText: [{
|
|
163
195
|
type: Input
|
|
196
|
+
}], invalid: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], invalidMessage: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], items: [{
|
|
201
|
+
type: Input
|
|
164
202
|
}], groupItemsWrapper: [{
|
|
165
203
|
type: ViewChild,
|
|
166
204
|
args: ['groupItemsWrapper']
|
|
167
205
|
}], changed: [{
|
|
168
206
|
type: Output
|
|
169
|
-
}], changeChecked: [{
|
|
170
|
-
type: Output
|
|
171
207
|
}], modelChange: [{
|
|
172
208
|
type: Output
|
|
173
|
-
}],
|
|
209
|
+
}], changedInner: [{
|
|
210
|
+
type: Output
|
|
211
|
+
}], modelChangeInner: [{
|
|
174
212
|
type: Output
|
|
175
213
|
}], modelItemChange: [{
|
|
176
214
|
type: Output
|
|
177
215
|
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQW1CbEMsTUFBTSxPQUFPLHNCQUFzQjtJQUN6QixPQUFPLEdBQUcsS0FBSyxDQUFBO0lB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OzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0RBYWUsTUFBTTtzQkFBckIsS0FBSztnQkFFVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUUwQixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUViLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsYUFBYTtzQkFBN0IsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUNVLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFDVSxlQUFlO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZiwgSW5qZWN0YWJsZSxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2hlY2tib3hHcm91cEl0ZW0sIENoZWNrYm94R3JvdXBWYWx1ZVdpdGhJZCB9IGZyb20gJy4vbW9kZWxzL2NoZWNrYm94LWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgZ2V0U29ydGVkTGlzdCB9IGZyb20gJy4vaGVscGVycy9nZXQtc29ydGVkLWxpc3QnO1xyXG5pbXBvcnQgeyBmaWx0ZXJTZWFyY2hHcm91cCB9IGZyb20gJy4vaGVscGVycy9maWx0ZXItc2VhcmNoLWdyb3VwJztcclxuaW1wb3J0IHsgZ2V0SXRlbUJ5SWQgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWl0ZW0tYnktaWQnO1xyXG5pbXBvcnQgeyBjaGFuZ2VJdGVtVmFsdWUsIGNoYW5nZUxpc3RWYWx1ZSB9IGZyb20gJy4vaGVscGVycy9jaGFuZ2UtaXRlbS12YWx1ZSc7XHJcbmltcG9ydCB7IGNoYW5nZUdyb3VwVmFsdWUgfSBmcm9tICcuL2hlbHBlcnMvY2hhbmdlLWdyb3VwLXZhbHVlJztcclxuaW1wb3J0IHsgZ2V0Q2hlY2tlZEl0ZW1zIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1jaGVja2VkLWl0ZW1zJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21yeC1hdXRvc2F2ZS9tcngtYXV0b3NhdmUuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogQ2hlY2tib3hHcm91cENvbXBvbmVudFxyXG59KVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1jaGVja2JveC1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hHcm91cENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwcml2YXRlIF9pc0luaXQgPSBmYWxzZVxyXG4gIHByaXZhdGUgX2dyb3VwSXRlbXNXcmFwcGVySGVpZ2h0ID0gMFxyXG4gIHByaXZhdGUgX3NlYXJjaFZhbHVlID0gJydcclxuXHJcbiAgcHVibGljIGxpc3Q6IENoZWNrYm94R3JvdXBJdGVtW10gPSBbXVxyXG4gIHB1YmxpYyBmaWx0ZXJlZExpc3Q6IENoZWNrYm94R3JvdXBJdGVtW10gPSBbXVxyXG4gIHB1YmxpYyBjaGVja2VkTGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSA9IFtdXHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZCgpXHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IENoZWNrYm94R3JvdXBJdGVtW10gPSBbXVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY3JvbGxNYXhIZWlnaHQgPSAyMDBcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoYWJsZSA9IGZhbHNlXHJcbiAgQElucHV0KCkgcHVibGljIHNjcm9sbGFibGUgPSBmYWxzZVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0YWJsZSA9IGZhbHNlXHJcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZU1lc3NhZ2UgPSAn0J3QuNGH0LXQs9C+INC90LUg0L3QsNC50LTQtdC90L4nXHJcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaFBsYWNlaG9sZGVyID0gJydcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG5cclxuICAvLyBUT09MVElQXHJcbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnXHJcblxyXG4gIC8vIExBQkVMXHJcbiAgQElucHV0KCkgbGFiZWxUZXh0ID0gJydcclxuICBASW5wdXQoKSBsaW5rVGV4dCA9ICcnXHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2dyb3VwSXRlbXNXcmFwcGVyJykgZ3JvdXBJdGVtc1dyYXBwZXIhOiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSXRlbVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cEl0ZW1bXT4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZUNoZWNrZWQ6IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSXRlbVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cEl0ZW1bXT4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cFZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cFZhbHVlV2l0aElkPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGVja2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cFZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cFZhbHVlV2l0aElkPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxJdGVtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cEl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSXRlbT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzU2VhcmNoVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hWYWx1ZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBkaXNwbGFjZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0LnNvbWUoKGl0ZW06IENoZWNrYm94R3JvdXBJdGVtKSA9PiBpdGVtLmFycmF5Lmxlbmd0aClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAkeyB0aGlzLmN1c3RvbUNsYXNzZXMgfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFNob3dTY3JvbGwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ3JvdXBJdGVtc1dyYXBwZXJIZWlnaHQgPiB0aGlzLnNjcm9sbE1heEhlaWdodFxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBDaGVja2JveEdyb3VwSXRlbSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBDaGVja2JveEdyb3VwSXRlbVtdKSA9PiB7fTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShsaXN0OiBDaGVja2JveEdyb3VwSXRlbVtdKTogdm9pZCB7XHJcbiAgICBpZiAobGlzdCkge1xyXG4gICAgICB0aGlzLmxpc3QgPSBsaXN0XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gZ2V0U29ydGVkTGlzdChsaXN0LCB0aGlzLnNvcnRhYmxlKVxyXG4gICAgICB0aGlzLmNoZWNrZWRMaXN0ID0gZ2V0Q2hlY2tlZEl0ZW1zKGxpc3QpXHJcblxyXG4gICAgICB0aGlzLl9pc0luaXQgPSB0cnVlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShsaXN0OiBDaGVja2JveEdyb3VwSXRlbVtdLCBjaGVja2VkTGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQobGlzdCk7XHJcbiAgICB0aGlzLmNoYW5nZUNoZWNrZWQuZW1pdCgpXHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiBsaXN0LCBpZDogdGhpcy51dWlkfSlcclxuICAgIHRoaXMubW9kZWxDaGVja2VkQ2hhbmdlLmVtaXQoe3ZhbHVlOiBjaGVja2VkTGlzdCwgaWQ6IHRoaXMudXVpZH0pXHJcbiAgICB0aGlzLm9uQ2hhbmdlKGxpc3QpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja0hlaWdodEdyb3VwV3JhcHBlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2dyb3VwSXRlbXNXcmFwcGVySGVpZ2h0ID0gdGhpcy5ncm91cEl0ZW1zV3JhcHBlci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodFxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZUNoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZShzZWFyY2hWYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlXHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGZpbHRlclNlYXJjaEdyb3VwKHRoaXMubGlzdCwgdGhpcy5fc2VhcmNoVmFsdWUpXHJcbiAgfVxyXG5cclxuICBjaGVja2JveENoYW5nZWQoeyB2YWx1ZSwgaXRlbSB9OiB7IHZhbHVlOiBib29sZWFuIHwgbnVsbDsgaXRlbTogQ2hlY2tib3hHcm91cEl0ZW0gfSkge1xyXG4gICAgY29uc3QgY2xvbmVMaXN0OiBDaGVja2JveEdyb3VwSXRlbVtdID0gY2xvbmVEZWVwKHRoaXMuZmlsdGVyZWRMaXN0KVxyXG4gICAgY29uc3QgZmluZEl0ZW06IENoZWNrYm94R3JvdXBJdGVtIHwgbnVsbCA9IGdldEl0ZW1CeUlkKGNsb25lTGlzdCwgaXRlbS5pZClcclxuICAgIGxldCBjaGFuZ2VkSXRlbTogQ2hlY2tib3hHcm91cEl0ZW0gfCBudWxsID0gbnVsbFxyXG5cclxuICAgIGlmIChmaW5kSXRlbSkge1xyXG4gICAgICBjaGFuZ2VkSXRlbSA9IGNoYW5nZUl0ZW1WYWx1ZShmaW5kSXRlbSwgdmFsdWUpXHJcbiAgICAgIGNoYW5nZUdyb3VwVmFsdWUoY2xvbmVMaXN0LCBpdGVtLnBhcmVudElkLCB2YWx1ZSlcclxuICAgICAgZ2V0U29ydGVkTGlzdChjbG9uZUxpc3QsIHRoaXMuc29ydGFibGUpXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSBjbG9uZUxpc3RcclxuICAgIHRoaXMuY2hlY2tlZExpc3QgPSBnZXRDaGVja2VkSXRlbXMoY2xvbmVMaXN0KVxyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmZpbHRlcmVkTGlzdCwgdGhpcy5jaGVja2VkTGlzdClcclxuXHJcbiAgICBpZiAoY2hhbmdlZEl0ZW0pIHtcclxuICAgICAgdGhpcy5tb2RlbEl0ZW1DaGFuZ2UuZW1pdChjaGFuZ2VkSXRlbSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyRmlsdGVycygpIHtcclxuICAgIGNvbnN0IGNsb25lTGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSA9IGNsb25lRGVlcCh0aGlzLmZpbHRlcmVkTGlzdClcclxuXHJcbiAgICBjaGFuZ2VMaXN0VmFsdWUoY2xvbmVMaXN0LCBmYWxzZSlcclxuICAgIGdldFNvcnRlZExpc3QoY2xvbmVMaXN0LCB0aGlzLnNvcnRhYmxlKVxyXG5cclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gY2xvbmVMaXN0XHJcbiAgICB0aGlzLmNoZWNrZWRMaXN0ID0gZ2V0Q2hlY2tlZEl0ZW1zKGNsb25lTGlzdClcclxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5maWx0ZXJlZExpc3QsIHRoaXMuY2hlY2tlZExpc3QpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXBcIiBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiPlxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgdHlwZT1cImNoZWNrYm94R3JvdXBcIj48L21yeC1zYXZlLXN0YXRlPlxyXG5cclxuICA8bXJ4LWNoZWNrYm94LWdyb3VwLWhlYWRlclxyXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dFwiXHJcbiAgICBbbGlua1RleHRdPVwibGlua1RleHRcIlxyXG4gICAgW2NoZWNrZWRJdGVtc0NvdW50XT1cImNoZWNrZWRMaXN0Lmxlbmd0aFwiXHJcbiAgICAodXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlKT1cInVwZGF0ZUNoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZSgkZXZlbnQpXCJcclxuICAgIChjbGVhckZpbHRlcnMpPVwiY2xlYXJGaWx0ZXJzKClcIlxyXG4gID48L21yeC1jaGVja2JveC1ncm91cC1oZWFkZXI+XHJcblxyXG4gIDxkaXZcclxuICAgICAgI2dyb3VwSXRlbXNXcmFwcGVyXHJcbiAgICAgICpuZ0lmPVwiZmlsdGVyZWRMaXN0Py5sZW5ndGg7IGVsc2UgZW5hYmxlTWVzc2FnZVRlbXBsYXRlXCJcclxuICAgICAgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXAtd3JhcHBlclwiXHJcbiAgICAgIFtjbGFzcy5tcngtY2hlY2tib3gtZ3JvdXAtd3JhcHBlci0tc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCJcclxuICAgICAgW2NsYXNzLi0tYWN0aXZlXT1cImdldFNob3dTY3JvbGxcIlxyXG4gICAgICBbc3R5bGUubWF4LWhlaWdodF09XCJzY3JvbGxhYmxlID8gc2Nyb2xsTWF4SGVpZ2h0ICsgJ3B4JyA6ICdhdXRvJ1wiPlxyXG4gICAgPG1yeC1jaGVja2JveC1ncm91cC1pdGVtXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWRMaXN0OyBsZXQgbGFzdCA9IGxhc3RcIlxyXG4gICAgICAgIFtkaXNwbGFjZWRdPVwiZGlzcGxhY2VkIHx8IGZhbHNlXCJcclxuICAgICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgICBbaXNMYXN0XT1cImxhc3RcIlxyXG4gICAgICAgIFthbmltYXRpb25UcmlnZ2VyXT1cIiEhaXNTZWFyY2hWYWx1ZVwiXHJcbiAgICAgICAgKGFuaW1hdGlvbkVuZCk9XCJjaGVja0hlaWdodEdyb3VwV3JhcHBlcigpXCJcclxuICAgICAgICAoY2hlY2tib3hDaGFuZ2VkKT1cImNoZWNrYm94Q2hhbmdlZCgkZXZlbnQpXCJcclxuICAgID48L21yeC1jaGVja2JveC1ncm91cC1pdGVtPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2VuYWJsZU1lc3NhZ2VUZW1wbGF0ZT5cclxuICAgIDxwIGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwX19lbXB0eS1tZXNzYWdlXCI+e3sgZW5hYmxlTWVzc2FnZSB9fTwvcD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU96RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxF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Q0Y7c0ZBY2UsTUFBTTtzQkFBckIsS0FBSztnQkFFVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUVPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBUzBCLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBRWIsT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUVVLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsZ0JBQWdCO3NCQUFoQyxNQUFNO2dCQUVVLGVBQWU7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZiwgSW5qZWN0YWJsZSxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBDaGVja2JveEdyb3VwSW5uZXJJdGVtLFxyXG4gIENoZWNrYm94R3JvdXBJdGVtLFxyXG4gIENoZWNrYm94R3JvdXBWYWx1ZUlubmVyV2l0aElkLFxyXG4gIENoZWNrYm94R3JvdXBWYWx1ZVdpdGhJZFxyXG59IGZyb20gJy4vbW9kZWxzL2NoZWNrYm94LWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgZ2V0U29ydGVkTGlzdCB9IGZyb20gJy4vaGVscGVycy9nZXQtc29ydGVkLWxpc3QnO1xyXG5pbXBvcnQgeyBmaWx0ZXJTZWFyY2hHcm91cCB9IGZyb20gJy4vaGVscGVycy9maWx0ZXItc2VhcmNoLWdyb3VwJztcclxuaW1wb3J0IHsgZ2V0SXRlbUlubmVyQnlJZCB9IGZyb20gJy4vaGVscGVycy9nZXQtaXRlbS1ieS1pZCc7XHJcbmltcG9ydCB7IGNoYW5nZUl0ZW1WYWx1ZSwgY2hhbmdlTGlzdFZhbHVlIH0gZnJvbSAnLi9oZWxwZXJzL2NoYW5nZS1pdGVtLXZhbHVlJztcclxuaW1wb3J0IHsgY2hhbmdlR3JvdXBWYWx1ZSB9IGZyb20gJy4vaGVscGVycy9jaGFuZ2UtZ3JvdXAtdmFsdWUnO1xyXG5pbXBvcnQgeyBnZXRDaGVja2VkSXRlbXMgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWNoZWNrZWQtaXRlbXMnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBnZXRJbm5lckxpc3QgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWlubmVyLWxpc3QuaGVscGVyJztcclxuaW1wb3J0IHsgaW5uZXJMaXN0VG9MaXN0IH0gZnJvbSAnLi9oZWxwZXJzL2lubmVyLWxpc3QtdG8tbGlzdC5oZWxwZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IENoZWNrYm94R3JvdXBDb21wb25lbnRcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtY2hlY2tib3gtZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94R3JvdXBDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrYm94R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJpdmF0ZSBfZ3JvdXBJdGVtc1dyYXBwZXJIZWlnaHQgPSAwO1xyXG4gIHByaXZhdGUgX3NlYXJjaFZhbHVlID0gJyc7XHJcblxyXG4gIHB1YmxpYyBsaXN0OiBDaGVja2JveEdyb3VwSXRlbVtdID0gW107XHJcbiAgcHVibGljIGlubmVyTGlzdDogQ2hlY2tib3hHcm91cElubmVySXRlbVtdID0gW107XHJcblxyXG4gIHB1YmxpYyBjaGVja2VkTGlzdDogQ2hlY2tib3hHcm91cElubmVySXRlbVtdID0gW107XHJcbiAgcHVibGljIGZpbHRlcmVkTGlzdDogQ2hlY2tib3hHcm91cElubmVySXRlbVtdID0gW107XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHNjcm9sbE1heEhlaWdodCA9IDIwMDtcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY3JvbGxhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNvcnRhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZU1lc3NhZ2UgPSAn0J3QuNGH0LXQs9C+INC90LUg0L3QsNC50LTQtdC90L4nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcblxyXG4gIC8vIFRPT0xUSVBcclxuICBASW5wdXQoKSB0b29sdGlwID0gJyc7XHJcblxyXG4gIC8vIExBQkVMXHJcbiAgQElucHV0KCkgbGFiZWxUZXh0ID0gJyc7XHJcbiAgQElucHV0KCkgbGlua1RleHQgPSAnJztcclxuXHJcbiAgLy8gVkFMSURBVEVcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkTWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcclxuXHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGxpc3Q6IENoZWNrYm94R3JvdXBJdGVtW10pIHtcclxuICAgIHRoaXMubGlzdCA9IGxpc3Q7XHJcbiAgICB0aGlzLl91cGRhdGVNb2RpZmllZExpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldCBpdGVtcygpOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRMaXN0O1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnZ3JvdXBJdGVtc1dyYXBwZXInKSBncm91cEl0ZW1zV3JhcHBlciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBJdGVtW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSXRlbVtdPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwVmFsdWVXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwVmFsdWVXaXRoSWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZElubmVyOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbVtdPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2VJbm5lcjogRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBWYWx1ZUlubmVyV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cFZhbHVlSW5uZXJXaXRoSWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxJdGVtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBJbm5lckl0ZW0+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1NlYXJjaFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRpc3BsYWNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3Quc29tZSgoaXRlbTogQ2hlY2tib3hHcm91cEl0ZW0pID0+IGl0ZW0uaXRlbXM/Lmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldEludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJbnZhbGlkTWVzc2FnZSgpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkTWVzc2FnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRTaG93U2Nyb2xsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwSXRlbXNXcmFwcGVySGVpZ2h0ID4gdGhpcy5zY3JvbGxNYXhIZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogQ2hlY2tib3hHcm91cEl0ZW1bXSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUoc2VsZWN0ZWRWYWx1ZTogQ2hlY2tib3hHcm91cEl0ZW1bXSk6IHZvaWQge1xyXG4gICAgaWYgKHNlbGVjdGVkVmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5jaGVja2VkTGlzdCA9IGdldElubmVyTGlzdChzZWxlY3RlZFZhbHVlLCB0aGlzLmNoZWNrZWRMaXN0KTtcclxuICAgICAgdGhpcy5fdXBkYXRlTW9kaWZpZWRMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVNb2RpZmllZExpc3QoKSB7XHJcbiAgICB0aGlzLmlubmVyTGlzdCA9IGdldElubmVyTGlzdCh0aGlzLmxpc3QsIHRoaXMuY2hlY2tlZExpc3QpO1xyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSBnZXRTb3J0ZWRMaXN0KHRoaXMuaW5uZXJMaXN0LCB0aGlzLnNvcnRhYmxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja0hlaWdodEdyb3VwV3JhcHBlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2dyb3VwSXRlbXNXcmFwcGVySGVpZ2h0ID0gdGhpcy5ncm91cEl0ZW1zV3JhcHBlci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVDaGVja2JveEdyb3VwU2VhcmNoVmFsdWUoc2VhcmNoVmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gZmlsdGVyU2VhcmNoR3JvdXAodGhpcy5pbm5lckxpc3QsIHRoaXMuX3NlYXJjaFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja2JveENoYW5nZWQoe3ZhbHVlLCBpdGVtfTogeyB2YWx1ZTogYm9vbGVhbiB8IG51bGw7IGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0gfSkge1xyXG4gICAgY29uc3QgY2xvbmVMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10gPSBjbG9uZURlZXAodGhpcy5maWx0ZXJlZExpc3QpO1xyXG4gICAgY29uc3QgZmluZEl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0gfCBudWxsID0gZ2V0SXRlbUlubmVyQnlJZChjbG9uZUxpc3QsIGl0ZW0uaWQpO1xyXG4gICAgbGV0IGNoYW5nZWRJdGVtOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgaWYgKGZpbmRJdGVtKSB7XHJcbiAgICAgIGNoYW5nZWRJdGVtID0gY2hhbmdlSXRlbVZhbHVlKGZpbmRJdGVtLCB2YWx1ZSk7XHJcbiAgICAgIGNoYW5nZUdyb3VwVmFsdWUoY2xvbmVMaXN0LCBpdGVtLnBhcmVudElkLCB2YWx1ZSk7XHJcbiAgICAgIGdldFNvcnRlZExpc3QoY2xvbmVMaXN0LCB0aGlzLnNvcnRhYmxlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGNsb25lTGlzdDtcclxuICAgIHRoaXMuY2hlY2tlZExpc3QgPSBnZXRDaGVja2VkSXRlbXMoY2xvbmVMaXN0KTtcclxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5maWx0ZXJlZExpc3QsIHRoaXMuY2hlY2tlZExpc3QpO1xyXG5cclxuICAgIGlmIChjaGFuZ2VkSXRlbSkge1xyXG4gICAgICB0aGlzLm1vZGVsSXRlbUNoYW5nZS5lbWl0KGNoYW5nZWRJdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJGaWx0ZXJzKCkge1xyXG4gICAgY29uc3QgY2xvbmVMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10gPSBjbG9uZURlZXAodGhpcy5maWx0ZXJlZExpc3QpO1xyXG5cclxuICAgIGNoYW5nZUxpc3RWYWx1ZShjbG9uZUxpc3QsIGZhbHNlKTtcclxuICAgIGdldFNvcnRlZExpc3QoY2xvbmVMaXN0LCB0aGlzLnNvcnRhYmxlKTtcclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGNsb25lTGlzdDtcclxuICAgIHRoaXMuY2hlY2tlZExpc3QgPSBnZXRDaGVja2VkSXRlbXMoY2xvbmVMaXN0KTtcclxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5maWx0ZXJlZExpc3QsIHRoaXMuY2hlY2tlZExpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlVmFsdWUobGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSwgY2hlY2tlZExpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2xlYXJlZExpc3QgPSBpbm5lckxpc3RUb0xpc3QoY2hlY2tlZExpc3QpXHJcbiAgICBjb25zdCBjbGVhcmVkSW5uZXJMaXN0ID0gaW5uZXJMaXN0VG9MaXN0KHRoaXMuaW5uZXJMaXN0KVxyXG5cclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KGNsZWFyZWRMaXN0KTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7dmFsdWU6IGNsZWFyZWRMaXN0LCBmdWxsOiBjbGVhcmVkSW5uZXJMaXN0LCBpZDogdGhpcy51dWlkfSk7XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VkSW5uZXIuZW1pdChjaGVja2VkTGlzdCk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlSW5uZXIuZW1pdCh7dmFsdWU6IGNoZWNrZWRMaXN0LCBmdWxsOiB0aGlzLmlubmVyTGlzdCwgaWQ6IHRoaXMudXVpZH0pO1xyXG5cclxuICAgIHRoaXMub25DaGFuZ2UoY2hlY2tlZExpc3QpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1jaGVja2JveC1ncm91cFwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCI+XHJcbiAgPG1yeC1zYXZlLXN0YXRlIFtpZF09XCJ1dWlkXCIgW2ZpZWxkc109XCJmaWVsZHNcIiB0eXBlPVwiY2hlY2tib3hHcm91cFwiPjwvbXJ4LXNhdmUtc3RhdGU+XHJcblxyXG4gIDxtcngtY2hlY2tib3gtZ3JvdXAtaGVhZGVyXHJcbiAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiXHJcbiAgICBbdG9vbHRpcF09XCJ0b29sdGlwXCJcclxuICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcclxuICAgIFtsaW5rVGV4dF09XCJsaW5rVGV4dFwiXHJcbiAgICBbY2hlY2tlZEl0ZW1zQ291bnRdPVwiY2hlY2tlZExpc3QubGVuZ3RoXCJcclxuICAgICh1cGRhdGVDaGVja2JveEdyb3VwU2VhcmNoVmFsdWUpPVwidXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlKCRldmVudClcIlxyXG4gICAgKGNsZWFyRmlsdGVycyk9XCJjbGVhckZpbHRlcnMoKVwiXHJcbiAgPjwvbXJ4LWNoZWNrYm94LWdyb3VwLWhlYWRlcj5cclxuXHJcbiAgPGRpdlxyXG4gICAgICAjZ3JvdXBJdGVtc1dyYXBwZXJcclxuICAgICAgKm5nSWY9XCJmaWx0ZXJlZExpc3Q/Lmxlbmd0aDsgZWxzZSBlbmFibGVNZXNzYWdlVGVtcGxhdGVcIlxyXG4gICAgICBjbGFzcz1cIm1yeC1jaGVja2JveC1ncm91cC13cmFwcGVyXCJcclxuICAgICAgW2NsYXNzLm1yeC1jaGVja2JveC1ncm91cC13cmFwcGVyLS1zY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIlxyXG4gICAgICBbY2xhc3MuLS1hY3RpdmVdPVwiZ2V0U2hvd1Njcm9sbFwiXHJcbiAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cInNjcm9sbGFibGUgPyBzY3JvbGxNYXhIZWlnaHQgKyAncHgnIDogJ2F1dG8nXCJcclxuICA+XHJcbiAgICA8bXJ4LWNoZWNrYm94LWdyb3VwLWl0ZW1cclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZExpc3Q7IHRyYWNrQnk6IHRyYWNrQnlGbjsgbGV0IGxhc3QgPSBsYXN0XCJcclxuICAgICAgICBbZGlzcGxhY2VkXT1cImRpc3BsYWNlZCB8fCBmYWxzZVwiXHJcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgICAgW2lzTGFzdF09XCJsYXN0XCJcclxuICAgICAgICBbYW5pbWF0aW9uVHJpZ2dlcl09XCIhIWlzU2VhcmNoVmFsdWVcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkXCJcclxuICAgICAgICAoYW5pbWF0aW9uRW5kKT1cImNoZWNrSGVpZ2h0R3JvdXBXcmFwcGVyKClcIlxyXG4gICAgICAgIChjaGVja2JveENoYW5nZWQpPVwiY2hlY2tib3hDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgPjwvbXJ4LWNoZWNrYm94LWdyb3VwLWl0ZW0+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjZW5hYmxlTWVzc2FnZVRlbXBsYXRlPlxyXG4gICAgPHAgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXBfX2VtcHR5LW1lc3NhZ2VcIj57eyBlbmFibGVNZXNzYWdlIH19PC9wPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxtcngtZXJyb3ItbWVzc2FnZVxyXG4gICAgKm5nSWY9XCJnZXRJbnZhbGlkICYmIGdldEludmFsaWRNZXNzYWdlXCJcclxuICAgIFtpbnZhbGlkTWVzc2FnZV09XCJnZXRJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICBbY3VzdG9tQ2xhc3Nlc109XCInbXQtMidcIlxyXG4gID48L21yeC1lcnJvci1tZXNzYWdlPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
import * as i2 from "@angular/forms";
|
|
@@ -23,11 +23,11 @@ export class CheckboxGroupHeaderComponent {
|
|
|
23
23
|
this.clearFilters.emit();
|
|
24
24
|
}
|
|
25
25
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CheckboxGroupHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters" }, ngImport: i0, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }, { kind: "component", type: i4.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeCheckboxValue", "clickedLink"] }] });
|
|
26
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters" }, ngImport: i0, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }, { kind: "component", type: i4.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeCheckboxValue", "clickedLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
27
27
|
}
|
|
28
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CheckboxGroupHeaderComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
|
-
args: [{ selector: 'mrx-checkbox-group-header', template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
|
|
30
|
+
args: [{ selector: 'mrx-checkbox-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
|
|
31
31
|
}], ctorParameters: () => [], propDecorators: { searchable: [{
|
|
32
32
|
type: Input
|
|
33
33
|
}], searchPlaceholder: [{
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
45
45
|
}], clearFilters: [{
|
|
46
46
|
type: Output
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2NoZWNrYm94LWdyb3VwL2NvbXBvbmVudHMvY2hlY2tib3gtZ3JvdXAtaGVhZGVyL2NoZWNrYm94LWdyb3VwLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jaGVja2JveC1ncm91cC9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwLWhlYWRlci9jaGVja2JveC1ncm91cC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU2hHLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUVkLFVBQVUsR0FBRyxLQUFLLENBQUE7SUFDbEIsaUJBQWlCLEdBQUcsRUFBRSxDQUFBO0lBRS9CLFFBQVE7SUFDQyxPQUFPLEdBQUcsRUFBRSxDQUFBO0lBQ1osU0FBUyxHQUFHLEVBQUUsQ0FBQTtJQUNkLFFBQVEsR0FBRyxFQUFFLENBQUE7SUFDYixpQkFBaUIsR0FBRyxDQUFDLENBQUE7SUFFYiw4QkFBOEIsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUNsRixZQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFFN0UsZ0JBQWdCLENBQUM7SUFFVixpQkFBaUIsQ0FBQyxXQUFxQztRQUM1RCxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUIsQ0FBQzt3R0F2QlUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsc1dDVHpDLGlmQWdCQTs7NEZEUGEsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTt3REFLdEMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRVcsOEJBQThCO3NCQUE5QyxNQUFNO2dCQUNVLFlBQVk7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoZWNrYm94LWdyb3VwLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWNoZWNrYm94LWdyb3VwLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWdyb3VwLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtZ3JvdXAtaGVhZGVyLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveEdyb3VwSGVhZGVyQ29tcG9uZW50IHtcclxuICBwdWJsaWMgc2VhcmNoVmFsdWUgPSAnJ1xyXG5cclxuICBASW5wdXQoKSBzZWFyY2hhYmxlID0gZmFsc2VcclxuICBASW5wdXQoKSBzZWFyY2hQbGFjZWhvbGRlciA9ICcnXHJcblxyXG4gIC8vIExBQkVMXHJcbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnXHJcbiAgQElucHV0KCkgbGFiZWxUZXh0ID0gJydcclxuICBASW5wdXQoKSBsaW5rVGV4dCA9ICcnXHJcbiAgQElucHV0KCkgY2hlY2tlZEl0ZW1zQ291bnQgPSAwXHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgdXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJGaWx0ZXJzOiBFdmVudEVtaXR0ZXI8bnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VTZWFyY2hWYWx1ZShzZWFyY2hWYWx1ZTogQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZUNoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZS5lbWl0KHNlYXJjaFZhbHVlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhckZpbHRlcnMuZW1pdCgpXHJcbiAgfVxyXG59XHJcbiIsIjxtcngtbGFiZWxcclxuICAqbmdJZj1cImxhYmVsVGV4dFwiXHJcbiAgW2NvdW50ZXJdPVwiY2hlY2tlZEl0ZW1zQ291bnRcIlxyXG4gIFtsaW5rVGV4dF09XCJsaW5rVGV4dFwiXHJcbiAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgKGNsaWNrZWRMaW5rKT1cIm9uQ2xlYXJGaWx0ZXJzKClcIlxyXG4+e3sgbGFiZWxUZXh0IH19PC9tcngtbGFiZWw+XHJcblxyXG48ZGl2IGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwLWhlYWQtLXNlYXJjaFwiICpuZ0lmPVwic2VhcmNoYWJsZVwiPlxyXG4gIDxtcngtaW5wdXQtc2VhcmNoXHJcbiAgICBbbmdNb2RlbF09XCJzZWFyY2hWYWx1ZVwiXHJcbiAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlU2VhcmNoVmFsdWUoJGV2ZW50KVwiXHJcbiAgPjwvbXJ4LWlucHV0LXNlYXJjaD5cclxuPC9kaXY+XHJcbiJdfQ==
|