@acorex/components 21.0.2-next.19 → 21.0.2-next.20
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/conversation2/README.md +8 -6
- package/fesm2022/acorex-components-conversation2.mjs +6002 -3875
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +184 -166
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/package.json +3 -3
- package/types/acorex-components-conversation2.d.ts +2421 -2304
- package/types/acorex-components-side-menu.d.ts +29 -33
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal,
|
|
2
|
+
import { Signal, ElementRef } from '@angular/core';
|
|
3
3
|
import * as i2 from '@acorex/cdk/common';
|
|
4
4
|
import { MXInteractiveComponent, AXClickEvent, NXComponent } from '@acorex/cdk/common';
|
|
5
5
|
import * as i5 from '@angular/router';
|
|
@@ -21,7 +21,7 @@ declare abstract class AXSideMenuBase {
|
|
|
21
21
|
declare class AXSideMenuItemClickEvent extends AXClickEvent {
|
|
22
22
|
handled: boolean;
|
|
23
23
|
}
|
|
24
|
-
declare class AXSideMenuItemComponent extends MXInteractiveComponent
|
|
24
|
+
declare class AXSideMenuItemComponent extends MXInteractiveComponent {
|
|
25
25
|
#private;
|
|
26
26
|
text: _angular_core.ModelSignal<string>;
|
|
27
27
|
active: _angular_core.ModelSignal<boolean>;
|
|
@@ -31,26 +31,20 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent implements
|
|
|
31
31
|
tooltipStatus: _angular_core.WritableSignal<boolean>;
|
|
32
32
|
tooltipText: _angular_core.InputSignal<string>;
|
|
33
33
|
private elem;
|
|
34
|
-
private
|
|
34
|
+
private document;
|
|
35
35
|
private platformId;
|
|
36
|
-
private zIndexService;
|
|
37
|
-
/**
|
|
38
|
-
* Parent `<ax-side-menu>` resolved via Angular DI. For items projected
|
|
39
|
-
* directly this works; for items inside `ngTemplateOutlet` embedded views
|
|
40
|
-
* Angular resolves DI from the template's declaration site (which is NOT
|
|
41
|
-
* inside an `<ax-side-menu>`), so this is `null`. In that case we fall back
|
|
42
|
-
* to a DOM-walked reference stored in `parentMenuFromDom`.
|
|
43
|
-
*/
|
|
44
|
-
private parentMenu;
|
|
45
|
-
/**
|
|
46
|
-
* Fallback parent reference resolved by walking up the DOM and reading the
|
|
47
|
-
* `__axContext__` property that `MXBaseComponent.ngOnInit` attaches to
|
|
48
|
-
* each host element. Populated on first render in the browser.
|
|
49
|
-
*/
|
|
50
|
-
private parentMenuFromDom;
|
|
51
36
|
private destroyRef;
|
|
52
|
-
private zToken;
|
|
53
37
|
private childObserver;
|
|
38
|
+
private childrenPopover;
|
|
39
|
+
protected menuItemTrigger: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
40
|
+
/** Synced from the parent `ax-side-menu` (source of truth for full vs compact). */
|
|
41
|
+
private menuMode;
|
|
42
|
+
/** True when this item should use compact flyout popovers (rail or inside a flyout). */
|
|
43
|
+
protected isCompactMode: _angular_core.Signal<boolean>;
|
|
44
|
+
/** Called by `ax-side-menu` so items always know the current display mode. */
|
|
45
|
+
syncMenuMode(mode: 'full' | 'compact'): void;
|
|
46
|
+
/** Top-level rail button in compact mode (icon only, opens flyout). */
|
|
47
|
+
protected isFirstLevel: _angular_core.Signal<boolean>;
|
|
54
48
|
readonly toggleOnClick: _angular_core.InputSignal<boolean>;
|
|
55
49
|
readonly href: _angular_core.InputSignal<string>;
|
|
56
50
|
readonly routerLink: _angular_core.InputSignal<string | any[] | UrlTree>;
|
|
@@ -60,7 +54,8 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent implements
|
|
|
60
54
|
} | IsActiveMatchOptions>;
|
|
61
55
|
readonly target: _angular_core.InputSignal<"_blank" | "_self" | "_parent" | "_top">;
|
|
62
56
|
private childItems;
|
|
63
|
-
private
|
|
57
|
+
private childrenSlot;
|
|
58
|
+
private popoverSlot;
|
|
64
59
|
protected hasChild: _angular_core.WritableSignal<boolean>;
|
|
65
60
|
/**
|
|
66
61
|
* Walks up the DOM to find the enclosing `<ax-side-menu>` host element and
|
|
@@ -68,7 +63,7 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent implements
|
|
|
68
63
|
* rendered inside `ngTemplateOutlet` embedded views cannot inject the
|
|
69
64
|
* `AXSideMenuBase` token (DI scope is the template's declaration site).
|
|
70
65
|
*/
|
|
71
|
-
private
|
|
66
|
+
private resolveMenuHostElement;
|
|
72
67
|
/**
|
|
73
68
|
* Moves any `<ax-side-menu-item>` that belongs to this item (its nearest
|
|
74
69
|
* `<ax-side-menu-item>` ancestor in the projected DOM is this host) but is
|
|
@@ -76,21 +71,26 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent implements
|
|
|
76
71
|
* step a content-projection edge case in Angular 21+ leaves recursive items
|
|
77
72
|
* stranded inside `.ax-inside-text` (the catch-all `<ng-content>` slot) and
|
|
78
73
|
* the submenu cannot expand.
|
|
79
|
-
*
|
|
80
|
-
* IMPORTANT: We resolve our own container via the `childrenContainer`
|
|
81
|
-
* view-child (NOT `host.querySelector('.ax-side-children-content')`),
|
|
82
|
-
* because `querySelector` is depth-first and would otherwise return the
|
|
83
|
-
* deepest *nested* item's container first.
|
|
84
74
|
*/
|
|
75
|
+
private getActiveChildrenSlot;
|
|
85
76
|
private reparentOrphanedChildren;
|
|
86
|
-
|
|
77
|
+
private syncCompactPopover;
|
|
78
|
+
/** Closes other top-level compact flyouts when a rail item is opened. */
|
|
79
|
+
private closeSiblingCompactPopovers;
|
|
80
|
+
/**
|
|
81
|
+
* Moves projected submenu nodes into the popover panel when opening in compact mode.
|
|
82
|
+
* They are not moved back to the inline slot on close (that caused a full-mode flash below the rail).
|
|
83
|
+
*/
|
|
84
|
+
private relocateChildren;
|
|
85
|
+
protected _handlePopoverClosed(): void;
|
|
87
86
|
private checkForChildren;
|
|
87
|
+
private hasNestedMenuItems;
|
|
88
88
|
protected _handleClickEvent(e: MouseEvent): void;
|
|
89
89
|
toggle(): void;
|
|
90
90
|
open(): void;
|
|
91
91
|
close(): void;
|
|
92
92
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSideMenuItemComponent, never>;
|
|
93
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuItemComponent, "ax-side-menu-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "tooltipText": { "alias": "tooltipText"; "required": false; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "text": "textChange"; "active": "activeChange"; "isLoading": "isLoadingChange"; "isCollapsed": "isCollapsedChange"; "onClick": "onClick"; }, ["childItems"], ["ax-title", "ax-side-menu-item, ng-container, [ngTemplateOutlet]", "ax-divider", "ax-prefix", "
|
|
93
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuItemComponent, "ax-side-menu-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "tooltipText": { "alias": "tooltipText"; "required": false; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "text": "textChange"; "active": "activeChange"; "isLoading": "isLoadingChange"; "isCollapsed": "isCollapsedChange"; "onClick": "onClick"; }, ["childItems"], ["ax-title", "ax-side-menu-item, ng-container, [ngTemplateOutlet]", "ax-divider", "ax-prefix", "*", "ax-suffix"], true, never>;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
type AXSideMenuLook = 'pills' | 'with-line' | 'with-line-color' | 'default';
|
|
@@ -126,7 +126,6 @@ declare class AXSideMenuComponent extends NXComponent implements AXSideMenuBase
|
|
|
126
126
|
readonly location: _angular_core.InputSignal<AXSideMenuLocation>;
|
|
127
127
|
readonly mode: _angular_core.InputSignal<"full" | "compact">;
|
|
128
128
|
private elementRef;
|
|
129
|
-
private firstLevelItems;
|
|
130
129
|
/**
|
|
131
130
|
* All `ax-side-menu-item` instances discovered by walking the host DOM.
|
|
132
131
|
*
|
|
@@ -141,9 +140,7 @@ declare class AXSideMenuComponent extends NXComponent implements AXSideMenuBase
|
|
|
141
140
|
private _items;
|
|
142
141
|
/** Read-only signal exposing every discovered `ax-side-menu-item` instance. */
|
|
143
142
|
readonly children: _angular_core.Signal<AXSideMenuItemComponent[]>;
|
|
144
|
-
private document;
|
|
145
143
|
private platformId;
|
|
146
|
-
private renderer;
|
|
147
144
|
private destroyRef;
|
|
148
145
|
hostElement: HTMLElement;
|
|
149
146
|
/**
|
|
@@ -156,8 +153,7 @@ declare class AXSideMenuComponent extends NXComponent implements AXSideMenuBase
|
|
|
156
153
|
* templates that add/remove items at runtime stay in sync.
|
|
157
154
|
*/
|
|
158
155
|
private refreshItemsFromDom;
|
|
159
|
-
private
|
|
160
|
-
addFirstLevelClass(): void;
|
|
156
|
+
private addFirstLevelClass;
|
|
161
157
|
/** @ignore */
|
|
162
158
|
private get __hostClass();
|
|
163
159
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSideMenuComponent, never>;
|