@acorex/components 20.7.20 → 20.7.22

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/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "20.7.20",
3
+ "version": "20.7.22",
4
4
  "peerDependencies": {
5
- "@acorex/core": "20.7.20",
6
- "@acorex/cdk": "20.7.20",
5
+ "@acorex/core": "20.7.22",
6
+ "@acorex/cdk": "20.7.22",
7
7
  "polytype": ">=0.17.0",
8
8
  "angular-imask": ">=7.6.1",
9
9
  "gridstack": ">=12.0.0",
@@ -56,6 +56,10 @@
56
56
  "types": "./index.d.ts",
57
57
  "default": "./fesm2022/acorex-components.mjs"
58
58
  },
59
+ "./accordion": {
60
+ "types": "./accordion/index.d.ts",
61
+ "default": "./fesm2022/acorex-components-accordion.mjs"
62
+ },
59
63
  "./action-sheet": {
60
64
  "types": "./action-sheet/index.d.ts",
61
65
  "default": "./fesm2022/acorex-components-action-sheet.mjs"
@@ -64,10 +68,6 @@
64
68
  "types": "./alert/index.d.ts",
65
69
  "default": "./fesm2022/acorex-components-alert.mjs"
66
70
  },
67
- "./accordion": {
68
- "types": "./accordion/index.d.ts",
69
- "default": "./fesm2022/acorex-components-accordion.mjs"
70
- },
71
71
  "./aspect-ratio": {
72
72
  "types": "./aspect-ratio/index.d.ts",
73
73
  "default": "./fesm2022/acorex-components-aspect-ratio.mjs"
@@ -184,6 +184,10 @@
184
184
  "types": "./decorators/index.d.ts",
185
185
  "default": "./fesm2022/acorex-components-decorators.mjs"
186
186
  },
187
+ "./dialog": {
188
+ "types": "./dialog/index.d.ts",
189
+ "default": "./fesm2022/acorex-components-dialog.mjs"
190
+ },
187
191
  "./drawer": {
188
192
  "types": "./drawer/index.d.ts",
189
193
  "default": "./fesm2022/acorex-components-drawer.mjs"
@@ -196,10 +200,6 @@
196
200
  "types": "./dropdown/index.d.ts",
197
201
  "default": "./fesm2022/acorex-components-dropdown.mjs"
198
202
  },
199
- "./dialog": {
200
- "types": "./dialog/index.d.ts",
201
- "default": "./fesm2022/acorex-components-dialog.mjs"
202
- },
203
203
  "./dropdown-button": {
204
204
  "types": "./dropdown-button/index.d.ts",
205
205
  "default": "./fesm2022/acorex-components-dropdown-button.mjs"
@@ -220,14 +220,14 @@
220
220
  "types": "./flow-chart/index.d.ts",
221
221
  "default": "./fesm2022/acorex-components-flow-chart.mjs"
222
222
  },
223
- "./grid-layout-builder": {
224
- "types": "./grid-layout-builder/index.d.ts",
225
- "default": "./fesm2022/acorex-components-grid-layout-builder.mjs"
226
- },
227
223
  "./form": {
228
224
  "types": "./form/index.d.ts",
229
225
  "default": "./fesm2022/acorex-components-form.mjs"
230
226
  },
227
+ "./grid-layout-builder": {
228
+ "types": "./grid-layout-builder/index.d.ts",
229
+ "default": "./fesm2022/acorex-components-grid-layout-builder.mjs"
230
+ },
231
231
  "./image": {
232
232
  "types": "./image/index.d.ts",
233
233
  "default": "./fesm2022/acorex-components-image.mjs"
@@ -424,22 +424,22 @@
424
424
  "types": "./step-wizard/index.d.ts",
425
425
  "default": "./fesm2022/acorex-components-step-wizard.mjs"
426
426
  },
427
- "./switch": {
428
- "types": "./switch/index.d.ts",
429
- "default": "./fesm2022/acorex-components-switch.mjs"
430
- },
431
427
  "./tabs": {
432
428
  "types": "./tabs/index.d.ts",
433
429
  "default": "./fesm2022/acorex-components-tabs.mjs"
434
430
  },
435
- "./tag": {
436
- "types": "./tag/index.d.ts",
437
- "default": "./fesm2022/acorex-components-tag.mjs"
431
+ "./switch": {
432
+ "types": "./switch/index.d.ts",
433
+ "default": "./fesm2022/acorex-components-switch.mjs"
438
434
  },
439
435
  "./tag-box": {
440
436
  "types": "./tag-box/index.d.ts",
441
437
  "default": "./fesm2022/acorex-components-tag-box.mjs"
442
438
  },
439
+ "./tag": {
440
+ "types": "./tag/index.d.ts",
441
+ "default": "./fesm2022/acorex-components-tag.mjs"
442
+ },
443
443
  "./text-area": {
444
444
  "types": "./text-area/index.d.ts",
445
445
  "default": "./fesm2022/acorex-components-text-area.mjs"
@@ -468,14 +468,14 @@
468
468
  "types": "./tooltip/index.d.ts",
469
469
  "default": "./fesm2022/acorex-components-tooltip.mjs"
470
470
  },
471
- "./tree-view": {
472
- "types": "./tree-view/index.d.ts",
473
- "default": "./fesm2022/acorex-components-tree-view.mjs"
474
- },
475
471
  "./tree-view-legacy": {
476
472
  "types": "./tree-view-legacy/index.d.ts",
477
473
  "default": "./fesm2022/acorex-components-tree-view-legacy.mjs"
478
474
  },
475
+ "./tree-view": {
476
+ "types": "./tree-view/index.d.ts",
477
+ "default": "./fesm2022/acorex-components-tree-view.mjs"
478
+ },
479
479
  "./uploader": {
480
480
  "types": "./uploader/index.d.ts",
481
481
  "default": "./fesm2022/acorex-components-uploader.mjs"
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
2
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
+ import { AXMenuItem, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
5
6
  import * as i5 from '@angular/router';
6
7
  import { UrlTree, IsActiveMatchOptions } from '@angular/router';
7
8
  import * as i1 from '@angular/common';
@@ -21,6 +22,10 @@ declare abstract class AXSideMenuBase {
21
22
  declare class AXSideMenuItemClickEvent extends AXClickEvent {
22
23
  handled: boolean;
23
24
  }
25
+ /** Routes context-menu clicks back to the matching `ax-side-menu-item`. */
26
+ interface AXSideMenuContextMenuItemData {
27
+ sideMenuItem: AXSideMenuItemComponent;
28
+ }
24
29
  declare class AXSideMenuItemComponent extends MXInteractiveComponent {
25
30
  #private;
26
31
  text: _angular_core.ModelSignal<string>;
@@ -30,21 +35,6 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent {
30
35
  onClick: _angular_core.OutputEmitterRef<AXSideMenuItemClickEvent>;
31
36
  tooltipStatus: _angular_core.WritableSignal<boolean>;
32
37
  tooltipText: _angular_core.InputSignal<string>;
33
- private elem;
34
- private document;
35
- private platformId;
36
- private destroyRef;
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>;
48
38
  readonly toggleOnClick: _angular_core.InputSignal<boolean>;
49
39
  readonly href: _angular_core.InputSignal<string>;
50
40
  readonly routerLink: _angular_core.InputSignal<string | any[] | UrlTree>;
@@ -53,49 +43,44 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent {
53
43
  exact: boolean;
54
44
  } | IsActiveMatchOptions>;
55
45
  readonly target: _angular_core.InputSignal<"_blank" | "_self" | "_parent" | "_top">;
56
- private childItems;
57
- private childrenSlot;
58
- private popoverSlot;
46
+ protected menuItemTrigger: _angular_core.Signal<ElementRef<HTMLElement>>;
59
47
  protected hasChild: _angular_core.WritableSignal<boolean>;
60
- /**
61
- * Walks up the DOM to find the enclosing `<ax-side-menu>` host element and
62
- * reads its component instance from `__axContext__`. Needed because items
63
- * rendered inside `ngTemplateOutlet` embedded views cannot inject the
64
- * `AXSideMenuBase` token (DI scope is the template's declaration site).
65
- */
66
- private resolveMenuHostElement;
67
- /**
68
- * Moves any `<ax-side-menu-item>` that belongs to this item (its nearest
69
- * `<ax-side-menu-item>` ancestor in the projected DOM is this host) but is
70
- * NOT inside our own `.ax-side-children-content` container. Without this
71
- * step a content-projection edge case in Angular 21+ leaves recursive items
72
- * stranded inside `.ax-inside-text` (the catch-all `<ng-content>` slot) and
73
- * the submenu cannot expand.
74
- */
75
- private getActiveChildrenSlot;
76
- private reparentOrphanedChildren;
77
- private syncCompactPopover;
78
- /** Restores submenu nodes to the inline slot before the overlay is disposed. */
79
- private closeCompactFlyout;
80
- /** Closes other top-level compact flyouts when a rail item is opened. */
81
- private closeSiblingCompactPopovers;
82
- /**
83
- * Moves projected submenu nodes into the popover panel when opening in compact mode.
84
- * They are not moved back to the inline slot on close (that caused a full-mode flash below the rail).
85
- */
86
- private relocateChildren;
87
- /**
88
- * Pulls direct submenu nodes back into the inline slot from the popover host and
89
- * from any open flyout overlay panel so they are not destroyed on overlay dispose.
90
- */
91
- private moveChildrenToInlineSlot;
92
- protected _handlePopoverClosed(): void;
93
- private checkForChildren;
94
- private hasNestedMenuItems;
95
- protected _handleClickEvent(e: MouseEvent): void;
48
+ protected isCompactMode: _angular_core.Signal<boolean>;
49
+ /** Top-level rail entry in compact mode (opens the flyout context menu). */
50
+ protected isFirstLevel: _angular_core.Signal<boolean>;
51
+ private readonly elem;
52
+ private readonly platformId;
53
+ private readonly destroyRef;
54
+ private readonly menuMode;
55
+ private childObserver;
56
+ private readonly childItems;
57
+ private readonly childrenSlot;
58
+ private readonly childrenContextMenu;
59
+ private get hostElement();
60
+ syncMenuMode(mode: 'full' | 'compact'): void;
61
+ /** Builds the cascading `AXMenuItem` tree used by the compact-mode context menu. */
62
+ buildMenuItemsFromChildren(): AXMenuItem[];
63
+ activateFromContextMenu(nativeEvent: MouseEvent): void;
96
64
  toggle(): void;
97
65
  open(): void;
98
66
  close(): void;
67
+ protected handleContextMenuItemClick(event: AXContextMenuItemsClickEvent): void;
68
+ protected handleContextMenuClosed(): void;
69
+ protected handleClickEvent(e: MouseEvent): void;
70
+ private openCompactContextMenu;
71
+ private getContextMenuAnchorPoint;
72
+ private mapSlotChildrenToMenuItems;
73
+ private toMenuItem;
74
+ private hasNestedChildren;
75
+ /** Direct `ax-side-menu-item` children of `menuHost` (defaults to this item). */
76
+ private getDirectChildElements;
77
+ private reparentOrphanedChildren;
78
+ private getItemLabel;
79
+ private getItemIcon;
80
+ private getItemSuffix;
81
+ private getInstanceFromElement;
82
+ private closeSiblingCompactMenus;
83
+ private updateHasChild;
99
84
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSideMenuItemComponent, never>;
100
85
  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>;
101
86
  }
@@ -194,4 +179,4 @@ declare class AXSideMenuModule {
194
179
  }
195
180
 
196
181
  export { AXOutlineSideMenuDirective, AXSideMenuBase, AXSideMenuComponent, AXSideMenuItemClickEvent, AXSideMenuItemComponent, AXSideMenuModule };
197
- export type { AXSideMenuItem, AXSideMenuLocation, AXSideMenuLook };
182
+ export type { AXSideMenuContextMenuItemData, AXSideMenuItem, AXSideMenuLocation, AXSideMenuLook };
@@ -59,7 +59,6 @@ declare abstract class AXTreeViewBaseLegacy {
59
59
  }
60
60
 
61
61
  declare class AXTreeViewItemLegacyComponent extends NXComponent {
62
- #private;
63
62
  constructor();
64
63
  treeView: AXTreeViewBaseLegacy;
65
64
  item: _angular_core.InputSignal<unknown>;