pdm-ui-kit 0.1.50 → 0.3.0
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/README.md +356 -4
- package/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +3 -3
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +37 -4
- package/esm2020/lib/components/button-group/button-group.component.mjs +208 -182
- package/esm2020/lib/components/calendar/calendar.component.mjs +3 -3
- package/esm2020/lib/components/card/card.component.mjs +36 -53
- package/esm2020/lib/components/combobox/combobox.component.mjs +136 -14
- package/esm2020/lib/components/command/command.component.mjs +3 -3
- package/esm2020/lib/components/context-menu/context-menu.component.mjs +121 -42
- package/esm2020/lib/components/data-table/data-table.component.mjs +214 -16
- package/esm2020/lib/components/date-picker/date-picker.component.mjs +66 -54
- package/esm2020/lib/components/dialog/dialog.component.mjs +171 -38
- package/esm2020/lib/components/draggable-table/draggable-table.component.mjs +300 -0
- package/esm2020/lib/components/drawer/drawer.component.mjs +123 -16
- package/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +3 -2
- package/esm2020/lib/components/hover-card/hover-card.component.mjs +185 -24
- package/esm2020/lib/components/input/input.component.mjs +15 -15
- package/esm2020/lib/components/input-group/input-group.component.mjs +14 -14
- package/esm2020/lib/components/menubar/menubar.component.mjs +105 -29
- package/esm2020/lib/components/navigation-menu/navigation-menu.component.mjs +25 -3
- package/esm2020/lib/components/pagination/pagination.component.mjs +3 -3
- package/esm2020/lib/components/popover/popover.component.mjs +107 -73
- package/esm2020/lib/components/select/select.component.mjs +26 -23
- package/esm2020/lib/components/sheet/sheet.component.mjs +68 -12
- package/esm2020/lib/components/sidebar/sidebar.component.mjs +52 -5
- package/esm2020/lib/components/table/table.component.mjs +165 -192
- package/esm2020/lib/components/tabs/tabs.component.mjs +6 -6
- package/esm2020/lib/components/toggle-group/toggle-group.component.mjs +6 -6
- package/esm2020/lib/components/tooltip/tooltip.component.mjs +162 -19
- package/esm2020/lib/overlay/z-index-helper.mjs +69 -0
- package/esm2020/lib/pdm-ui-kit.module.mjs +5 -1
- package/esm2020/lib/utils/responsive.mjs +143 -0
- package/esm2020/lib/utils/z-index.mjs +90 -0
- package/esm2020/public-api.mjs +67 -63
- package/fesm2015/pdm-ui-kit.mjs +2628 -847
- package/fesm2015/pdm-ui-kit.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit.mjs +2630 -845
- package/fesm2020/pdm-ui-kit.mjs.map +1 -1
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +23 -1
- package/lib/components/button-group/button-group.component.d.ts +8 -2
- package/lib/components/card/card.component.d.ts +32 -19
- package/lib/components/combobox/combobox.component.d.ts +20 -3
- package/lib/components/context-menu/context-menu.component.d.ts +17 -8
- package/lib/components/data-table/data-table.component.d.ts +172 -14
- package/lib/components/date-picker/date-picker.component.d.ts +5 -6
- package/lib/components/dialog/dialog.component.d.ts +38 -4
- package/lib/components/draggable-table/draggable-table.component.d.ts +74 -0
- package/lib/components/drawer/drawer.component.d.ts +65 -7
- package/lib/components/hover-card/hover-card.component.d.ts +27 -4
- package/lib/components/input/input.component.d.ts +3 -3
- package/lib/components/input-group/input-group.component.d.ts +1 -1
- package/lib/components/menubar/menubar.component.d.ts +16 -8
- package/lib/components/navigation-menu/navigation-menu.component.d.ts +22 -1
- package/lib/components/popover/popover.component.d.ts +13 -12
- package/lib/components/select/select.component.d.ts +4 -5
- package/lib/components/sheet/sheet.component.d.ts +30 -3
- package/lib/components/sidebar/sidebar.component.d.ts +39 -1
- package/lib/components/table/table.component.d.ts +47 -26
- package/lib/components/tabs/tabs.component.d.ts +1 -1
- package/lib/components/toggle-group/toggle-group.component.d.ts +1 -1
- package/lib/components/tooltip/tooltip.component.d.ts +21 -3
- package/lib/overlay/z-index-helper.d.ts +36 -0
- package/lib/pdm-ui-kit.module.d.ts +42 -41
- package/lib/utils/responsive.d.ts +107 -0
- package/lib/utils/z-index.d.ts +69 -0
- package/package.json +10 -8
- package/public-api.d.ts +66 -62
- package/src/lib/styles/tokens.css +182 -0
|
@@ -1,51 +1,43 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild } from
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild, } from "@angular/core";
|
|
2
|
+
import { TemplatePortal } from "@angular/cdk/portal";
|
|
3
|
+
import { mergeOverlayPanelClass, OVERLAY_BASE_Z_INDEX, } from "../../overlay/z-index-helper";
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/
|
|
5
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
4
7
|
export class PdmPopoverComponent {
|
|
5
|
-
constructor(elementRef, cdr) {
|
|
8
|
+
constructor(overlay, viewContainerRef, elementRef, cdr) {
|
|
9
|
+
this.overlay = overlay;
|
|
10
|
+
this.viewContainerRef = viewContainerRef;
|
|
6
11
|
this.elementRef = elementRef;
|
|
7
12
|
this.cdr = cdr;
|
|
8
13
|
this._open = false;
|
|
9
|
-
this.triggerText =
|
|
10
|
-
this.className =
|
|
11
|
-
this.panelClassName =
|
|
14
|
+
this.triggerText = "Open";
|
|
15
|
+
this.className = "";
|
|
16
|
+
this.panelClassName = "";
|
|
12
17
|
this.showTrigger = true;
|
|
13
18
|
this.openChange = new EventEmitter();
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.boundPointerDown = (event) => this.onDocumentPointerDown(event);
|
|
18
|
-
document.addEventListener('pointerdown', this.boundPointerDown, { capture: true });
|
|
19
|
+
this.overlayRef = null;
|
|
20
|
+
this.outsideClickSub = null;
|
|
19
21
|
}
|
|
22
|
+
ngOnInit() { }
|
|
20
23
|
ngOnDestroy() {
|
|
21
|
-
|
|
22
|
-
document.removeEventListener('pointerdown', this.boundPointerDown, { capture: true });
|
|
23
|
-
}
|
|
24
|
+
this.destroyOverlay();
|
|
24
25
|
}
|
|
25
26
|
set open(value) {
|
|
26
|
-
this._open
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
if (this._open === !!value)
|
|
28
|
+
return;
|
|
29
|
+
if (value) {
|
|
30
|
+
this.openPanel();
|
|
29
31
|
}
|
|
30
32
|
else {
|
|
31
|
-
this.
|
|
33
|
+
this.closePanel();
|
|
32
34
|
}
|
|
33
|
-
this.cdr.markForCheck();
|
|
34
35
|
}
|
|
35
36
|
get open() {
|
|
36
37
|
return this._open;
|
|
37
38
|
}
|
|
38
|
-
get panelClasses() {
|
|
39
|
-
return [
|
|
40
|
-
this.panelPlacement === 'top'
|
|
41
|
-
? 'absolute bottom-full left-0 z-30 mb-2 min-w-80 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md'
|
|
42
|
-
: 'absolute left-0 top-full z-30 mt-2 min-w-80 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md',
|
|
43
|
-
this.panelClassName
|
|
44
|
-
];
|
|
45
|
-
}
|
|
46
39
|
toggle() {
|
|
47
40
|
this.open = !this.open;
|
|
48
|
-
this.openChange.emit(this.open);
|
|
49
41
|
}
|
|
50
42
|
onEsc() {
|
|
51
43
|
if (this.open) {
|
|
@@ -53,48 +45,99 @@ export class PdmPopoverComponent {
|
|
|
53
45
|
this.openChange.emit(false);
|
|
54
46
|
}
|
|
55
47
|
}
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (!
|
|
48
|
+
openPanel() {
|
|
49
|
+
if (this.overlayRef)
|
|
50
|
+
return;
|
|
51
|
+
const triggerEl = this.triggerRef?.nativeElement;
|
|
52
|
+
if (!triggerEl)
|
|
61
53
|
return;
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
this._open = true;
|
|
55
|
+
this.openChange.emit(true);
|
|
56
|
+
this.cdr.markForCheck();
|
|
57
|
+
const positionStrategy = this.overlay
|
|
58
|
+
.position()
|
|
59
|
+
.flexibleConnectedTo(triggerEl)
|
|
60
|
+
.withPositions(this.getPositionConfigs())
|
|
61
|
+
.withFlexibleDimensions(false)
|
|
62
|
+
.withPush(true);
|
|
63
|
+
const panelClass = mergeOverlayPanelClass(OVERLAY_BASE_Z_INDEX, this.panelClassName);
|
|
64
|
+
this.overlayRef = this.overlay.create({
|
|
65
|
+
positionStrategy,
|
|
66
|
+
panelClass,
|
|
67
|
+
});
|
|
68
|
+
const portal = new TemplatePortal(this.panelTemplateRef, this.viewContainerRef);
|
|
69
|
+
this.overlayRef.attach(portal);
|
|
70
|
+
// Close on click outside
|
|
71
|
+
this.outsideClickSub = this.overlayRef
|
|
72
|
+
.outsidePointerEvents()
|
|
73
|
+
.subscribe(() => {
|
|
64
74
|
this.open = false;
|
|
65
75
|
this.openChange.emit(false);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
schedulePanelPlacementUpdate() {
|
|
69
|
-
setTimeout(() => this.updatePanelPlacement());
|
|
76
|
+
});
|
|
77
|
+
this.cdr.markForCheck();
|
|
70
78
|
}
|
|
71
|
-
|
|
72
|
-
if (!this.
|
|
73
|
-
return;
|
|
74
|
-
const anchorEl = this.triggerRef?.nativeElement || this.anchorRef?.nativeElement;
|
|
75
|
-
const panelEl = this.panelRef?.nativeElement;
|
|
76
|
-
if (!anchorEl || !panelEl || typeof window === 'undefined') {
|
|
79
|
+
closePanel() {
|
|
80
|
+
if (!this.overlayRef)
|
|
77
81
|
return;
|
|
82
|
+
this._open = false;
|
|
83
|
+
this.openChange.emit(false);
|
|
84
|
+
this.cdr.markForCheck();
|
|
85
|
+
this.destroyOverlay();
|
|
86
|
+
}
|
|
87
|
+
destroyOverlay() {
|
|
88
|
+
if (this.outsideClickSub) {
|
|
89
|
+
this.outsideClickSub.unsubscribe();
|
|
90
|
+
this.outsideClickSub = null;
|
|
78
91
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const spaceBelow = Math.max(0, viewportHeight - anchorRect.bottom - gap);
|
|
84
|
-
const spaceAbove = Math.max(0, anchorRect.top - gap);
|
|
85
|
-
const nextPlacement = spaceBelow < panelHeight && spaceAbove > spaceBelow ? 'top' : 'bottom';
|
|
86
|
-
if (this.panelPlacement !== nextPlacement) {
|
|
87
|
-
this.panelPlacement = nextPlacement;
|
|
88
|
-
this.cdr.markForCheck();
|
|
92
|
+
if (this.overlayRef) {
|
|
93
|
+
this.overlayRef.detach();
|
|
94
|
+
this.overlayRef.dispose();
|
|
95
|
+
this.overlayRef = null;
|
|
89
96
|
}
|
|
90
97
|
}
|
|
98
|
+
getPositionConfigs() {
|
|
99
|
+
return [
|
|
100
|
+
// Bottom (default)
|
|
101
|
+
{
|
|
102
|
+
originX: "start",
|
|
103
|
+
originY: "bottom",
|
|
104
|
+
overlayX: "start",
|
|
105
|
+
overlayY: "top",
|
|
106
|
+
offsetY: 8,
|
|
107
|
+
},
|
|
108
|
+
// Top (fallback)
|
|
109
|
+
{
|
|
110
|
+
originX: "start",
|
|
111
|
+
originY: "top",
|
|
112
|
+
overlayX: "start",
|
|
113
|
+
overlayY: "bottom",
|
|
114
|
+
offsetY: -8,
|
|
115
|
+
},
|
|
116
|
+
// Right
|
|
117
|
+
{
|
|
118
|
+
originX: "end",
|
|
119
|
+
originY: "bottom",
|
|
120
|
+
overlayX: "start",
|
|
121
|
+
overlayY: "top",
|
|
122
|
+
offsetY: 8,
|
|
123
|
+
},
|
|
124
|
+
// Left
|
|
125
|
+
{
|
|
126
|
+
originX: "start",
|
|
127
|
+
originY: "bottom",
|
|
128
|
+
overlayX: "end",
|
|
129
|
+
overlayY: "top",
|
|
130
|
+
offsetY: 8,
|
|
131
|
+
},
|
|
132
|
+
];
|
|
133
|
+
}
|
|
91
134
|
}
|
|
92
|
-
PdmPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmPopoverComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
-
PdmPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmPopoverComponent, selector: "pdm-popover", inputs: { triggerText: "triggerText", className: "className", panelClassName: "panelClassName", showTrigger: "showTrigger", open: "open" }, outputs: { openChange: "openChange" }, host: { listeners: { "document:keydown.escape": "onEsc()"
|
|
135
|
+
PdmPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmPopoverComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
136
|
+
PdmPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmPopoverComponent, selector: "pdm-popover", inputs: { triggerText: "triggerText", className: "className", panelClassName: "panelClassName", showTrigger: "showTrigger", open: "open" }, outputs: { openChange: "openChange" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"relative inline-block\" [ngClass]=\"className\">\n <button\n #triggerEl\n *ngIf=\"showTrigger\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none items-center justify-center rounded-md border border-input bg-background px-3 text-sm font-medium text-foreground shadow-sm\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-haspopup]=\"'dialog'\"\n (click)=\"toggle()\"\n >\n {{ triggerText }}\n </button>\n\n <!-- Trigger slot for custom trigger -->\n <ng-content select=\"[pdmPopoverTrigger]\"></ng-content>\n\n <!-- Template for CDK Overlay -->\n <ng-template #panelTemplate>\n <div\n class=\"min-w-80 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md\"\n >\n <ng-content></ng-content>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
94
137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmPopoverComponent, decorators: [{
|
|
95
138
|
type: Component,
|
|
96
|
-
args: [{ selector:
|
|
97
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { triggerText: [{
|
|
139
|
+
args: [{ selector: "pdm-popover", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative inline-block\" [ngClass]=\"className\">\n <button\n #triggerEl\n *ngIf=\"showTrigger\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none items-center justify-center rounded-md border border-input bg-background px-3 text-sm font-medium text-foreground shadow-sm\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-haspopup]=\"'dialog'\"\n (click)=\"toggle()\"\n >\n {{ triggerText }}\n </button>\n\n <!-- Trigger slot for custom trigger -->\n <ng-content select=\"[pdmPopoverTrigger]\"></ng-content>\n\n <!-- Template for CDK Overlay -->\n <ng-template #panelTemplate>\n <div\n class=\"min-w-80 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md\"\n >\n <ng-content></ng-content>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:inline-block}\n"] }]
|
|
140
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { triggerText: [{
|
|
98
141
|
type: Input
|
|
99
142
|
}], className: [{
|
|
100
143
|
type: Input
|
|
@@ -104,25 +147,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
104
147
|
type: Input
|
|
105
148
|
}], openChange: [{
|
|
106
149
|
type: Output
|
|
107
|
-
}], anchorRef: [{
|
|
108
|
-
type: ViewChild,
|
|
109
|
-
args: ['anchorEl']
|
|
110
150
|
}], triggerRef: [{
|
|
111
151
|
type: ViewChild,
|
|
112
|
-
args: [
|
|
113
|
-
}],
|
|
152
|
+
args: ["triggerEl"]
|
|
153
|
+
}], panelTemplateRef: [{
|
|
114
154
|
type: ViewChild,
|
|
115
|
-
args: [
|
|
155
|
+
args: ["panelTemplate"]
|
|
116
156
|
}], open: [{
|
|
117
157
|
type: Input
|
|
118
158
|
}], onEsc: [{
|
|
119
159
|
type: HostListener,
|
|
120
|
-
args: [
|
|
121
|
-
}], onViewportChange: [{
|
|
122
|
-
type: HostListener,
|
|
123
|
-
args: ['window:resize']
|
|
124
|
-
}, {
|
|
125
|
-
type: HostListener,
|
|
126
|
-
args: ['window:scroll']
|
|
160
|
+
args: ["document:keydown.escape"]
|
|
127
161
|
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFnQjlCLFlBQ21CLFVBQW1DLEVBQ25DLEdBQXNCO1FBRHRCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBakJqQyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFDckIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRW5ELG1CQUFjLEdBQXFCLFFBQVEsQ0FBQztJQVd6QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRixRQUFRLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7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SSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNyRCxNQUFNLGFBQWEsR0FDakIsVUFBVSxHQUFHLFdBQVcsSUFBSSxVQUFVLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUV6RSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssYUFBYSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDOztnSEE3R1UsbUJBQW1CO29HQUFuQixtQkFBbUIsMG9CQ25CaEMsd2ZBTUE7MkZEYWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWEsbUJBRU4sdUJBQXVCLENBQUMsTUFBTTtpSUFJdEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUl3QixTQUFTO3NCQUF2QyxTQUFTO3VCQUFDLFVBQVU7Z0JBQ1csVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxXQUFXO2dCQUNRLFFBQVE7c0JBQXJDLFNBQVM7dUJBQUMsU0FBUztnQkFxQmhCLElBQUk7c0JBRFAsS0FBSztnQkE2Qk4sS0FBSztzQkFESixZQUFZO3VCQUFDLHlCQUF5QjtnQkFVdkMsZ0JBQWdCO3NCQUZmLFlBQVk7dUJBQUMsZUFBZTs7c0JBQzVCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLXBvcG92ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbVBvcG92ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX29wZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJpZ2dlclRleHQgPSAnT3Blbic7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuICBASW5wdXQoKSBwYW5lbENsYXNzTmFtZSA9ICcnO1xuICBASW5wdXQoKSBzaG93VHJpZ2dlciA9IHRydWU7XG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHBhbmVsUGxhY2VtZW50OiAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7XG5cbiAgQFZpZXdDaGlsZCgnYW5jaG9yRWwnKSBwcml2YXRlIGFuY2hvclJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCd0cmlnZ2VyRWwnKSBwcml2YXRlIHRyaWdnZXJSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgncGFuZWxFbCcpIHByaXZhdGUgcGFuZWxSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwcml2YXRlIGJvdW5kUG9pbnRlckRvd24hOiAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ib3VuZFBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHRoaXMub25Eb2N1bWVudFBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuYm91bmRQb2ludGVyRG93biwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYm91bmRQb2ludGVyRG93bikge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCB0aGlzLmJvdW5kUG9pbnRlckRvd24sIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgb3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX29wZW4gPSAhIXZhbHVlO1xuICAgIGlmICh0aGlzLl9vcGVuKSB7XG4gICAgICB0aGlzLnNjaGVkdWxlUGFuZWxQbGFjZW1lbnRVcGRhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYW5lbFBsYWNlbWVudCA9ICdib3R0b20nO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuXG4gIGdldCBwYW5lbENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLnBhbmVsUGxhY2VtZW50ID09PSAndG9wJ1xuICAgICAgICA/ICdhYnNvbHV0ZSBib3R0b20tZnVsbCBsZWZ0LTAgei0zMCBtYi0yIG1pbi13LTgwIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctcG9wb3ZlciBwLTQgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LW1kJ1xuICAgICAgICA6ICdhYnNvbHV0ZSBsZWZ0LTAgdG9wLWZ1bGwgei0zMCBtdC0yIG1pbi13LTgwIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctcG9wb3ZlciBwLTQgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LW1kJyxcbiAgICAgIHRoaXMucGFuZWxDbGFzc05hbWVcbiAgICBdO1xuICB9XG5cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQodGhpcy5vcGVuKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJylcbiAgb25Fc2MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxuICBvblZpZXdwb3J0Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlUGFuZWxQbGFjZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Eb2N1bWVudFBvaW50ZXJEb3duKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3BlbikgcmV0dXJuO1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBOb2RlIHwgbnVsbDtcbiAgICBpZiAodGFyZ2V0ICYmICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlUGFuZWxQbGFjZW1lbnRVcGRhdGUoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZVBhbmVsUGxhY2VtZW50KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQYW5lbFBsYWNlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3BlbikgcmV0dXJuO1xuXG4gICAgY29uc3QgYW5jaG9yRWwgPSB0aGlzLnRyaWdnZXJSZWY/Lm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5hbmNob3JSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgcGFuZWxFbCA9IHRoaXMucGFuZWxSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFhbmNob3JFbCB8fCAhcGFuZWxFbCB8fCB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGNvbnN0IGdhcCA9IDg7XG4gICAgY29uc3QgYW5jaG9yUmVjdCA9IGFuY2hvckVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBhbmVsSGVpZ2h0ID0gcGFuZWxFbC5vZmZzZXRIZWlnaHQ7XG4gICAgY29uc3Qgc3BhY2VCZWxvdyA9IE1hdGgubWF4KDAsIHZpZXdwb3J0SGVpZ2h0IC0gYW5jaG9yUmVjdC5ib3R0b20gLSBnYXApO1xuICAgIGNvbnN0IHNwYWNlQWJvdmUgPSBNYXRoLm1heCgwLCBhbmNob3JSZWN0LnRvcCAtIGdhcCk7XG4gICAgY29uc3QgbmV4dFBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJyA9XG4gICAgICBzcGFjZUJlbG93IDwgcGFuZWxIZWlnaHQgJiYgc3BhY2VBYm92ZSA+IHNwYWNlQmVsb3cgPyAndG9wJyA6ICdib3R0b20nO1xuXG4gICAgaWYgKHRoaXMucGFuZWxQbGFjZW1lbnQgIT09IG5leHRQbGFjZW1lbnQpIHtcbiAgICAgIHRoaXMucGFuZWxQbGFjZW1lbnQgPSBuZXh0UGxhY2VtZW50O1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICNhbmNob3JFbCBjbGFzcz1cInJlbGF0aXZlIGlubGluZS1ibG9ja1wiIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiPlxuICA8YnV0dG9uICN0cmlnZ2VyRWwgKm5nSWY9XCJzaG93VHJpZ2dlclwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOSBhcHBlYXJhbmNlLW5vbmUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWZvcmVncm91bmQgc2hhZG93LXNtXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCIgKGNsaWNrKT1cInRvZ2dsZSgpXCI+e3sgdHJpZ2dlclRleHQgfX08L2J1dHRvbj5cbiAgPGRpdiAjcGFuZWxFbCAqbmdJZj1cIm9wZW4gfHwgIXNob3dUcmlnZ2VyXCIgW25nQ2xhc3NdPVwicGFuZWxDbGFzc2VzXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNOLHNCQUFzQixFQUN0QixvQkFBb0IsR0FDcEIsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQVF0QyxNQUFNLE9BQU8sbUJBQW1CO0lBZ0IvQixZQUNrQixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsVUFBbUMsRUFDbkMsR0FBc0I7UUFIdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkJoQyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWIsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFDckIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBSzNDLGVBQVUsR0FBc0IsSUFBSSxDQUFDO1FBQ3JDLG9CQUFlLEdBQVEsSUFBSSxDQUFDO0lBT2pDLENBQUM7SUFFSixRQUFRLEtBQVUsQ0FBQztJQUNuQixXQUFXO1FBQ1Ys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U0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFFeUIsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxXQUFXO2dCQUNjLGdCQUFnQjtzQkFBbkQsU0FBUzt1QkFBQyxlQUFlO2dCQWtCdEIsSUFBSTtzQkFEUCxLQUFLO2dCQW1CTixLQUFLO3NCQURKLFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25EZXN0cm95LFxuXHRPbkluaXQsXG5cdE91dHB1dCxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiwgQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7XG5cdG1lcmdlT3ZlcmxheVBhbmVsQ2xhc3MsXG5cdE9WRVJMQVlfQkFTRV9aX0lOREVYLFxufSBmcm9tIFwiLi4vLi4vb3ZlcmxheS96LWluZGV4LWhlbHBlclwiO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwicGRtLXBvcG92ZXJcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sXCIsXG5cdHN0eWxlczogW1wiOmhvc3QgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cIl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1Qb3BvdmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXHRwcml2YXRlIF9vcGVuID0gZmFsc2U7XG5cblx0QElucHV0KCkgdHJpZ2dlclRleHQgPSBcIk9wZW5cIjtcblx0QElucHV0KCkgY2xhc3NOYW1lID0gXCJcIjtcblx0QElucHV0KCkgcGFuZWxDbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBzaG93VHJpZ2dlciA9IHRydWU7XG5cblx0QE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cblx0QFZpZXdDaGlsZChcInRyaWdnZXJFbFwiKSBwcml2YXRlIHRyaWdnZXJSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pjtcblx0QFZpZXdDaGlsZChcInBhbmVsVGVtcGxhdGVcIikgcHJpdmF0ZSBwYW5lbFRlbXBsYXRlUmVmOiBhbnk7XG5cblx0cHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cdHByaXZhdGUgb3V0c2lkZUNsaWNrU3ViOiBhbnkgPSBudWxsO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSxcblx0XHRwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcblx0XHRwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdCkge31cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHt9XG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcblx0fVxuXG5cdEBJbnB1dCgpXG5cdHNldCBvcGVuKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0aWYgKHRoaXMuX29wZW4gPT09ICEhdmFsdWUpIHJldHVybjtcblxuXHRcdGlmICh2YWx1ZSkge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jbG9zZVBhbmVsKCk7XG5cdFx0fVxuXHR9XG5cdGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9vcGVuO1xuXHR9XG5cblx0dG9nZ2xlKCk6IHZvaWQge1xuXHRcdHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGVcIilcblx0b25Fc2MoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3Blbikge1xuXHRcdFx0dGhpcy5vcGVuID0gZmFsc2U7XG5cdFx0XHR0aGlzLm9wZW5DaGFuZ2UuZW1pdChmYWxzZSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBvcGVuUGFuZWwoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG5cdFx0Y29uc3QgdHJpZ2dlckVsID0gdGhpcy50cmlnZ2VyUmVmPy5uYXRpdmVFbGVtZW50O1xuXHRcdGlmICghdHJpZ2dlckVsKSByZXR1cm47XG5cblx0XHR0aGlzLl9vcGVuID0gdHJ1ZTtcblx0XHR0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0cnVlKTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuXHRcdGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcblx0XHRcdC5wb3NpdGlvbigpXG5cdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyh0cmlnZ2VyRWwpXG5cdFx0XHQud2l0aFBvc2l0aW9ucyh0aGlzLmdldFBvc2l0aW9uQ29uZmlncygpKVxuXHRcdFx0LndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG5cdFx0XHQud2l0aFB1c2godHJ1ZSk7XG5cblx0XHRjb25zdCBwYW5lbENsYXNzID0gbWVyZ2VPdmVybGF5UGFuZWxDbGFzcyhcblx0XHRcdE9WRVJMQVlfQkFTRV9aX0lOREVYLFxuXHRcdFx0dGhpcy5wYW5lbENsYXNzTmFtZSxcblx0XHQpO1xuXG5cdFx0dGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG5cdFx0XHRwb3NpdGlvblN0cmF0ZWd5LFxuXHRcdFx0cGFuZWxDbGFzcyxcblx0XHR9KTtcblxuXHRcdGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcblx0XHRcdHRoaXMucGFuZWxUZW1wbGF0ZVJlZixcblx0XHRcdHRoaXMudmlld0NvbnRhaW5lclJlZixcblx0XHQpO1xuXHRcdHRoaXMub3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcblxuXHRcdC8vIENsb3NlIG9uIGNsaWNrIG91dHNpZGVcblx0XHR0aGlzLm91dHNpZGVDbGlja1N1YiA9IHRoaXMub3ZlcmxheVJlZlxuXHRcdFx0Lm91dHNpZGVQb2ludGVyRXZlbnRzKClcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLm9wZW4gPSBmYWxzZTtcblx0XHRcdFx0dGhpcy5vcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuXHRcdFx0fSk7XG5cblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdHByaXZhdGUgY2xvc2VQYW5lbCgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG5cdFx0dGhpcy5fb3BlbiA9IGZhbHNlO1xuXHRcdHRoaXMub3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0XHR0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG5cdH1cblxuXHRwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm91dHNpZGVDbGlja1N1Yikge1xuXHRcdFx0dGhpcy5vdXRzaWRlQ2xpY2tTdWIudW5zdWJzY3JpYmUoKTtcblx0XHRcdHRoaXMub3V0c2lkZUNsaWNrU3ViID0gbnVsbDtcblx0XHR9XG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikge1xuXHRcdFx0dGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuXHRcdFx0dGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcblx0XHRcdHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBnZXRQb3NpdGlvbkNvbmZpZ3MoKTogQ29ubmVjdGVkUG9zaXRpb25bXSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdC8vIEJvdHRvbSAoZGVmYXVsdClcblx0XHRcdHtcblx0XHRcdFx0b3JpZ2luWDogXCJzdGFydFwiLFxuXHRcdFx0XHRvcmlnaW5ZOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRvdmVybGF5WDogXCJzdGFydFwiLFxuXHRcdFx0XHRvdmVybGF5WTogXCJ0b3BcIixcblx0XHRcdFx0b2Zmc2V0WTogOCxcblx0XHRcdH0sXG5cdFx0XHQvLyBUb3AgKGZhbGxiYWNrKVxuXHRcdFx0e1xuXHRcdFx0XHRvcmlnaW5YOiBcInN0YXJ0XCIsXG5cdFx0XHRcdG9yaWdpblk6IFwidG9wXCIsXG5cdFx0XHRcdG92ZXJsYXlYOiBcInN0YXJ0XCIsXG5cdFx0XHRcdG92ZXJsYXlZOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRvZmZzZXRZOiAtOCxcblx0XHRcdH0sXG5cdFx0XHQvLyBSaWdodFxuXHRcdFx0e1xuXHRcdFx0XHRvcmlnaW5YOiBcImVuZFwiLFxuXHRcdFx0XHRvcmlnaW5ZOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRvdmVybGF5WDogXCJzdGFydFwiLFxuXHRcdFx0XHRvdmVybGF5WTogXCJ0b3BcIixcblx0XHRcdFx0b2Zmc2V0WTogOCxcblx0XHRcdH0sXG5cdFx0XHQvLyBMZWZ0XG5cdFx0XHR7XG5cdFx0XHRcdG9yaWdpblg6IFwic3RhcnRcIixcblx0XHRcdFx0b3JpZ2luWTogXCJib3R0b21cIixcblx0XHRcdFx0b3ZlcmxheVg6IFwiZW5kXCIsXG5cdFx0XHRcdG92ZXJsYXlZOiBcInRvcFwiLFxuXHRcdFx0XHRvZmZzZXRZOiA4LFxuXHRcdFx0fSxcblx0XHRdO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaW5saW5lLWJsb2NrXCIgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCI+XG4gIDxidXR0b25cbiAgICAjdHJpZ2dlckVsXG4gICAgKm5nSWY9XCJzaG93VHJpZ2dlclwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgYXBwZWFyYW5jZS1ub25lIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCBweC0zIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kIHNoYWRvdy1zbVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIidkaWFsb2cnXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICA+XG4gICAge3sgdHJpZ2dlclRleHQgfX1cbiAgPC9idXR0b24+XG5cbiAgPCEtLSBUcmlnZ2VyIHNsb3QgZm9yIGN1c3RvbSB0cmlnZ2VyIC0tPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGRtUG9wb3ZlclRyaWdnZXJdXCI+PC9uZy1jb250ZW50PlxuXG4gIDwhLS0gVGVtcGxhdGUgZm9yIENESyBPdmVybGF5IC0tPlxuICA8bmctdGVtcGxhdGUgI3BhbmVsVGVtcGxhdGU+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJtaW4tdy04MCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLXBvcG92ZXIgcC00IHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostListener, Input, Output, ViewChild } from
|
|
2
|
-
import { TemplatePortal } from
|
|
3
|
-
import { PdmSelectOptionDirective } from
|
|
4
|
-
import { createFlexiblePositionStrategy } from
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostListener, Input, Output, ViewChild, } from "@angular/core";
|
|
2
|
+
import { TemplatePortal } from "@angular/cdk/portal";
|
|
3
|
+
import { PdmSelectOptionDirective } from "./select-option.directive";
|
|
4
|
+
import { createFlexiblePositionStrategy } from "../../overlay/create-flexible-position-strategy";
|
|
5
|
+
import { Z_INDEX } from "../../utils/z-index";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/cdk/overlay";
|
|
7
8
|
import * as i2 from "@angular/common";
|
|
8
9
|
import * as i3 from "../icon/icon.component";
|
|
9
10
|
export class PdmSelectComponent {
|
|
10
|
-
constructor(
|
|
11
|
-
this.elementRef = elementRef;
|
|
11
|
+
constructor(cdr, overlay, viewContainerRef) {
|
|
12
12
|
this.cdr = cdr;
|
|
13
13
|
this.overlay = overlay;
|
|
14
14
|
this.viewContainerRef = viewContainerRef;
|
|
15
|
-
this.id =
|
|
16
|
-
this.value =
|
|
15
|
+
this.id = "";
|
|
16
|
+
this.value = "";
|
|
17
17
|
this.options = [];
|
|
18
18
|
this.disabled = false;
|
|
19
19
|
this.invalid = false;
|
|
20
|
-
this.className =
|
|
21
|
-
this.placeholder =
|
|
20
|
+
this.className = "";
|
|
21
|
+
this.placeholder = "Select an option";
|
|
22
22
|
this.open = false;
|
|
23
23
|
this.valueChange = new EventEmitter();
|
|
24
24
|
this.overlayRef = null;
|
|
@@ -41,7 +41,7 @@ export class PdmSelectComponent {
|
|
|
41
41
|
return this.projectedOptions.map((d) => ({
|
|
42
42
|
label: d.resolvedLabel,
|
|
43
43
|
value: d.value,
|
|
44
|
-
disabled: d.disabled
|
|
44
|
+
disabled: d.disabled,
|
|
45
45
|
}));
|
|
46
46
|
}
|
|
47
47
|
return this.options;
|
|
@@ -86,17 +86,20 @@ export class PdmSelectComponent {
|
|
|
86
86
|
this.cdr.markForCheck();
|
|
87
87
|
const positionStrategy = createFlexiblePositionStrategy(this.overlay, triggerEl, 4);
|
|
88
88
|
this.overlayRef = this.overlay.create({
|
|
89
|
-
//
|
|
90
|
-
panelClass
|
|
89
|
+
// CRÍTICO: z-[70] para aparecer SOBRE modals (z-[60])
|
|
90
|
+
// panelClass se aplica al cdk-overlay-pane wrapper
|
|
91
|
+
panelClass: [Z_INDEX.popover],
|
|
91
92
|
positionStrategy,
|
|
92
93
|
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
93
94
|
width: triggerEl.offsetWidth,
|
|
94
95
|
// Consumer overrides are spread last — they win over every default above.
|
|
95
|
-
...this.overlayOptions
|
|
96
|
+
...this.overlayOptions,
|
|
96
97
|
});
|
|
97
98
|
const portal = new TemplatePortal(this.panelTemplateRef, this.viewContainerRef);
|
|
98
99
|
this.overlayRef.attach(portal);
|
|
99
|
-
this.backdropSub = this.overlayRef
|
|
100
|
+
this.backdropSub = this.overlayRef
|
|
101
|
+
.outsidePointerEvents()
|
|
102
|
+
.subscribe((event) => {
|
|
100
103
|
const target = event.target;
|
|
101
104
|
if (!triggerEl.contains(target)) {
|
|
102
105
|
this.closePanel();
|
|
@@ -122,12 +125,12 @@ export class PdmSelectComponent {
|
|
|
122
125
|
}
|
|
123
126
|
}
|
|
124
127
|
}
|
|
125
|
-
PdmSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSelectComponent, deps: [{ token: i0.
|
|
126
|
-
PdmSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSelectComponent, selector: "pdm-select", inputs: { id: "id", value: "value", options: "options", disabled: "disabled", invalid: "invalid", className: "className", placeholder: "placeholder", overlayOptions: "overlayOptions" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, queries: [{ propertyName: "projectedOptions", predicate: PdmSelectOptionDirective }], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
128
|
+
PdmSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
+
PdmSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSelectComponent, selector: "pdm-select", inputs: { id: "id", value: "value", options: "options", disabled: "disabled", invalid: "invalid", className: "className", placeholder: "placeholder", overlayOptions: "overlayOptions" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, queries: [{ propertyName: "projectedOptions", predicate: PdmSelectOptionDirective }], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
127
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSelectComponent, decorators: [{
|
|
128
131
|
type: Component,
|
|
129
|
-
args: [{ selector:
|
|
130
|
-
}], ctorParameters: function () { return [{ type: i0.
|
|
132
|
+
args: [{ selector: "pdm-select", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
|
|
133
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { id: [{
|
|
131
134
|
type: Input
|
|
132
135
|
}], value: [{
|
|
133
136
|
type: Input
|
|
@@ -147,15 +150,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
147
150
|
type: Output
|
|
148
151
|
}], triggerRef: [{
|
|
149
152
|
type: ViewChild,
|
|
150
|
-
args: [
|
|
153
|
+
args: ["triggerEl"]
|
|
151
154
|
}], panelTemplateRef: [{
|
|
152
155
|
type: ViewChild,
|
|
153
|
-
args: [
|
|
156
|
+
args: ["panelTemplate"]
|
|
154
157
|
}], projectedOptions: [{
|
|
155
158
|
type: ContentChildren,
|
|
156
159
|
args: [PdmSelectOptionDirective]
|
|
157
160
|
}], onEscape: [{
|
|
158
161
|
type: HostListener,
|
|
159
|
-
args: [
|
|
162
|
+
args: ["document:keydown.escape"]
|
|
160
163
|
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7QUFhakcsTUFBTSxPQUFPLGtCQUFrQjtJQTZCN0IsWUFDbUIsVUFBbUMsRUFDbkMsR0FBc0IsRUFDdEIsT0FBZ0IsRUFDaEIsZ0JBQWtDO1FBSGxDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWhDNUMsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxZQUFPLEdBQXNCLEVBQUUsQ0FBQztRQUNoQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGdCQUFXLEdBQUcsa0JBQWtCLENBQUM7UUFRMUMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUVILGdCQUFXLEdBQUcsSUFBSSxZ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LEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7K0dBekpVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHdYQXVCWix3QkFBd0IsME9DekQzQyxrZ0dBMEZBOzJGRHhEYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNO3NMQUd0QyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUcsY0FBYztzQkFBdEIsS0FBSztnQkFJSSxXQUFXO3NCQUFwQixNQUFNO2dCQUV5QixVQUFVO3NCQUF6QyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2MsZ0JBQWdCO3NCQUFuRCxTQUFTO3VCQUFDLGVBQWU7Z0JBSWxCLGdCQUFnQjtzQkFEdkIsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBa0V6QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGRtU2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQZG1PdmVybGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL292ZXJsYXkvcGRtLW92ZXJsYXktb3B0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9vdmVybGF5L2NyZWF0ZS1mbGV4aWJsZS1wb3NpdGlvbi1zdHJhdGVneSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGRtU2VsZWN0T3B0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGlkID0gJyc7XG4gIEBJbnB1dCgpIHZhbHVlID0gJyc7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFBkbVNlbGVjdE9wdGlvbltdID0gW107XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBhbiBvcHRpb24nO1xuICAvKipcbiAgICogT3B0aW9uYWwgQ0RLIE92ZXJsYXlDb25maWcgb3ZlcnJpZGVzLlxuICAgKiBTaGFsbG93LW1lcmdlZCBvbiB0b3Agb2YgY29tcG9uZW50IGRlZmF1bHRzIOKAlCBjb25zdW1lciBhbHdheXMgd2lucy5cbiAgICogUHJvdmlkaW5nIGBwb3NpdGlvblN0cmF0ZWd5YCBvciBgc2Nyb2xsU3RyYXRlZ3lgIHJlcGxhY2VzIHRoZSBjb21wb25lbnQgZGVmYXVsdCBlbnRpcmVseS5cbiAgICovXG4gIEBJbnB1dCgpIG92ZXJsYXlPcHRpb25zPzogUGRtT3ZlcmxheU9wdGlvbnM7XG5cbiAgb3BlbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJFbCcpIHByaXZhdGUgdHJpZ2dlclJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdwYW5lbFRlbXBsYXRlJykgcHJpdmF0ZSBwYW5lbFRlbXBsYXRlUmVmITogYW55O1xuXG4gIC8qKiBDb2xsZWN0cyBhbnkgYDxwZG0tc2VsZWN0LW9wdGlvbj5gIGNoaWxkcmVuIHByb2plY3RlZCBpbnRvIHRoaXMgY29tcG9uZW50LiAqL1xuICBAQ29udGVudENoaWxkcmVuKFBkbVNlbGVjdE9wdGlvbkRpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBwcm9qZWN0ZWRPcHRpb25zITogUXVlcnlMaXN0PFBkbVNlbGVjdE9wdGlvbkRpcmVjdGl2ZT47XG5cbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgYmFja2Ryb3BTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBSZS1yZW5kZXIgd2hlbiBwcm9qZWN0ZWQgb3B0aW9ucyBjaGFuZ2UgKGUuZy4gKm5nRm9yIG9uIHBkbS1zZWxlY3Qtb3B0aW9uKS5cbiAgICB0aGlzLnByb2plY3RlZE9wdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVmZmVjdGl2ZSBsaXN0IG9mIG9wdGlvbnMuXG4gICAqIFByb2plY3RlZCBgPHBkbS1zZWxlY3Qtb3B0aW9uPmAgY2hpbGRyZW4gdGFrZSBwcmlvcml0eSBvdmVyIHRoZSBgW29wdGlvbnNdYCBpbnB1dC5cbiAgICogRmFsbHMgYmFjayB0byBgW29wdGlvbnNdYCB3aGVuIG5vIGNoaWxkcmVuIGFyZSBwcm9qZWN0ZWQuXG4gICAqL1xuICBnZXQgcmVzb2x2ZWRPcHRpb25zKCk6IFBkbVNlbGVjdE9wdGlvbltdIHtcbiAgICBpZiAodGhpcy5wcm9qZWN0ZWRPcHRpb25zICYmIHRoaXMucHJvamVjdGVkT3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9qZWN0ZWRPcHRpb25zLm1hcCgoZCkgPT4gKHtcbiAgICAgICAgbGFiZWw6IGQucmVzb2x2ZWRMYWJlbCxcbiAgICAgICAgdmFsdWU6IGQudmFsdWUsXG4gICAgICAgIGRpc2FibGVkOiBkLmRpc2FibGVkXG4gICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm9wdGlvbnM7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRPcHRpb24oKTogUGRtU2VsZWN0T3B0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZE9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMudmFsdWUpO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbj8ubGFiZWwgfHwgdGhpcy5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLm9wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5QYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCgoZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50KS52YWx1ZSk7XG4gIH1cblxuICBzZWxlY3RPcHRpb24ob3B0aW9uOiBQZG1TZWxlY3RPcHRpb24pOiB2b2lkIHtcbiAgICBpZiAob3B0aW9uLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG9wdGlvbi52YWx1ZSk7XG4gICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScpXG4gIG9uRXNjYXBlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlblBhbmVsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuICAgIGNvbnN0IHRyaWdnZXJFbCA9IHRoaXMudHJpZ2dlclJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIXRyaWdnZXJFbCkgcmV0dXJuO1xuXG4gICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICB0aGlzLm92ZXJsYXksXG4gICAgICB0cmlnZ2VyRWwsXG4gICAgICA0XG4gICAgKTtcblxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgLy8gRml4OiB1c2UgYSB0b2tlbiBhcnJheSDigJQgRE9NVG9rZW5MaXN0LmFkZCgpIHJlamVjdHMgc3BhY2UtY29udGFpbmluZyBzdHJpbmdzLlxuICAgICAgcGFuZWxDbGFzczogWydibG9jayddLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICB3aWR0aDogdHJpZ2dlckVsLm9mZnNldFdpZHRoLFxuICAgICAgLy8gQ29uc3VtZXIgb3ZlcnJpZGVzIGFyZSBzcHJlYWQgbGFzdCDigJQgdGhleSB3aW4gb3ZlciBldmVyeSBkZWZhdWx0IGFib3ZlLlxuICAgICAgLi4udGhpcy5vdmVybGF5T3B0aW9uc1xuICAgIH0pO1xuXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuICAgICAgdGhpcy5wYW5lbFRlbXBsYXRlUmVmLFxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmXG4gICAgKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cbiAgICB0aGlzLmJhY2tkcm9wU3ViID0gdGhpcy5vdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGU7XG4gICAgICBpZiAoIXRyaWdnZXJFbC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlUGFuZWwoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveU92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmFja2Ryb3BTdWIpIHtcbiAgICAgIHRoaXMuYmFja2Ryb3BTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuYmFja2Ryb3BTdWIgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydyZWxhdGl2ZScsIGNsYXNzTmFtZSB8fCAndy1mdWxsJ11cIj5cbiAgPGJ1dHRvblxuICAgICN0cmlnZ2VyRWxcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlblwiXG4gICAgW2F0dHIuZGF0YS1zdGF0ZV09XCJvcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxuICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICdib3JkZXItaW5wdXQgZm9jdXMtdmlzaWJsZTpib3JkZXItcmluZyBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBhcmlhLWludmFsaWQ6cmluZy0yIGFyaWEtaW52YWxpZDpyaW5nLWRlc3RydWN0aXZlIGFyaWEtaW52YWxpZDpib3JkZXItZGVzdHJ1Y3RpdmUgZmxleCBoLTkgdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLWJhY2tncm91bmQgcHgtMyBweS0yIHRleHQtc20gc2hhZG93LXNtIG91dGxpbmUtbm9uZSBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCcsXG4gICAgXVwiXG4gID5cbiAgICA8c3BhblxuICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAnbWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgdGV4dC1sZWZ0IGxlYWRpbmctNScsXG4gICAgICAgIHNlbGVjdGVkT3B0aW9uXG4gICAgICAgICAgPyAnZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kJ1xuICAgICAgICAgIDogJ2ZvbnQtbm9ybWFsIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCcsXG4gICAgICBdXCJcbiAgICA+XG4gICAgICB7eyBzZWxlY3RlZExhYmVsIH19XG4gICAgPC9zcGFuPlxuICAgIDxwZG0taWNvblxuICAgICAgbmFtZT1cImNoZXZyb24tZG93blwiXG4gICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICBjbGFzc05hbWU9XCJzaHJpbmstMCB0ZXh0LW11dGVkLWZvcmVncm91bmRcIlxuICAgID48L3BkbS1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8IS0tIEhpZGRlbiBuYXRpdmUgc2VsZWN0IGtlcHQgZm9yIHNjcmVlbi1yZWFkZXIgLyBmb3JtIGZhbGxiYWNrIC0tPlxuICA8c2VsZWN0XG4gICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxvcHRpb25cbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmVzb2x2ZWRPcHRpb25zXCJcbiAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgPlxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgPC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuXG4gIDwhLS0gU2xvdCBmb3IgY29udGVudC1wcm9qZWN0ZWQgcGRtLXNlbGVjdC1vcHRpb24gZWxlbWVudHMgKGhpZGRlbiBmcm9tIGxheW91dCkgLS0+XG4gIDxzcGFuIGNsYXNzPVwiaGlkZGVuXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicGRtLXNlbGVjdC1vcHRpb25cIj48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BhbmVsVGVtcGxhdGU+XG4gIDxkaXZcbiAgICByb2xlPVwibGlzdGJveFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkIHx8IG51bGxcIlxuICAgIGNsYXNzPVwib3ZlcmZsb3cteS1hdXRvIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LW1kIG1heC1oLTk2XCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmVzb2x2ZWRPcHRpb25zXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIm9wdGlvbi52YWx1ZSA9PT0gdmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKG9wdGlvbilcIlxuICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAnZmxleCB3LWZ1bGwgYXBwZWFyYW5jZS1ub25lIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcm91bmRlZC1zbSBib3JkZXItMCBiZy10cmFuc3BhcmVudCBweC0yIHB5LTEuNSB0ZXh0LWxlZnQgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgICBvcHRpb24uZGlzYWJsZWRcbiAgICAgICAgICA/ICdjdXJzb3Itbm90LWFsbG93ZWQgb3BhY2l0eS01MCdcbiAgICAgICAgICA6ICdob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBmb2N1cy12aXNpYmxlOmJnLWFjY2VudCBmb2N1cy12aXNpYmxlOnRleHQtYWNjZW50LWZvcmVncm91bmQnLFxuICAgICAgICBvcHRpb24udmFsdWUgPT09IHZhbHVlID8gJ3RleHQtZm9yZWdyb3VuZCcgOiAnJyxcbiAgICAgIF1cIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgbGVhZGluZy01XCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJvcHRpb24udmFsdWUgPT09IHZhbHVlXCJcbiAgICAgICAgY2xhc3M9XCJtbC0yIGZsZXggc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCJcbiAgICAgID5cbiAgICAgICAgPHBkbS1pY29uXG4gICAgICAgICAgbmFtZT1cImNoZWNrXCJcbiAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwic2hyaW5rLTAgdGV4dC1jdXJyZW50XCJcbiAgICAgICAgPjwvcGRtLWljb24+XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUVULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBYzlDLE1BQU0sT0FBTyxrQkFBa0I7SUE2QjlCLFlBQ2tCLEdBQXNCLEVBQ3RCLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUZsQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUEvQjNDLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFDaEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixnQkFBVyxHQUFHLGtCQUFrQixDQUFDO1FBUTFDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFSCxnQkFBVyxHQUFHLElB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LEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN2QjtJQUNGLENBQUM7OytHQTNKVyxrQkFBa0I7bUdBQWxCLGtCQUFrQix3WEF1QmIsd0JBQXdCLDBPQzNEMUMsa2dHQTBGQTsyRkR0RGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNDLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTTs2SkFHdEMsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1HLGNBQWM7c0JBQXRCLEtBQUs7Z0JBSUksV0FBVztzQkFBcEIsTUFBTTtnQkFFeUIsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxXQUFXO2dCQUNjLGdCQUFnQjtzQkFBbkQsU0FBUzt1QkFBQyxlQUFlO2dCQUlsQixnQkFBZ0I7c0JBRHZCLGVBQWU7dUJBQUMsd0JBQXdCO2dCQWlFekMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdEFmdGVyQ29udGVudEluaXQsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRDb250ZW50Q2hpbGRyZW4sXG5cdEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25EZXN0cm95LFxuXHRPdXRwdXQsXG5cdFF1ZXJ5TGlzdCxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFBkbVNlbGVjdE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gXCIuL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBQZG1PdmVybGF5T3B0aW9ucyB9IGZyb20gXCIuLi8uLi9vdmVybGF5L3BkbS1vdmVybGF5LW9wdGlvbnNcIjtcbmltcG9ydCB7IGNyZWF0ZUZsZXhpYmxlUG9zaXRpb25TdHJhdGVneSB9IGZyb20gXCIuLi8uLi9vdmVybGF5L2NyZWF0ZS1mbGV4aWJsZS1wb3NpdGlvbi1zdHJhdGVneVwiO1xuaW1wb3J0IHsgWl9JTkRFWCB9IGZyb20gXCIuLi8uLi91dGlscy96LWluZGV4XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGRtU2VsZWN0T3B0aW9uIHtcblx0bGFiZWw6IHN0cmluZztcblx0dmFsdWU6IHN0cmluZztcblx0ZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwicGRtLXNlbGVjdFwiLFxuXHR0ZW1wbGF0ZVVybDogXCIuL3NlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogYmxvY2s7IH1cIl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1TZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXHRASW5wdXQoKSBpZCA9IFwiXCI7XG5cdEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcblx0QElucHV0KCkgb3B0aW9uczogUGRtU2VsZWN0T3B0aW9uW10gPSBbXTtcblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0QElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiU2VsZWN0IGFuIG9wdGlvblwiO1xuXHQvKipcblx0ICogT3B0aW9uYWwgQ0RLIE92ZXJsYXlDb25maWcgb3ZlcnJpZGVzLlxuXHQgKiBTaGFsbG93LW1lcmdlZCBvbiB0b3Agb2YgY29tcG9uZW50IGRlZmF1bHRzIOKAlCBjb25zdW1lciBhbHdheXMgd2lucy5cblx0ICogUHJvdmlkaW5nIGBwb3NpdGlvblN0cmF0ZWd5YCBvciBgc2Nyb2xsU3RyYXRlZ3lgIHJlcGxhY2VzIHRoZSBjb21wb25lbnQgZGVmYXVsdCBlbnRpcmVseS5cblx0ICovXG5cdEBJbnB1dCgpIG92ZXJsYXlPcHRpb25zPzogUGRtT3ZlcmxheU9wdGlvbnM7XG5cblx0b3BlbiA9IGZhbHNlO1xuXG5cdEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG5cdEBWaWV3Q2hpbGQoXCJ0cmlnZ2VyRWxcIikgcHJpdmF0ZSB0cmlnZ2VyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cdEBWaWV3Q2hpbGQoXCJwYW5lbFRlbXBsYXRlXCIpIHByaXZhdGUgcGFuZWxUZW1wbGF0ZVJlZiE6IGFueTtcblxuXHQvKiogQ29sbGVjdHMgYW55IGA8cGRtLXNlbGVjdC1vcHRpb24+YCBjaGlsZHJlbiBwcm9qZWN0ZWQgaW50byB0aGlzIGNvbXBvbmVudC4gKi9cblx0QENvbnRlbnRDaGlsZHJlbihQZG1TZWxlY3RPcHRpb25EaXJlY3RpdmUpXG5cdHByaXZhdGUgcHJvamVjdGVkT3B0aW9ucyE6IFF1ZXJ5TGlzdDxQZG1TZWxlY3RPcHRpb25EaXJlY3RpdmU+O1xuXG5cdHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIGJhY2tkcm9wU3ViOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0KSB7fVxuXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcblx0XHQvLyBSZS1yZW5kZXIgd2hlbiBwcm9qZWN0ZWQgb3B0aW9ucyBjaGFuZ2UgKGUuZy4gKm5nRm9yIG9uIHBkbS1zZWxlY3Qtb3B0aW9uKS5cblx0XHR0aGlzLnByb2plY3RlZE9wdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGVmZmVjdGl2ZSBsaXN0IG9mIG9wdGlvbnMuXG5cdCAqIFByb2plY3RlZCBgPHBkbS1zZWxlY3Qtb3B0aW9uPmAgY2hpbGRyZW4gdGFrZSBwcmlvcml0eSBvdmVyIHRoZSBgW29wdGlvbnNdYCBpbnB1dC5cblx0ICogRmFsbHMgYmFjayB0byBgW29wdGlvbnNdYCB3aGVuIG5vIGNoaWxkcmVuIGFyZSBwcm9qZWN0ZWQuXG5cdCAqL1xuXHRnZXQgcmVzb2x2ZWRPcHRpb25zKCk6IFBkbVNlbGVjdE9wdGlvbltdIHtcblx0XHRpZiAodGhpcy5wcm9qZWN0ZWRPcHRpb25zICYmIHRoaXMucHJvamVjdGVkT3B0aW9ucy5sZW5ndGggPiAwKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5wcm9qZWN0ZWRPcHRpb25zLm1hcCgoZCkgPT4gKHtcblx0XHRcdFx0bGFiZWw6IGQucmVzb2x2ZWRMYWJlbCxcblx0XHRcdFx0dmFsdWU6IGQudmFsdWUsXG5cdFx0XHRcdGRpc2FibGVkOiBkLmRpc2FibGVkLFxuXHRcdFx0fSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5vcHRpb25zO1xuXHR9XG5cblx0Z2V0IHNlbGVjdGVkT3B0aW9uKCk6IFBkbVNlbGVjdE9wdGlvbiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb2x2ZWRPcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLnZhbHVlKTtcblx0fVxuXG5cdGdldCBzZWxlY3RlZExhYmVsKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24/LmxhYmVsIHx8IHRoaXMucGxhY2Vob2xkZXI7XG5cdH1cblxuXHR0b2dnbGUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblx0XHRpZiAodGhpcy5vcGVuKSB7XG5cdFx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHR9XG5cdH1cblxuXHRvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoKGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCkudmFsdWUpO1xuXHR9XG5cblx0c2VsZWN0T3B0aW9uKG9wdGlvbjogUGRtU2VsZWN0T3B0aW9uKTogdm9pZCB7XG5cdFx0aWYgKG9wdGlvbi5kaXNhYmxlZCkgcmV0dXJuO1xuXHRcdHRoaXMudmFsdWVDaGFuZ2UuZW1pdChvcHRpb24udmFsdWUpO1xuXHRcdHRoaXMuY2xvc2VQYW5lbCgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmtleWRvd24uZXNjYXBlXCIpXG5cdG9uRXNjYXBlKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm9wZW4pIHtcblx0XHRcdHRoaXMuY2xvc2VQYW5lbCgpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgb3BlblBhbmVsKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuXHRcdGNvbnN0IHRyaWdnZXJFbCA9IHRoaXMudHJpZ2dlclJlZj8ubmF0aXZlRWxlbWVudDtcblx0XHRpZiAoIXRyaWdnZXJFbCkgcmV0dXJuO1xuXG5cdFx0dGhpcy5vcGVuID0gdHJ1ZTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuXHRcdGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3koXG5cdFx0XHR0aGlzLm92ZXJsYXksXG5cdFx0XHR0cmlnZ2VyRWwsXG5cdFx0XHQ0LFxuXHRcdCk7XG5cblx0XHR0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcblx0XHRcdC8vIENSw41USUNPOiB6LVs3MF0gcGFyYSBhcGFyZWNlciBTT0JSRSBtb2RhbHMgKHotWzYwXSlcblx0XHRcdC8vIHBhbmVsQ2xhc3Mgc2UgYXBsaWNhIGFsIGNkay1vdmVybGF5LXBhbmUgd3JhcHBlclxuXHRcdFx0cGFuZWxDbGFzczogW1pfSU5ERVgucG9wb3Zlcl0sXG5cdFx0XHRwb3NpdGlvblN0cmF0ZWd5LFxuXHRcdFx0c2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcblx0XHRcdHdpZHRoOiB0cmlnZ2VyRWwub2Zmc2V0V2lkdGgsXG5cdFx0XHQvLyBDb25zdW1lciBvdmVycmlkZXMgYXJlIHNwcmVhZCBsYXN0IOKAlCB0aGV5IHdpbiBvdmVyIGV2ZXJ5IGRlZmF1bHQgYWJvdmUuXG5cdFx0XHQuLi50aGlzLm92ZXJsYXlPcHRpb25zLFxuXHRcdH0pO1xuXG5cdFx0Y29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuXHRcdFx0dGhpcy5wYW5lbFRlbXBsYXRlUmVmLFxuXHRcdFx0dGhpcy52aWV3Q29udGFpbmVyUmVmLFxuXHRcdCk7XG5cdFx0dGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xuXG5cdFx0dGhpcy5iYWNrZHJvcFN1YiA9IHRoaXMub3ZlcmxheVJlZlxuXHRcdFx0Lm91dHNpZGVQb2ludGVyRXZlbnRzKClcblx0XHRcdC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG5cdFx0XHRcdGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBOb2RlO1xuXHRcdFx0XHRpZiAoIXRyaWdnZXJFbC5jb250YWlucyh0YXJnZXQpKSB7XG5cdFx0XHRcdFx0dGhpcy5jbG9zZVBhbmVsKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRwcml2YXRlIGNsb3NlUGFuZWwoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuXHRcdHRoaXMub3BlbiA9IGZhbHNlO1xuXHRcdHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdHByaXZhdGUgZGVzdHJveU92ZXJsYXkoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuYmFja2Ryb3BTdWIpIHtcblx0XHRcdHRoaXMuYmFja2Ryb3BTdWIudW5zdWJzY3JpYmUoKTtcblx0XHRcdHRoaXMuYmFja2Ryb3BTdWIgPSBudWxsO1xuXHRcdH1cblx0XHRpZiAodGhpcy5vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuXHRcdFx0dGhpcy5vdmVybGF5UmVmID0gbnVsbDtcblx0XHR9XG5cdH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydyZWxhdGl2ZScsIGNsYXNzTmFtZSB8fCAndy1mdWxsJ11cIj5cbiAgPGJ1dHRvblxuICAgICN0cmlnZ2VyRWxcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlblwiXG4gICAgW2F0dHIuZGF0YS1zdGF0ZV09XCJvcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxuICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICdib3JkZXItaW5wdXQgZm9jdXMtdmlzaWJsZTpib3JkZXItcmluZyBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBhcmlhLWludmFsaWQ6cmluZy0yIGFyaWEtaW52YWxpZDpyaW5nLWRlc3RydWN0aXZlIGFyaWEtaW52YWxpZDpib3JkZXItZGVzdHJ1Y3RpdmUgZmxleCBoLTkgdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLWJhY2tncm91bmQgcHgtMyBweS0yIHRleHQtc20gc2hhZG93LXNtIG91dGxpbmUtbm9uZSBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCcsXG4gICAgXVwiXG4gID5cbiAgICA8c3BhblxuICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAnbWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgdGV4dC1sZWZ0IGxlYWRpbmctNScsXG4gICAgICAgIHNlbGVjdGVkT3B0aW9uXG4gICAgICAgICAgPyAnZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kJ1xuICAgICAgICAgIDogJ2ZvbnQtbm9ybWFsIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCcsXG4gICAgICBdXCJcbiAgICA+XG4gICAgICB7eyBzZWxlY3RlZExhYmVsIH19XG4gICAgPC9zcGFuPlxuICAgIDxwZG0taWNvblxuICAgICAgbmFtZT1cImNoZXZyb24tZG93blwiXG4gICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICBjbGFzc05hbWU9XCJzaHJpbmstMCB0ZXh0LW11dGVkLWZvcmVncm91bmRcIlxuICAgID48L3BkbS1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8IS0tIEhpZGRlbiBuYXRpdmUgc2VsZWN0IGtlcHQgZm9yIHNjcmVlbi1yZWFkZXIgLyBmb3JtIGZhbGxiYWNrIC0tPlxuICA8c2VsZWN0XG4gICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxvcHRpb25cbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmVzb2x2ZWRPcHRpb25zXCJcbiAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgPlxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgPC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuXG4gIDwhLS0gU2xvdCBmb3IgY29udGVudC1wcm9qZWN0ZWQgcGRtLXNlbGVjdC1vcHRpb24gZWxlbWVudHMgKGhpZGRlbiBmcm9tIGxheW91dCkgLS0+XG4gIDxzcGFuIGNsYXNzPVwiaGlkZGVuXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicGRtLXNlbGVjdC1vcHRpb25cIj48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BhbmVsVGVtcGxhdGU+XG4gIDxkaXZcbiAgICByb2xlPVwibGlzdGJveFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkIHx8IG51bGxcIlxuICAgIGNsYXNzPVwib3ZlcmZsb3cteS1hdXRvIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LW1kIG1heC1oLTk2XCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmVzb2x2ZWRPcHRpb25zXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIm9wdGlvbi52YWx1ZSA9PT0gdmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKG9wdGlvbilcIlxuICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAnZmxleCB3LWZ1bGwgYXBwZWFyYW5jZS1ub25lIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcm91bmRlZC1zbSBib3JkZXItMCBiZy10cmFuc3BhcmVudCBweC0yIHB5LTEuNSB0ZXh0LWxlZnQgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgICBvcHRpb24uZGlzYWJsZWRcbiAgICAgICAgICA/ICdjdXJzb3Itbm90LWFsbG93ZWQgb3BhY2l0eS01MCdcbiAgICAgICAgICA6ICdob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBmb2N1cy12aXNpYmxlOmJnLWFjY2VudCBmb2N1cy12aXNpYmxlOnRleHQtYWNjZW50LWZvcmVncm91bmQnLFxuICAgICAgICBvcHRpb24udmFsdWUgPT09IHZhbHVlID8gJ3RleHQtZm9yZWdyb3VuZCcgOiAnJyxcbiAgICAgIF1cIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgbGVhZGluZy01XCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJvcHRpb24udmFsdWUgPT09IHZhbHVlXCJcbiAgICAgICAgY2xhc3M9XCJtbC0yIGZsZXggc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCJcbiAgICAgID5cbiAgICAgICAgPHBkbS1pY29uXG4gICAgICAgICAgbmFtZT1cImNoZWNrXCJcbiAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwic2hyaW5rLTAgdGV4dC1jdXJyZW50XCJcbiAgICAgICAgPjwvcGRtLWljb24+XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|