@ng-nest/ui 18.0.10 → 18.0.11
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/input-number/input-number.component.mjs +3 -3
- package/esm2022/keyword/keyword.directive.mjs +4 -1
- package/esm2022/list/list.component.mjs +28 -13
- package/esm2022/menu/menu-node.component.mjs +6 -3
- package/esm2022/menu/menu.component.mjs +3 -3
- package/esm2022/message-box/message-box.component.mjs +10 -4
- package/esm2022/message-box/message-box.property.mjs +1 -1
- package/esm2022/message-box/message-box.service.mjs +11 -4
- package/esm2022/pagination/pagination.component.mjs +3 -3
- package/esm2022/popconfirm/popconfirm.component.mjs +3 -3
- package/esm2022/select/select.component.mjs +3 -4
- package/esm2022/textarea/textarea.property.mjs +7 -2
- package/esm2022/tooltip/tooltip-portal.component.mjs +14 -3
- package/fesm2022/ng-nest-ui-input-number.mjs +2 -2
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +3 -0
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +27 -12
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +7 -4
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +19 -6
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +2 -2
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +2 -2
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +2 -3
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +6 -1
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +13 -2
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/list/list.component.d.ts +3 -0
- package/menu/menu-node.component.d.ts +5 -2
- package/message-box/message-box.property.d.ts +17 -2
- package/package.json +146 -146
- package/textarea/textarea.property.d.ts +11 -10
- package/tooltip/tooltip-portal.component.d.ts +3 -0
|
@@ -4,6 +4,7 @@ import { XIconComponent } from '@ng-nest/ui/icon';
|
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
5
|
import { NgTemplateOutlet } from '@angular/common';
|
|
6
6
|
import { XMenuComponent } from './menu.component';
|
|
7
|
+
import { XOutletDirective } from '@ng-nest/ui/outlet';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/router";
|
|
9
10
|
export class XMenuNodeComponent extends XMenuNodeProperty {
|
|
@@ -16,6 +17,8 @@ export class XMenuNodeComponent extends XMenuNodeProperty {
|
|
|
16
17
|
this.label = input();
|
|
17
18
|
this.open = input();
|
|
18
19
|
this.id = input();
|
|
20
|
+
this.node = input();
|
|
21
|
+
this.nodeTpl = input();
|
|
19
22
|
this.elementRef = inject(ElementRef);
|
|
20
23
|
effect(() => {
|
|
21
24
|
if (this.menu.activatedId() === this.id()) {
|
|
@@ -24,10 +27,10 @@ export class XMenuNodeComponent extends XMenuNodeProperty {
|
|
|
24
27
|
}, { allowSignalWrites: true });
|
|
25
28
|
}
|
|
26
29
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XMenuNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XMenuNodeComponent, isStandalone: true, selector: "x-menu-node", inputs: { routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@if (routerLink() && !leaf()) {\r\n <a [routerLink]=\"routerLink()\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n </a>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #menuTpl>\r\n @if (icon()) {\r\n <x-icon class=\"x-menu-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n @if (label()) {\r\n <span class=\"x-menu-text\">{{ label() }}</span>\r\n }\r\n @if (leaf()) {\r\n <x-icon class=\"x-menu-arrow\" [class.is-open]=\"open()\" type=\"fto-chevron-down\"></x-icon>\r\n }\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
30
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XMenuNodeComponent, isStandalone: true, selector: "x-menu-node", inputs: { routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@if (routerLink() && !leaf()) {\r\n <a [routerLink]=\"routerLink()\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n </a>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #menuTpl>\r\n @if (icon()) {\r\n <x-icon class=\"x-menu-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n @if (nodeTpl()) {\r\n <ng-container *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node()! }\"></ng-container>\r\n } @else if (label()) {\r\n <span class=\"x-menu-text\">{{ label() }} </span>\r\n }\r\n @if (label()) {}\r\n @if (leaf()) {\r\n <x-icon class=\"x-menu-arrow\" [class.is-open]=\"open()\" type=\"fto-chevron-down\"></x-icon>\r\n }\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
28
31
|
}
|
|
29
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XMenuNodeComponent, decorators: [{
|
|
30
33
|
type: Component,
|
|
31
|
-
args: [{ selector: `${XMenuNodePrefix}`, standalone: true, imports: [NgTemplateOutlet, XIconComponent, RouterModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (routerLink() && !leaf()) {\r\n <a [routerLink]=\"routerLink()\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n </a>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #menuTpl>\r\n @if (icon()) {\r\n <x-icon class=\"x-menu-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n @if (label()) {\r\n <span class=\"x-menu-text\">{{ label() }}</span>\r\n }\r\n @if (leaf()) {\r\n <x-icon class=\"x-menu-arrow\" [class.is-open]=\"open()\" type=\"fto-chevron-down\"></x-icon>\r\n }\r\n</ng-template>\r\n" }]
|
|
34
|
+
args: [{ selector: `${XMenuNodePrefix}`, standalone: true, imports: [NgTemplateOutlet, XIconComponent, XOutletDirective, RouterModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (routerLink() && !leaf()) {\r\n <a [routerLink]=\"routerLink()\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n </a>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #menuTpl>\r\n @if (icon()) {\r\n <x-icon class=\"x-menu-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n @if (nodeTpl()) {\r\n <ng-container *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node()! }\"></ng-container>\r\n } @else if (label()) {\r\n <span class=\"x-menu-text\">{{ label() }} </span>\r\n }\r\n @if (label()) {}\r\n @if (leaf()) {\r\n <x-icon class=\"x-menu-arrow\" [class.is-open]=\"open()\" type=\"fto-chevron-down\"></x-icon>\r\n }\r\n</ng-template>\r\n" }]
|
|
32
35
|
}], ctorParameters: () => [] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL21lbnUvbWVudS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL21lbnUvbWVudS1ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBYSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFVdEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQWF2RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBYlYsU0FBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUUsQ0FBQztRQUNuRCxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsU0FBSSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQ3hCLFNBQUksR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN2QixVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDeEIsU0FBSSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQ3hCLE9BQUUsR0FBRyxLQUFLLEVBQU8sQ0FBQztRQUNsQixTQUFJLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDMUIsWUFBTyxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUU1QixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBSXRDLE1BQU0sQ0FDSixHQUFHLEVBQUU7WUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzVCLENBQUM7SUFDSixDQUFDO2lJQXZCVSxrQkFBa0I7cUhBQWxCLGtCQUFrQiwwaUNDekIvQixvdUJBc0JBLDRDREZZLGdCQUFnQixvSkFBRSxjQUFjLGtEQUFvQixZQUFZOzsyRkFLL0Qsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLEdBQUcsZUFBZSxFQUFFLGNBQ2xCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsaUJBRTVELGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIGluamVjdCxcclxuICBpbnB1dCxcclxuICBlZmZlY3QsXHJcbiAgVGVtcGxhdGVSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWE1lbnVOb2RlUHJvcGVydHksIFhNZW51Tm9kZVByZWZpeCwgWE1lbnVOb2RlIH0gZnJvbSAnLi9tZW51LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWEljb25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pY29uJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhPdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hNZW51Tm9kZVByZWZpeH1gLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIFhJY29uQ29tcG9uZW50LCBYT3V0bGV0RGlyZWN0aXZlLCBSb3V0ZXJNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LW5vZGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhNZW51Tm9kZUNvbXBvbmVudCBleHRlbmRzIFhNZW51Tm9kZVByb3BlcnR5IHtcclxuICBtZW51ID0gaW5qZWN0KFhNZW51Q29tcG9uZW50LCB7IG9wdGlvbmFsOiB0cnVlIH0pITtcclxuICByb3V0ZXJMaW5rID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gIGxlYWYgPSBpbnB1dDxib29sZWFuPigpO1xyXG4gIGljb24gPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgb3BlbiA9IGlucHV0PGJvb2xlYW4+KCk7XHJcbiAgaWQgPSBpbnB1dDxhbnk+KCk7XHJcbiAgbm9kZSA9IGlucHV0PFhNZW51Tm9kZT4oKTtcclxuICBub2RlVHBsID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBlZmZlY3QoXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5tZW51LmFjdGl2YXRlZElkKCkgPT09IHRoaXMuaWQoKSkge1xyXG4gICAgICAgICAgdGhpcy5tZW51LmFjdGl2YXRlZEVsZW1lbnRSZWYuc2V0KHRoaXMuZWxlbWVudFJlZik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAocm91dGVyTGluaygpICYmICFsZWFmKCkpIHtcclxuICA8YSBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rKClcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51VHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9hPlxyXG59IEBlbHNlIHtcclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudVRwbFwiPjwvbmctY29udGFpbmVyPlxyXG59XHJcblxyXG48bmctdGVtcGxhdGUgI21lbnVUcGw+XHJcbiAgQGlmIChpY29uKCkpIHtcclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LW1lbnUtaWNvblwiIFt0eXBlXT1cImljb24oKVwiPjwveC1pY29uPlxyXG4gIH1cclxuICBAaWYgKG5vZGVUcGwoKSkge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVUcGwoKSE7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUoKSEgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIH0gQGVsc2UgaWYgKGxhYmVsKCkpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwieC1tZW51LXRleHRcIj57eyBsYWJlbCgpIH19IDwvc3Bhbj5cclxuICB9XHJcbiAgQGlmIChsYWJlbCgpKSB7fVxyXG4gIEBpZiAobGVhZigpKSB7XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC1tZW51LWFycm93XCIgW2NsYXNzLmlzLW9wZW5dPVwib3BlbigpXCIgdHlwZT1cImZ0by1jaGV2cm9uLWRvd25cIj48L3gtaWNvbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -162,10 +162,10 @@ export class XMenuComponent extends XMenuProperty {
|
|
|
162
162
|
getParent(node);
|
|
163
163
|
}
|
|
164
164
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
165
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XMenuComponent, isStandalone: true, selector: "x-menu", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap()\" [style.width]=\"layout() === 'column' ? width() : ''\">\r\n @if (layout() === 'column') {\r\n <div class=\"x-menu-nodes\">\r\n @for (node of nodes(); track node.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n @if (layout() === 'row') {\r\n <x-slider\r\n [data]=\"nodes()\"\r\n [size]=\"size()\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex()\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n }\r\n</div>\r\n\r\n<ng-template #
|
|
165
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XMenuComponent, isStandalone: true, selector: "x-menu", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap()\" [style.width]=\"layout() === 'column' ? width() : ''\">\r\n @if (layout() === 'column') {\r\n <div class=\"x-menu-nodes\">\r\n @for (node of nodes(); track node.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n @if (layout() === 'row') {\r\n <x-slider\r\n [data]=\"nodes()\"\r\n [size]=\"size()\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex()\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n }\r\n</div>\r\n\r\n<ng-template #nodeTemplate let-node=\"$node\">\r\n @if (node.level === 0 && collapsed()) {\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n placement=\"right-start\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n </x-dropdown>\r\n }\r\n @if (!collapsed()) {\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap()\">\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated()?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap()\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n @if (node.childrenLoaded || (node.leaf && node.open)) {\r\n <div class=\"x-menu-nodes\" [hidden]=\"!node.open\">\r\n @for (child of node.children; track child.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: ["x-menu{display:block}.x-menu{margin:0;padding:0}.x-menu-icon.x-icon{width:1rem;height:1rem;font-size:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon{width:1rem;height:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon.is-open{transform:rotate(180deg)}.x-menu-node.x-size-big{padding:0 calc(var(--x-padding-big) + .25rem);height:calc(var(--x-height-big) + .75rem);line-height:calc(var(--x-height-big) + .75rem)}.x-menu-node.x-size-big.x-menu-category{height:calc(calc(var(--x-height-big) + .75rem) * 1.5)}.x-menu-node.x-size-large{padding:0 calc(var(--x-padding-large) + .25rem);height:calc(var(--x-height-large) + .75rem);line-height:calc(var(--x-height-large) + .75rem)}.x-menu-node.x-size-large.x-menu-category{height:calc(calc(var(--x-height-large) + .75rem) * 1.5)}.x-menu-node.x-size-medium{padding:0 calc(var(--x-padding-medium) + .25rem);height:calc(var(--x-height-medium) + .75rem);line-height:calc(var(--x-height-medium) + .75rem)}.x-menu-node.x-size-medium.x-menu-category{height:calc(calc(var(--x-height-medium) + .75rem) * 1.5)}.x-menu-node.x-size-small{padding:0 var(--x-padding-small);height:calc(var(--x-height-small) + .5rem);line-height:calc(var(--x-height-small) + .5rem)}.x-menu-node.x-size-small.x-menu-category{height:calc(calc(var(--x-height-small) + .5rem) * 1.5)}.x-menu-node.x-size-mini{padding:0 var(--x-padding-mini);height:calc(var(--x-height-mini) + .5rem);line-height:calc(var(--x-height-mini) + .5rem)}.x-menu-node.x-size-mini.x-menu-category{height:calc(calc(var(--x-height-mini) + .5rem) * 1.5)}.x-menu x-slider .x-slider-scroll>ul>li>x-link{height:inherit!important;line-height:inherit!important}.x-menu-column{width:16rem;transition:var(--x-animation-duration-base)}.x-menu-row .x-menu-text{margin-left:.25rem}.x-menu-nodes .x-menu-node{cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:width var(--x-animation-duration-base),background-color var(--x-animation-duration-base);position:relative;-webkit-user-select:none;user-select:none;padding-right:var(--x-font-size);border-radius:var(--x-border-radius);margin:.125rem 0}.x-menu-nodes .x-menu-node .x-menu-text{flex:1;margin:0 .25rem;transition:background-color var(--x-animation-duration-base),opacity var(--x-animation-duration-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-menu-nodes .x-menu-node:hover{color:var(--x-primary);background-color:var(--x-background-a200)}.x-menu-nodes .x-menu-node x-menu-node{flex:1;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.x-menu-nodes .x-menu-node x-menu-node>a{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;color:var(--x-text)}.x-menu-nodes .x-menu-node.x-activated{color:var(--x-primary);background-color:var(--x-primary-900)}.x-menu-nodes .x-menu-node.x-activated:after{content:\"\";position:absolute;height:100%;right:-.125rem;top:0}.x-menu-nodes .x-menu-node.x-activated x-menu-node>a{color:var(--x-primary)}.x-menu-nodes .x-menu-node.x-menu-category{cursor:inherit;color:var(--x-text-400)}.x-menu-nodes .x-menu-node.x-menu-category:hover{background-color:transparent}.x-menu-nodes .x-menu-node.x-menu-category>x-menu-node{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-menu-collapsed.x-menu-column{width:3rem!important}.x-menu-collapsed .x-menu-nodes x-dropdown,.x-menu-collapsed .x-menu-nodes .x-dropdown{display:flex;flex:1}.x-menu-collapsed .x-menu-nodes .x-menu-node{padding-left:0!important;padding-right:0}.x-menu-collapsed .x-menu-nodes .x-menu-node x-menu-node{padding-left:var(--x-font-size)}.x-menu-collapsed .x-menu-nodes .x-menu-node .x-menu-text{opacity:0;width:0}.x-menu-collapsed .x-menu-nodes .x-menu-nodes{display:none}.x-menu-collapsed .x-menu-arrow.x-icon{opacity:0;width:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XSliderComponent, selector: "x-slider" }, { kind: "component", type: XDropdownComponent, selector: "x-dropdown" }, { kind: "component", type: XMenuNodeComponent, selector: "x-menu-node", inputs: ["routerLink", "leaf", "icon", "label", "open", "id", "node", "nodeTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
166
166
|
}
|
|
167
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XMenuComponent, decorators: [{
|
|
168
168
|
type: Component,
|
|
169
|
-
args: [{ selector: `${XMenuPrefix}`, standalone: true, imports: [NgClass, NgTemplateOutlet, XSliderComponent, XDropdownComponent, XMenuNodeComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap()\" [style.width]=\"layout() === 'column' ? width() : ''\">\r\n @if (layout() === 'column') {\r\n <div class=\"x-menu-nodes\">\r\n @for (node of nodes(); track node.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n @if (layout() === 'row') {\r\n <x-slider\r\n [data]=\"nodes()\"\r\n [size]=\"size()\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex()\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n }\r\n</div>\r\n\r\n<ng-template #
|
|
169
|
+
args: [{ selector: `${XMenuPrefix}`, standalone: true, imports: [NgClass, NgTemplateOutlet, XSliderComponent, XDropdownComponent, XMenuNodeComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap()\" [style.width]=\"layout() === 'column' ? width() : ''\">\r\n @if (layout() === 'column') {\r\n <div class=\"x-menu-nodes\">\r\n @for (node of nodes(); track node.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n @if (layout() === 'row') {\r\n <x-slider\r\n [data]=\"nodes()\"\r\n [size]=\"size()\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex()\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n }\r\n</div>\r\n\r\n<ng-template #nodeTemplate let-node=\"$node\">\r\n @if (node.level === 0 && collapsed()) {\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n placement=\"right-start\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n </x-dropdown>\r\n }\r\n @if (!collapsed()) {\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap()\">\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated()?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap()\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n @if (node.childrenLoaded || (node.leaf && node.open)) {\r\n <div class=\"x-menu-nodes\" [hidden]=\"!node.open\">\r\n @for (child of node.children; track child.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: ["x-menu{display:block}.x-menu{margin:0;padding:0}.x-menu-icon.x-icon{width:1rem;height:1rem;font-size:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon{width:1rem;height:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon.is-open{transform:rotate(180deg)}.x-menu-node.x-size-big{padding:0 calc(var(--x-padding-big) + .25rem);height:calc(var(--x-height-big) + .75rem);line-height:calc(var(--x-height-big) + .75rem)}.x-menu-node.x-size-big.x-menu-category{height:calc(calc(var(--x-height-big) + .75rem) * 1.5)}.x-menu-node.x-size-large{padding:0 calc(var(--x-padding-large) + .25rem);height:calc(var(--x-height-large) + .75rem);line-height:calc(var(--x-height-large) + .75rem)}.x-menu-node.x-size-large.x-menu-category{height:calc(calc(var(--x-height-large) + .75rem) * 1.5)}.x-menu-node.x-size-medium{padding:0 calc(var(--x-padding-medium) + .25rem);height:calc(var(--x-height-medium) + .75rem);line-height:calc(var(--x-height-medium) + .75rem)}.x-menu-node.x-size-medium.x-menu-category{height:calc(calc(var(--x-height-medium) + .75rem) * 1.5)}.x-menu-node.x-size-small{padding:0 var(--x-padding-small);height:calc(var(--x-height-small) + .5rem);line-height:calc(var(--x-height-small) + .5rem)}.x-menu-node.x-size-small.x-menu-category{height:calc(calc(var(--x-height-small) + .5rem) * 1.5)}.x-menu-node.x-size-mini{padding:0 var(--x-padding-mini);height:calc(var(--x-height-mini) + .5rem);line-height:calc(var(--x-height-mini) + .5rem)}.x-menu-node.x-size-mini.x-menu-category{height:calc(calc(var(--x-height-mini) + .5rem) * 1.5)}.x-menu x-slider .x-slider-scroll>ul>li>x-link{height:inherit!important;line-height:inherit!important}.x-menu-column{width:16rem;transition:var(--x-animation-duration-base)}.x-menu-row .x-menu-text{margin-left:.25rem}.x-menu-nodes .x-menu-node{cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:width var(--x-animation-duration-base),background-color var(--x-animation-duration-base);position:relative;-webkit-user-select:none;user-select:none;padding-right:var(--x-font-size);border-radius:var(--x-border-radius);margin:.125rem 0}.x-menu-nodes .x-menu-node .x-menu-text{flex:1;margin:0 .25rem;transition:background-color var(--x-animation-duration-base),opacity var(--x-animation-duration-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-menu-nodes .x-menu-node:hover{color:var(--x-primary);background-color:var(--x-background-a200)}.x-menu-nodes .x-menu-node x-menu-node{flex:1;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.x-menu-nodes .x-menu-node x-menu-node>a{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;color:var(--x-text)}.x-menu-nodes .x-menu-node.x-activated{color:var(--x-primary);background-color:var(--x-primary-900)}.x-menu-nodes .x-menu-node.x-activated:after{content:\"\";position:absolute;height:100%;right:-.125rem;top:0}.x-menu-nodes .x-menu-node.x-activated x-menu-node>a{color:var(--x-primary)}.x-menu-nodes .x-menu-node.x-menu-category{cursor:inherit;color:var(--x-text-400)}.x-menu-nodes .x-menu-node.x-menu-category:hover{background-color:transparent}.x-menu-nodes .x-menu-node.x-menu-category>x-menu-node{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-menu-collapsed.x-menu-column{width:3rem!important}.x-menu-collapsed .x-menu-nodes x-dropdown,.x-menu-collapsed .x-menu-nodes .x-dropdown{display:flex;flex:1}.x-menu-collapsed .x-menu-nodes .x-menu-node{padding-left:0!important;padding-right:0}.x-menu-collapsed .x-menu-nodes .x-menu-node x-menu-node{padding-left:var(--x-font-size)}.x-menu-collapsed .x-menu-nodes .x-menu-node .x-menu-text{opacity:0;width:0}.x-menu-collapsed .x-menu-nodes .x-menu-nodes{display:none}.x-menu-collapsed .x-menu-arrow.x-icon{opacity:0;width:0}\n"] }]
|
|
170
170
|
}], ctorParameters: () => [] });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLHVCQUF1QixFQUd2QixNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBYSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVczRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFFL0MsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFrQkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQXRCVixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUk3QixVQUFLLEdBQUcsTUFBTSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLFVBQUssR0FBRyxNQUFNLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMs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QU8sb0ZBQUUsZ0JBQWdCLG9KQUFFLGdCQUFnQixxREFBRSxrQkFBa0IsdURBQUUsa0JBQWtCOzsyRkFNbEYsY0FBYztrQkFUMUIsU0FBUzsrQkFDRSxHQUFHLFdBQVcsRUFBRSxjQUNkLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxpQkFHL0UsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgaW5qZWN0LFxyXG4gIGNvbXB1dGVkLFxyXG4gIHNpZ25hbCxcclxuICBlZmZlY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWE1lbnVQcmVmaXgsIFhNZW51Tm9kZSwgWE1lbnVQcm9wZXJ0eSB9IGZyb20gJy4vbWVudS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWElzRW1wdHksIFhHcm91cEJ5IH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWFNsaWRlckNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3NsaWRlcic7XHJcbmltcG9ydCB7IFhEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgWE1lbnVOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LW5vZGUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYTWVudVByZWZpeH1gLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIFhTbGlkZXJDb21wb25lbnQsIFhEcm9wZG93bkNvbXBvbmVudCwgWE1lbnVOb2RlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhNZW51Q29tcG9uZW50IGV4dGVuZHMgWE1lbnVQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgc2hvd0NhdGVnb3J5ID0gc2lnbmFsKGZhbHNlKTtcclxuICBnZXQgc2Nyb2xsKCk6IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XHJcbiAgfVxyXG4gIGRhdGFzID0gc2lnbmFsPFhNZW51Tm9kZVtdPihbXSk7XHJcbiAgbm9kZXMgPSBzaWduYWw8WE1lbnVOb2RlW10+KFtdKTtcclxuICByb290SW5kZXggPSBzaWduYWwoMCk7XHJcbiAgYWN0aXZhdGVkID0gc2lnbmFsPFhNZW51Tm9kZSB8IG51bGw+KG51bGwpO1xyXG4gIGFjdGl2YXRlZEVsZW1lbnRSZWYgPSBzaWduYWw8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsPihudWxsKTtcclxuICBleHBhbmRlZCA9IHNpZ25hbDxhbnlbXT4oW10pO1xyXG4gIHByaXZhdGUgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBwcml2YXRlIF90YXJnZXQhOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgY2xhc3NNYXAgPSBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgW2Ake1hNZW51UHJlZml4fS0ke3RoaXMubGF5b3V0KCl9YF06ICFYSXNFbXB0eSh0aGlzLmxheW91dCgpKSxcclxuICAgIFtgJHtYTWVudVByZWZpeH0tY29sbGFwc2VkYF06IHRoaXMuY29sbGFwc2VkKClcclxuICB9KSk7XHJcbiAgbm9kZUNsYXNzTWFwID0gY29tcHV0ZWQoKCkgPT4gKHtcclxuICAgIFtgeC1zaXplLSR7dGhpcy5zaXplKCl9YF06ICFYSXNFbXB0eSh0aGlzLnNpemUoKSlcclxuICB9KSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U2Nyb2xsVG9wKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgYWN0aXZhdGVkSWQsIHRhcmdldCB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGFDaGFuZ2UodGhpcy5kYXRhKCkpO1xyXG4gICAgWElzQ2hhbmdlKGFjdGl2YXRlZElkKSAmJiB0aGlzLnNldEFjdGl2YXRlZE5vZGUodGhpcy5kYXRhcygpKTtcclxuICAgIGlmIChYSXNDaGFuZ2UodGFyZ2V0KSkge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCgpO1xyXG4gICAgICB0aGlzLl90YXJnZXQgPSB0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyA/IHRoaXMuZG9jLnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KSEgOiB0YXJnZXQhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U2Nyb2xsVG9wKCkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZhdGVkRWxlbWVudFJlZigpICYmIHRoaXMuc2Nyb2xsKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5hY3RpdmF0ZWRFbGVtZW50UmVmKCkhLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ICE9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG5vZGVSZWN0OiBET01SZWN0ID0gdGhpcy5hY3RpdmF0ZWRFbGVtZW50UmVmKCkhLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IHNjcm9sbFJlY3Q6IERPTVJlY3QgPSB0aGlzLnNjcm9sbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgbGV0IHNjcm9sbFRvcCA9IG5vZGVSZWN0LnRvcCAtIHNjcm9sbFJlY3QudG9wIC0gc2Nyb2xsUmVjdC5oZWlnaHQ7XHJcbiAgICAgIGlmIChzY3JvbGxUb3AgPiAwKSB7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9IDA7XHJcbiAgICAgICAgd2hpbGUgKG9mZnNldCA8IHNjcm9sbFJlY3QuaGVpZ2h0IC8gMikge1xyXG4gICAgICAgICAgb2Zmc2V0ID0gb2Zmc2V0ICsgbm9kZVJlY3QuaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNjcm9sbC5zY3JvbGxUb3AgPSBzY3JvbGxUb3AgKyBvZmZzZXQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKG5vZGU6IFhNZW51Tm9kZSkge1xyXG4gICAgaWYgKCF0aGlzLmNvbGxhcHNlZCgpKSB7XHJcbiAgICAgIHRoaXMucm9vdEluZGV4LnNldCh0aGlzLm5vZGVzKCkuaW5kZXhPZih0aGlzLmdldFJvb3Qobm9kZSkpKTtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWRJZC5zZXQobm9kZS5pZCk7XHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkLnNldChub2RlKTtcclxuICAgICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25Ub2dnbGUobnVsbCwgbm9kZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb290SW5kZXhDaGFuZ2UoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5yb290SW5kZXguc2V0KGluZGV4KTtcclxuICAgIGxldCBub2RlID0gdGhpcy5ub2RlcygpW2luZGV4XTtcclxuICAgIHRoaXMuYWN0aXZhdGVkSWQuc2V0KG5vZGUuaWQpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWQuc2V0KG5vZGUpO1xyXG4gICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIG9uVG9nZ2xlKGV2ZW50OiBFdmVudCB8IG51bGwsIG5vZGU6IFhNZW51Tm9kZSwgaXNEcm9wZG93biA9IGZhbHNlKSB7XHJcbiAgICBpZiAoKHRoaXMuY29sbGFwc2VkKCkgJiYgIWlzRHJvcGRvd24pIHx8IG5vZGUuY2F0ZWdvcnlOb2RlKSByZXR1cm47XHJcbiAgICBpZiAoIW5vZGUubGVhZikge1xyXG4gICAgICB0aGlzLmFjdGl2YXRlZC5zZXQobm9kZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIG5vZGUub3BlbiA9ICFub2RlLm9wZW47XHJcbiAgICAgIGlmIChub2RlLm9wZW4gJiYgIW5vZGUuY2hpbGRyZW5Mb2FkZWQpIHtcclxuICAgICAgICBub2RlLmNoaWxkcmVuTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YUNoYW5nZSh2YWx1ZTogWE1lbnVOb2RlW10pIHtcclxuICAgICFYSXNFbXB0eSh0aGlzLmFjdGl2YXRlZElkKCkpICYmIHRoaXMuc2V0QWN0aXZhdGVkTm9kZSh2YWx1ZSk7XHJcbiAgICBsZXQgaGFuZGxlckRhdGFzOiBYTWVudU5vZGVbXSA9IFtdO1xyXG4gICAgY29uc3QgZ2V0Q2hpbGRyZW4gPSAobm9kZTogWE1lbnVOb2RlLCBsZXZlbDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIG5vZGUubGV2ZWwgPSBsZXZlbDtcclxuICAgICAgbm9kZS5jaGlsZHJlbiA9IHZhbHVlLmZpbHRlcigoeSkgPT4geS5waWQgPT09IG5vZGUuaWQpO1xyXG4gICAgICBub2RlLmxlYWYgPSBub2RlLmNoaWxkcmVuPy5sZW5ndGggPiAwO1xyXG4gICAgICBpZiAobm9kZS5sZWFmKSB7XHJcbiAgICAgICAgbm9kZS5vcGVuID0gdGhpcy5leHBhbmRlZEFsbCgpIHx8IGxldmVsIDw9IHRoaXMuZXhwYW5kZWRMZXZlbCgpIHx8IHRoaXMuZXhwYW5kZWQoKS5pbmRleE9mKG5vZGUuaWQpID49IDA7XHJcbiAgICAgICAgbm9kZS5jaGlsZHJlbkxvYWRlZCA9IG5vZGUub3BlbjtcclxuICAgICAgICBub2RlLmNoaWxkcmVuLm1hcCgoeSkgPT4gZ2V0Q2hpbGRyZW4oeSwgbGV2ZWwgKyAxKSk7XHJcbiAgICAgICAgbm9kZS5jaGlsZHJlbiA9IHRoaXMuc2V0Q2F0ZWdvcnkobm9kZS5jaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgICAgaGFuZGxlckRhdGFzID0gWy4uLmhhbmRsZXJEYXRhcywgbm9kZV07XHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLm5vZGVzLnNldCh0aGlzLnNldENhdGVnb3J5KHZhbHVlLmZpbHRlcigoeCkgPT4gWElzRW1wdHkoeC5waWQpKSkubWFwKCh4KSA9PiBnZXRDaGlsZHJlbih4LCAwKSkpO1xyXG4gICAgdGhpcy5kYXRhcy5zZXQoaGFuZGxlckRhdGFzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Um9vdCh2YWx1ZTogWE1lbnVOb2RlKSB7XHJcbiAgICBsZXQgcm9vdCA9IHZhbHVlO1xyXG4gICAgY29uc3QgZ2V0UGFyZW50ID0gKG5vZGU6IFhNZW51Tm9kZSkgPT4ge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmRhdGFzKCkuZmluZCgoeCkgPT4gbm9kZS5waWQgPT09IHguaWQpIGFzIFhNZW51Tm9kZTtcclxuICAgICAgaWYgKFhJc0VtcHR5KHBhcmVudD8ucGlkKSkgcm9vdCA9IHBhcmVudDtcclxuICAgICAgZWxzZSBnZXRQYXJlbnQocGFyZW50KTtcclxuICAgIH07XHJcbiAgICBpZiAoIVhJc0VtcHR5KHZhbHVlLnBpZCkpIGdldFBhcmVudCh2YWx1ZSk7XHJcbiAgICByZXR1cm4gcm9vdDtcclxuICB9XHJcblxyXG4gIHNldENhdGVnb3J5KG5vZGVzOiBYTWVudU5vZGVbXSkge1xyXG4gICAgY29uc3QgZ3JvdXAgPSBYR3JvdXBCeShub2RlcyBhcyBYTWVudU5vZGVbXSwgJ2NhdGVnb3J5Jyk7XHJcbiAgICBmb3IgKGxldCBsaXN0IG9mIGdyb3VwKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0ID0gbGlzdFswXTtcclxuICAgICAgaWYgKGZpcnN0LmNhdGVnb3J5KSB7XHJcbiAgICAgICAgbGlzdC51bnNoaWZ0KHtcclxuICAgICAgICAgIGlkOiBgJHtmaXJzdC5waWR9X18ke2ZpcnN0LmNhdGVnb3J5fWAsXHJcbiAgICAgICAgICBwaWQ6IGZpcnN0LnBpZCxcclxuICAgICAgICAgIGxhYmVsOiBmaXJzdC5jYXRlZ29yeSxcclxuICAgICAgICAgIGxldmVsOiBmaXJzdC5sZXZlbCxcclxuICAgICAgICAgIGNhdGVnb3J5Tm9kZTogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgY29uOiBYTWVudU5vZGVbXSA9IFtdO1xyXG4gICAgZ3JvdXAubWFwKCh4KSA9PiB7XHJcbiAgICAgIGNvbiA9IGNvbi5jb25jYXQoeCk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjb247XHJcbiAgfVxyXG5cclxuICBzZXRBY3RpdmF0ZWROb2RlKG5vZGVzOiBYTWVudU5vZGVbXSkge1xyXG4gICAgdGhpcy5hY3RpdmF0ZWQuc2V0KG5vZGVzLmZpbmQoKHgpID0+IHguaWQgPT0gdGhpcy5hY3RpdmF0ZWRJZCgpKSBhcyBYTWVudU5vZGUpO1xyXG4gICAgdGhpcy5yb290SW5kZXguc2V0KG5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PSB0aGlzLmFjdGl2YXRlZElkKCkgJiYgIXgucGlkKSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmF0ZWQoKSkge1xyXG4gICAgICB0aGlzLnNldFBhcmVudE9wZW4obm9kZXMsIHRoaXMuYWN0aXZhdGVkKCkhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFBhcmVudE9wZW4obm9kZXM6IFhNZW51Tm9kZVtdLCBub2RlOiBYTWVudU5vZGUpIHtcclxuICAgIGNvbnN0IGdldFBhcmVudCA9IChjaGlsZDogWE1lbnVOb2RlKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShjaGlsZC5waWQpKSByZXR1cm47XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IG5vZGVzLmZpbmQoKHgpID0+IHguaWQgPT09IGNoaWxkLnBpZCkgYXMgWE1lbnVOb2RlO1xyXG4gICAgICBpZiAoIVhJc0VtcHR5KHBhcmVudCkpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkLnNldChbLi4udGhpcy5leHBhbmRlZCgpLCBwYXJlbnQuaWRdKTtcclxuICAgICAgICBnZXRQYXJlbnQocGFyZW50KTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGdldFBhcmVudChub2RlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjbWVudSBjbGFzcz1cIngtbWVudVwiIFtuZ0NsYXNzXT1cImNsYXNzTWFwKClcIiBbc3R5bGUud2lkdGhdPVwibGF5b3V0KCkgPT09ICdjb2x1bW4nID8gd2lkdGgoKSA6ICcnXCI+XHJcbiAgQGlmIChsYXlvdXQoKSA9PT0gJ2NvbHVtbicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LW1lbnUtbm9kZXNcIj5cclxuICAgICAgQGZvciAobm9kZSBvZiBub2RlcygpOyB0cmFjayBub2RlLmlkKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVDb2x1bW5UcGw7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUsICRjaGlsZHJlbjogdHJ1ZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICBAaWYgKGxheW91dCgpID09PSAncm93Jykge1xyXG4gICAgPHgtc2xpZGVyXHJcbiAgICAgIFtkYXRhXT1cIm5vZGVzKClcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplKClcIlxyXG4gICAgICBbbm9kZVRwbF09XCJub2RlUm93VHBsXCJcclxuICAgICAgW25vZGVKdXN0aWZ5XT1cIidjZW50ZXInXCJcclxuICAgICAgW2FjdGl2YXRlZEluZGV4XT1cInJvb3RJbmRleCgpXCJcclxuICAgICAgKGluZGV4Q2hhbmdlKT1cInJvb3RJbmRleENoYW5nZSgkZXZlbnQpXCJcclxuICAgID48L3gtc2xpZGVyPlxyXG4gIH1cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI25vZGVUcGwgbGV0LW5vZGU9XCIkbm9kZVwiPlxyXG4gIEBpZiAobm9kZS5sZXZlbCA9PT0gMCAmJiBjb2xsYXBzZWQoKSkge1xyXG4gICAgPHgtZHJvcGRvd25cclxuICAgICAgW2Rpc2FibGVkXT1cIiFub2RlLmxlYWZcIlxyXG4gICAgICBbZGF0YV09XCJub2RlLmNoaWxkcmVuXCJcclxuICAgICAgW3RyaWdnZXJdPVwidHJpZ2dlcigpXCJcclxuICAgICAgcGxhY2VtZW50PVwicmlnaHQtc3RhcnRcIlxyXG4gICAgICBbKGFjdGl2YXRlZElkKV09XCJhY3RpdmF0ZWRJZFwiXHJcbiAgICAgIChub2RlQ2xpY2spPVwib25Ob2RlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgIFtwb3J0YWxNaW5XaWR0aF09XCJwb3J0YWxNaW5XaWR0aCgpXCJcclxuICAgICAgW3NpemVdPVwic2l6ZSgpXCJcclxuICAgICAgY2hpbGRyZW5cclxuICAgID5cclxuICAgICAgPHgtbWVudS1ub2RlXHJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwibm9kZS5yb3V0ZXJMaW5rXCJcclxuICAgICAgICBbbGVhZl09XCJub2RlLmxlYWZcIlxyXG4gICAgICAgIFtpY29uXT1cIm5vZGUuaWNvblwiXHJcbiAgICAgICAgW2xhYmVsXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICAgIFtvcGVuXT1cIm5vZGUub3BlblwiXHJcbiAgICAgICAgW2lkXT1cIm5vZGUuaWRcIlxyXG4gICAgICA+PC94LW1lbnUtbm9kZT5cclxuICAgIDwveC1kcm9wZG93bj5cclxuICB9XHJcbiAgQGlmICghY29sbGFwc2VkKCkpIHtcclxuICAgIDx4LW1lbnUtbm9kZVxyXG4gICAgICBbcm91dGVyTGlua109XCJub2RlLnJvdXRlckxpbmtcIlxyXG4gICAgICBbbGVhZl09XCJub2RlLmxlYWZcIlxyXG4gICAgICBbaWNvbl09XCJub2RlLmljb25cIlxyXG4gICAgICBbbGFiZWxdPVwibm9kZS5sYWJlbFwiXHJcbiAgICAgIFtvcGVuXT1cIm5vZGUub3BlblwiXHJcbiAgICAgIFtpZF09XCJub2RlLmlkXCJcclxuICAgID48L3gtbWVudS1ub2RlPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbm9kZVJvd1RwbCBsZXQtbm9kZT1cIiRub2RlXCI+XHJcbiAgPHgtZHJvcGRvd25cclxuICAgIFtkaXNhYmxlZF09XCIhbm9kZS5sZWFmXCJcclxuICAgIFtkYXRhXT1cIm5vZGUuY2hpbGRyZW5cIlxyXG4gICAgW3RyaWdnZXJdPVwidHJpZ2dlcigpXCJcclxuICAgIFsoYWN0aXZhdGVkSWQpXT1cImFjdGl2YXRlZElkXCJcclxuICAgIChub2RlQ2xpY2spPVwib25Ob2RlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICBbcG9ydGFsTWluV2lkdGhdPVwicG9ydGFsTWluV2lkdGgoKVwiXHJcbiAgICBbc2l6ZV09XCJzaXplKClcIlxyXG4gICAgY2hpbGRyZW5cclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1tZW51LW5vZGVcIiBbbmdDbGFzc109XCJub2RlQ2xhc3NNYXAoKVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRwbDsgY29udGV4dDogeyAkbm9kZTogbm9kZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L3gtZHJvcGRvd24+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI25vZGVDb2x1bW5UcGwgbGV0LW5vZGU9XCIkbm9kZVwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwieC1tZW51LW5vZGVcIlxyXG4gICAgW2NsYXNzLngtYWN0aXZhdGVkXT1cImFjdGl2YXRlZCgpPy5pZCA9PT0gbm9kZS5pZFwiXHJcbiAgICBbY2xhc3MueC1tZW51LWNhdGVnb3J5XT1cIm5vZGUuY2F0ZWdvcnlOb2RlXCJcclxuICAgIFtuZ0NsYXNzXT1cIm5vZGVDbGFzc01hcCgpXCJcclxuICAgIChjbGljayk9XCJvblRvZ2dsZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgIFtzdHlsZS5wYWRkaW5nLWxlZnQucmVtXT1cIihub2RlLmxldmVsICsgMSkgKiAwLjg3NVwiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVUcGw7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAobm9kZS5jaGlsZHJlbkxvYWRlZCB8fCAobm9kZS5sZWFmICYmIG5vZGUub3BlbikpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LW1lbnUtbm9kZXNcIiBbaGlkZGVuXT1cIiFub2RlLm9wZW5cIj5cclxuICAgICAgQGZvciAoY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbjsgdHJhY2sgY2hpbGQuaWQpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZUNvbHVtblRwbDsgY29udGV4dDogeyAkbm9kZTogY2hpbGQgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLHVCQUF1QixFQUd2QixNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBYSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVczRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFFL0MsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFrQkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQXRCVixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUk3QixVQUFLLEdBQUcsTUFBTSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLFVBQUssR0FBRyxNQUFNLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMs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QU8sb0ZBQUUsZ0JBQWdCLG9KQUFFLGdCQUFnQixxREFBRSxrQkFBa0IsdURBQUUsa0JBQWtCOzsyRkFNbEYsY0FBYztrQkFUMUIsU0FBUzsrQkFDRSxHQUFHLFdBQVcsRUFBRSxjQUNkLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxpQkFHL0UsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgaW5qZWN0LFxyXG4gIGNvbXB1dGVkLFxyXG4gIHNpZ25hbCxcclxuICBlZmZlY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWE1lbnVQcmVmaXgsIFhNZW51Tm9kZSwgWE1lbnVQcm9wZXJ0eSB9IGZyb20gJy4vbWVudS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWElzRW1wdHksIFhHcm91cEJ5IH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWFNsaWRlckNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3NsaWRlcic7XHJcbmltcG9ydCB7IFhEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgWE1lbnVOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LW5vZGUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYTWVudVByZWZpeH1gLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIFhTbGlkZXJDb21wb25lbnQsIFhEcm9wZG93bkNvbXBvbmVudCwgWE1lbnVOb2RlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhNZW51Q29tcG9uZW50IGV4dGVuZHMgWE1lbnVQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgc2hvd0NhdGVnb3J5ID0gc2lnbmFsKGZhbHNlKTtcclxuICBnZXQgc2Nyb2xsKCk6IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XHJcbiAgfVxyXG4gIGRhdGFzID0gc2lnbmFsPFhNZW51Tm9kZVtdPihbXSk7XHJcbiAgbm9kZXMgPSBzaWduYWw8WE1lbnVOb2RlW10+KFtdKTtcclxuICByb290SW5kZXggPSBzaWduYWwoMCk7XHJcbiAgYWN0aXZhdGVkID0gc2lnbmFsPFhNZW51Tm9kZSB8IG51bGw+KG51bGwpO1xyXG4gIGFjdGl2YXRlZEVsZW1lbnRSZWYgPSBzaWduYWw8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsPihudWxsKTtcclxuICBleHBhbmRlZCA9IHNpZ25hbDxhbnlbXT4oW10pO1xyXG4gIHByaXZhdGUgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBwcml2YXRlIF90YXJnZXQhOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgY2xhc3NNYXAgPSBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgW2Ake1hNZW51UHJlZml4fS0ke3RoaXMubGF5b3V0KCl9YF06ICFYSXNFbXB0eSh0aGlzLmxheW91dCgpKSxcclxuICAgIFtgJHtYTWVudVByZWZpeH0tY29sbGFwc2VkYF06IHRoaXMuY29sbGFwc2VkKClcclxuICB9KSk7XHJcbiAgbm9kZUNsYXNzTWFwID0gY29tcHV0ZWQoKCkgPT4gKHtcclxuICAgIFtgeC1zaXplLSR7dGhpcy5zaXplKCl9YF06ICFYSXNFbXB0eSh0aGlzLnNpemUoKSlcclxuICB9KSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U2Nyb2xsVG9wKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgYWN0aXZhdGVkSWQsIHRhcmdldCB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGFDaGFuZ2UodGhpcy5kYXRhKCkpO1xyXG4gICAgWElzQ2hhbmdlKGFjdGl2YXRlZElkKSAmJiB0aGlzLnNldEFjdGl2YXRlZE5vZGUodGhpcy5kYXRhcygpKTtcclxuICAgIGlmIChYSXNDaGFuZ2UodGFyZ2V0KSkge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCgpO1xyXG4gICAgICB0aGlzLl90YXJnZXQgPSB0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyA/IHRoaXMuZG9jLnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KSEgOiB0YXJnZXQhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U2Nyb2xsVG9wKCkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZhdGVkRWxlbWVudFJlZigpICYmIHRoaXMuc2Nyb2xsKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5hY3RpdmF0ZWRFbGVtZW50UmVmKCkhLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ICE9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG5vZGVSZWN0OiBET01SZWN0ID0gdGhpcy5hY3RpdmF0ZWRFbGVtZW50UmVmKCkhLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IHNjcm9sbFJlY3Q6IERPTVJlY3QgPSB0aGlzLnNjcm9sbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgbGV0IHNjcm9sbFRvcCA9IG5vZGVSZWN0LnRvcCAtIHNjcm9sbFJlY3QudG9wIC0gc2Nyb2xsUmVjdC5oZWlnaHQ7XHJcbiAgICAgIGlmIChzY3JvbGxUb3AgPiAwKSB7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9IDA7XHJcbiAgICAgICAgd2hpbGUgKG9mZnNldCA8IHNjcm9sbFJlY3QuaGVpZ2h0IC8gMikge1xyXG4gICAgICAgICAgb2Zmc2V0ID0gb2Zmc2V0ICsgbm9kZVJlY3QuaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNjcm9sbC5zY3JvbGxUb3AgPSBzY3JvbGxUb3AgKyBvZmZzZXQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKG5vZGU6IFhNZW51Tm9kZSkge1xyXG4gICAgaWYgKCF0aGlzLmNvbGxhcHNlZCgpKSB7XHJcbiAgICAgIHRoaXMucm9vdEluZGV4LnNldCh0aGlzLm5vZGVzKCkuaW5kZXhPZih0aGlzLmdldFJvb3Qobm9kZSkpKTtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWRJZC5zZXQobm9kZS5pZCk7XHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkLnNldChub2RlKTtcclxuICAgICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25Ub2dnbGUobnVsbCwgbm9kZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb290SW5kZXhDaGFuZ2UoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5yb290SW5kZXguc2V0KGluZGV4KTtcclxuICAgIGxldCBub2RlID0gdGhpcy5ub2RlcygpW2luZGV4XTtcclxuICAgIHRoaXMuYWN0aXZhdGVkSWQuc2V0KG5vZGUuaWQpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWQuc2V0KG5vZGUpO1xyXG4gICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIG9uVG9nZ2xlKGV2ZW50OiBFdmVudCB8IG51bGwsIG5vZGU6IFhNZW51Tm9kZSwgaXNEcm9wZG93biA9IGZhbHNlKSB7XHJcbiAgICBpZiAoKHRoaXMuY29sbGFwc2VkKCkgJiYgIWlzRHJvcGRvd24pIHx8IG5vZGUuY2F0ZWdvcnlOb2RlKSByZXR1cm47XHJcbiAgICBpZiAoIW5vZGUubGVhZikge1xyXG4gICAgICB0aGlzLmFjdGl2YXRlZC5zZXQobm9kZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIG5vZGUub3BlbiA9ICFub2RlLm9wZW47XHJcbiAgICAgIGlmIChub2RlLm9wZW4gJiYgIW5vZGUuY2hpbGRyZW5Mb2FkZWQpIHtcclxuICAgICAgICBub2RlLmNoaWxkcmVuTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YUNoYW5nZSh2YWx1ZTogWE1lbnVOb2RlW10pIHtcclxuICAgICFYSXNFbXB0eSh0aGlzLmFjdGl2YXRlZElkKCkpICYmIHRoaXMuc2V0QWN0aXZhdGVkTm9kZSh2YWx1ZSk7XHJcbiAgICBsZXQgaGFuZGxlckRhdGFzOiBYTWVudU5vZGVbXSA9IFtdO1xyXG4gICAgY29uc3QgZ2V0Q2hpbGRyZW4gPSAobm9kZTogWE1lbnVOb2RlLCBsZXZlbDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIG5vZGUubGV2ZWwgPSBsZXZlbDtcclxuICAgICAgbm9kZS5jaGlsZHJlbiA9IHZhbHVlLmZpbHRlcigoeSkgPT4geS5waWQgPT09IG5vZGUuaWQpO1xyXG4gICAgICBub2RlLmxlYWYgPSBub2RlLmNoaWxkcmVuPy5sZW5ndGggPiAwO1xyXG4gICAgICBpZiAobm9kZS5sZWFmKSB7XHJcbiAgICAgICAgbm9kZS5vcGVuID0gdGhpcy5leHBhbmRlZEFsbCgpIHx8IGxldmVsIDw9IHRoaXMuZXhwYW5kZWRMZXZlbCgpIHx8IHRoaXMuZXhwYW5kZWQoKS5pbmRleE9mKG5vZGUuaWQpID49IDA7XHJcbiAgICAgICAgbm9kZS5jaGlsZHJlbkxvYWRlZCA9IG5vZGUub3BlbjtcclxuICAgICAgICBub2RlLmNoaWxkcmVuLm1hcCgoeSkgPT4gZ2V0Q2hpbGRyZW4oeSwgbGV2ZWwgKyAxKSk7XHJcbiAgICAgICAgbm9kZS5jaGlsZHJlbiA9IHRoaXMuc2V0Q2F0ZWdvcnkobm9kZS5jaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgICAgaGFuZGxlckRhdGFzID0gWy4uLmhhbmRsZXJEYXRhcywgbm9kZV07XHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLm5vZGVzLnNldCh0aGlzLnNldENhdGVnb3J5KHZhbHVlLmZpbHRlcigoeCkgPT4gWElzRW1wdHkoeC5waWQpKSkubWFwKCh4KSA9PiBnZXRDaGlsZHJlbih4LCAwKSkpO1xyXG4gICAgdGhpcy5kYXRhcy5zZXQoaGFuZGxlckRhdGFzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Um9vdCh2YWx1ZTogWE1lbnVOb2RlKSB7XHJcbiAgICBsZXQgcm9vdCA9IHZhbHVlO1xyXG4gICAgY29uc3QgZ2V0UGFyZW50ID0gKG5vZGU6IFhNZW51Tm9kZSkgPT4ge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmRhdGFzKCkuZmluZCgoeCkgPT4gbm9kZS5waWQgPT09IHguaWQpIGFzIFhNZW51Tm9kZTtcclxuICAgICAgaWYgKFhJc0VtcHR5KHBhcmVudD8ucGlkKSkgcm9vdCA9IHBhcmVudDtcclxuICAgICAgZWxzZSBnZXRQYXJlbnQocGFyZW50KTtcclxuICAgIH07XHJcbiAgICBpZiAoIVhJc0VtcHR5KHZhbHVlLnBpZCkpIGdldFBhcmVudCh2YWx1ZSk7XHJcbiAgICByZXR1cm4gcm9vdDtcclxuICB9XHJcblxyXG4gIHNldENhdGVnb3J5KG5vZGVzOiBYTWVudU5vZGVbXSkge1xyXG4gICAgY29uc3QgZ3JvdXAgPSBYR3JvdXBCeShub2RlcyBhcyBYTWVudU5vZGVbXSwgJ2NhdGVnb3J5Jyk7XHJcbiAgICBmb3IgKGxldCBsaXN0IG9mIGdyb3VwKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0ID0gbGlzdFswXTtcclxuICAgICAgaWYgKGZpcnN0LmNhdGVnb3J5KSB7XHJcbiAgICAgICAgbGlzdC51bnNoaWZ0KHtcclxuICAgICAgICAgIGlkOiBgJHtmaXJzdC5waWR9X18ke2ZpcnN0LmNhdGVnb3J5fWAsXHJcbiAgICAgICAgICBwaWQ6IGZpcnN0LnBpZCxcclxuICAgICAgICAgIGxhYmVsOiBmaXJzdC5jYXRlZ29yeSxcclxuICAgICAgICAgIGxldmVsOiBmaXJzdC5sZXZlbCxcclxuICAgICAgICAgIGNhdGVnb3J5Tm9kZTogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgY29uOiBYTWVudU5vZGVbXSA9IFtdO1xyXG4gICAgZ3JvdXAubWFwKCh4KSA9PiB7XHJcbiAgICAgIGNvbiA9IGNvbi5jb25jYXQoeCk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjb247XHJcbiAgfVxyXG5cclxuICBzZXRBY3RpdmF0ZWROb2RlKG5vZGVzOiBYTWVudU5vZGVbXSkge1xyXG4gICAgdGhpcy5hY3RpdmF0ZWQuc2V0KG5vZGVzLmZpbmQoKHgpID0+IHguaWQgPT0gdGhpcy5hY3RpdmF0ZWRJZCgpKSBhcyBYTWVudU5vZGUpO1xyXG4gICAgdGhpcy5yb290SW5kZXguc2V0KG5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PSB0aGlzLmFjdGl2YXRlZElkKCkgJiYgIXgucGlkKSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmF0ZWQoKSkge1xyXG4gICAgICB0aGlzLnNldFBhcmVudE9wZW4obm9kZXMsIHRoaXMuYWN0aXZhdGVkKCkhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFBhcmVudE9wZW4obm9kZXM6IFhNZW51Tm9kZVtdLCBub2RlOiBYTWVudU5vZGUpIHtcclxuICAgIGNvbnN0IGdldFBhcmVudCA9IChjaGlsZDogWE1lbnVOb2RlKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShjaGlsZC5waWQpKSByZXR1cm47XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IG5vZGVzLmZpbmQoKHgpID0+IHguaWQgPT09IGNoaWxkLnBpZCkgYXMgWE1lbnVOb2RlO1xyXG4gICAgICBpZiAoIVhJc0VtcHR5KHBhcmVudCkpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkLnNldChbLi4udGhpcy5leHBhbmRlZCgpLCBwYXJlbnQuaWRdKTtcclxuICAgICAgICBnZXRQYXJlbnQocGFyZW50KTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGdldFBhcmVudChub2RlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjbWVudSBjbGFzcz1cIngtbWVudVwiIFtuZ0NsYXNzXT1cImNsYXNzTWFwKClcIiBbc3R5bGUud2lkdGhdPVwibGF5b3V0KCkgPT09ICdjb2x1bW4nID8gd2lkdGgoKSA6ICcnXCI+XHJcbiAgQGlmIChsYXlvdXQoKSA9PT0gJ2NvbHVtbicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LW1lbnUtbm9kZXNcIj5cclxuICAgICAgQGZvciAobm9kZSBvZiBub2RlcygpOyB0cmFjayBub2RlLmlkKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVDb2x1bW5UcGw7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUsICRjaGlsZHJlbjogdHJ1ZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICBAaWYgKGxheW91dCgpID09PSAncm93Jykge1xyXG4gICAgPHgtc2xpZGVyXHJcbiAgICAgIFtkYXRhXT1cIm5vZGVzKClcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplKClcIlxyXG4gICAgICBbbm9kZVRwbF09XCJub2RlUm93VHBsXCJcclxuICAgICAgW25vZGVKdXN0aWZ5XT1cIidjZW50ZXInXCJcclxuICAgICAgW2FjdGl2YXRlZEluZGV4XT1cInJvb3RJbmRleCgpXCJcclxuICAgICAgKGluZGV4Q2hhbmdlKT1cInJvb3RJbmRleENoYW5nZSgkZXZlbnQpXCJcclxuICAgID48L3gtc2xpZGVyPlxyXG4gIH1cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI25vZGVUZW1wbGF0ZSBsZXQtbm9kZT1cIiRub2RlXCI+XHJcbiAgQGlmIChub2RlLmxldmVsID09PSAwICYmIGNvbGxhcHNlZCgpKSB7XHJcbiAgICA8eC1kcm9wZG93blxyXG4gICAgICBbZGlzYWJsZWRdPVwiIW5vZGUubGVhZlwiXHJcbiAgICAgIFtkYXRhXT1cIm5vZGUuY2hpbGRyZW5cIlxyXG4gICAgICBbdHJpZ2dlcl09XCJ0cmlnZ2VyKClcIlxyXG4gICAgICBwbGFjZW1lbnQ9XCJyaWdodC1zdGFydFwiXHJcbiAgICAgIFsoYWN0aXZhdGVkSWQpXT1cImFjdGl2YXRlZElkXCJcclxuICAgICAgKG5vZGVDbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgW3BvcnRhbE1pbldpZHRoXT1cInBvcnRhbE1pbldpZHRoKClcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplKClcIlxyXG4gICAgICBjaGlsZHJlblxyXG4gICAgPlxyXG4gICAgICA8eC1tZW51LW5vZGVcclxuICAgICAgICBbcm91dGVyTGlua109XCJub2RlLnJvdXRlckxpbmtcIlxyXG4gICAgICAgIFtsZWFmXT1cIm5vZGUubGVhZlwiXHJcbiAgICAgICAgW2ljb25dPVwibm9kZS5pY29uXCJcclxuICAgICAgICBbbGFiZWxdPVwibm9kZS5sYWJlbFwiXHJcbiAgICAgICAgW29wZW5dPVwibm9kZS5vcGVuXCJcclxuICAgICAgICBbaWRdPVwibm9kZS5pZFwiXHJcbiAgICAgICAgW25vZGVUcGxdPVwibm9kZVRwbCgpXCJcclxuICAgICAgICBbbm9kZV09XCJub2RlXCJcclxuICAgICAgPjwveC1tZW51LW5vZGU+XHJcbiAgICA8L3gtZHJvcGRvd24+XHJcbiAgfVxyXG4gIEBpZiAoIWNvbGxhcHNlZCgpKSB7XHJcbiAgICA8eC1tZW51LW5vZGVcclxuICAgICAgW3JvdXRlckxpbmtdPVwibm9kZS5yb3V0ZXJMaW5rXCJcclxuICAgICAgW2xlYWZdPVwibm9kZS5sZWFmXCJcclxuICAgICAgW2ljb25dPVwibm9kZS5pY29uXCJcclxuICAgICAgW2xhYmVsXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICBbb3Blbl09XCJub2RlLm9wZW5cIlxyXG4gICAgICBbaWRdPVwibm9kZS5pZFwiXHJcbiAgICAgIFtub2RlVHBsXT1cIm5vZGVUcGwoKVwiXHJcbiAgICAgIFtub2RlXT1cIm5vZGVcIlxyXG4gICAgPjwveC1tZW51LW5vZGU+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNub2RlUm93VHBsIGxldC1ub2RlPVwiJG5vZGVcIj5cclxuICA8eC1kcm9wZG93blxyXG4gICAgW2Rpc2FibGVkXT1cIiFub2RlLmxlYWZcIlxyXG4gICAgW2RhdGFdPVwibm9kZS5jaGlsZHJlblwiXHJcbiAgICBbdHJpZ2dlcl09XCJ0cmlnZ2VyKClcIlxyXG4gICAgWyhhY3RpdmF0ZWRJZCldPVwiYWN0aXZhdGVkSWRcIlxyXG4gICAgKG5vZGVDbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQpXCJcclxuICAgIFtwb3J0YWxNaW5XaWR0aF09XCJwb3J0YWxNaW5XaWR0aCgpXCJcclxuICAgIFtzaXplXT1cInNpemUoKVwiXHJcbiAgICBjaGlsZHJlblxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LW1lbnUtbm9kZVwiIFtuZ0NsYXNzXT1cIm5vZGVDbGFzc01hcCgpXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC94LWRyb3Bkb3duPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNub2RlQ29sdW1uVHBsIGxldC1ub2RlPVwiJG5vZGVcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIngtbWVudS1ub2RlXCJcclxuICAgIFtjbGFzcy54LWFjdGl2YXRlZF09XCJhY3RpdmF0ZWQoKT8uaWQgPT09IG5vZGUuaWRcIlxyXG4gICAgW2NsYXNzLngtbWVudS1jYXRlZ29yeV09XCJub2RlLmNhdGVnb3J5Tm9kZVwiXHJcbiAgICBbbmdDbGFzc109XCJub2RlQ2xhc3NNYXAoKVwiXHJcbiAgICAoY2xpY2spPVwib25Ub2dnbGUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICBbc3R5bGUucGFkZGluZy1sZWZ0LnJlbV09XCIobm9kZS5sZXZlbCArIDEpICogMC44NzVcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAobm9kZS5jaGlsZHJlbkxvYWRlZCB8fCAobm9kZS5sZWFmICYmIG5vZGUub3BlbikpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LW1lbnUtbm9kZXNcIiBbaGlkZGVuXT1cIiFub2RlLm9wZW5cIj5cclxuICAgICAgQGZvciAoY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbjsgdHJhY2sgY2hpbGQuaWQpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZUNvbHVtblRwbDsgY29udGV4dDogeyAkbm9kZTogY2hpbGQgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -9,6 +9,7 @@ import { XIconComponent } from '@ng-nest/ui/icon';
|
|
|
9
9
|
import { XInputComponent } from '@ng-nest/ui/input';
|
|
10
10
|
import { XOutletDirective } from '@ng-nest/ui/outlet';
|
|
11
11
|
import { NgTemplateOutlet } from '@angular/common';
|
|
12
|
+
import { XTextareaComponent } from '@ng-nest/ui/textarea';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
import * as i1 from "@angular/forms";
|
|
14
15
|
export class XMessageBoxComponent {
|
|
@@ -33,7 +34,7 @@ export class XMessageBoxComponent {
|
|
|
33
34
|
return this.msgInput.inputPattern;
|
|
34
35
|
}
|
|
35
36
|
ngOnInit() {
|
|
36
|
-
this.msgInput.showInput && this.createFormGroup();
|
|
37
|
+
(this.msgInput.showInput || this.msgInput.showTextarea) && this.createFormGroup();
|
|
37
38
|
}
|
|
38
39
|
onClose() {
|
|
39
40
|
this.action = 'close';
|
|
@@ -64,6 +65,10 @@ export class XMessageBoxComponent {
|
|
|
64
65
|
this.action = 'confirm';
|
|
65
66
|
this.hideBox();
|
|
66
67
|
}
|
|
68
|
+
else if (!this.msgInput.showTextarea || (this.msgInput.showTextarea && this.formGroup.valid)) {
|
|
69
|
+
this.action = 'confirm';
|
|
70
|
+
this.hideBox();
|
|
71
|
+
}
|
|
67
72
|
};
|
|
68
73
|
if (this.msgInput.confirmLoading && XIsFunction(this.msgInput.confirmLoading)) {
|
|
69
74
|
this.loading = true;
|
|
@@ -97,7 +102,7 @@ export class XMessageBoxComponent {
|
|
|
97
102
|
]));
|
|
98
103
|
}
|
|
99
104
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XMessageBoxComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XMessageBoxComponent, isStandalone: true, selector: "x-message-box", ngImport: i0, template: "@if (!msgInput.hide) {\r\n <div\r\n class=\"x-message-box\"\r\n [@x-move-box-animation]=\"msgInput.placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n >\r\n <x-alert\r\n (close)=\"onClose()\"\r\n [title]=\"msgInput.title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"msgInput.type!\"\r\n [effect]=\"msgInput.effect!\"\r\n [hideClose]=\"msgInput.hideClose!\"\r\n [closeText]=\"msgInput.closeText\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n <ng-template #contentTpl let-iconTpl=\"$iconTpl\">\r\n <div class=\"x-message-box-inner\">\r\n <div class=\"x-message-box-content\">\r\n @if (msgInput.showInput) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-input\r\n formControlName=\"inputValue\"\r\n [type]=\"msgInput.inputType!\"\r\n [label]=\"getLabel\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n ></x-input>\r\n </form>\r\n } @else {\r\n @if (msgInput.showIcon) {\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n }\r\n <ng-container *xOutlet=\"msgInput.content\">\r\n {{ msgInput.content }}\r\n </ng-container>\r\n }\r\n </div>\r\n <x-buttons space=\"0.5rem\">\r\n @if (msgInput.showCancel) {\r\n <x-button (click)=\"onCancel()\" flat plain>{{ msgInput.cancelText }}</x-button>\r\n }\r\n <x-button type=\"primary\" flat (click)=\"onConfirm()\" [disabled]=\"formGroup!.invalid\" [loading]=\"loading\">{{\r\n msgInput.confirmText\r\n }}</x-button>\r\n </x-buttons>\r\n </div>\r\n </ng-template>\r\n </div>\r\n}\r\n", styles: [".x-message-box{margin:0;padding:0}.x-message-box-inner{display:flex;flex-direction:column;margin:.5rem 0}.x-message-box-inner>x-buttons{margin-top:1rem;align-self:flex-end}.x-message-box-content{display:inline-flex}.x-message-box-content>form{width:100
|
|
105
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XMessageBoxComponent, isStandalone: true, selector: "x-message-box", ngImport: i0, template: "@if (!msgInput.hide) {\r\n <div\r\n class=\"x-message-box\"\r\n [@x-move-box-animation]=\"msgInput.placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n >\r\n <x-alert\r\n (close)=\"onClose()\"\r\n [title]=\"msgInput.title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"msgInput.type!\"\r\n [effect]=\"msgInput.effect!\"\r\n [hideClose]=\"msgInput.hideClose!\"\r\n [closeText]=\"msgInput.closeText\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n <ng-template #contentTpl let-iconTpl=\"$iconTpl\">\r\n <div class=\"x-message-box-inner\">\r\n <div class=\"x-message-box-content\">\r\n @if (msgInput.showInput) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-input\r\n formControlName=\"inputValue\"\r\n [type]=\"msgInput.inputType!\"\r\n [label]=\"getLabel\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n ></x-input>\r\n </form>\r\n } @else if (msgInput.showTextarea) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-textarea\r\n formControlName=\"inputValue\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [label]=\"getLabel\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n [maxlength]=\"msgInput.textareaMaxlength!\"\r\n [height]=\"msgInput.textareaHeight!\"\r\n ></x-textarea>\r\n </form>\r\n } @else {\r\n @if (msgInput.showIcon) {\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n }\r\n <ng-container *xOutlet=\"msgInput.content\">\r\n {{ msgInput.content }}\r\n </ng-container>\r\n }\r\n </div>\r\n <x-buttons space=\"0.5rem\">\r\n @if (msgInput.showCancel) {\r\n <x-button (click)=\"onCancel()\" flat plain>{{ msgInput.cancelText }}</x-button>\r\n }\r\n <x-button type=\"primary\" flat (click)=\"onConfirm()\" [disabled]=\"formGroup!.invalid\" [loading]=\"loading\">{{\r\n msgInput.confirmText\r\n }}</x-button>\r\n </x-buttons>\r\n </div>\r\n </ng-template>\r\n </div>\r\n}\r\n", styles: [".x-message-box{margin:0;padding:0}.x-message-box-inner{display:flex;flex-direction:column;margin:.5rem 0}.x-message-box-inner>x-buttons{margin-top:1rem;align-self:flex-end}.x-message-box-content{display:inline-flex}.x-message-box-content>form{width:100%;margin-bottom:1rem}.x-message-box-content>form>x-input{width:100%}.x-message-box-content>form>x-textarea{width:100%}.x-message-box-portal x-message-box{width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XTextareaComponent, selector: "x-textarea" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XButtonsComponent, selector: "x-buttons" }, { kind: "component", type: XAlertComponent, selector: "x-alert" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XMoveBoxAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
101
106
|
}
|
|
102
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XMessageBoxComponent, decorators: [{
|
|
103
108
|
type: Component,
|
|
@@ -106,11 +111,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
106
111
|
FormsModule,
|
|
107
112
|
ReactiveFormsModule,
|
|
108
113
|
XInputComponent,
|
|
114
|
+
XTextareaComponent,
|
|
109
115
|
XButtonComponent,
|
|
110
116
|
XButtonsComponent,
|
|
111
117
|
XIconComponent,
|
|
112
118
|
XAlertComponent,
|
|
113
119
|
XOutletDirective
|
|
114
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XMoveBoxAnimation], template: "@if (!msgInput.hide) {\r\n <div\r\n class=\"x-message-box\"\r\n [@x-move-box-animation]=\"msgInput.placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n >\r\n <x-alert\r\n (close)=\"onClose()\"\r\n [title]=\"msgInput.title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"msgInput.type!\"\r\n [effect]=\"msgInput.effect!\"\r\n [hideClose]=\"msgInput.hideClose!\"\r\n [closeText]=\"msgInput.closeText\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n <ng-template #contentTpl let-iconTpl=\"$iconTpl\">\r\n <div class=\"x-message-box-inner\">\r\n <div class=\"x-message-box-content\">\r\n @if (msgInput.showInput) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-input\r\n formControlName=\"inputValue\"\r\n [type]=\"msgInput.inputType!\"\r\n [label]=\"getLabel\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n ></x-input>\r\n </form>\r\n } @else {\r\n @if (msgInput.showIcon) {\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n }\r\n <ng-container *xOutlet=\"msgInput.content\">\r\n {{ msgInput.content }}\r\n </ng-container>\r\n }\r\n </div>\r\n <x-buttons space=\"0.5rem\">\r\n @if (msgInput.showCancel) {\r\n <x-button (click)=\"onCancel()\" flat plain>{{ msgInput.cancelText }}</x-button>\r\n }\r\n <x-button type=\"primary\" flat (click)=\"onConfirm()\" [disabled]=\"formGroup!.invalid\" [loading]=\"loading\">{{\r\n msgInput.confirmText\r\n }}</x-button>\r\n </x-buttons>\r\n </div>\r\n </ng-template>\r\n </div>\r\n}\r\n", styles: [".x-message-box{margin:0;padding:0}.x-message-box-inner{display:flex;flex-direction:column;margin:.5rem 0}.x-message-box-inner>x-buttons{margin-top:1rem;align-self:flex-end}.x-message-box-content{display:inline-flex}.x-message-box-content>form{width:100
|
|
120
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XMoveBoxAnimation], template: "@if (!msgInput.hide) {\r\n <div\r\n class=\"x-message-box\"\r\n [@x-move-box-animation]=\"msgInput.placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n >\r\n <x-alert\r\n (close)=\"onClose()\"\r\n [title]=\"msgInput.title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"msgInput.type!\"\r\n [effect]=\"msgInput.effect!\"\r\n [hideClose]=\"msgInput.hideClose!\"\r\n [closeText]=\"msgInput.closeText\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n <ng-template #contentTpl let-iconTpl=\"$iconTpl\">\r\n <div class=\"x-message-box-inner\">\r\n <div class=\"x-message-box-content\">\r\n @if (msgInput.showInput) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-input\r\n formControlName=\"inputValue\"\r\n [type]=\"msgInput.inputType!\"\r\n [label]=\"getLabel\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n ></x-input>\r\n </form>\r\n } @else if (msgInput.showTextarea) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-textarea\r\n formControlName=\"inputValue\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [label]=\"getLabel\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n [maxlength]=\"msgInput.textareaMaxlength!\"\r\n [height]=\"msgInput.textareaHeight!\"\r\n ></x-textarea>\r\n </form>\r\n } @else {\r\n @if (msgInput.showIcon) {\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n }\r\n <ng-container *xOutlet=\"msgInput.content\">\r\n {{ msgInput.content }}\r\n </ng-container>\r\n }\r\n </div>\r\n <x-buttons space=\"0.5rem\">\r\n @if (msgInput.showCancel) {\r\n <x-button (click)=\"onCancel()\" flat plain>{{ msgInput.cancelText }}</x-button>\r\n }\r\n <x-button type=\"primary\" flat (click)=\"onConfirm()\" [disabled]=\"formGroup!.invalid\" [loading]=\"loading\">{{\r\n msgInput.confirmText\r\n }}</x-button>\r\n </x-buttons>\r\n </div>\r\n </ng-template>\r\n </div>\r\n}\r\n", styles: [".x-message-box{margin:0;padding:0}.x-message-box-inner{display:flex;flex-direction:column;margin:.5rem 0}.x-message-box-inner>x-buttons{margin-top:1rem;align-self:flex-end}.x-message-box-content{display:inline-flex}.x-message-box-content>form{width:100%;margin-bottom:1rem}.x-message-box-content>form>x-input{width:100%}.x-message-box-content>form>x-textarea{width:100%}.x-message-box-portal x-message-box{width:100%}\n"] }]
|
|
115
121
|
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }] });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbWVzc2FnZS1ib3gvbWVzc2FnZS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbWVzc2FnZS1ib3gvbWVzc2FnZS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQXFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBc0JuRCxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQ1MsUUFBbUIsRUFDbkIsVUFBbUMsRUFDbkMsR0FBc0I7UUFGdEIsYUFBUSxHQUFSLFFB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R0FBRyxpQkFBaUIsRUFBRSxjQUNwQixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhJc0Z1bmN0aW9uLCBYTW92ZUJveEFuaW1hdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYTWVzc2FnZUJveFByZWZpeCwgWE1lc3NhZ2VCb3hSZWYsIFhNZXNzYWdlQm94QWN0aW9uIH0gZnJvbSAnLi9tZXNzYWdlLWJveC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhGb3JtSW5wdXRWYWxpZGF0b3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYQWxlcnRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9hbGVydCc7XHJcbmltcG9ydCB7IFhCdXR0b25Db21wb25lbnQsIFhCdXR0b25zQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgWEljb25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pY29uJztcclxuaW1wb3J0IHsgWElucHV0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WE1lc3NhZ2VCb3hQcmVmaXh9YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBYSW5wdXRDb21wb25lbnQsXHJcbiAgICBYQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgWEJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBYSWNvbkNvbXBvbmVudCxcclxuICAgIFhBbGVydENvbXBvbmVudCxcclxuICAgIFhPdXRsZXREaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlLWJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVzc2FnZS1ib3guY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGFuaW1hdGlvbnM6IFtYTW92ZUJveEFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhNZXNzYWdlQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBtZXNzYWdlQm94ITogWE1lc3NhZ2VCb3hSZWY7XHJcbiAgYWN0aW9uOiBYTWVzc2FnZUJveEFjdGlvbiA9ICdjbG9zZSc7XHJcbiAgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIGdldCBtc2dJbnB1dCgpIHtcclxuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VCb3guaW5wdXQhO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1zZ092ZXJsYXlSZWYoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlQm94LnJlZiE7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0TGFiZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tc2dJbnB1dC5jb250ZW50IGFzIHN0cmluZztcclxuICB9XHJcblxyXG4gIGdldCBnZXRQYXR0ZXJuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXNnSW5wdXQuaW5wdXRQYXR0ZXJuIGFzIFJlZ0V4cDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5tc2dJbnB1dC5zaG93SW5wdXQgJiYgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xvc2UoKSB7XHJcbiAgICB0aGlzLmFjdGlvbiA9ICdjbG9zZSc7XHJcbiAgICB0aGlzLmhpZGVCb3goKTtcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCkge1xyXG4gICAgdGhpcy5hY3Rpb24gPSAnY2FuY2VsJztcclxuICAgIHRoaXMuaGlkZUJveCgpO1xyXG4gIH1cclxuXHJcbiAgaGlkZUJveCgpIHtcclxuICAgIGlmIChYSXNGdW5jdGlvbih0aGlzLm1zZ0lucHV0LmJlZm9yZUNsb3NlKSkge1xyXG4gICAgICB0aGlzLm1zZ0lucHV0LmJlZm9yZUNsb3NlISh0aGlzLmFjdGlvbiwgdGhpcy5nZXRJbnB1dFZhbHVlKCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICBpZiAodGhpcy5tc2dJbnB1dC5oaWRlICYmIHRoaXMubXNnSW5wdXQuaGlkZSAhPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLm1zZ0lucHV0LmhpZGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tc2dPdmVybGF5UmVmPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uQ29uZmlybSgpIHtcclxuICAgIGNvbnN0IGhpZGUgPSAoKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5tc2dJbnB1dC5zaG93SW5wdXQgfHwgKHRoaXMubXNnSW5wdXQuc2hvd0lucHV0ICYmIHRoaXMuZm9ybUdyb3VwLnZhbGlkKSkge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uID0gJ2NvbmZpcm0nO1xyXG4gICAgICAgIHRoaXMuaGlkZUJveCgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMubXNnSW5wdXQuY29uZmlybUxvYWRpbmcgJiYgWElzRnVuY3Rpb24odGhpcy5tc2dJbnB1dC5jb25maXJtTG9hZGluZykpIHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5tc2dJbnB1dC5jb25maXJtTG9hZGluZygpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIGlmICgheCkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuYWN0aW9uID0gJ2NvbmZpcm0nO1xyXG4gICAgICAgIGhpZGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBoaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb3ZlRG9uZSgkZXZlbnQ6IHsgdG9TdGF0ZTogc3RyaW5nIH0pIHtcclxuICAgIGlmICgkZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XHJcbiAgICAgIFhJc0Z1bmN0aW9uKHRoaXMubXNnSW5wdXQuY2FsbGJhY2spICYmIHRoaXMubXNnSW5wdXQuY2FsbGJhY2shKHRoaXMuYWN0aW9uLCB0aGlzLmdldElucHV0VmFsdWUoKSk7XHJcbiAgICAgIHRoaXMubXNnT3ZlcmxheVJlZi5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJbnB1dFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzWydpbnB1dFZhbHVlJ10/LnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRm9ybUdyb3VwKCkge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChcclxuICAgICAgJ2lucHV0VmFsdWUnLFxyXG4gICAgICBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMubXNnSW5wdXQuaW5wdXRWYWx1ZSwgW1xyXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMubXNnSW5wdXQuaW5wdXRQYXR0ZXJuIGFzIFJlZ0V4cCksXHJcbiAgICAgICAgWEZvcm1JbnB1dFZhbGlkYXRvcih0aGlzLm1zZ0lucHV0LmlucHV0VmFsaWRhdG9yISlcclxuICAgICAgXSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoIW1zZ0lucHV0LmhpZGUpIHtcclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIngtbWVzc2FnZS1ib3hcIlxyXG4gICAgW0B4LW1vdmUtYm94LWFuaW1hdGlvbl09XCJtc2dJbnB1dC5wbGFjZW1lbnRcIlxyXG4gICAgKEB4LW1vdmUtYm94LWFuaW1hdGlvbi5kb25lKT1cIm1vdmVEb25lKCRldmVudClcIlxyXG4gID5cclxuICAgIDx4LWFsZXJ0XHJcbiAgICAgIChjbG9zZSk9XCJvbkNsb3NlKClcIlxyXG4gICAgICBbdGl0bGVdPVwibXNnSW5wdXQudGl0bGVcIlxyXG4gICAgICBbY29udGVudF09XCJjb250ZW50VHBsXCJcclxuICAgICAgW3R5cGVdPVwibXNnSW5wdXQudHlwZSFcIlxyXG4gICAgICBbZWZmZWN0XT1cIm1zZ0lucHV0LmVmZmVjdCFcIlxyXG4gICAgICBbaGlkZUNsb3NlXT1cIm1zZ0lucHV0LmhpZGVDbG9zZSFcIlxyXG4gICAgICBbY2xvc2VUZXh0XT1cIm1zZ0lucHV0LmNsb3NlVGV4dFwiXHJcbiAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXHJcbiAgICAgIFtkdXJhdGlvbl09XCIwXCJcclxuICAgICAgbWFudWFsXHJcbiAgICAgIGRpc2FibGVkQW5pbWF0aW9uXHJcbiAgICA+PC94LWFsZXJ0PlxyXG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50VHBsIGxldC1pY29uVHBsPVwiJGljb25UcGxcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtbWVzc2FnZS1ib3gtaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1tZXNzYWdlLWJveC1jb250ZW50XCI+XHJcbiAgICAgICAgICBAaWYgKG1zZ0lucHV0LnNob3dJbnB1dCkge1xyXG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxyXG4gICAgICAgICAgICAgIDx4LWlucHV0XHJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnB1dFZhbHVlXCJcclxuICAgICAgICAgICAgICAgIFt0eXBlXT1cIm1zZ0lucHV0LmlucHV0VHlwZSFcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImdldExhYmVsXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJtc2dJbnB1dC5pbnB1dFBsYWNlaG9sZGVyIVwiXHJcbiAgICAgICAgICAgICAgICBbcGF0dGVybl09XCJnZXRQYXR0ZXJuXCJcclxuICAgICAgICAgICAgICAgIFttZXNzYWdlXT1cIm1zZ0lucHV0LmlucHV0SW52YWxpZE1lc3NhZ2UhXCJcclxuICAgICAgICAgICAgICAgIFtpbnB1dFZhbGlkYXRvcl09XCJtc2dJbnB1dC5pbnB1dFZhbGlkYXRvciFcIlxyXG4gICAgICAgICAgICAgID48L3gtaW5wdXQ+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAaWYgKG1zZ0lucHV0LnNob3dJY29uKSB7XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwibXNnSW5wdXQuY29udGVudFwiPlxyXG4gICAgICAgICAgICAgIHt7IG1zZ0lucHV0LmNvbnRlbnQgfX1cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHgtYnV0dG9ucyBzcGFjZT1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgQGlmIChtc2dJbnB1dC5zaG93Q2FuY2VsKSB7XHJcbiAgICAgICAgICAgIDx4LWJ1dHRvbiAoY2xpY2spPVwib25DYW5jZWwoKVwiIGZsYXQgcGxhaW4+e3sgbXNnSW5wdXQuY2FuY2VsVGV4dCB9fTwveC1idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA8eC1idXR0b24gdHlwZT1cInByaW1hcnlcIiBmbGF0IChjbGljayk9XCJvbkNvbmZpcm0oKVwiIFtkaXNhYmxlZF09XCJmb3JtR3JvdXAhLmludmFsaWRcIiBbbG9hZGluZ109XCJsb2FkaW5nXCI+e3tcclxuICAgICAgICAgICAgbXNnSW5wdXQuY29uZmlybVRleHRcclxuICAgICAgICAgIH19PC94LWJ1dHRvbj5cclxuICAgICAgICA8L3gtYnV0dG9ucz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbWVzc2FnZS1ib3gvbWVzc2FnZS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbWVzc2FnZS1ib3gvbWVzc2FnZS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQXFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBdUIxRCxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQ1MsUUFB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QztZQUN4RCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWUsQ0FBQztTQUNuRCxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7aUlBckdVLG9CQUFvQjtxSEFBcEIsb0JBQW9CLHlFQzFDakMsbW9GQW9FQSw2ZEQzQ0ksZ0JBQWdCLG1KQUNoQixXQUFXLHVzQkFDWCxtQkFBbUIsZ1ZBQ25CLGVBQWUsb0RBQ2Ysa0JBQWtCLHVEQUNsQixnQkFBZ0IscURBQ2hCLGlCQUFpQixzREFFakIsZUFBZSxvREFDZixnQkFBZ0IsK0VBTU4sQ0FBQyxpQkFBaUIsQ0FBQzs7MkZBRXBCLG9CQUFvQjtrQkFyQmhDLFNBQVM7K0JBQ0UsR0FBRyxpQkFBaUIsRUFBRSxjQUNwQixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkluaXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWElzRnVuY3Rpb24sIFhNb3ZlQm94QW5pbWF0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhNZXNzYWdlQm94UHJlZml4LCBYTWVzc2FnZUJveFJlZiwgWE1lc3NhZ2VCb3hBY3Rpb24gfSBmcm9tICcuL21lc3NhZ2UtYm94LnByb3BlcnR5JztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWEZvcm1JbnB1dFZhbGlkYXRvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhBbGVydENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2FsZXJ0JztcclxuaW1wb3J0IHsgWEJ1dHRvbkNvbXBvbmVudCwgWEJ1dHRvbnNDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9idXR0b24nO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYSW5wdXRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhPdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWFRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvdGV4dGFyZWEnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hNZXNzYWdlQm94UHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgWElucHV0Q29tcG9uZW50LFxyXG4gICAgWFRleHRhcmVhQ29tcG9uZW50LFxyXG4gICAgWEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFhCdXR0b25zQ29tcG9uZW50LFxyXG4gICAgWEljb25Db21wb25lbnQsXHJcbiAgICBYQWxlcnRDb21wb25lbnQsXHJcbiAgICBYT3V0bGV0RGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lc3NhZ2UtYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBhbmltYXRpb25zOiBbWE1vdmVCb3hBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTWVzc2FnZUJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbWVzc2FnZUJveCE6IFhNZXNzYWdlQm94UmVmO1xyXG4gIGFjdGlvbjogWE1lc3NhZ2VCb3hBY3Rpb24gPSAnY2xvc2UnO1xyXG4gIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBnZXQgbXNnSW5wdXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlQm94LmlucHV0ITtcclxuICB9XHJcblxyXG4gIGdldCBtc2dPdmVybGF5UmVmKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZUJveC5yZWYhO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldExhYmVsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXNnSW5wdXQuY29udGVudCBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0UGF0dGVybigpIHtcclxuICAgIHJldHVybiB0aGlzLm1zZ0lucHV0LmlucHV0UGF0dGVybiBhcyBSZWdFeHA7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgICh0aGlzLm1zZ0lucHV0LnNob3dJbnB1dCB8fCB0aGlzLm1zZ0lucHV0LnNob3dUZXh0YXJlYSkgJiYgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xvc2UoKSB7XHJcbiAgICB0aGlzLmFjdGlvbiA9ICdjbG9zZSc7XHJcbiAgICB0aGlzLmhpZGVCb3goKTtcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCkge1xyXG4gICAgdGhpcy5hY3Rpb24gPSAnY2FuY2VsJztcclxuICAgIHRoaXMuaGlkZUJveCgpO1xyXG4gIH1cclxuXHJcbiAgaGlkZUJveCgpIHtcclxuICAgIGlmIChYSXNGdW5jdGlvbih0aGlzLm1zZ0lucHV0LmJlZm9yZUNsb3NlKSkge1xyXG4gICAgICB0aGlzLm1zZ0lucHV0LmJlZm9yZUNsb3NlISh0aGlzLmFjdGlvbiwgdGhpcy5nZXRJbnB1dFZhbHVlKCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICBpZiAodGhpcy5tc2dJbnB1dC5oaWRlICYmIHRoaXMubXNnSW5wdXQuaGlkZSAhPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLm1zZ0lucHV0LmhpZGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tc2dPdmVybGF5UmVmPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uQ29uZmlybSgpIHtcclxuICAgIGNvbnN0IGhpZGUgPSAoKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5tc2dJbnB1dC5zaG93SW5wdXQgfHwgKHRoaXMubXNnSW5wdXQuc2hvd0lucHV0ICYmIHRoaXMuZm9ybUdyb3VwLnZhbGlkKSkge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uID0gJ2NvbmZpcm0nO1xyXG4gICAgICAgIHRoaXMuaGlkZUJveCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLm1zZ0lucHV0LnNob3dUZXh0YXJlYSB8fCAodGhpcy5tc2dJbnB1dC5zaG93VGV4dGFyZWEgJiYgdGhpcy5mb3JtR3JvdXAudmFsaWQpKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpb24gPSAnY29uZmlybSc7XHJcbiAgICAgICAgdGhpcy5oaWRlQm94KCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5tc2dJbnB1dC5jb25maXJtTG9hZGluZyAmJiBYSXNGdW5jdGlvbih0aGlzLm1zZ0lucHV0LmNvbmZpcm1Mb2FkaW5nKSkge1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLm1zZ0lucHV0LmNvbmZpcm1Mb2FkaW5nKCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgaWYgKCF4KSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5hY3Rpb24gPSAnY29uZmlybSc7XHJcbiAgICAgICAgaGlkZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGhpZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1vdmVEb25lKCRldmVudDogeyB0b1N0YXRlOiBzdHJpbmcgfSkge1xyXG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcclxuICAgICAgWElzRnVuY3Rpb24odGhpcy5tc2dJbnB1dC5jYWxsYmFjaykgJiYgdGhpcy5tc2dJbnB1dC5jYWxsYmFjayEodGhpcy5hY3Rpb24sIHRoaXMuZ2V0SW5wdXRWYWx1ZSgpKTtcclxuICAgICAgdGhpcy5tc2dPdmVybGF5UmVmLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldElucHV0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbJ2lucHV0VmFsdWUnXT8udmFsdWU7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVGb3JtR3JvdXAoKSB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKFxyXG4gICAgICAnaW5wdXRWYWx1ZScsXHJcbiAgICAgIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy5tc2dJbnB1dC5pbnB1dFZhbHVlLCBbXHJcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5tc2dJbnB1dC5pbnB1dFBhdHRlcm4gYXMgUmVnRXhwKSxcclxuICAgICAgICBYRm9ybUlucHV0VmFsaWRhdG9yKHRoaXMubXNnSW5wdXQuaW5wdXRWYWxpZGF0b3IhKVxyXG4gICAgICBdKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiQGlmICghbXNnSW5wdXQuaGlkZSkge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwieC1tZXNzYWdlLWJveFwiXHJcbiAgICBbQHgtbW92ZS1ib3gtYW5pbWF0aW9uXT1cIm1zZ0lucHV0LnBsYWNlbWVudFwiXHJcbiAgICAoQHgtbW92ZS1ib3gtYW5pbWF0aW9uLmRvbmUpPVwibW92ZURvbmUoJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPHgtYWxlcnRcclxuICAgICAgKGNsb3NlKT1cIm9uQ2xvc2UoKVwiXHJcbiAgICAgIFt0aXRsZV09XCJtc2dJbnB1dC50aXRsZVwiXHJcbiAgICAgIFtjb250ZW50XT1cImNvbnRlbnRUcGxcIlxyXG4gICAgICBbdHlwZV09XCJtc2dJbnB1dC50eXBlIVwiXHJcbiAgICAgIFtlZmZlY3RdPVwibXNnSW5wdXQuZWZmZWN0IVwiXHJcbiAgICAgIFtoaWRlQ2xvc2VdPVwibXNnSW5wdXQuaGlkZUNsb3NlIVwiXHJcbiAgICAgIFtjbG9zZVRleHRdPVwibXNnSW5wdXQuY2xvc2VUZXh0XCJcclxuICAgICAgW3Nob3dJY29uXT1cImZhbHNlXCJcclxuICAgICAgW2R1cmF0aW9uXT1cIjBcIlxyXG4gICAgICBtYW51YWxcclxuICAgICAgZGlzYWJsZWRBbmltYXRpb25cclxuICAgID48L3gtYWxlcnQ+XHJcbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnRUcGwgbGV0LWljb25UcGw9XCIkaWNvblRwbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1tZXNzYWdlLWJveC1pbm5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LW1lc3NhZ2UtYm94LWNvbnRlbnRcIj5cclxuICAgICAgICAgIEBpZiAobXNnSW5wdXQuc2hvd0lucHV0KSB7XHJcbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPHgtaW5wdXRcclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlucHV0VmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW3R5cGVdPVwibXNnSW5wdXQuaW5wdXRUeXBlIVwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZ2V0TGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIm1zZ0lucHV0LmlucHV0UGxhY2Vob2xkZXIhXCJcclxuICAgICAgICAgICAgICAgIFtwYXR0ZXJuXT1cImdldFBhdHRlcm5cIlxyXG4gICAgICAgICAgICAgICAgW21lc3NhZ2VdPVwibXNnSW5wdXQuaW5wdXRJbnZhbGlkTWVzc2FnZSFcIlxyXG4gICAgICAgICAgICAgICAgW2lucHV0VmFsaWRhdG9yXT1cIm1zZ0lucHV0LmlucHV0VmFsaWRhdG9yIVwiXHJcbiAgICAgICAgICAgICAgPjwveC1pbnB1dD5cclxuICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgfSBAZWxzZSBpZiAobXNnSW5wdXQuc2hvd1RleHRhcmVhKSB7XHJcbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPHgtdGV4dGFyZWFcclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlucHV0VmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIm1zZ0lucHV0LmlucHV0UGxhY2Vob2xkZXIhXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJnZXRMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICBbcGF0dGVybl09XCJnZXRQYXR0ZXJuXCJcclxuICAgICAgICAgICAgICAgIFttZXNzYWdlXT1cIm1zZ0lucHV0LmlucHV0SW52YWxpZE1lc3NhZ2UhXCJcclxuICAgICAgICAgICAgICAgIFtpbnB1dFZhbGlkYXRvcl09XCJtc2dJbnB1dC5pbnB1dFZhbGlkYXRvciFcIlxyXG4gICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJtc2dJbnB1dC50ZXh0YXJlYU1heGxlbmd0aCFcIlxyXG4gICAgICAgICAgICAgICAgW2hlaWdodF09XCJtc2dJbnB1dC50ZXh0YXJlYUhlaWdodCFcIlxyXG4gICAgICAgICAgICAgID48L3gtdGV4dGFyZWE+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAaWYgKG1zZ0lucHV0LnNob3dJY29uKSB7XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwibXNnSW5wdXQuY29udGVudFwiPlxyXG4gICAgICAgICAgICAgIHt7IG1zZ0lucHV0LmNvbnRlbnQgfX1cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHgtYnV0dG9ucyBzcGFjZT1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgQGlmIChtc2dJbnB1dC5zaG93Q2FuY2VsKSB7XHJcbiAgICAgICAgICAgIDx4LWJ1dHRvbiAoY2xpY2spPVwib25DYW5jZWwoKVwiIGZsYXQgcGxhaW4+e3sgbXNnSW5wdXQuY2FuY2VsVGV4dCB9fTwveC1idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA8eC1idXR0b24gdHlwZT1cInByaW1hcnlcIiBmbGF0IChjbGljayk9XCJvbkNvbmZpcm0oKVwiIFtkaXNhYmxlZF09XCJmb3JtR3JvdXAhLmludmFsaWRcIiBbbG9hZGluZ109XCJsb2FkaW5nXCI+e3tcclxuICAgICAgICAgICAgbXNnSW5wdXQuY29uZmlybVRleHRcclxuICAgICAgICAgIH19PC94LWJ1dHRvbj5cclxuICAgICAgICA8L3gtYnV0dG9ucz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export const XMessageBoxPrefix = 'x-message-box';
|
|
7
7
|
export const XMessageBoxPortal = 'x-message-box-portal';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9tZXNzYWdlLWJveC9tZXNzYWdlLWJveC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsZUFBZSxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFN0YXR1cywgWFBsYWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhBbGVydE9wdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2FsZXJ0JztcclxuaW1wb3J0IHsgWE1lc3NhZ2VCb3hDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UtYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhQb3J0YWxPdmVybGF5UmVmIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWElucHV0VHlwZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIE1lc3NhZ2VCb3hcclxuICogQHNlbGVjdG9yIHgtbWVzc2FnZS1ib3hcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYTWVzc2FnZUJveFByZWZpeCA9ICd4LW1lc3NhZ2UtYm94JztcclxuXHJcbmV4cG9ydCBjb25zdCBYTWVzc2FnZUJveFBvcnRhbCA9ICd4LW1lc3NhZ2UtYm94LXBvcnRhbCc7XHJcblxyXG4vKipcclxuICogTWVzc2FnZUJveCBPcHRpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE1lc3NhZ2VCb3hPcHRpb24gZXh0ZW5kcyBYQWxlcnRPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlrnkvY3vvIzkuZ3lrqvmoLxcclxuICAgKiBAZW5fVVMgRGlyZWN0aW9uLCBuaW5lIGdyaWRcclxuICAgKiBAZGVmYXVsdCAndG9wJ1xyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YGP56e76Led56a7XHJcbiAgICogQGVuX1VTIE9mZnNldCBkaXN0YW5jZVxyXG4gICAqIEBkZWZhdWx0ICcycmVtJ1xyXG4gICAqL1xyXG4gIG9mZnNldD86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnsbvlnotcclxuICAgKiBAZW5fVVMgVHlwZXMgb2ZcclxuICAgKiBAZGVmYXVsdCAnaW5mbydcclxuICAgKi9cclxuICB0eXBlPzogWE1lc3NhZ2VCb3hUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKiBAZGVmYXVsdCAnMTZyZW0nXHJcbiAgICovXHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmrmOW6plxyXG4gICAqIEBlbl9VUyBIZWlnaHRcclxuICAgKi9cclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmakOiXj+WFs+mXreaMiemSrlxyXG4gICAqIEBlbl9VUyBIaWRlIGNsb3NlIGJ1dHRvblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBoaWRlQ2xvc2U/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrlm77moIdcclxuICAgKiBAZW5fVVMgU2hvdyBpY29uXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIHNob3dJY29uPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65Y+W5raI5oyJ6ZKuXHJcbiAgICogQGVuX1VTIFNob3cgY2FuY2VsIGJ1dHRvblxyXG4gICAqL1xyXG4gIHNob3dDYW5jZWw/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhbPpl63kuovku7ZcclxuICAgKiBAZW5fVVMgQ2xvc2UgZXZlbnRcclxuICAgKi9cclxuICBjYWxsYmFjaz86IFhNZXNzYWdlQm94Q2FsbGJhY2s7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+mBrue9qeWFs+mXrVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbWFzayB0byBjbG9zZVxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgYmFja2Ryb3BDbG9zZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOehruiupOaMiemSruaWh+Wtl1xyXG4gICAqIEBlbl9VUyBDb25maXJtIGJ1dHRvbiB0ZXh0XHJcbiAgICogQGRlZmF1bHQgJ+ehruWumidcclxuICAgKi9cclxuICBjb25maXJtVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+W5raI5oyJ6ZKu5paH5a2XXHJcbiAgICogQGVuX1VTIENhbmNlbCBidXR0b24gdGV4dFxyXG4gICAqIEBkZWZhdWx0ICflj5bmtognXHJcbiAgICovXHJcbiAgY2FuY2VsVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9tZXNzYWdlLWJveC9tZXNzYWdlLWJveC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsZUFBZSxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFN0YXR1cywgWFBsYWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhBbGVydE9wdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2FsZXJ0JztcclxuaW1wb3J0IHsgWE1lc3NhZ2VCb3hDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UtYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhQb3J0YWxPdmVybGF5UmVmIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWElucHV0VHlwZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIE1lc3NhZ2VCb3hcclxuICogQHNlbGVjdG9yIHgtbWVzc2FnZS1ib3hcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYTWVzc2FnZUJveFByZWZpeCA9ICd4LW1lc3NhZ2UtYm94JztcclxuXHJcbmV4cG9ydCBjb25zdCBYTWVzc2FnZUJveFBvcnRhbCA9ICd4LW1lc3NhZ2UtYm94LXBvcnRhbCc7XHJcblxyXG4vKipcclxuICogTWVzc2FnZUJveCBPcHRpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE1lc3NhZ2VCb3hPcHRpb24gZXh0ZW5kcyBYQWxlcnRPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlrnkvY3vvIzkuZ3lrqvmoLxcclxuICAgKiBAZW5fVVMgRGlyZWN0aW9uLCBuaW5lIGdyaWRcclxuICAgKiBAZGVmYXVsdCAndG9wJ1xyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YGP56e76Led56a7XHJcbiAgICogQGVuX1VTIE9mZnNldCBkaXN0YW5jZVxyXG4gICAqIEBkZWZhdWx0ICcycmVtJ1xyXG4gICAqL1xyXG4gIG9mZnNldD86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnsbvlnotcclxuICAgKiBAZW5fVVMgVHlwZXMgb2ZcclxuICAgKiBAZGVmYXVsdCAnaW5mbydcclxuICAgKi9cclxuICB0eXBlPzogWE1lc3NhZ2VCb3hUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKiBAZGVmYXVsdCAnMTZyZW0nXHJcbiAgICovXHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmrmOW6plxyXG4gICAqIEBlbl9VUyBIZWlnaHRcclxuICAgKi9cclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmakOiXj+WFs+mXreaMiemSrlxyXG4gICAqIEBlbl9VUyBIaWRlIGNsb3NlIGJ1dHRvblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBoaWRlQ2xvc2U/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrlm77moIdcclxuICAgKiBAZW5fVVMgU2hvdyBpY29uXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIHNob3dJY29uPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65Y+W5raI5oyJ6ZKuXHJcbiAgICogQGVuX1VTIFNob3cgY2FuY2VsIGJ1dHRvblxyXG4gICAqL1xyXG4gIHNob3dDYW5jZWw/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhbPpl63kuovku7ZcclxuICAgKiBAZW5fVVMgQ2xvc2UgZXZlbnRcclxuICAgKi9cclxuICBjYWxsYmFjaz86IFhNZXNzYWdlQm94Q2FsbGJhY2s7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+mBrue9qeWFs+mXrVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbWFzayB0byBjbG9zZVxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgYmFja2Ryb3BDbG9zZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOehruiupOaMiemSruaWh+Wtl1xyXG4gICAqIEBlbl9VUyBDb25maXJtIGJ1dHRvbiB0ZXh0XHJcbiAgICogQGRlZmF1bHQgJ+ehruWumidcclxuICAgKi9cclxuICBjb25maXJtVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+W5raI5oyJ6ZKu5paH5a2XXHJcbiAgICogQGVuX1VTIENhbmNlbCBidXR0b24gdGV4dFxyXG4gICAqIEBkZWZhdWx0ICflj5bmtognXHJcbiAgICovXHJcbiAgY2FuY2VsVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+56S66L6T5YWl5qGG77yM5pi+56S65Y2V6KGM5paH5pys5qGG5ZCO77yM5bCG5LiN6IO95pi+56S65aSa6KGM5paH5pys5qGGXHJcbiAgICogQGVuX1VTIERvIG5vdCBkaXNwbGF5IGlucHV0IGJveC4gQWZ0ZXIgZGlzcGxheWluZyBhIHNpbmdsZSBsaW5lIHRleHQgYm94LCBtdWx0aSBsaW5lIHRleHQgYm94ZXMgY2Fubm90IGJlIGRpc3BsYXllZFxyXG4gICAqL1xyXG4gIHNob3dJbnB1dD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWMuemFjeinhOWImVxyXG4gICAqIEBlbl9VUyBNYXRjaGluZyBydWxlc1xyXG4gICAqL1xyXG4gIGlucHV0UGF0dGVybj86IFJlZ0V4cCB8IFJlZ0V4cFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljLnphY3lpLHotKXnmoTkv6Hmga/mj5DnpLpcclxuICAgKiBAZW5fVVMgSW5mb3JtYXRpb24gcHJvbXB0IGZvciBtYXRjaGluZyBmYWlsdXJlXHJcbiAgICovXHJcbiAgaW5wdXRJbnZhbGlkTWVzc2FnZT86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbnmoTljaDkvY3nrKZcclxuICAgKiBAZW5fVVMgUGxhY2Vob2xkZXIgZm9yIGlucHV0IGJveFxyXG4gICAqL1xyXG4gIGlucHV0UGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeahhueahOexu+Wei1xyXG4gICAqIEBlbl9VUyBUeXBlIG9mIGlucHV0IGJveFxyXG4gICAqL1xyXG4gIGlucHV0VHlwZT86IFhJbnB1dFR5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeahhueahOWAvFxyXG4gICAqIEBlbl9VUyBWYWx1ZSBvZiBpbnB1dCBib3hcclxuICAgKi9cclxuICBpbnB1dFZhbHVlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbnmoTpqozor4Hlh73mlbBcclxuICAgKiBAZW5fVVMgVmFsaWRhdGlvbiBmdW5jdGlvbiBvZiBpbnB1dCBib3hcclxuICAgKi9cclxuICBpbnB1dFZhbGlkYXRvcj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhbPpl63liY3lpITnkIblh73mlbBcclxuICAgKiBAZW5fVVMgUHJvY2Vzc2luZyBmdW5jdGlvbiBiZWZvcmUgY2xvc2luZ1xyXG4gICAqL1xyXG4gIGJlZm9yZUNsb3NlPzogWE1lc3NhZ2VCb3hDYWxsYmFjaztcclxuICAvKipcclxuICAgKiBAemhfQ04g56Gu6K6k5Yqg6L29XHJcbiAgICogQGVuX1VTIGNvbmZpcm0gTG9hZGluZ1xyXG4gICAqL1xyXG4gIGNvbmZpcm1Mb2FkaW5nPzogWE1lc3NhZ2VCb3hDb25maXJtTG9hZGluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+56S65aSa6KGM5paH5pys5qGGXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gc2hvdyB0aGUgaW5wdXQgYm94XHJcbiAgICovXHJcbiAgc2hvd1RleHRhcmVhPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5pyA5aSn6ZW/5bqmXHJcbiAgICogQGVuX1VTIEVudGVyIHRoZSBtYXhpbXVtIGxlbmd0aFxyXG4gICAqL1xyXG4gIHRleHRhcmVhTWF4bGVuZ3RoPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpq5jluqZcclxuICAgKiBAZW5fVVMgaGVpZ2h0XHJcbiAgICovXHJcbiAgdGV4dGFyZWFIZWlnaHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YWz6Zet55qE5Zue6LCD5Ye95pWw57G75Z6LXHJcbiAqIEBlbl9VUyBDbG9zZWQgY2FsbGJhY2sgZnVuY3Rpb24gdHlwZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUJveENhbGxiYWNrIHtcclxuICAoYWN0aW9uOiBYTWVzc2FnZUJveEFjdGlvbiwgbWVzc2FnZT86IHN0cmluZyk6IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g56Gu6K6k5Yqg6L29XHJcbiAqIEBlbl9VUyBjb25maXJtIExvYWRpbmdcclxuICovXHJcbmV4cG9ydCB0eXBlIFhNZXNzYWdlQm94Q29uZmlybUxvYWRpbmcgPSAoKSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDop6blj5HlhbPpl63nmoTnsbvlnotcclxuICogQGVuX1VTIFR5cGUgb2YgdHJpZ2dlciBjbG9zdXJlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYTWVzc2FnZUJveEFjdGlvbiA9ICdjb25maXJtJyB8ICdjYW5jZWwnIHwgJ2Nsb3NlJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Yib5bu655qE5raI5oGv5a+56LGhXHJcbiAqIEBlbl9VUyBNZXNzYWdlIG9iamVjdCBjcmVhdGVkXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhNZXNzYWdlQm94T3ZlcmxheVJlZiBleHRlbmRzIFhQb3J0YWxPdmVybGF5UmVmPFhNZXNzYWdlQm94Q29tcG9uZW50PiB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUJveFJlZiB7XHJcbiAgcmVmOiBYTWVzc2FnZUJveE92ZXJsYXlSZWY7XHJcbiAgaW5wdXQ6IFhNZXNzYWdlQm94T3B0aW9uO1xyXG4gIGNsb3NlOiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOexu+Wei1xyXG4gKiBAZW5fVVMgVHlwZXMgb2ZcclxuICovXHJcbmV4cG9ydCB0eXBlIFhNZXNzYWdlQm94VHlwZSA9IFhTdGF0dXM7XHJcbiJdfQ==
|
|
@@ -16,11 +16,13 @@ export class XMessageBoxService {
|
|
|
16
16
|
duration: 3000,
|
|
17
17
|
showIcon: false,
|
|
18
18
|
showInput: false,
|
|
19
|
+
showTextarea: false,
|
|
19
20
|
backdropClose: false,
|
|
20
21
|
cancelText: '取消',
|
|
21
22
|
confirmText: '确认',
|
|
22
23
|
inputPlaceholder: '',
|
|
23
|
-
hide: false
|
|
24
|
+
hide: false,
|
|
25
|
+
textareaHeight: '6rem'
|
|
24
26
|
};
|
|
25
27
|
this.portal = inject(XPortalService);
|
|
26
28
|
this.i18n = inject(XI18nService);
|
|
@@ -32,7 +34,12 @@ export class XMessageBoxService {
|
|
|
32
34
|
return this.createMessageBox(option, { showIcon: true, showCancel: true, showInput: false });
|
|
33
35
|
}
|
|
34
36
|
prompt(option) {
|
|
35
|
-
|
|
37
|
+
const opt = option;
|
|
38
|
+
let def = { showIcon: false, showCancel: true, showInput: true };
|
|
39
|
+
if (!opt.showInput && opt.showTextarea) {
|
|
40
|
+
def = { showIcon: false, showCancel: true, showTextarea: true };
|
|
41
|
+
}
|
|
42
|
+
return this.createMessageBox(option, def);
|
|
36
43
|
}
|
|
37
44
|
create(option) {
|
|
38
45
|
const offset = XIsString(option.offset) ? [option.offset] : option.offset;
|
|
@@ -56,7 +63,7 @@ export class XMessageBoxService {
|
|
|
56
63
|
opt = option;
|
|
57
64
|
}
|
|
58
65
|
this.setLocal();
|
|
59
|
-
XFillDefault(opt, Object.assign(this.default, def));
|
|
66
|
+
XFillDefault(opt, Object.assign({ ...this.default }, def));
|
|
60
67
|
return this.createMessageBoxPlacement(opt);
|
|
61
68
|
}
|
|
62
69
|
createMessageBoxPlacement(option) {
|
|
@@ -87,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
87
94
|
type: Injectable,
|
|
88
95
|
args: [{ providedIn: 'root' }]
|
|
89
96
|
}] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL21lc3NhZ2UtYm94L21lc3NhZ2UtYm94LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBYSxZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BGLE9BQU8sRUFBNEQsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNySCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUdoRCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRUUsWUFBTyxHQUFzQjtZQUMzQixJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxPQUFPO1lBQ2QsU0FBUyxFQUFFLFFBQVE7WUFDbkIsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsT0FBTztZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLEtBQUs7WUFDZixTQUFTLEVBQUUsS0FBSztZQUNoQixZQUFZLEVBQUUsS0FBSztZQUNuQixhQUFhLEVBQUUsS0FBSztZQUNwQixVQUFVLEVBQUUsSUFBSTtZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLElBQUksRUFBRSxLQUFLO1lBQ1gsY0FBYyxFQUFFLE1BQU07U0FDdkIsQ0FBQztRQUVNLFdBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FB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S0FBSyxFQUFFLENBQUM7WUFDbkIsQ0FBQztTQUNGLENBQUM7UUFDRixRQUFRLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUM3QixJQUFJLE1BQU0sQ0FBQyxhQUFhLElBQUksVUFBVSxFQUFFLENBQUM7WUFDdkMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO1FBQzFELElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFELENBQUM7aUlBdEZVLGtCQUFrQjtxSUFBbEIsa0JBQWtCLGNBREwsTUFBTTs7MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVGVtcGxhdGUsIFhJc1hUZW1wbGF0ZSwgWEZpbGxEZWZhdWx0LCBYSXNTdHJpbmcgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWE1lc3NhZ2VCb3hPcHRpb24sIFhNZXNzYWdlQm94T3ZlcmxheVJlZiwgWE1lc3NhZ2VCb3hSZWYsIFhNZXNzYWdlQm94UG9ydGFsIH0gZnJvbSAnLi9tZXNzYWdlLWJveC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhNZXNzYWdlQm94Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhJMThuU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFhNZXNzYWdlQm94U2VydmljZSB7XHJcbiAgZGVmYXVsdDogWE1lc3NhZ2VCb3hPcHRpb24gPSB7XHJcbiAgICB0eXBlOiAnaW5mbycsXHJcbiAgICB3aWR0aDogJzIwcmVtJyxcclxuICAgIHBsYWNlbWVudDogJ2NlbnRlcicsXHJcbiAgICBvZmZzZXQ6ICcycmVtJyxcclxuICAgIGVmZmVjdDogJ3doaXRlJyxcclxuICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgc2hvd0ljb246IGZhbHNlLFxyXG4gICAgc2hvd0lucHV0OiBmYWxzZSxcclxuICAgIHNob3dUZXh0YXJlYTogZmFsc2UsXHJcbiAgICBiYWNrZHJvcENsb3NlOiBmYWxzZSxcclxuICAgIGNhbmNlbFRleHQ6ICflj5bmtognLFxyXG4gICAgY29uZmlybVRleHQ6ICfnoa7orqQnLFxyXG4gICAgaW5wdXRQbGFjZWhvbGRlcjogJycsXHJcbiAgICBoaWRlOiBmYWxzZSxcclxuICAgIHRleHRhcmVhSGVpZ2h0OiAnNnJlbSdcclxuICB9O1xyXG5cclxuICBwcml2YXRlIHBvcnRhbCA9IGluamVjdChYUG9ydGFsU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KFhJMThuU2VydmljZSk7XHJcblxyXG4gIGFsZXJ0KG9wdGlvbjogWFRlbXBsYXRlIHwgWE1lc3NhZ2VCb3hPcHRpb24pOiBYTWVzc2FnZUJveFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVNZXNzYWdlQm94KG9wdGlvbiwgeyBzaG93SWNvbjogZmFsc2UsIHNob3dDYW5jZWw6IGZhbHNlLCBzaG93SW5wdXQ6IGZhbHNlIH0pO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybShvcHRpb246IFhUZW1wbGF0ZSB8IFhNZXNzYWdlQm94T3B0aW9uKTogWE1lc3NhZ2VCb3hSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTWVzc2FnZUJveChvcHRpb24sIHsgc2hvd0ljb246IHRydWUsIHNob3dDYW5jZWw6IHRydWUsIHNob3dJbnB1dDogZmFsc2UgfSk7XHJcbiAgfVxyXG5cclxuICBwcm9tcHQob3B0aW9uOiBYVGVtcGxhdGUgfCBYTWVzc2FnZUJveE9wdGlvbik6IFhNZXNzYWdlQm94UmVmIHtcclxuICAgIGNvbnN0IG9wdCA9IG9wdGlvbiBhcyBYTWVzc2FnZUJveE9wdGlvbjtcclxuICAgIGxldCBkZWY6IFhNZXNzYWdlQm94T3B0aW9uID0geyBzaG93SWNvbjogZmFsc2UsIHNob3dDYW5jZWw6IHRydWUsIHNob3dJbnB1dDogdHJ1ZSB9O1xyXG4gICAgaWYgKCFvcHQuc2hvd0lucHV0ICYmIG9wdC5zaG93VGV4dGFyZWEpIHtcclxuICAgICAgZGVmID0geyBzaG93SWNvbjogZmFsc2UsIHNob3dDYW5jZWw6IHRydWUsIHNob3dUZXh0YXJlYTogdHJ1ZSB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTWVzc2FnZUJveChvcHRpb24sIGRlZik7XHJcbiAgfVxyXG5cclxuICBjcmVhdGUob3B0aW9uOiBYTWVzc2FnZUJveE9wdGlvbik6IFhNZXNzYWdlQm94T3ZlcmxheVJlZiB7XHJcbiAgICBjb25zdCBvZmZzZXQgPSBYSXNTdHJpbmcob3B0aW9uLm9mZnNldCkgPyBbb3B0aW9uLm9mZnNldCBhcyBzdHJpbmddIDogKG9wdGlvbi5vZmZzZXQgYXMgc3RyaW5nW10pO1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IFhNZXNzYWdlQm94Q29tcG9uZW50LFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiB7XHJcbiAgICAgICAgcGFuZWxDbGFzczogWE1lc3NhZ2VCb3hQb3J0YWwsXHJcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgICAgd2lkdGg6IG9wdGlvbi53aWR0aCxcclxuICAgICAgICBoZWlnaHQ6IG9wdGlvbi5oZWlnaHQsXHJcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5wb3J0YWwuc2V0UGxhY2Uob3B0aW9uLnBsYWNlbWVudCwgLi4ub2Zmc2V0KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlTWVzc2FnZUJveChvcHRpb246IFhUZW1wbGF0ZSB8IFhNZXNzYWdlQm94T3B0aW9uLCBkZWY6IFhNZXNzYWdlQm94T3B0aW9uKTogWE1lc3NhZ2VCb3hSZWYge1xyXG4gICAgbGV0IG9wdDogWE1lc3NhZ2VCb3hPcHRpb247XHJcbiAgICBpZiAoWElzWFRlbXBsYXRlKG9wdGlvbikpIHtcclxuICAgICAgb3B0ID0geyB0aXRsZTogb3B0aW9uIGFzIFhUZW1wbGF0ZSB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb3B0ID0gb3B0aW9uIGFzIFhNZXNzYWdlQm94T3B0aW9uO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRMb2NhbCgpO1xyXG4gICAgWEZpbGxEZWZhdWx0KG9wdCwgT2JqZWN0LmFzc2lnbih7IC4uLnRoaXMuZGVmYXVsdCB9LCBkZWYpKTtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1lc3NhZ2VCb3hQbGFjZW1lbnQob3B0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlTWVzc2FnZUJveFBsYWNlbWVudChvcHRpb246IFhNZXNzYWdlQm94T3B0aW9uKTogWE1lc3NhZ2VCb3hSZWYge1xyXG4gICAgY29uc3QgcmVmID0gdGhpcy5jcmVhdGUob3B0aW9uKTtcclxuICAgIGNvbnN0IHsgb3ZlcmxheVJlZiwgY29tcG9uZW50UmVmIH0gPSByZWY7XHJcbiAgICBjb25zdCB7IGluc3RhbmNlIH0gPSBjb21wb25lbnRSZWYgYXMgQ29tcG9uZW50UmVmPFhNZXNzYWdlQm94Q29tcG9uZW50PjtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHtcclxuICAgICAgcmVmOiByZWYsXHJcbiAgICAgIGlucHV0OiBvcHRpb24sXHJcbiAgICAgIGNsb3NlOiAoKSA9PiB7XHJcbiAgICAgICAgaW5zdGFuY2UuY2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGluc3RhbmNlLm1lc3NhZ2VCb3ggPSByZXN1bHQ7XHJcbiAgICBpZiAob3B0aW9uLmJhY2tkcm9wQ2xvc2UgJiYgb3ZlcmxheVJlZikge1xyXG4gICAgICBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gaW5zdGFuY2Uub25DbG9zZSgpKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldExvY2FsKCkge1xyXG4gICAgY29uc3QgbWVzc2FnZUJveExvY2FsZSA9IHRoaXMuaTE4bi5nZXRMb2NhbGUoKS5tZXNzYWdlQm94O1xyXG4gICAgdGhpcy5kZWZhdWx0ID0geyAuLi50aGlzLmRlZmF1bHQsIC4uLm1lc3NhZ2VCb3hMb2NhbGUgfTtcclxuICB9XHJcbn1cclxuIl19
|