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,33 +1,176 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostListener, Input, 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 PdmTooltipComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.
|
|
7
|
-
this.
|
|
8
|
-
this.
|
|
8
|
+
constructor(overlay, viewContainerRef, elementRef, cdr) {
|
|
9
|
+
this.overlay = overlay;
|
|
10
|
+
this.viewContainerRef = viewContainerRef;
|
|
11
|
+
this.elementRef = elementRef;
|
|
12
|
+
this.cdr = cdr;
|
|
13
|
+
this.text = "";
|
|
14
|
+
this.side = "top";
|
|
15
|
+
this.className = "";
|
|
9
16
|
this.open = false;
|
|
17
|
+
this.overlayRef = null;
|
|
10
18
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
this.destroyOverlay();
|
|
21
|
+
}
|
|
22
|
+
onMouseEnter() {
|
|
23
|
+
this.show();
|
|
24
|
+
}
|
|
25
|
+
onMouseLeave() {
|
|
26
|
+
this.hide();
|
|
27
|
+
}
|
|
28
|
+
onFocusIn() {
|
|
29
|
+
this.show();
|
|
30
|
+
}
|
|
31
|
+
onFocusOut() {
|
|
32
|
+
this.hide();
|
|
33
|
+
}
|
|
34
|
+
show() {
|
|
35
|
+
if (this.open || !this.text)
|
|
36
|
+
return;
|
|
37
|
+
this.open = true;
|
|
38
|
+
this.cdr.markForCheck();
|
|
39
|
+
this.createOverlay();
|
|
40
|
+
}
|
|
41
|
+
hide() {
|
|
42
|
+
if (!this.open)
|
|
43
|
+
return;
|
|
44
|
+
this.open = false;
|
|
45
|
+
this.cdr.markForCheck();
|
|
46
|
+
this.destroyOverlay();
|
|
47
|
+
}
|
|
48
|
+
createOverlay() {
|
|
49
|
+
if (this.overlayRef)
|
|
50
|
+
return;
|
|
51
|
+
const triggerEl = this.elementRef.nativeElement.querySelector(":scope > *") ||
|
|
52
|
+
this.elementRef.nativeElement;
|
|
53
|
+
const positionStrategy = this.overlay
|
|
54
|
+
.position()
|
|
55
|
+
.flexibleConnectedTo(triggerEl)
|
|
56
|
+
.withPositions(this.getPositionConfigs())
|
|
57
|
+
.withFlexibleDimensions(false)
|
|
58
|
+
.withPush(true);
|
|
59
|
+
const panelClass = mergeOverlayPanelClass(OVERLAY_BASE_Z_INDEX);
|
|
60
|
+
this.overlayRef = this.overlay.create({
|
|
61
|
+
positionStrategy,
|
|
62
|
+
panelClass,
|
|
63
|
+
});
|
|
64
|
+
const portal = new TemplatePortal(this.tooltipTemplate, this.viewContainerRef);
|
|
65
|
+
this.overlayRef.attach(portal);
|
|
66
|
+
}
|
|
67
|
+
destroyOverlay() {
|
|
68
|
+
if (this.overlayRef) {
|
|
69
|
+
this.overlayRef.detach();
|
|
70
|
+
this.overlayRef.dispose();
|
|
71
|
+
this.overlayRef = null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
getPositionConfigs() {
|
|
75
|
+
const offset = 4;
|
|
76
|
+
switch (this.side) {
|
|
77
|
+
case "bottom":
|
|
78
|
+
return [
|
|
79
|
+
{
|
|
80
|
+
originX: "center",
|
|
81
|
+
originY: "bottom",
|
|
82
|
+
overlayX: "center",
|
|
83
|
+
overlayY: "top",
|
|
84
|
+
offsetY: offset,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
originX: "center",
|
|
88
|
+
originY: "top",
|
|
89
|
+
overlayX: "center",
|
|
90
|
+
overlayY: "bottom",
|
|
91
|
+
offsetY: -offset,
|
|
92
|
+
},
|
|
93
|
+
];
|
|
94
|
+
case "left":
|
|
95
|
+
return [
|
|
96
|
+
{
|
|
97
|
+
originX: "start",
|
|
98
|
+
originY: "center",
|
|
99
|
+
overlayX: "end",
|
|
100
|
+
overlayY: "center",
|
|
101
|
+
offsetX: -offset,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
originX: "end",
|
|
105
|
+
originY: "center",
|
|
106
|
+
overlayX: "start",
|
|
107
|
+
overlayY: "center",
|
|
108
|
+
offsetX: offset,
|
|
109
|
+
},
|
|
110
|
+
];
|
|
111
|
+
case "right":
|
|
112
|
+
return [
|
|
113
|
+
{
|
|
114
|
+
originX: "end",
|
|
115
|
+
originY: "center",
|
|
116
|
+
overlayX: "start",
|
|
117
|
+
overlayY: "center",
|
|
118
|
+
offsetX: offset,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
originX: "start",
|
|
122
|
+
originY: "center",
|
|
123
|
+
overlayX: "end",
|
|
124
|
+
overlayY: "center",
|
|
125
|
+
offsetX: -offset,
|
|
126
|
+
},
|
|
127
|
+
];
|
|
128
|
+
case "top":
|
|
129
|
+
default:
|
|
130
|
+
return [
|
|
131
|
+
{
|
|
132
|
+
originX: "center",
|
|
133
|
+
originY: "top",
|
|
134
|
+
overlayX: "center",
|
|
135
|
+
overlayY: "bottom",
|
|
136
|
+
offsetY: -offset,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
originX: "center",
|
|
140
|
+
originY: "bottom",
|
|
141
|
+
overlayX: "center",
|
|
142
|
+
overlayY: "top",
|
|
143
|
+
offsetY: offset,
|
|
144
|
+
},
|
|
145
|
+
];
|
|
146
|
+
}
|
|
19
147
|
}
|
|
20
148
|
}
|
|
21
|
-
PdmTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
-
PdmTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmTooltipComponent, selector: "pdm-tooltip", inputs: { text: "text", side: "side", className: "className" }, ngImport: i0, template: "<span
|
|
149
|
+
PdmTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmTooltipComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
150
|
+
PdmTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmTooltipComponent, selector: "pdm-tooltip", inputs: { text: "text", side: "side", className: "className" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focusin": "onFocusIn()", "focusout": "onFocusOut()" } }, viewQueries: [{ propertyName: "tooltipTemplate", first: true, predicate: ["tooltipTemplate"], descendants: true }], ngImport: i0, template: "<span\n class=\"relative inline-flex\"\n [ngClass]=\"className\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut()\"\n>\n <ng-content></ng-content>\n\n <!-- Template for CDK Overlay -->\n <ng-template #tooltipTemplate>\n <span\n class=\"pointer-events-none overflow-hidden rounded-md bg-foreground px-3 py-1.5 text-xs text-background animate-in fade-in-0 zoom-in-95\"\n >\n {{ text }}\n </span>\n </ng-template>\n</span>\n", styles: [":host{display:inline-flex}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
23
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmTooltipComponent, decorators: [{
|
|
24
152
|
type: Component,
|
|
25
|
-
args: [{ selector:
|
|
26
|
-
}], propDecorators: { text: [{
|
|
153
|
+
args: [{ selector: "pdm-tooltip", changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"relative inline-flex\"\n [ngClass]=\"className\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut()\"\n>\n <ng-content></ng-content>\n\n <!-- Template for CDK Overlay -->\n <ng-template #tooltipTemplate>\n <span\n class=\"pointer-events-none overflow-hidden rounded-md bg-foreground px-3 py-1.5 text-xs text-background animate-in fade-in-0 zoom-in-95\"\n >\n {{ text }}\n </span>\n </ng-template>\n</span>\n", styles: [":host{display:inline-flex}\n"] }]
|
|
154
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { text: [{
|
|
27
155
|
type: Input
|
|
28
156
|
}], side: [{
|
|
29
157
|
type: Input
|
|
30
158
|
}], className: [{
|
|
31
159
|
type: Input
|
|
160
|
+
}], tooltipTemplate: [{
|
|
161
|
+
type: ViewChild,
|
|
162
|
+
args: ["tooltipTemplate"]
|
|
163
|
+
}], onMouseEnter: [{
|
|
164
|
+
type: HostListener,
|
|
165
|
+
args: ["mouseenter"]
|
|
166
|
+
}], onMouseLeave: [{
|
|
167
|
+
type: HostListener,
|
|
168
|
+
args: ["mouseleave"]
|
|
169
|
+
}], onFocusIn: [{
|
|
170
|
+
type: HostListener,
|
|
171
|
+
args: ["focusin"]
|
|
172
|
+
}], onFocusOut: [{
|
|
173
|
+
type: HostListener,
|
|
174
|
+
args: ["focusout"]
|
|
32
175
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8xRSxNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBTVcsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFNBQUksR0FBd0MsS0FBSyxDQUFDO1FBQ2xELGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDeEIsU0FBSSxHQUFHLEtBQUssQ0FBQztLQVFkO0lBTkMsSUFBSSxhQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFBRSxPQUFPLHlDQUF5QyxDQUFDO1FBQzdFLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNO1lBQUUsT0FBTywwQ0FBMEMsQ0FBQztRQUM1RSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztZQUFFLE9BQU8seUNBQXlDLENBQUM7UUFDNUUsT0FBTyw0Q0FBNEMsQ0FBQztJQUN0RCxDQUFDOztnSEFYVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixtSENQaEMsNGJBTUE7MkZEQ2EsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWEsbUJBRU4sdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLXRvb2x0aXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbVRvb2x0aXBDb21wb25lbnQge1xuICBASW5wdXQoKSB0ZXh0ID0gJyc7XG4gIEBJbnB1dCgpIHNpZGU6ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnID0gJ3RvcCc7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuICBvcGVuID0gZmFsc2U7XG5cbiAgZ2V0IHBvc2l0aW9uQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zaWRlID09PSAnYm90dG9tJykgcmV0dXJuICd0b3AtZnVsbCBsZWZ0LTEvMiAtdHJhbnNsYXRlLXgtMS8yIG10LTInO1xuICAgIGlmICh0aGlzLnNpZGUgPT09ICdsZWZ0JykgcmV0dXJuICdyaWdodC1mdWxsIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBtci0yJztcbiAgICBpZiAodGhpcy5zaWRlID09PSAncmlnaHQnKSByZXR1cm4gJ2xlZnQtZnVsbCB0b3AtMS8yIC10cmFuc2xhdGUteS0xLzIgbWwtMic7XG4gICAgcmV0dXJuICdib3R0b20tZnVsbCBsZWZ0LTEvMiAtdHJhbnNsYXRlLXgtMS8yIG1iLTInO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cInJlbGF0aXZlIGlubGluZS1mbGV4XCIgW25nQ2xhc3NdPVwiY2xhc3NOYW1lXCIgKG1vdXNlZW50ZXIpPVwib3BlbiA9IHRydWVcIiAobW91c2VsZWF2ZSk9XCJvcGVuID0gZmFsc2VcIiAoZm9jdXNpbik9XCJvcGVuID0gdHJ1ZVwiIChmb2N1c291dCk9XCJvcGVuID0gZmFsc2VcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8c3BhbiAqbmdJZj1cIm9wZW5cIiBbbmdDbGFzc109XCJbJ3BvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgei01MCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBiZy1mb3JlZ3JvdW5kIHB4LTMgcHktMS41IHRleHQteHMgdGV4dC1iYWNrZ3JvdW5kIGFuaW1hdGUtaW4gZmFkZS1pbi0wIHpvb20taW4tOTUnLCBwb3NpdGlvbkNsYXNzXVwiPlxuICAgIHt7IHRleHQgfX1cbiAgPC9zcGFuPlxuPC9zcGFuPlxuIl19
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsb0JBQW9CLEdBQ3BCLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFRdEMsTUFBTSxPQUFPLG1CQUFtQjtJQVUvQixZQUNrQixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsVUFBbUMsRUFDbkMsR0FBc0I7UUFIdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBYi9CLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixTQUFJLEdBQXdDLEtBQUssQ0FBQztRQUNsRCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBSXhCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDTCxlQUFVLEdBQXNCLElBQUksQ0FBQztJQU8xQyxDQUFDO0lBRUosV0FBVztRQUNWLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBR0QsWUFBWTtRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFHRCxZQUFZO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2IsQ0FB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aUI7Z0JBaUI1QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWTtnQkFNMUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBTTFCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTO2dCQU12QixVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0TGlzdGVuZXIsXG5cdElucHV0LFxuXHRPbkRlc3Ryb3ksXG5cdFZpZXdDaGlsZCxcblx0Vmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYsIENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge1xuXHRtZXJnZU92ZXJsYXlQYW5lbENsYXNzLFxuXHRPVkVSTEFZX0JBU0VfWl9JTkRFWCxcbn0gZnJvbSBcIi4uLy4uL292ZXJsYXkvei1pbmRleC1oZWxwZXJcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS10b29sdGlwXCIsXG5cdHRlbXBsYXRlVXJsOiBcIi4vdG9vbHRpcC5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cIl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1Ub29sdGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0QElucHV0KCkgdGV4dCA9IFwiXCI7XG5cdEBJbnB1dCgpIHNpZGU6IFwidG9wXCIgfCBcInJpZ2h0XCIgfCBcImJvdHRvbVwiIHwgXCJsZWZ0XCIgPSBcInRvcFwiO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXG5cdEBWaWV3Q2hpbGQoXCJ0b29sdGlwVGVtcGxhdGVcIikgdG9vbHRpcFRlbXBsYXRlOiBhbnk7XG5cblx0b3BlbiA9IGZhbHNlO1xuXHRwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXksXG5cdFx0cHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG5cdFx0cHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuXHQpIHt9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcIm1vdXNlZW50ZXJcIilcblx0b25Nb3VzZUVudGVyKCk6IHZvaWQge1xuXHRcdHRoaXMuc2hvdygpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcIm1vdXNlbGVhdmVcIilcblx0b25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuXHRcdHRoaXMuaGlkZSgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImZvY3VzaW5cIilcblx0b25Gb2N1c0luKCk6IHZvaWQge1xuXHRcdHRoaXMuc2hvdygpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImZvY3Vzb3V0XCIpXG5cdG9uRm9jdXNPdXQoKTogdm9pZCB7XG5cdFx0dGhpcy5oaWRlKCk7XG5cdH1cblxuXHRwcml2YXRlIHNob3coKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3BlbiB8fCAhdGhpcy50ZXh0KSByZXR1cm47XG5cblx0XHR0aGlzLm9wZW4gPSB0cnVlO1xuXHRcdHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXHRcdHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBoaWRlKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5vcGVuKSByZXR1cm47XG5cblx0XHR0aGlzLm9wZW4gPSBmYWxzZTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0XHR0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG5cdH1cblxuXHRwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG5cdFx0Y29uc3QgdHJpZ2dlckVsID1cblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCI6c2NvcGUgPiAqXCIpIHx8XG5cdFx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuXHRcdGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcblx0XHRcdC5wb3NpdGlvbigpXG5cdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyh0cmlnZ2VyRWwpXG5cdFx0XHQud2l0aFBvc2l0aW9ucyh0aGlzLmdldFBvc2l0aW9uQ29uZmlncygpKVxuXHRcdFx0LndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG5cdFx0XHQud2l0aFB1c2godHJ1ZSk7XG5cblx0XHRjb25zdCBwYW5lbENsYXNzID0gbWVyZ2VPdmVybGF5UGFuZWxDbGFzcyhPVkVSTEFZX0JBU0VfWl9JTkRFWCk7XG5cblx0XHR0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcblx0XHRcdHBvc2l0aW9uU3RyYXRlZ3ksXG5cdFx0XHRwYW5lbENsYXNzLFxuXHRcdH0pO1xuXG5cdFx0Y29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuXHRcdFx0dGhpcy50b29sdGlwVGVtcGxhdGUsXG5cdFx0XHR0aGlzLnZpZXdDb250YWluZXJSZWYsXG5cdFx0KTtcblx0XHR0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cdH1cblxuXHRwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG5cdFx0XHR0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgZ2V0UG9zaXRpb25Db25maWdzKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuXHRcdGNvbnN0IG9mZnNldCA9IDQ7XG5cblx0XHRzd2l0Y2ggKHRoaXMuc2lkZSkge1xuXHRcdFx0Y2FzZSBcImJvdHRvbVwiOlxuXHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdG9yaWdpblg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvcmlnaW5ZOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvdmVybGF5WTogXCJ0b3BcIixcblx0XHRcdFx0XHRcdG9mZnNldFk6IG9mZnNldCxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdG9yaWdpblg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvcmlnaW5ZOiBcInRvcFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvdmVybGF5WTogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdG9mZnNldFk6IC1vZmZzZXQsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XTtcblx0XHRcdGNhc2UgXCJsZWZ0XCI6XG5cdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0b3JpZ2luWDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdFx0b3JpZ2luWTogXCJjZW50ZXJcIixcblx0XHRcdFx0XHRcdG92ZXJsYXlYOiBcImVuZFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVk6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvZmZzZXRYOiAtb2Zmc2V0LFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0b3JpZ2luWDogXCJlbmRcIixcblx0XHRcdFx0XHRcdG9yaWdpblk6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvdmVybGF5WDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVk6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvZmZzZXRYOiBvZmZzZXQsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XTtcblx0XHRcdGNhc2UgXCJyaWdodFwiOlxuXHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdG9yaWdpblg6IFwiZW5kXCIsXG5cdFx0XHRcdFx0XHRvcmlnaW5ZOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVg6IFwic3RhcnRcIixcblx0XHRcdFx0XHRcdG92ZXJsYXlZOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdFx0b2Zmc2V0WDogb2Zmc2V0LFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0b3JpZ2luWDogXCJzdGFydFwiLFxuXHRcdFx0XHRcdFx0b3JpZ2luWTogXCJjZW50ZXJcIixcblx0XHRcdFx0XHRcdG92ZXJsYXlYOiBcImVuZFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVk6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvZmZzZXRYOiAtb2Zmc2V0LFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdF07XG5cdFx0XHRjYXNlIFwidG9wXCI6XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdG9yaWdpblg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvcmlnaW5ZOiBcInRvcFwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVg6IFwiY2VudGVyXCIsXG5cdFx0XHRcdFx0XHRvdmVybGF5WTogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdG9mZnNldFk6IC1vZmZzZXQsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRvcmlnaW5YOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdFx0b3JpZ2luWTogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdG92ZXJsYXlYOiBcImNlbnRlclwiLFxuXHRcdFx0XHRcdFx0b3ZlcmxheVk6IFwidG9wXCIsXG5cdFx0XHRcdFx0XHRvZmZzZXRZOiBvZmZzZXQsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XTtcblx0XHR9XG5cdH1cbn1cbiIsIjxzcGFuXG4gIGNsYXNzPVwicmVsYXRpdmUgaW5saW5lLWZsZXhcIlxuICBbbmdDbGFzc109XCJjbGFzc05hbWVcIlxuICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcbiAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gIDwhLS0gVGVtcGxhdGUgZm9yIENESyBPdmVybGF5IC0tPlxuICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBUZW1wbGF0ZT5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJwb2ludGVyLWV2ZW50cy1ub25lIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJnLWZvcmVncm91bmQgcHgtMyBweS0xLjUgdGV4dC14cyB0ZXh0LWJhY2tncm91bmQgYW5pbWF0ZS1pbiBmYWRlLWluLTAgem9vbS1pbi05NVwiXG4gICAgPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvc3Bhbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvc3Bhbj5cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Z-Index helper for overlay components.
|
|
3
|
+
*
|
|
4
|
+
* CRITICAL: Consumer custom panelClass MUST NOT replace the base z-index.
|
|
5
|
+
* This helper ensures z-index is preserved when merging custom classes.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Base z-index class for overlays - MUST be included in any overlay panel.
|
|
9
|
+
* This ensures overlays appear above modals (z-50) and drawers (z-40).
|
|
10
|
+
*/
|
|
11
|
+
export const OVERLAY_BASE_Z_INDEX = "z-[70]";
|
|
12
|
+
/**
|
|
13
|
+
* Merge consumer's panelClass with our base z-index.
|
|
14
|
+
* Consumer classes are APPENDED, not replacing our z-index guarantee.
|
|
15
|
+
*
|
|
16
|
+
* @param baseZIndex - Base z-index class to enforce (default: OVERLAY_BASE_Z_INDEX)
|
|
17
|
+
* @param consumerClasses - Optional additional classes from consumer
|
|
18
|
+
* @returns Array of classes safe for CDK Overlay panelClass
|
|
19
|
+
*/
|
|
20
|
+
export function mergeOverlayPanelClass(baseZIndex = OVERLAY_BASE_Z_INDEX, consumerClasses) {
|
|
21
|
+
const baseClasses = baseZIndex.split(" ");
|
|
22
|
+
if (!consumerClasses) {
|
|
23
|
+
return baseClasses;
|
|
24
|
+
}
|
|
25
|
+
const consumerClassArray = Array.isArray(consumerClasses)
|
|
26
|
+
? consumerClasses
|
|
27
|
+
: consumerClasses.split(" ");
|
|
28
|
+
// Consumer classes are appended AFTER base classes
|
|
29
|
+
// This ensures z-index from baseClasses is preserved first
|
|
30
|
+
return [...baseClasses, ...consumerClassArray];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create OverlayConfig with guaranteed z-index.
|
|
34
|
+
* Use this instead of direct OverlayConfig to ensure z-index enforcement.
|
|
35
|
+
*
|
|
36
|
+
* @param baseConfig - Base overlay configuration
|
|
37
|
+
* @param consumerPanelClass - Optional consumer panelClass to merge
|
|
38
|
+
* @returns OverlayConfig with z-index guarantee
|
|
39
|
+
*/
|
|
40
|
+
export function createZIndexEnforcedOverlay(baseConfig, consumerPanelClass) {
|
|
41
|
+
const mergedClasses = mergeOverlayPanelClass(OVERLAY_BASE_Z_INDEX, consumerPanelClass);
|
|
42
|
+
const existingPanelClass = baseConfig.panelClass;
|
|
43
|
+
if (existingPanelClass) {
|
|
44
|
+
const existingArray = Array.isArray(existingPanelClass)
|
|
45
|
+
? existingPanelClass
|
|
46
|
+
: existingPanelClass.split(" ");
|
|
47
|
+
return {
|
|
48
|
+
...baseConfig,
|
|
49
|
+
panelClass: [...mergedClasses, ...existingArray],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
...baseConfig,
|
|
54
|
+
panelClass: mergedClasses,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Helper to extract z-index from a class string for debugging.
|
|
59
|
+
*/
|
|
60
|
+
export function extractZIndex(classes) {
|
|
61
|
+
const classArray = Array.isArray(classes) ? classes : classes.split(" ");
|
|
62
|
+
for (const cls of classArray) {
|
|
63
|
+
if (cls.startsWith("z-") || cls.startsWith("z-[")) {
|
|
64
|
+
return cls;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiei1pbmRleC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL292ZXJsYXkvei1pbmRleC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7Ozs7O0dBS0c7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxRQUFRLENBQUM7QUFFN0M7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FDckMsYUFBcUIsb0JBQW9CLEVBQ3pDLGVBQW1DO0lBRW5DLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFMUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtRQUNyQixPQUFPLFdBQVcsQ0FBQztLQUNuQjtJQUVELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDeEQsQ0FBQyxDQUFDLGVBQWU7UUFDakIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFOUIsbURBQW1EO0lBQ25ELDJEQUEyRDtJQUMzRCxPQUFPLENBQUMsR0FBRyxXQUFXLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUMxQyxVQUF5QixFQUN6QixrQkFBc0M7SUFFdEMsTUFBTSxhQUFhLEdBQUcsc0JBQXNCLENBQzNDLG9CQUFvQixFQUNwQixrQkFBa0IsQ0FDbEIsQ0FBQztJQUVGLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUVqRCxJQUFJLGtCQUFrQixFQUFFO1FBQ3ZCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7WUFDdEQsQ0FBQyxDQUFDLGtCQUFrQjtZQUNwQixDQUFDLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpDLE9BQU87WUFDTixHQUFHLFVBQVU7WUFDYixVQUFVLEVBQUUsQ0FBQyxHQUFHLGFBQWEsRUFBRSxHQUFHLGFBQWEsQ0FBQztTQUNoRCxDQUFDO0tBQ0Y7SUFFRCxPQUFPO1FBQ04sR0FBRyxVQUFVO1FBQ2IsVUFBVSxFQUFFLGFBQWE7S0FDekIsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBMEI7SUFDdkQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXpFLEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFO1FBQzdCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xELE9BQU8sR0FBRyxDQUFDO1NBQ1g7S0FDRDtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgT3ZlcmxheUNvbmZpZyB7XG5cdHBhbmVsQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblx0Ly8gLi4uIG90aGVyIHByb3BlcnRpZXNcbn1cblxuLyoqXG4gKiBaLUluZGV4IGhlbHBlciBmb3Igb3ZlcmxheSBjb21wb25lbnRzLlxuICpcbiAqIENSSVRJQ0FMOiBDb25zdW1lciBjdXN0b20gcGFuZWxDbGFzcyBNVVNUIE5PVCByZXBsYWNlIHRoZSBiYXNlIHotaW5kZXguXG4gKiBUaGlzIGhlbHBlciBlbnN1cmVzIHotaW5kZXggaXMgcHJlc2VydmVkIHdoZW4gbWVyZ2luZyBjdXN0b20gY2xhc3Nlcy5cbiAqL1xuXG4vKipcbiAqIEJhc2Ugei1pbmRleCBjbGFzcyBmb3Igb3ZlcmxheXMgLSBNVVNUIGJlIGluY2x1ZGVkIGluIGFueSBvdmVybGF5IHBhbmVsLlxuICogVGhpcyBlbnN1cmVzIG92ZXJsYXlzIGFwcGVhciBhYm92ZSBtb2RhbHMgKHotNTApIGFuZCBkcmF3ZXJzICh6LTQwKS5cbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJMQVlfQkFTRV9aX0lOREVYID0gXCJ6LVs3MF1cIjtcblxuLyoqXG4gKiBNZXJnZSBjb25zdW1lcidzIHBhbmVsQ2xhc3Mgd2l0aCBvdXIgYmFzZSB6LWluZGV4LlxuICogQ29uc3VtZXIgY2xhc3NlcyBhcmUgQVBQRU5ERUQsIG5vdCByZXBsYWNpbmcgb3VyIHotaW5kZXggZ3VhcmFudGVlLlxuICpcbiAqIEBwYXJhbSBiYXNlWkluZGV4IC0gQmFzZSB6LWluZGV4IGNsYXNzIHRvIGVuZm9yY2UgKGRlZmF1bHQ6IE9WRVJMQVlfQkFTRV9aX0lOREVYKVxuICogQHBhcmFtIGNvbnN1bWVyQ2xhc3NlcyAtIE9wdGlvbmFsIGFkZGl0aW9uYWwgY2xhc3NlcyBmcm9tIGNvbnN1bWVyXG4gKiBAcmV0dXJucyBBcnJheSBvZiBjbGFzc2VzIHNhZmUgZm9yIENESyBPdmVybGF5IHBhbmVsQ2xhc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlT3ZlcmxheVBhbmVsQ2xhc3MoXG5cdGJhc2VaSW5kZXg6IHN0cmluZyA9IE9WRVJMQVlfQkFTRV9aX0lOREVYLFxuXHRjb25zdW1lckNsYXNzZXM/OiBzdHJpbmcgfCBzdHJpbmdbXSxcbik6IHN0cmluZ1tdIHtcblx0Y29uc3QgYmFzZUNsYXNzZXMgPSBiYXNlWkluZGV4LnNwbGl0KFwiIFwiKTtcblxuXHRpZiAoIWNvbnN1bWVyQ2xhc3Nlcykge1xuXHRcdHJldHVybiBiYXNlQ2xhc3Nlcztcblx0fVxuXG5cdGNvbnN0IGNvbnN1bWVyQ2xhc3NBcnJheSA9IEFycmF5LmlzQXJyYXkoY29uc3VtZXJDbGFzc2VzKVxuXHRcdD8gY29uc3VtZXJDbGFzc2VzXG5cdFx0OiBjb25zdW1lckNsYXNzZXMuc3BsaXQoXCIgXCIpO1xuXG5cdC8vIENvbnN1bWVyIGNsYXNzZXMgYXJlIGFwcGVuZGVkIEFGVEVSIGJhc2UgY2xhc3Nlc1xuXHQvLyBUaGlzIGVuc3VyZXMgei1pbmRleCBmcm9tIGJhc2VDbGFzc2VzIGlzIHByZXNlcnZlZCBmaXJzdFxuXHRyZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAuLi5jb25zdW1lckNsYXNzQXJyYXldO1xufVxuXG4vKipcbiAqIENyZWF0ZSBPdmVybGF5Q29uZmlnIHdpdGggZ3VhcmFudGVlZCB6LWluZGV4LlxuICogVXNlIHRoaXMgaW5zdGVhZCBvZiBkaXJlY3QgT3ZlcmxheUNvbmZpZyB0byBlbnN1cmUgei1pbmRleCBlbmZvcmNlbWVudC5cbiAqXG4gKiBAcGFyYW0gYmFzZUNvbmZpZyAtIEJhc2Ugb3ZlcmxheSBjb25maWd1cmF0aW9uXG4gKiBAcGFyYW0gY29uc3VtZXJQYW5lbENsYXNzIC0gT3B0aW9uYWwgY29uc3VtZXIgcGFuZWxDbGFzcyB0byBtZXJnZVxuICogQHJldHVybnMgT3ZlcmxheUNvbmZpZyB3aXRoIHotaW5kZXggZ3VhcmFudGVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVaSW5kZXhFbmZvcmNlZE92ZXJsYXkoXG5cdGJhc2VDb25maWc6IE92ZXJsYXlDb25maWcsXG5cdGNvbnN1bWVyUGFuZWxDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdLFxuKTogT3ZlcmxheUNvbmZpZyB7XG5cdGNvbnN0IG1lcmdlZENsYXNzZXMgPSBtZXJnZU92ZXJsYXlQYW5lbENsYXNzKFxuXHRcdE9WRVJMQVlfQkFTRV9aX0lOREVYLFxuXHRcdGNvbnN1bWVyUGFuZWxDbGFzcyxcblx0KTtcblxuXHRjb25zdCBleGlzdGluZ1BhbmVsQ2xhc3MgPSBiYXNlQ29uZmlnLnBhbmVsQ2xhc3M7XG5cblx0aWYgKGV4aXN0aW5nUGFuZWxDbGFzcykge1xuXHRcdGNvbnN0IGV4aXN0aW5nQXJyYXkgPSBBcnJheS5pc0FycmF5KGV4aXN0aW5nUGFuZWxDbGFzcylcblx0XHRcdD8gZXhpc3RpbmdQYW5lbENsYXNzXG5cdFx0XHQ6IGV4aXN0aW5nUGFuZWxDbGFzcy5zcGxpdChcIiBcIik7XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0Li4uYmFzZUNvbmZpZyxcblx0XHRcdHBhbmVsQ2xhc3M6IFsuLi5tZXJnZWRDbGFzc2VzLCAuLi5leGlzdGluZ0FycmF5XSxcblx0XHR9O1xuXHR9XG5cblx0cmV0dXJuIHtcblx0XHQuLi5iYXNlQ29uZmlnLFxuXHRcdHBhbmVsQ2xhc3M6IG1lcmdlZENsYXNzZXMsXG5cdH07XG59XG5cbi8qKlxuICogSGVscGVyIHRvIGV4dHJhY3Qgei1pbmRleCBmcm9tIGEgY2xhc3Mgc3RyaW5nIGZvciBkZWJ1Z2dpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0WkluZGV4KGNsYXNzZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nIHwgbnVsbCB7XG5cdGNvbnN0IGNsYXNzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNsYXNzZXMpID8gY2xhc3NlcyA6IGNsYXNzZXMuc3BsaXQoXCIgXCIpO1xuXG5cdGZvciAoY29uc3QgY2xzIG9mIGNsYXNzQXJyYXkpIHtcblx0XHRpZiAoY2xzLnN0YXJ0c1dpdGgoXCJ6LVwiKSB8fCBjbHMuc3RhcnRzV2l0aChcInotW1wiKSkge1xuXHRcdFx0cmV0dXJuIGNscztcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gbnVsbDtcbn1cbiJdfQ==
|
|
@@ -22,6 +22,7 @@ import { PdmContextMenuComponent } from './components/context-menu/context-menu.
|
|
|
22
22
|
import { PdmDataTableComponent } from './components/data-table/data-table.component';
|
|
23
23
|
import { PdmDatePickerComponent } from './components/date-picker/date-picker.component';
|
|
24
24
|
import { PdmDialogComponent } from './components/dialog/dialog.component';
|
|
25
|
+
import { PdmDraggableTableComponent } from './components/draggable-table/draggable-table.component';
|
|
25
26
|
import { PdmDropdownMenuComponent } from './components/dropdown-menu/dropdown-menu.component';
|
|
26
27
|
import { PdmDrawerComponent } from './components/drawer/drawer.component';
|
|
27
28
|
import { PdmEmptyComponent } from './components/empty/empty.component';
|
|
@@ -83,6 +84,7 @@ const COMPONENTS = [
|
|
|
83
84
|
PdmDataTableComponent,
|
|
84
85
|
PdmDatePickerComponent,
|
|
85
86
|
PdmDialogComponent,
|
|
87
|
+
PdmDraggableTableComponent,
|
|
86
88
|
PdmDropdownMenuComponent,
|
|
87
89
|
PdmDrawerComponent,
|
|
88
90
|
PdmEmptyComponent,
|
|
@@ -146,6 +148,7 @@ PdmUiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
146
148
|
PdmDataTableComponent,
|
|
147
149
|
PdmDatePickerComponent,
|
|
148
150
|
PdmDialogComponent,
|
|
151
|
+
PdmDraggableTableComponent,
|
|
149
152
|
PdmDropdownMenuComponent,
|
|
150
153
|
PdmDrawerComponent,
|
|
151
154
|
PdmEmptyComponent,
|
|
@@ -204,6 +207,7 @@ PdmUiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
204
207
|
PdmDataTableComponent,
|
|
205
208
|
PdmDatePickerComponent,
|
|
206
209
|
PdmDialogComponent,
|
|
210
|
+
PdmDraggableTableComponent,
|
|
207
211
|
PdmDropdownMenuComponent,
|
|
208
212
|
PdmDrawerComponent,
|
|
209
213
|
PdmEmptyComponent,
|
|
@@ -251,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
251
255
|
exports: COMPONENTS
|
|
252
256
|
}]
|
|
253
257
|
}] });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRtLXVpLWtpdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3BkbS11aS1raXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixP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QUFhLENBQUM7b0JBQ3RDLFlBQVksRUFBRSxVQUFVO29CQUN4QixPQUFPLEVBQUUsVUFBVTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQZG1BY2NvcmRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUFzcGVjdFJhdGlvQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FzcGVjdC1yYXRpby9hc3BlY3QtcmF0aW8uY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1CYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUJ1dHRvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1DYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1DaGFydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFydC9jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUNvbGxhcHNpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Db21ib2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQ29tbWFuZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb21tYW5kL2NvbW1hbmQuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUNvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbURhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbURhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Ecm9wZG93bk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1EcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhd2VyL2RyYXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtRW1wdHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1wdHkvZW1wdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Ib3ZlckNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaG92ZXItY2FyZC9ob3Zlci1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1JY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pdGVtL2l0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1JbnB1dFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1JbnB1dEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1JbnB1dE90cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1vdHAvaW5wdXQtb3RwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1LYmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMva2JkL2tiZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbU1lbnViYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1OYXRpdmVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF0aXZlLXNlbGVjdC9uYXRpdmUtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1OYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1lbnUvbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1PdXRzaWRlQ2xpY2tEaXJlY3RpdmUgfSBmcm9tICcuL292ZXJsYXkvcGRtLW91dHNpZGUtY2xpY2suZGlyZWN0aXZlJztcbmltcG9ydCB7IFBkbVBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Qb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtUHJvZ3Jlc3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVJhZGlvR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVNjcm9sbEFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2Nyb2xsLWFyZWEvc2Nyb2xsLWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1TZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFBkbVNlcGFyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZXBhcmF0b3Ivc2VwYXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1TaGVldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGVldC9zaGVldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NrZWxldG9uL3NrZWxldG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1TbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2xpZGVyL3NsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtU29ubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Nvbm5lci9zb25uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Td2l0Y2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVRhYnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1UZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVRvZ2dsZUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvZ2dsZS1ncm91cC90b2dnbGUtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIFBkbUFjY29yZGlvbkNvbXBvbmVudCxcbiAgUGRtQWxlcnRDb21wb25lbnQsXG4gIFBkbUFsZXJ0RGlhbG9nQ29tcG9uZW50LFxuICBQZG1Bc3BlY3RSYXRpb0NvbXBvbmVudCxcbiAgUGRtQXZhdGFyQ29tcG9uZW50LFxuICBQZG1CYWRnZUNvbXBvbmVudCxcbiAgUGRtQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgUGRtQnV0dG9uR3JvdXBDb21wb25lbnQsXG4gIFBkbUJ1dHRvbkNvbXBvbmVudCxcbiAgUGRtQ2FsZW5kYXJDb21wb25lbnQsXG4gIFBkbUNhcm91c2VsQ29tcG9uZW50LFxuICBQZG1DYXJkQ29tcG9uZW50LFxuICBQZG1DaGFydENvbXBvbmVudCxcbiAgUGRtQ2hlY2tib3hDb21wb25lbnQsXG4gIFBkbUNvbGxhcHNpYmxlQ29tcG9uZW50LFxuICBQZG1Db21ib2JveENvbXBvbmVudCxcbiAgUGRtQ29tbWFuZENvbXBvbmVudCxcbiAgUGRtQ29udGV4dE1lbnVDb21wb25lbnQsXG4gIFBkbURhdGFUYWJsZUNvbXBvbmVudCxcbiAgUGRtRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgUGRtRGlhbG9nQ29tcG9uZW50LFxuICBQZG1Ecm9wZG93bk1lbnVDb21wb25lbnQsXG4gIFBkbURyYXdlckNvbXBvbmVudCxcbiAgUGRtRW1wdHlDb21wb25lbnQsXG4gIFBkbUZpZWxkQ29tcG9uZW50LFxuICBQZG1Ib3ZlckNhcmRDb21wb25lbnQsXG4gIFBkbUljb25Db21wb25lbnQsXG4gIFBkbUl0ZW1Db21wb25lbnQsXG4gIFBkbUlucHV0Q29tcG9uZW50LFxuICBQZG1JbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICBQZG1JbnB1dEdyb3VwQ29tcG9uZW50LFxuICBQZG1JbnB1dE90cENvbXBvbmVudCxcbiAgUGRtS2JkQ29tcG9uZW50LFxuICBQZG1MYWJlbENvbXBvbmVudCxcbiAgUGRtTWVudWJhckNvbXBvbmVudCxcbiAgUGRtTmF0aXZlU2VsZWN0Q29tcG9uZW50LFxuICBQZG1OYXZpZ2F0aW9uTWVudUNvbXBvbmVudCxcbiAgUGRtT3V0c2lkZUNsaWNrRGlyZWN0aXZlLFxuICBQZG1QYWdpbmF0aW9uQ29tcG9uZW50LFxuICBQZG1Qb3BvdmVyQ29tcG9uZW50LFxuICBQZG1Qcm9ncmVzc0NvbXBvbmVudCxcbiAgUGRtUmFkaW9Hcm91cENvbXBvbmVudCxcbiAgUGRtU2Nyb2xsQXJlYUNvbXBvbmVudCxcbiAgUGRtU2VsZWN0Q29tcG9uZW50LFxuICBQZG1TZWxlY3RPcHRpb25EaXJlY3RpdmUsXG4gIFBkbVNlcGFyYXRvckNvbXBvbmVudCxcbiAgUGRtU2hlZXRDb21wb25lbnQsXG4gIFBkbVNpZGViYXJDb21wb25lbnQsXG4gIFBkbVNrZWxldG9uQ29tcG9uZW50LFxuICBQZG1TbGlkZXJDb21wb25lbnQsXG4gIFBkbVNvbm5lckNvbXBvbmVudCxcbiAgUGRtU3Bpbm5lckNvbXBvbmVudCxcbiAgUGRtU3dpdGNoQ29tcG9uZW50LFxuICBQZG1UYWJsZUNvbXBvbmVudCxcbiAgUGRtVGFic0NvbXBvbmVudCxcbiAgUGRtVGV4dGFyZWFDb21wb25lbnQsXG4gIFBkbVRvZ2dsZUNvbXBvbmVudCxcbiAgUGRtVG9nZ2xlR3JvdXBDb21wb25lbnQsXG4gIFBkbVRvb2x0aXBDb21wb25lbnRcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IENPTVBPTkVOVFMsXG4gIGV4cG9ydHM6IENPTVBPTkVOVFNcbn0pXG5leHBvcnQgY2xhc3MgUGRtVWlLaXRNb2R1bGUge31cbiJdfQ==
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRtLXVpLWtpdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3BkbS11aS1raXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixP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YyxZQUpmLFlBQVksRUFBRSxhQUFhOzJGQUkxQixjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLFlBQVksRUFBRSxVQUFVO29CQUN4QixPQUFPLEVBQUUsVUFBVTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQZG1BY2NvcmRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUFzcGVjdFJhdGlvQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FzcGVjdC1yYXRpby9hc3BlY3QtcmF0aW8uY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1CYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUJ1dHRvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1DYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQ2Fyb3VzZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1DaGFydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFydC9jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUNvbGxhcHNpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxhcHNpYmxlL2NvbGxhcHNpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Db21ib2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtQ29tbWFuZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb21tYW5kL2NvbW1hbmQuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUNvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbURhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbURhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1EcmFnZ2FibGVUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcmFnZ2FibGUtdGFibGUvZHJhZ2dhYmxlLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Ecm9wZG93bk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1EcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhd2VyL2RyYXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtRW1wdHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1wdHkvZW1wdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Ib3ZlckNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaG92ZXItY2FyZC9ob3Zlci1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1JY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pdGVtL2l0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFBkbUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1JbnB1dFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1JbnB1dEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1JbnB1dE90cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1vdHAvaW5wdXQtb3RwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1LYmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMva2JkL2tiZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbU1lbnViYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudWJhci9tZW51YmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1OYXRpdmVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF0aXZlLXNlbGVjdC9uYXRpdmUtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1OYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1lbnUvbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1PdXRzaWRlQ2xpY2tEaXJlY3RpdmUgfSBmcm9tICcuL292ZXJsYXkvcGRtLW91dHNpZGUtY2xpY2suZGlyZWN0aXZlJztcbmltcG9ydCB7IFBkbVBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Qb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtUHJvZ3Jlc3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVJhZGlvR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVNjcm9sbEFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2Nyb2xsLWFyZWEvc2Nyb2xsLWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1TZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFBkbVNlcGFyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZXBhcmF0b3Ivc2VwYXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1TaGVldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGVldC9zaGVldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NrZWxldG9uL3NrZWxldG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1TbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2xpZGVyL3NsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtU29ubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Nvbm5lci9zb25uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1Td2l0Y2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVRhYnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZG1UZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGRtVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVRvZ2dsZUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvZ2dsZS1ncm91cC90b2dnbGUtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBkbVRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIFBkbUFjY29yZGlvbkNvbXBvbmVudCxcbiAgUGRtQWxlcnRDb21wb25lbnQsXG4gIFBkbUFsZXJ0RGlhbG9nQ29tcG9uZW50LFxuICBQZG1Bc3BlY3RSYXRpb0NvbXBvbmVudCxcbiAgUGRtQXZhdGFyQ29tcG9uZW50LFxuICBQZG1CYWRnZUNvbXBvbmVudCxcbiAgUGRtQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgUGRtQnV0dG9uR3JvdXBDb21wb25lbnQsXG4gIFBkbUJ1dHRvbkNvbXBvbmVudCxcbiAgUGRtQ2FsZW5kYXJDb21wb25lbnQsXG4gIFBkbUNhcm91c2VsQ29tcG9uZW50LFxuICBQZG1DYXJkQ29tcG9uZW50LFxuICBQZG1DaGFydENvbXBvbmVudCxcbiAgUGRtQ2hlY2tib3hDb21wb25lbnQsXG4gIFBkbUNvbGxhcHNpYmxlQ29tcG9uZW50LFxuICBQZG1Db21ib2JveENvbXBvbmVudCxcbiAgUGRtQ29tbWFuZENvbXBvbmVudCxcbiAgUGRtQ29udGV4dE1lbnVDb21wb25lbnQsXG4gIFBkbURhdGFUYWJsZUNvbXBvbmVudCxcbiAgUGRtRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgUGRtRGlhbG9nQ29tcG9uZW50LFxuICBQZG1EcmFnZ2FibGVUYWJsZUNvbXBvbmVudCxcbiAgUGRtRHJvcGRvd25NZW51Q29tcG9uZW50LFxuICBQZG1EcmF3ZXJDb21wb25lbnQsXG4gIFBkbUVtcHR5Q29tcG9uZW50LFxuICBQZG1GaWVsZENvbXBvbmVudCxcbiAgUGRtSG92ZXJDYXJkQ29tcG9uZW50LFxuICBQZG1JY29uQ29tcG9uZW50LFxuICBQZG1JdGVtQ29tcG9uZW50LFxuICBQZG1JbnB1dENvbXBvbmVudCxcbiAgUGRtSW5wdXRQYXNzd29yZENvbXBvbmVudCxcbiAgUGRtSW5wdXRHcm91cENvbXBvbmVudCxcbiAgUGRtSW5wdXRPdHBDb21wb25lbnQsXG4gIFBkbUtiZENvbXBvbmVudCxcbiAgUGRtTGFiZWxDb21wb25lbnQsXG4gIFBkbU1lbnViYXJDb21wb25lbnQsXG4gIFBkbU5hdGl2ZVNlbGVjdENvbXBvbmVudCxcbiAgUGRtTmF2aWdhdGlvbk1lbnVDb21wb25lbnQsXG4gIFBkbU91dHNpZGVDbGlja0RpcmVjdGl2ZSxcbiAgUGRtUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgUGRtUG9wb3ZlckNvbXBvbmVudCxcbiAgUGRtUHJvZ3Jlc3NDb21wb25lbnQsXG4gIFBkbVJhZGlvR3JvdXBDb21wb25lbnQsXG4gIFBkbVNjcm9sbEFyZWFDb21wb25lbnQsXG4gIFBkbVNlbGVjdENvbXBvbmVudCxcbiAgUGRtU2VsZWN0T3B0aW9uRGlyZWN0aXZlLFxuICBQZG1TZXBhcmF0b3JDb21wb25lbnQsXG4gIFBkbVNoZWV0Q29tcG9uZW50LFxuICBQZG1TaWRlYmFyQ29tcG9uZW50LFxuICBQZG1Ta2VsZXRvbkNvbXBvbmVudCxcbiAgUGRtU2xpZGVyQ29tcG9uZW50LFxuICBQZG1Tb25uZXJDb21wb25lbnQsXG4gIFBkbVNwaW5uZXJDb21wb25lbnQsXG4gIFBkbVN3aXRjaENvbXBvbmVudCxcbiAgUGRtVGFibGVDb21wb25lbnQsXG4gIFBkbVRhYnNDb21wb25lbnQsXG4gIFBkbVRleHRhcmVhQ29tcG9uZW50LFxuICBQZG1Ub2dnbGVDb21wb25lbnQsXG4gIFBkbVRvZ2dsZUdyb3VwQ29tcG9uZW50LFxuICBQZG1Ub29sdGlwQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBDT01QT05FTlRTLFxuICBleHBvcnRzOiBDT01QT05FTlRTXG59KVxuZXhwb3J0IGNsYXNzIFBkbVVpS2l0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sistema de responsive utilities para PDM UI Kit
|
|
3
|
+
*
|
|
4
|
+
* Proporciona constantes, tipos y helpers para manejar responsive design
|
|
5
|
+
* de forma consistente en todos los componentes.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Breakpoints estándar de Tailwind CSS
|
|
9
|
+
* Mobile-first approach: los estilos base son para mobile, los breakpoints son MIN-WIDTH
|
|
10
|
+
*/
|
|
11
|
+
export const BREAKPOINTS = {
|
|
12
|
+
sm: '640px',
|
|
13
|
+
md: '768px',
|
|
14
|
+
lg: '1024px',
|
|
15
|
+
xl: '1280px',
|
|
16
|
+
'2xl': '1536px' // extra large desktop
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Helper para generar clases responsive de forma programática
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* responsive({ default: 'block', sm: 'flex', lg: 'grid' })
|
|
23
|
+
* // Returns: 'block sm:flex lg:grid'
|
|
24
|
+
*/
|
|
25
|
+
export function responsive(config) {
|
|
26
|
+
const classes = [];
|
|
27
|
+
if (config.default) {
|
|
28
|
+
classes.push(config.default);
|
|
29
|
+
}
|
|
30
|
+
['sm', 'md', 'lg', 'xl', '2xl'].forEach(bp => {
|
|
31
|
+
if (config[bp]) {
|
|
32
|
+
classes.push(`${bp}:${config[bp]}`);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return classes.join(' ');
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Helper para overflow responsive
|
|
39
|
+
* Maneja el caso común de scroll en mobile, auto en desktop
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* overflowResponsive('x', 'scroll', 'auto')
|
|
43
|
+
* // Returns: 'overflow-x-scroll sm:overflow-x-auto'
|
|
44
|
+
*/
|
|
45
|
+
export function overflowResponsive(axis, mobile, desktop) {
|
|
46
|
+
const axisClass = axis === 'both' ? 'overflow' : `overflow-${axis}`;
|
|
47
|
+
const mobileClass = `${axisClass}-${mobile}`;
|
|
48
|
+
if (!desktop || desktop === mobile) {
|
|
49
|
+
return mobileClass;
|
|
50
|
+
}
|
|
51
|
+
return `${mobileClass} sm:${axisClass}-${desktop}`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Helper para spacing responsive
|
|
55
|
+
* Útil para padding/margin que necesita ajustarse por breakpoint
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* spacingResponsive('px', { default: '4', sm: '6', lg: '8' })
|
|
59
|
+
* // Returns: 'px-4 sm:px-6 lg:px-8'
|
|
60
|
+
*/
|
|
61
|
+
export function spacingResponsive(property, values) {
|
|
62
|
+
return responsive(Object.entries(values).reduce((acc, [key, value]) => {
|
|
63
|
+
acc[key] = `${property}-${value}`;
|
|
64
|
+
return acc;
|
|
65
|
+
}, {}));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Helper para width responsive
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* widthResponsive({ default: 'full', sm: 'auto', lg: '1/2' })
|
|
72
|
+
* // Returns: 'w-full sm:w-auto lg:w-1/2'
|
|
73
|
+
*/
|
|
74
|
+
export function widthResponsive(values) {
|
|
75
|
+
return responsive(Object.entries(values).reduce((acc, [key, value]) => {
|
|
76
|
+
acc[key] = `w-${value}`;
|
|
77
|
+
return acc;
|
|
78
|
+
}, {}));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Clases comunes para containers responsive
|
|
82
|
+
* Pensadas para wrappers que contienen contenido que puede desbordar
|
|
83
|
+
*/
|
|
84
|
+
export const RESPONSIVE_CONTAINER = {
|
|
85
|
+
// Container con scroll horizontal en mobile, contenido visible en desktop
|
|
86
|
+
tableWrapper: 'relative w-full overflow-x-auto sm:overflow-x-visible',
|
|
87
|
+
// Container con padding negativo en mobile para scroll edge-to-edge
|
|
88
|
+
tableWrapperFullBleed: 'relative w-full -mx-4 px-4 overflow-x-auto sm:mx-0 sm:px-0 sm:overflow-x-visible',
|
|
89
|
+
// Container con max-width responsive
|
|
90
|
+
contentWrapper: 'w-full mx-auto px-4 sm:px-6 lg:px-8 max-w-screen-2xl',
|
|
91
|
+
// Container para modals/dialogs
|
|
92
|
+
modalWrapper: 'w-full max-w-lg mx-auto px-4 sm:px-0',
|
|
93
|
+
// Container para forms
|
|
94
|
+
formWrapper: 'w-full max-w-md mx-auto space-y-4'
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Clases comunes para display responsive
|
|
98
|
+
*/
|
|
99
|
+
export const RESPONSIVE_DISPLAY = {
|
|
100
|
+
// Ocultar en mobile, mostrar en desktop
|
|
101
|
+
hideOnMobile: 'hidden sm:block',
|
|
102
|
+
// Mostrar solo en mobile
|
|
103
|
+
showOnMobile: 'block sm:hidden',
|
|
104
|
+
// Stack en mobile, flex en desktop
|
|
105
|
+
stackToFlex: 'flex flex-col sm:flex-row',
|
|
106
|
+
// Stack en mobile, grid en desktop
|
|
107
|
+
stackToGrid: 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3'
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Clases para table responsive strategies
|
|
111
|
+
*/
|
|
112
|
+
export const TABLE_RESPONSIVE = {
|
|
113
|
+
// Scroll horizontal (default, más simple)
|
|
114
|
+
scroll: {
|
|
115
|
+
wrapper: 'relative w-full overflow-x-auto',
|
|
116
|
+
table: 'w-full min-w-full',
|
|
117
|
+
cell: 'whitespace-nowrap'
|
|
118
|
+
},
|
|
119
|
+
// Permitir wrap del contenido
|
|
120
|
+
wrap: {
|
|
121
|
+
wrapper: 'relative w-full overflow-x-auto',
|
|
122
|
+
table: 'w-full',
|
|
123
|
+
cell: 'whitespace-normal break-words'
|
|
124
|
+
},
|
|
125
|
+
// Stack en mobile (cada fila se convierte en card)
|
|
126
|
+
// Requiere lógica adicional en el componente
|
|
127
|
+
stack: {
|
|
128
|
+
wrapper: 'relative w-full',
|
|
129
|
+
table: 'w-full',
|
|
130
|
+
row: 'block sm:table-row border-b sm:border-b-0',
|
|
131
|
+
cell: 'block sm:table-cell py-2 sm:py-0 before:content-[attr(data-label)] before:font-medium before:inline-block before:w-32 sm:before:content-none'
|
|
132
|
+
},
|
|
133
|
+
// Collapse: ocultar columnas menos importantes en mobile
|
|
134
|
+
// Se usa con clases de visibility en las columnas específicas
|
|
135
|
+
collapse: {
|
|
136
|
+
wrapper: 'relative w-full overflow-x-auto',
|
|
137
|
+
table: 'w-full',
|
|
138
|
+
cell: 'whitespace-nowrap',
|
|
139
|
+
// Estas clases se aplican a columnas opcionales
|
|
140
|
+
optionalColumn: 'hidden md:table-cell'
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvcmVzcG9uc2l2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixFQUFFLEVBQUUsT0FBTztJQUNYLEVBQUUsRUFBRSxPQUFPO0lBQ1gsRUFBRSxFQUFFLFFBQVE7SUFDWixFQUFFLEVBQUUsUUFBUTtJQUNaLEtBQUssRUFBRSxRQUFRLENBQUMsc0JBQXNCO0NBQzlCLENBQUM7QUFzQlg7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsTUFBa0Q7SUFFbEQsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO0lBRTdCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUM5QjtJQUVBLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDN0QsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsSUFBd0IsRUFDeEIsTUFBd0IsRUFDeEIsT0FBMEI7SUFFMUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENB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XG4gKiBTaXN0ZW1hIGRlIHJlc3BvbnNpdmUgdXRpbGl0aWVzIHBhcmEgUERNIFVJIEtpdFxuICogXG4gKiBQcm9wb3JjaW9uYSBjb25zdGFudGVzLCB0aXBvcyB5IGhlbHBlcnMgcGFyYSBtYW5lamFyIHJlc3BvbnNpdmUgZGVzaWduXG4gKiBkZSBmb3JtYSBjb25zaXN0ZW50ZSBlbiB0b2RvcyBsb3MgY29tcG9uZW50ZXMuXG4gKi9cblxuLyoqXG4gKiBCcmVha3BvaW50cyBlc3TDoW5kYXIgZGUgVGFpbHdpbmQgQ1NTXG4gKiBNb2JpbGUtZmlyc3QgYXBwcm9hY2g6IGxvcyBlc3RpbG9zIGJhc2Ugc29uIHBhcmEgbW9iaWxlLCBsb3MgYnJlYWtwb2ludHMgc29uIE1JTi1XSURUSFxuICovXG5leHBvcnQgY29uc3QgQlJFQUtQT0lOVFMgPSB7XG4gIHNtOiAnNjQwcHgnLCAgIC8vIHRhYmxldCBwb3J0cmFpdFxuICBtZDogJzc2OHB4JywgICAvLyB0YWJsZXQgbGFuZHNjYXBlXG4gIGxnOiAnMTAyNHB4JywgIC8vIGRlc2t0b3BcbiAgeGw6ICcxMjgwcHgnLCAgLy8gbGFyZ2UgZGVza3RvcFxuICAnMnhsJzogJzE1MzZweCcgLy8gZXh0cmEgbGFyZ2UgZGVza3RvcFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQnJlYWtwb2ludCA9IGtleW9mIHR5cGVvZiBCUkVBS1BPSU5UUztcblxuLyoqXG4gKiBFc3RyYXRlZ2lhcyBkZSBvdmVyZmxvdyBwYXJhIGNvbXBvbmVudGVzIHF1ZSBwdWVkZW4gZGVzYm9yZGFyXG4gKi9cbmV4cG9ydCB0eXBlIE92ZXJmbG93U3RyYXRlZ3kgPSBcbiAgfCAnYXV0bycgICAgICAgIC8vIFNjcm9sbCBhdXRvbcOhdGljbyBjdWFuZG8gc2VhIG5lY2VzYXJpb1xuICB8ICdzY3JvbGwnICAgICAgLy8gU2llbXByZSBzY3JvbGxcbiAgfCAnaGlkZGVuJyAgICAgIC8vIE9jdWx0YXIgY29udGVuaWRvIHF1ZSBkZXNib3JkYVxuICB8ICd2aXNpYmxlJzsgICAgLy8gUGVybWl0aXIgZGVzYm9yZGFtaWVudG9cblxuLyoqXG4gKiBFc3RyYXRlZ2lhcyByZXNwb25zaXZlIHBhcmEgdGFibGFzXG4gKi9cbmV4cG9ydCB0eXBlIFRhYmxlUmVzcG9uc2l2ZVN0cmF0ZWd5ID0gXG4gIHwgJ3Njcm9sbCcgICAgICAvLyBTY3JvbGwgaG9yaXpvbnRhbCBlbiBtb2JpbGUgKGRlZmF1bHQsIG3DoXMgc2ltcGxlKVxuICB8ICdzdGFjaycgICAgICAgLy8gQ29udmVydGlyIGZpbGFzIGVuIGNhcmRzIHZlcnRpY2FsZXMgZW4gbW9iaWxlXG4gIHwgJ3dyYXAnICAgICAgICAvLyBQZXJtaXRpciBxdWUgZWwgY29udGVuaWRvIGhhZ2Egd3JhcFxuICB8ICdjb2xsYXBzZSc7ICAgLy8gQ29sYXBzYXIgY29sdW1uYXMgbWVub3MgaW1wb3J0YW50ZXMgZW4gbW9iaWxlXG5cbi8qKlxuICogSGVscGVyIHBhcmEgZ2VuZXJhciBjbGFzZXMgcmVzcG9uc2l2ZSBkZSBmb3JtYSBwcm9ncmFtw6F0aWNhXG4gKiBcbiAqIEBleGFtcGxlXG4gKiByZXNwb25zaXZlKHsgZGVmYXVsdDogJ2Jsb2NrJywgc206ICdmbGV4JywgbGc6ICdncmlkJyB9KVxuICogLy8gUmV0dXJuczogJ2Jsb2NrIHNtOmZsZXggbGc6Z3JpZCdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc3BvbnNpdmU8VCBleHRlbmRzIHN0cmluZz4oXG4gIGNvbmZpZzogUGFydGlhbDxSZWNvcmQ8QnJlYWtwb2ludCB8ICdkZWZhdWx0JywgVD4+XG4pOiBzdHJpbmcge1xuICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuICBcbiAgaWYgKGNvbmZpZy5kZWZhdWx0KSB7XG4gICAgY2xhc3Nlcy5wdXNoKGNvbmZpZy5kZWZhdWx0KTtcbiAgfVxuICBcbiAgKFsnc20nLCAnbWQnLCAnbGcnLCAneGwnLCAnMnhsJ10gYXMgQnJlYWtwb2ludFtdKS5mb3JFYWNoKGJwID0+IHtcbiAgICBpZiAoY29uZmlnW2JwXSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKGAke2JwfToke2NvbmZpZ1ticF19YCk7XG4gICAgfVxuICB9KTtcbiAgXG4gIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgcGFyYSBvdmVyZmxvdyByZXNwb25zaXZlXG4gKiBNYW5lamEgZWwgY2FzbyBjb23Dum4gZGUgc2Nyb2xsIGVuIG1vYmlsZSwgYXV0byBlbiBkZXNrdG9wXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBvdmVyZmxvd1Jlc3BvbnNpdmUoJ3gnLCAnc2Nyb2xsJywgJ2F1dG8nKVxuICogLy8gUmV0dXJuczogJ292ZXJmbG93LXgtc2Nyb2xsIHNtOm92ZXJmbG93LXgtYXV0bydcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG92ZXJmbG93UmVzcG9uc2l2ZShcbiAgYXhpczogJ3gnIHwgJ3knIHwgJ2JvdGgnLFxuICBtb2JpbGU6IE92ZXJmbG93U3RyYXRlZ3ksXG4gIGRlc2t0b3A/OiBPdmVyZmxvd1N0cmF0ZWd5XG4pOiBzdHJpbmcge1xuICBjb25zdCBheGlzQ2xhc3MgPSBheGlzID09PSAnYm90aCcgPyAnb3ZlcmZsb3cnIDogYG92ZXJmbG93LSR7YXhpc31gO1xuICBjb25zdCBtb2JpbGVDbGFzcyA9IGAke2F4aXNDbGFzc30tJHttb2JpbGV9YDtcbiAgXG4gIGlmICghZGVza3RvcCB8fCBkZXNrdG9wID09PSBtb2JpbGUpIHtcbiAgICByZXR1cm4gbW9iaWxlQ2xhc3M7XG4gIH1cbiAgXG4gIHJldHVybiBgJHttb2JpbGVDbGFzc30gc206JHtheGlzQ2xhc3N9LSR7ZGVza3RvcH1gO1xufVxuXG4vKipcbiAqIEhlbHBlciBwYXJhIHNwYWNpbmcgcmVzcG9uc2l2ZVxuICogw5p0aWwgcGFyYSBwYWRkaW5nL21hcmdpbiBxdWUgbmVjZXNpdGEgYWp1c3RhcnNlIHBvciBicmVha3BvaW50XG4gKiBcbiAqIEBleGFtcGxlXG4gKiBzcGFjaW5nUmVzcG9uc2l2ZSgncHgnLCB7IGRlZmF1bHQ6ICc0Jywgc206ICc2JywgbGc6ICc4JyB9KVxuICogLy8gUmV0dXJuczogJ3B4LTQgc206cHgtNiBsZzpweC04J1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3BhY2luZ1Jlc3BvbnNpdmUoXG4gIHByb3BlcnR5OiAncCcgfCAncHgnIHwgJ3B5JyB8ICdwdCcgfCAncHInIHwgJ3BiJyB8ICdwbCcgfCAnbScgfCAnbXgnIHwgJ215JyB8ICdtdCcgfCAnbXInIHwgJ21iJyB8ICdtbCcsXG4gIHZhbHVlczogUGFydGlhbDxSZWNvcmQ8QnJlYWtwb2ludCB8ICdkZWZhdWx0Jywgc3RyaW5nPj5cbik6IHN0cmluZyB7XG4gIHJldHVybiByZXNwb25zaXZlKFxuICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlcykucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgYWNjW2tleSBhcyBCcmVha3BvaW50IHwgJ2RlZmF1bHQnXSA9IGAke3Byb3BlcnR5fS0ke3ZhbHVlfWAgYXMgYW55O1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBSZWNvcmQ8QnJlYWtwb2ludCB8ICdkZWZhdWx0Jywgc3RyaW5nPilcbiAgKTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgcGFyYSB3aWR0aCByZXNwb25zaXZlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiB3aWR0aFJlc3BvbnNpdmUoeyBkZWZhdWx0OiAnZnVsbCcsIHNtOiAnYXV0bycsIGxnOiAnMS8yJyB9KVxuICogLy8gUmV0dXJuczogJ3ctZnVsbCBzbTp3LWF1dG8gbGc6dy0xLzInXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aWR0aFJlc3BvbnNpdmUoXG4gIHZhbHVlczogUGFydGlhbDxSZWNvcmQ8QnJlYWtwb2ludCB8ICdkZWZhdWx0Jywgc3RyaW5nPj5cbik6IHN0cmluZyB7XG4gIHJldHVybiByZXNwb25zaXZlKFxuICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlcykucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgYWNjW2tleSBhcyBCcmVha3BvaW50IHwgJ2RlZmF1bHQnXSA9IGB3LSR7dmFsdWV9YCBhcyBhbnk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFJlY29yZDxCcmVha3BvaW50IHwgJ2RlZmF1bHQnLCBzdHJpbmc+KVxuICApO1xufVxuXG4vKipcbiAqIENsYXNlcyBjb211bmVzIHBhcmEgY29udGFpbmVycyByZXNwb25zaXZlXG4gKiBQZW5zYWRhcyBwYXJhIHdyYXBwZXJzIHF1ZSBjb250aWVuZW4gY29udGVuaWRvIHF1ZSBwdWVkZSBkZXNib3JkYXJcbiAqL1xuZXhwb3J0IGNvbnN0IFJFU1BPTlNJVkVfQ09OVEFJTkVSID0ge1xuICAvLyBDb250YWluZXIgY29uIHNjcm9sbCBob3Jpem9udGFsIGVuIG1vYmlsZSwgY29udGVuaWRvIHZpc2libGUgZW4gZGVza3RvcFxuICB0YWJsZVdyYXBwZXI6ICdyZWxhdGl2ZSB3LWZ1bGwgb3ZlcmZsb3cteC1hdXRvIHNtOm92ZXJmbG93LXgtdmlzaWJsZScsXG4gIFxuICAvLyBDb250YWluZXIgY29uIHBhZGRpbmcgbmVnYXRpdm8gZW4gbW9iaWxlIHBhcmEgc2Nyb2xsIGVkZ2UtdG8tZWRnZVxuICB0YWJsZVdyYXBwZXJGdWxsQmxlZWQ6ICdyZWxhdGl2ZSB3LWZ1bGwgLW14LTQgcHgtNCBvdmVyZmxvdy14LWF1dG8gc206bXgtMCBzbTpweC0wIHNtOm92ZXJmbG93LXgtdmlzaWJsZScsXG4gIFxuICAvLyBDb250YWluZXIgY29uIG1heC13aWR0aCByZXNwb25zaXZlXG4gIGNvbnRlbnRXcmFwcGVyOiAndy1mdWxsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggbWF4LXctc2NyZWVuLTJ4bCcsXG4gIFxuICAvLyBDb250YWluZXIgcGFyYSBtb2RhbHMvZGlhbG9nc1xuICBtb2RhbFdyYXBwZXI6ICd3LWZ1bGwgbWF4LXctbGcgbXgtYXV0byBweC00IHNtOnB4LTAnLFxuICBcbiAgLy8gQ29udGFpbmVyIHBhcmEgZm9ybXNcbiAgZm9ybVdyYXBwZXI6ICd3LWZ1bGwgbWF4LXctbWQgbXgtYXV0byBzcGFjZS15LTQnXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIENsYXNlcyBjb211bmVzIHBhcmEgZGlzcGxheSByZXNwb25zaXZlXG4gKi9cbmV4cG9ydCBjb25zdCBSRVNQT05TSVZFX0RJU1BMQVkgPSB7XG4gIC8vIE9jdWx0YXIgZW4gbW9iaWxlLCBtb3N0cmFyIGVuIGRlc2t0b3BcbiAgaGlkZU9uTW9iaWxlOiAnaGlkZGVuIHNtOmJsb2NrJyxcbiAgXG4gIC8vIE1vc3RyYXIgc29sbyBlbiBtb2JpbGVcbiAgc2hvd09uTW9iaWxlOiAnYmxvY2sgc206aGlkZGVuJyxcbiAgXG4gIC8vIFN0YWNrIGVuIG1vYmlsZSwgZmxleCBlbiBkZXNrdG9wXG4gIHN0YWNrVG9GbGV4OiAnZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdycsXG4gIFxuICAvLyBTdGFjayBlbiBtb2JpbGUsIGdyaWQgZW4gZGVza3RvcFxuICBzdGFja1RvR3JpZDogJ2dyaWQgZ3JpZC1jb2xzLTEgc206Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMnXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIENsYXNlcyBwYXJhIHRhYmxlIHJlc3BvbnNpdmUgc3RyYXRlZ2llc1xuICovXG5leHBvcnQgY29uc3QgVEFCTEVfUkVTUE9OU0lWRSA9IHtcbiAgLy8gU2Nyb2xsIGhvcml6b250YWwgKGRlZmF1bHQsIG3DoXMgc2ltcGxlKVxuICBzY3JvbGw6IHtcbiAgICB3cmFwcGVyOiAncmVsYXRpdmUgdy1mdWxsIG92ZXJmbG93LXgtYXV0bycsXG4gICAgdGFibGU6ICd3LWZ1bGwgbWluLXctZnVsbCcsXG4gICAgY2VsbDogJ3doaXRlc3BhY2Utbm93cmFwJ1xuICB9LFxuICBcbiAgLy8gUGVybWl0aXIgd3JhcCBkZWwgY29udGVuaWRvXG4gIHdyYXA6IHtcbiAgICB3cmFwcGVyOiAncmVsYXRpdmUgdy1mdWxsIG92ZXJmbG93LXgtYXV0bycsXG4gICAgdGFibGU6ICd3LWZ1bGwnLFxuICAgIGNlbGw6ICd3aGl0ZXNwYWNlLW5vcm1hbCBicmVhay13b3JkcydcbiAgfSxcbiAgXG4gIC8vIFN0YWNrIGVuIG1vYmlsZSAoY2FkYSBmaWxhIHNlIGNvbnZpZXJ0ZSBlbiBjYXJkKVxuICAvLyBSZXF1aWVyZSBsw7NnaWNhIGFkaWNpb25hbCBlbiBlbCBjb21wb25lbnRlXG4gIHN0YWNrOiB7XG4gICAgd3JhcHBlcjogJ3JlbGF0aXZlIHctZnVsbCcsXG4gICAgdGFibGU6ICd3LWZ1bGwnLFxuICAgIHJvdzogJ2Jsb2NrIHNtOnRhYmxlLXJvdyBib3JkZXItYiBzbTpib3JkZXItYi0wJyxcbiAgICBjZWxsOiAnYmxvY2sgc206dGFibGUtY2VsbCBweS0yIHNtOnB5LTAgYmVmb3JlOmNvbnRlbnQtW2F0dHIoZGF0YS1sYWJlbCldIGJlZm9yZTpmb250LW1lZGl1bSBiZWZvcmU6aW5saW5lLWJsb2NrIGJlZm9yZTp3LTMyIHNtOmJlZm9yZTpjb250ZW50LW5vbmUnXG4gIH0sXG4gIFxuICAvLyBDb2xsYXBzZTogb2N1bHRhciBjb2x1bW5hcyBtZW5vcyBpbXBvcnRhbnRlcyBlbiBtb2JpbGVcbiAgLy8gU2UgdXNhIGNvbiBjbGFzZXMgZGUgdmlzaWJpbGl0eSBlbiBsYXMgY29sdW1uYXMgZXNwZWPDrWZpY2FzXG4gIGNvbGxhcHNlOiB7XG4gICAgd3JhcHBlcjogJ3JlbGF0aXZlIHctZnVsbCBvdmVyZmxvdy14LWF1dG8nLFxuICAgIHRhYmxlOiAndy1mdWxsJyxcbiAgICBjZWxsOiAnd2hpdGVzcGFjZS1ub3dyYXAnLFxuICAgIC8vIEVzdGFzIGNsYXNlcyBzZSBhcGxpY2FuIGEgY29sdW1uYXMgb3BjaW9uYWxlc1xuICAgIG9wdGlvbmFsQ29sdW1uOiAnaGlkZGVuIG1kOnRhYmxlLWNlbGwnXG4gIH1cbn0gYXMgY29uc3Q7XG4iXX0=
|