@agorapulse/ui-components 18.1.2 → 18.1.4
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/action-dropdown/action-dropdown-trigger.directive.d.ts +17 -0
- package/action-dropdown/action-dropdown.component.d.ts +85 -0
- package/{popover-menu → action-dropdown}/index.d.ts +1 -1
- package/action-dropdown/public_api.d.ts +2 -0
- package/agorapulse-ui-components-18.1.4.tgz +0 -0
- package/esm2022/action-dropdown/action-dropdown-trigger.directive.mjs +54 -0
- package/esm2022/action-dropdown/action-dropdown.component.mjs +270 -0
- package/esm2022/action-dropdown/agorapulse-ui-components-action-dropdown.mjs +5 -0
- package/esm2022/action-dropdown/public_api.mjs +3 -0
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +16 -6
- package/fesm2022/agorapulse-ui-components-action-dropdown.mjs +329 -0
- package/fesm2022/agorapulse-ui-components-action-dropdown.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs +16 -15
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +4 -2
- package/package.json +7 -7
- package/agorapulse-ui-components-18.1.2.tgz +0 -0
- package/esm2022/nav-selector/nav-selector-leaf-action/nav-selector-leaf-action.component.mjs +0 -13
- package/esm2022/popover-menu/agorapulse-ui-components-popover-menu.mjs +0 -5
- package/esm2022/popover-menu/popover-menu-trigger.directive.mjs +0 -58
- package/esm2022/popover-menu/popover-menu.component.mjs +0 -207
- package/esm2022/popover-menu/public_api.mjs +0 -3
- package/fesm2022/agorapulse-ui-components-popover-menu.mjs +0 -270
- package/fesm2022/agorapulse-ui-components-popover-menu.mjs.map +0 -1
- package/nav-selector/nav-selector-leaf-action/nav-selector-leaf-action.component.d.ts +0 -7
- package/popover-menu/popover-menu-trigger.directive.d.ts +0 -15
- package/popover-menu/popover-menu.component.d.ts +0 -50
- package/popover-menu/public_api.d.ts +0 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ActionDropdownItem } from '@agorapulse/ui-components/action-dropdown';
|
|
1
2
|
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { InternalNavSelectorLeaf,
|
|
3
|
+
import { InternalNavSelectorLeaf, InternalNavSelectorLeafDetails, NavSelectorLeafActionClickedEvent } from '../nav-selector';
|
|
3
4
|
import { NavSelectorLeafPresenter } from './nav-selector-leaf.presenter';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class NavSelectorLeafComponent {
|
|
@@ -21,6 +22,7 @@ export declare class NavSelectorLeafComponent {
|
|
|
21
22
|
tooltipDisabled: import("@angular/core").Signal<boolean>;
|
|
22
23
|
foldedWithDelay: import("@angular/core").WritableSignal<boolean>;
|
|
23
24
|
network: import("@angular/core").Signal<"bluesky" | "facebook" | "instagram" | "linkedin" | "twitter" | "youtube" | "meta" | "google" | "pinterest" | "threads" | "tiktok" | "webBlog" | "webNews" | "X" | "xPlus" | "reddit" | null | undefined>;
|
|
25
|
+
leafActions: import("@angular/core").Signal<ActionDropdownItem[]>;
|
|
24
26
|
constructor(el: ElementRef, navSelectorLeafPresenter: NavSelectorLeafPresenter);
|
|
25
27
|
animationState: import("@angular/core").Signal<"collapsed" | "expanded">;
|
|
26
28
|
maxHeight: import("@angular/core").WritableSignal<string>;
|
|
@@ -38,7 +40,7 @@ export declare class NavSelectorLeafComponent {
|
|
|
38
40
|
fold(event: Event): void;
|
|
39
41
|
unfold(event: Event): void;
|
|
40
42
|
onDetailClicked(event: Event, detail: InternalNavSelectorLeafDetails): void;
|
|
41
|
-
onActionClicked(action:
|
|
43
|
+
onActionClicked(action: ActionDropdownItem): void;
|
|
42
44
|
private computeMaxHeight;
|
|
43
45
|
private updateAliasBoundedClientRect;
|
|
44
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavSelectorLeafComponent, never>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agorapulse/ui-components",
|
|
3
3
|
"description": "Agorapulse UI Components Library",
|
|
4
|
-
"version": "18.1.
|
|
4
|
+
"version": "18.1.4",
|
|
5
5
|
"author": "Benoit Hediard",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -37,6 +37,12 @@
|
|
|
37
37
|
"esm": "./esm2022/agorapulse-ui-components.mjs",
|
|
38
38
|
"default": "./fesm2022/agorapulse-ui-components.mjs"
|
|
39
39
|
},
|
|
40
|
+
"./action-dropdown": {
|
|
41
|
+
"types": "./action-dropdown/index.d.ts",
|
|
42
|
+
"esm2022": "./esm2022/action-dropdown/agorapulse-ui-components-action-dropdown.mjs",
|
|
43
|
+
"esm": "./esm2022/action-dropdown/agorapulse-ui-components-action-dropdown.mjs",
|
|
44
|
+
"default": "./fesm2022/agorapulse-ui-components-action-dropdown.mjs"
|
|
45
|
+
},
|
|
40
46
|
"./add-comment": {
|
|
41
47
|
"types": "./add-comment/index.d.ts",
|
|
42
48
|
"esm2022": "./esm2022/add-comment/agorapulse-ui-components-add-comment.mjs",
|
|
@@ -217,12 +223,6 @@
|
|
|
217
223
|
"esm": "./esm2022/popmenu/agorapulse-ui-components-popmenu.mjs",
|
|
218
224
|
"default": "./fesm2022/agorapulse-ui-components-popmenu.mjs"
|
|
219
225
|
},
|
|
220
|
-
"./popover-menu": {
|
|
221
|
-
"types": "./popover-menu/index.d.ts",
|
|
222
|
-
"esm2022": "./esm2022/popover-menu/agorapulse-ui-components-popover-menu.mjs",
|
|
223
|
-
"esm": "./esm2022/popover-menu/agorapulse-ui-components-popover-menu.mjs",
|
|
224
|
-
"default": "./fesm2022/agorapulse-ui-components-popover-menu.mjs"
|
|
225
|
-
},
|
|
226
226
|
"./radio": {
|
|
227
227
|
"types": "./radio/index.d.ts",
|
|
228
228
|
"esm2022": "./esm2022/radio/agorapulse-ui-components-radio.mjs",
|
|
Binary file
|
package/esm2022/nav-selector/nav-selector-leaf-action/nav-selector-leaf-action.component.mjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { SymbolComponent } from '@agorapulse/ui-symbol';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NavSelectorLeafActionComponent {
|
|
5
|
-
action = input.required();
|
|
6
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafActionComponent, isStandalone: true, selector: "ap-nav-selector-leaf-action", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (action().icon) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"action().icon\" />\n}\n\n<span class=\"text\">{{ action().label }}</span>\n", styles: [":host{display:flex;align-items:center;align-self:stretch;gap:var(--ref-spacing-xxs)}:host .text{font-family:Averta;font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-sm)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafActionComponent, decorators: [{
|
|
10
|
-
type: Component,
|
|
11
|
-
args: [{ selector: 'ap-nav-selector-leaf-action', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [SymbolComponent], template: "@if (action().icon) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"action().icon\" />\n}\n\n<span class=\"text\">{{ action().label }}</span>\n", styles: [":host{display:flex;align-items:center;align-self:stretch;gap:var(--ref-spacing-xxs)}:host .text{font-family:Averta;font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-sm)}\n"] }]
|
|
12
|
-
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWFjdGlvbi9uYXYtc2VsZWN0b3ItbGVhZi1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYtYWN0aW9uL25hdi1zZWxlY3Rvci1sZWFmLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzFFLE1BQU0sT0FBTyw4QkFBOEI7SUFDdkMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWlDLENBQUM7dUdBRGhELDhCQUE4QjsyRkFBOUIsOEJBQThCLDZOQ1ozQyw4SkFPQSx5VERHYyxlQUFlOzsyRkFFaEIsOEJBQThCO2tCQVIxQyxTQUFTOytCQUNJLDZCQUE2QixjQUczQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTeW1ib2xDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmQWN0aW9uIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1uYXYtc2VsZWN0b3ItbGVhZi1hY3Rpb24nLFxuICAgIHN0eWxlVXJsczogWycuL25hdi1zZWxlY3Rvci1sZWFmLWFjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYtc2VsZWN0b3ItbGVhZi1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1N5bWJvbENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkFjdGlvbkNvbXBvbmVudCB7XG4gICAgYWN0aW9uID0gaW5wdXQucmVxdWlyZWQ8SW50ZXJuYWxOYXZTZWxlY3RvckxlYWZBY3Rpb24+KCk7XG59XG4iLCJAaWYgKGFjdGlvbigpLmljb24pIHtcbiAgICA8YXAtc3ltYm9sXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIFtzeW1ib2xJZF09XCJhY3Rpb24oKS5pY29uXCIgLz5cbn1cblxuPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+e3sgYWN0aW9uKCkubGFiZWwgfX08L3NwYW4+XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdvcmFwdWxzZS11aS1jb21wb25lbnRzLXBvcG92ZXItbWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9wb3BvdmVyLW1lbnUvc3JjL2Fnb3JhcHVsc2UtdWktY29tcG9uZW50cy1wb3BvdmVyLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class PopoverMenuTriggerDirective {
|
|
4
|
-
elementRef = inject((ElementRef));
|
|
5
|
-
apPopoverMenuTrigger = input.required();
|
|
6
|
-
popoverMenuItems = input([]);
|
|
7
|
-
disabled = input(false);
|
|
8
|
-
menuItemClick = output();
|
|
9
|
-
opened = output();
|
|
10
|
-
closed = output();
|
|
11
|
-
onClick(event) {
|
|
12
|
-
event.preventDefault();
|
|
13
|
-
event.stopPropagation();
|
|
14
|
-
if (this.disabled()) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const popoverMenu = this.apPopoverMenuTrigger();
|
|
18
|
-
if (popoverMenu) {
|
|
19
|
-
popoverMenu.toggle(this.elementRef.nativeElement);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
onKeyDown(event) {
|
|
23
|
-
if (this.disabled()) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const popoverMenu = this.apPopoverMenuTrigger();
|
|
27
|
-
if (popoverMenu) {
|
|
28
|
-
switch (event.key) {
|
|
29
|
-
case 'Enter':
|
|
30
|
-
case ' ':
|
|
31
|
-
case 'ArrowDown':
|
|
32
|
-
event.preventDefault();
|
|
33
|
-
popoverMenu.open(this.elementRef.nativeElement);
|
|
34
|
-
break;
|
|
35
|
-
case 'Escape':
|
|
36
|
-
event.preventDefault();
|
|
37
|
-
popoverMenu.close();
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PopoverMenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: PopoverMenuTriggerDirective, isStandalone: true, selector: "[apPopoverMenuTrigger]", inputs: { apPopoverMenuTrigger: { classPropertyName: "apPopoverMenuTrigger", publicName: "apPopoverMenuTrigger", isSignal: true, isRequired: true, transformFunction: null }, popoverMenuItems: { classPropertyName: "popoverMenuItems", publicName: "popoverMenuItems", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { menuItemClick: "menuItemClick", opened: "opened", closed: "closed" }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 });
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PopoverMenuTriggerDirective, decorators: [{
|
|
46
|
-
type: Directive,
|
|
47
|
-
args: [{
|
|
48
|
-
selector: '[apPopoverMenuTrigger]',
|
|
49
|
-
standalone: true,
|
|
50
|
-
}]
|
|
51
|
-
}], propDecorators: { onClick: [{
|
|
52
|
-
type: HostListener,
|
|
53
|
-
args: ['click', ['$event']]
|
|
54
|
-
}], onKeyDown: [{
|
|
55
|
-
type: HostListener,
|
|
56
|
-
args: ['keydown', ['$event']]
|
|
57
|
-
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1tZW51LXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3BvcG92ZXItbWVudS9zcmMvcG9wb3Zlci1tZW51LXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0YsTUFBTSxPQUFPLDJCQUEyQjtJQUNuQixVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7SUFFOUQsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBd0IsQ0FBQztJQUM5RCxnQkFBZ0IsR0FBRyxLQUFLLENBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFeEIsYUFBYSxHQUFHLE1BQU0sRUFBbUIsQ0FBQztJQUMxQyxNQUFNLEdBQUcsTUFBTSxFQUFRLENBQUM7SUFDeEIsTUFBTSxHQUFHLE1BQU0sRUFBUSxDQUFDO0lBR3hCLE9BQU8sQ0FBQyxLQUFpQjtRQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDTCxDQUFDO0lBR0QsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssT0FBTyxDQUFDO2dCQUNiLEtBQUssR0FBRyxDQUFDO2dCQUNULEtBQUssV0FBVztvQkFDWixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3ZCLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDaEQsTUFBTTtnQkFFVixLQUFLLFFBQVE7b0JBQ1QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3BCLE1BQU07WUFDZCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7dUdBaERRLDJCQUEyQjsyRkFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFhRyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWdCakMsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvcG92ZXJNZW51Q29tcG9uZW50LCBQb3BvdmVyTWVudUl0ZW0gfSBmcm9tICcuL3BvcG92ZXItbWVudS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1thcFBvcG92ZXJNZW51VHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJNZW51VHJpZ2dlckRpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuICAgIGFwUG9wb3Zlck1lbnVUcmlnZ2VyID0gaW5wdXQucmVxdWlyZWQ8UG9wb3Zlck1lbnVDb21wb25lbnQ+KCk7XG4gICAgcG9wb3Zlck1lbnVJdGVtcyA9IGlucHV0PFBvcG92ZXJNZW51SXRlbVtdPihbXSk7XG4gICAgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG5cbiAgICBtZW51SXRlbUNsaWNrID0gb3V0cHV0PFBvcG92ZXJNZW51SXRlbT4oKTtcbiAgICBvcGVuZWQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgICBjbG9zZWQgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBvcG92ZXJNZW51ID0gdGhpcy5hcFBvcG92ZXJNZW51VHJpZ2dlcigpO1xuICAgICAgICBpZiAocG9wb3Zlck1lbnUpIHtcbiAgICAgICAgICAgIHBvcG92ZXJNZW51LnRvZ2dsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9wb3Zlck1lbnUgPSB0aGlzLmFwUG9wb3Zlck1lbnVUcmlnZ2VyKCk7XG4gICAgICAgIGlmIChwb3BvdmVyTWVudSkge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgICAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgcG9wb3Zlck1lbnUub3Blbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgcG9wb3Zlck1lbnUuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import { BadgeComponent } from '@agorapulse/ui-components/badge';
|
|
2
|
-
import { TooltipDirective } from '@agorapulse/ui-components/tooltip';
|
|
3
|
-
import { apFeatureLock, apInfo, SymbolComponent, withSymbols } from '@agorapulse/ui-symbol';
|
|
4
|
-
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
|
|
5
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import { ChangeDetectionStrategy, Component, computed, contentChild, effect, ElementRef, inject, input, output, signal, viewChild, ViewContainerRef, } from '@angular/core';
|
|
8
|
-
import { take } from 'rxjs/operators';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class PopoverMenuComponent {
|
|
11
|
-
elementRef = inject(ElementRef);
|
|
12
|
-
overlay = inject(Overlay);
|
|
13
|
-
positionBuilder = inject(OverlayPositionBuilder);
|
|
14
|
-
viewContainerRef = inject(ViewContainerRef);
|
|
15
|
-
menuTemplate = viewChild('menuTemplate');
|
|
16
|
-
trigger = contentChild('trigger');
|
|
17
|
-
items = input([]);
|
|
18
|
-
disabled = input(false);
|
|
19
|
-
largeMenuEnabled = input(false);
|
|
20
|
-
showBackdrop = input(true);
|
|
21
|
-
customWidth = input(null);
|
|
22
|
-
menuItemClick = output();
|
|
23
|
-
opened = output();
|
|
24
|
-
closed = output();
|
|
25
|
-
overlayRef = null;
|
|
26
|
-
portal = null;
|
|
27
|
-
isOpen = signal(false);
|
|
28
|
-
focusedIndex = signal(-1);
|
|
29
|
-
menuItems = computed(() => this.items().filter(item => !item.divider));
|
|
30
|
-
constructor() {
|
|
31
|
-
effect(() => {
|
|
32
|
-
if (this.isOpen()) {
|
|
33
|
-
this.setupKeyboardNavigation();
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
open(triggerElement) {
|
|
38
|
-
const menuTemplate = this.menuTemplate();
|
|
39
|
-
if (this.disabled() || this.isOpen() || !menuTemplate) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
const target = triggerElement || this.elementRef.nativeElement;
|
|
43
|
-
if (this.overlayRef) {
|
|
44
|
-
this.overlayRef.dispose();
|
|
45
|
-
}
|
|
46
|
-
const positionStrategy = this.createPositionStrategy(target);
|
|
47
|
-
this.overlayRef = this.overlay.create({
|
|
48
|
-
positionStrategy,
|
|
49
|
-
hasBackdrop: this.showBackdrop(),
|
|
50
|
-
backdropClass: '',
|
|
51
|
-
panelClass: '',
|
|
52
|
-
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
53
|
-
});
|
|
54
|
-
this.portal = new TemplatePortal(menuTemplate, this.viewContainerRef);
|
|
55
|
-
this.overlayRef.attach(this.portal);
|
|
56
|
-
this.isOpen.set(true);
|
|
57
|
-
this.focusedIndex.set(-1);
|
|
58
|
-
this.opened.emit();
|
|
59
|
-
this.overlayRef
|
|
60
|
-
.backdropClick()
|
|
61
|
-
.pipe(take(1))
|
|
62
|
-
.subscribe(() => {
|
|
63
|
-
this.close();
|
|
64
|
-
});
|
|
65
|
-
this.overlayRef
|
|
66
|
-
.keydownEvents()
|
|
67
|
-
.pipe(take(1))
|
|
68
|
-
.subscribe((event) => {
|
|
69
|
-
if (event.key === 'Escape') {
|
|
70
|
-
this.close();
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
close() {
|
|
75
|
-
if (!this.isOpen()) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
if (this.overlayRef) {
|
|
79
|
-
this.overlayRef.dispose();
|
|
80
|
-
this.overlayRef = null;
|
|
81
|
-
}
|
|
82
|
-
this.portal = null;
|
|
83
|
-
this.isOpen.set(false);
|
|
84
|
-
this.focusedIndex.set(-1);
|
|
85
|
-
this.closed.emit();
|
|
86
|
-
}
|
|
87
|
-
toggle(triggerElement) {
|
|
88
|
-
if (this.isOpen()) {
|
|
89
|
-
this.close();
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
this.open(triggerElement);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
onMenuItemClick(item) {
|
|
96
|
-
if (item.disabled) {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
this.menuItemClick.emit(item);
|
|
100
|
-
this.close();
|
|
101
|
-
}
|
|
102
|
-
onKeyDown(event) {
|
|
103
|
-
const items = this.menuItems();
|
|
104
|
-
const currentIndex = this.focusedIndex();
|
|
105
|
-
let nextIndex;
|
|
106
|
-
let prevIndex;
|
|
107
|
-
switch (event.key) {
|
|
108
|
-
case 'ArrowDown':
|
|
109
|
-
event.preventDefault();
|
|
110
|
-
nextIndex = currentIndex < items.length - 1 ? currentIndex + 1 : 0;
|
|
111
|
-
this.focusedIndex.set(nextIndex);
|
|
112
|
-
break;
|
|
113
|
-
case 'ArrowUp':
|
|
114
|
-
event.preventDefault();
|
|
115
|
-
prevIndex = currentIndex > 0 ? currentIndex - 1 : items.length - 1;
|
|
116
|
-
this.focusedIndex.set(prevIndex);
|
|
117
|
-
break;
|
|
118
|
-
case 'Enter':
|
|
119
|
-
case ' ':
|
|
120
|
-
event.preventDefault();
|
|
121
|
-
if (currentIndex >= 0 && currentIndex < items.length) {
|
|
122
|
-
this.onMenuItemClick(items[currentIndex]);
|
|
123
|
-
}
|
|
124
|
-
break;
|
|
125
|
-
case 'Escape':
|
|
126
|
-
event.preventDefault();
|
|
127
|
-
this.close();
|
|
128
|
-
break;
|
|
129
|
-
case 'Tab':
|
|
130
|
-
event.preventDefault();
|
|
131
|
-
if (event.shiftKey) {
|
|
132
|
-
// Shift+Tab - move to previous item
|
|
133
|
-
prevIndex = currentIndex > 0 ? currentIndex - 1 : items.length - 1;
|
|
134
|
-
this.focusedIndex.set(prevIndex);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
// Tab - move to next item
|
|
138
|
-
nextIndex = currentIndex < items.length - 1 ? currentIndex + 1 : 0;
|
|
139
|
-
this.focusedIndex.set(nextIndex);
|
|
140
|
-
}
|
|
141
|
-
break;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
createPositionStrategy(target) {
|
|
145
|
-
const positions = [
|
|
146
|
-
// Bottom-right (default) - left border aligns with left side of trigger
|
|
147
|
-
{
|
|
148
|
-
originX: 'start',
|
|
149
|
-
originY: 'bottom',
|
|
150
|
-
overlayX: 'start',
|
|
151
|
-
overlayY: 'top',
|
|
152
|
-
offsetX: 0,
|
|
153
|
-
offsetY: 4,
|
|
154
|
-
},
|
|
155
|
-
// Bottom-left (if not enough space on right) - right border aligns with right side of trigger
|
|
156
|
-
{
|
|
157
|
-
originX: 'end',
|
|
158
|
-
originY: 'bottom',
|
|
159
|
-
overlayX: 'end',
|
|
160
|
-
overlayY: 'top',
|
|
161
|
-
offsetX: 0,
|
|
162
|
-
offsetY: 4,
|
|
163
|
-
},
|
|
164
|
-
// Top-right (if not enough space below) - left border aligns with left side of trigger
|
|
165
|
-
{
|
|
166
|
-
originX: 'start',
|
|
167
|
-
originY: 'top',
|
|
168
|
-
overlayX: 'start',
|
|
169
|
-
overlayY: 'bottom',
|
|
170
|
-
offsetX: 0,
|
|
171
|
-
offsetY: -4,
|
|
172
|
-
},
|
|
173
|
-
// Top-left (if not enough space below and on right) - right border aligns with right side of trigger
|
|
174
|
-
{
|
|
175
|
-
originX: 'end',
|
|
176
|
-
originY: 'top',
|
|
177
|
-
overlayX: 'end',
|
|
178
|
-
overlayY: 'bottom',
|
|
179
|
-
offsetX: 0,
|
|
180
|
-
offsetY: -4,
|
|
181
|
-
},
|
|
182
|
-
];
|
|
183
|
-
return this.positionBuilder
|
|
184
|
-
.flexibleConnectedTo(target)
|
|
185
|
-
.withPositions(positions)
|
|
186
|
-
.withFlexibleDimensions(true)
|
|
187
|
-
.withPush(true)
|
|
188
|
-
.withGrowAfterOpen(true)
|
|
189
|
-
.withViewportMargin(8);
|
|
190
|
-
}
|
|
191
|
-
setupKeyboardNavigation() {
|
|
192
|
-
if (!this.overlayRef) {
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
const keydownEvents = this.overlayRef.keydownEvents();
|
|
196
|
-
keydownEvents.subscribe((event) => {
|
|
197
|
-
this.onKeyDown(event);
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PopoverMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
201
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: PopoverMenuComponent, isStandalone: true, selector: "ap-popover-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, largeMenuEnabled: { classPropertyName: "largeMenuEnabled", publicName: "largeMenuEnabled", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null }, customWidth: { classPropertyName: "customWidth", publicName: "customWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { menuItemClick: "menuItemClick", opened: "opened", closed: "closed" }, providers: [withSymbols(apInfo, apFeatureLock)], queries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "menuTemplate", first: true, predicate: ["menuTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #menuTemplate>\n <!-- Menu -->\n <div\n class=\"ap-popover-menu__content\"\n role=\"menu\"\n tabindex=\"-1\"\n [attr.aria-label]=\"'Menu'\"\n [class.ap-popover-menu__content--default]=\"!largeMenuEnabled() && !customWidth()\"\n [class.ap-popover-menu__content--large]=\"largeMenuEnabled()\"\n [style.width]=\"customWidth() ? customWidth() + 'px' : undefined\"\n (keydown)=\"onKeyDown($event)\">\n <!-- Menu items -->\n @for (item of items(); track item.label) {\n <!-- Divider -->\n @if (item.divider) {\n <div\n class=\"ap-popover-menu__divider\"\n role=\"separator\"></div>\n } @else {\n <!-- Menu item -->\n <button\n type=\"button\"\n role=\"menuitem\"\n class=\"ap-popover-menu__item\"\n [class.ap-popover-menu__item--has-description]=\"item.description\"\n [class.ap-popover-menu__item--disabled]=\"item.disabled\"\n [class.ap-popover-menu__item--focused]=\"focusedIndex() === $index\"\n [class.ap-popover-menu__item--red-mode]=\"item.redModeEnabled\"\n [class.ap-popover-menu__item--feature-lock]=\"item.featureLockEnabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [disabled]=\"item.disabled\"\n [apTooltip]=\"item.itemTooltipText\"\n (click)=\"onMenuItemClick(item)\">\n <!-- Start icon -->\n @if (item.startSymbolId) {\n <ap-symbol\n class=\"ap-popover-menu__item-start-icon\"\n size=\"sm\"\n [color]=\"item.symbolColor ? item.symbolColor : item.redModeEnabled ? 'red' : 'basic-grey'\"\n [symbolId]=\"item.startSymbolId\"\n [apTooltip]=\"item.startSymbolTooltipText\" />\n }\n <!-- Label -->\n <div class=\"ap-popover-menu__item-text-container\">\n <div class=\"ap-popover-menu__item-label-container\">\n <div\n class=\"ap-popover-menu__item-label\"\n [class.ap-popover-menu__item-label--bold]=\"item.description\">\n {{ item.label }}\n </div>\n <!-- Badge -->\n @if (item.badgeLabel) {\n <ap-badge color=\"blue\">\n {{ item.badgeLabel }}\n </ap-badge>\n }\n </div>\n <!-- Description -->\n <div class=\"ap-popover-menu__item-description\">{{ item.description }}</div>\n </div>\n <!-- End icon -->\n @if (item.endSymbolId) {\n <ap-symbol\n class=\"ap-popover-menu__item-end-icon\"\n size=\"sm\"\n color=\"#858FA1\"\n [symbolId]=\"item.endSymbolId\"\n [apTooltip]=\"item.endSymbolTooltipText\" />\n }\n <!-- Feature lock icon -->\n @if (item.featureLockEnabled) {\n <ap-symbol\n class=\"ap-popover-menu__item-end-icon\"\n size=\"sm\"\n color=\"purple\"\n symbolId=\"feature-lock\" />\n }\n </button>\n }\n }\n </div>\n</ng-template>\n", styles: [".ap-popover-menu__content{background-color:var(--comp-popover-menu-background-color);border:1px solid var(--comp-popover-menu-border-color);border-radius:var(--comp-popover-menu-border-radius);box-shadow:var(--comp-popover-menu-box-shadow);padding:var(--comp-popover-menu-padding);outline:none;overflow:hidden;z-index:1000}.ap-popover-menu__content.ap-popover-menu__content--default{width:250px}.ap-popover-menu__content.ap-popover-menu__content--large{width:340px}.ap-popover-menu__content:focus{outline:2px solid var(--comp-popover-menu-item-background-color-focused);outline-offset:2px}.ap-popover-menu__item{display:flex;align-items:center;width:100%;height:40px;padding:var(--comp-popover-menu-item-padding);border:none;background:transparent;color:var(--comp-popover-menu-item-text-color);cursor:pointer;font-family:Averta;font-size:var(--comp-popover-menu-item-text-size);line-height:var(--comp-popover-menu-item-text-line-height);text-align:left;transition:background-color .2s ease,color .2s ease}.ap-popover-menu__item:hover{background-color:var(--comp-popover-menu-item-background-color-hover)}.ap-popover-menu__item:focus{outline:none;background-color:var(--comp-popover-menu-item-background-color-focused)}.ap-popover-menu__item.ap-popover-menu__item--has-description{height:auto;min-height:50px}.ap-popover-menu__item.ap-popover-menu__item--focused{background-color:var(--comp-popover-menu-item-background-color-focused)}.ap-popover-menu__item.ap-popover-menu__item--disabled{cursor:not-allowed;opacity:.4}.ap-popover-menu__item.ap-popover-menu__item--red-mode{color:var(--comp-popover-menu-item-text-color-red-mode)}.ap-popover-menu__item.ap-popover-menu__item--red-mode:hover{background-color:var(--comp-popover-menu-item-background-color-red-mode-hover)}.ap-popover-menu__item.ap-popover-menu__item--red-mode:focus{background-color:var(--comp-popover-menu-item-background-color-red-mode-focused)}.ap-popover-menu__item.ap-popover-menu__item--red-mode.ap-popover-menu__item--focused{background-color:var(--comp-popover-menu-item-background-color-red-mode-focused)}.ap-popover-menu__item.ap-popover-menu__item--feature-lock:hover{background-color:var(--comp-popover-menu-item-background-color-feature-lock-hover)}.ap-popover-menu__item.ap-popover-menu__item--feature-lock:focus{background-color:var(--comp-popover-menu-item-background-color-feature-lock-focused)}.ap-popover-menu__item.ap-popover-menu__item--feature-lock.ap-popover-menu__item--focused{background-color:var(--comp-popover-menu-item-background-color-feature-lock-focused)}.ap-popover-menu__item.ap-popover-menu__item--disabled:hover{background-color:transparent}.ap-popover-menu__item .ap-popover-menu__item-start-icon{margin-right:var(--comp-popover-menu-item-icon-spacing)}.ap-popover-menu__item .ap-popover-menu__item-end-icon{margin-left:var(--comp-popover-menu-item-icon-spacing)}.ap-popover-menu__item .ap-popover-menu__item-text-container{display:flex;flex-direction:column;flex:1;min-width:0}.ap-popover-menu__item .ap-popover-menu__item-text-container .ap-popover-menu__item-label-container{display:flex;align-items:center;gap:var(--comp-popover-menu-item-label-spacing);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-popover-menu__item .ap-popover-menu__item-text-container .ap-popover-menu__item-label-container .ap-popover-menu__item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-popover-menu__item .ap-popover-menu__item-text-container .ap-popover-menu__item-label-container .ap-popover-menu__item-label.ap-popover-menu__item-label--bold{font-weight:var(--ref-font-weight-bold)}.ap-popover-menu__item .ap-popover-menu__item-text-container .ap-popover-menu__item-description{color:var(--ref-color-grey-80);font-size:var(--ref-font-size-xs);line-height:var(--ref-font-line-height-xs)}.ap-popover-menu__divider{height:1px;background-color:var(--comp-popover-menu-divider-color);margin:var(--comp-popover-menu-divider-margin)}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "ap-badge", inputs: ["color"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
202
|
-
}
|
|
203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PopoverMenuComponent, decorators: [{
|
|
204
|
-
type: Component,
|
|
205
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-popover-menu', standalone: true, imports: [BadgeComponent, CommonModule, SymbolComponent, TooltipDirective], providers: [withSymbols(apInfo, apFeatureLock)], template: "<ng-template #menuTemplate>\n <!-- Menu -->\n <div\n class=\"ap-popover-menu__content\"\n role=\"menu\"\n tabindex=\"-1\"\n [attr.aria-label]=\"'Menu'\"\n [class.ap-popover-menu__content--default]=\"!largeMenuEnabled() && !customWidth()\"\n [class.ap-popover-menu__content--large]=\"largeMenuEnabled()\"\n [style.width]=\"customWidth() ? customWidth() + 'px' : undefined\"\n (keydown)=\"onKeyDown($event)\">\n <!-- Menu items -->\n @for (item of items(); track item.label) {\n <!-- Divider -->\n @if (item.divider) {\n <div\n class=\"ap-popover-menu__divider\"\n role=\"separator\"></div>\n } @else {\n <!-- Menu item -->\n <button\n type=\"button\"\n role=\"menuitem\"\n class=\"ap-popover-menu__item\"\n [class.ap-popover-menu__item--has-description]=\"item.description\"\n [class.ap-popover-menu__item--disabled]=\"item.disabled\"\n [class.ap-popover-menu__item--focused]=\"focusedIndex() === $index\"\n [class.ap-popover-menu__item--red-mode]=\"item.redModeEnabled\"\n [class.ap-popover-menu__item--feature-lock]=\"item.featureLockEnabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [disabled]=\"item.disabled\"\n [apTooltip]=\"item.itemTooltipText\"\n (click)=\"onMenuItemClick(item)\">\n <!-- Start icon -->\n @if (item.startSymbolId) {\n <ap-symbol\n class=\"ap-popover-menu__item-start-icon\"\n size=\"sm\"\n [color]=\"item.symbolColor ? item.symbolColor : item.redModeEnabled ? 'red' : 'basic-grey'\"\n [symbolId]=\"item.startSymbolId\"\n [apTooltip]=\"item.startSymbolTooltipText\" />\n }\n <!-- Label -->\n <div class=\"ap-popover-menu__item-text-container\">\n <div class=\"ap-popover-menu__item-label-container\">\n <div\n class=\"ap-popover-menu__item-label\"\n [class.ap-popover-menu__item-label--bold]=\"item.description\">\n {{ item.label }}\n </div>\n <!-- Badge -->\n @if (item.badgeLabel) {\n <ap-badge color=\"blue\">\n {{ item.badgeLabel }}\n </ap-badge>\n }\n </div>\n <!-- Description -->\n <div class=\"ap-popover-menu__item-description\">{{ item.description }}</div>\n </div>\n <!-- End icon -->\n @if (item.endSymbolId) {\n <ap-symbol\n class=\"ap-popover-menu__item-end-icon\"\n size=\"sm\"\n color=\"#858FA1\"\n [symbolId]=\"item.endSymbolId\"\n [apTooltip]=\"item.endSymbolTooltipText\" />\n }\n <!-- Feature lock icon -->\n @if (item.featureLockEnabled) {\n <ap-symbol\n class=\"ap-popover-menu__item-end-icon\"\n size=\"sm\"\n color=\"purple\"\n symbolId=\"feature-lock\" />\n }\n </button>\n }\n }\n </div>\n</ng-template>\n", styles: [".ap-popover-menu__content{background-color:var(--comp-popover-menu-background-color);border:1px solid var(--comp-popover-menu-border-color);border-radius:var(--comp-popover-menu-border-radius);box-shadow:var(--comp-popover-menu-box-shadow);padding:var(--comp-popover-menu-padding);outline:none;overflow:hidden;z-index:1000}.ap-popover-menu__content.ap-popover-menu__content--default{width:250px}.ap-popover-menu__content.ap-popover-menu__content--large{width:340px}.ap-popover-menu__content:focus{outline:2px solid var(--comp-popover-menu-item-background-color-focused);outline-offset:2px}.ap-popover-menu__item{display:flex;align-items:center;width:100%;height:40px;padding:var(--comp-popover-menu-item-padding);border:none;background:transparent;color:var(--comp-popover-menu-item-text-color);cursor:pointer;font-family:Averta;font-size:var(--comp-popover-menu-item-text-size);line-height:var(--comp-popover-menu-item-text-line-height);text-align:left;transition:background-color .2s ease,color .2s ease}.ap-popover-menu__item:hover{background-color:var(--comp-popover-menu-item-background-color-hover)}.ap-popover-menu__item:focus{outline:none;background-color:var(--comp-popover-menu-item-background-color-focused)}.ap-popover-menu__item.ap-popover-menu__item--has-description{height:auto;min-height:50px}.ap-popover-menu__item.ap-popover-menu__item--focused{background-color:var(--comp-popover-menu-item-background-color-focused)}.ap-popover-menu__item.ap-popover-menu__item--disabled{cursor:not-allowed;opacity:.4}.ap-popover-menu__item.ap-popover-menu__item--red-mode{color:var(--comp-popover-menu-item-text-color-red-mode)}.ap-popover-menu__item.ap-popover-menu__item--red-mode:hover{background-color:var(--comp-popover-menu-item-background-color-red-mode-hover)}.ap-popover-menu__item.ap-popover-menu__item--red-mode:focus{background-color:var(--comp-popover-menu-item-background-color-red-mode-focused)}.ap-popover-menu__item.ap-popover-menu__item--red-mode.ap-popover-menu__item--focused{background-color:var(--comp-popover-menu-item-background-color-red-mode-focused)}.ap-popover-menu__item.ap-popover-menu__item--feature-lock:hover{background-color:var(--comp-popover-menu-item-background-color-feature-lock-hover)}.ap-popover-menu__item.ap-popover-menu__item--feature-lock:focus{background-color:var(--comp-popover-menu-item-background-color-feature-lock-focused)}.ap-popover-menu__item.ap-popover-menu__item--feature-lock.ap-popover-menu__item--focused{background-color:var(--comp-popover-menu-item-background-color-feature-lock-focused)}.ap-popover-menu__item.ap-popover-menu__item--disabled:hover{background-color:transparent}.ap-popover-menu__item .ap-popover-menu__item-start-icon{margin-right:var(--comp-popover-menu-item-icon-spacing)}.ap-popover-menu__item .ap-popover-menu__item-end-icon{margin-left:var(--comp-popover-menu-item-icon-spacing)}.ap-popover-menu__item .ap-popover-menu__item-text-container{display:flex;flex-direction:column;flex:1;min-width:0}.ap-popover-menu__item .ap-popover-menu__item-text-container .ap-popover-menu__item-label-container{display:flex;align-items:center;gap:var(--comp-popover-menu-item-label-spacing);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-popover-menu__item .ap-popover-menu__item-text-container .ap-popover-menu__item-label-container .ap-popover-menu__item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-popover-menu__item .ap-popover-menu__item-text-container .ap-popover-menu__item-label-container .ap-popover-menu__item-label.ap-popover-menu__item-label--bold{font-weight:var(--ref-font-weight-bold)}.ap-popover-menu__item .ap-popover-menu__item-text-container .ap-popover-menu__item-description{color:var(--ref-color-grey-80);font-size:var(--ref-font-size-xs);line-height:var(--ref-font-line-height-xs)}.ap-popover-menu__divider{height:1px;background-color:var(--comp-popover-menu-divider-color);margin:var(--comp-popover-menu-divider-margin)}\n"] }]
|
|
206
|
-
}], ctorParameters: () => [] });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9wb3BvdmVyLW1lbnUvc3JjL3BvcG92ZXItbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wb3Zlci1tZW51L3NyYy9wb3BvdmVyLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBb0IsYUFBYSxFQUFFLE1BQU0sRUFBZSxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0gsT0FBTyxFQUF3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6SSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBNEJ0QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ1osVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLGVBQWUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMs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QUM7dUdBN05RLG9CQUFvQjsyRkFBcEIsb0JBQW9CLG8wQkFGbEIsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLHdRQy9DbkQsdzZIQWtGQSw2NkhEcENjLGNBQWMsdUVBQUUsWUFBWSwrQkFBRSxlQUFlLHNIQUFFLGdCQUFnQjs7MkZBR2hFLG9CQUFvQjtrQkFUaEMsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGlCQUFpQixjQUdmLElBQUksV0FDUCxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGFBQy9ELENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IGFnb3JhcHVsc2VTeW1ib2wsIGFwRmVhdHVyZUxvY2ssIGFwSW5mbywgU3ltYm9sQ29sb3IsIFN5bWJvbENvbXBvbmVudCwgd2l0aFN5bWJvbHMgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgY29udGVudENoaWxkLFxuICAgIGVmZmVjdCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBvdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIHZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3Zlck1lbnVJdGVtIHtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBiYWRnZUxhYmVsPzogc3RyaW5nO1xuICAgIHN5bWJvbElkPzogYWdvcmFwdWxzZVN5bWJvbDtcbiAgICBzeW1ib2xDb2xvcj86IFN5bWJvbENvbG9yO1xuICAgIGZlYXR1cmVMb2NrRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVkTW9kZUVuYWJsZWQ/OiBib29sZWFuO1xuICAgIGl0ZW1Ub29sdGlwVGV4dD86IHN0cmluZztcbiAgICBzdGFydFN5bWJvbElkPzogYWdvcmFwdWxzZVN5bWJvbDtcbiAgICBzdGFydFN5bWJvbFRvb2x0aXBUZXh0Pzogc3RyaW5nO1xuICAgIGVuZFN5bWJvbElkPzogYWdvcmFwdWxzZVN5bWJvbDtcbiAgICBlbmRTeW1ib2xUb29sdGlwVGV4dD86IHN0cmluZztcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgZGl2aWRlcj86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtcG9wb3Zlci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wb3BvdmVyLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtCYWRnZUNvbXBvbmVudCwgQ29tbW9uTW9kdWxlLCBTeW1ib2xDb21wb25lbnQsIFRvb2x0aXBEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW3dpdGhTeW1ib2xzKGFwSW5mbywgYXBGZWF0dXJlTG9jayldLFxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyTWVudUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvc2l0aW9uQnVpbGRlciA9IGluamVjdChPdmVybGF5UG9zaXRpb25CdWlsZGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgICBtZW51VGVtcGxhdGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdtZW51VGVtcGxhdGUnKTtcbiAgICB0cmlnZ2VyID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PigndHJpZ2dlcicpO1xuXG4gICAgaXRlbXMgPSBpbnB1dDxQb3BvdmVyTWVudUl0ZW1bXT4oW10pO1xuICAgIGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuICAgIGxhcmdlTWVudUVuYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gICAgc2hvd0JhY2tkcm9wID0gaW5wdXQodHJ1ZSk7XG4gICAgY3VzdG9tV2lkdGggPSBpbnB1dDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICAgIG1lbnVJdGVtQ2xpY2sgPSBvdXRwdXQ8UG9wb3Zlck1lbnVJdGVtPigpO1xuICAgIG9wZW5lZCA9IG91dHB1dDx2b2lkPigpO1xuICAgIGNsb3NlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBwb3J0YWw6IFRlbXBsYXRlUG9ydGFsPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNPcGVuID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9jdXNlZEluZGV4ID0gc2lnbmFsKC0xKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWVudUl0ZW1zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pdGVtcygpLmZpbHRlcihpdGVtID0+ICFpdGVtLmRpdmlkZXIpKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwS2V5Ym9hcmROYXZpZ2F0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW4odHJpZ2dlckVsZW1lbnQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtZW51VGVtcGxhdGUgPSB0aGlzLm1lbnVUZW1wbGF0ZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkgfHwgdGhpcy5pc09wZW4oKSB8fCAhbWVudVRlbXBsYXRlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YXJnZXQgPSB0cmlnZ2VyRWxlbWVudCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuY3JlYXRlUG9zaXRpb25TdHJhdGVneSh0YXJnZXQpO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLnNob3dCYWNrZHJvcCgpLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogJycsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAnJyxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKG1lbnVUZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLnBvcnRhbCk7XG5cbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KHRydWUpO1xuICAgICAgICB0aGlzLmZvY3VzZWRJbmRleC5zZXQoLTEpO1xuICAgICAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmXG4gICAgICAgICAgICAuYmFja2Ryb3BDbGljaygpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmXG4gICAgICAgICAgICAua2V5ZG93bkV2ZW50cygpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBvcnRhbCA9IG51bGw7XG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuZm9jdXNlZEluZGV4LnNldCgtMSk7XG4gICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICB0b2dnbGUodHJpZ2dlckVsZW1lbnQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuKHRyaWdnZXJFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTWVudUl0ZW1DbGljayhpdGVtOiBQb3BvdmVyTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGl0ZW0pO1xuXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLm1lbnVJdGVtcygpO1xuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLmZvY3VzZWRJbmRleCgpO1xuICAgICAgICBsZXQgbmV4dEluZGV4OiBudW1iZXI7XG4gICAgICAgIGxldCBwcmV2SW5kZXg6IG51bWJlcjtcblxuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCA8IGl0ZW1zLmxlbmd0aCAtIDEgPyBjdXJyZW50SW5kZXggKyAxIDogMDtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzZWRJbmRleC5zZXQobmV4dEluZGV4KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBwcmV2SW5kZXggPSBjdXJyZW50SW5kZXggPiAwID8gY3VycmVudEluZGV4IC0gMSA6IGl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c2VkSW5kZXguc2V0KHByZXZJbmRleCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+PSAwICYmIGN1cnJlbnRJbmRleCA8IGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTWVudUl0ZW1DbGljayhpdGVtc1tjdXJyZW50SW5kZXhdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2hpZnQrVGFiIC0gbW92ZSB0byBwcmV2aW91cyBpdGVtXG4gICAgICAgICAgICAgICAgICAgIHByZXZJbmRleCA9IGN1cnJlbnRJbmRleCA+IDAgPyBjdXJyZW50SW5kZXggLSAxIDogaXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c2VkSW5kZXguc2V0KHByZXZJbmRleCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGFiIC0gbW92ZSB0byBuZXh0IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgbmV4dEluZGV4ID0gY3VycmVudEluZGV4IDwgaXRlbXMubGVuZ3RoIC0gMSA/IGN1cnJlbnRJbmRleCArIDEgOiAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzZWRJbmRleC5zZXQobmV4dEluZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3kodGFyZ2V0OiBIVE1MRWxlbWVudCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICAgICAgICAgIC8vIEJvdHRvbS1yaWdodCAoZGVmYXVsdCkgLSBsZWZ0IGJvcmRlciBhbGlnbnMgd2l0aCBsZWZ0IHNpZGUgb2YgdHJpZ2dlclxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgICAgICAgICAgb2Zmc2V0WTogNCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBCb3R0b20tbGVmdCAoaWYgbm90IGVub3VnaCBzcGFjZSBvbiByaWdodCkgLSByaWdodCBib3JkZXIgYWxpZ25zIHdpdGggcmlnaHQgc2lkZSBvZiB0cmlnZ2VyXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgICAgICBvZmZzZXRYOiAwLFxuICAgICAgICAgICAgICAgIG9mZnNldFk6IDQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gVG9wLXJpZ2h0IChpZiBub3QgZW5vdWdoIHNwYWNlIGJlbG93KSAtIGxlZnQgYm9yZGVyIGFsaWducyB3aXRoIGxlZnQgc2lkZSBvZiB0cmlnZ2VyXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgb2Zmc2V0WDogMCxcbiAgICAgICAgICAgICAgICBvZmZzZXRZOiAtNCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBUb3AtbGVmdCAoaWYgbm90IGVub3VnaCBzcGFjZSBiZWxvdyBhbmQgb24gcmlnaHQpIC0gcmlnaHQgYm9yZGVyIGFsaWducyB3aXRoIHJpZ2h0IHNpZGUgb2YgdHJpZ2dlclxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgb2Zmc2V0WDogMCxcbiAgICAgICAgICAgICAgICBvZmZzZXRZOiAtNCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9zaXRpb25CdWlsZGVyXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXQpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhwb3NpdGlvbnMpXG4gICAgICAgICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyh0cnVlKVxuICAgICAgICAgICAgLndpdGhQdXNoKHRydWUpXG4gICAgICAgICAgICAud2l0aEdyb3dBZnRlck9wZW4odHJ1ZSlcbiAgICAgICAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oOCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cEtleWJvYXJkTmF2aWdhdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleWRvd25FdmVudHMgPSB0aGlzLm92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpO1xuXG4gICAgICAgIGtleWRvd25FdmVudHMuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbktleURvd24oZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI21lbnVUZW1wbGF0ZT5cbiAgICA8IS0tIE1lbnUgLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFwLXBvcG92ZXItbWVudV9fY29udGVudFwiXG4gICAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01lbnUnXCJcbiAgICAgICAgW2NsYXNzLmFwLXBvcG92ZXItbWVudV9fY29udGVudC0tZGVmYXVsdF09XCIhbGFyZ2VNZW51RW5hYmxlZCgpICYmICFjdXN0b21XaWR0aCgpXCJcbiAgICAgICAgW2NsYXNzLmFwLXBvcG92ZXItbWVudV9fY29udGVudC0tbGFyZ2VdPVwibGFyZ2VNZW51RW5hYmxlZCgpXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cImN1c3RvbVdpZHRoKCkgPyBjdXN0b21XaWR0aCgpICsgJ3B4JyA6IHVuZGVmaW5lZFwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCI+XG4gICAgICAgIDwhLS0gTWVudSBpdGVtcyAtLT5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcygpOyB0cmFjayBpdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICA8IS0tIERpdmlkZXIgLS0+XG4gICAgICAgICAgICBAaWYgKGl0ZW0uZGl2aWRlcikge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhcC1wb3BvdmVyLW1lbnVfX2RpdmlkZXJcIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8IS0tIE1lbnUgaXRlbSAtLT5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFwLXBvcG92ZXItbWVudV9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hcC1wb3BvdmVyLW1lbnVfX2l0ZW0tLWhhcy1kZXNjcmlwdGlvbl09XCJpdGVtLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFwLXBvcG92ZXItbWVudV9faXRlbS0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hcC1wb3BvdmVyLW1lbnVfX2l0ZW0tLWZvY3VzZWRdPVwiZm9jdXNlZEluZGV4KCkgPT09ICRpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hcC1wb3BvdmVyLW1lbnVfX2l0ZW0tLXJlZC1tb2RlXT1cIml0ZW0ucmVkTW9kZUVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXAtcG9wb3Zlci1tZW51X19pdGVtLS1mZWF0dXJlLWxvY2tdPVwiaXRlbS5mZWF0dXJlTG9ja0VuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFthcFRvb2x0aXBdPVwiaXRlbS5pdGVtVG9vbHRpcFRleHRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gU3RhcnQgaWNvbiAtLT5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLnN0YXJ0U3ltYm9sSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFwLXBvcG92ZXItbWVudV9faXRlbS1zdGFydC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJpdGVtLnN5bWJvbENvbG9yID8gaXRlbS5zeW1ib2xDb2xvciA6IGl0ZW0ucmVkTW9kZUVuYWJsZWQgPyAncmVkJyA6ICdiYXNpYy1ncmV5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cIml0ZW0uc3RhcnRTeW1ib2xJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwVG9vbHRpcF09XCJpdGVtLnN0YXJ0U3ltYm9sVG9vbHRpcFRleHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gTGFiZWwgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcC1wb3BvdmVyLW1lbnVfX2l0ZW0tdGV4dC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcC1wb3BvdmVyLW1lbnVfX2l0ZW0tbGFiZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFwLXBvcG92ZXItbWVudV9faXRlbS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hcC1wb3BvdmVyLW1lbnVfX2l0ZW0tbGFiZWwtLWJvbGRdPVwiaXRlbS5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBCYWRnZSAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYmFkZ2VMYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXAtYmFkZ2UgY29sb3I9XCJibHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmJhZGdlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcC1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRGVzY3JpcHRpb24gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXAtcG9wb3Zlci1tZW51X19pdGVtLWRlc2NyaXB0aW9uXCI+e3sgaXRlbS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBFbmQgaWNvbiAtLT5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmVuZFN5bWJvbElkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhcC1wb3BvdmVyLW1lbnVfX2l0ZW0tZW5kLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCIjODU4RkExXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3ltYm9sSWRdPVwiaXRlbS5lbmRTeW1ib2xJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwVG9vbHRpcF09XCJpdGVtLmVuZFN5bWJvbFRvb2x0aXBUZXh0XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8IS0tIEZlYXR1cmUgbG9jayBpY29uIC0tPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uZmVhdHVyZUxvY2tFbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhcC1wb3BvdmVyLW1lbnVfX2l0ZW0tZW5kLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwdXJwbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZmVhdHVyZS1sb2NrXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { PopoverMenuTriggerDirective } from './popover-menu-trigger.directive';
|
|
2
|
-
export { PopoverMenuComponent } from './popover-menu.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9wb3BvdmVyLW1lbnUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFtQixNQUFNLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUG9wb3Zlck1lbnVUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLW1lbnUtdHJpZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgUG9wb3Zlck1lbnVDb21wb25lbnQsIFBvcG92ZXJNZW51SXRlbSB9IGZyb20gJy4vcG9wb3Zlci1tZW51LmNvbXBvbmVudCc7XG4iXX0=
|