@acorex/components 18.10.16 → 18.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,160 +0,0 @@
1
- import { MXInteractiveComponent } from '@acorex/components/common';
2
- import { AXPopoverComponent } from '@acorex/components/popover';
3
- import { Component, ContentChildren, HostBinding, HostListener, QueryList, ViewChild, ViewEncapsulation, afterNextRender, inject, input, output, signal, } from '@angular/core';
4
- import { AXRootMenu } from '../class/root-menu.class';
5
- import { AXMenuService } from '../menu.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@acorex/components/popover";
8
- /**
9
- * Represents a menu item component used within an `ax-menu`.
10
- * @category Components
11
- */
12
- export class AXMenuItemComponent extends MXInteractiveComponent {
13
- /** @ignore */
14
- constructor() {
15
- super();
16
- this.service = inject(AXMenuService);
17
- /**
18
- * Injects the `AXMenuService` for managing menu interactions.
19
- */
20
- this.menuService = inject(AXMenuService);
21
- /**
22
- * The vertical offset for positioning, initialized to 0.
23
- */
24
- this.offsetY = signal(0);
25
- /**
26
- * The horizontal offset for positioning, initialized to 0.
27
- */
28
- this.offsetX = signal(0);
29
- /**
30
- * The text content, initialized to an empty string.
31
- */
32
- // text = input<string>();
33
- /**
34
- * Indicates whether the item is active.
35
- */
36
- this.active = input();
37
- /**
38
- * Emitted when the active state changes.
39
- */
40
- this.activeChange = output();
41
- /**
42
- * Emitted when the element is clicked.
43
- */
44
- this.onClick = output();
45
- /**
46
- * Indicates whether the component is a root menu item.
47
- * @defaultValue false
48
- */
49
- this.isRoot = false;
50
- /**
51
- * Injects the root menu service.
52
- */
53
- this.rootMenu = inject(AXRootMenu);
54
- this.arrowState = input(true);
55
- afterNextRender(() => {
56
- this.children.forEach((c) => {
57
- c.parent = this;
58
- });
59
- this.offsetY.set(this.isRoot ? 8 : 0);
60
- this.offsetX.set(this.isRoot ? 0 : 4);
61
- this.getPlacement();
62
- });
63
- }
64
- /**
65
- * Closes the popover if it is open.
66
- */
67
- close() {
68
- this.popover?.close();
69
- }
70
- /** @ignore */
71
- _handleOnOpened() {
72
- this.parent.children.forEach((c) => {
73
- if (c != this) {
74
- c.close();
75
- }
76
- });
77
- if (this.children.length) {
78
- this.menuService.activeMenus$.next(this.menuService.activeMenus$.getValue().concat(this));
79
- }
80
- }
81
- /** @ignore */
82
- _handleOnClosed() {
83
- this.children.forEach((c) => {
84
- c.close();
85
- });
86
- }
87
- /**
88
- * Returns the icon based on the orientation of the root menu.
89
- */
90
- getIcon() {
91
- if (this.rootMenu.orientation() === 'vertical') {
92
- return 'ax-icon-chevron-right';
93
- }
94
- else {
95
- return 'ax-icon-chevron-down';
96
- }
97
- }
98
- /**
99
- * Determines the placement based on the root menu's orientation: 'bottom-start' for horizontal root, 'end-top' otherwise.
100
- */
101
- getPlacement() {
102
- switch (this.rootMenu.orientation()) {
103
- case 'horizontal':
104
- if (this.isRoot) {
105
- return 'bottom-start';
106
- }
107
- else {
108
- return 'end-top';
109
- }
110
- break;
111
- case 'vertical':
112
- if (this.isRoot) {
113
- return 'end-top';
114
- }
115
- else {
116
- return 'end-top';
117
- }
118
- break;
119
- default:
120
- return 'bottom-start';
121
- }
122
- }
123
- /** @ignore */
124
- get __hostClass() {
125
- return [`${this.disabled ? 'ax-state-disabled' : ''}`, `${this.active() ? 'ax-state-active' : ''}`];
126
- }
127
- /** @ignore */
128
- __hostClick(e) {
129
- if (!this.disabled) {
130
- this.onClick.emit({
131
- component: this,
132
- htmlElement: this.getHostElement(),
133
- nativeEvent: e,
134
- });
135
- if (!this.children.length) {
136
- this.menuService.activeMenus$.subscribe((c) => c.forEach((x) => x.close())).unsubscribe();
137
- this.menuService.activeMenus$.next([]);
138
- }
139
- }
140
- }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMenuItemComponent, selector: "ax-menu-item", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, arrowState: { classPropertyName: "arrowState", publicName: "arrowState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeChange: "activeChange", onClick: "onClick" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "click": "__hostClick($event)" }, properties: { "class": "this.__hostClass" } }, queries: [{ propertyName: "children", predicate: AXMenuItemComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-menu-item-start-side\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content></ng-content>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n@if (children.length && arrowState()) {\n <i class=\"ax-icon ax-icon-solid {{ getIcon() }} ax-menu-item-child-icon\"></i>\n}\n\n<ax-popover\n #popover\n [closeOn]=\"'clickOut'\"\n [openOn]=\"rootMenu.openOn()\"\n [target]=\"getHostElement()\"\n [offsetY]=\"offsetY()\"\n [offsetX]=\"offsetX()\"\n [placement]=\"getPlacement()\"\n (onOpened)=\"_handleOnOpened()\"\n (onClosed)=\"_handleOnClosed()\"\n>\n <div class=\"ax-menu-item-children ax-parent-{{ this.rootMenu.orientation() }}\">\n <ng-content select=\"ax-menu-item\"></ng-content>\n </div>\n</ax-popover>\n", dependencies: [{ kind: "component", type: i1.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], encapsulation: i0.ViewEncapsulation.None }); }
143
- }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuItemComponent, decorators: [{
145
- type: Component,
146
- args: [{ selector: 'ax-menu-item', inputs: ['disabled'], host: { ngSkipHydration: 'true' }, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-menu-item-start-side\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content></ng-content>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n@if (children.length && arrowState()) {\n <i class=\"ax-icon ax-icon-solid {{ getIcon() }} ax-menu-item-child-icon\"></i>\n}\n\n<ax-popover\n #popover\n [closeOn]=\"'clickOut'\"\n [openOn]=\"rootMenu.openOn()\"\n [target]=\"getHostElement()\"\n [offsetY]=\"offsetY()\"\n [offsetX]=\"offsetX()\"\n [placement]=\"getPlacement()\"\n (onOpened)=\"_handleOnOpened()\"\n (onClosed)=\"_handleOnClosed()\"\n>\n <div class=\"ax-menu-item-children ax-parent-{{ this.rootMenu.orientation() }}\">\n <ng-content select=\"ax-menu-item\"></ng-content>\n </div>\n</ax-popover>\n" }]
147
- }], ctorParameters: () => [], propDecorators: { popover: [{
148
- type: ViewChild,
149
- args: [AXPopoverComponent]
150
- }], children: [{
151
- type: ContentChildren,
152
- args: [AXMenuItemComponent]
153
- }], __hostClass: [{
154
- type: HostBinding,
155
- args: ['class']
156
- }], __hostClick: [{
157
- type: HostListener,
158
- args: ['click', ['$event']]
159
- }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFaEQ7OztHQUdHO0FBUUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHNCQUFzQjtJQWdFN0QsY0FBYztJQUNkO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFqRVYsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQU1oQzs7V0FFRztRQUNILGdCQUFXLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXBDOztXQUVHO1FBQ0gsWUFBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwQjs7V0FFRztRQUNILFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEI7O1dBRUc7UUFDSCwwQkFBMEI7UUFFMUI7O1dBRUc7UUFDSCxXQUFNLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFFMUI7O1dBRUc7UUFDSCxpQkFBWSxHQUFHLE1BQU0sRUFBVyxDQUFDO1FBRWpDOztXQUVHO1FBQ0gsWUFBTyxHQUFHLE1BQU0sRUFBZ0IsQ0FBQztRQUVqQzs7O1dBR0c7UUFDSCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBT2Y7O1dBRUc7UUFDSCxhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBTTlCLGVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFNdkIsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMxQixDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV0QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsY0FBYztJQUNkLGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDZCxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzVGLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztJQUNkLGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMvQyxPQUFPLHVCQUF1QixDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxzQkFBc0IsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3BDLEtBQUssWUFBWTtnQkFDZixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDaEIsT0FBTyxjQUFjLENBQUM7Z0JBQ3hCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLFNBQVMsQ0FBQztnQkFDbkIsQ0FBQztnQkFDRCxNQUFNO1lBQ1IsS0FBSyxVQUFVO2dCQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNoQixPQUFPLFNBQVMsQ0FBQztnQkFDbkIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sU0FBUyxDQUFDO2dCQUNuQixDQUFDO2dCQUNELE1BQU07WUFDUjtnQkFDRSxPQUFPLGNBQWMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUNJLFdBQVc7UUFDYixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxjQUFjO0lBRU4sV0FBVyxDQUFDLENBQWE7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ2xDLFdBQVcsRUFBRSxDQUFDO2FBQ2YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDMUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0FqS1UsbUJBQW1CO2tHQUFuQixtQkFBbUIsNnFCQTJEYixtQkFBbUIsc0VBdkR6QixrQkFBa0IsdUVDbEMvQixteUJBeUJBOzsyRkRLYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsY0FBYyxVQUNoQixDQUFDLFVBQVUsQ0FBQyxRQUVkLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxpQkFDbEIsaUJBQWlCLENBQUMsSUFBSTt3REFPN0IsT0FBTztzQkFEZCxTQUFTO3VCQUFDLGtCQUFrQjtnQkF3RDdCLFFBQVE7c0JBRFAsZUFBZTt1QkFBQyxtQkFBbUI7Z0JBb0ZoQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFPWixXQUFXO3NCQURsQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2xpY2tFdmVudCwgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFJvb3RNZW51IH0gZnJvbSAnLi4vY2xhc3Mvcm9vdC1tZW51LmNsYXNzJztcbmltcG9ydCB7IEFYTWVudVNlcnZpY2UgfSBmcm9tICcuLi9tZW51LnNlcnZpY2UnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtZW51IGl0ZW0gY29tcG9uZW50IHVzZWQgd2l0aGluIGFuIGBheC1tZW51YC5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1lbnUtaXRlbScsXG4gIGlucHV0czogWydkaXNhYmxlZCddLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1lbnVJdGVtQ29tcG9uZW50IGV4dGVuZHMgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCB7XG4gIHNlcnZpY2UgPSBpbmplY3QoQVhNZW51U2VydmljZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQFZpZXdDaGlsZChBWFBvcG92ZXJDb21wb25lbnQpXG4gIHByaXZhdGUgcG9wb3ZlcjogQVhQb3BvdmVyQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBJbmplY3RzIHRoZSBgQVhNZW51U2VydmljZWAgZm9yIG1hbmFnaW5nIG1lbnUgaW50ZXJhY3Rpb25zLlxuICAgKi9cbiAgbWVudVNlcnZpY2UgPSBpbmplY3QoQVhNZW51U2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJ0aWNhbCBvZmZzZXQgZm9yIHBvc2l0aW9uaW5nLCBpbml0aWFsaXplZCB0byAwLlxuICAgKi9cbiAgb2Zmc2V0WSA9IHNpZ25hbCgwKTtcblxuICAvKipcbiAgICogVGhlIGhvcml6b250YWwgb2Zmc2V0IGZvciBwb3NpdGlvbmluZywgaW5pdGlhbGl6ZWQgdG8gMC5cbiAgICovXG4gIG9mZnNldFggPSBzaWduYWwoMCk7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGNvbnRlbnQsIGluaXRpYWxpemVkIHRvIGFuIGVtcHR5IHN0cmluZy5cbiAgICovXG4gIC8vIHRleHQgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpdGVtIGlzIGFjdGl2ZS5cbiAgICovXG4gIGFjdGl2ZSA9IGlucHV0PGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYWN0aXZlIHN0YXRlIGNoYW5nZXMuXG4gICAqL1xuICBhY3RpdmVDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBlbGVtZW50IGlzIGNsaWNrZWQuXG4gICAqL1xuICBvbkNsaWNrID0gb3V0cHV0PEFYQ2xpY2tFdmVudD4oKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBhIHJvb3QgbWVudSBpdGVtLlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICBpc1Jvb3QgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIHBhcmVudCBtZW51IGl0ZW0gY29tcG9uZW50LCBpZiBhbnkuXG4gICAqL1xuICBwYXJlbnQ/OiBBWE1lbnVJdGVtQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBJbmplY3RzIHRoZSByb290IG1lbnUgc2VydmljZS5cbiAgICovXG4gIHJvb3RNZW51ID0gaW5qZWN0KEFYUm9vdE1lbnUpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhNZW51SXRlbUNvbXBvbmVudClcbiAgY2hpbGRyZW46IFF1ZXJ5TGlzdDxBWE1lbnVJdGVtQ29tcG9uZW50PjtcblxuICBhcnJvd1N0YXRlID0gaW5wdXQodHJ1ZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgYy5wYXJlbnQgPSB0aGlzO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMub2Zmc2V0WS5zZXQodGhpcy5pc1Jvb3QgPyA4IDogMCk7XG4gICAgICB0aGlzLm9mZnNldFguc2V0KHRoaXMuaXNSb290ID8gMCA6IDQpO1xuXG4gICAgICB0aGlzLmdldFBsYWNlbWVudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgcG9wb3ZlciBpZiBpdCBpcyBvcGVuLlxuICAgKi9cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5wb3BvdmVyPy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgX2hhbmRsZU9uT3BlbmVkKCkge1xuICAgIHRoaXMucGFyZW50LmNoaWxkcmVuLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGlmIChjICE9IHRoaXMpIHtcbiAgICAgICAgYy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgdGhpcy5tZW51U2VydmljZS5hY3RpdmVNZW51cyQubmV4dCh0aGlzLm1lbnVTZXJ2aWNlLmFjdGl2ZU1lbnVzJC5nZXRWYWx1ZSgpLmNvbmNhdCh0aGlzKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgX2hhbmRsZU9uQ2xvc2VkKCkge1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgoYykgPT4ge1xuICAgICAgYy5jbG9zZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGljb24gYmFzZWQgb24gdGhlIG9yaWVudGF0aW9uIG9mIHRoZSByb290IG1lbnUuXG4gICAqL1xuICBnZXRJY29uKCkge1xuICAgIGlmICh0aGlzLnJvb3RNZW51Lm9yaWVudGF0aW9uKCkgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIHJldHVybiAnYXgtaWNvbi1jaGV2cm9uLXJpZ2h0JztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdheC1pY29uLWNoZXZyb24tZG93bic7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIHBsYWNlbWVudCBiYXNlZCBvbiB0aGUgcm9vdCBtZW51J3Mgb3JpZW50YXRpb246ICdib3R0b20tc3RhcnQnIGZvciBob3Jpem9udGFsIHJvb3QsICdlbmQtdG9wJyBvdGhlcndpc2UuXG4gICAqL1xuICBnZXRQbGFjZW1lbnQoKSB7XG4gICAgc3dpdGNoICh0aGlzLnJvb3RNZW51Lm9yaWVudGF0aW9uKCkpIHtcbiAgICAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgICBpZiAodGhpcy5pc1Jvb3QpIHtcbiAgICAgICAgICByZXR1cm4gJ2JvdHRvbS1zdGFydCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuICdlbmQtdG9wJztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgaWYgKHRoaXMuaXNSb290KSB7XG4gICAgICAgICAgcmV0dXJuICdlbmQtdG9wJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gJ2VuZC10b3AnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdib3R0b20tc3RhcnQnO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbYCR7dGhpcy5kaXNhYmxlZCA/ICdheC1zdGF0ZS1kaXNhYmxlZCcgOiAnJ31gLCBgJHt0aGlzLmFjdGl2ZSgpID8gJ2F4LXN0YXRlLWFjdGl2ZScgOiAnJ31gXTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBfX2hvc3RDbGljayhlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm9uQ2xpY2suZW1pdCh7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICB9KTtcbiAgICAgIGlmICghdGhpcy5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5tZW51U2VydmljZS5hY3RpdmVNZW51cyQuc3Vic2NyaWJlKChjKSA9PiBjLmZvckVhY2goKHgpID0+IHguY2xvc2UoKSkpLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubWVudVNlcnZpY2UuYWN0aXZlTWVudXMkLm5leHQoW10pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LW1lbnUtaXRlbS1zdGFydC1zaWRlXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdGV4dFwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj48L25nLWNvbnRlbnQ+XG5AaWYgKGNoaWxkcmVuLmxlbmd0aCAmJiBhcnJvd1N0YXRlKCkpIHtcbiAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tc29saWQge3sgZ2V0SWNvbigpIH19IGF4LW1lbnUtaXRlbS1jaGlsZC1pY29uXCI+PC9pPlxufVxuXG48YXgtcG9wb3ZlclxuICAjcG9wb3ZlclxuICBbY2xvc2VPbl09XCInY2xpY2tPdXQnXCJcbiAgW29wZW5Pbl09XCJyb290TWVudS5vcGVuT24oKVwiXG4gIFt0YXJnZXRdPVwiZ2V0SG9zdEVsZW1lbnQoKVwiXG4gIFtvZmZzZXRZXT1cIm9mZnNldFkoKVwiXG4gIFtvZmZzZXRYXT1cIm9mZnNldFgoKVwiXG4gIFtwbGFjZW1lbnRdPVwiZ2V0UGxhY2VtZW50KClcIlxuICAob25PcGVuZWQpPVwiX2hhbmRsZU9uT3BlbmVkKClcIlxuICAob25DbG9zZWQpPVwiX2hhbmRsZU9uQ2xvc2VkKClcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtLWNoaWxkcmVuIGF4LXBhcmVudC17eyB0aGlzLnJvb3RNZW51Lm9yaWVudGF0aW9uKCkgfX1cIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1tZW51LWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9heC1wb3BvdmVyPlxuIl19
@@ -1,2 +0,0 @@
1
- import { AXPopoverOpenTrigger } from '@acorex/components/popover';
2
- export type AXMenuPopoverTrigger = Exclude<AXPopoverOpenTrigger, 'manual'>;
@@ -1,7 +0,0 @@
1
- import { AXOrientation } from '@acorex/components/common';
2
- import { WritableSignal } from '@angular/core';
3
- import { AXMenuPopoverTrigger } from './popover.class';
4
- export declare class AXRootMenu {
5
- orientation: WritableSignal<AXOrientation>;
6
- openOn: WritableSignal<AXMenuPopoverTrigger>;
7
- }
@@ -1,81 +0,0 @@
1
- import { AXClickEvent, MXInteractiveComponent } from '@acorex/components/common';
2
- import { QueryList } from '@angular/core';
3
- import { AXRootMenu } from '../class/root-menu.class';
4
- import { AXMenuService } from '../menu.service';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Represents a menu item component used within an `ax-menu`.
8
- * @category Components
9
- */
10
- export declare class AXMenuItemComponent extends MXInteractiveComponent {
11
- service: AXMenuService;
12
- /** @ignore */
13
- private popover;
14
- /**
15
- * Injects the `AXMenuService` for managing menu interactions.
16
- */
17
- menuService: AXMenuService;
18
- /**
19
- * The vertical offset for positioning, initialized to 0.
20
- */
21
- offsetY: import("@angular/core").WritableSignal<number>;
22
- /**
23
- * The horizontal offset for positioning, initialized to 0.
24
- */
25
- offsetX: import("@angular/core").WritableSignal<number>;
26
- /**
27
- * The text content, initialized to an empty string.
28
- */
29
- /**
30
- * Indicates whether the item is active.
31
- */
32
- active: import("@angular/core").InputSignal<boolean>;
33
- /**
34
- * Emitted when the active state changes.
35
- */
36
- activeChange: import("@angular/core").OutputEmitterRef<boolean>;
37
- /**
38
- * Emitted when the element is clicked.
39
- */
40
- onClick: import("@angular/core").OutputEmitterRef<AXClickEvent>;
41
- /**
42
- * Indicates whether the component is a root menu item.
43
- * @defaultValue false
44
- */
45
- isRoot: boolean;
46
- /**
47
- * The parent menu item component, if any.
48
- */
49
- parent?: AXMenuItemComponent;
50
- /**
51
- * Injects the root menu service.
52
- */
53
- rootMenu: AXRootMenu;
54
- /** @ignore */
55
- children: QueryList<AXMenuItemComponent>;
56
- arrowState: import("@angular/core").InputSignal<boolean>;
57
- /** @ignore */
58
- constructor();
59
- /**
60
- * Closes the popover if it is open.
61
- */
62
- close(): void;
63
- /** @ignore */
64
- _handleOnOpened(): void;
65
- /** @ignore */
66
- _handleOnClosed(): void;
67
- /**
68
- * Returns the icon based on the orientation of the root menu.
69
- */
70
- getIcon(): "ax-icon-chevron-right" | "ax-icon-chevron-down";
71
- /**
72
- * Determines the placement based on the root menu's orientation: 'bottom-start' for horizontal root, 'end-top' otherwise.
73
- */
74
- getPlacement(): "bottom-start" | "end-top";
75
- /** @ignore */
76
- get __hostClass(): string[];
77
- /** @ignore */
78
- private __hostClick;
79
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMenuItemComponent, never>;
80
- static ɵcmp: i0.ɵɵComponentDeclaration<AXMenuItemComponent, "ax-menu-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "arrowState": { "alias": "arrowState"; "required": false; "isSignal": true; }; }, { "activeChange": "activeChange"; "onClick": "onClick"; }, ["children"], ["ax-prefix", "ax-text", "*", "ax-suffix", "ax-menu-item"], false, never>;
81
- }