@acorex/components 21.0.2-next.2 → 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-button-group.mjs +26 -6
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +50 -9
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation2.mjs +5958 -3866
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +19 -3
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +14 -14
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +2 -2
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +42 -25
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +5 -5
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-DWNqU6or.mjs → acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs} +3 -3
- package/fesm2022/{acorex-components-modal-acorex-components-modal-DWNqU6or.mjs.map → acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs.map} +1 -1
- package/fesm2022/{acorex-components-modal-modal-content.component-DplJbJyk.mjs → acorex-components-modal-modal-content.component-DTZu2zbU.mjs} +2 -2
- package/fesm2022/{acorex-components-modal-modal-content.component-DplJbJyk.mjs.map → acorex-components-modal-modal-content.component-DTZu2zbU.mjs.map} +1 -1
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-number-box.mjs +43 -5
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +25 -1
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +19 -2
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +3 -2
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +1 -0
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +3 -7
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +336 -56
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +2 -2
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +3 -5
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +19 -6
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/package.json +3 -3
- package/types/acorex-components-button-group.d.ts +9 -3
- package/types/acorex-components-color-palette.d.ts +2 -0
- package/types/acorex-components-conversation2.d.ts +2473 -2447
- package/types/acorex-components-data-pager.d.ts +2 -0
- package/types/acorex-components-data-table.d.ts +8 -8
- package/types/acorex-components-flow-chart.d.ts +4 -0
- package/types/acorex-components-number-box.d.ts +9 -0
- package/types/acorex-components-popup.d.ts +10 -0
- package/types/acorex-components-qrcode.d.ts +1 -0
- package/types/acorex-components-query-builder.d.ts +1 -1
- package/types/acorex-components-side-menu.d.ts +85 -6
- package/types/acorex-components-toast.d.ts +5 -1
|
@@ -164,6 +164,8 @@ declare class AXDataPagerNumericSelectorComponent extends AXDataPagerChild {
|
|
|
164
164
|
protected _currentPage: number;
|
|
165
165
|
protected _lastPage: number;
|
|
166
166
|
protected _loading: boolean;
|
|
167
|
+
private localeService;
|
|
168
|
+
protected rtlstatus: i0.Signal<boolean>;
|
|
167
169
|
/**
|
|
168
170
|
* @ignore
|
|
169
171
|
*/
|
|
@@ -108,6 +108,10 @@ declare abstract class AXDataTableColumnComponent {
|
|
|
108
108
|
fixed: 'start' | 'end' | undefined;
|
|
109
109
|
allowSorting: boolean;
|
|
110
110
|
allowResizing: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* When true, shows the cell content as tooltip on hover (via `axTooltip`).
|
|
113
|
+
*/
|
|
114
|
+
hasTitle: boolean;
|
|
111
115
|
sortIndex: number | undefined;
|
|
112
116
|
sortOrder: AXSortOrder | undefined;
|
|
113
117
|
abstract get renderCellTemplate(): TemplateRef<unknown>;
|
|
@@ -247,7 +251,7 @@ declare class AXDataTableTextColumnComponent extends AXDataTableColumnComponent
|
|
|
247
251
|
*/
|
|
248
252
|
get name(): string;
|
|
249
253
|
/**
|
|
250
|
-
* Returns the display text for a row cell. Used for cell tooltip when
|
|
254
|
+
* Returns the display text for a row cell. Used for cell tooltip when the column has `hasTitle`.
|
|
251
255
|
*/
|
|
252
256
|
getCellDisplayText(rowData: unknown): string;
|
|
253
257
|
/**
|
|
@@ -264,7 +268,7 @@ declare class AXDataTableTextColumnComponent extends AXDataTableColumnComponent
|
|
|
264
268
|
*/
|
|
265
269
|
formatOptions: AXFormatOptions;
|
|
266
270
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableTextColumnComponent, never>;
|
|
267
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableTextColumnComponent, "ax-text-column", never, { "width": { "alias": "width"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "allowSorting": { "alias": "allowSorting"; "required": false; }; "allowResizing": { "alias": "allowResizing"; "required": false; }; "fixed": { "alias": "fixed"; "required": false; }; "customExpandIcon": { "alias": "customExpandIcon"; "required": false; }; "customCollapseIcon": { "alias": "customCollapseIcon"; "required": false; }; "dataField": { "alias": "dataField"; "required": false; }; "expandHandler": { "alias": "expandHandler"; "required": false; }; "wrapText": { "alias": "wrapText"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "format": { "alias": "format"; "required": false; }; "formatOptions": { "alias": "formatOptions"; "required": false; }; }, {}, never, never, true, never>;
|
|
271
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableTextColumnComponent, "ax-text-column", never, { "width": { "alias": "width"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "allowSorting": { "alias": "allowSorting"; "required": false; }; "allowResizing": { "alias": "allowResizing"; "required": false; }; "fixed": { "alias": "fixed"; "required": false; }; "hasTitle": { "alias": "hasTitle"; "required": false; }; "customExpandIcon": { "alias": "customExpandIcon"; "required": false; }; "customCollapseIcon": { "alias": "customCollapseIcon"; "required": false; }; "dataField": { "alias": "dataField"; "required": false; }; "expandHandler": { "alias": "expandHandler"; "required": false; }; "wrapText": { "alias": "wrapText"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "format": { "alias": "format"; "required": false; }; "formatOptions": { "alias": "formatOptions"; "required": false; }; }, {}, never, never, true, never>;
|
|
268
272
|
}
|
|
269
273
|
|
|
270
274
|
type AXRowCommandItem = AXButtonItemListItem & {
|
|
@@ -621,10 +625,6 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
|
|
|
621
625
|
* @ignore
|
|
622
626
|
*/
|
|
623
627
|
customDataPager: AXDataPagerComponent;
|
|
624
|
-
/**
|
|
625
|
-
* When true, shows the cell content as tooltip (title attribute) on hover.
|
|
626
|
-
*/
|
|
627
|
-
title: boolean;
|
|
628
628
|
/**
|
|
629
629
|
* @ignore
|
|
630
630
|
*/
|
|
@@ -860,7 +860,7 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
|
|
|
860
860
|
ngAfterViewInit(): void;
|
|
861
861
|
private captureAutoFitIntentColumns;
|
|
862
862
|
/**
|
|
863
|
-
* Returns the display text for a cell. Used for the
|
|
863
|
+
* Returns the display text for a cell. Used for the cell tooltip when the column has `hasTitle`.
|
|
864
864
|
*/
|
|
865
865
|
protected getCellTooltipText(column: AXDataTableColumnComponent, rowData: unknown): string;
|
|
866
866
|
/**
|
|
@@ -992,7 +992,7 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
|
|
|
992
992
|
headerOnly?: boolean;
|
|
993
993
|
}): void;
|
|
994
994
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableComponent, never>;
|
|
995
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableComponent, "ax-data-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "selectedRows": { "alias": "selectedRows"; "required": false; }; "parentField": { "alias": "parentField"; "required": false; }; "hasChildrenField": { "alias": "hasChildrenField"; "required": false; }; "rowDetailsTemplate": { "alias": "rowDetailsTemplate"; "required": false; }; "
|
|
995
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableComponent, "ax-data-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "selectedRows": { "alias": "selectedRows"; "required": false; }; "parentField": { "alias": "parentField"; "required": false; }; "hasChildrenField": { "alias": "hasChildrenField"; "required": false; }; "rowDetailsTemplate": { "alias": "rowDetailsTemplate"; "required": false; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "noDataTemplate": { "alias": "noDataTemplate"; "required": false; }; "alternative": { "alias": "alternative"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "fixedHeader": { "alias": "fixedHeader"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "fixedFooter": { "alias": "fixedFooter"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "allowReordering": { "alias": "allowReordering"; "required": false; }; "paging": { "alias": "paging"; "required": false; }; "fetchDataMode": { "alias": "fetchDataMode"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "focusedRow": { "alias": "focusedRow"; "required": false; }; }, { "selectedRowsChange": "selectedRowsChange"; "focusedRowChange": "focusedRowChange"; "onRowClick": "onRowClick"; "onRowDbClick": "onRowDbClick"; "onColumnsOrderChanged": "onColumnsOrderChanged"; "onColumnSizeChanged": "onColumnSizeChanged"; "onPageChanged": "onPageChanged"; }, ["customDataPager", "columns"], ["ax-header", "ax-data-pager", "ax-footer"], true, never>;
|
|
996
996
|
}
|
|
997
997
|
|
|
998
998
|
declare class AXDataTableModule {
|
|
@@ -45,6 +45,8 @@ type AXLineClickEvent = {
|
|
|
45
45
|
declare class AXFlowChartService {
|
|
46
46
|
#private;
|
|
47
47
|
private zone;
|
|
48
|
+
private platformId;
|
|
49
|
+
private document;
|
|
48
50
|
initialFlowChartEdge: _angular_core.WritableSignal<any[]>;
|
|
49
51
|
initialFlowChartNode: _angular_core.WritableSignal<any[]>;
|
|
50
52
|
selectedNode: _angular_core.WritableSignal<AXFlowChartNodes>;
|
|
@@ -113,6 +115,8 @@ declare class AXFlowChartRendererComponent extends NXComponent implements OnDest
|
|
|
113
115
|
private canvas;
|
|
114
116
|
private svg;
|
|
115
117
|
private service;
|
|
118
|
+
private document;
|
|
119
|
+
private platformId;
|
|
116
120
|
readonly onLineClick: _angular_core.OutputEmitterRef<AXLineClickEvent>;
|
|
117
121
|
readonly onLineDbClick: _angular_core.OutputEmitterRef<AXLineClickEvent>;
|
|
118
122
|
readonly onNodeClick: _angular_core.OutputEmitterRef<AXNodeClickEvent>;
|
|
@@ -29,11 +29,20 @@ declare class AXNumberBoxComponent extends AXNumberBoxComponent_base {
|
|
|
29
29
|
protected mode: _angular_core.WritableSignal<"digits" | "thousandsSeparator" | "decimal">;
|
|
30
30
|
private input;
|
|
31
31
|
protected stringValue: _angular_core.WritableSignal<string>;
|
|
32
|
+
private translationService;
|
|
33
|
+
protected validateFn: (val: number) => Promise<{
|
|
34
|
+
result: boolean;
|
|
35
|
+
message: string;
|
|
36
|
+
} | {
|
|
37
|
+
result: boolean;
|
|
38
|
+
message?: undefined;
|
|
39
|
+
}>;
|
|
32
40
|
protected internalValueChanged(value: number | undefined): void;
|
|
33
41
|
private plusValue;
|
|
34
42
|
private minusValue;
|
|
35
43
|
private getNumericValue;
|
|
36
44
|
private getSteppedValue;
|
|
45
|
+
private clampToRange;
|
|
37
46
|
private getFractionDigits;
|
|
38
47
|
protected handleOnKeydownEvent(e: KeyboardEvent): void;
|
|
39
48
|
protected handleUpClick(): void;
|
|
@@ -23,6 +23,7 @@ interface AXPopupConfig {
|
|
|
23
23
|
hasBackdrop?: boolean;
|
|
24
24
|
backdropClass?: string;
|
|
25
25
|
closeOnBackdropClick?: boolean;
|
|
26
|
+
closeOnNavigation?: boolean;
|
|
26
27
|
viewContainerRef?: ViewContainerRef;
|
|
27
28
|
providers?: StaticProvider[];
|
|
28
29
|
panelClass?: string[];
|
|
@@ -67,6 +68,8 @@ declare class AXPopupComponent extends MXBaseComponent implements OnInit, OnDest
|
|
|
67
68
|
private loadingService;
|
|
68
69
|
private _platform;
|
|
69
70
|
private componentService;
|
|
71
|
+
private _router;
|
|
72
|
+
private _destroyRef;
|
|
70
73
|
private contentContainerRef;
|
|
71
74
|
private contentContainerEl;
|
|
72
75
|
readonly __content__: i0.InputSignal<AXPopupContentType>;
|
|
@@ -97,6 +100,13 @@ declare class AXPopupComponent extends MXBaseComponent implements OnInit, OnDest
|
|
|
97
100
|
private elementStartPos;
|
|
98
101
|
/** @ignore */
|
|
99
102
|
ngOnInit(): void;
|
|
103
|
+
/**
|
|
104
|
+
* Subscribes to router navigation events so the popup is closed automatically
|
|
105
|
+
* when the user navigates to another route. Enabled by default; disable via
|
|
106
|
+
* `closeOnNavigation: false` in the popup config.
|
|
107
|
+
* @ignore
|
|
108
|
+
*/
|
|
109
|
+
private _setupCloseOnNavigation;
|
|
100
110
|
/** @ignore */
|
|
101
111
|
private renderContent;
|
|
102
112
|
/** @ignore */
|
|
@@ -7,6 +7,7 @@ type AXQrcodeLevel = 'L' | 'M' | 'Q' | 'H';
|
|
|
7
7
|
declare function debounce(func: (...args: any) => void, delayMS: number): (...args: any[]) => void;
|
|
8
8
|
|
|
9
9
|
declare class AXQrcodeComponent implements AfterViewInit {
|
|
10
|
+
private platformId;
|
|
10
11
|
/**
|
|
11
12
|
* @description Value of QR code
|
|
12
13
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { AXDataSource, AXValueChangedEvent } from '@acorex/cdk/common';
|
|
3
2
|
import * as i1 from '@acorex/components/button-group';
|
|
4
3
|
import { AXButtonGroupItemComponent } from '@acorex/components/button-group';
|
|
4
|
+
import { AXDataSource, AXValueChangedEvent } from '@acorex/cdk/common';
|
|
5
5
|
import * as i3 from '@acorex/components/select-box';
|
|
6
6
|
import { AXSelectBoxComponent } from '@acorex/components/select-box';
|
|
7
7
|
import * as i2 from '@acorex/components/decorators';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Signal, ElementRef } from '@angular/core';
|
|
2
3
|
import * as i2 from '@acorex/cdk/common';
|
|
3
4
|
import { MXInteractiveComponent, AXClickEvent, NXComponent } from '@acorex/cdk/common';
|
|
4
5
|
import * as i5 from '@angular/router';
|
|
@@ -8,6 +9,15 @@ import * as i3 from '@acorex/components/loading';
|
|
|
8
9
|
import * as i4 from '@acorex/core/translation';
|
|
9
10
|
import * as i6 from '@acorex/components/decorators';
|
|
10
11
|
|
|
12
|
+
/**
|
|
13
|
+
* DI token for the parent `ax-side-menu`. Child `ax-side-menu-item`s inject this
|
|
14
|
+
* to read shared state (e.g. the current display mode) without creating a
|
|
15
|
+
* circular import on the concrete `AXSideMenuComponent` class.
|
|
16
|
+
*/
|
|
17
|
+
declare abstract class AXSideMenuBase {
|
|
18
|
+
abstract readonly mode: Signal<'full' | 'compact'>;
|
|
19
|
+
}
|
|
20
|
+
|
|
11
21
|
declare class AXSideMenuItemClickEvent extends AXClickEvent {
|
|
12
22
|
handled: boolean;
|
|
13
23
|
}
|
|
@@ -21,6 +31,20 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent {
|
|
|
21
31
|
tooltipStatus: _angular_core.WritableSignal<boolean>;
|
|
22
32
|
tooltipText: _angular_core.InputSignal<string>;
|
|
23
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>;
|
|
24
48
|
readonly toggleOnClick: _angular_core.InputSignal<boolean>;
|
|
25
49
|
readonly href: _angular_core.InputSignal<string>;
|
|
26
50
|
readonly routerLink: _angular_core.InputSignal<string | any[] | UrlTree>;
|
|
@@ -30,14 +54,43 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent {
|
|
|
30
54
|
} | IsActiveMatchOptions>;
|
|
31
55
|
readonly target: _angular_core.InputSignal<"_blank" | "_self" | "_parent" | "_top">;
|
|
32
56
|
private childItems;
|
|
57
|
+
private childrenSlot;
|
|
58
|
+
private popoverSlot;
|
|
33
59
|
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
|
+
/** 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;
|
|
34
86
|
private checkForChildren;
|
|
87
|
+
private hasNestedMenuItems;
|
|
35
88
|
protected _handleClickEvent(e: MouseEvent): void;
|
|
36
89
|
toggle(): void;
|
|
37
90
|
open(): void;
|
|
38
91
|
close(): void;
|
|
39
92
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSideMenuItemComponent, never>;
|
|
40
|
-
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", "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>;
|
|
41
94
|
}
|
|
42
95
|
|
|
43
96
|
type AXSideMenuLook = 'pills' | 'with-line' | 'with-line-color' | 'default';
|
|
@@ -66,19 +119,45 @@ type AXSideMenuItem = {
|
|
|
66
119
|
* @category
|
|
67
120
|
* A component for displaying a side menu with customizable content.
|
|
68
121
|
*/
|
|
69
|
-
declare class AXSideMenuComponent extends NXComponent {
|
|
122
|
+
declare class AXSideMenuComponent extends NXComponent implements AXSideMenuBase {
|
|
70
123
|
#private;
|
|
71
124
|
items: _angular_core.ModelSignal<AXSideMenuItem[]>;
|
|
72
125
|
readonly look: _angular_core.InputSignal<AXSideMenuLook>;
|
|
73
126
|
readonly location: _angular_core.InputSignal<AXSideMenuLocation>;
|
|
74
127
|
readonly mode: _angular_core.InputSignal<"full" | "compact">;
|
|
75
|
-
children: _angular_core.Signal<readonly AXSideMenuItemComponent[]>;
|
|
76
128
|
private elementRef;
|
|
77
|
-
|
|
129
|
+
/**
|
|
130
|
+
* All `ax-side-menu-item` instances discovered by walking the host DOM.
|
|
131
|
+
*
|
|
132
|
+
* We use DOM discovery (instead of `contentChildren`) because Angular content
|
|
133
|
+
* queries do **not** traverse embedded views created by `ngTemplateOutlet`,
|
|
134
|
+
* and the `AXSideMenuBase` DI token is not reachable from inside those views
|
|
135
|
+
* either (they inherit injection from the template's declaration site, not
|
|
136
|
+
* the insertion site). Walking the DOM works for direct projection,
|
|
137
|
+
* structural directives, and recursive `ngTemplateOutlet`-based templates
|
|
138
|
+
* uniformly.
|
|
139
|
+
*/
|
|
140
|
+
private _items;
|
|
141
|
+
/** Read-only signal exposing every discovered `ax-side-menu-item` instance. */
|
|
142
|
+
readonly children: _angular_core.Signal<AXSideMenuItemComponent[]>;
|
|
143
|
+
private platformId;
|
|
144
|
+
private destroyRef;
|
|
145
|
+
hostElement: HTMLElement;
|
|
146
|
+
/**
|
|
147
|
+
* Walks the host DOM to discover every nested `ax-side-menu-item`, looks up
|
|
148
|
+
* the component instance through the `__axContext__` property that
|
|
149
|
+
* `MXBaseComponent.ngOnInit` attaches to each host element, and updates the
|
|
150
|
+
* internal items signal and `.first-level` CSS class accordingly.
|
|
151
|
+
*
|
|
152
|
+
* Triggered both initially and from a `MutationObserver` so recursive
|
|
153
|
+
* templates that add/remove items at runtime stay in sync.
|
|
154
|
+
*/
|
|
155
|
+
private refreshItemsFromDom;
|
|
156
|
+
private addFirstLevelClass;
|
|
78
157
|
/** @ignore */
|
|
79
158
|
private get __hostClass();
|
|
80
159
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSideMenuComponent, never>;
|
|
81
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuComponent, "ax-side-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "location": { "alias": "location"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; },
|
|
160
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuComponent, "ax-side-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "location": { "alias": "location"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; }, never, ["ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]"], true, never>;
|
|
82
161
|
}
|
|
83
162
|
|
|
84
163
|
declare class AXOutlineSideMenuDirective {
|
|
@@ -107,5 +186,5 @@ declare class AXSideMenuModule {
|
|
|
107
186
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXSideMenuModule>;
|
|
108
187
|
}
|
|
109
188
|
|
|
110
|
-
export { AXOutlineSideMenuDirective, AXSideMenuComponent, AXSideMenuItemClickEvent, AXSideMenuItemComponent, AXSideMenuModule };
|
|
189
|
+
export { AXOutlineSideMenuDirective, AXSideMenuBase, AXSideMenuComponent, AXSideMenuItemClickEvent, AXSideMenuItemComponent, AXSideMenuModule };
|
|
111
190
|
export type { AXSideMenuItem, AXSideMenuLocation, AXSideMenuLook };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AXLocation, AXStyleColorType, MXBaseComponent } from '@acorex/cdk/common';
|
|
1
|
+
import { AXLocation, AXStyleColorType, AXStyleLookType, MXBaseComponent } from '@acorex/cdk/common';
|
|
2
2
|
import { AXOverlayRef } from '@acorex/cdk/overlay';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { OnInit, InjectionToken } from '@angular/core';
|
|
@@ -16,6 +16,7 @@ interface AXToastDisplayConfig {
|
|
|
16
16
|
closeButton?: boolean;
|
|
17
17
|
location?: AXLocation;
|
|
18
18
|
color: AXStyleColorType;
|
|
19
|
+
look?: AXStyleLookType;
|
|
19
20
|
timeOut?: number;
|
|
20
21
|
timeOutProgress?: boolean;
|
|
21
22
|
pauseOnHover?: boolean;
|
|
@@ -27,6 +28,7 @@ interface AXToastData {
|
|
|
27
28
|
location: AXLocation;
|
|
28
29
|
closeButton: boolean;
|
|
29
30
|
color: AXStyleColorType;
|
|
31
|
+
look: AXStyleLookType;
|
|
30
32
|
timeOut?: number;
|
|
31
33
|
timeOutProgress: boolean;
|
|
32
34
|
closeAllButton?: boolean;
|
|
@@ -123,6 +125,7 @@ declare class AXToastService {
|
|
|
123
125
|
declare class AXToastComponent extends MXBaseComponent implements OnInit {
|
|
124
126
|
/** Toast configuration data */
|
|
125
127
|
config: i0.InputSignal<AXToastData>;
|
|
128
|
+
protected hostClass: i0.Signal<string>;
|
|
126
129
|
/** @internal Callback function to close the toast */
|
|
127
130
|
onClose: i0.InputSignal<() => void>;
|
|
128
131
|
toastService: AXToastService;
|
|
@@ -161,6 +164,7 @@ interface AXToastConfig {
|
|
|
161
164
|
location: AXLocation;
|
|
162
165
|
limit: number;
|
|
163
166
|
pauseOnHover: boolean;
|
|
167
|
+
look: AXStyleLookType;
|
|
164
168
|
}
|
|
165
169
|
declare const AX_TOAST_CONFIG: InjectionToken<AXToastConfig>;
|
|
166
170
|
declare const AXToastDefaultConfig: AXToastConfig;
|