@stemy/ngx-utils 17.3.8 → 17.3.9
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/ngx-utils/components/dropdown-box/dropdown-box.component.mjs +1 -1
- package/esm2022/ngx-utils/directives/dropdown-content.directive.mjs +13 -4
- package/esm2022/ngx-utils/directives/dropdown.directive.mjs +5 -2
- package/fesm2022/stemy-ngx-utils.mjs +18 -6
- package/fesm2022/stemy-ngx-utils.mjs.map +1 -1
- package/ngx-utils/directives/dropdown.directive.d.ts +6 -2
- package/ngx-utils/ngx-utils.imports.d.ts +3 -3
- package/package.json +1 -1
|
@@ -31,7 +31,7 @@ export class DropdownBoxComponent {
|
|
|
31
31
|
this.makeAutoPlacementOpts();
|
|
32
32
|
}
|
|
33
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownBoxComponent, selector: "dropdown-box", inputs: { closeInside: "closeInside", attachTo: "attachTo", placement: "placement", crossAxis: "crossAxis", alignment: "alignment", autoAlignment: "autoAlignment", allowedPlacements: "allowedPlacements", componentClass: "componentClass" }, viewQueries: [{ propertyName: "content", first: true, predicate: DropdownContentDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div dd class=\"dropdown-box\"\n [ngClass]=\"componentClass\"\n [closeInside]=\"closeInside\"\n [attachTo]=\"attachTo\"\n [placement]=\"placement\"\n [autoPlacement]=\"autoPlacement\">\n <div class=\"dropdown-box-toggle\" dropdownToggle>\n <a class=\"dropdown-box-toggle-link\">\n <ng-content select=\"[toggle-content]\"></ng-content>\n </a>\n </div>\n <div class=\"dropdown-box-content\" [ngClass]=\"componentClass + '-content-wrapper'\" *dropdownContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".dropdown-box{--dd-border-size: var(--border-size, 1px);--dd-border-radius: 5px;--dd-top-border-radius: var(--dd-border-radius) var(--dd-border-radius) 0 0;--dd-bottom-border-radius: 0 0 var(--dd-border-radius) var(--dd-border-radius);--dd-bg-color: var(--bg-color, #ffffff);--dd-border-color: var(--border-color, #ced4da);--dd-highlight-color: var(--highlight-color, var(--primary-color, #888888));--dd-highlight-text-color: var(--highlight-text-color, #ffffff);--dd-text-color: var(--text-color, #151515);--dd-arrow-size: var(--arrow-size, 6px);--dd-arrow-space: calc(var(--dd-arrow-size) * .5 + 1px);--dd-arrow-color: currentColor;--dd-arrow-rotation: 90;position:relative;z-index:2;display:inline-block;width:var(--content-width, 0);min-width:fit-content}.dropdown-box *{box-sizing:border-box}.dropdown-box a,.dropdown-box span{white-space:nowrap}.dropdown-box.table-sort-dropdown{display:none}.dropdown-box.table-sort-dropdown .table-toggle:hover,.dropdown-box li:hover,.dropdown-box li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-box.open{--dd-arrow-rotation: -90}.dropdown-box.open .dropdown-box-toggle{border-radius:var(--dd-top-border-radius)}.dropdown-box-toggle{min-width:fit-content;background:var(--dd-bg-color);color:var(--dd-text-color);cursor:pointer;border:var(--dd-border-size) solid var(--dd-border-color);border-radius:5px;padding:6px 12px;-webkit-user-select:none;user-select:none;font-weight:400;font-size:var(--table-input-font-size, 15px);line-height:var(--table-input-line-height, 18px);outline:none}.dropdown-box-toggle .toggle-placeholder{color:#495057}.dropdown-box-toggle a.dropdown-box-toggle-link{margin-right:calc(2 * var(--dd-arrow-size));padding-right:5px;min-width:fit-content;position:relative;display:block}.dropdown-box-toggle a.dropdown-box-toggle-link:after{content:\"\";position:absolute;left:calc(100% + var(--dd-arrow-size));top:calc(50% - var(--dd-arrow-size));border-top:var(--dd-arrow-size) solid transparent;border-bottom:var(--dd-arrow-size) solid transparent;border-left:var(--dd-arrow-size) solid var(--dd-arrow-color);transform:rotate(calc(var(--dd-arrow-rotation) * 1deg));transition:.2s ease}.dropdown-box-content{position:relative;z-index:1;min-width:var(--toggle-width, 0)}.dropdown-box-content *{box-sizing:border-box}.dropdown-box-content ul{margin:0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);border-top-width:0;z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-bottom-border-radius);overflow:hidden;min-width:fit-content}.dropdown-box-content li{color:var(--dd-text-color);font-weight:400;text-align:left;min-width:fit-content;cursor:pointer;padding:6px 12px;-webkit-user-select:none;user-select:none}.dropdown-box-content li:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-placement-top.open .dropdown-box-toggle{border-radius:var(--dd-bottom-border-radius)}.dropdown-placement-top .dropdown-box-content ul{border-top-width:var(--dd-border-size);border-bottom-width:0;border-radius:var(--dd-top-border-radius)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DropdownDirective, selector: "[dd],[drop-down]", inputs: ["closeInside", "attachTo", "placement", "autoPlacement", "mobileViewUnder", "keyboardHandler", "isDisabled"], outputs: ["onShown", "onHidden", "onKeyboard"], exportAs: ["dropdown"] }, { kind: "directive", type: i3.DropdownContentDirective, selector: "[dropdownContent]", exportAs: ["dropdown-content"] }, { kind: "directive", type: i4.DropdownToggleDirective, selector: "[dropdownToggle]", inputs: ["beforeOpen", "switch"], exportAs: ["dropdown-toggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownBoxComponent, selector: "dropdown-box", inputs: { closeInside: "closeInside", attachTo: "attachTo", placement: "placement", crossAxis: "crossAxis", alignment: "alignment", autoAlignment: "autoAlignment", allowedPlacements: "allowedPlacements", componentClass: "componentClass" }, viewQueries: [{ propertyName: "content", first: true, predicate: DropdownContentDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div dd class=\"dropdown-box\"\n [ngClass]=\"componentClass\"\n [closeInside]=\"closeInside\"\n [attachTo]=\"attachTo\"\n [placement]=\"placement\"\n [autoPlacement]=\"autoPlacement\">\n <div class=\"dropdown-box-toggle\" dropdownToggle>\n <a class=\"dropdown-box-toggle-link\">\n <ng-content select=\"[toggle-content]\"></ng-content>\n </a>\n </div>\n <div class=\"dropdown-box-content\" [ngClass]=\"componentClass + '-content-wrapper'\" *dropdownContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".dropdown-box{--dd-border-size: var(--border-size, 1px);--dd-border-radius: 5px;--dd-top-border-radius: var(--dd-border-radius) var(--dd-border-radius) 0 0;--dd-bottom-border-radius: 0 0 var(--dd-border-radius) var(--dd-border-radius);--dd-bg-color: var(--bg-color, #ffffff);--dd-border-color: var(--border-color, #ced4da);--dd-highlight-color: var(--highlight-color, var(--primary-color, #888888));--dd-highlight-text-color: var(--highlight-text-color, #ffffff);--dd-text-color: var(--text-color, #151515);--dd-arrow-size: var(--arrow-size, 6px);--dd-arrow-space: calc(var(--dd-arrow-size) * .5 + 1px);--dd-arrow-color: currentColor;--dd-arrow-rotation: 90;position:relative;z-index:2;display:inline-block;width:var(--content-width, 0);min-width:fit-content}.dropdown-box *{box-sizing:border-box}.dropdown-box a,.dropdown-box span{white-space:nowrap}.dropdown-box.table-sort-dropdown{display:none}.dropdown-box.table-sort-dropdown .table-toggle:hover,.dropdown-box li:hover,.dropdown-box li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-box.open{--dd-arrow-rotation: -90}.dropdown-box.open .dropdown-box-toggle{border-radius:var(--dd-top-border-radius)}.dropdown-box-toggle{min-width:fit-content;background:var(--dd-bg-color);color:var(--dd-text-color);cursor:pointer;border:var(--dd-border-size) solid var(--dd-border-color);border-radius:5px;padding:6px 12px;-webkit-user-select:none;user-select:none;font-weight:400;font-size:var(--table-input-font-size, 15px);line-height:var(--table-input-line-height, 18px);outline:none}.dropdown-box-toggle .toggle-placeholder{color:#495057}.dropdown-box-toggle a.dropdown-box-toggle-link{margin-right:calc(2 * var(--dd-arrow-size));padding-right:5px;min-width:fit-content;position:relative;display:block}.dropdown-box-toggle a.dropdown-box-toggle-link:after{content:\"\";position:absolute;left:calc(100% + var(--dd-arrow-size));top:calc(50% - var(--dd-arrow-size));border-top:var(--dd-arrow-size) solid transparent;border-bottom:var(--dd-arrow-size) solid transparent;border-left:var(--dd-arrow-size) solid var(--dd-arrow-color);transform:rotate(calc(var(--dd-arrow-rotation) * 1deg));transition:.2s ease}.dropdown-box-content{position:relative;z-index:1;min-width:var(--toggle-width, 0)}.dropdown-box-content *{box-sizing:border-box}.dropdown-box-content ul{margin:0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);border-top-width:0;z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-bottom-border-radius);overflow:hidden;min-width:fit-content}.dropdown-box-content li{color:var(--dd-text-color);font-weight:400;text-align:left;min-width:fit-content;cursor:pointer;padding:6px 12px;-webkit-user-select:none;user-select:none}.dropdown-box-content li:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-placement-top.open .dropdown-box-toggle{border-radius:var(--dd-bottom-border-radius)}.dropdown-placement-top .dropdown-box-content ul{border-top-width:var(--dd-border-size);border-bottom-width:0;border-radius:var(--dd-top-border-radius)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DropdownDirective, selector: "[dd],[drop-down]", inputs: ["closeInside", "attachTo", "boundary", "placement", "autoPlacement", "mobileViewUnder", "keyboardHandler", "isDisabled"], outputs: ["onShown", "onHidden", "onKeyboard"], exportAs: ["dropdown"] }, { kind: "directive", type: i3.DropdownContentDirective, selector: "[dropdownContent]", exportAs: ["dropdown-content"] }, { kind: "directive", type: i4.DropdownToggleDirective, selector: "[dropdownToggle]", inputs: ["beforeOpen", "switch"], exportAs: ["dropdown-toggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
35
35
|
}
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownBoxComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
@@ -25,11 +25,12 @@ export class DropdownContentDirective {
|
|
|
25
25
|
this.subscription = ObservableUtils.multiSubscription(this.dropdown.onShown.subscribe(() => this.createView()), this.dropdown.onHidden.subscribe(() => this.destroyView()));
|
|
26
26
|
}
|
|
27
27
|
ngOnDestroy() {
|
|
28
|
-
// this.observer?.unobserve(this.element.nativeElement);
|
|
29
28
|
this.subscription?.unsubscribe();
|
|
30
29
|
this.destroyView();
|
|
31
30
|
}
|
|
32
31
|
createView(init = false) {
|
|
32
|
+
if (this.dropdown.contentElement)
|
|
33
|
+
return;
|
|
33
34
|
const mobileWidth = this.dropdown.mobileViewUnder || 0;
|
|
34
35
|
const ref = this.dropdown.nativeElement;
|
|
35
36
|
const [content, arrowEl] = this.createWrapper();
|
|
@@ -37,7 +38,10 @@ export class DropdownContentDirective {
|
|
|
37
38
|
// Set up floating UI positioning settings
|
|
38
39
|
const middleware = [];
|
|
39
40
|
if (this.dropdown.autoPlacement) {
|
|
40
|
-
middleware.push(
|
|
41
|
+
middleware.push(shift({
|
|
42
|
+
boundary: this.dropdown.boundary,
|
|
43
|
+
limiter: limitShift()
|
|
44
|
+
}), autoPlacement(this.dropdown.autoPlacement));
|
|
41
45
|
}
|
|
42
46
|
middleware.push(arrow({ element: arrowEl }));
|
|
43
47
|
const compute = async () => {
|
|
@@ -95,9 +99,11 @@ export class DropdownContentDirective {
|
|
|
95
99
|
content.classList.add(newPlacement);
|
|
96
100
|
}
|
|
97
101
|
if (isMobileView) {
|
|
102
|
+
content.classList.remove(`dropdown-content-desktop`);
|
|
98
103
|
content.classList.add(`dropdown-content-mobile`);
|
|
99
104
|
}
|
|
100
105
|
else {
|
|
106
|
+
content.classList.add(`dropdown-content-desktop`);
|
|
101
107
|
content.classList.remove(`dropdown-content-mobile`);
|
|
102
108
|
}
|
|
103
109
|
rectProps.forEach(prop => {
|
|
@@ -109,8 +115,11 @@ export class DropdownContentDirective {
|
|
|
109
115
|
});
|
|
110
116
|
}
|
|
111
117
|
destroyView() {
|
|
118
|
+
if (!this.dropdown.contentElement)
|
|
119
|
+
return;
|
|
120
|
+
this.dropdown.contentElement.remove();
|
|
121
|
+
this.dropdown.contentElement = null;
|
|
112
122
|
this.vcr.clear();
|
|
113
|
-
this.dropdown.contentElement?.remove();
|
|
114
123
|
this.cleanUp?.();
|
|
115
124
|
}
|
|
116
125
|
whereToAttach() {
|
|
@@ -190,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
190
199
|
}] }, { type: i0.TemplateRef, decorators: [{
|
|
191
200
|
type: Optional
|
|
192
201
|
}] }] });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvZHJvcGRvd24tY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFxQixRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFDSCxLQUFLLEVBQ0wsYUFBYSxFQUNiLFVBQVUsRUFDVixlQUFlLEVBQ2YsS0FBSyxFQUdPLFVBQVUsRUFDekIsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQUU5QyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBb0JoRCxNQUFNLE9BQU8sd0JBQXdCO0lBUWpDLFlBQXNCLEdBQXFCLEVBQ2EsUUFBcUIsRUFDM0MsUUFBMkIsRUFDNUIsV0FBNkI7UUFIeEMsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDYSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQzNDLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUZBQXlGLENBQUMsQ0FBQztRQUMvRyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElB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T25Jbml0LCBPcHRpb25hbCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7XG4gICAgYXJyb3csXG4gICAgYXV0b1BsYWNlbWVudCxcbiAgICBhdXRvVXBkYXRlLFxuICAgIGNvbXB1dGVQb3NpdGlvbixcbiAgICBzaGlmdCxcbiAgICBNaWRkbGV3YXJlRGF0YSxcbiAgICBQbGFjZW1lbnQsXG4gICAgTWlkZGxld2FyZSwgbGltaXRTaGlmdFxufSBmcm9tIFwiQGZsb2F0aW5nLXVpL2RvbVwiO1xuXG5pbXBvcnQge1JPT1RfRUxFTUVOVH0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xuaW1wb3J0IHtEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSBcIi4vZHJvcGRvd24uZGlyZWN0aXZlXCI7XG5pbXBvcnQge09ic2VydmFibGVVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29ic2VydmFibGUudXRpbHNcIjtcbmltcG9ydCB7Z2V0Q3NzVmFyaWFibGVzfSBmcm9tIFwiLi4vdXRpbHMvbWlzY1wiO1xuXG5jb25zdCByZWN0UHJvcHMgPSBbXCJ4XCIsIFwieVwiLCBcIndpZHRoXCIsIFwiaGVpZ2h0XCJdO1xuXG5pbnRlcmZhY2UgQ29tcHV0ZVJlc3VsdCB7XG4gICAgc3R5bGVzOiB7XG4gICAgICAgIHBvc2l0aW9uOiBcImZpeGVkXCIgfCBcImFic29sdXRlXCI7XG4gICAgICAgIGxlZnQ6IHN0cmluZztcbiAgICAgICAgdG9wOiBzdHJpbmc7XG4gICAgICAgIHJpZ2h0OiBzdHJpbmc7XG4gICAgICAgIGJvdHRvbTogc3RyaW5nO1xuICAgIH0sXG4gICAgcGxhY2VtZW50OiBQbGFjZW1lbnQ7XG4gICAgaXNNb2JpbGVWaWV3OiBib29sZWFuO1xuICAgIG1pZGRsZXdhcmVEYXRhPzogTWlkZGxld2FyZURhdGE7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxuICAgIHNlbGVjdG9yOiBcIltkcm9wZG93bkNvbnRlbnRdXCIsXG4gICAgZXhwb3J0QXM6IFwiZHJvcGRvd24tY29udGVudFwiLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIGF0dGFjaFRvOiBIVE1MRWxlbWVudDtcbiAgICBwcm90ZWN0ZWQgYXR0YWNoT3V0c2lkZTogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgbGFzdFBsYWNlbWVudDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBjbGVhblVwOiAoKSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJPT1RfRUxFTUVOVCkgcHJvdGVjdGVkIHJvb3RFbGVtOiBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgZHJvcGRvd246IERyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIGlmICghdGhpcy5kcm9wZG93bikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRHJvcGRvd25EaXJlY3RpdmUgaXMgcmVxdWlyZWQhIFBsZWFzZSB1c2UgaXQgaW5zaWRlIGEgZGQsIGRyb3AtZG93biBkaXJlY3RpdmUgYXR0cmlidXRlXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGVtcGxhdGVSZWYgaXMgcmVxdWlyZWQhIFBsZWFzZSB1c2Ugd2l0aCAqZHJvcGRvd25Db250ZW50XCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFzdFBsYWNlbWVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gT2JzZXJ2YWJsZVV0aWxzLm11bHRpU3Vic2NyaXB0aW9uKFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5vblNob3duLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNyZWF0ZVZpZXcoKSksXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLm9uSGlkZGVuLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRlc3Ryb3lWaWV3KCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIHRoaXMub2JzZXJ2ZXI/LnVub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lWaWV3KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVZpZXcoaW5pdDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IG1vYmlsZVdpZHRoID0gdGhpcy5kcm9wZG93bi5tb2JpbGVWaWV3VW5kZXIgfHwgMDtcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy5kcm9wZG93bi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBbY29udGVudCwgYXJyb3dFbF0gPSB0aGlzLmNyZWF0ZVdyYXBwZXIoKTtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jb250ZW50RWxlbWVudCA9IGNvbnRlbnQ7XG4gICAgICAgIC8vIFNldCB1cCBmbG9hdGluZyBVSSBwb3NpdGlvbmluZyBzZXR0aW5nc1xuICAgICAgICBjb25zdCBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlW10gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd24uYXV0b1BsYWNlbWVudCkge1xuICAgICAgICAgICAgbWlkZGxld2FyZS5wdXNoKFxuICAgICAgICAgICAgICAgIGF1dG9QbGFjZW1lbnQodGhpcy5kcm9wZG93bi5hdXRvUGxhY2VtZW50KSxcbiAgICAgICAgICAgICAgICBzaGlmdCh7Ym91bmRhcnk6IHRoaXMuYXR0YWNoVG8sIGxpbWl0ZXI6IGxpbWl0U2hpZnQoKX0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIG1pZGRsZXdhcmUucHVzaChcbiAgICAgICAgICAgIGFycm93KHtlbGVtZW50OiBhcnJvd0VsfSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgY29tcHV0ZSA9IGFzeW5jICgpOiBQcm9taXNlPENvbXB1dGVSZXN1bHQ+ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzTW9iaWxlVmlldyA9IHdpbmRvdy5pbm5lcldpZHRoIDw9IG1vYmlsZVdpZHRoO1xuICAgICAgICAgICAgaWYgKGlzTW9iaWxlVmlldykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogXCIwcHhcIiwgdG9wOiBcIjBweFwiLCByaWdodDogXCIwcHhcIiwgYm90dG9tOiBcIjBweFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50OiBcInRvcFwiLFxuICAgICAgICAgICAgICAgICAgICBpc01vYmlsZVZpZXdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qge3gsIHksIHBsYWNlbWVudCwgbWlkZGxld2FyZURhdGF9ID0gYXdhaXQgY29tcHV0ZVBvc2l0aW9uKFxuICAgICAgICAgICAgICAgIHJlZixcbiAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc3RyYXRlZ3k6IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50OiB0aGlzLmRyb3Bkb3duLnBsYWNlbWVudCB8fCBcImJvdHRvbVwiLFxuICAgICAgICAgICAgICAgICAgICBtaWRkbGV3YXJlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdHlsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYCR7eH1weGAsIHRvcDogYCR7eX1weGAsIHJpZ2h0OiB1bmRlZmluZWQsIGJvdHRvbTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIGlzTW9iaWxlVmlldyxcbiAgICAgICAgICAgICAgICBtaWRkbGV3YXJlRGF0YVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICAvLyBTZXQgdXAgZmxvYXRpbmcgVUkgYXV0byB1cGRhdGVcbiAgICAgICAgdGhpcy5jbGVhblVwID0gYXV0b1VwZGF0ZShcbiAgICAgICAgICAgIHJlZixcbiAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29tcHV0ZSgpLnRoZW4oKHtzdHlsZXMsIHBsYWNlbWVudCwgaXNNb2JpbGVWaWV3LCBtaWRkbGV3YXJlRGF0YX0pID0+IHtcblxuICAgICAgICAgICAgICAgICAgICBpZiAobWlkZGxld2FyZURhdGE/LmFycm93KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7eCwgeX0gPSBtaWRkbGV3YXJlRGF0YS5hcnJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oYXJyb3dFbC5zdHlsZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHggIT0gbnVsbCA/IGAke3h9cHhgIDogYGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB5ICE9IG51bGwgPyBgJHt5fXB4YCA6IGBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGNvbnRlbnQuc3R5bGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IGluaXQgPyBcIjBcIiA6IFwiMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgekluZGV4OiBgdmFyKC0tZGQtei1pbmRleCwgMTAwKWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zdHlsZXNcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmUmVjdCA9IHJlZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudFJlY3QgPSBjb250ZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0UGxhY2VtZW50ID0gdGhpcy5sYXN0UGxhY2VtZW50O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdQbGFjZW1lbnQgPSBgZHJvcGRvd24tcGxhY2VtZW50LSR7cGxhY2VtZW50fWA7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXN0UGxhY2VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWYuY2xhc3NMaXN0LnJlcGxhY2UobGFzdFBsYWNlbWVudCwgbmV3UGxhY2VtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQuY2xhc3NMaXN0LnJlcGxhY2UobGFzdFBsYWNlbWVudCwgbmV3UGxhY2VtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZi5jbGFzc0xpc3QuYWRkKG5ld1BsYWNlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50LmNsYXNzTGlzdC5hZGQobmV3UGxhY2VtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNNb2JpbGVWaWV3KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50LmNsYXNzTGlzdC5hZGQoYGRyb3Bkb3duLWNvbnRlbnQtbW9iaWxlYCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50LmNsYXNzTGlzdC5yZW1vdmUoYGRyb3Bkb3duLWNvbnRlbnQtbW9iaWxlYCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmVjdFByb3BzLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLXRvZ2dsZS0ke3Byb3B9YCwgYCR7cmVmUmVjdFtwcm9wXX1weGApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmLnN0eWxlLnNldFByb3BlcnR5KGAtLWNvbnRlbnQtJHtwcm9wfWAsIGAke2NvbnRlbnRSZWN0W3Byb3BdfXB4YCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RQbGFjZW1lbnQgPSBuZXdQbGFjZW1lbnQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXN0cm95VmlldygpIHtcbiAgICAgICAgdGhpcy52Y3IuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jb250ZW50RWxlbWVudD8ucmVtb3ZlKCk7XG4gICAgICAgIHRoaXMuY2xlYW5VcD8uKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHdoZXJlVG9BdHRhY2goKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmRyb3Bkb3duLmF0dGFjaFRvO1xuICAgICAgICBpZiAodGFyZ2V0ID09PSBcInJvb3RcIiAmJiB0aGlzLnJvb3RFbGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb290RWxlbTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudFJlZikge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhbmNob3IgPSB0aGlzLnZjci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIHJldHVybiBhbmNob3I/LnBhcmVudEVsZW1lbnQgfHwgdGhpcy5yb290RWxlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlV3JhcHBlcigpIHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgIGNvbnN0IGFycm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZChgZHJvcGRvd24tY29udGVudC1hcnJvd2ApO1xuICAgICAgICBhcnJvdy5zdHlsZS5wb3NpdGlvbiA9IGBhYnNvbHV0ZWA7XG4gICAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQoYXJyb3cpO1xuICAgICAgICBjb25zdCByZWYgPSB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XG4gICAgICAgIHJlZi5yb290Tm9kZXMuZm9yRWFjaChub2RlID0+IHdyYXBwZXIuYXBwZW5kQ2hpbGQobm9kZSkpO1xuICAgICAgICByZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmF0dGFjaFRvID0gdGhpcy53aGVyZVRvQXR0YWNoKCk7XG4gICAgICAgIHRoaXMuYXR0YWNoVG8uYXBwZW5kQ2hpbGQod3JhcHBlcik7XG4gICAgICAgIHRoaXMuYXR0YWNoT3V0c2lkZSA9ICF0aGlzLmRyb3Bkb3duLm5hdGl2ZUVsZW1lbnQ/LmNvbnRhaW5zKHRoaXMuYXR0YWNoVG8pO1xuXG4gICAgICAgIGlmICh0aGlzLmF0dGFjaE91dHNpZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZVN0eWxlcyA9IGdldENzc1ZhcmlhYmxlcyh0aGlzLmRyb3Bkb3duLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlclN0eWxlcyA9IGdldENzc1ZhcmlhYmxlcyh3cmFwcGVyKTtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHJlZmVyZW5jZVN0eWxlcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghd3JhcHBlclN0eWxlc1trZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIHdyYXBwZXIuc3R5bGUuc2V0UHJvcGVydHkoa2V5LCByZWZlcmVuY2VTdHlsZXNba2V5XSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhdXRvUGxhY2VtZW50ID0gdGhpcy5kcm9wZG93bi5hdXRvUGxhY2VtZW50O1xuICAgICAgICBpZiAodGhpcy5sYXN0UGxhY2VtZW50KSB7XG4gICAgICAgICAgICB3cmFwcGVyLmNsYXNzTGlzdC5hZGQodGhpcy5sYXN0UGxhY2VtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXV0b1BsYWNlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgdmVydGljYWwgPSBhdXRvUGxhY2VtZW50LmFsbG93ZWRQbGFjZW1lbnRzLnNvbWUocCA9PiBwLmluY2x1ZGVzKFwidG9wXCIpIHx8IHAuaW5jbHVkZXMoXCJib3R0b21cIikpO1xuICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbCA9IGF1dG9QbGFjZW1lbnQuYWxsb3dlZFBsYWNlbWVudHMuc29tZShwID0+IHAuaW5jbHVkZXMoXCJsZWZ0XCIpIHx8IHAuaW5jbHVkZXMoXCJyaWdodFwiKSk7XG4gICAgICAgICAgICBpZiAodmVydGljYWwgJiYgaG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgICAgIHdyYXBwZXIuY2xhc3NMaXN0LmFkZChgZHJvcGRvd24tY29udGVudC1heGlzLWJvdGhgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXhpcyA9IHZlcnRpY2FsID8gXCJ2ZXJ0aWNhbFwiIDogXCJob3Jpem9udGFsXCI7XG4gICAgICAgICAgICAgICAgd3JhcHBlci5jbGFzc0xpc3QuYWRkKGBkcm9wZG93bi1jb250ZW50LWF4aXMtJHtheGlzfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHdyYXBwZXIuY2xhc3NMaXN0LmFkZChcImRyb3Bkb3duLWNvbnRlbnQtd3JhcFwiKTtcbiAgICAgICAgcmV0dXJuIFt3cmFwcGVyLCBhcnJvd107XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVWaWV3KHRydWUpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZGVzdHJveVZpZXcoKSk7XG4gICAgfVxufVxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvZHJvcGRvd24tY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFxQixRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFDSCxLQUFLLEVBQ0wsYUFBYSxFQUNiLFVBQVUsRUFDVixlQUFlLEVBQ2YsS0FBSyxFQUdPLFVBQVUsRUFDekIsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQUU5QyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBb0JoRCxNQUFNLE9BQU8sd0JBQXdCO0lBUWpDLFlBQXNCLEdBQXFCLEVBQ2EsUUFBcUIsRUFDM0MsUUFBMkIsRUFDNUIsV0FBNkI7UUFIeEMsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDYSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQzNDLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUZBQXlGLENBQUMsQ0FBQztRQUMvRyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElB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VG5DLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsS0FBSztvQkFDakIsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0I7OzBCQVVnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVk7OzBCQUMvQixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtcbiAgICBhcnJvdyxcbiAgICBhdXRvUGxhY2VtZW50LFxuICAgIGF1dG9VcGRhdGUsXG4gICAgY29tcHV0ZVBvc2l0aW9uLFxuICAgIHNoaWZ0LFxuICAgIE1pZGRsZXdhcmVEYXRhLFxuICAgIFBsYWNlbWVudCxcbiAgICBNaWRkbGV3YXJlLCBsaW1pdFNoaWZ0XG59IGZyb20gXCJAZmxvYXRpbmctdWkvZG9tXCI7XG5cbmltcG9ydCB7Uk9PVF9FTEVNRU5UfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XG5pbXBvcnQge0Ryb3Bkb3duRGlyZWN0aXZlfSBmcm9tIFwiLi9kcm9wZG93bi5kaXJlY3RpdmVcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZVV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JzZXJ2YWJsZS51dGlsc1wiO1xuaW1wb3J0IHtnZXRDc3NWYXJpYWJsZXN9IGZyb20gXCIuLi91dGlscy9taXNjXCI7XG5cbmNvbnN0IHJlY3RQcm9wcyA9IFtcInhcIiwgXCJ5XCIsIFwid2lkdGhcIiwgXCJoZWlnaHRcIl07XG5cbmludGVyZmFjZSBDb21wdXRlUmVzdWx0IHtcbiAgICBzdHlsZXM6IHtcbiAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIiB8IFwiYWJzb2x1dGVcIjtcbiAgICAgICAgbGVmdDogc3RyaW5nO1xuICAgICAgICB0b3A6IHN0cmluZztcbiAgICAgICAgcmlnaHQ6IHN0cmluZztcbiAgICAgICAgYm90dG9tOiBzdHJpbmc7XG4gICAgfSxcbiAgICBwbGFjZW1lbnQ6IFBsYWNlbWVudDtcbiAgICBpc01vYmlsZVZpZXc6IGJvb2xlYW47XG4gICAgbWlkZGxld2FyZURhdGE/OiBNaWRkbGV3YXJlRGF0YTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG4gICAgc2VsZWN0b3I6IFwiW2Ryb3Bkb3duQ29udGVudF1cIixcbiAgICBleHBvcnRBczogXCJkcm9wZG93bi1jb250ZW50XCIsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIHByb3RlY3RlZCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgYXR0YWNoVG86IEhUTUxFbGVtZW50O1xuICAgIHByb3RlY3RlZCBhdHRhY2hPdXRzaWRlOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBsYXN0UGxhY2VtZW50OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIGNsZWFuVXA6ICgpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdmNyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUk9PVF9FTEVNRU5UKSBwcm90ZWN0ZWQgcm9vdEVsZW06IEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBkcm9wZG93bjogRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcmVhZG9ubHkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEcm9wZG93bkRpcmVjdGl2ZSBpcyByZXF1aXJlZCEgUGxlYXNlIHVzZSBpdCBpbnNpZGUgYSBkZCwgZHJvcC1kb3duIGRpcmVjdGl2ZSBhdHRyaWJ1dGVcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUZW1wbGF0ZVJlZiBpcyByZXF1aXJlZCEgUGxlYXNlIHVzZSB3aXRoICpkcm9wZG93bkNvbnRlbnRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYXN0UGxhY2VtZW50ID0gbnVsbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBPYnNlcnZhYmxlVXRpbHMubXVsdGlTdWJzY3JpcHRpb24oXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLm9uU2hvd24uc3Vic2NyaWJlKCgpID0+IHRoaXMuY3JlYXRlVmlldygpKSxcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24ub25IaWRkZW4uc3Vic2NyaWJlKCgpID0+IHRoaXMuZGVzdHJveVZpZXcoKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveVZpZXcoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVmlldyhpbml0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd24uY29udGVudEVsZW1lbnQpIHJldHVybjtcbiAgICAgICAgY29uc3QgbW9iaWxlV2lkdGggPSB0aGlzLmRyb3Bkb3duLm1vYmlsZVZpZXdVbmRlciB8fCAwO1xuICAgICAgICBjb25zdCByZWYgPSB0aGlzLmRyb3Bkb3duLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IFtjb250ZW50LCBhcnJvd0VsXSA9IHRoaXMuY3JlYXRlV3JhcHBlcigpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duLmNvbnRlbnRFbGVtZW50ID0gY29udGVudDtcbiAgICAgICAgLy8gU2V0IHVwIGZsb2F0aW5nIFVJIHBvc2l0aW9uaW5nIHNldHRpbmdzXG4gICAgICAgIGNvbnN0IG1pZGRsZXdhcmU6IE1pZGRsZXdhcmVbXSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93bi5hdXRvUGxhY2VtZW50KSB7XG4gICAgICAgICAgICBtaWRkbGV3YXJlLnB1c2goXG4gICAgICAgICAgICAgICAgc2hpZnQoe1xuICAgICAgICAgICAgICAgICAgICBib3VuZGFyeTogdGhpcy5kcm9wZG93bi5ib3VuZGFyeSxcbiAgICAgICAgICAgICAgICAgICAgbGltaXRlcjogbGltaXRTaGlmdCgpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgYXV0b1BsYWNlbWVudCh0aGlzLmRyb3Bkb3duLmF1dG9QbGFjZW1lbnQpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBtaWRkbGV3YXJlLnB1c2goXG4gICAgICAgICAgICBhcnJvdyh7ZWxlbWVudDogYXJyb3dFbH0pXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNvbXB1dGUgPSBhc3luYyAoKTogUHJvbWlzZTxDb21wdXRlUmVzdWx0PiA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc01vYmlsZVZpZXcgPSB3aW5kb3cuaW5uZXJXaWR0aCA8PSBtb2JpbGVXaWR0aDtcbiAgICAgICAgICAgIGlmIChpc01vYmlsZVZpZXcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IFwiMHB4XCIsIHRvcDogXCIwcHhcIiwgcmlnaHQ6IFwiMHB4XCIsIGJvdHRvbTogXCIwcHhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBcImZpeGVkXCIsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogXCJ0b3BcIixcbiAgICAgICAgICAgICAgICAgICAgaXNNb2JpbGVWaWV3XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHt4LCB5LCBwbGFjZW1lbnQsIG1pZGRsZXdhcmVEYXRhfSA9IGF3YWl0IGNvbXB1dGVQb3NpdGlvbihcbiAgICAgICAgICAgICAgICByZWYsXG4gICAgICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0cmF0ZWd5OiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogdGhpcy5kcm9wZG93bi5wbGFjZW1lbnQgfHwgXCJib3R0b21cIixcbiAgICAgICAgICAgICAgICAgICAgbWlkZGxld2FyZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3R5bGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGAke3h9cHhgLCB0b3A6IGAke3l9cHhgLCByaWdodDogdW5kZWZpbmVkLCBib3R0b206IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICBpc01vYmlsZVZpZXcsXG4gICAgICAgICAgICAgICAgbWlkZGxld2FyZURhdGFcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2V0IHVwIGZsb2F0aW5nIFVJIGF1dG8gdXBkYXRlXG4gICAgICAgIHRoaXMuY2xlYW5VcCA9IGF1dG9VcGRhdGUoXG4gICAgICAgICAgICByZWYsXG4gICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXB1dGUoKS50aGVuKCh7c3R5bGVzLCBwbGFjZW1lbnQsIGlzTW9iaWxlVmlldywgbWlkZGxld2FyZURhdGF9KSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKG1pZGRsZXdhcmVEYXRhPy5hcnJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qge3gsIHl9ID0gbWlkZGxld2FyZURhdGEuYXJyb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGFycm93RWwuc3R5bGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB4ICE9IG51bGwgPyBgJHt4fXB4YCA6IGBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogeSAhPSBudWxsID8gYCR7eX1weGAgOiBgYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb250ZW50LnN0eWxlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBpbml0ID8gXCIwXCIgOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogYHZhcigtLWRkLXotaW5kZXgsIDEwMClgLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3R5bGVzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZlJlY3QgPSByZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWN0ID0gY29udGVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFBsYWNlbWVudCA9IHRoaXMubGFzdFBsYWNlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UGxhY2VtZW50ID0gYGRyb3Bkb3duLXBsYWNlbWVudC0ke3BsYWNlbWVudH1gO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdFBsYWNlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmLmNsYXNzTGlzdC5yZXBsYWNlKGxhc3RQbGFjZW1lbnQsIG5ld1BsYWNlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50LmNsYXNzTGlzdC5yZXBsYWNlKGxhc3RQbGFjZW1lbnQsIG5ld1BsYWNlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWYuY2xhc3NMaXN0LmFkZChuZXdQbGFjZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudC5jbGFzc0xpc3QuYWRkKG5ld1BsYWNlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzTW9iaWxlVmlldykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudC5jbGFzc0xpc3QucmVtb3ZlKGBkcm9wZG93bi1jb250ZW50LWRlc2t0b3BgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQuY2xhc3NMaXN0LmFkZChgZHJvcGRvd24tY29udGVudC1tb2JpbGVgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQuY2xhc3NMaXN0LmFkZChgZHJvcGRvd24tY29udGVudC1kZXNrdG9wYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50LmNsYXNzTGlzdC5yZW1vdmUoYGRyb3Bkb3duLWNvbnRlbnQtbW9iaWxlYCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmVjdFByb3BzLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLXRvZ2dsZS0ke3Byb3B9YCwgYCR7cmVmUmVjdFtwcm9wXX1weGApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmLnN0eWxlLnNldFByb3BlcnR5KGAtLWNvbnRlbnQtJHtwcm9wfWAsIGAke2NvbnRlbnRSZWN0W3Byb3BdfXB4YCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RQbGFjZW1lbnQgPSBuZXdQbGFjZW1lbnQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXN0cm95VmlldygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duLmNvbnRlbnRFbGVtZW50KSByZXR1cm47XG4gICAgICAgIHRoaXMuZHJvcGRvd24uY29udGVudEVsZW1lbnQucmVtb3ZlKCk7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uY29udGVudEVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0aGlzLnZjci5jbGVhcigpO1xuICAgICAgICB0aGlzLmNsZWFuVXA/LigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB3aGVyZVRvQXR0YWNoKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5kcm9wZG93bi5hdHRhY2hUbztcbiAgICAgICAgaWYgKHRhcmdldCA9PT0gXCJyb290XCIgJiYgdGhpcy5yb290RWxlbSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm9vdEVsZW07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy52Y3IuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICByZXR1cm4gYW5jaG9yPy5wYXJlbnRFbGVtZW50IHx8IHRoaXMucm9vdEVsZW07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVdyYXBwZXIoKSB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICBjb25zdCBhcnJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgIGFycm93LmNsYXNzTGlzdC5hZGQoYGRyb3Bkb3duLWNvbnRlbnQtYXJyb3dgKTtcbiAgICAgICAgYXJyb3cuc3R5bGUucG9zaXRpb24gPSBgYWJzb2x1dGVgO1xuICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKGFycm93KTtcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgICByZWYucm9vdE5vZGVzLmZvckVhY2gobm9kZSA9PiB3cmFwcGVyLmFwcGVuZENoaWxkKG5vZGUpKTtcbiAgICAgICAgcmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5hdHRhY2hUbyA9IHRoaXMud2hlcmVUb0F0dGFjaCgpO1xuICAgICAgICB0aGlzLmF0dGFjaFRvLmFwcGVuZENoaWxkKHdyYXBwZXIpO1xuICAgICAgICB0aGlzLmF0dGFjaE91dHNpZGUgPSAhdGhpcy5kcm9wZG93bi5uYXRpdmVFbGVtZW50Py5jb250YWlucyh0aGlzLmF0dGFjaFRvKTtcblxuICAgICAgICBpZiAodGhpcy5hdHRhY2hPdXRzaWRlKSB7XG4gICAgICAgICAgICBjb25zdCByZWZlcmVuY2VTdHlsZXMgPSBnZXRDc3NWYXJpYWJsZXModGhpcy5kcm9wZG93bi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJTdHlsZXMgPSBnZXRDc3NWYXJpYWJsZXMod3JhcHBlcik7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhyZWZlcmVuY2VTdHlsZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXdyYXBwZXJTdHlsZXNba2V5XSkge1xuICAgICAgICAgICAgICAgICAgICB3cmFwcGVyLnN0eWxlLnNldFByb3BlcnR5KGtleSwgcmVmZXJlbmNlU3R5bGVzW2tleV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXV0b1BsYWNlbWVudCA9IHRoaXMuZHJvcGRvd24uYXV0b1BsYWNlbWVudDtcbiAgICAgICAgaWYgKHRoaXMubGFzdFBsYWNlbWVudCkge1xuICAgICAgICAgICAgd3JhcHBlci5jbGFzc0xpc3QuYWRkKHRoaXMubGFzdFBsYWNlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGF1dG9QbGFjZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsID0gYXV0b1BsYWNlbWVudC5hbGxvd2VkUGxhY2VtZW50cy5zb21lKHAgPT4gcC5pbmNsdWRlcyhcInRvcFwiKSB8fCBwLmluY2x1ZGVzKFwiYm90dG9tXCIpKTtcbiAgICAgICAgICAgIGNvbnN0IGhvcml6b250YWwgPSBhdXRvUGxhY2VtZW50LmFsbG93ZWRQbGFjZW1lbnRzLnNvbWUocCA9PiBwLmluY2x1ZGVzKFwibGVmdFwiKSB8fCBwLmluY2x1ZGVzKFwicmlnaHRcIikpO1xuICAgICAgICAgICAgaWYgKHZlcnRpY2FsICYmIGhvcml6b250YWwpIHtcbiAgICAgICAgICAgICAgICB3cmFwcGVyLmNsYXNzTGlzdC5hZGQoYGRyb3Bkb3duLWNvbnRlbnQtYXhpcy1ib3RoYCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF4aXMgPSB2ZXJ0aWNhbCA/IFwidmVydGljYWxcIiA6IFwiaG9yaXpvbnRhbFwiO1xuICAgICAgICAgICAgICAgIHdyYXBwZXIuY2xhc3NMaXN0LmFkZChgZHJvcGRvd24tY29udGVudC1heGlzLSR7YXhpc31gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3cmFwcGVyLmNsYXNzTGlzdC5hZGQoXCJkcm9wZG93bi1jb250ZW50LXdyYXBcIik7XG4gICAgICAgIHJldHVybiBbd3JhcHBlciwgYXJyb3ddO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlVmlldyh0cnVlKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmRlc3Ryb3lWaWV3KCkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -23,6 +23,7 @@ export class DropdownDirective {
|
|
|
23
23
|
this.disabled = false;
|
|
24
24
|
this.closeInside = true;
|
|
25
25
|
this.attachTo = null;
|
|
26
|
+
this.boundary = "clippingAncestors";
|
|
26
27
|
this.mobileViewUnder = 0;
|
|
27
28
|
this.keyboardHandler = true;
|
|
28
29
|
this.onShown = new EventEmitter();
|
|
@@ -112,7 +113,7 @@ export class DropdownDirective {
|
|
|
112
113
|
return true;
|
|
113
114
|
}
|
|
114
115
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
115
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: { closeInside: "closeInside", attachTo: "attachTo", placement: "placement", autoPlacement: "autoPlacement", mobileViewUnder: "mobileViewUnder", keyboardHandler: "keyboardHandler", isDisabled: "isDisabled" }, outputs: { onShown: "onShown", onHidden: "onHidden", onKeyboard: "onKeyboard" }, host: { listeners: { "keydown.enter": "show($event)", "keydown.space": "show($event)" }, properties: { "class.open": "this.isOpened", "class.disabled": "this.getDisabled" } }, exportAs: ["dropdown"], ngImport: i0 }); }
|
|
116
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: { closeInside: "closeInside", attachTo: "attachTo", boundary: "boundary", placement: "placement", autoPlacement: "autoPlacement", mobileViewUnder: "mobileViewUnder", keyboardHandler: "keyboardHandler", isDisabled: "isDisabled" }, outputs: { onShown: "onShown", onHidden: "onHidden", onKeyboard: "onKeyboard" }, host: { listeners: { "keydown.enter": "show($event)", "keydown.space": "show($event)" }, properties: { "class.open": "this.isOpened", "class.disabled": "this.getDisabled" } }, exportAs: ["dropdown"], ngImport: i0 }); }
|
|
116
117
|
}
|
|
117
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownDirective, decorators: [{
|
|
118
119
|
type: Directive,
|
|
@@ -125,6 +126,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
125
126
|
type: Input
|
|
126
127
|
}], attachTo: [{
|
|
127
128
|
type: Input
|
|
129
|
+
}], boundary: [{
|
|
130
|
+
type: Input
|
|
128
131
|
}], placement: [{
|
|
129
132
|
type: Input
|
|
130
133
|
}], autoPlacement: [{
|
|
@@ -154,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
154
157
|
type: HostListener,
|
|
155
158
|
args: ["keydown.space", ["$event"]]
|
|
156
159
|
}] } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVN2SCxNQUFNLE9BQU8saUJBQWlCO2FBRVQsV0FBTSxHQUFzQixJQUFJLEFBQTFCLENBQTJCO0lBaURsRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFzQixPQUFnQztRQUFoQyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENB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Q0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDaEMsQ0FBQztRQUNMLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNQLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7K0dBcEtRLGlCQUFpQjttR0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxLQUFLO29CQUNqQixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsVUFBVTtpQkFDdkI7K0VBV1ksV0FBVztzQkFBbkIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUcsYUFBYTtzQkFBckIsS0FBSztnQkFNRyxlQUFlO3NCQUF2QixLQUFLO2dCQU1HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBWUgsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLFlBQVk7Z0JBTXJCLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTXpCLFVBQVU7c0JBRGIsS0FBSztnQkFrRU4sSUFBSTtzQkFGSCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtBdXRvUGxhY2VtZW50T3B0aW9ucywgUGxhY2VtZW50fSBmcm9tIFwiQGZsb2F0aW5nLXVpL2RvbVwiO1xuaW1wb3J0IHtEcm9wZG93bkF0dGFjaFRvfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxuICAgIHNlbGVjdG9yOiBcIltkZF0sW2Ryb3AtZG93bl1cIixcbiAgICBleHBvcnRBczogXCJkcm9wZG93blwiXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByb3RlY3RlZCBzdGF0aWMgYWN0aXZlOiBEcm9wZG93bkRpcmVjdGl2ZSA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgb3BlbmVkOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgdGhlIGRyb3Bkb3duIHNob3VsZCBiZSBjbG9zZWQgZXZlbiBpZiB3ZSBjbGljayBpbnNpZGUgaXRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjbG9zZUluc2lkZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgd2hlcmUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgbmVlZHMgdG8gYmUgcGxhY2VkXG4gICAgICovXG4gICAgQElucHV0KCkgYXR0YWNoVG86IERyb3Bkb3duQXR0YWNoVG87XG5cbiAgICAvKipcbiAgICAgKiBXaGVyZSB0byBwbGFjZSB0aGUgZmxvYXRpbmcgZWxlbWVudCByZWxhdGl2ZSB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KCkgcGxhY2VtZW50OiBQbGFjZW1lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgY2hvb3NpbmcgdGhlIHBsYWNlbWVudFxuICAgICAqIHRoYXQgaGFzIHRoZSBtb3N0IHNwYWNlIGF2YWlsYWJsZSBhdXRvbWF0aWNhbGx5LCB3aXRob3V0IG5lZWRpbmcgdG8gc3BlY2lmeSBhXG4gICAgICogcHJlZmVycmVkIHBsYWNlbWVudC4gQWx0ZXJuYXRpdmUgdG8gYGZsaXBgLlxuICAgICAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hdXRvUGxhY2VtZW50XG4gICAgICovXG4gICAgQElucHV0KCkgYXV0b1BsYWNlbWVudDogQXV0b1BsYWNlbWVudE9wdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBkcm9wZG93biBjb250ZW50IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gYSBmaXhlZCBmdWxsIHNjcmVlbiB2aWV3IHVuZGVyIHRoaXMgd2luZG93IHdpZHRoXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1vYmlsZVZpZXdVbmRlcjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiB0aGUgZHJvcGRvd24gc2hvdWxkIHJlYWN0IHRvIGtleXMgdG8gY2xvc2UgbGlrZSAnRXNjJ1xuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBrZXlib2FyZEhhbmRsZXI6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgb25TaG93bjogRXZlbnRFbWl0dGVyPERyb3Bkb3duRGlyZWN0aXZlPjtcbiAgICBAT3V0cHV0KCkgb25IaWRkZW46IEV2ZW50RW1pdHRlcjxEcm9wZG93bkRpcmVjdGl2ZT47XG4gICAgQE91dHB1dCgpIG9uS2V5Ym9hcmQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PjtcblxuICAgIGNvbnRlbnRFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb25DbGljazogKGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uS2V5RG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xuXG4gICAgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3Mub3BlblwiKVxuICAgIGdldCBpc09wZW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbmVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmRpc2FibGVkXCIpXG4gICAgZ2V0IGdldERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBpc0Rpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNsb3NlSW5zaWRlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hdHRhY2hUbyA9IG51bGw7XG4gICAgICAgIHRoaXMubW9iaWxlVmlld1VuZGVyID0gMDtcbiAgICAgICAgdGhpcy5rZXlib2FyZEhhbmRsZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uU2hvd24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAgICAgdGhpcy5vbkhpZGRlbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgICAgICB0aGlzLm9uS2V5Ym9hcmQgPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG4gICAgICAgIHRoaXMub25DbGljayA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgLy8gV2UgZG9uJ3QgY2FyZSBhYm91dCBjbGlja3Mgd2l0aCByaWdodC9jZW50ZXIgbW91c2UgYnV0dG9uc1xuICAgICAgICAgICAgaWYgKGV2ZW50LmJ1dHRvbikgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gKGV2ZW50LmNvbXBvc2VkUGF0aCgpPy5zaGlmdCgpIHx8IGV2ZW50LnRhcmdldCkgYXMgTm9kZTtcbiAgICAgICAgICAgIC8vIElmIGJsb2NrZWQgY2xvc2luZyBpbnNpZGUgd2Ugb25seSBjb25zaWRlciBpbnNpZGUgaWYgdGhlIHRhcmdldCBpcyBub3QgZGlyZWN0bHkgdGhlIGNvbnRlbnRFbGVtZW50XG4gICAgICAgICAgICAvLyBXZSBvbmx5IGhhdmUgYSBjb250ZW50RWxlbWVudCBpbiBjYXNlIHdoZW4gd2UgYXJlIHVzaW5nICpkcm9wZG93bkNvbnRlbnQgZGlyZWN0aXZlXG4gICAgICAgICAgICBpZiAoIXRoaXMuY2xvc2VJbnNpZGUgJiYgKCF0aGlzLmNvbnRlbnRFbGVtZW50IHx8IHRhcmdldCAhPT0gdGhpcy5jb250ZW50RWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAvLyBUcnkgdG8gZGV0ZXJtaW5lIGlmIHdlIGFyZSBpbnNpZGUgYnkgY29sbGVjdGluZyB0aGUgcG9zc2libGUgcGFyZW50IGVsZW1lbnRzIHRvIGNoZWNrXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50cyA9ICF0aGlzLmNvbnRlbnRFbGVtZW50ID8gW10gOiBBcnJheS5mcm9tKHRoaXMuY29udGVudEVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJlbnRzLnB1c2godGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gSWYgb25lIG9mIHRoZSBwYXJlbnRzIGNvbnRhaW5zIHRoZSB0YXJnZXQgdGhlbiB3ZSBjbGlja2VkIGluc2lkZVxuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRzLnNvbWUoY2hpbGQgPT4gY2hpbGQuY29udGFpbnModGFyZ2V0KSkpIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oaWRlKCksIGV2ZW50LnR5cGUgPT0gXCJ0b3VjaGVuZFwiID8gMjUwIDogMTAwKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5vbktleURvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBub3RJbnB1dCA9IGlucHV0ICYmIGlucHV0LnRhZ05hbWUgIT09IFwiSU5QVVRcIiAmJiBpbnB1dC50YWdOYW1lICE9PSBcIlRFWFRBUkVBXCI7XG4gICAgICAgICAgICBpZiAoXCJUYWJcIiA9PT0gZXZlbnQua2V5IHx8ICFpbnB1dCB8fCBub3RJbnB1dCkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoXCJFc2NcIiA9PT0gZXZlbnQua2V5IHx8IFwiRXNjYXBlXCIgPT09IGV2ZW50LmtleSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub25LZXlib2FyZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKERyb3Bkb3duRGlyZWN0aXZlLmFjdGl2ZSA9PT0gdGhpcykge1xuICAgICAgICAgICAgRHJvcGRvd25EaXJlY3RpdmUuYWN0aXZlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMub25IaWRkZW4uZW1pdCh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dFdmVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblNob3duLmVtaXQodGhpcyk7XG4gICAgfVxuXG4gICAgaGlkZUV2ZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uSGlkZGVuLmVtaXQodGhpcyk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImtleWRvd24uZW50ZXJcIiwgW1wiJGV2ZW50XCJdKVxuICAgIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duLnNwYWNlXCIsIFtcIiRldmVudFwiXSlcbiAgICBzaG93KCRldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCkgcmV0dXJuO1xuICAgICAgICBpZiAoJGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMua2V5Ym9hcmRIYW5kbGVyKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNob3dFdmVudCgpO1xuICAgICAgICBEcm9wZG93bkRpcmVjdGl2ZS5hY3RpdmUgPSB0aGlzO1xuICAgICAgICAvLyBQcmV2ZW50IHRvZ2dsZSBmcm9tIHNlbGVjdGluZyBhbiBpdGVtIHJpZ2h0IGFmdGVyIGl0IGlzIHNob3duXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm9wZW5lZCkgcmV0dXJuO1xuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMub25DbGljayk7XG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLm9uS2V5RG93bik7XG4gICAgICAgIH0sIDEwKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaGlkZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wZW5lZCkgcmV0dXJuIHRydWU7XG4gICAgICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGlkZUV2ZW50KCk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLm9uQ2xpY2spO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLm9uS2V5RG93bik7XG4gICAgICAgIC8vIFByZXZlbnQgdG9nZ2xlIGZyb20gcmVmb2N1cyBpdHNlbGYgYWZ0ZXIgaXQgaXMgaGlkZGVuIGJlY2F1c2Ugb2YgYW5vdGhlciB0b2dnbGVcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoRHJvcGRvd25EaXJlY3RpdmUuYWN0aXZlID09PSB0aGlzKSB7XG4gICAgICAgICAgICAgICAgRHJvcGRvd25EaXJlY3RpdmUuYWN0aXZlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVN2SCxNQUFNLE9BQU8saUJBQWlCO2FBRVQsV0FBTSxHQUFzQixJQUFJLEFBQTFCLENBQTJCO0lBc0RsRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFzQixPQUFnQztRQUFoQyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBaUIsRUFBUSxFQUFFO1lBQ3ZDLDZEQUE2RDtZQUM3RCxJQUFJLEtBQUssQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDekIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBUyxDQUFDO1lBQ3ZFLHFHQUFxRztZQUNyRyxxRkFBcUY7WUFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksTUFBTSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUNoRix3RkFBd0Y7Z0JBQ3hGLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZGLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDckMsQ0FBQztnQkFDRCxtRUFBbUU7Z0JBQ25FLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQUUsT0FBTztZQUM5RCxDQUFDO1lBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBUSxFQUFFO1lBQzVDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1lBQy9DLE1BQU0sUUFBUSxHQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQztZQUNwRixJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUM1QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQixDQUFDO1lBQ0QsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLEdBQUcsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1osT0FBTztZQUNYLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksaUJBQWlCLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3BDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBSUQsSUFBSSxDQUFDLE1BQWM7UUFDZixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUN4QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3ZDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLGdFQUFnRTtRQUNoRSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDekIsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsa0ZBQWtGO1FBQ2xGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLGlCQUFpQixDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDcEMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNoQyxDQUFDO1FBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzsrR0ExS1EsaUJBQWlCO21HQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBTDdCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxVQUFVO2lCQUN2QjsrRUFXWSxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUcsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQVlILFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxZQUFZO2dCQU1yQixXQUFXO3NCQURkLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixVQUFVO3NCQURiLEtBQUs7Z0JBbUVOLElBQUk7c0JBRkgsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN4QyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7QXV0b1BsYWNlbWVudE9wdGlvbnMsIEJvdW5kYXJ5LCBQbGFjZW1lbnR9IGZyb20gXCJAZmxvYXRpbmctdWkvZG9tXCI7XG5pbXBvcnQge0Ryb3Bkb3duQXR0YWNoVG99IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG4gICAgc2VsZWN0b3I6IFwiW2RkXSxbZHJvcC1kb3duXVwiLFxuICAgIGV4cG9ydEFzOiBcImRyb3Bkb3duXCJcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBhY3RpdmU6IERyb3Bkb3duRGlyZWN0aXZlID0gbnVsbDtcblxuICAgIHByb3RlY3RlZCBvcGVuZWQ6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiB0aGUgZHJvcGRvd24gc2hvdWxkIGJlIGNsb3NlZCBldmVuIGlmIHdlIGNsaWNrIGluc2lkZSBpdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGNsb3NlSW5zaWRlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyB3aGVyZSB0aGUgZmxvYXRpbmcgZWxlbWVudCBuZWVkcyB0byBiZSBwbGFjZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhdHRhY2hUbzogRHJvcGRvd25BdHRhY2hUbztcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgdGhlIGJvdW5kYXJ5IGVsZW1lbnQgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgd2hlbiBzaGlmdGluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGJvdW5kYXJ5OiBCb3VuZGFyeTtcblxuICAgIC8qKlxuICAgICAqIFdoZXJlIHRvIHBsYWNlIHRoZSBmbG9hdGluZyBlbGVtZW50IHJlbGF0aXZlIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwbGFjZW1lbnQ6IFBsYWNlbWVudDtcblxuICAgIC8qKlxuICAgICAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBjaG9vc2luZyB0aGUgcGxhY2VtZW50XG4gICAgICogdGhhdCBoYXMgdGhlIG1vc3Qgc3BhY2UgYXZhaWxhYmxlIGF1dG9tYXRpY2FsbHksIHdpdGhvdXQgbmVlZGluZyB0byBzcGVjaWZ5IGFcbiAgICAgKiBwcmVmZXJyZWQgcGxhY2VtZW50LiBBbHRlcm5hdGl2ZSB0byBgZmxpcGAuXG4gICAgICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2F1dG9QbGFjZW1lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhdXRvUGxhY2VtZW50OiBBdXRvUGxhY2VtZW50T3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgdGhlIGRyb3Bkb3duIGNvbnRlbnQgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBhIGZpeGVkIGZ1bGwgc2NyZWVuIHZpZXcgdW5kZXIgdGhpcyB3aW5kb3cgd2lkdGhcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgQElucHV0KCkgbW9iaWxlVmlld1VuZGVyOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBkcm9wZG93biBzaG91bGQgcmVhY3QgdG8ga2V5cyB0byBjbG9zZSBsaWtlICdFc2MnXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGtleWJvYXJkSGFuZGxlcjogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBvblNob3duOiBFdmVudEVtaXR0ZXI8RHJvcGRvd25EaXJlY3RpdmU+O1xuICAgIEBPdXRwdXQoKSBvbkhpZGRlbjogRXZlbnRFbWl0dGVyPERyb3Bkb3duRGlyZWN0aXZlPjtcbiAgICBAT3V0cHV0KCkgb25LZXlib2FyZDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+O1xuXG4gICAgY29udGVudEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvbkNsaWNrOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25LZXlEb3duOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHZvaWQ7XG5cbiAgICBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5vcGVuXCIpXG4gICAgZ2V0IGlzT3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuZGlzYWJsZWRcIilcbiAgICBnZXQgZ2V0RGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2xvc2VJbnNpZGUgPSB0cnVlO1xuICAgICAgICB0aGlzLmF0dGFjaFRvID0gbnVsbDtcbiAgICAgICAgdGhpcy5ib3VuZGFyeSA9IFwiY2xpcHBpbmdBbmNlc3RvcnNcIjtcbiAgICAgICAgdGhpcy5tb2JpbGVWaWV3VW5kZXIgPSAwO1xuICAgICAgICB0aGlzLmtleWJvYXJkSGFuZGxlciA9IHRydWU7XG4gICAgICAgIHRoaXMub25TaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgICAgICB0aGlzLm9uSGlkZGVuID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgICAgIHRoaXMub25LZXlib2FyZCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcbiAgICAgICAgdGhpcy5vbkNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAvLyBXZSBkb24ndCBjYXJlIGFib3V0IGNsaWNrcyB3aXRoIHJpZ2h0L2NlbnRlciBtb3VzZSBidXR0b25zXG4gICAgICAgICAgICBpZiAoZXZlbnQuYnV0dG9uKSByZXR1cm47XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSAoZXZlbnQuY29tcG9zZWRQYXRoKCk/LnNoaWZ0KCkgfHwgZXZlbnQudGFyZ2V0KSBhcyBOb2RlO1xuICAgICAgICAgICAgLy8gSWYgYmxvY2tlZCBjbG9zaW5nIGluc2lkZSB3ZSBvbmx5IGNvbnNpZGVyIGluc2lkZSBpZiB0aGUgdGFyZ2V0IGlzIG5vdCBkaXJlY3RseSB0aGUgY29udGVudEVsZW1lbnRcbiAgICAgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBhIGNvbnRlbnRFbGVtZW50IGluIGNhc2Ugd2hlbiB3ZSBhcmUgdXNpbmcgKmRyb3Bkb3duQ29udGVudCBkaXJlY3RpdmVcbiAgICAgICAgICAgIGlmICghdGhpcy5jbG9zZUluc2lkZSAmJiAoIXRoaXMuY29udGVudEVsZW1lbnQgfHwgdGFyZ2V0ICE9PSB0aGlzLmNvbnRlbnRFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIC8vIFRyeSB0byBkZXRlcm1pbmUgaWYgd2UgYXJlIGluc2lkZSBieSBjb2xsZWN0aW5nIHRoZSBwb3NzaWJsZSBwYXJlbnQgZWxlbWVudHMgdG8gY2hlY2tcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRzID0gIXRoaXMuY29udGVudEVsZW1lbnQgPyBbXSA6IEFycmF5LmZyb20odGhpcy5jb250ZW50RWxlbWVudC5jaGlsZE5vZGVzKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudHMucHVzaCh0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBJZiBvbmUgb2YgdGhlIHBhcmVudHMgY29udGFpbnMgdGhlIHRhcmdldCB0aGVuIHdlIGNsaWNrZWQgaW5zaWRlXG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudHMuc29tZShjaGlsZCA9PiBjaGlsZC5jb250YWlucyh0YXJnZXQpKSkgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGUoKSwgZXZlbnQudHlwZSA9PSBcInRvdWNoZW5kXCIgPyAyNTAgOiAxMDApO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLm9uS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IG5vdElucHV0ID0gaW5wdXQgJiYgaW5wdXQudGFnTmFtZSAhPT0gXCJJTlBVVFwiICYmIGlucHV0LnRhZ05hbWUgIT09IFwiVEVYVEFSRUFcIjtcbiAgICAgICAgICAgIGlmIChcIlRhYlwiID09PSBldmVudC5rZXkgfHwgIWlucHV0IHx8IG5vdElucHV0KSB7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChcIkVzY1wiID09PSBldmVudC5rZXkgfHwgXCJFc2NhcGVcIiA9PT0gZXZlbnQua2V5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbktleWJvYXJkLmVtaXQoZXZlbnQpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoRHJvcGRvd25EaXJlY3RpdmUuYWN0aXZlID09PSB0aGlzKSB7XG4gICAgICAgICAgICBEcm9wZG93bkRpcmVjdGl2ZS5hY3RpdmUgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5vbkhpZGRlbi5lbWl0KHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd0V2ZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uU2hvd24uZW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBoaWRlRXZlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25IaWRkZW4uZW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwia2V5ZG93bi5lbnRlclwiLCBbXCIkZXZlbnRcIl0pXG4gICAgQEhvc3RMaXN0ZW5lcihcImtleWRvd24uc3BhY2VcIiwgW1wiJGV2ZW50XCJdKVxuICAgIHNob3coJGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMub3BlbmVkKSByZXR1cm47XG4gICAgICAgIGlmICgkZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5rZXlib2FyZEhhbmRsZXIpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybiB0cnVlO1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2hvd0V2ZW50KCk7XG4gICAgICAgIERyb3Bkb3duRGlyZWN0aXZlLmFjdGl2ZSA9IHRoaXM7XG4gICAgICAgIC8vIFByZXZlbnQgdG9nZ2xlIGZyb20gc2VsZWN0aW5nIGFuIGl0ZW0gcmlnaHQgYWZ0ZXIgaXQgaXMgc2hvd25cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMub3BlbmVkKSByZXR1cm47XG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5vbkNsaWNrKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25LZXlEb3duKTtcbiAgICAgICAgfSwgMTApO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBoaWRlKCkge1xuICAgICAgICBpZiAoIXRoaXMub3BlbmVkKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oaWRlRXZlbnQoKTtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMub25DbGljayk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25LZXlEb3duKTtcbiAgICAgICAgLy8gUHJldmVudCB0b2dnbGUgZnJvbSByZWZvY3VzIGl0c2VsZiBhZnRlciBpdCBpcyBoaWRkZW4gYmVjYXVzZSBvZiBhbm90aGVyIHRvZ2dsZVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChEcm9wZG93bkRpcmVjdGl2ZS5hY3RpdmUgPT09IHRoaXMpIHtcbiAgICAgICAgICAgICAgICBEcm9wZG93bkRpcmVjdGl2ZS5hY3RpdmUgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTApO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -17,7 +17,7 @@ import JSON5 from 'json5';
|
|
|
17
17
|
import * as i1$2 from '@angular/platform-browser';
|
|
18
18
|
import { ɵDomEventsPlugin as _DomEventsPlugin, EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
|
|
19
19
|
import elementResizeDetectorMaker from 'element-resize-detector';
|
|
20
|
-
import {
|
|
20
|
+
import { shift, limitShift, autoPlacement, arrow, computePosition, autoUpdate } from '@floating-ui/dom';
|
|
21
21
|
import * as i2$1 from '@angular/forms';
|
|
22
22
|
import { FormsModule } from '@angular/forms';
|
|
23
23
|
|
|
@@ -4669,6 +4669,7 @@ class DropdownDirective {
|
|
|
4669
4669
|
this.disabled = false;
|
|
4670
4670
|
this.closeInside = true;
|
|
4671
4671
|
this.attachTo = null;
|
|
4672
|
+
this.boundary = "clippingAncestors";
|
|
4672
4673
|
this.mobileViewUnder = 0;
|
|
4673
4674
|
this.keyboardHandler = true;
|
|
4674
4675
|
this.onShown = new EventEmitter();
|
|
@@ -4758,7 +4759,7 @@ class DropdownDirective {
|
|
|
4758
4759
|
return true;
|
|
4759
4760
|
}
|
|
4760
4761
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4761
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: { closeInside: "closeInside", attachTo: "attachTo", placement: "placement", autoPlacement: "autoPlacement", mobileViewUnder: "mobileViewUnder", keyboardHandler: "keyboardHandler", isDisabled: "isDisabled" }, outputs: { onShown: "onShown", onHidden: "onHidden", onKeyboard: "onKeyboard" }, host: { listeners: { "keydown.enter": "show($event)", "keydown.space": "show($event)" }, properties: { "class.open": "this.isOpened", "class.disabled": "this.getDisabled" } }, exportAs: ["dropdown"], ngImport: i0 }); }
|
|
4762
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: { closeInside: "closeInside", attachTo: "attachTo", boundary: "boundary", placement: "placement", autoPlacement: "autoPlacement", mobileViewUnder: "mobileViewUnder", keyboardHandler: "keyboardHandler", isDisabled: "isDisabled" }, outputs: { onShown: "onShown", onHidden: "onHidden", onKeyboard: "onKeyboard" }, host: { listeners: { "keydown.enter": "show($event)", "keydown.space": "show($event)" }, properties: { "class.open": "this.isOpened", "class.disabled": "this.getDisabled" } }, exportAs: ["dropdown"], ngImport: i0 }); }
|
|
4762
4763
|
}
|
|
4763
4764
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownDirective, decorators: [{
|
|
4764
4765
|
type: Directive,
|
|
@@ -4771,6 +4772,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
4771
4772
|
type: Input
|
|
4772
4773
|
}], attachTo: [{
|
|
4773
4774
|
type: Input
|
|
4775
|
+
}], boundary: [{
|
|
4776
|
+
type: Input
|
|
4774
4777
|
}], placement: [{
|
|
4775
4778
|
type: Input
|
|
4776
4779
|
}], autoPlacement: [{
|
|
@@ -4820,11 +4823,12 @@ class DropdownContentDirective {
|
|
|
4820
4823
|
this.subscription = ObservableUtils.multiSubscription(this.dropdown.onShown.subscribe(() => this.createView()), this.dropdown.onHidden.subscribe(() => this.destroyView()));
|
|
4821
4824
|
}
|
|
4822
4825
|
ngOnDestroy() {
|
|
4823
|
-
// this.observer?.unobserve(this.element.nativeElement);
|
|
4824
4826
|
this.subscription?.unsubscribe();
|
|
4825
4827
|
this.destroyView();
|
|
4826
4828
|
}
|
|
4827
4829
|
createView(init = false) {
|
|
4830
|
+
if (this.dropdown.contentElement)
|
|
4831
|
+
return;
|
|
4828
4832
|
const mobileWidth = this.dropdown.mobileViewUnder || 0;
|
|
4829
4833
|
const ref = this.dropdown.nativeElement;
|
|
4830
4834
|
const [content, arrowEl] = this.createWrapper();
|
|
@@ -4832,7 +4836,10 @@ class DropdownContentDirective {
|
|
|
4832
4836
|
// Set up floating UI positioning settings
|
|
4833
4837
|
const middleware = [];
|
|
4834
4838
|
if (this.dropdown.autoPlacement) {
|
|
4835
|
-
middleware.push(
|
|
4839
|
+
middleware.push(shift({
|
|
4840
|
+
boundary: this.dropdown.boundary,
|
|
4841
|
+
limiter: limitShift()
|
|
4842
|
+
}), autoPlacement(this.dropdown.autoPlacement));
|
|
4836
4843
|
}
|
|
4837
4844
|
middleware.push(arrow({ element: arrowEl }));
|
|
4838
4845
|
const compute = async () => {
|
|
@@ -4890,9 +4897,11 @@ class DropdownContentDirective {
|
|
|
4890
4897
|
content.classList.add(newPlacement);
|
|
4891
4898
|
}
|
|
4892
4899
|
if (isMobileView) {
|
|
4900
|
+
content.classList.remove(`dropdown-content-desktop`);
|
|
4893
4901
|
content.classList.add(`dropdown-content-mobile`);
|
|
4894
4902
|
}
|
|
4895
4903
|
else {
|
|
4904
|
+
content.classList.add(`dropdown-content-desktop`);
|
|
4896
4905
|
content.classList.remove(`dropdown-content-mobile`);
|
|
4897
4906
|
}
|
|
4898
4907
|
rectProps.forEach(prop => {
|
|
@@ -4904,8 +4913,11 @@ class DropdownContentDirective {
|
|
|
4904
4913
|
});
|
|
4905
4914
|
}
|
|
4906
4915
|
destroyView() {
|
|
4916
|
+
if (!this.dropdown.contentElement)
|
|
4917
|
+
return;
|
|
4918
|
+
this.dropdown.contentElement.remove();
|
|
4919
|
+
this.dropdown.contentElement = null;
|
|
4907
4920
|
this.vcr.clear();
|
|
4908
|
-
this.dropdown.contentElement?.remove();
|
|
4909
4921
|
this.cleanUp?.();
|
|
4910
4922
|
}
|
|
4911
4923
|
whereToAttach() {
|
|
@@ -5628,7 +5640,7 @@ class DropdownBoxComponent {
|
|
|
5628
5640
|
this.makeAutoPlacementOpts();
|
|
5629
5641
|
}
|
|
5630
5642
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5631
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownBoxComponent, selector: "dropdown-box", inputs: { closeInside: "closeInside", attachTo: "attachTo", placement: "placement", crossAxis: "crossAxis", alignment: "alignment", autoAlignment: "autoAlignment", allowedPlacements: "allowedPlacements", componentClass: "componentClass" }, viewQueries: [{ propertyName: "content", first: true, predicate: DropdownContentDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div dd class=\"dropdown-box\"\n [ngClass]=\"componentClass\"\n [closeInside]=\"closeInside\"\n [attachTo]=\"attachTo\"\n [placement]=\"placement\"\n [autoPlacement]=\"autoPlacement\">\n <div class=\"dropdown-box-toggle\" dropdownToggle>\n <a class=\"dropdown-box-toggle-link\">\n <ng-content select=\"[toggle-content]\"></ng-content>\n </a>\n </div>\n <div class=\"dropdown-box-content\" [ngClass]=\"componentClass + '-content-wrapper'\" *dropdownContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".dropdown-box{--dd-border-size: var(--border-size, 1px);--dd-border-radius: 5px;--dd-top-border-radius: var(--dd-border-radius) var(--dd-border-radius) 0 0;--dd-bottom-border-radius: 0 0 var(--dd-border-radius) var(--dd-border-radius);--dd-bg-color: var(--bg-color, #ffffff);--dd-border-color: var(--border-color, #ced4da);--dd-highlight-color: var(--highlight-color, var(--primary-color, #888888));--dd-highlight-text-color: var(--highlight-text-color, #ffffff);--dd-text-color: var(--text-color, #151515);--dd-arrow-size: var(--arrow-size, 6px);--dd-arrow-space: calc(var(--dd-arrow-size) * .5 + 1px);--dd-arrow-color: currentColor;--dd-arrow-rotation: 90;position:relative;z-index:2;display:inline-block;width:var(--content-width, 0);min-width:fit-content}.dropdown-box *{box-sizing:border-box}.dropdown-box a,.dropdown-box span{white-space:nowrap}.dropdown-box.table-sort-dropdown{display:none}.dropdown-box.table-sort-dropdown .table-toggle:hover,.dropdown-box li:hover,.dropdown-box li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-box.open{--dd-arrow-rotation: -90}.dropdown-box.open .dropdown-box-toggle{border-radius:var(--dd-top-border-radius)}.dropdown-box-toggle{min-width:fit-content;background:var(--dd-bg-color);color:var(--dd-text-color);cursor:pointer;border:var(--dd-border-size) solid var(--dd-border-color);border-radius:5px;padding:6px 12px;-webkit-user-select:none;user-select:none;font-weight:400;font-size:var(--table-input-font-size, 15px);line-height:var(--table-input-line-height, 18px);outline:none}.dropdown-box-toggle .toggle-placeholder{color:#495057}.dropdown-box-toggle a.dropdown-box-toggle-link{margin-right:calc(2 * var(--dd-arrow-size));padding-right:5px;min-width:fit-content;position:relative;display:block}.dropdown-box-toggle a.dropdown-box-toggle-link:after{content:\"\";position:absolute;left:calc(100% + var(--dd-arrow-size));top:calc(50% - var(--dd-arrow-size));border-top:var(--dd-arrow-size) solid transparent;border-bottom:var(--dd-arrow-size) solid transparent;border-left:var(--dd-arrow-size) solid var(--dd-arrow-color);transform:rotate(calc(var(--dd-arrow-rotation) * 1deg));transition:.2s ease}.dropdown-box-content{position:relative;z-index:1;min-width:var(--toggle-width, 0)}.dropdown-box-content *{box-sizing:border-box}.dropdown-box-content ul{margin:0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);border-top-width:0;z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-bottom-border-radius);overflow:hidden;min-width:fit-content}.dropdown-box-content li{color:var(--dd-text-color);font-weight:400;text-align:left;min-width:fit-content;cursor:pointer;padding:6px 12px;-webkit-user-select:none;user-select:none}.dropdown-box-content li:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-placement-top.open .dropdown-box-toggle{border-radius:var(--dd-bottom-border-radius)}.dropdown-placement-top .dropdown-box-content ul{border-top-width:var(--dd-border-size);border-bottom-width:0;border-radius:var(--dd-top-border-radius)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: ["closeInside", "attachTo", "placement", "autoPlacement", "mobileViewUnder", "keyboardHandler", "isDisabled"], outputs: ["onShown", "onHidden", "onKeyboard"], exportAs: ["dropdown"] }, { kind: "directive", type: DropdownContentDirective, selector: "[dropdownContent]", exportAs: ["dropdown-content"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[dropdownToggle]", inputs: ["beforeOpen", "switch"], exportAs: ["dropdown-toggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
5643
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownBoxComponent, selector: "dropdown-box", inputs: { closeInside: "closeInside", attachTo: "attachTo", placement: "placement", crossAxis: "crossAxis", alignment: "alignment", autoAlignment: "autoAlignment", allowedPlacements: "allowedPlacements", componentClass: "componentClass" }, viewQueries: [{ propertyName: "content", first: true, predicate: DropdownContentDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div dd class=\"dropdown-box\"\n [ngClass]=\"componentClass\"\n [closeInside]=\"closeInside\"\n [attachTo]=\"attachTo\"\n [placement]=\"placement\"\n [autoPlacement]=\"autoPlacement\">\n <div class=\"dropdown-box-toggle\" dropdownToggle>\n <a class=\"dropdown-box-toggle-link\">\n <ng-content select=\"[toggle-content]\"></ng-content>\n </a>\n </div>\n <div class=\"dropdown-box-content\" [ngClass]=\"componentClass + '-content-wrapper'\" *dropdownContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".dropdown-box{--dd-border-size: var(--border-size, 1px);--dd-border-radius: 5px;--dd-top-border-radius: var(--dd-border-radius) var(--dd-border-radius) 0 0;--dd-bottom-border-radius: 0 0 var(--dd-border-radius) var(--dd-border-radius);--dd-bg-color: var(--bg-color, #ffffff);--dd-border-color: var(--border-color, #ced4da);--dd-highlight-color: var(--highlight-color, var(--primary-color, #888888));--dd-highlight-text-color: var(--highlight-text-color, #ffffff);--dd-text-color: var(--text-color, #151515);--dd-arrow-size: var(--arrow-size, 6px);--dd-arrow-space: calc(var(--dd-arrow-size) * .5 + 1px);--dd-arrow-color: currentColor;--dd-arrow-rotation: 90;position:relative;z-index:2;display:inline-block;width:var(--content-width, 0);min-width:fit-content}.dropdown-box *{box-sizing:border-box}.dropdown-box a,.dropdown-box span{white-space:nowrap}.dropdown-box.table-sort-dropdown{display:none}.dropdown-box.table-sort-dropdown .table-toggle:hover,.dropdown-box li:hover,.dropdown-box li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-box.open{--dd-arrow-rotation: -90}.dropdown-box.open .dropdown-box-toggle{border-radius:var(--dd-top-border-radius)}.dropdown-box-toggle{min-width:fit-content;background:var(--dd-bg-color);color:var(--dd-text-color);cursor:pointer;border:var(--dd-border-size) solid var(--dd-border-color);border-radius:5px;padding:6px 12px;-webkit-user-select:none;user-select:none;font-weight:400;font-size:var(--table-input-font-size, 15px);line-height:var(--table-input-line-height, 18px);outline:none}.dropdown-box-toggle .toggle-placeholder{color:#495057}.dropdown-box-toggle a.dropdown-box-toggle-link{margin-right:calc(2 * var(--dd-arrow-size));padding-right:5px;min-width:fit-content;position:relative;display:block}.dropdown-box-toggle a.dropdown-box-toggle-link:after{content:\"\";position:absolute;left:calc(100% + var(--dd-arrow-size));top:calc(50% - var(--dd-arrow-size));border-top:var(--dd-arrow-size) solid transparent;border-bottom:var(--dd-arrow-size) solid transparent;border-left:var(--dd-arrow-size) solid var(--dd-arrow-color);transform:rotate(calc(var(--dd-arrow-rotation) * 1deg));transition:.2s ease}.dropdown-box-content{position:relative;z-index:1;min-width:var(--toggle-width, 0)}.dropdown-box-content *{box-sizing:border-box}.dropdown-box-content ul{margin:0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);border-top-width:0;z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-bottom-border-radius);overflow:hidden;min-width:fit-content}.dropdown-box-content li{color:var(--dd-text-color);font-weight:400;text-align:left;min-width:fit-content;cursor:pointer;padding:6px 12px;-webkit-user-select:none;user-select:none}.dropdown-box-content li:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-placement-top.open .dropdown-box-toggle{border-radius:var(--dd-bottom-border-radius)}.dropdown-placement-top .dropdown-box-content ul{border-top-width:var(--dd-border-size);border-bottom-width:0;border-radius:var(--dd-top-border-radius)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: ["closeInside", "attachTo", "boundary", "placement", "autoPlacement", "mobileViewUnder", "keyboardHandler", "isDisabled"], outputs: ["onShown", "onHidden", "onKeyboard"], exportAs: ["dropdown"] }, { kind: "directive", type: DropdownContentDirective, selector: "[dropdownContent]", exportAs: ["dropdown-content"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[dropdownToggle]", inputs: ["beforeOpen", "switch"], exportAs: ["dropdown-toggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
5632
5644
|
}
|
|
5633
5645
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownBoxComponent, decorators: [{
|
|
5634
5646
|
type: Component,
|