@acorex/components 20.7.43 → 20.7.45

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/menu/index.d.ts CHANGED
@@ -16,6 +16,7 @@ declare abstract class AXRootMenu {
16
16
  hasArrow: WritableSignal<boolean>;
17
17
  }
18
18
  declare abstract class AXMenuItemComponentBase {
19
+ parent?: AXMenuItemComponentBase | null;
19
20
  }
20
21
  /** Shared tree item shape for `ax-menu`, `ax-context-menu`, and `ax-side-menu`. */
21
22
  interface AXMenuItem {
@@ -152,14 +153,14 @@ type AXMenuItemClickEvent = AXMenuItemClickBaseEvent<AXMenuItemComponent>;
152
153
  */
153
154
  declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
154
155
  protected isOpen: _angular_core.WritableSignal<boolean>;
155
- protected hasSubItems: _angular_core.WritableSignal<boolean>;
156
- protected isFirstLevel: _angular_core.WritableSignal<boolean>;
157
- private mutationObserver;
156
+ protected submenuRendered: _angular_core.WritableSignal<boolean>;
157
+ readonly parent: AXMenuItemComponent;
158
+ protected isRoot: _angular_core.Signal<boolean>;
159
+ protected isFirstLevel: _angular_core.Signal<boolean>;
160
+ private readonly childMenuItems;
161
+ protected hasSubItems: _angular_core.Signal<boolean>;
158
162
  protected root: AXRootMenu;
159
- protected parent?: AXMenuItemComponent | null;
160
- protected isRoot: () => boolean;
161
163
  private service;
162
- private scrollableParents;
163
164
  private unsuscriber;
164
165
  private renderer;
165
166
  private injector;
@@ -172,25 +173,13 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
172
173
  disabled: _angular_core.InputSignal<boolean>;
173
174
  color: _angular_core.InputSignal<AXStyleColorType>;
174
175
  constructor();
175
- private closeExcept;
176
- private observeMutations;
177
176
  private getText;
178
- /**
179
- * Manually detect all `ax-menu-item` elements and check if this menu item has sub-items.
180
- */
181
- private detectSubItems;
182
177
  /**
183
178
  * Opens the submenu of this menu item if it has sub-items and is not disabled.
184
- *
185
- * Inherited behavior: Uses the injected service to notify other items to close.
186
- *
187
- * @returns void - No return value. Triggers submenu opening side-effects.
188
179
  */
189
180
  open(): void;
190
181
  /**
191
182
  * Closes the submenu of this menu item if open.
192
- *
193
- * @returns void - No return value. Triggers submenu closing side-effects.
194
183
  */
195
184
  close(): void;
196
185
  /**
@@ -209,29 +198,17 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
209
198
  private handleMouseEnter;
210
199
  private mouseLeaveTimeout;
211
200
  private handleMouseLeave;
212
- private onWindowEvent;
213
- /**
214
- * Close all menus if clicking outside the root menu and all sub-items.
215
- */
216
- private onClickOutside;
217
201
  ngOnDestroy(): void;
218
- private bindScrollEvents;
219
- private removeScrollEvents;
220
- /**
221
- * Handler for scroll events (window or scrollable parent containers)
222
- */
223
- private onContainerScroll;
224
202
  /** @ignore */
225
203
  get __hostClass(): string[];
226
204
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMenuItemComponent, never>;
227
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMenuItemComponent, "ax-menu-item", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, ["ax-prefix", "ax-text", "ax-suffix", "ax-menu-item,ax-title,ax-divider,ng-container"], true, never>;
205
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMenuItemComponent, "ax-menu-item", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, ["childMenuItems"], ["ax-prefix", "ax-text", "ax-suffix", "ax-menu-item,ax-title,ax-divider,ng-container"], true, never>;
228
206
  }
229
207
 
230
208
  declare class AXMenuService {
231
209
  closeAll$: Subject<void>;
232
210
  open$: Subject<AXMenuItemComponentBase>;
233
211
  close$: Subject<AXMenuItemComponentBase>;
234
- closeExcept$: Subject<AXMenuItemComponentBase>;
235
212
  openContextMenu$: Subject<{
236
213
  sender: AXRootMenu;
237
214
  point: AXPoint;
@@ -239,6 +216,26 @@ declare class AXMenuService {
239
216
  closeAllContextMenu$: Subject<{
240
217
  sender: AXRootMenu;
241
218
  }>;
219
+ private readonly destroyRef;
220
+ private readonly document;
221
+ private readonly platformId;
222
+ private readonly openItems;
223
+ private globalListenersBound;
224
+ private rootElement?;
225
+ private scrollableParents;
226
+ private readonly onDocumentClick;
227
+ private readonly onWindowOrScrollEvent;
228
+ constructor();
229
+ /**
230
+ * Registers a single set of document/window/scroll listeners for the whole menu tree.
231
+ */
232
+ initGlobalListeners(rootElement: HTMLElement): void;
233
+ /**
234
+ * Closes open submenus that are not on the ancestor path of the item being opened.
235
+ */
236
+ closeExcept(opener: AXMenuItemComponentBase): void;
237
+ markOpen(item: AXMenuItemComponentBase): void;
238
+ markClosed(item: AXMenuItemComponentBase): void;
242
239
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMenuService, never>;
243
240
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMenuService>;
244
241
  }
@@ -249,6 +246,7 @@ type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;
249
246
  * @category Components
250
247
  */
251
248
  declare class AXMenuComponent extends NXComponent {
249
+ constructor();
252
250
  orientation: _angular_core.InputSignal<AXOrientation>;
253
251
  openOn: _angular_core.InputSignal<AXMenuOpenTrigger>;
254
252
  closeOn: _angular_core.InputSignal<AXMenuCloseTrigger>;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "20.7.43",
3
+ "version": "20.7.45",
4
4
  "peerDependencies": {
5
- "@acorex/core": "20.7.43",
6
- "@acorex/cdk": "20.7.43",
5
+ "@acorex/core": "20.7.45",
6
+ "@acorex/cdk": "20.7.45",
7
7
  "polytype": ">=0.17.0",
8
8
  "angular-imask": ">=7.6.1",
9
9
  "gridstack": ">=12.0.0",
@@ -144,10 +144,6 @@
144
144
  "types": "./comment/index.d.ts",
145
145
  "default": "./fesm2022/acorex-components-comment.mjs"
146
146
  },
147
- "./conversation": {
148
- "types": "./conversation/index.d.ts",
149
- "default": "./fesm2022/acorex-components-conversation.mjs"
150
- },
151
147
  "./conversation2": {
152
148
  "types": "./conversation2/index.d.ts",
153
149
  "default": "./fesm2022/acorex-components-conversation2.mjs"
@@ -156,6 +152,10 @@
156
152
  "types": "./cron-job/index.d.ts",
157
153
  "default": "./fesm2022/acorex-components-cron-job.mjs"
158
154
  },
155
+ "./conversation": {
156
+ "types": "./conversation/index.d.ts",
157
+ "default": "./fesm2022/acorex-components-conversation.mjs"
158
+ },
159
159
  "./data-list": {
160
160
  "types": "./data-list/index.d.ts",
161
161
  "default": "./fesm2022/acorex-components-data-list.mjs"
@@ -180,26 +180,26 @@
180
180
  "types": "./datetime-picker/index.d.ts",
181
181
  "default": "./fesm2022/acorex-components-datetime-picker.mjs"
182
182
  },
183
- "./decorators": {
184
- "types": "./decorators/index.d.ts",
185
- "default": "./fesm2022/acorex-components-decorators.mjs"
186
- },
187
183
  "./dialog": {
188
184
  "types": "./dialog/index.d.ts",
189
185
  "default": "./fesm2022/acorex-components-dialog.mjs"
190
186
  },
187
+ "./decorators": {
188
+ "types": "./decorators/index.d.ts",
189
+ "default": "./fesm2022/acorex-components-decorators.mjs"
190
+ },
191
191
  "./drawer": {
192
192
  "types": "./drawer/index.d.ts",
193
193
  "default": "./fesm2022/acorex-components-drawer.mjs"
194
194
  },
195
- "./drawer-legacy": {
196
- "types": "./drawer-legacy/index.d.ts",
197
- "default": "./fesm2022/acorex-components-drawer-legacy.mjs"
198
- },
199
195
  "./dropdown": {
200
196
  "types": "./dropdown/index.d.ts",
201
197
  "default": "./fesm2022/acorex-components-dropdown.mjs"
202
198
  },
199
+ "./drawer-legacy": {
200
+ "types": "./drawer-legacy/index.d.ts",
201
+ "default": "./fesm2022/acorex-components-drawer-legacy.mjs"
202
+ },
203
203
  "./dropdown-button": {
204
204
  "types": "./dropdown-button/index.d.ts",
205
205
  "default": "./fesm2022/acorex-components-dropdown-button.mjs"
@@ -208,14 +208,14 @@
208
208
  "types": "./editor/index.d.ts",
209
209
  "default": "./fesm2022/acorex-components-editor.mjs"
210
210
  },
211
- "./fab": {
212
- "types": "./fab/index.d.ts",
213
- "default": "./fesm2022/acorex-components-fab.mjs"
214
- },
215
211
  "./file-explorer": {
216
212
  "types": "./file-explorer/index.d.ts",
217
213
  "default": "./fesm2022/acorex-components-file-explorer.mjs"
218
214
  },
215
+ "./fab": {
216
+ "types": "./fab/index.d.ts",
217
+ "default": "./fesm2022/acorex-components-fab.mjs"
218
+ },
219
219
  "./flow-chart": {
220
220
  "types": "./flow-chart/index.d.ts",
221
221
  "default": "./fesm2022/acorex-components-flow-chart.mjs"
@@ -248,14 +248,14 @@
248
248
  "types": "./kbd/index.d.ts",
249
249
  "default": "./fesm2022/acorex-components-kbd.mjs"
250
250
  },
251
- "./label": {
252
- "types": "./label/index.d.ts",
253
- "default": "./fesm2022/acorex-components-label.mjs"
254
- },
255
251
  "./list": {
256
252
  "types": "./list/index.d.ts",
257
253
  "default": "./fesm2022/acorex-components-list.mjs"
258
254
  },
255
+ "./label": {
256
+ "types": "./label/index.d.ts",
257
+ "default": "./fesm2022/acorex-components-label.mjs"
258
+ },
259
259
  "./loading": {
260
260
  "types": "./loading/index.d.ts",
261
261
  "default": "./fesm2022/acorex-components-loading.mjs"
@@ -384,17 +384,13 @@
384
384
  "types": "./scheduler-picker/index.d.ts",
385
385
  "default": "./fesm2022/acorex-components-scheduler-picker.mjs"
386
386
  },
387
- "./scss": {
388
- "types": "./scss/index.d.ts",
389
- "default": "./fesm2022/acorex-components-scss.mjs"
390
- },
391
387
  "./search-box": {
392
388
  "types": "./search-box/index.d.ts",
393
389
  "default": "./fesm2022/acorex-components-search-box.mjs"
394
390
  },
395
- "./select-box": {
396
- "types": "./select-box/index.d.ts",
397
- "default": "./fesm2022/acorex-components-select-box.mjs"
391
+ "./scss": {
392
+ "types": "./scss/index.d.ts",
393
+ "default": "./fesm2022/acorex-components-scss.mjs"
398
394
  },
399
395
  "./selection-list": {
400
396
  "types": "./selection-list/index.d.ts",
@@ -408,6 +404,10 @@
408
404
  "types": "./side-menu/index.d.ts",
409
405
  "default": "./fesm2022/acorex-components-side-menu.mjs"
410
406
  },
407
+ "./select-box": {
408
+ "types": "./select-box/index.d.ts",
409
+ "default": "./fesm2022/acorex-components-select-box.mjs"
410
+ },
411
411
  "./skeleton": {
412
412
  "types": "./skeleton/index.d.ts",
413
413
  "default": "./fesm2022/acorex-components-skeleton.mjs"