myrta-ui 17.0.89 → 17.0.91
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/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +3 -6
- package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +6 -13
- package/esm2022/lib/components/pdf-viewer/pdf-viewer.component.mjs +3 -3
- package/fesm2022/myrta-ui.mjs +9 -19
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.d.ts +1 -2
- package/lib/components/form/radio-group/radio-group.component.d.ts +1 -3
- package/package.json +1 -1
|
@@ -15,7 +15,6 @@ export class RadioGroupItemComponent {
|
|
|
15
15
|
isLast;
|
|
16
16
|
disabled = false;
|
|
17
17
|
readonly = false;
|
|
18
|
-
animationEnd = new EventEmitter();
|
|
19
18
|
radioChanged = new EventEmitter();
|
|
20
19
|
constructor(detector) {
|
|
21
20
|
this.detector = detector;
|
|
@@ -33,11 +32,11 @@ export class RadioGroupItemComponent {
|
|
|
33
32
|
this.detector.detectChanges();
|
|
34
33
|
}
|
|
35
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: { invalid: "invalid", name: "name", selectedValue: "selectedValue", item: "item", displaced: "displaced", level: "level", bold: "bold", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly" }, outputs: {
|
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: { invalid: "invalid", name: "name", selectedValue: "selectedValue", item: "item", displaced: "displaced", level: "level", bold: "bold", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly" }, outputs: { radioChanged: "radioChanged" }, ngImport: i0, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n @if (item.array.length && level < 10) {\r\n <div class=\"mrx-radio-group__item--array\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n @for (child of item.array; track child.id) {\r\n <mrx-radio-group-item\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n }\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.RadioComponent, selector: "mrx-radio", inputs: ["required", "type", "name", "boldLabel", "disabled", "readonly", "placeholder", "label", "customClasses", "invalid", "value"] }, { kind: "component", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: ["invalid", "name", "selectedValue", "item", "displaced", "level", "bold", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["radioChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
37
36
|
}
|
|
38
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupItemComponent, decorators: [{
|
|
39
38
|
type: Component,
|
|
40
|
-
args: [{ selector: 'mrx-radio-group-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n @if (item.array.length && level < 10) {\r\n <div class=\"mrx-radio-group__item--array\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n
|
|
39
|
+
args: [{ selector: 'mrx-radio-group-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n @if (item.array.length && level < 10) {\r\n <div class=\"mrx-radio-group__item--array\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n @for (child of item.array; track child.id) {\r\n <mrx-radio-group-item\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n }\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"] }]
|
|
41
40
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { invalid: [{
|
|
42
41
|
type: Input
|
|
43
42
|
}], name: [{
|
|
@@ -60,9 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
60
59
|
type: Input
|
|
61
60
|
}], readonly: [{
|
|
62
61
|
type: Input
|
|
63
|
-
}], animationEnd: [{
|
|
64
|
-
type: Output
|
|
65
62
|
}], radioChanged: [{
|
|
66
63
|
type: Output
|
|
67
64
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9jb21wb25lbnRzL3JhZGlvLWdyb3VwLWl0ZW0vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9jb21wb25lbnRzL3JhZGlvLWdyb3VwLWl0ZW0vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7OztBQVN2QixNQUFNLE9BQU8sdUJBQXVCO0lBaUJkO0lBZkosT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLGFBQWEsR0FBMEIsSUFBSSxDQUFDO0lBQzVDLElBQUksQ0FBaUI7SUFDckIsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUNqQixLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixnQkFBZ0IsR0FBbUIsSUFBSSxDQUFBO0lBQ3ZDLE1BQU0sQ0FBVTtJQUNULFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVoQixZQUFZLEdBQzNCLElBQUksWUFBWSxFQUE0RCxDQUFDO0lBRS9FLFlBQW9CLFFBQTJCO1FBQTNCLGFBQVEsR0FBUixRQUFRLENBQW1CO0lBQy9DLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUE7SUFDOUIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQThCLEVBQUUsSUFBb0I7UUFDMUUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNoRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUMvQixDQUFDO3dHQWhDVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qiw2VkNoQnBDLHlyREFpREEsc3hCRGpDYSx1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07c0ZBSS9CLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVcsWUFBWTtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJhZGlvR3JvdXBJdGVtLCBSYWRpb0luZGV0ZXJtaW5hdGVTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9yYWRpby1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1yYWRpby1ncm91cC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0dyb3VwSXRlbUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogUmFkaW9Hcm91cEl0ZW0gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBpdGVtITogUmFkaW9Hcm91cEl0ZW1cclxuICBASW5wdXQoKSBkaXNwbGFjZWQgPSBmYWxzZVxyXG4gIEBJbnB1dCgpIGxldmVsID0gMFxyXG4gIEBJbnB1dCgpIHB1YmxpYyBib2xkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYW5pbWF0aW9uVHJpZ2dlcjogYm9vbGVhbiB8IG51bGwgPSBudWxsXHJcbiAgQElucHV0KCkgaXNMYXN0ITogYm9vbGVhblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIHJhZGlvQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHsgdmFsdWU6IFJhZGlvSW5kZXRlcm1pbmF0ZVN0YXRlLCBpdGVtOiBSYWRpb0dyb3VwSXRlbSB9PiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHsgdmFsdWU6IFJhZGlvSW5kZXRlcm1pbmF0ZVN0YXRlLCBpdGVtOiBSYWRpb0dyb3VwSXRlbSB9PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0luZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtLmlkID09PSBudWxsXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmFkaW9DaGFuZ2VNb2RlbCh2YWx1ZTogUmFkaW9JbmRldGVybWluYXRlU3RhdGUsIGl0ZW06IFJhZGlvR3JvdXBJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc0luZGV0ZXJtaW5hdGUpIHtcclxuICAgICAgdGhpcy5yYWRpb0NoYW5nZWQuZW1pdCh7IHZhbHVlOiBmYWxzZSwgaXRlbSB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yYWRpb0NoYW5nZWQuZW1pdCh7IHZhbHVlOiB2YWx1ZSwgaXRlbSB9KVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtcmFkaW8tZ3JvdXBfX2l0ZW1cIiBbY2xhc3MubXJ4LXJhZGlvLWdyb3VwX19pdGVtLS1idXR0b20taWRlbnRdPVwiIWlzTGFzdFwiPlxyXG4gIEBpZiAoaXRlbS5hcnJheS5sZW5ndGggJiYgbGV2ZWwgPCAxMCkge1xyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1yYWRpby1ncm91cF9faXRlbS0tYXJyYXlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1yYWRpby1ncm91cF9faXRlbS0tYXJyYXktaGVhZCBtYi0xMnB4XCI+XHJcbiAgICAgICAgPG1yeC1yYWRpb1xyXG4gICAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRWYWx1ZT8uaWRcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIml0ZW0uaWRcIlxyXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICBbYm9sZExhYmVsXT1cImJvbGRcIlxyXG4gICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyYWRpb0NoYW5nZU1vZGVsKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgID57eyBpdGVtLnRleHQgfX08L21yeC1yYWRpbz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXJhZGlvLWdyb3VwX19pdGVtLS1hcnJheS1saXN0XCI+XHJcbiAgICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbS5hcnJheTsgdHJhY2sgY2hpbGQuaWQpIHtcclxuICAgICAgICAgIDxtcngtcmFkaW8tZ3JvdXAtaXRlbVxyXG4gICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAgIFtpdGVtXT1cImNoaWxkXCJcclxuICAgICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgICAgIFtib2xkXT1cImJvbGRcIlxyXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgW2FuaW1hdGlvblRyaWdnZXJdPVwiYW5pbWF0aW9uVHJpZ2dlclwiXHJcbiAgICAgICAgICAgIChyYWRpb0NoYW5nZWQpPVwicmFkaW9DaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9tcngtcmFkaW8tZ3JvdXAtaXRlbT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXJhZGlvLWdyb3VwX19pdGVtLS1zaW5nbGVcIj5cclxuICAgICAgPG1yeC1yYWRpb1xyXG4gICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkVmFsdWU/LmlkXCJcclxuICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICBbYm9sZExhYmVsXT1cImJvbGRcIlxyXG4gICAgICAgIFt0eXBlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgW3ZhbHVlXT1cIml0ZW0uaWRcIlxyXG4gICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyYWRpb0NoYW5nZU1vZGVsKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICA+e3sgaXRlbS50ZXh0IH19PC9tcngtcmFkaW8+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Injectable, Input, Output,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Injectable, Input, Output, viewChild } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { cloneDeep } from 'lodash-es';
|
|
4
4
|
import { moveSelectedToFirst } from './helpers/move-selected-to-first';
|
|
@@ -12,7 +12,6 @@ import * as i3 from "./components/radio-group-item/radio-group-item.component";
|
|
|
12
12
|
import * as i4 from "./components/radio-group-header/radio-group-header.component";
|
|
13
13
|
export class RadioGroupComponent {
|
|
14
14
|
_detector;
|
|
15
|
-
_groupItemsWrapperHeight = 0;
|
|
16
15
|
_searchValue = '';
|
|
17
16
|
_list = [];
|
|
18
17
|
selectedValue = null;
|
|
@@ -48,7 +47,7 @@ export class RadioGroupComponent {
|
|
|
48
47
|
get items() {
|
|
49
48
|
return this.filteredList;
|
|
50
49
|
}
|
|
51
|
-
groupItemsWrapper;
|
|
50
|
+
itemsWrapper = viewChild.required('groupItemsWrapper');
|
|
52
51
|
changed = new EventEmitter();
|
|
53
52
|
modelChange = new EventEmitter();
|
|
54
53
|
modelCheckedChange = new EventEmitter();
|
|
@@ -66,7 +65,7 @@ export class RadioGroupComponent {
|
|
|
66
65
|
return `${this.customClasses}`;
|
|
67
66
|
}
|
|
68
67
|
get getShowScroll() {
|
|
69
|
-
return this.
|
|
68
|
+
return this.itemsWrapper().nativeElement.scrollHeight > this.scrollMaxHeight;
|
|
70
69
|
}
|
|
71
70
|
get isInvalidMessage() {
|
|
72
71
|
return !!this.invalidMessage || !!this.invalidMessage?.length;
|
|
@@ -87,9 +86,6 @@ export class RadioGroupComponent {
|
|
|
87
86
|
this.onChange(targetItem);
|
|
88
87
|
this.onTouched();
|
|
89
88
|
}
|
|
90
|
-
checkHeightGroupWrapper() {
|
|
91
|
-
this._groupItemsWrapperHeight = this.groupItemsWrapper.nativeElement.scrollHeight;
|
|
92
|
-
}
|
|
93
89
|
updateRadioGroupSearchValue(searchValue) {
|
|
94
90
|
this._searchValue = searchValue;
|
|
95
91
|
this.filteredList = filterSearchGroup(this._list, this._searchValue);
|
|
@@ -114,7 +110,7 @@ export class RadioGroupComponent {
|
|
|
114
110
|
useExisting: forwardRef(() => RadioGroupComponent),
|
|
115
111
|
multi: true,
|
|
116
112
|
},
|
|
117
|
-
], viewQueries: [{ propertyName: "
|
|
113
|
+
], viewQueries: [{ propertyName: "itemsWrapper", first: true, predicate: ["groupItemsWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"mrx-radio-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"radioGroup\"></mrx-save-state>\r\n\r\n <mrx-radio-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n [searchSize]=\"searchSize\"\r\n [labelText]=\"labelText\"\r\n (updateradioGroupSearchValue)=\"updateRadioGroupSearchValue($event)\"\r\n ></mrx-radio-group-header>\r\n\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\r\n class=\"mrx-radio-group-wrapper\"\r\n [class.mrx-radio-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-radio-group-item\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [selectedValue]=\"selectedValue\"\r\n [name]=\"name\"\r\n [bold]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (radioChanged)=\"radioChanged($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-radio-group__empty-message py-12px\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n</div>\r\n", styles: [".mrx-radio-group{position:relative}.mrx-radio-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-radio-group-wrapper--scrollable.--active{padding-top:var(--spacing-3, 12px);padding-bottom:var(--spacing-3, 12px);border-color:var(--neutral-bg-divider)}\n"], dependencies: [{ kind: "component", type: i1.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i2.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: i3.RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: ["invalid", "name", "selectedValue", "item", "displaced", "level", "bold", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["radioChanged"] }, { kind: "component", type: i4.RadioGroupHeaderComponent, selector: "mrx-radio-group-header", inputs: ["searchSize", "searchable", "searchPlaceholder", "tooltip", "labelText", "linkText", "checkedItemsCount", "required"], outputs: ["updateradioGroupSearchValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
118
114
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupComponent, providedIn: RadioGroupComponent });
|
|
119
115
|
}
|
|
120
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupComponent, decorators: [{
|
|
@@ -130,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
130
126
|
useExisting: forwardRef(() => RadioGroupComponent),
|
|
131
127
|
multi: true,
|
|
132
128
|
},
|
|
133
|
-
], template: "<div class=\"mrx-radio-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"radioGroup\"></mrx-save-state>\r\n\r\n <mrx-radio-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n [searchSize]=\"searchSize\"\r\n [labelText]=\"labelText\"\r\n (updateradioGroupSearchValue)=\"updateRadioGroupSearchValue($event)\"\r\n ></mrx-radio-group-header>\r\n\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\r\n class=\"mrx-radio-group-wrapper\"\r\n [class.mrx-radio-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-radio-group-item\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [selectedValue]=\"selectedValue\"\r\n [name]=\"name\"\r\n [bold]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (
|
|
129
|
+
], template: "<div class=\"mrx-radio-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"radioGroup\"></mrx-save-state>\r\n\r\n <mrx-radio-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n [searchSize]=\"searchSize\"\r\n [labelText]=\"labelText\"\r\n (updateradioGroupSearchValue)=\"updateRadioGroupSearchValue($event)\"\r\n ></mrx-radio-group-header>\r\n\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\r\n class=\"mrx-radio-group-wrapper\"\r\n [class.mrx-radio-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-radio-group-item\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [selectedValue]=\"selectedValue\"\r\n [name]=\"name\"\r\n [bold]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (radioChanged)=\"radioChanged($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-radio-group__empty-message py-12px\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n</div>\r\n", styles: [".mrx-radio-group{position:relative}.mrx-radio-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-radio-group-wrapper--scrollable.--active{padding-top:var(--spacing-3, 12px);padding-bottom:var(--spacing-3, 12px);border-color:var(--neutral-bg-divider)}\n"] }]
|
|
134
130
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { fields: [{
|
|
135
131
|
type: Input
|
|
136
132
|
}], searchSize: [{
|
|
@@ -171,9 +167,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
171
167
|
type: Input
|
|
172
168
|
}], items: [{
|
|
173
169
|
type: Input
|
|
174
|
-
}], groupItemsWrapper: [{
|
|
175
|
-
type: ViewChild,
|
|
176
|
-
args: ['groupItemsWrapper']
|
|
177
170
|
}], changed: [{
|
|
178
171
|
type: Output
|
|
179
172
|
}], modelChange: [{
|
|
@@ -183,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
183
176
|
}], modelItemChange: [{
|
|
184
177
|
type: Output
|
|
185
178
|
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFtQmxDLE1BQU0sT0FBTyxtQkFBbUI7SUFxRFY7SUFwRFosd0JBQXdCLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDbkIsS0FBSyxHQUFxQixFQUFFLENBQUM7SUFHN0IsYUFBYSxHQUEwQixJQUFJLENBQUM7SUFDNUMsWUFBWSxHQUFxQixFQUFFLENBQUM7SUFFM0MsYUFBYTtJQUNOLElBQUksR0FBVyxJQUFJLEVBQUUsQ0FBQztJ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QUFqQixLQUFLO2dCQUVPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBVTBCLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBRWIsT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUNVLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFDVSxlQUFlO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXRTZWFyY2hTaXplc1R5cGVzIH0gZnJvbSAnLi4vaW5wdXQtc2VhcmNoL2lucHV0LXNlYXJjaC5lbnVtJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5qZWN0YWJsZSxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUmFkaW9Hcm91cEl0ZW0sIFJhZGlvR3JvdXBWYWx1ZVdpdGhJZCB9IGZyb20gJy4vbW9kZWxzL3JhZGlvLWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgbW92ZVNlbGVjdGVkVG9GaXJzdCB9IGZyb20gJy4vaGVscGVycy9tb3ZlLXNlbGVjdGVkLXRvLWZpcnN0JztcclxuaW1wb3J0IHsgZmlsdGVyU2VhcmNoR3JvdXAgfSBmcm9tICcuL2hlbHBlcnMvZmlsdGVyLXNlYXJjaC1ncm91cCc7XHJcbmltcG9ydCB7IGdldEl0ZW1CeUlkIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1pdGVtLWJ5LWlkJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBSYWRpb0dyb3VwQ29tcG9uZW50XHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXJhZGlvLWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0dyb3VwQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0dyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHByaXZhdGUgX2dyb3VwSXRlbXNXcmFwcGVySGVpZ2h0ID0gMDtcclxuICBwcml2YXRlIF9zZWFyY2hWYWx1ZSA9ICcnO1xyXG4gIHB1YmxpYyBfbGlzdDogUmFkaW9Hcm91cEl0ZW1bXSA9IFtdO1xyXG5cclxuXHJcbiAgcHVibGljIHNlbGVjdGVkVmFsdWU6IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGZpbHRlcmVkTGlzdDogUmFkaW9Hcm91cEl0ZW1bXSA9IFtdO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWQoKTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hTaXplOiBJbnB1dFNlYXJjaFNpemVzVHlwZXMgPSAnbWVkaXVtJztcclxuICBASW5wdXQoKSBwdWJsaWMgbmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY3JvbGxNYXhIZWlnaHQgPSAyMDA7XHJcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaGFibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYm9sZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY3JvbGxhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNvcnRhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZU1lc3NhZ2UgPSAn0J3QuNGH0LXQs9C+INC90LUg0L3QsNC50LTQtdC90L4nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZE1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vIFRPT0xUSVBcclxuICBASW5wdXQoKSB0b29sdGlwID0gJyc7XHJcblxyXG4gIC8vIExBQkVMXHJcbiAgQElucHV0KCkgbGFiZWxUZXh0ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyh2YWx1ZTogUmFkaW9Hcm91cEl0ZW1bXSkge1xyXG4gICAgdGhpcy5fbGlzdCA9IHZhbHVlXHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IHZhbHVlXHJcbiAgICB0aGlzLl9kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICB9XHJcblxyXG4gIGdldCBpdGVtcygpOiBSYWRpb0dyb3VwSXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkTGlzdFxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnZ3JvdXBJdGVtc1dyYXBwZXInKSBncm91cEl0ZW1zV3JhcHBlciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmFkaW9Hcm91cFZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmFkaW9Hcm91cFZhbHVlV2l0aElkPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGVja2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmFkaW9Hcm91cEl0ZW0gfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmFkaW9Hcm91cEl0ZW0gfCBudWxsPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxJdGVtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmFkaW9Hcm91cEl0ZW0gfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmFkaW9Hcm91cEl0ZW0gfCBudWxsPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNTZWFyY2hWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBkaXNwbGFjZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5zb21lKChpdGVtOiBSYWRpb0dyb3VwSXRlbSkgPT4gaXRlbS5hcnJheS5sZW5ndGgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21DbGFzc2VzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFNob3dTY3JvbGwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ3JvdXBJdGVtc1dyYXBwZXJIZWlnaHQgPiB0aGlzLnNjcm9sbE1heEhlaWdodDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNJbnZhbGlkTWVzc2FnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuaW52YWxpZE1lc3NhZ2UgfHwgISF0aGlzLmludmFsaWRNZXNzYWdlPy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShzZWxlY3RlZFZhbHVlOiBSYWRpb0dyb3VwSXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gc2VsZWN0ZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGxpc3Q6IFJhZGlvR3JvdXBJdGVtW10sIHRhcmdldEl0ZW06IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGFyZ2V0SXRlbSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiB0YXJnZXRJdGVtLCBpZDogdGhpcy51dWlkfSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hlY2tlZENoYW5nZS5lbWl0KHRhcmdldEl0ZW0pO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0YXJnZXRJdGVtKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tIZWlnaHRHcm91cFdyYXBwZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9ncm91cEl0ZW1zV3JhcHBlckhlaWdodCA9IHRoaXMuZ3JvdXBJdGVtc1dyYXBwZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlUmFkaW9Hcm91cFNlYXJjaFZhbHVlKHNlYXJjaFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NlYXJjaFZhbHVlID0gc2VhcmNoVmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGZpbHRlclNlYXJjaEdyb3VwKHRoaXMuX2xpc3QsIHRoaXMuX3NlYXJjaFZhbHVlKTtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gbW92ZVNlbGVjdGVkVG9GaXJzdCh0aGlzLmZpbHRlcmVkTGlzdCwgdGhpcy5zb3J0YWJsZSwgdGhpcy5zZWxlY3RlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByYWRpb0NoYW5nZWQoe2l0ZW19OiB7IGl0ZW06IFJhZGlvR3JvdXBJdGVtIH0pIHtcclxuICAgIGNvbnN0IGNsb25lTGlzdDogUmFkaW9Hcm91cEl0ZW1bXSA9IGNsb25lRGVlcCh0aGlzLmZpbHRlcmVkTGlzdCk7XHJcbiAgICBjb25zdCB0YXJnZXRJdGVtOiBSYWRpb0dyb3VwSXRlbSB8IG51bGwgPSBnZXRJdGVtQnlJZChjbG9uZUxpc3QsIGl0ZW0uaWQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdGFyZ2V0SXRlbTtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gbW92ZVNlbGVjdGVkVG9GaXJzdChjbG9uZUxpc3QsIHRoaXMuc29ydGFibGUsIHRhcmdldEl0ZW0pO1xyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmZpbHRlcmVkTGlzdCwgdGFyZ2V0SXRlbSk7XHJcbiAgICB0aGlzLm1vZGVsSXRlbUNoYW5nZS5lbWl0KHRhcmdldEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgfTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHtcclxuICB9O1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtcmFkaW8tZ3JvdXBcIiBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiPlxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgdHlwZT1cInJhZGlvR3JvdXBcIj48L21yeC1zYXZlLXN0YXRlPlxyXG5cclxuICA8bXJ4LXJhZGlvLWdyb3VwLWhlYWRlclxyXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgW3NlYXJjaFNpemVdPVwic2VhcmNoU2l6ZVwiXHJcbiAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dFwiXHJcbiAgICAodXBkYXRlcmFkaW9Hcm91cFNlYXJjaFZhbHVlKT1cInVwZGF0ZVJhZGlvR3JvdXBTZWFyY2hWYWx1ZSgkZXZlbnQpXCJcclxuICA+PC9tcngtcmFkaW8tZ3JvdXAtaGVhZGVyPlxyXG5cclxuICBAaWYgKGZpbHRlcmVkTGlzdCAmJiBmaWx0ZXJlZExpc3QubGVuZ3RoKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgICNncm91cEl0ZW1zV3JhcHBlclxyXG4gICAgICBjbGFzcz1cIm1yeC1yYWRpby1ncm91cC13cmFwcGVyXCJcclxuICAgICAgW2NsYXNzLm1yeC1yYWRpby1ncm91cC13cmFwcGVyLS1zY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIlxyXG4gICAgICBbY2xhc3MuLS1hY3RpdmVdPVwiZ2V0U2hvd1Njcm9sbFwiXHJcbiAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cInNjcm9sbGFibGUgPyBzY3JvbGxNYXhIZWlnaHQgKyAncHgnIDogJ2F1dG8nXCJcclxuICAgID5cclxuICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZExpc3Q7IHRyYWNrIGl0ZW0uaWQ7IGxldCBsYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICA8bXJ4LXJhZGlvLWdyb3VwLWl0ZW1cclxuICAgICAgICAgIFtkaXNwbGFjZWRdPVwiZGlzcGxhY2VkIHx8IGZhbHNlXCJcclxuICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgW2lzTGFzdF09XCJsYXN0XCJcclxuICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIlxyXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICBbYm9sZF09XCJib2xkXCJcclxuICAgICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICBbYW5pbWF0aW9uVHJpZ2dlcl09XCIhIWlzU2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgKGFuaW1hdGlvbkVuZCk9XCJjaGVja0hlaWdodEdyb3VwV3JhcHBlcigpXCJcclxuICAgICAgICAgIChyYWRpb0NoYW5nZWQpPVwicmFkaW9DaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgID48L21yeC1yYWRpby1ncm91cC1pdGVtPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxwIGNsYXNzPVwibXJ4LXJhZGlvLWdyb3VwX19lbXB0eS1tZXNzYWdlIHB5LTEycHhcIj57eyBlbmFibGVNZXNzYWdlIH19PC9wPlxyXG4gIH1cclxuXHJcbiAgQGlmIChpbnZhbGlkICYmIGlzSW52YWxpZE1lc3NhZ2UpIHtcclxuICAgIDxtcngtZXJyb3ItbWVzc2FnZSBbaW52YWxpZE1lc3NhZ2VdPVwiaW52YWxpZE1lc3NhZ2VcIiBbY3VzdG9tQ2xhc3Nlc109XCInbXQtMidcIj48L21yeC1lcnJvci1tZXNzYWdlPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFtQmxDLE1BQU0sT0FBTyxtQkFBbUI7SUFvRFY7SUFuRFosWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNuQixLQUFLLEdBQXFCLEVBQUUsQ0FBQztJQUc3QixhQUFhLEdBQTBCLElBQUksQ0FBQztJQUM1QyxZQUFZLEdBQXFCLEVBQUUsQ0FBQztJQUUzQyxhQUFhO0lBQ04sSUFBSSxHQUFXLElBQUksRUFBRSxDQUFDO0lBRWIsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUNy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QVc7c0JBQTNCLE1BQU07Z0JBQ1Usa0JBQWtCO3NCQUFsQyxNQUFNO2dCQUNVLGVBQWU7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dFNlYXJjaFNpemVzVHlwZXMgfSBmcm9tICcuLi9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbmplY3RhYmxlLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICB2aWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSYWRpb0dyb3VwSXRlbSwgUmFkaW9Hcm91cFZhbHVlV2l0aElkIH0gZnJvbSAnLi9tb2RlbHMvcmFkaW8tZ3JvdXAubW9kZWwnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBtb3ZlU2VsZWN0ZWRUb0ZpcnN0IH0gZnJvbSAnLi9oZWxwZXJzL21vdmUtc2VsZWN0ZWQtdG8tZmlyc3QnO1xyXG5pbXBvcnQgeyBmaWx0ZXJTZWFyY2hHcm91cCB9IGZyb20gJy4vaGVscGVycy9maWx0ZXItc2VhcmNoLWdyb3VwJztcclxuaW1wb3J0IHsgZ2V0SXRlbUJ5SWQgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWl0ZW0tYnktaWQnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFJhZGlvR3JvdXBDb21wb25lbnRcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtcmFkaW8tZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvR3JvdXBDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJpdmF0ZSBfc2VhcmNoVmFsdWUgPSAnJztcclxuICBwdWJsaWMgX2xpc3Q6IFJhZGlvR3JvdXBJdGVtW10gPSBbXTtcclxuXHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZFZhbHVlOiBSYWRpb0dyb3VwSXRlbSB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBmaWx0ZXJlZExpc3Q6IFJhZGlvR3JvdXBJdGVtW10gPSBbXTtcclxuXHJcbiAgLy8gU0FWRSBTVEFURVxyXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkKCk7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoU2l6ZTogSW5wdXRTZWFyY2hTaXplc1R5cGVzID0gJ21lZGl1bSc7XHJcbiAgQElucHV0KCkgcHVibGljIG5hbWUgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsTWF4SGVpZ2h0ID0gMjAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGJvbGQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0YWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVNZXNzYWdlID0gJ9Cd0LjRh9C10LPQviDQvdC1INC90LDQudC00LXQvdC+JztcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvLyBUT09MVElQXHJcbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnO1xyXG5cclxuICAvLyBMQUJFTFxyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dCA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IFJhZGlvR3JvdXBJdGVtW10pIHtcclxuICAgIHRoaXMuX2xpc3QgPSB2YWx1ZVxyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSB2YWx1ZVxyXG4gICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG5cclxuICBnZXQgaXRlbXMoKTogUmFkaW9Hcm91cEl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZExpc3RcclxuICB9XHJcbiAgXHJcbiAgcmVhZG9ubHkgaXRlbXNXcmFwcGVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY+KCdncm91cEl0ZW1zV3JhcHBlcicpO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwSXRlbSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwSXRlbSB8IG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBWYWx1ZVdpdGhJZD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hlY2tlZENoYW5nZTogRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsSXRlbUNoYW5nZTogRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzU2VhcmNoVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGlzcGxhY2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuc29tZSgoaXRlbTogUmFkaW9Hcm91cEl0ZW0pID0+IGl0ZW0uYXJyYXkubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRTaG93U2Nyb2xsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXNXcmFwcGVyKCkubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgPiB0aGlzLnNjcm9sbE1heEhlaWdodDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNJbnZhbGlkTWVzc2FnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuaW52YWxpZE1lc3NhZ2UgfHwgISF0aGlzLmludmFsaWRNZXNzYWdlPy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShzZWxlY3RlZFZhbHVlOiBSYWRpb0dyb3VwSXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gc2VsZWN0ZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGxpc3Q6IFJhZGlvR3JvdXBJdGVtW10sIHRhcmdldEl0ZW06IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGFyZ2V0SXRlbSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiB0YXJnZXRJdGVtLCBpZDogdGhpcy51dWlkfSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hlY2tlZENoYW5nZS5lbWl0KHRhcmdldEl0ZW0pO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0YXJnZXRJdGVtKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlUmFkaW9Hcm91cFNlYXJjaFZhbHVlKHNlYXJjaFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NlYXJjaFZhbHVlID0gc2VhcmNoVmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGZpbHRlclNlYXJjaEdyb3VwKHRoaXMuX2xpc3QsIHRoaXMuX3NlYXJjaFZhbHVlKTtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gbW92ZVNlbGVjdGVkVG9GaXJzdCh0aGlzLmZpbHRlcmVkTGlzdCwgdGhpcy5zb3J0YWJsZSwgdGhpcy5zZWxlY3RlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByYWRpb0NoYW5nZWQoe2l0ZW19OiB7IGl0ZW06IFJhZGlvR3JvdXBJdGVtIH0pIHtcclxuICAgIGNvbnN0IGNsb25lTGlzdDogUmFkaW9Hcm91cEl0ZW1bXSA9IGNsb25lRGVlcCh0aGlzLmZpbHRlcmVkTGlzdCk7XHJcbiAgICBjb25zdCB0YXJnZXRJdGVtOiBSYWRpb0dyb3VwSXRlbSB8IG51bGwgPSBnZXRJdGVtQnlJZChjbG9uZUxpc3QsIGl0ZW0uaWQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdGFyZ2V0SXRlbTtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gbW92ZVNlbGVjdGVkVG9GaXJzdChjbG9uZUxpc3QsIHRoaXMuc29ydGFibGUsIHRhcmdldEl0ZW0pO1xyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmZpbHRlcmVkTGlzdCwgdGFyZ2V0SXRlbSk7XHJcbiAgICB0aGlzLm1vZGVsSXRlbUNoYW5nZS5lbWl0KHRhcmdldEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgfTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHtcclxuICB9O1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtcmFkaW8tZ3JvdXBcIiBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiPlxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgdHlwZT1cInJhZGlvR3JvdXBcIj48L21yeC1zYXZlLXN0YXRlPlxyXG5cclxuICA8bXJ4LXJhZGlvLWdyb3VwLWhlYWRlclxyXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgW3NlYXJjaFNpemVdPVwic2VhcmNoU2l6ZVwiXHJcbiAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dFwiXHJcbiAgICAodXBkYXRlcmFkaW9Hcm91cFNlYXJjaFZhbHVlKT1cInVwZGF0ZVJhZGlvR3JvdXBTZWFyY2hWYWx1ZSgkZXZlbnQpXCJcclxuICA+PC9tcngtcmFkaW8tZ3JvdXAtaGVhZGVyPlxyXG5cclxuICBAaWYgKGZpbHRlcmVkTGlzdCAmJiBmaWx0ZXJlZExpc3QubGVuZ3RoKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgICNncm91cEl0ZW1zV3JhcHBlclxyXG4gICAgICBjbGFzcz1cIm1yeC1yYWRpby1ncm91cC13cmFwcGVyXCJcclxuICAgICAgW2NsYXNzLm1yeC1yYWRpby1ncm91cC13cmFwcGVyLS1zY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIlxyXG4gICAgICBbY2xhc3MuLS1hY3RpdmVdPVwiZ2V0U2hvd1Njcm9sbFwiXHJcbiAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cInNjcm9sbGFibGUgPyBzY3JvbGxNYXhIZWlnaHQgKyAncHgnIDogJ2F1dG8nXCJcclxuICAgID5cclxuICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZExpc3Q7IHRyYWNrIGl0ZW0uaWQ7IGxldCBsYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICA8bXJ4LXJhZGlvLWdyb3VwLWl0ZW1cclxuICAgICAgICAgIFtkaXNwbGFjZWRdPVwiZGlzcGxhY2VkIHx8IGZhbHNlXCJcclxuICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgW2lzTGFzdF09XCJsYXN0XCJcclxuICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIlxyXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICBbYm9sZF09XCJib2xkXCJcclxuICAgICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICBbYW5pbWF0aW9uVHJpZ2dlcl09XCIhIWlzU2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgKHJhZGlvQ2hhbmdlZCk9XCJyYWRpb0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvbXJ4LXJhZGlvLWdyb3VwLWl0ZW0+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPHAgY2xhc3M9XCJtcngtcmFkaW8tZ3JvdXBfX2VtcHR5LW1lc3NhZ2UgcHktMTJweFwiPnt7IGVuYWJsZU1lc3NhZ2UgfX08L3A+XHJcbiAgfVxyXG5cclxuICBAaWYgKGludmFsaWQgJiYgaXNJbnZhbGlkTWVzc2FnZSkge1xyXG4gICAgPG1yeC1lcnJvci1tZXNzYWdlIFtpbnZhbGlkTWVzc2FnZV09XCJpbnZhbGlkTWVzc2FnZVwiIFtjdXN0b21DbGFzc2VzXT1cIidtdC0yJ1wiPjwvbXJ4LWVycm9yLW1lc3NhZ2U+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|