@sebgroup/green-angular 1.5.1 → 1.7.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/esm2020/index.mjs +2 -1
- package/esm2020/lib/context-menu/context-menu.component.mjs +100 -0
- package/esm2020/lib/context-menu/context-menu.module.mjs +18 -0
- package/esm2020/lib/context-menu/index.mjs +3 -0
- package/esm2020/lib/dropdown/dropdown-button.directive.mjs +16 -0
- package/esm2020/lib/dropdown/dropdown.component.mjs +10 -3
- package/esm2020/lib/dropdown/dropdown.module.mjs +17 -4
- package/esm2020/lib/dropdown/index.mjs +2 -1
- package/esm2020/lib/green-angular.module.mjs +5 -1
- package/fesm2015/sebgroup-green-angular.mjs +156 -7
- package/fesm2015/sebgroup-green-angular.mjs.map +1 -1
- package/fesm2020/sebgroup-green-angular.mjs +153 -7
- package/fesm2020/sebgroup-green-angular.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/context-menu/context-menu.component.d.ts +26 -0
- package/lib/context-menu/context-menu.module.d.ts +8 -0
- package/lib/context-menu/index.d.ts +2 -0
- package/lib/dropdown/dropdown-button.directive.d.ts +8 -0
- package/lib/dropdown/dropdown.component.d.ts +4 -1
- package/lib/dropdown/dropdown.module.d.ts +3 -2
- package/lib/dropdown/index.d.ts +1 -0
- package/lib/green-angular.module.d.ts +3 -2
- package/package.json +2 -2
package/esm2020/index.mjs
CHANGED
|
@@ -10,4 +10,5 @@ export * from './lib/progress-circle';
|
|
|
10
10
|
export * from './lib/segmented-control';
|
|
11
11
|
export * from './lib/slider';
|
|
12
12
|
export * from './lib/in-page-wizard';
|
|
13
|
-
|
|
13
|
+
export * from './lib/context-menu';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JlZW4tYW5ndWxhci5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY2NvcmRpb24nXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYWRnZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbidcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGVwaWNrZXInXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bidcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdGlvbidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2dyZXNzLWNpcmNsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlZ21lbnRlZC1jb250cm9sJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2xpZGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW4tcGFnZS13aXphcmQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZXh0LW1lbnUnXG4iXX0=
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class NggContextMenuComponent {
|
|
5
|
+
constructor(elementRef) {
|
|
6
|
+
this.elementRef = elementRef;
|
|
7
|
+
this.direction = 'ltr';
|
|
8
|
+
this.menuItems = [];
|
|
9
|
+
this.menuItemTemplate = null;
|
|
10
|
+
this.menuAnchorTemplate = null;
|
|
11
|
+
this.contextMenuItemClicked = new EventEmitter();
|
|
12
|
+
this.isActive = false;
|
|
13
|
+
this.top = '0px';
|
|
14
|
+
this.left = '0px';
|
|
15
|
+
}
|
|
16
|
+
onDocumentClick(target) {
|
|
17
|
+
if (!this.isActive) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const contextMenuElement = this.elementRef.nativeElement;
|
|
21
|
+
if (!contextMenuElement.contains(target)) {
|
|
22
|
+
this.close();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
open() {
|
|
26
|
+
if (this.isActive) {
|
|
27
|
+
this.close();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const anchor = this.anchor?.nativeElement;
|
|
31
|
+
const buttonRect = anchor.getBoundingClientRect();
|
|
32
|
+
const left = this.calculateLeft(this.direction, buttonRect);
|
|
33
|
+
const top = this.calculateTop(buttonRect.bottom);
|
|
34
|
+
this.left = `${left}px`;
|
|
35
|
+
this.top = `${top}px`;
|
|
36
|
+
this.isActive = true;
|
|
37
|
+
}
|
|
38
|
+
close() {
|
|
39
|
+
this.isActive = false;
|
|
40
|
+
}
|
|
41
|
+
onItemClick(item) {
|
|
42
|
+
this.contextMenuItemClicked.emit(item);
|
|
43
|
+
this.close();
|
|
44
|
+
}
|
|
45
|
+
onMenuItemKeyDown(event, menuItem) {
|
|
46
|
+
switch (event.key) {
|
|
47
|
+
case 'Enter':
|
|
48
|
+
case ' ':
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
this.onItemClick(menuItem);
|
|
51
|
+
break;
|
|
52
|
+
default:
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
calculateTop(buttonRectBottom) {
|
|
57
|
+
return buttonRectBottom + window.pageYOffset;
|
|
58
|
+
}
|
|
59
|
+
calculateLeft(direction, buttonRect) {
|
|
60
|
+
const popover = this.popover?.nativeElement;
|
|
61
|
+
const popoverWidth = popover?.offsetWidth || 0;
|
|
62
|
+
switch (direction) {
|
|
63
|
+
case 'rtl':
|
|
64
|
+
return popoverWidth <= buttonRect.left
|
|
65
|
+
? buttonRect.right - popoverWidth
|
|
66
|
+
: buttonRect.left;
|
|
67
|
+
case 'ltr':
|
|
68
|
+
default:
|
|
69
|
+
return buttonRect.right + popoverWidth <= window.innerWidth
|
|
70
|
+
? buttonRect.left
|
|
71
|
+
: buttonRect.right - popoverWidth;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
NggContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggContextMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
NggContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NggContextMenuComponent, selector: "ngg-context-menu", inputs: { direction: "direction", menuItems: "menuItems", menuItemTemplate: "menuItemTemplate", menuAnchorTemplate: "menuAnchorTemplate" }, outputs: { contextMenuItemClicked: "contextMenuItemClicked" }, host: { listeners: { "document:click": "onDocumentClick($event.target)" } }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["contextMenuPopover"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["contextMenuAnchor"], descendants: true }], ngImport: i0, template: "<button #contextMenuAnchor class=\"ghost small\" (click)=\"open()\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n</button>\n\n<div\n class=\"popover popover-context-menu\"\n [class.active]=\"isActive\"\n [style.top]=\"top\"\n [style.left]=\"left\"\n #contextMenuPopover\n>\n <ul role=\"listbox\">\n <li\n *ngFor=\"let menuItem of menuItems\"\n (click)=\"onItemClick(menuItem)\"\n tabindex=\"0\"\n (keydown)=\"onMenuItemKeyDown($event, menuItem)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggContextMenuComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'ngg-context-menu', template: "<button #contextMenuAnchor class=\"ghost small\" (click)=\"open()\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n</button>\n\n<div\n class=\"popover popover-context-menu\"\n [class.active]=\"isActive\"\n [style.top]=\"top\"\n [style.left]=\"left\"\n #contextMenuPopover\n>\n <ul role=\"listbox\">\n <li\n *ngFor=\"let menuItem of menuItems\"\n (click)=\"onItemClick(menuItem)\"\n tabindex=\"0\"\n (keydown)=\"onMenuItemKeyDown($event, menuItem)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n" }]
|
|
80
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { direction: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], menuItems: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], menuItemTemplate: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], menuAnchorTemplate: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], contextMenuItemClicked: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}], popover: [{
|
|
91
|
+
type: ViewChild,
|
|
92
|
+
args: ['contextMenuPopover']
|
|
93
|
+
}], anchor: [{
|
|
94
|
+
type: ViewChild,
|
|
95
|
+
args: ['contextMenuAnchor']
|
|
96
|
+
}], onDocumentClick: [{
|
|
97
|
+
type: HostListener,
|
|
98
|
+
args: ['document:click', ['$event.target']]
|
|
99
|
+
}] } });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBOzs7QUFPdEIsTUFBTSxPQUFPLHVCQUF1QjtJQWlCbEMsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWhCakMsY0FBUyxHQUFrQixLQUFLLENBQUE7UUFDaEMsY0FBUyxHQUFxQixFQUFFLENBQUE7UUFDaEMscUJBQWdCLEdBQWdDLElBQUksQ0FBQTtRQUNwRCx1QkFBa0IsR0FBZ0MsSUFBSSxDQUFBO1FBRXJELDJCQUFzQixHQUM5QixJQUFJLFlBQVksRUFBa0IsQ0FBQTtRQU1wQyxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLFFBQUcsR0FBRyxLQUFLLENBQUE7UUFDWCxTQUFJLEdBQUcsS0FBSyxDQUFBO0lBRWlDLENBQUM7SUFHOUMsZUFBZSxDQUFDLE1BQW1CO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU07U0FDUDtRQUNELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUE0QixDQUFBO1FBRXZFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1NBQ2I7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDWixPQUFNO1NBQ1A7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQTRCLENBQUE7UUFDeEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUE7UUFFakQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQzNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRWhELElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQTtRQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUE7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDdEIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtJQUN2QixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2QsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQW9CLEVBQUUsUUFBd0I7UUFDOUQsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2pCLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxHQUFHO2dCQUNOLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtnQkFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDMUIsTUFBSztZQUNQO2dCQUNFLE1BQUs7U0FDUjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsZ0JBQXdCO1FBQ25DLE9BQU8sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWlCLEVBQUUsVUFBbUI7UUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUE0QixDQUFBO1FBQzFELE1BQU0sWUFBWSxHQUFHLE9BQU8sRUFBRSxXQUFXLElBQUksQ0FBQyxDQUFBO1FBRTlDLFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssS0FBSztnQkFDUixPQUFPLFlBQVksSUFBSSxVQUFVLENBQUMsSUFBSTtvQkFDcEMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsWUFBWTtvQkFDakMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUE7WUFDckIsS0FBSyxLQUFLLENBQUM7WUFDWDtnQkFDRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLEdBQUcsWUFBWSxJQUFJLE1BQU0sQ0FBQyxVQUFVO29CQUN6RCxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUk7b0JBQ2pCLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQTtTQUN0QztJQUNILENBQUM7O29IQXhGVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2aEJDaEJwQywyK0JBcUNBOzJGRHJCYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usa0JBQWtCO2lHQUluQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBRzBCLE9BQU87c0JBQXZDLFNBQVM7dUJBQUMsb0JBQW9CO2dCQUVDLE1BQU07c0JBQXJDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQVM5QixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb24gfSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dDb250ZXh0TWVudUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogJ2x0cicgfCAncnRsJyA9ICdsdHInXG4gIEBJbnB1dCgpIG1lbnVJdGVtczogRHJvcGRvd25PcHRpb25bXSA9IFtdXG4gIEBJbnB1dCgpIG1lbnVJdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGxcbiAgQElucHV0KCkgbWVudUFuY2hvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsXG5cbiAgQE91dHB1dCgpIGNvbnRleHRNZW51SXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxEcm9wZG93bk9wdGlvbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RHJvcGRvd25PcHRpb24+KClcblxuICBAVmlld0NoaWxkKCdjb250ZXh0TWVudVBvcG92ZXInKSBwb3BvdmVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkXG5cbiAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnVBbmNob3InKSBhbmNob3I6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWRcblxuICBpc0FjdGl2ZSA9IGZhbHNlXG4gIHRvcCA9ICcwcHgnXG4gIGxlZnQgPSAnMHB4J1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkRvY3VtZW50Q2xpY2sodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0FjdGl2ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGNvbnRleHRNZW51RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50XG5cbiAgICBpZiAoIWNvbnRleHRNZW51RWxlbWVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICB0aGlzLmNsb3NlKClcbiAgICB9XG4gIH1cblxuICBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQWN0aXZlKSB7XG4gICAgICB0aGlzLmNsb3NlKClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGFuY2hvciA9IHRoaXMuYW5jaG9yPy5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50XG4gICAgY29uc3QgYnV0dG9uUmVjdCA9IGFuY2hvci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuXG4gICAgY29uc3QgbGVmdCA9IHRoaXMuY2FsY3VsYXRlTGVmdCh0aGlzLmRpcmVjdGlvbiwgYnV0dG9uUmVjdClcbiAgICBjb25zdCB0b3AgPSB0aGlzLmNhbGN1bGF0ZVRvcChidXR0b25SZWN0LmJvdHRvbSlcblxuICAgIHRoaXMubGVmdCA9IGAke2xlZnR9cHhgXG4gICAgdGhpcy50b3AgPSBgJHt0b3B9cHhgXG4gICAgdGhpcy5pc0FjdGl2ZSA9IHRydWVcbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZVxuICB9XG5cbiAgb25JdGVtQ2xpY2soaXRlbTogRHJvcGRvd25PcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHRNZW51SXRlbUNsaWNrZWQuZW1pdChpdGVtKVxuICAgIHRoaXMuY2xvc2UoKVxuICB9XG5cbiAgb25NZW51SXRlbUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIG1lbnVJdGVtOiBEcm9wZG93bk9wdGlvbik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICBjYXNlICcgJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrKG1lbnVJdGVtKVxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBjYWxjdWxhdGVUb3AoYnV0dG9uUmVjdEJvdHRvbTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYnV0dG9uUmVjdEJvdHRvbSArIHdpbmRvdy5wYWdlWU9mZnNldFxuICB9XG5cbiAgY2FsY3VsYXRlTGVmdChkaXJlY3Rpb246IHN0cmluZywgYnV0dG9uUmVjdDogRE9NUmVjdCk6IG51bWJlciB7XG4gICAgY29uc3QgcG9wb3ZlciA9IHRoaXMucG9wb3Zlcj8ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudFxuICAgIGNvbnN0IHBvcG92ZXJXaWR0aCA9IHBvcG92ZXI/Lm9mZnNldFdpZHRoIHx8IDBcblxuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdydGwnOlxuICAgICAgICByZXR1cm4gcG9wb3ZlcldpZHRoIDw9IGJ1dHRvblJlY3QubGVmdFxuICAgICAgICAgID8gYnV0dG9uUmVjdC5yaWdodCAtIHBvcG92ZXJXaWR0aFxuICAgICAgICAgIDogYnV0dG9uUmVjdC5sZWZ0XG4gICAgICBjYXNlICdsdHInOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGJ1dHRvblJlY3QucmlnaHQgKyBwb3BvdmVyV2lkdGggPD0gd2luZG93LmlubmVyV2lkdGhcbiAgICAgICAgICA/IGJ1dHRvblJlY3QubGVmdFxuICAgICAgICAgIDogYnV0dG9uUmVjdC5yaWdodCAtIHBvcG92ZXJXaWR0aFxuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvbiAjY29udGV4dE1lbnVBbmNob3IgY2xhc3M9XCJnaG9zdCBzbWFsbFwiIChjbGljayk9XCJvcGVuKClcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVBbmNob3JUZW1wbGF0ZSA/PyBkZWZhdWx0QnV0dG9uVGVtcGxhdGVcIlxuICA+XG4gIDwvbmctY29udGFpbmVyPlxuPC9idXR0b24+XG5cbjxkaXZcbiAgY2xhc3M9XCJwb3BvdmVyIHBvcG92ZXItY29udGV4dC1tZW51XCJcbiAgW2NsYXNzLmFjdGl2ZV09XCJpc0FjdGl2ZVwiXG4gIFtzdHlsZS50b3BdPVwidG9wXCJcbiAgW3N0eWxlLmxlZnRdPVwibGVmdFwiXG4gICNjb250ZXh0TWVudVBvcG92ZXJcbj5cbiAgPHVsIHJvbGU9XCJsaXN0Ym94XCI+XG4gICAgPGxpXG4gICAgICAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgbWVudUl0ZW1zXCJcbiAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhtZW51SXRlbSlcIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIChrZXlkb3duKT1cIm9uTWVudUl0ZW1LZXlEb3duKCRldmVudCwgbWVudUl0ZW0pXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGUgPz8gZGVmYXVsdE1lbnVJdGVtVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG1lbnVJdGVtIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRNZW51SXRlbVRlbXBsYXRlIGxldC1tZW51SXRlbT5cbiAgPHNwYW4+e3sgbWVudUl0ZW0ubGFiZWwgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRCdXR0b25UZW1wbGF0ZT5cbiAgPGkgY2xhc3M9XCJzZy1pY29uIHNnLWljb24tZWxsaXBzaXNcIj5PcGVuIGNvbnRleHQgbWVudTwvaT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NggContextMenuComponent } from './context-menu.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NggContextMenuModule {
|
|
6
|
+
}
|
|
7
|
+
NggContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
NggContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NggContextMenuModule, declarations: [NggContextMenuComponent], imports: [CommonModule], exports: [NggContextMenuComponent] });
|
|
9
|
+
NggContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggContextMenuModule, imports: [CommonModule] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggContextMenuModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [NggContextMenuComponent],
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
exports: [NggContextMenuComponent],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBOztBQU9sRSxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsaUJBSmhCLHVCQUF1QixhQUM1QixZQUFZLGFBQ1osdUJBQXVCO2tIQUV0QixvQkFBb0IsWUFIckIsWUFBWTsyRkFHWCxvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdnQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW05nZ0NvbnRleHRNZW51Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtOZ2dDb250ZXh0TWVudUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0NvbnRleHRNZW51TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './context-menu.component';
|
|
2
|
+
export * from './context-menu.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb250ZXh0LW1lbnUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLHVCQUF1QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LW1lbnUubW9kdWxlJyJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive, TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NggDropdownButtonDirective {
|
|
4
|
+
constructor(templateRef) {
|
|
5
|
+
this.templateRef = templateRef;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
NggDropdownButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownButtonDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
NggDropdownButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NggDropdownButtonDirective, selector: "[nggDropdownButton]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownButtonDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: '[nggDropdownButton]',
|
|
14
|
+
}]
|
|
15
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBS3RELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBbUIsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzs7dUhBRDdDLDBCQUEwQjsyR0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nZ0Ryb3Bkb3duQnV0dG9uXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, El
|
|
|
2
2
|
import { NgControl, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
3
|
import { createDropdown, dropdownValues, } from '@sebgroup/extract';
|
|
4
4
|
import { NggDropdownOptionDirective } from './dropdown-option.directive';
|
|
5
|
+
import { NggDropdownButtonDirective } from './dropdown-button.directive';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/common";
|
|
7
8
|
export class NggDropdownComponent {
|
|
@@ -40,6 +41,9 @@ export class NggDropdownComponent {
|
|
|
40
41
|
get value() {
|
|
41
42
|
return this._value;
|
|
42
43
|
}
|
|
44
|
+
get selectedOption() {
|
|
45
|
+
return this.handler?.dropdown.options.find((o) => o.selected);
|
|
46
|
+
}
|
|
43
47
|
get control() {
|
|
44
48
|
return this.injector.get(NgControl);
|
|
45
49
|
}
|
|
@@ -113,7 +117,7 @@ NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
113
117
|
useExisting: NggDropdownComponent,
|
|
114
118
|
multi: true,
|
|
115
119
|
},
|
|
116
|
-
], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }], viewQueries: [{ propertyName: "togglerRef", first: true, predicate: ["togglerRef"], descendants: true }, { propertyName: "listboxRef", first: true, predicate: ["listboxRef"], descendants: true }, { propertyName: "fieldsetRef", first: true, predicate: ["fieldsetRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <span class=\"label\" *ngIf=\"label\" [id]=\"toggler?.attributes?.id + '_label'\">{{\n label\n }}</span>\n <button\n [attr.aria-labelledby]=\"label ? toggler?.attributes?.id + '_label' : null\"\n [attr.aria-describedby]=\"\n formInfo?.textContent && (formInfo?.textContent?.length ?? 0 > 0)\n ? toggler?.attributes?.id + '_info'\n : null\n \"\n type=\"button\"\n #togglerRef\n [id]=\"toggler?.attributes?.id\"\n [attr.aria-haspopup]=\"toggler?.attributes?.['aria-haspopup']\"\n [attr.aria-expanded]=\"toggler?.attributes?.['aria-expanded']\"\n [attr.aria-owns]=\"toggler?.attributes?.['aria-owns']\"\n [tabindex]=\"toggler?.attributes?.tabIndex\"\n [style]=\"toggler?.attributes?.style\"\n [class]=\"toggler?.classes\"\n (click)=\"handler?.toggle()\"\n [class.is-valid]=\"valid\"\n [class.is-invalid]=\"invalid\"\n >\n <
|
|
120
|
+
], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }, { propertyName: "customButton", first: true, predicate: NggDropdownButtonDirective, descendants: true }], viewQueries: [{ propertyName: "togglerRef", first: true, predicate: ["togglerRef"], descendants: true }, { propertyName: "listboxRef", first: true, predicate: ["listboxRef"], descendants: true }, { propertyName: "fieldsetRef", first: true, predicate: ["fieldsetRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <span class=\"label\" *ngIf=\"label\" [id]=\"toggler?.attributes?.id + '_label'\">{{\n label\n }}</span>\n <button\n [attr.aria-labelledby]=\"label ? toggler?.attributes?.id + '_label' : null\"\n [attr.aria-describedby]=\"\n formInfo?.textContent && (formInfo?.textContent?.length ?? 0 > 0)\n ? toggler?.attributes?.id + '_info'\n : null\n \"\n type=\"button\"\n role=\"combobox\"\n #togglerRef\n [id]=\"toggler?.attributes?.id\"\n [attr.aria-haspopup]=\"toggler?.attributes?.['aria-haspopup']\"\n [attr.aria-expanded]=\"toggler?.attributes?.['aria-expanded']\"\n [attr.aria-owns]=\"toggler?.attributes?.['aria-owns']\"\n [tabindex]=\"toggler?.attributes?.tabIndex\"\n [style]=\"toggler?.attributes?.style\"\n [class]=\"toggler?.classes\"\n (click)=\"handler?.toggle()\"\n [class.is-valid]=\"valid\"\n [class.is-invalid]=\"invalid\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && !multiSelect && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container>\n </button>\n <span\n class=\"form-info\"\n #formInfo\n [attr.id]=\"toggler?.attributes?.id + '_info'\"\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n <div\n #listboxRef\n [id]=\"listbox?.attributes?.id\"\n [attr.role]=\"listbox?.attributes?.role\"\n [attr.aria-activedescendant]=\"\n listbox?.attributes?.['aria-activedescendant']\n \"\n [tabindex]=\"listbox?.attributes?.tabIndex\"\n [style]=\"listbox?.attributes?.style\"\n [class]=\"listbox?.classes\"\n >\n <div class=\"d-flex d-sm-none align-items-center\">\n <span class=\"flex-grow-1 ps-4 fs-2 fw-bolder\">{{ label }}</span>\n <button\n type=\"button\"\n class=\"close m-4 m-sm-2 d-block d-sm-none\"\n [attr.aria-label]=\"dropdown?.texts?.close\"\n (click)=\"handler?.close()\"\n >\n <i></i>\n </button>\n </div>\n <ul role=\"listbox\" *ngIf=\"!dropdown?.isMultiSelect\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <li\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n [id]=\"option.attributes.id\"\n [attr.role]=\"option.attributes.role\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [style]=\"option.attributes.style\"\n [class]=\"option.classes\"\n (click)=\"handler?.select(option)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n </li>\n </ul>\n <div *ngIf=\"dropdown?.isMultiSelect\" class=\"sg-fieldset-container\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <!--TODO: Improve checkboxes in dropdown angular-->\n <fieldset\n #fieldsetRef\n [attr.aria-describedby]=\"fieldset?.attributes?.id\"\n role=\"listbox\"\n tabIndex=\"-1\"\n aria-multiselectable=\"true\"\n >\n <legend class=\"sr-only\" [id]=\"fieldset?.attributes?.id\">Options</legend>\n <label\n class=\"form-control\"\n [attr.role]=\"option.attributes.role\"\n [id]=\"option.attributes.id\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [class]=\"option.classes\"\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n >\n <input\n type=\"checkbox\"\n (change)=\"handler?.select(option, false)\"\n [checked]=\"option.selected\"\n tabIndex=\"-1\"\n />\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n <i></i>\n </label>\n </fieldset>\n </div>\n </div>\n</div>\n\n<ng-template #defaultButton let-selected=\"selected\">\n <span>{{ dropdown?.texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ option[dropdown!.display] }}\n</ng-template>\n\n<ng-template #searchInput>\n <input\n *ngIf=\"dropdown?.isSearchable\"\n [id]=\"toggler?.attributes?.id + '_search-input'\"\n type=\"search\"\n (input)=\"search($event)\"\n placeholder=\"{{ dropdown?.texts?.searchPlaceholder }}\"\n class=\"rounded-0 rounded-top border-0 border-bottom border-info\"\n />\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
117
121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownComponent, decorators: [{
|
|
118
122
|
type: Component,
|
|
119
123
|
args: [{ selector: 'ngg-dropdown', providers: [
|
|
@@ -122,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
122
126
|
useExisting: NggDropdownComponent,
|
|
123
127
|
multi: true,
|
|
124
128
|
},
|
|
125
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <span class=\"label\" *ngIf=\"label\" [id]=\"toggler?.attributes?.id + '_label'\">{{\n label\n }}</span>\n <button\n [attr.aria-labelledby]=\"label ? toggler?.attributes?.id + '_label' : null\"\n [attr.aria-describedby]=\"\n formInfo?.textContent && (formInfo?.textContent?.length ?? 0 > 0)\n ? toggler?.attributes?.id + '_info'\n : null\n \"\n type=\"button\"\n #togglerRef\n [id]=\"toggler?.attributes?.id\"\n [attr.aria-haspopup]=\"toggler?.attributes?.['aria-haspopup']\"\n [attr.aria-expanded]=\"toggler?.attributes?.['aria-expanded']\"\n [attr.aria-owns]=\"toggler?.attributes?.['aria-owns']\"\n [tabindex]=\"toggler?.attributes?.tabIndex\"\n [style]=\"toggler?.attributes?.style\"\n [class]=\"toggler?.classes\"\n (click)=\"handler?.toggle()\"\n [class.is-valid]=\"valid\"\n [class.is-invalid]=\"invalid\"\n >\n <
|
|
129
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <span class=\"label\" *ngIf=\"label\" [id]=\"toggler?.attributes?.id + '_label'\">{{\n label\n }}</span>\n <button\n [attr.aria-labelledby]=\"label ? toggler?.attributes?.id + '_label' : null\"\n [attr.aria-describedby]=\"\n formInfo?.textContent && (formInfo?.textContent?.length ?? 0 > 0)\n ? toggler?.attributes?.id + '_info'\n : null\n \"\n type=\"button\"\n role=\"combobox\"\n #togglerRef\n [id]=\"toggler?.attributes?.id\"\n [attr.aria-haspopup]=\"toggler?.attributes?.['aria-haspopup']\"\n [attr.aria-expanded]=\"toggler?.attributes?.['aria-expanded']\"\n [attr.aria-owns]=\"toggler?.attributes?.['aria-owns']\"\n [tabindex]=\"toggler?.attributes?.tabIndex\"\n [style]=\"toggler?.attributes?.style\"\n [class]=\"toggler?.classes\"\n (click)=\"handler?.toggle()\"\n [class.is-valid]=\"valid\"\n [class.is-invalid]=\"invalid\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && !multiSelect && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container>\n </button>\n <span\n class=\"form-info\"\n #formInfo\n [attr.id]=\"toggler?.attributes?.id + '_info'\"\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n <div\n #listboxRef\n [id]=\"listbox?.attributes?.id\"\n [attr.role]=\"listbox?.attributes?.role\"\n [attr.aria-activedescendant]=\"\n listbox?.attributes?.['aria-activedescendant']\n \"\n [tabindex]=\"listbox?.attributes?.tabIndex\"\n [style]=\"listbox?.attributes?.style\"\n [class]=\"listbox?.classes\"\n >\n <div class=\"d-flex d-sm-none align-items-center\">\n <span class=\"flex-grow-1 ps-4 fs-2 fw-bolder\">{{ label }}</span>\n <button\n type=\"button\"\n class=\"close m-4 m-sm-2 d-block d-sm-none\"\n [attr.aria-label]=\"dropdown?.texts?.close\"\n (click)=\"handler?.close()\"\n >\n <i></i>\n </button>\n </div>\n <ul role=\"listbox\" *ngIf=\"!dropdown?.isMultiSelect\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <li\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n [id]=\"option.attributes.id\"\n [attr.role]=\"option.attributes.role\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [style]=\"option.attributes.style\"\n [class]=\"option.classes\"\n (click)=\"handler?.select(option)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n </li>\n </ul>\n <div *ngIf=\"dropdown?.isMultiSelect\" class=\"sg-fieldset-container\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <!--TODO: Improve checkboxes in dropdown angular-->\n <fieldset\n #fieldsetRef\n [attr.aria-describedby]=\"fieldset?.attributes?.id\"\n role=\"listbox\"\n tabIndex=\"-1\"\n aria-multiselectable=\"true\"\n >\n <legend class=\"sr-only\" [id]=\"fieldset?.attributes?.id\">Options</legend>\n <label\n class=\"form-control\"\n [attr.role]=\"option.attributes.role\"\n [id]=\"option.attributes.id\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [class]=\"option.classes\"\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n >\n <input\n type=\"checkbox\"\n (change)=\"handler?.select(option, false)\"\n [checked]=\"option.selected\"\n tabIndex=\"-1\"\n />\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n <i></i>\n </label>\n </fieldset>\n </div>\n </div>\n</div>\n\n<ng-template #defaultButton let-selected=\"selected\">\n <span>{{ dropdown?.texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ option[dropdown!.display] }}\n</ng-template>\n\n<ng-template #searchInput>\n <input\n *ngIf=\"dropdown?.isSearchable\"\n [id]=\"toggler?.attributes?.id + '_search-input'\"\n type=\"search\"\n (input)=\"search($event)\"\n placeholder=\"{{ dropdown?.texts?.searchPlaceholder }}\"\n class=\"rounded-0 rounded-top border-0 border-bottom border-info\"\n />\n</ng-template>\n" }]
|
|
126
130
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector, decorators: [{
|
|
127
131
|
type: Inject,
|
|
128
132
|
args: [Injector]
|
|
@@ -170,5 +174,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
170
174
|
}], customOption: [{
|
|
171
175
|
type: ContentChild,
|
|
172
176
|
args: [NggDropdownOptionDirective]
|
|
177
|
+
}], customButton: [{
|
|
178
|
+
type: ContentChild,
|
|
179
|
+
args: [NggDropdownButtonDirective]
|
|
173
180
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBR0wsY0FBYyxFQU1kLGNBQWMsR0FHZixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBOzs7QUFjeEUsTUFBTSxPQUFPLG9CQUFvQjtJQWdFL0IsWUFDVSxFQUFxQixFQUNILFFBQWtCO1FBRHBDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ0gsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQTdEckMsU0FBSSxHQUFhLEtBQUssQ0FBQTtRQUl0QixZQUFPLEdBQXFCLEVBQUUsQ0FBQTtRQVkvQixpQkFBWSxHQUFHLEtBQUssQ0FBQTtRQVFwQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQVdSLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUE7UUFDeEQsWUFBTyxHQUN4QixJQUFJLFlBQVksRUFBVyxDQUFBO1FBYzdCLFlBQU8sR0FBMkIsY0FBYyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQTtRQUNwRSxZQUFPLEdBQTJCLGNB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Z0JBQ1MsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxZQUFZO2dCQUNVLFdBQVc7c0JBQTNDLFNBQVM7dUJBQUMsYUFBYTtnQkFHeEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7XG4gIEFic3RyYWN0RHJvcGRvd24sXG4gIENvbXBhcmVXaXRoLFxuICBjcmVhdGVEcm9wZG93bixcbiAgRHJvcGRvd25BcmdzLFxuICBEcm9wZG93bkhhbmRsZXIsXG4gIERyb3Bkb3duT3B0aW9uLFxuICBEcm9wZG93bk9wdGlvbkVsZW1lbnQsXG4gIERyb3Bkb3duVGV4dHMsXG4gIGRyb3Bkb3duVmFsdWVzLFxuICBFbGVtZW50UHJvcHMsXG4gIFNlYXJjaEZpbHRlcixcbn0gZnJvbSAnQHNlYmdyb3VwL2V4dHJhY3QnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9uLmRpcmVjdGl2ZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICdkcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IE5nZ0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nXG4gIEBJbnB1dCgpIHRleHRzPzogRHJvcGRvd25UZXh0c1xuICBASW5wdXQoKSBsb29wPzogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIGRpc3BsYXk/OiBzdHJpbmdcbiAgQElucHV0KCkgdXNlVmFsdWU/OiBzdHJpbmdcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmdcbiAgQElucHV0KCkgb3B0aW9uczogRHJvcGRvd25PcHRpb25bXSA9IFtdXG4gIEBJbnB1dCgpIHZhbGlkPzogYm9vbGVhblxuICBASW5wdXQoKSBpbnZhbGlkPzogYm9vbGVhblxuICBASW5wdXQoKSBjb21wYXJlV2l0aD86IENvbXBhcmVXaXRoXG4gIEBJbnB1dCgpIHNlYXJjaEZpbHRlcj86IFNlYXJjaEZpbHRlclxuXG4gIEBJbnB1dCgpIHNldCBtdWx0aVNlbGVjdCh2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbikge1xuICAgIHRoaXMuX211bHRpU2VsZWN0ID0gdGhpcy5jb252ZXJ0VG9Cb29sZWFuKHZhbHVlKVxuICB9XG4gIGdldCBtdWx0aVNlbGVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlTZWxlY3RcbiAgfVxuICBwcml2YXRlIF9tdWx0aVNlbGVjdCA9IGZhbHNlXG5cbiAgQElucHV0KCkgc2V0IHNlYXJjaGFibGUodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWFyY2hhYmxlID0gdGhpcy5jb252ZXJ0VG9Cb29sZWFuKHZhbHVlKVxuICB9XG4gIGdldCBzZWFyY2hhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hhYmxlXG4gIH1cbiAgcHJpdmF0ZSBfc2VhcmNoYWJsZSA9IGZhbHNlXG5cbiAgQElucHV0KCkgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmhhbmRsZXI/LnNlbGVjdEJ5VmFsdWUobmV3VmFsdWUpXG4gICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZVxuICB9XG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZVxuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBhbnlcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHRvdWNoZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgQFZpZXdDaGlsZCgndG9nZ2xlclJlZicpIHB1YmxpYyB0b2dnbGVyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgQFZpZXdDaGlsZCgnbGlzdGJveFJlZicpIHB1YmxpYyBsaXN0Ym94UmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgQFZpZXdDaGlsZCgnZmllbGRzZXRSZWYnKSBwdWJsaWMgZmllbGRzZXRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuXG4gIEBDb250ZW50Q2hpbGQoTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUpXG4gIGN1c3RvbU9wdGlvbj86IE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlXG5cbiAgb25DaGFuZ2VGbj86ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZFxuICBvblRvdWNoZWRGbj86ICgpID0+IHZvaWRcblxuICBkcm9wZG93bj86IEFic3RyYWN0RHJvcGRvd25cbiAgaGFuZGxlcj86IERyb3Bkb3duSGFuZGxlclxuICB0b2dnbGVyPzogUGFydGlhbDxFbGVtZW50UHJvcHM+ID0gZHJvcGRvd25WYWx1ZXMoKS5lbGVtZW50cz8udG9nZ2xlclxuICBsaXN0Ym94PzogUGFydGlhbDxFbGVtZW50UHJvcHM+ID0gZHJvcGRvd25WYWx1ZXMoKS5lbGVtZW50cz8ubGlzdGJveFxuICBmaWVsZHNldD86IFBhcnRpYWw8RWxlbWVudFByb3BzPiA9IGRyb3Bkb3duVmFsdWVzKCkuZWxlbWVudHM/LmZpZWxkc2V0XG5cbiAgZ2V0IGNvbnRyb2woKTogTmdDb250cm9sIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sKVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChJbmplY3RvcikgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b2dnbGVyUmVmPy5uYXRpdmVFbGVtZW50ICYmIHRoaXMubGlzdGJveFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5oYW5kbGVyID0gY3JlYXRlRHJvcGRvd24oXG4gICAgICAgIHRoaXMucHJvcHMsXG4gICAgICAgIHRoaXMudG9nZ2xlclJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICB0aGlzLmxpc3Rib3hSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgdGhpcy5maWVsZHNldFJlZj8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgKGRyb3Bkb3duKSA9PiB7XG4gICAgICAgICAgdGhpcy5kcm9wZG93biA9IGRyb3Bkb3duXG4gICAgICAgICAgdGhpcy50b2dnbGVyID0gZHJvcGRvd24uZWxlbWVudHMudG9nZ2xlclxuICAgICAgICAgIHRoaXMubGlzdGJveCA9IGRyb3Bkb3duLmVsZW1lbnRzLmxpc3Rib3hcbiAgICAgICAgICB0aGlzLmZpZWxkc2V0ID0gZHJvcGRvd24uZWxlbWVudHMuZmllbGRzZXRcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxuICAgICAgICB9LFxuICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKVxuICAgICAgICB9XG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVyPy5kZXN0cm95KClcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmhhbmRsZXIgJiZcbiAgICAgIChjaGFuZ2VzLmlkIHx8IGNoYW5nZXMudGV4dHMgfHwgY2hhbmdlcy5sb29wIHx8IGNoYW5nZXMub3B0aW9ucylcbiAgICApIHtcbiAgICAgIFxuICAgICAgdGhpcy5oYW5kbGVyLnVwZGF0ZSh0aGlzLnByb3BzKVxuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKCkgPT4gdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuXG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmblxuICB9XG5cbiAgdHJhY2tCeUtleSA9IChpbmRleDogbnVtYmVyLCBvcHRpb246IERyb3Bkb3duT3B0aW9uRWxlbWVudCk6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIG9wdGlvbi5hdHRyaWJ1dGVzLmlkID8/ICcnXG4gIH1cblxuICBzZWFyY2goJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlcj8uc2VhcmNoKCgkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcHJvcHMoKTogRHJvcGRvd25BcmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQgfHwgdGhpcy5kcm9wZG93bj8uaWQsXG4gICAgICB0ZXh0czogdGhpcy50ZXh0cyxcbiAgICAgIHVzZVZhbHVlOiB0aGlzLnVzZVZhbHVlLFxuICAgICAgZGlzcGxheTogdGhpcy5kaXNwbGF5LFxuICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgbG9vcDogdGhpcy5sb29wLFxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICBtdWx0aVNlbGVjdDogdGhpcy5tdWx0aVNlbGVjdCxcbiAgICAgIHNlYXJjaGFibGU6IHRoaXMuc2VhcmNoYWJsZSxcbiAgICAgIHNlYXJjaEZpbHRlcjogdGhpcy5zZWFyY2hGaWx0ZXIsXG4gICAgICBjb21wYXJlV2l0aDogdGhpcy5jb21wYXJlV2l0aCxcbiAgICAgIG9uVG91Y2hlZDogKCkgPT4ge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZEZuPy4oKVxuICAgICAgICB0aGlzLnRvdWNoZWQuZW1pdCh0cnVlKVxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmFsdWUob3B0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IG9wdGlvblxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChvcHRpb24pXG4gICAgdGhpcy5vbkNoYW5nZUZuPy4ob3B0aW9uKVxuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gJ3RydWUnIHx8IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJyB8fCBmYWxzZVxuICAgIClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiICpuZ0lmPVwibGFiZWxcIiBbaWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uaWQgKyAnX2xhYmVsJ1wiPnt7XG4gICAgbGFiZWxcbiAgfX08L3NwYW4+XG4gIDxidXR0b25cbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWwgPyB0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZCArICdfbGFiZWwnIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJcbiAgICAgIGZvcm1JbmZvPy50ZXh0Q29udGVudCAmJiAoZm9ybUluZm8/LnRleHRDb250ZW50Py5sZW5ndGggPz8gMCA+IDApXG4gICAgICAgID8gdG9nZ2xlcj8uYXR0cmlidXRlcz8uaWQgKyAnX2luZm8nXG4gICAgICAgIDogbnVsbFxuICAgIFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgI3RvZ2dsZXJSZWZcbiAgICBbaWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uaWRcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uWydhcmlhLWhhc3BvcHVwJ11cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uWydhcmlhLWV4cGFuZGVkJ11cIlxuICAgIFthdHRyLmFyaWEtb3duc109XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5bJ2FyaWEtb3ducyddXCJcbiAgICBbdGFiaW5kZXhdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8udGFiSW5kZXhcIlxuICAgIFtzdHlsZV09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5zdHlsZVwiXG4gICAgW2NsYXNzXT1cInRvZ2dsZXI/LmNsYXNzZXNcIlxuICAgIChjbGljayk9XCJoYW5kbGVyPy50b2dnbGUoKVwiXG4gICAgW2NsYXNzLmlzLXZhbGlkXT1cInZhbGlkXCJcbiAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgPlxuICAgIDxzcGFuPnt7IGRyb3Bkb3duPy50ZXh0cz8uc2VsZWN0IH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cImZvcm0taW5mb1wiXG4gICAgI2Zvcm1JbmZvXG4gICAgW2F0dHIuaWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uaWQgKyAnX2luZm8nXCJcbiAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtZm9ybS1pbmZvXVwiPjwvbmctY29udGVudFxuICA+PC9zcGFuPlxuICA8ZGl2XG4gICAgI2xpc3Rib3hSZWZcbiAgICBbaWRdPVwibGlzdGJveD8uYXR0cmlidXRlcz8uaWRcIlxuICAgIFthdHRyLnJvbGVdPVwibGlzdGJveD8uYXR0cmlidXRlcz8ucm9sZVwiXG4gICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIlxuICAgICAgICBsaXN0Ym94Py5hdHRyaWJ1dGVzPy5bJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCddXG4gICAgICBcIlxuICAgIFt0YWJpbmRleF09XCJsaXN0Ym94Py5hdHRyaWJ1dGVzPy50YWJJbmRleFwiXG4gICAgW3N0eWxlXT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LnN0eWxlXCJcbiAgICBbY2xhc3NdPVwibGlzdGJveD8uY2xhc3Nlc1wiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiY2xvc2UgbS00IG0tc20tMiBkLWJsb2NrIGQtc20tbm9uZVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlcj8uY2xvc2UoKVwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+e3sgZHJvcGRvd24/LnRleHRzPy5jbG9zZSB9fTwvc3Bhbj5cbiAgICAgIDxpPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgICA8dWwgcm9sZT1cImxpc3Rib3hcIiAqbmdJZj1cIiFkcm9wZG93bj8uaXNNdWx0aVNlbGVjdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaElucHV0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bGlcbiAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgbGV0IG9wdGlvbiBvZiBkcm9wZG93bj8ub3B0aW9ucztcbiAgICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgICB0cmFja0J5OiB0cmFja0J5S2V5XG4gICAgICAgIFwiXG4gICAgICAgIFtpZF09XCJvcHRpb24uYXR0cmlidXRlcy5pZFwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwib3B0aW9uLmF0dHJpYnV0ZXMucm9sZVwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwib3B0aW9uLmF0dHJpYnV0ZXNbJ2FyaWEtc2VsZWN0ZWQnXVwiXG4gICAgICAgIFtzdHlsZV09XCJvcHRpb24uYXR0cmlidXRlcy5zdHlsZVwiXG4gICAgICAgIFtjbGFzc109XCJvcHRpb24uY2xhc3Nlc1wiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVyPy5zZWxlY3Qob3B0aW9uKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgY3VzdG9tT3B0aW9uPy50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICA/IGN1c3RvbU9wdGlvbiEudGVtcGxhdGVSZWZcbiAgICAgICAgICAgICAgOiBkZWZhdWx0T3B0aW9uO1xuICAgICAgICAgICAgY29udGV4dDogeyBvcHRpb246IG9wdGlvbiwgaW5kZXg6IGluZGV4IH1cbiAgICAgICAgICBcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gICAgPGRpdiAqbmdJZj1cImRyb3Bkb3duPy5pc011bHRpU2VsZWN0XCIgY2xhc3M9XCJzZy1maWVsZHNldC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJbnB1dFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLVRPRE86IEltcHJvdmUgY2hlY2tib3hlcyBpbiBkcm9wZG93biBhbmd1bGFyLS0+XG4gICAgICA8ZmllbGRzZXRcbiAgICAgICAgI2ZpZWxkc2V0UmVmXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZmllbGRzZXQ/LmF0dHJpYnV0ZXM/LmlkXCJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgYXJpYS1tdWx0aXNlbGVjdGFibGU9XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cInNyLW9ubHlcIiBbaWRdPVwiZmllbGRzZXQ/LmF0dHJpYnV0ZXM/LmlkXCI+T3B0aW9uczwvbGVnZW5kPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgW2F0dHIucm9sZV09XCJvcHRpb24uYXR0cmlidXRlcy5yb2xlXCJcbiAgICAgICAgICBbaWRdPVwib3B0aW9uLmF0dHJpYnV0ZXMuaWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwib3B0aW9uLmF0dHJpYnV0ZXNbJ2FyaWEtc2VsZWN0ZWQnXVwiXG4gICAgICAgICAgW2NsYXNzXT1cIm9wdGlvbi5jbGFzc2VzXCJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBvcHRpb24gb2YgZHJvcGRvd24/Lm9wdGlvbnM7XG4gICAgICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlLZXlcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVyPy5zZWxlY3Qob3B0aW9uLCBmYWxzZSlcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLnNlbGVjdGVkXCJcbiAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY3VzdG9tT3B0aW9uPy50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgID8gY3VzdG9tT3B0aW9uIS50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgIDogZGVmYXVsdE9wdGlvbjtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBvcHRpb246IG9wdGlvbiwgaW5kZXg6IGluZGV4IH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxpPjwvaT5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZmllbGRzZXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvbiBsZXQtb3B0aW9uPVwib3B0aW9uXCI+XG4gIHt7IG9wdGlvbltkcm9wZG93biEuZGlzcGxheV0gfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoSW5wdXQ+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiZHJvcGRvd24/LmlzU2VhcmNoYWJsZVwiXG4gICAgW2lkXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LmlkICsgJ19zZWFyY2gtaW5wdXQnXCJcbiAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAoaW5wdXQpPVwic2VhcmNoKCRldmVudClcIlxuICAgIHBsYWNlaG9sZGVyPVwie3sgZHJvcGRvd24/LnRleHRzPy5zZWFyY2hQbGFjZWhvbGRlciB9fVwiXG4gICAgY2xhc3M9XCJyb3VuZGVkLTAgcm91bmRlZC10b3AgYm9yZGVyLTAgYm9yZGVyLWJvdHRvbSBib3JkZXItaW5mb1wiXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBR0wsY0FBYyxFQU1kLGNBQWMsR0FHZixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBOzs7QUFjeEUsTUFBTSxPQUFPLG9CQUFvQjtJQXVFL0IsWUFDVSxFQUFxQixFQUNILFFBQWtCO1FBRHBDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ0gsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQXBFckMsU0FBSSxHQUFhLEtBQUssQ0FBQTtRQUl0QixZQUFPLEdBQXFCLEVBQUUsQ0FBQTtRQVkvQixpQkFBWSxHQUFHLEtBQUssQ0FBQTtRQVFwQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQWVSLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUE7UUFDeEQsWUFBTyxHQUN4QixJQUFJLFlBQVksRUFBVyxDQUFBO1FBaUI3QixZQUFPLEdBQTJCLGNBQWMsRUFB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O2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFTyxXQUFXO3NCQUF2QixLQUFLO2dCQVFPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBUU8sS0FBSztzQkFBakIsS0FBSztnQkFhYSxXQUFXO3NCQUE3QixNQUFNO2dCQUNZLE9BQU87c0JBQXpCLE1BQU07Z0JBR3lCLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsWUFBWTtnQkFDUyxVQUFVO3NCQUF6QyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ1UsV0FBVztzQkFBM0MsU0FBUzt1QkFBQyxhQUFhO2dCQUd4QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsMEJBQTBCO2dCQUl4QyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5nQ29udHJvbCxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHtcbiAgQWJzdHJhY3REcm9wZG93bixcbiAgQ29tcGFyZVdpdGgsXG4gIGNyZWF0ZURyb3Bkb3duLFxuICBEcm9wZG93bkFyZ3MsXG4gIERyb3Bkb3duSGFuZGxlcixcbiAgRHJvcGRvd25PcHRpb24sXG4gIERyb3Bkb3duT3B0aW9uRWxlbWVudCxcbiAgRHJvcGRvd25UZXh0cyxcbiAgZHJvcGRvd25WYWx1ZXMsXG4gIEVsZW1lbnRQcm9wcyxcbiAgU2VhcmNoRmlsdGVyLFxufSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCdcbmltcG9ydCB7IE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1vcHRpb24uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTmdnRHJvcGRvd25CdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLWJ1dHRvbi5kaXJlY3RpdmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZy1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBOZ2dEcm9wZG93bkNvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dEcm9wZG93bkNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKSBpZD86IHN0cmluZ1xuICBASW5wdXQoKSB0ZXh0cz86IERyb3Bkb3duVGV4dHNcbiAgQElucHV0KCkgbG9vcD86IGJvb2xlYW4gPSBmYWxzZVxuICBASW5wdXQoKSBkaXNwbGF5Pzogc3RyaW5nXG4gIEBJbnB1dCgpIHVzZVZhbHVlPzogc3RyaW5nXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG4gIEBJbnB1dCgpIG9wdGlvbnM6IERyb3Bkb3duT3B0aW9uW10gPSBbXVxuICBASW5wdXQoKSB2YWxpZD86IGJvb2xlYW5cbiAgQElucHV0KCkgaW52YWxpZD86IGJvb2xlYW5cbiAgQElucHV0KCkgY29tcGFyZVdpdGg/OiBDb21wYXJlV2l0aFxuICBASW5wdXQoKSBzZWFyY2hGaWx0ZXI/OiBTZWFyY2hGaWx0ZXJcblxuICBASW5wdXQoKSBzZXQgbXVsdGlTZWxlY3QodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9tdWx0aVNlbGVjdCA9IHRoaXMuY29udmVydFRvQm9vbGVhbih2YWx1ZSlcbiAgfVxuICBnZXQgbXVsdGlTZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpU2VsZWN0XG4gIH1cbiAgcHJpdmF0ZSBfbXVsdGlTZWxlY3QgPSBmYWxzZVxuXG4gIEBJbnB1dCgpIHNldCBzZWFyY2hhYmxlKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdGhpcy5fc2VhcmNoYWJsZSA9IHRoaXMuY29udmVydFRvQm9vbGVhbih2YWx1ZSlcbiAgfVxuICBnZXQgc2VhcmNoYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoYWJsZVxuICB9XG4gIHByaXZhdGUgX3NlYXJjaGFibGUgPSBmYWxzZVxuXG4gIEBJbnB1dCgpIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XG4gICAgdGhpcy5oYW5kbGVyPy5zZWxlY3RCeVZhbHVlKG5ld1ZhbHVlKVxuICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWVcbiAgfVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogYW55XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZXI/LmRyb3Bkb3duLm9wdGlvbnMuZmluZCgobykgPT4gby5zZWxlY3RlZClcbiAgfVxuXG4gIEBPdXRwdXQoKSByZWFkb25seSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdG91Y2hlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcblxuICBAVmlld0NoaWxkKCd0b2dnbGVyUmVmJykgcHVibGljIHRvZ2dsZXJSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICBAVmlld0NoaWxkKCdsaXN0Ym94UmVmJykgcHVibGljIGxpc3Rib3hSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICBAVmlld0NoaWxkKCdmaWVsZHNldFJlZicpIHB1YmxpYyBmaWVsZHNldFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG5cbiAgQENvbnRlbnRDaGlsZChOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSlcbiAgY3VzdG9tT3B0aW9uPzogTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmVcblxuICBAQ29udGVudENoaWxkKE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlKVxuICBjdXN0b21CdXR0b24/OiBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZVxuXG4gIG9uQ2hhbmdlRm4/OiAodmFsdWU6IHVua25vd24pID0+IHZvaWRcbiAgb25Ub3VjaGVkRm4/OiAoKSA9PiB2b2lkXG5cbiAgZHJvcGRvd24/OiBBYnN0cmFjdERyb3Bkb3duXG4gIGhhbmRsZXI/OiBEcm9wZG93bkhhbmRsZXJcbiAgdG9nZ2xlcj86IFBhcnRpYWw8RWxlbWVudFByb3BzPiA9IGRyb3Bkb3duVmFsdWVzKCkuZWxlbWVudHM/LnRvZ2dsZXJcbiAgbGlzdGJveD86IFBhcnRpYWw8RWxlbWVudFByb3BzPiA9IGRyb3Bkb3duVmFsdWVzKCkuZWxlbWVudHM/Lmxpc3Rib3hcbiAgZmllbGRzZXQ/OiBQYXJ0aWFsPEVsZW1lbnRQcm9wcz4gPSBkcm9wZG93blZhbHVlcygpLmVsZW1lbnRzPy5maWVsZHNldFxuXG4gIGdldCBjb250cm9sKCk6IE5nQ29udHJvbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoSW5qZWN0b3IpIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9nZ2xlclJlZj8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLmxpc3Rib3hSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaGFuZGxlciA9IGNyZWF0ZURyb3Bkb3duKFxuICAgICAgICB0aGlzLnByb3BzLFxuICAgICAgICB0aGlzLnRvZ2dsZXJSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgdGhpcy5saXN0Ym94UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMuZmllbGRzZXRSZWY/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIChkcm9wZG93bikgPT4ge1xuICAgICAgICAgIHRoaXMuZHJvcGRvd24gPSBkcm9wZG93blxuICAgICAgICAgIHRoaXMudG9nZ2xlciA9IGRyb3Bkb3duLmVsZW1lbnRzLnRvZ2dsZXJcbiAgICAgICAgICB0aGlzLmxpc3Rib3ggPSBkcm9wZG93bi5lbGVtZW50cy5saXN0Ym94XG4gICAgICAgICAgdGhpcy5maWVsZHNldCA9IGRyb3Bkb3duLmVsZW1lbnRzLmZpZWxkc2V0XG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgfSxcbiAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSlcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlcj8uZGVzdHJveSgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5oYW5kbGVyICYmXG4gICAgICAoY2hhbmdlcy5pZCB8fCBjaGFuZ2VzLnRleHRzIHx8IGNoYW5nZXMubG9vcCB8fCBjaGFuZ2VzLm9wdGlvbnMpXG4gICAgKSB7XG4gICAgICB0aGlzLmhhbmRsZXIudXBkYXRlKHRoaXMucHJvcHMpXG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuXG4gIH1cblxuICB0cmFja0J5S2V5ID0gKGluZGV4OiBudW1iZXIsIG9wdGlvbjogRHJvcGRvd25PcHRpb25FbGVtZW50KTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gb3B0aW9uLmF0dHJpYnV0ZXMuaWQgPz8gJydcbiAgfVxuXG4gIHNlYXJjaCgkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVyPy5zZWFyY2goKCRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpXG4gIH1cblxuICBwcml2YXRlIGdldCBwcm9wcygpOiBEcm9wZG93bkFyZ3Mge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5pZCB8fCB0aGlzLmRyb3Bkb3duPy5pZCxcbiAgICAgIHRleHRzOiB0aGlzLnRleHRzLFxuICAgICAgdXNlVmFsdWU6IHRoaXMudXNlVmFsdWUsXG4gICAgICBkaXNwbGF5OiB0aGlzLmRpc3BsYXksXG4gICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICBsb29wOiB0aGlzLmxvb3AsXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgIG11bHRpU2VsZWN0OiB0aGlzLm11bHRpU2VsZWN0LFxuICAgICAgc2VhcmNoYWJsZTogdGhpcy5zZWFyY2hhYmxlLFxuICAgICAgc2VhcmNoRmlsdGVyOiB0aGlzLnNlYXJjaEZpbHRlcixcbiAgICAgIGNvbXBhcmVXaXRoOiB0aGlzLmNvbXBhcmVXaXRoLFxuICAgICAgb25Ub3VjaGVkOiAoKSA9PiB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkRm4/LigpXG4gICAgICAgIHRoaXMudG91Y2hlZC5lbWl0KHRydWUpXG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKClcbiAgICAgIH0sXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVWYWx1ZShvcHRpb246IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gb3B0aW9uXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG9wdGlvbilcbiAgICB0aGlzLm9uQ2hhbmdlRm4/LihvcHRpb24pXG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb0Jvb2xlYW4odmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSAndHJ1ZScgfHwgdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3RydWUnIHx8IGZhbHNlXG4gICAgKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgKm5nSWY9XCJsYWJlbFwiIFtpZF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZCArICdfbGFiZWwnXCI+e3tcbiAgICBsYWJlbFxuICB9fTwvc3Bhbj5cbiAgPGJ1dHRvblxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbCA/IHRvZ2dsZXI/LmF0dHJpYnV0ZXM/LmlkICsgJ19sYWJlbCcgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIlxuICAgICAgZm9ybUluZm8/LnRleHRDb250ZW50ICYmIChmb3JtSW5mbz8udGV4dENvbnRlbnQ/Lmxlbmd0aCA/PyAwID4gMClcbiAgICAgICAgPyB0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZCArICdfaW5mbydcbiAgICAgICAgOiBudWxsXG4gICAgXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICN0b2dnbGVyUmVmXG4gICAgW2lkXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LmlkXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LlsnYXJpYS1oYXNwb3B1cCddXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LlsnYXJpYS1leHBhbmRlZCddXCJcbiAgICBbYXR0ci5hcmlhLW93bnNdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uWydhcmlhLW93bnMnXVwiXG4gICAgW3RhYmluZGV4XT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LnRhYkluZGV4XCJcbiAgICBbc3R5bGVdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uc3R5bGVcIlxuICAgIFtjbGFzc109XCJ0b2dnbGVyPy5jbGFzc2VzXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlcj8udG9nZ2xlKClcIlxuICAgIFtjbGFzcy5pcy12YWxpZF09XCJ2YWxpZFwiXG4gICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaW52YWxpZFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICBjdXN0b21CdXR0b24/LnRlbXBsYXRlUmVmICYmICFtdWx0aVNlbGVjdCAmJiBzZWxlY3RlZE9wdGlvblxuICAgICAgICAgID8gY3VzdG9tQnV0dG9uIS50ZW1wbGF0ZVJlZlxuICAgICAgICAgIDogZGVmYXVsdEJ1dHRvbjtcbiAgICAgICAgY29udGV4dDogeyBvcHRpb246IHNlbGVjdGVkT3B0aW9uIH1cbiAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cImZvcm0taW5mb1wiXG4gICAgI2Zvcm1JbmZvXG4gICAgW2F0dHIuaWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uaWQgKyAnX2luZm8nXCJcbiAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtZm9ybS1pbmZvXVwiPjwvbmctY29udGVudFxuICA+PC9zcGFuPlxuICA8ZGl2XG4gICAgI2xpc3Rib3hSZWZcbiAgICBbaWRdPVwibGlzdGJveD8uYXR0cmlidXRlcz8uaWRcIlxuICAgIFthdHRyLnJvbGVdPVwibGlzdGJveD8uYXR0cmlidXRlcz8ucm9sZVwiXG4gICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIlxuICAgICAgICBsaXN0Ym94Py5hdHRyaWJ1dGVzPy5bJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCddXG4gICAgICBcIlxuICAgIFt0YWJpbmRleF09XCJsaXN0Ym94Py5hdHRyaWJ1dGVzPy50YWJJbmRleFwiXG4gICAgW3N0eWxlXT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LnN0eWxlXCJcbiAgICBbY2xhc3NdPVwibGlzdGJveD8uY2xhc3Nlc1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGQtc20tbm9uZSBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC1ncm93LTEgcHMtNCBmcy0yIGZ3LWJvbGRlclwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZSBtLTQgbS1zbS0yIGQtYmxvY2sgZC1zbS1ub25lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkcm9wZG93bj8udGV4dHM/LmNsb3NlXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZXI/LmNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICA8aT48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8dWwgcm9sZT1cImxpc3Rib3hcIiAqbmdJZj1cIiFkcm9wZG93bj8uaXNNdWx0aVNlbGVjdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaElucHV0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bGlcbiAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgbGV0IG9wdGlvbiBvZiBkcm9wZG93bj8ub3B0aW9ucztcbiAgICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgICB0cmFja0J5OiB0cmFja0J5S2V5XG4gICAgICAgIFwiXG4gICAgICAgIFtpZF09XCJvcHRpb24uYXR0cmlidXRlcy5pZFwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwib3B0aW9uLmF0dHJpYnV0ZXMucm9sZVwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwib3B0aW9uLmF0dHJpYnV0ZXNbJ2FyaWEtc2VsZWN0ZWQnXVwiXG4gICAgICAgIFtzdHlsZV09XCJvcHRpb24uYXR0cmlidXRlcy5zdHlsZVwiXG4gICAgICAgIFtjbGFzc109XCJvcHRpb24uY2xhc3Nlc1wiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVyPy5zZWxlY3Qob3B0aW9uKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgY3VzdG9tT3B0aW9uPy50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICA/IGN1c3RvbU9wdGlvbiEudGVtcGxhdGVSZWZcbiAgICAgICAgICAgICAgOiBkZWZhdWx0T3B0aW9uO1xuICAgICAgICAgICAgY29udGV4dDogeyBvcHRpb246IG9wdGlvbiwgaW5kZXg6IGluZGV4IH1cbiAgICAgICAgICBcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gICAgPGRpdiAqbmdJZj1cImRyb3Bkb3duPy5pc011bHRpU2VsZWN0XCIgY2xhc3M9XCJzZy1maWVsZHNldC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJbnB1dFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLVRPRE86IEltcHJvdmUgY2hlY2tib3hlcyBpbiBkcm9wZG93biBhbmd1bGFyLS0+XG4gICAgICA8ZmllbGRzZXRcbiAgICAgICAgI2ZpZWxkc2V0UmVmXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZmllbGRzZXQ/LmF0dHJpYnV0ZXM/LmlkXCJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgYXJpYS1tdWx0aXNlbGVjdGFibGU9XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cInNyLW9ubHlcIiBbaWRdPVwiZmllbGRzZXQ/LmF0dHJpYnV0ZXM/LmlkXCI+T3B0aW9uczwvbGVnZW5kPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgW2F0dHIucm9sZV09XCJvcHRpb24uYXR0cmlidXRlcy5yb2xlXCJcbiAgICAgICAgICBbaWRdPVwib3B0aW9uLmF0dHJpYnV0ZXMuaWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwib3B0aW9uLmF0dHJpYnV0ZXNbJ2FyaWEtc2VsZWN0ZWQnXVwiXG4gICAgICAgICAgW2NsYXNzXT1cIm9wdGlvbi5jbGFzc2VzXCJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBvcHRpb24gb2YgZHJvcGRvd24/Lm9wdGlvbnM7XG4gICAgICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlLZXlcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVyPy5zZWxlY3Qob3B0aW9uLCBmYWxzZSlcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLnNlbGVjdGVkXCJcbiAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY3VzdG9tT3B0aW9uPy50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgID8gY3VzdG9tT3B0aW9uIS50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgIDogZGVmYXVsdE9wdGlvbjtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBvcHRpb246IG9wdGlvbiwgaW5kZXg6IGluZGV4IH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxpPjwvaT5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZmllbGRzZXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEJ1dHRvbiBsZXQtc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPlxuICA8c3Bhbj57eyBkcm9wZG93bj8udGV4dHM/LnNlbGVjdCB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvbiBsZXQtb3B0aW9uPVwib3B0aW9uXCI+XG4gIHt7IG9wdGlvbltkcm9wZG93biEuZGlzcGxheV0gfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoSW5wdXQ+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiZHJvcGRvd24/LmlzU2VhcmNoYWJsZVwiXG4gICAgW2lkXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LmlkICsgJ19zZWFyY2gtaW5wdXQnXCJcbiAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAoaW5wdXQpPVwic2VhcmNoKCRldmVudClcIlxuICAgIHBsYWNlaG9sZGVyPVwie3sgZHJvcGRvd24/LnRleHRzPy5zZWFyY2hQbGFjZWhvbGRlciB9fVwiXG4gICAgY2xhc3M9XCJyb3VuZGVkLTAgcm91bmRlZC10b3AgYm9yZGVyLTAgYm9yZGVyLWJvdHRvbSBib3JkZXItaW5mb1wiXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -2,18 +2,31 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { NggDropdownComponent } from './dropdown.component';
|
|
4
4
|
import { NggDropdownOptionDirective } from './dropdown-option.directive';
|
|
5
|
+
import { NggDropdownButtonDirective } from './dropdown-button.directive';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class NggDropdownModule {
|
|
7
8
|
}
|
|
8
9
|
NggDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownModule, declarations: [NggDropdownComponent,
|
|
10
|
+
NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownModule, declarations: [NggDropdownComponent,
|
|
11
|
+
NggDropdownOptionDirective,
|
|
12
|
+
NggDropdownButtonDirective], imports: [CommonModule], exports: [NggDropdownComponent,
|
|
13
|
+
NggDropdownOptionDirective,
|
|
14
|
+
NggDropdownButtonDirective] });
|
|
10
15
|
NggDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownModule, imports: [CommonModule] });
|
|
11
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggDropdownModule, decorators: [{
|
|
12
17
|
type: NgModule,
|
|
13
18
|
args: [{
|
|
14
|
-
declarations: [
|
|
19
|
+
declarations: [
|
|
20
|
+
NggDropdownComponent,
|
|
21
|
+
NggDropdownOptionDirective,
|
|
22
|
+
NggDropdownButtonDirective,
|
|
23
|
+
],
|
|
15
24
|
imports: [CommonModule],
|
|
16
|
-
exports: [
|
|
25
|
+
exports: [
|
|
26
|
+
NggDropdownComponent,
|
|
27
|
+
NggDropdownOptionDirective,
|
|
28
|
+
NggDropdownButtonDirective,
|
|
29
|
+
],
|
|
17
30
|
}]
|
|
18
31
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBOztBQWV4RSxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBWDFCLG9CQUFvQjtRQUNwQiwwQkFBMEI7UUFDMUIsMEJBQTBCLGFBRWxCLFlBQVksYUFFcEIsb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQiwwQkFBMEI7K0dBR2pCLGlCQUFpQixZQVBsQixZQUFZOzJGQU9YLGlCQUFpQjtrQkFiN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ2dEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50J1xuaW1wb3J0IHsgTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmdnRHJvcGRvd25Db21wb25lbnQsXG4gICAgTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUsXG4gICAgTmdnRHJvcGRvd25CdXR0b25EaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgTmdnRHJvcGRvd25Db21wb25lbnQsXG4gICAgTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUsXG4gICAgTmdnRHJvcGRvd25CdXR0b25EaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './dropdown.component';
|
|
2
2
|
export * from './dropdown.module';
|
|
3
3
|
export * from './dropdown-option.directive';
|
|
4
|
-
|
|
4
|
+
export * from './dropdown-button.directive';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9kcm9wZG93bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDZCQUE2QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tb3B0aW9uLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZSdcbiJdfQ==
|
|
@@ -9,6 +9,7 @@ import { NggModalModule } from './modal';
|
|
|
9
9
|
import { NggProgressCircleModule } from './progress-circle/progress-circle.module';
|
|
10
10
|
import { NggSegmentedControlModule } from './segmented-control/segmented-control.module';
|
|
11
11
|
import { NggSliderModule } from './slider/slider.module';
|
|
12
|
+
import { NggContextMenuModule } from './context-menu';
|
|
12
13
|
import { NggInPageWizardModule } from './in-page-wizard';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
export class NggModule {
|
|
@@ -23,6 +24,7 @@ NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
|
23
24
|
NggProgressCircleModule,
|
|
24
25
|
NggSegmentedControlModule,
|
|
25
26
|
NggSliderModule,
|
|
27
|
+
NggContextMenuModule,
|
|
26
28
|
NggInPageWizardModule] });
|
|
27
29
|
NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModule, imports: [CommonModule, NggAccordionModule,
|
|
28
30
|
NggBadgeModule,
|
|
@@ -33,6 +35,7 @@ NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
|
33
35
|
NggProgressCircleModule,
|
|
34
36
|
NggSegmentedControlModule,
|
|
35
37
|
NggSliderModule,
|
|
38
|
+
NggContextMenuModule,
|
|
36
39
|
NggInPageWizardModule] });
|
|
37
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModule, decorators: [{
|
|
38
41
|
type: NgModule,
|
|
@@ -49,8 +52,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
49
52
|
NggProgressCircleModule,
|
|
50
53
|
NggSegmentedControlModule,
|
|
51
54
|
NggSliderModule,
|
|
55
|
+
NggContextMenuModule,
|
|
52
56
|
NggInPageWizardModule,
|
|
53
57
|
],
|
|
54
58
|
}]
|
|
55
59
|
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlZW4tYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9ncmVlbi1hbmd1bGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTs7QUFtQnhELE1BQU0sT0FBTyxTQUFTOztzR0FBVCxTQUFTO3VHQUFULFNBQVMsWUFmVixZQUFZLGFBRXBCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsY0FBYztRQUNkLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixxQkFBcUI7dUdBR1osU0FBUyxZQWZWLFlBQVksRUFFcEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLHFCQUFxQjsyRkFHWixTQUFTO2tCQWpCckIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdnQWNjb3JkaW9uTW9kdWxlIH0gZnJvbSAnLi9hY2NvcmRpb24nXG5pbXBvcnQgeyBOZ2dCYWRnZU1vZHVsZSB9IGZyb20gJy4vYmFkZ2UvYmFkZ2UubW9kdWxlJ1xuaW1wb3J0IHsgTmdnQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLm1vZHVsZSdcbmltcG9ydCB7IE5nZ0RhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICcuL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5tb2R1bGUnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJ1xuaW1wb3J0IHsgTmdnTW9kYWxNb2R1bGUgfSBmcm9tICcuL21vZGFsJ1xuaW1wb3J0IHsgTmdnUHJvZ3Jlc3NDaXJjbGVNb2R1bGUgfSBmcm9tICcuL3Byb2dyZXNzLWNpcmNsZS9wcm9ncmVzcy1jaXJjbGUubW9kdWxlJ1xuaW1wb3J0IHsgTmdnU2VnbWVudGVkQ29udHJvbE1vZHVsZSB9IGZyb20gJy4vc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wubW9kdWxlJ1xuaW1wb3J0IHsgTmdnU2xpZGVyTW9kdWxlIH0gZnJvbSAnLi9zbGlkZXIvc2xpZGVyLm1vZHVsZSdcbmltcG9ydCB7IE5nZ0NvbnRleHRNZW51TW9kdWxlIH0gZnJvbSAnLi9jb250ZXh0LW1lbnUnXG5pbXBvcnQgeyBOZ2dJblBhZ2VXaXphcmRNb2R1bGUgfSBmcm9tICcuL2luLXBhZ2Utd2l6YXJkJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIE5nZ0FjY29yZGlvbk1vZHVsZSxcbiAgICBOZ2dCYWRnZU1vZHVsZSxcbiAgICBOZ2dCdXR0b25Nb2R1bGUsXG4gICAgTmdnRGF0ZXBpY2tlck1vZHVsZSxcbiAgICBOZ2dEcm9wZG93bk1vZHVsZSxcbiAgICBOZ2dNb2RhbE1vZHVsZSxcbiAgICBOZ2dQcm9ncmVzc0NpcmNsZU1vZHVsZSxcbiAgICBOZ2dTZWdtZW50ZWRDb250cm9sTW9kdWxlLFxuICAgIE5nZ1NsaWRlck1vZHVsZSxcbiAgICBOZ2dDb250ZXh0TWVudU1vZHVsZSxcbiAgICBOZ2dJblBhZ2VXaXphcmRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZHVsZSB7fVxuIl19
|