@acorex/components 22.1.0-next.0 → 22.1.0-next.10
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/combo-box/README.md +12 -3
- package/fesm2022/acorex-components-accordion.mjs +2 -2
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +1 -0
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +4 -4
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +2 -2
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +389 -31
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +222 -101
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +19 -3
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +4 -2
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +2 -2
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +4 -4
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-fab.mjs +2 -2
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +21 -5
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +59 -42
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +783 -186
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +2 -2
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +26 -6
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +9 -2
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +3 -3
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +7 -6
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +4 -2
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +2 -2
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +6 -6
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +19 -9
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +2 -2
- package/fesm2022/acorex-components-selection-list.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-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +2 -2
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +2 -2
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +9 -2
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +2 -2
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/lookup/README.md +24 -8
- package/package.json +4 -7
- package/select-box/README.md +5 -0
- package/types/acorex-components-action-sheet.d.ts +9 -1
- package/types/acorex-components-combo-box.d.ts +155 -18
- package/types/acorex-components-conversation.d.ts +81 -48
- package/types/acorex-components-decorators.d.ts +1 -0
- package/types/acorex-components-dialog.d.ts +9 -0
- package/types/acorex-components-loading-dialog.d.ts +12 -4
- package/types/acorex-components-lookup.d.ts +283 -90
- package/types/acorex-components-menu.d.ts +2 -0
- package/types/acorex-components-notification.d.ts +11 -1
- package/types/acorex-components-popover.d.ts +4 -1
- package/types/acorex-components-popup.d.ts +9 -1
- package/types/acorex-components-select-box.d.ts +10 -4
- package/types/acorex-components-toast.d.ts +10 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +0 -168
- package/fesm2022/acorex-components-selection-list-2.mjs.map +0 -1
- package/selection-list-2/README.md +0 -3
- package/types/acorex-components-selection-list-2.d.ts +0 -52
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { TemplateRef, ElementRef } from '@angular/core';
|
|
3
|
-
import { AXEvent,
|
|
3
|
+
import { AXEvent, AXDataSource, AXListDataSource, AXHtmlEvent, NXValueComponent, AXStyleLookType, AXValueChangedEvent, AXFocusEvent, AXItemClickEvent, AXItemSelectedEvent } from '@acorex/cdk/common';
|
|
4
4
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
5
5
|
import { AXTreeViewNode, AXTreeViewDataSource, AXTreeViewSelectionBehavior, AXTreeViewItemTemplateContext, AXTreeViewSelectionChangeEvent } from '@acorex/components/tree-view';
|
|
6
|
+
import { FormValueControl } from '@angular/forms/signals';
|
|
7
|
+
import { AXListNavigationDirective, AXListNavigationItemDirective } from '@acorex/cdk/list-navigation';
|
|
6
8
|
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
9
|
+
import { AXDataTableComponent, AXDataTableRowClick } from '@acorex/components/data-table';
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
12
|
* The lookup rendering mode. Each mode is rendered by its own internal mini component:
|
|
@@ -16,11 +19,11 @@ import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
|
16
19
|
*/
|
|
17
20
|
type AXLookupMode = 'drop-down-list' | 'multi-select' | 'drop-down-tree' | 'multi-select-tree' | 'multi-column';
|
|
18
21
|
/**
|
|
19
|
-
* A column definition for the `multi-column` lookup mode.
|
|
22
|
+
* A column definition for the `multi-column` lookup mode (rendered via `ax-data-table`).
|
|
20
23
|
*
|
|
21
|
-
* - `field` — the item property rendered in this column.
|
|
22
|
-
* - `title` — the header text of the column.
|
|
23
|
-
* - `width` — optional
|
|
24
|
+
* - `field` — the item property rendered in this column (`ax-text-column` `dataField`).
|
|
25
|
+
* - `title` — the header text of the column (`ax-text-column` `caption`).
|
|
26
|
+
* - `width` — optional column width (`120px`, `20%`, or `auto`). Defaults to `auto`.
|
|
24
27
|
*/
|
|
25
28
|
interface AXLookupColumn {
|
|
26
29
|
field: string;
|
|
@@ -47,6 +50,96 @@ interface AXLookupSelectionChangedEvent extends AXEvent {
|
|
|
47
50
|
value: unknown | unknown[] | null;
|
|
48
51
|
}
|
|
49
52
|
|
|
53
|
+
/**
|
|
54
|
+
* Shared `AXDataSource` + CDK virtual scroll plumbing for the list-based lookup views
|
|
55
|
+
* (`ax-lookup-drop-down-list`, `ax-lookup-multi-select`).
|
|
56
|
+
*/
|
|
57
|
+
declare abstract class AXLookupListViewBase {
|
|
58
|
+
#private;
|
|
59
|
+
/**
|
|
60
|
+
* The datasource providing the items (paged, remote-capable).
|
|
61
|
+
*/
|
|
62
|
+
dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
|
|
63
|
+
/**
|
|
64
|
+
* The item property used as the selection value.
|
|
65
|
+
*/
|
|
66
|
+
valueField: _angular_core.InputSignal<string>;
|
|
67
|
+
/**
|
|
68
|
+
* The item property used as the display text.
|
|
69
|
+
*/
|
|
70
|
+
textField: _angular_core.InputSignal<string>;
|
|
71
|
+
/**
|
|
72
|
+
* The item property marking an item as disabled.
|
|
73
|
+
*/
|
|
74
|
+
disabledField: _angular_core.InputSignal<string>;
|
|
75
|
+
/**
|
|
76
|
+
* Currently selected values (always an array, even for single selection).
|
|
77
|
+
*/
|
|
78
|
+
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
79
|
+
/**
|
|
80
|
+
* The fixed row height in pixels used by the virtual scroll viewport.
|
|
81
|
+
*/
|
|
82
|
+
itemHeight: _angular_core.InputSignal<number>;
|
|
83
|
+
/**
|
|
84
|
+
* The maximum number of rows visible before the popup scrolls.
|
|
85
|
+
*/
|
|
86
|
+
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
87
|
+
/**
|
|
88
|
+
* Custom template rendered for each item. Context: `$implicit` is the item.
|
|
89
|
+
*/
|
|
90
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
91
|
+
/**
|
|
92
|
+
* Custom template rendered when the datasource has no items.
|
|
93
|
+
*/
|
|
94
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
95
|
+
/**
|
|
96
|
+
* Custom template rendered for rows whose page is still loading.
|
|
97
|
+
*/
|
|
98
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
99
|
+
/**
|
|
100
|
+
* When `true`, list rows use alternating background colors for easier scanning.
|
|
101
|
+
*/
|
|
102
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
103
|
+
/**
|
|
104
|
+
* Emitted when the user picks (or toggles) an item.
|
|
105
|
+
*/
|
|
106
|
+
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
107
|
+
/**
|
|
108
|
+
* Emitted when keyboard navigation should leave the list (e.g. ArrowUp on the first
|
|
109
|
+
* item, or a printable key that should return focus to the trigger search input).
|
|
110
|
+
*/
|
|
111
|
+
navigateOut: _angular_core.OutputEmitterRef<"up" | "typeahead">;
|
|
112
|
+
/** CDK virtual scroll adapter over the datasource. */
|
|
113
|
+
protected listDataSource: _angular_core.WritableSignal<AXListDataSource<AXLookupItem>>;
|
|
114
|
+
protected totalCount: _angular_core.WritableSignal<number>;
|
|
115
|
+
protected isLoading: _angular_core.WritableSignal<boolean>;
|
|
116
|
+
protected isEmpty: _angular_core.Signal<boolean>;
|
|
117
|
+
/** Viewport height so the popup grows with the items up to `maxVisibleItems`. */
|
|
118
|
+
protected viewportHeight: _angular_core.Signal<number>;
|
|
119
|
+
protected viewportRef: _angular_core.Signal<CdkVirtualScrollViewport>;
|
|
120
|
+
protected listNavigation: _angular_core.Signal<AXListNavigationDirective>;
|
|
121
|
+
protected navItems: _angular_core.Signal<readonly AXListNavigationItemDirective[]>;
|
|
122
|
+
constructor();
|
|
123
|
+
/** Moves keyboard focus to the first rendered list option. */
|
|
124
|
+
focusFirst(): void;
|
|
125
|
+
protected getValue(item: AXLookupItem): unknown;
|
|
126
|
+
protected getText(item: AXLookupItem): string;
|
|
127
|
+
protected isSelected(item: AXLookupItem): boolean;
|
|
128
|
+
protected isDisabled(item: AXLookupItem): boolean;
|
|
129
|
+
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
130
|
+
/**
|
|
131
|
+
* Commit on mousedown (not click) so a searchable trigger blur cannot destroy the
|
|
132
|
+
* list before the pick is applied.
|
|
133
|
+
*/
|
|
134
|
+
protected handleItemMouseDown(event: Event, item: AXLookupItem | null | undefined): void;
|
|
135
|
+
protected handleItemKeypress(e: AXHtmlEvent<KeyboardEvent>, item: AXLookupItem | null | undefined): void;
|
|
136
|
+
protected handleListKeypress(e: AXHtmlEvent<KeyboardEvent>): void;
|
|
137
|
+
protected activateNavItem(nav: AXListNavigationDirective, item: AXListNavigationItemDirective): void;
|
|
138
|
+
protected trackByIndex: (index: number) => number;
|
|
139
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupListViewBase, never>;
|
|
140
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXLookupListViewBase, never, never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "navigateOut": "navigateOut"; }, never, never, true, never>;
|
|
141
|
+
}
|
|
142
|
+
|
|
50
143
|
/**
|
|
51
144
|
* Selection payload of the multi-select tree view.
|
|
52
145
|
*/
|
|
@@ -107,12 +200,22 @@ declare class AXLookupMultiSelectTreeComponent {
|
|
|
107
200
|
* - `multi-select` — a predefined list of options for multiple item selection (chips in the trigger).
|
|
108
201
|
* - `drop-down-tree` — a predefined list rendered in a tree-like structure for single item selection.
|
|
109
202
|
* - `multi-select-tree` — a tree-like structure for multiple item selection.
|
|
110
|
-
* - `multi-column` —
|
|
203
|
+
* - `multi-column` — an `ax-data-table` grid; when searchable, the trigger input filters as you type.
|
|
204
|
+
*
|
|
205
|
+
* With `adaptivityEnabled` (default `true`), the list opens as a bottom actionsheet on small
|
|
206
|
+
* screens instead of an anchored dropdown — the same alternate presentation as `ax-select-box`.
|
|
207
|
+
*
|
|
208
|
+
* Implements {@link FormValueControl} so `[(ngModel)]` / signal forms work via the `value` model
|
|
209
|
+
* (no `ControlValueAccessor`).
|
|
111
210
|
*
|
|
112
211
|
* @category Components
|
|
113
212
|
*/
|
|
114
|
-
declare class AXLookupComponent extends
|
|
213
|
+
declare class AXLookupComponent extends NXValueComponent implements FormValueControl<unknown | unknown[] | null> {
|
|
115
214
|
#private;
|
|
215
|
+
/**
|
|
216
|
+
* The name of the form field, used by validation rules and `ax-form.validate(names)`.
|
|
217
|
+
*/
|
|
218
|
+
name: _angular_core.InputSignal<string>;
|
|
116
219
|
/**
|
|
117
220
|
* The lookup rendering mode. Selects which mini component renders in the popup.
|
|
118
221
|
*/
|
|
@@ -141,7 +244,7 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
141
244
|
*/
|
|
142
245
|
disabledField: _angular_core.InputSignal<string>;
|
|
143
246
|
/**
|
|
144
|
-
* Column definitions for the `multi-column` mode.
|
|
247
|
+
* Column definitions for the `multi-column` mode (rendered as `ax-text-column` in `ax-data-table`).
|
|
145
248
|
*/
|
|
146
249
|
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
147
250
|
/**
|
|
@@ -150,6 +253,20 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
150
253
|
* Applies to `drop-down-list`, `multi-select`, and `multi-column`. Tree modes ignore this.
|
|
151
254
|
*/
|
|
152
255
|
searchable: _angular_core.InputSignal<boolean>;
|
|
256
|
+
/**
|
|
257
|
+
* When `true` (default), the popup list uses the alternate actionsheet presentation on small
|
|
258
|
+
* screens (`SM`). When `false`, the list always opens as an anchored dropdown.
|
|
259
|
+
*/
|
|
260
|
+
adaptivityEnabled: _angular_core.InputSignal<boolean>;
|
|
261
|
+
/**
|
|
262
|
+
* Title shown in the actionsheet header on small screens. Falls back to `placeholder`.
|
|
263
|
+
*/
|
|
264
|
+
caption: _angular_core.InputSignal<string>;
|
|
265
|
+
/**
|
|
266
|
+
* When `true`, list rows use alternating background colors for easier scanning
|
|
267
|
+
* (`drop-down-list`, `multi-select`, and `multi-column` modes).
|
|
268
|
+
*/
|
|
269
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
153
270
|
/**
|
|
154
271
|
* Placeholder for the trigger search input when items are already selected
|
|
155
272
|
* (mainly useful in `multi-select`). Falls back to `placeholder` when the selection is empty.
|
|
@@ -162,11 +279,11 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
162
279
|
/**
|
|
163
280
|
* Whether the lookup is disabled.
|
|
164
281
|
*/
|
|
165
|
-
disabled: _angular_core.
|
|
282
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
166
283
|
/**
|
|
167
284
|
* Whether the lookup is readonly.
|
|
168
285
|
*/
|
|
169
|
-
readonly: _angular_core.
|
|
286
|
+
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
170
287
|
/**
|
|
171
288
|
* Predefined look scheme of the editor container. Same looks as other editor components like ax-text-box.
|
|
172
289
|
*/
|
|
@@ -201,9 +318,16 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
201
318
|
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
202
319
|
/**
|
|
203
320
|
* The selected value(s): a scalar in single modes, an array in
|
|
204
|
-
* `multi-select` / `multi-select-tree`. Supports
|
|
321
|
+
* `multi-select` / `multi-select-tree`. Supports `[(value)]`, `[(ngModel)]`, and signal forms
|
|
322
|
+
* via {@link FormValueControl}.
|
|
205
323
|
*/
|
|
206
|
-
value: _angular_core.ModelSignal<unknown>;
|
|
324
|
+
readonly value: _angular_core.ModelSignal<unknown>;
|
|
325
|
+
/**
|
|
326
|
+
* Full items that resolve the current `value` key(s) without calling datasource `byKey`.
|
|
327
|
+
* Use when the parent already has the selected entity (e.g. edit forms). Seeds the internal
|
|
328
|
+
* item cache; missing keys still fall through to `find` / `byKey`.
|
|
329
|
+
*/
|
|
330
|
+
valueItems: _angular_core.InputSignal<AXLookupItem[]>;
|
|
207
331
|
/**
|
|
208
332
|
* Emitted when the selected value changes.
|
|
209
333
|
*/
|
|
@@ -212,6 +336,22 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
212
336
|
* Emitted when the selection changes, carrying the resolved selected items.
|
|
213
337
|
*/
|
|
214
338
|
onSelectionChanged: _angular_core.OutputEmitterRef<AXLookupSelectionChangedEvent>;
|
|
339
|
+
/**
|
|
340
|
+
* Emitted when the trigger receives focus.
|
|
341
|
+
*/
|
|
342
|
+
onFocus: _angular_core.OutputEmitterRef<AXFocusEvent>;
|
|
343
|
+
/**
|
|
344
|
+
* Emitted when the trigger loses focus.
|
|
345
|
+
*/
|
|
346
|
+
onBlur: _angular_core.OutputEmitterRef<AXFocusEvent>;
|
|
347
|
+
/**
|
|
348
|
+
* Emitted when a list/tree item is clicked.
|
|
349
|
+
*/
|
|
350
|
+
onItemClick: _angular_core.OutputEmitterRef<AXItemClickEvent<AXLookupItem>>;
|
|
351
|
+
/**
|
|
352
|
+
* Emitted when an item is selected (click or keyboard).
|
|
353
|
+
*/
|
|
354
|
+
onItemSelected: _angular_core.OutputEmitterRef<AXItemSelectedEvent<AXLookupItem>>;
|
|
215
355
|
/**
|
|
216
356
|
* Emitted when the popup opens.
|
|
217
357
|
*/
|
|
@@ -222,6 +362,8 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
222
362
|
onClosed: _angular_core.OutputEmitterRef<AXEvent>;
|
|
223
363
|
/** Whether the popup is expanded. */
|
|
224
364
|
protected expanded: _angular_core.WritableSignal<boolean>;
|
|
365
|
+
/** Whether the list is currently shown as a bottom actionsheet (small screens + adaptivity). */
|
|
366
|
+
protected isActionsheetStyle: _angular_core.WritableSignal<boolean>;
|
|
225
367
|
/** Whether the current mode selects multiple values. */
|
|
226
368
|
protected isMultiple: _angular_core.Signal<boolean>;
|
|
227
369
|
/** Whether the current mode renders a tree. */
|
|
@@ -241,15 +383,39 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
241
383
|
* Multi-select starts empty; single modes sync from the selected display text.
|
|
242
384
|
*/
|
|
243
385
|
protected searchText: _angular_core.WritableSignal<string>;
|
|
386
|
+
/**
|
|
387
|
+
* Whether the trigger should render `selectedTemplate` instead of the plain input text.
|
|
388
|
+
* Searchable mode shows the template while the popup is closed and the input still matches
|
|
389
|
+
* the selected display text (same pattern as combo-box).
|
|
390
|
+
*/
|
|
391
|
+
protected showSelectedTemplate: _angular_core.Signal<boolean>;
|
|
244
392
|
protected popoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
245
393
|
protected triggerSearchInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
|
|
394
|
+
protected listView: _angular_core.Signal<AXLookupListViewBase>;
|
|
246
395
|
constructor();
|
|
247
396
|
/** Returns the display text of an item using the `textField` mapping. */
|
|
248
397
|
protected getItemText(item: AXLookupItem): string;
|
|
398
|
+
/** Stable unique key for selected chips — avoids NG0955 and remounts on reorder/remove. */
|
|
399
|
+
protected trackSelectedKey(item: AXLookupItem): unknown;
|
|
249
400
|
/**
|
|
250
401
|
* Opens (editable trigger) or toggles the popup on trigger click.
|
|
251
402
|
*/
|
|
252
403
|
protected onTriggerClick(): void;
|
|
404
|
+
/**
|
|
405
|
+
* Focuses the lookup trigger input.
|
|
406
|
+
*/
|
|
407
|
+
focus(options?: FocusOptions): void;
|
|
408
|
+
/**
|
|
409
|
+
* Handles keyboard interaction on the trigger input.
|
|
410
|
+
*/
|
|
411
|
+
protected onTriggerKeydown(e: KeyboardEvent): void;
|
|
412
|
+
/** Blocks typing when the trigger is not editable (keeps Tab / keyboard open working). */
|
|
413
|
+
protected onBeforeInput(event: Event): void;
|
|
414
|
+
/**
|
|
415
|
+
* Returns focus to the trigger input when list navigation requests it.
|
|
416
|
+
*/
|
|
417
|
+
protected onListNavigateOut(_reason: 'up' | 'typeahead'): void;
|
|
418
|
+
protected focusListFirst(): void;
|
|
253
419
|
/**
|
|
254
420
|
* Keeps the expanded state in sync when the popover closes (e.g. click outside),
|
|
255
421
|
* and clears any applied search filter.
|
|
@@ -259,6 +425,10 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
259
425
|
* Closes the popup.
|
|
260
426
|
*/
|
|
261
427
|
close(): void;
|
|
428
|
+
/**
|
|
429
|
+
* Closes the popup (alias for {@link close}, required by `AXClosableComponent`).
|
|
430
|
+
*/
|
|
431
|
+
closeAll(): void;
|
|
262
432
|
/**
|
|
263
433
|
* Opens the popup.
|
|
264
434
|
*/
|
|
@@ -282,85 +452,30 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
282
452
|
* Applies the multi-select-tree selection to the value; the popup stays open.
|
|
283
453
|
*/
|
|
284
454
|
protected handleTreeSelectionChange(e: AXLookupTreeSelectionEvent): void;
|
|
455
|
+
/** Forwards native focus from the trigger input. */
|
|
456
|
+
protected emitOnFocus(e: FocusEvent): void;
|
|
457
|
+
/** Forwards native blur from the trigger input. */
|
|
458
|
+
protected emitOnBlur(e: FocusEvent): void;
|
|
285
459
|
/**
|
|
286
460
|
* Removes a single chip from the multi selection.
|
|
287
461
|
*/
|
|
288
462
|
protected removeChip(event: Event, item: AXLookupItem): void;
|
|
289
463
|
/**
|
|
290
|
-
*
|
|
464
|
+
* Seeds the item cache with known items so matching `value` keys resolve without `byKey`.
|
|
465
|
+
* Useful after an async parent-entity load when `valueItems` is not bound.
|
|
466
|
+
*
|
|
467
|
+
* @param items - Full items that include `valueField` (and ideally `textField`) properties.
|
|
291
468
|
*/
|
|
292
|
-
|
|
293
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupComponent, never>;
|
|
294
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupComponent, "ax-lookup", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "treeDataSource": { "alias": "treeDataSource"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "treeSelectionBehavior": { "alias": "treeSelectionBehavior"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "readonly": "readonlyChange"; "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "onSelectionChanged": "onSelectionChanged"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-suffix"], true, never>;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Shared `AXDataSource` + CDK virtual scroll plumbing for the list-based lookup views
|
|
299
|
-
* (`ax-lookup-drop-down-list`, `ax-lookup-multi-select`, `ax-lookup-multi-column`).
|
|
300
|
-
*/
|
|
301
|
-
declare abstract class AXLookupListViewBase {
|
|
302
|
-
#private;
|
|
303
|
-
/**
|
|
304
|
-
* The datasource providing the items (paged, remote-capable).
|
|
305
|
-
*/
|
|
306
|
-
dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
|
|
307
|
-
/**
|
|
308
|
-
* The item property used as the selection value.
|
|
309
|
-
*/
|
|
310
|
-
valueField: _angular_core.InputSignal<string>;
|
|
311
|
-
/**
|
|
312
|
-
* The item property used as the display text.
|
|
313
|
-
*/
|
|
314
|
-
textField: _angular_core.InputSignal<string>;
|
|
315
|
-
/**
|
|
316
|
-
* The item property marking an item as disabled.
|
|
317
|
-
*/
|
|
318
|
-
disabledField: _angular_core.InputSignal<string>;
|
|
319
|
-
/**
|
|
320
|
-
* Currently selected values (always an array, even for single selection).
|
|
321
|
-
*/
|
|
322
|
-
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
469
|
+
seedItems(items: AXLookupItem[]): void;
|
|
323
470
|
/**
|
|
324
|
-
*
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
* The maximum number of rows visible before the popup scrolls.
|
|
329
|
-
*/
|
|
330
|
-
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
331
|
-
/**
|
|
332
|
-
* Custom template rendered for each item. Context: `$implicit` is the item.
|
|
333
|
-
*/
|
|
334
|
-
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
335
|
-
/**
|
|
336
|
-
* Custom template rendered when the datasource has no items.
|
|
337
|
-
*/
|
|
338
|
-
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
339
|
-
/**
|
|
340
|
-
* Custom template rendered for rows whose page is still loading.
|
|
341
|
-
*/
|
|
342
|
-
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
343
|
-
/**
|
|
344
|
-
* Emitted when the user picks (or toggles) an item.
|
|
471
|
+
* Clears the whole selection.
|
|
472
|
+
* Sets `null` in single modes and `[]` in multi modes. Used by projected `ax-clear-button`.
|
|
473
|
+
*
|
|
474
|
+
* @param isUserInteraction - Whether the clear was triggered by the user.
|
|
345
475
|
*/
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
protected totalCount: _angular_core.WritableSignal<number>;
|
|
350
|
-
protected isLoading: _angular_core.WritableSignal<boolean>;
|
|
351
|
-
protected isEmpty: _angular_core.Signal<boolean>;
|
|
352
|
-
/** Viewport height so the popup grows with the items up to `maxVisibleItems`. */
|
|
353
|
-
protected viewportHeight: _angular_core.Signal<number>;
|
|
354
|
-
protected viewportRef: _angular_core.Signal<CdkVirtualScrollViewport>;
|
|
355
|
-
constructor();
|
|
356
|
-
protected getValue(item: AXLookupItem): unknown;
|
|
357
|
-
protected getText(item: AXLookupItem): string;
|
|
358
|
-
protected isSelected(item: AXLookupItem): boolean;
|
|
359
|
-
protected isDisabled(item: AXLookupItem): boolean;
|
|
360
|
-
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
361
|
-
protected trackByIndex: (index: number) => number;
|
|
362
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupListViewBase, never>;
|
|
363
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXLookupListViewBase, never, never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
476
|
+
reset(isUserInteraction?: boolean): void;
|
|
477
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupComponent, never>;
|
|
478
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupComponent, "ax-lookup", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "treeDataSource": { "alias": "treeDataSource"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "treeSelectionBehavior": { "alias": "treeSelectionBehavior"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueItems": { "alias": "valueItems"; "required": false; "isSignal": true; }; }, { "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "onSelectionChanged": "onSelectionChanged"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onItemClick": "onItemClick"; "onItemSelected": "onItemSelected"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-header", "ax-footer", "ax-validation-rule"], true, never>;
|
|
364
479
|
}
|
|
365
480
|
|
|
366
481
|
/**
|
|
@@ -428,20 +543,98 @@ declare class AXLookupDropDownTreeComponent {
|
|
|
428
543
|
|
|
429
544
|
/**
|
|
430
545
|
* Internal mini component for the `multi-column` lookup mode:
|
|
431
|
-
*
|
|
546
|
+
* renders selectable rows in an `ax-data-table` grid and loads further
|
|
547
|
+
* pages as the user scrolls (no pager UI).
|
|
432
548
|
*
|
|
433
549
|
* @category Components
|
|
434
550
|
*/
|
|
435
|
-
declare class AXLookupMultiColumnComponent
|
|
551
|
+
declare class AXLookupMultiColumnComponent {
|
|
552
|
+
#private;
|
|
553
|
+
/**
|
|
554
|
+
* The datasource providing the grid rows (paged, remote-capable).
|
|
555
|
+
* Pages are fetched on demand as the user scrolls the table body.
|
|
556
|
+
*/
|
|
557
|
+
dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
|
|
558
|
+
/**
|
|
559
|
+
* The item property used as the selection value.
|
|
560
|
+
*/
|
|
561
|
+
valueField: _angular_core.InputSignal<string>;
|
|
436
562
|
/**
|
|
437
|
-
*
|
|
563
|
+
* The item property used as the display text.
|
|
564
|
+
*/
|
|
565
|
+
textField: _angular_core.InputSignal<string>;
|
|
566
|
+
/**
|
|
567
|
+
* The item property marking an item as disabled.
|
|
568
|
+
*/
|
|
569
|
+
disabledField: _angular_core.InputSignal<string>;
|
|
570
|
+
/**
|
|
571
|
+
* Currently selected values (always an array, even for single selection).
|
|
572
|
+
*/
|
|
573
|
+
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
574
|
+
/**
|
|
575
|
+
* The fixed row height in pixels passed to the data table.
|
|
576
|
+
*/
|
|
577
|
+
itemHeight: _angular_core.InputSignal<number>;
|
|
578
|
+
/**
|
|
579
|
+
* The maximum number of body rows visible before the table scrolls.
|
|
580
|
+
*/
|
|
581
|
+
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
582
|
+
/**
|
|
583
|
+
* Column definitions rendered as `ax-text-column` instances.
|
|
438
584
|
*/
|
|
439
585
|
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
440
|
-
/**
|
|
441
|
-
|
|
442
|
-
|
|
586
|
+
/**
|
|
587
|
+
* Optional custom row content. Context: `$implicit` is the row item.
|
|
588
|
+
* When set, replaces the default multi-column cell layout.
|
|
589
|
+
*/
|
|
590
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
591
|
+
/**
|
|
592
|
+
* Custom template rendered when the datasource has no items.
|
|
593
|
+
*/
|
|
594
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
595
|
+
/**
|
|
596
|
+
* Custom template rendered while the table is loading.
|
|
597
|
+
*/
|
|
598
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
599
|
+
/**
|
|
600
|
+
* When `true`, table rows use alternating background colors for easier scanning.
|
|
601
|
+
*/
|
|
602
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
603
|
+
/**
|
|
604
|
+
* Emitted when the user picks a row.
|
|
605
|
+
*/
|
|
606
|
+
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
607
|
+
protected tableRef: _angular_core.Signal<AXDataTableComponent>;
|
|
608
|
+
/**
|
|
609
|
+
* Local table source: one page of whatever has been scrolled in so far.
|
|
610
|
+
* Kept as a stable instance so the table host is not recreated on each page load.
|
|
611
|
+
* `pageSize` grows with `#loadedItems` — never seed with a huge empty array (data-table
|
|
612
|
+
* initializes `displayedRows` as `new Array(pageSize)`, which caused NG0955-level jank).
|
|
613
|
+
*/
|
|
614
|
+
protected readonly tableDataSource: AXDataSource<AXLookupItem>;
|
|
615
|
+
/**
|
|
616
|
+
* Header (~40px) + body rows. Grows with results up to `maxVisibleItems`,
|
|
617
|
+
* then the table body scrolls for the rest.
|
|
618
|
+
*/
|
|
619
|
+
protected tableHeight: _angular_core.Signal<number>;
|
|
620
|
+
protected loadingConfig: _angular_core.Signal<{
|
|
621
|
+
enabled: boolean;
|
|
622
|
+
animation: boolean;
|
|
623
|
+
loadingTemplate: TemplateRef<unknown>;
|
|
624
|
+
}>;
|
|
625
|
+
constructor();
|
|
626
|
+
/** Stable unique key for `@for` — avoids NG0955 when `field` is missing or duplicated. */
|
|
627
|
+
protected trackColumnKey(index: number, column: AXLookupColumn): string;
|
|
628
|
+
protected resolveColumnWidth(column: AXLookupColumn): string | number | 'auto';
|
|
629
|
+
protected resolveRowCssClass: (row: unknown) => string;
|
|
630
|
+
protected handleRowClick(event: AXDataTableRowClick): void;
|
|
631
|
+
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
632
|
+
protected handleItemMouseDown(event: Event, item: AXLookupItem | null | undefined): void;
|
|
633
|
+
protected isSelected(item: AXLookupItem): boolean;
|
|
634
|
+
protected isDisabled(item: AXLookupItem): boolean;
|
|
635
|
+
private getValue;
|
|
443
636
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiColumnComponent, never>;
|
|
444
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiColumnComponent, "ax-lookup-multi-column", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
637
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiColumnComponent, "ax-lookup-multi-column", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
445
638
|
}
|
|
446
639
|
|
|
447
640
|
declare class AXLookupModule {
|
|
@@ -138,6 +138,8 @@ declare class AXContextMenuComponent extends NXComponent {
|
|
|
138
138
|
/** @ignore */
|
|
139
139
|
private createBackdrop;
|
|
140
140
|
/** @ignore */
|
|
141
|
+
private resolveContextMenuTarget;
|
|
142
|
+
/** @ignore */
|
|
141
143
|
private removeBackdrop;
|
|
142
144
|
private createEventListeners;
|
|
143
145
|
/** @ignore */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AXStyleColorType, AXStyleLookType, AXLocation, MXBaseComponent } from '@acorex/cdk/common';
|
|
2
2
|
import { AXOverlayRef } from '@acorex/cdk/overlay';
|
|
3
3
|
import * as _angular_core from '@angular/core';
|
|
4
|
-
import { TemplateRef, Type, OnInit, InjectionToken } from '@angular/core';
|
|
4
|
+
import { TemplateRef, Type, ElementRef, OnInit, InjectionToken } from '@angular/core';
|
|
5
5
|
|
|
6
6
|
type AXNotificationContentType = string | TemplateRef<unknown> | Type<unknown>;
|
|
7
7
|
interface AXNotificationButtonItem {
|
|
@@ -26,6 +26,14 @@ interface AXNotificationOptions {
|
|
|
26
26
|
timeOut?: number;
|
|
27
27
|
timeOutProgress?: boolean;
|
|
28
28
|
pauseOnHover?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Element used to resolve inherited visual context for overlays rendered
|
|
31
|
+
* outside the originating DOM subtree.
|
|
32
|
+
*
|
|
33
|
+
* This affects Appearance, Light/Dark theme, Contrast, Size, and supported
|
|
34
|
+
* Density context. It does not affect overlay positioning.
|
|
35
|
+
*/
|
|
36
|
+
contextElement?: HTMLElement | ElementRef<HTMLElement>;
|
|
29
37
|
}
|
|
30
38
|
interface AXNotificationData {
|
|
31
39
|
buttons?: AXNotificationButtonItem[];
|
|
@@ -50,6 +58,7 @@ interface AXNotificationInternalRef {
|
|
|
50
58
|
id: string;
|
|
51
59
|
overlayRef: AXOverlayRef<unknown>;
|
|
52
60
|
config: AXNotificationData;
|
|
61
|
+
contextElement?: HTMLElement | ElementRef<HTMLElement>;
|
|
53
62
|
close: () => void;
|
|
54
63
|
}
|
|
55
64
|
|
|
@@ -124,6 +133,7 @@ declare class AXNotificationService {
|
|
|
124
133
|
private notificationCounterRef;
|
|
125
134
|
private moreNotificationsColor;
|
|
126
135
|
private moreNotificationsLocation;
|
|
136
|
+
private moreNotificationsContextElement;
|
|
127
137
|
private reserveCounter;
|
|
128
138
|
show(config: AXNotificationOptions): AXNotificationRef;
|
|
129
139
|
private displayNotification;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { OnDestroy, ElementRef, ComponentRef, TemplateRef, EventEmitter } from '@angular/core';
|
|
3
3
|
import { MXBaseComponent, AXPlacementType, AXEvent } from '@acorex/cdk/common';
|
|
4
|
+
import { AXOverlayVisualContextScope } from '@acorex/cdk/overlay';
|
|
4
5
|
import { AXComponentType } from '@acorex/core/components';
|
|
5
6
|
import * as i1 from '@angular/common';
|
|
6
7
|
|
|
@@ -39,6 +40,8 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
|
|
|
39
40
|
private _disabled;
|
|
40
41
|
readonly width: i0.InputSignal<string>;
|
|
41
42
|
readonly disablePanelClass: i0.InputSignal<boolean>;
|
|
43
|
+
/** Propagate theme/size only — floating dropdown panels opt out of appearance/contrast. */
|
|
44
|
+
readonly visualContextScope: i0.InputSignal<AXOverlayVisualContextScope>;
|
|
42
45
|
private translateService;
|
|
43
46
|
/**
|
|
44
47
|
* Gets or sets whether the popover is disabled.
|
|
@@ -240,7 +243,7 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
|
|
|
240
243
|
/** @ignore */
|
|
241
244
|
ngOnDestroy(): void;
|
|
242
245
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPopoverComponent, never>;
|
|
243
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXPopoverComponent, "ax-popover", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "disablePanelClass": { "alias": "disablePanelClass"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "target": { "alias": "target"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "content": { "alias": "content"; "required": false; }; "openOn": { "alias": "openOn"; "required": false; }; "closeOn": { "alias": "closeOn"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "openAfter": { "alias": "openAfter"; "required": false; }; "closeAfter": { "alias": "closeAfter"; "required": false; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; }; }, { "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["*"], true, never>;
|
|
246
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPopoverComponent, "ax-popover", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "disablePanelClass": { "alias": "disablePanelClass"; "required": false; "isSignal": true; }; "visualContextScope": { "alias": "visualContextScope"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "target": { "alias": "target"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "content": { "alias": "content"; "required": false; }; "openOn": { "alias": "openOn"; "required": false; }; "closeOn": { "alias": "closeOn"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "openAfter": { "alias": "openAfter"; "required": false; }; "closeAfter": { "alias": "closeAfter"; "required": false; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; }; }, { "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["*"], true, never>;
|
|
244
247
|
}
|
|
245
248
|
|
|
246
249
|
declare class AXPopoverModule {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { TemplateRef, ViewContainerRef, StaticProvider, OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { TemplateRef, ViewContainerRef, StaticProvider, ElementRef, OnInit, OnDestroy } from '@angular/core';
|
|
3
3
|
import * as i2 from '@acorex/cdk/common';
|
|
4
4
|
import { NXComponent, MXBaseComponent, AXComponentClosedPromise } from '@acorex/cdk/common';
|
|
5
5
|
import { AXComponentType, AXComponentInputs } from '@acorex/core/components';
|
|
@@ -55,6 +55,14 @@ interface AXPopupConfig {
|
|
|
55
55
|
* extra content inputs that depend on the ref.
|
|
56
56
|
*/
|
|
57
57
|
_bindContentInputs?: (ref: AXPopupRef) => Record<string, unknown>;
|
|
58
|
+
/**
|
|
59
|
+
* Element used to resolve inherited visual context for overlays rendered
|
|
60
|
+
* outside the originating DOM subtree.
|
|
61
|
+
*
|
|
62
|
+
* This affects Appearance, Light/Dark theme, Contrast, Size, and supported
|
|
63
|
+
* Density context. It does not affect overlay positioning.
|
|
64
|
+
*/
|
|
65
|
+
contextElement?: HTMLElement | ElementRef<HTMLElement>;
|
|
58
66
|
}
|
|
59
67
|
interface AXPopupData {
|
|
60
68
|
title: string;
|