@acorex/components 22.1.0-next.0 → 22.1.0-next.2
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-action-sheet.mjs +1 -0
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +372 -30
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +2 -2
- 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-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +724 -175
- 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 +1 -1
- 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-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-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 +13 -8
- package/package.json +3 -3
- 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 +147 -18
- package/types/acorex-components-decorators.d.ts +1 -0
- package/types/acorex-components-dialog.d.ts +9 -0
- package/types/acorex-components-lookup.d.ts +260 -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
|
@@ -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, NXComponent, 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,91 @@ 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
|
+
protected handleItemKeypress(e: AXHtmlEvent<KeyboardEvent>, item: AXLookupItem | null | undefined): void;
|
|
131
|
+
protected handleListKeypress(e: AXHtmlEvent<KeyboardEvent>): void;
|
|
132
|
+
protected activateNavItem(nav: AXListNavigationDirective, item: AXListNavigationItemDirective): void;
|
|
133
|
+
protected trackByIndex: (index: number) => number;
|
|
134
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupListViewBase, never>;
|
|
135
|
+
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>;
|
|
136
|
+
}
|
|
137
|
+
|
|
50
138
|
/**
|
|
51
139
|
* Selection payload of the multi-select tree view.
|
|
52
140
|
*/
|
|
@@ -107,11 +195,17 @@ declare class AXLookupMultiSelectTreeComponent {
|
|
|
107
195
|
* - `multi-select` — a predefined list of options for multiple item selection (chips in the trigger).
|
|
108
196
|
* - `drop-down-tree` — a predefined list rendered in a tree-like structure for single item selection.
|
|
109
197
|
* - `multi-select-tree` — a tree-like structure for multiple item selection.
|
|
110
|
-
* - `multi-column` —
|
|
198
|
+
* - `multi-column` — an `ax-data-table` grid; when searchable, the trigger input filters as you type.
|
|
199
|
+
*
|
|
200
|
+
* With `adaptivityEnabled` (default `true`), the list opens as a bottom actionsheet on small
|
|
201
|
+
* screens instead of an anchored dropdown — the same alternate presentation as `ax-select-box`.
|
|
202
|
+
*
|
|
203
|
+
* Implements {@link FormValueControl} so `[(ngModel)]` / signal forms work via the `value` model
|
|
204
|
+
* (no `ControlValueAccessor`).
|
|
111
205
|
*
|
|
112
206
|
* @category Components
|
|
113
207
|
*/
|
|
114
|
-
declare class AXLookupComponent extends NXComponent {
|
|
208
|
+
declare class AXLookupComponent extends NXComponent implements FormValueControl<unknown | unknown[] | null> {
|
|
115
209
|
#private;
|
|
116
210
|
/**
|
|
117
211
|
* The lookup rendering mode. Selects which mini component renders in the popup.
|
|
@@ -141,7 +235,7 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
141
235
|
*/
|
|
142
236
|
disabledField: _angular_core.InputSignal<string>;
|
|
143
237
|
/**
|
|
144
|
-
* Column definitions for the `multi-column` mode.
|
|
238
|
+
* Column definitions for the `multi-column` mode (rendered as `ax-text-column` in `ax-data-table`).
|
|
145
239
|
*/
|
|
146
240
|
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
147
241
|
/**
|
|
@@ -150,6 +244,20 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
150
244
|
* Applies to `drop-down-list`, `multi-select`, and `multi-column`. Tree modes ignore this.
|
|
151
245
|
*/
|
|
152
246
|
searchable: _angular_core.InputSignal<boolean>;
|
|
247
|
+
/**
|
|
248
|
+
* When `true` (default), the popup list uses the alternate actionsheet presentation on small
|
|
249
|
+
* screens (`SM`). When `false`, the list always opens as an anchored dropdown.
|
|
250
|
+
*/
|
|
251
|
+
adaptivityEnabled: _angular_core.InputSignal<boolean>;
|
|
252
|
+
/**
|
|
253
|
+
* Title shown in the actionsheet header on small screens. Falls back to `placeholder`.
|
|
254
|
+
*/
|
|
255
|
+
caption: _angular_core.InputSignal<string>;
|
|
256
|
+
/**
|
|
257
|
+
* When `true`, list rows use alternating background colors for easier scanning
|
|
258
|
+
* (`drop-down-list`, `multi-select`, and `multi-column` modes).
|
|
259
|
+
*/
|
|
260
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
153
261
|
/**
|
|
154
262
|
* Placeholder for the trigger search input when items are already selected
|
|
155
263
|
* (mainly useful in `multi-select`). Falls back to `placeholder` when the selection is empty.
|
|
@@ -162,11 +270,11 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
162
270
|
/**
|
|
163
271
|
* Whether the lookup is disabled.
|
|
164
272
|
*/
|
|
165
|
-
disabled: _angular_core.
|
|
273
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
166
274
|
/**
|
|
167
275
|
* Whether the lookup is readonly.
|
|
168
276
|
*/
|
|
169
|
-
readonly: _angular_core.
|
|
277
|
+
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
170
278
|
/**
|
|
171
279
|
* Predefined look scheme of the editor container. Same looks as other editor components like ax-text-box.
|
|
172
280
|
*/
|
|
@@ -201,9 +309,10 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
201
309
|
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
202
310
|
/**
|
|
203
311
|
* The selected value(s): a scalar in single modes, an array in
|
|
204
|
-
* `multi-select` / `multi-select-tree`. Supports
|
|
312
|
+
* `multi-select` / `multi-select-tree`. Supports `[(value)]`, `[(ngModel)]`, and signal forms
|
|
313
|
+
* via {@link FormValueControl}.
|
|
205
314
|
*/
|
|
206
|
-
value: _angular_core.ModelSignal<unknown>;
|
|
315
|
+
readonly value: _angular_core.ModelSignal<unknown>;
|
|
207
316
|
/**
|
|
208
317
|
* Emitted when the selected value changes.
|
|
209
318
|
*/
|
|
@@ -212,6 +321,22 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
212
321
|
* Emitted when the selection changes, carrying the resolved selected items.
|
|
213
322
|
*/
|
|
214
323
|
onSelectionChanged: _angular_core.OutputEmitterRef<AXLookupSelectionChangedEvent>;
|
|
324
|
+
/**
|
|
325
|
+
* Emitted when the trigger receives focus.
|
|
326
|
+
*/
|
|
327
|
+
onFocus: _angular_core.OutputEmitterRef<AXFocusEvent>;
|
|
328
|
+
/**
|
|
329
|
+
* Emitted when the trigger loses focus.
|
|
330
|
+
*/
|
|
331
|
+
onBlur: _angular_core.OutputEmitterRef<AXFocusEvent>;
|
|
332
|
+
/**
|
|
333
|
+
* Emitted when a list/tree item is clicked.
|
|
334
|
+
*/
|
|
335
|
+
onItemClick: _angular_core.OutputEmitterRef<AXItemClickEvent<AXLookupItem>>;
|
|
336
|
+
/**
|
|
337
|
+
* Emitted when an item is selected (click or keyboard).
|
|
338
|
+
*/
|
|
339
|
+
onItemSelected: _angular_core.OutputEmitterRef<AXItemSelectedEvent<AXLookupItem>>;
|
|
215
340
|
/**
|
|
216
341
|
* Emitted when the popup opens.
|
|
217
342
|
*/
|
|
@@ -222,6 +347,8 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
222
347
|
onClosed: _angular_core.OutputEmitterRef<AXEvent>;
|
|
223
348
|
/** Whether the popup is expanded. */
|
|
224
349
|
protected expanded: _angular_core.WritableSignal<boolean>;
|
|
350
|
+
/** Whether the list is currently shown as a bottom actionsheet (small screens + adaptivity). */
|
|
351
|
+
protected isActionsheetStyle: _angular_core.WritableSignal<boolean>;
|
|
225
352
|
/** Whether the current mode selects multiple values. */
|
|
226
353
|
protected isMultiple: _angular_core.Signal<boolean>;
|
|
227
354
|
/** Whether the current mode renders a tree. */
|
|
@@ -241,15 +368,39 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
241
368
|
* Multi-select starts empty; single modes sync from the selected display text.
|
|
242
369
|
*/
|
|
243
370
|
protected searchText: _angular_core.WritableSignal<string>;
|
|
371
|
+
/**
|
|
372
|
+
* Whether the trigger should render `selectedTemplate` instead of the plain input text.
|
|
373
|
+
* Searchable mode shows the template while the popup is closed and the input still matches
|
|
374
|
+
* the selected display text (same pattern as combo-box).
|
|
375
|
+
*/
|
|
376
|
+
protected showSelectedTemplate: _angular_core.Signal<boolean>;
|
|
244
377
|
protected popoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
245
378
|
protected triggerSearchInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
|
|
379
|
+
protected listView: _angular_core.Signal<AXLookupListViewBase>;
|
|
246
380
|
constructor();
|
|
247
381
|
/** Returns the display text of an item using the `textField` mapping. */
|
|
248
382
|
protected getItemText(item: AXLookupItem): string;
|
|
383
|
+
/** Stable unique key for selected chips — avoids NG0955 and remounts on reorder/remove. */
|
|
384
|
+
protected trackSelectedKey(item: AXLookupItem): unknown;
|
|
249
385
|
/**
|
|
250
386
|
* Opens (editable trigger) or toggles the popup on trigger click.
|
|
251
387
|
*/
|
|
252
388
|
protected onTriggerClick(): void;
|
|
389
|
+
/**
|
|
390
|
+
* Focuses the lookup trigger input.
|
|
391
|
+
*/
|
|
392
|
+
focus(options?: FocusOptions): void;
|
|
393
|
+
/**
|
|
394
|
+
* Handles keyboard interaction on the trigger input.
|
|
395
|
+
*/
|
|
396
|
+
protected onTriggerKeydown(e: KeyboardEvent): void;
|
|
397
|
+
/** Blocks typing when the trigger is not editable (keeps Tab / keyboard open working). */
|
|
398
|
+
protected onBeforeInput(event: Event): void;
|
|
399
|
+
/**
|
|
400
|
+
* Returns focus to the trigger input when list navigation requests it.
|
|
401
|
+
*/
|
|
402
|
+
protected onListNavigateOut(_reason: 'up' | 'typeahead'): void;
|
|
403
|
+
protected focusListFirst(): void;
|
|
253
404
|
/**
|
|
254
405
|
* Keeps the expanded state in sync when the popover closes (e.g. click outside),
|
|
255
406
|
* and clears any applied search filter.
|
|
@@ -259,6 +410,10 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
259
410
|
* Closes the popup.
|
|
260
411
|
*/
|
|
261
412
|
close(): void;
|
|
413
|
+
/**
|
|
414
|
+
* Closes the popup (alias for {@link close}, required by `AXClosableComponent`).
|
|
415
|
+
*/
|
|
416
|
+
closeAll(): void;
|
|
262
417
|
/**
|
|
263
418
|
* Opens the popup.
|
|
264
419
|
*/
|
|
@@ -282,85 +437,23 @@ declare class AXLookupComponent extends NXComponent {
|
|
|
282
437
|
* Applies the multi-select-tree selection to the value; the popup stays open.
|
|
283
438
|
*/
|
|
284
439
|
protected handleTreeSelectionChange(e: AXLookupTreeSelectionEvent): void;
|
|
440
|
+
/** Forwards native focus from the trigger input. */
|
|
441
|
+
protected emitOnFocus(e: FocusEvent): void;
|
|
442
|
+
/** Forwards native blur from the trigger input. */
|
|
443
|
+
protected emitOnBlur(e: FocusEvent): void;
|
|
285
444
|
/**
|
|
286
445
|
* Removes a single chip from the multi selection.
|
|
287
446
|
*/
|
|
288
447
|
protected removeChip(event: Event, item: AXLookupItem): void;
|
|
289
448
|
/**
|
|
290
449
|
* Clears the whole selection.
|
|
450
|
+
* Sets `null` in single modes and `[]` in multi modes. Used by projected `ax-clear-button`.
|
|
451
|
+
*
|
|
452
|
+
* @param isUserInteraction - Whether the clear was triggered by the user.
|
|
291
453
|
*/
|
|
292
|
-
|
|
454
|
+
reset(isUserInteraction?: boolean): void;
|
|
293
455
|
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; }; }, { "
|
|
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[]>;
|
|
323
|
-
/**
|
|
324
|
-
* The fixed row height in pixels used by the virtual scroll viewport.
|
|
325
|
-
*/
|
|
326
|
-
itemHeight: _angular_core.InputSignal<number>;
|
|
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.
|
|
345
|
-
*/
|
|
346
|
-
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
347
|
-
/** CDK virtual scroll adapter over the datasource. */
|
|
348
|
-
protected listDataSource: _angular_core.WritableSignal<AXListDataSource<AXLookupItem>>;
|
|
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>;
|
|
456
|
+
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; }; "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; }; }, { "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"], true, never>;
|
|
364
457
|
}
|
|
365
458
|
|
|
366
459
|
/**
|
|
@@ -428,20 +521,97 @@ declare class AXLookupDropDownTreeComponent {
|
|
|
428
521
|
|
|
429
522
|
/**
|
|
430
523
|
* Internal mini component for the `multi-column` lookup mode:
|
|
431
|
-
*
|
|
524
|
+
* renders selectable rows in an `ax-data-table` grid and loads further
|
|
525
|
+
* pages as the user scrolls (no pager UI).
|
|
432
526
|
*
|
|
433
527
|
* @category Components
|
|
434
528
|
*/
|
|
435
|
-
declare class AXLookupMultiColumnComponent
|
|
529
|
+
declare class AXLookupMultiColumnComponent {
|
|
530
|
+
#private;
|
|
531
|
+
/**
|
|
532
|
+
* The datasource providing the grid rows (paged, remote-capable).
|
|
533
|
+
* Pages are fetched on demand as the user scrolls the table body.
|
|
534
|
+
*/
|
|
535
|
+
dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
|
|
536
|
+
/**
|
|
537
|
+
* The item property used as the selection value.
|
|
538
|
+
*/
|
|
539
|
+
valueField: _angular_core.InputSignal<string>;
|
|
540
|
+
/**
|
|
541
|
+
* The item property used as the display text.
|
|
542
|
+
*/
|
|
543
|
+
textField: _angular_core.InputSignal<string>;
|
|
544
|
+
/**
|
|
545
|
+
* The item property marking an item as disabled.
|
|
546
|
+
*/
|
|
547
|
+
disabledField: _angular_core.InputSignal<string>;
|
|
548
|
+
/**
|
|
549
|
+
* Currently selected values (always an array, even for single selection).
|
|
550
|
+
*/
|
|
551
|
+
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
552
|
+
/**
|
|
553
|
+
* The fixed row height in pixels passed to the data table.
|
|
554
|
+
*/
|
|
555
|
+
itemHeight: _angular_core.InputSignal<number>;
|
|
436
556
|
/**
|
|
437
|
-
*
|
|
557
|
+
* The maximum number of body rows visible before the table scrolls.
|
|
558
|
+
*/
|
|
559
|
+
maxVisibleItems: _angular_core.InputSignal<number>;
|
|
560
|
+
/**
|
|
561
|
+
* Column definitions rendered as `ax-text-column` instances.
|
|
438
562
|
*/
|
|
439
563
|
columns: _angular_core.InputSignal<AXLookupColumn[]>;
|
|
440
|
-
/**
|
|
441
|
-
|
|
442
|
-
|
|
564
|
+
/**
|
|
565
|
+
* Optional custom row content. Context: `$implicit` is the row item.
|
|
566
|
+
* When set, replaces the default multi-column cell layout.
|
|
567
|
+
*/
|
|
568
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
569
|
+
/**
|
|
570
|
+
* Custom template rendered when the datasource has no items.
|
|
571
|
+
*/
|
|
572
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
573
|
+
/**
|
|
574
|
+
* Custom template rendered while the table is loading.
|
|
575
|
+
*/
|
|
576
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
577
|
+
/**
|
|
578
|
+
* When `true`, table rows use alternating background colors for easier scanning.
|
|
579
|
+
*/
|
|
580
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
581
|
+
/**
|
|
582
|
+
* Emitted when the user picks a row.
|
|
583
|
+
*/
|
|
584
|
+
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
585
|
+
protected tableRef: _angular_core.Signal<AXDataTableComponent>;
|
|
586
|
+
/**
|
|
587
|
+
* Local table source: one page of whatever has been scrolled in so far.
|
|
588
|
+
* Kept as a stable instance so the table host is not recreated on each page load.
|
|
589
|
+
* `pageSize` grows with `#loadedItems` — never seed with a huge empty array (data-table
|
|
590
|
+
* initializes `displayedRows` as `new Array(pageSize)`, which caused NG0955-level jank).
|
|
591
|
+
*/
|
|
592
|
+
protected readonly tableDataSource: AXDataSource<AXLookupItem>;
|
|
593
|
+
/**
|
|
594
|
+
* Header (~40px) + body rows. Grows with results up to `maxVisibleItems`,
|
|
595
|
+
* then the table body scrolls for the rest.
|
|
596
|
+
*/
|
|
597
|
+
protected tableHeight: _angular_core.Signal<number>;
|
|
598
|
+
protected loadingConfig: _angular_core.Signal<{
|
|
599
|
+
enabled: boolean;
|
|
600
|
+
animation: boolean;
|
|
601
|
+
loadingTemplate: TemplateRef<unknown>;
|
|
602
|
+
}>;
|
|
603
|
+
constructor();
|
|
604
|
+
/** Stable unique key for `@for` — avoids NG0955 when `field` is missing or duplicated. */
|
|
605
|
+
protected trackColumnKey(index: number, column: AXLookupColumn): string;
|
|
606
|
+
protected resolveColumnWidth(column: AXLookupColumn): string | number | 'auto';
|
|
607
|
+
protected resolveRowCssClass: (row: unknown) => string;
|
|
608
|
+
protected handleRowClick(event: AXDataTableRowClick): void;
|
|
609
|
+
protected handleItemClick(item: AXLookupItem | null | undefined): void;
|
|
610
|
+
protected isSelected(item: AXLookupItem): boolean;
|
|
611
|
+
protected isDisabled(item: AXLookupItem): boolean;
|
|
612
|
+
private getValue;
|
|
443
613
|
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>;
|
|
614
|
+
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
615
|
}
|
|
446
616
|
|
|
447
617
|
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;
|
|
@@ -12,7 +12,7 @@ import { Observable } from 'rxjs';
|
|
|
12
12
|
import * as i1 from '@angular/common';
|
|
13
13
|
import * as i3 from '@angular/forms';
|
|
14
14
|
import * as i4 from '@acorex/components/check-box';
|
|
15
|
-
import * as i5 from '@acorex/components/
|
|
15
|
+
import * as i5 from '@acorex/components/tag';
|
|
16
16
|
import * as i6 from '@acorex/components/decorators';
|
|
17
17
|
import * as i7 from '@acorex/core/translation';
|
|
18
18
|
import * as i8 from '@acorex/components/popover';
|
|
@@ -22,8 +22,10 @@ import * as i11 from '@acorex/components/text-box';
|
|
|
22
22
|
|
|
23
23
|
declare const AXSelectBoxComponent_base: polytype.Polytype.ClusteredConstructor<[typeof MXDropdownBoxBaseComponent, typeof MXSelectionValueComponent, typeof MXLookComponent]>;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* @deprecated Use `combo-box` when your data is a simple array. Use `lookup` when you need advanced features and `AXDataSource` support.
|
|
26
|
+
* This component is deprecated and no longer supported.
|
|
27
|
+
*
|
|
28
|
+
* @category Components
|
|
27
29
|
*/
|
|
28
30
|
declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements OnDestroy {
|
|
29
31
|
#private;
|
|
@@ -189,9 +191,13 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
|
|
|
189
191
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSelectBoxComponent, "ax-select-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "textTemplate": { "alias": "textTemplate"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "isItemTruncated": { "alias": "isItemTruncated"; "required": false; "isSignal": true; }; "showItemTooltip": { "alias": "showItemTooltip"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; }; "minRecordsForSearch": { "alias": "minRecordsForSearch"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "dropdownWidth": { "alias": "dropdownWidth"; "required": false; "isSignal": true; }; "searchBoxAutoFocus": { "alias": "searchBoxAutoFocus"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onOpened": "onOpened"; "onClosed": "onClosed"; "onItemSelected": "onItemSelected"; "onItemClick": "onItemClick"; }, ["searchBox"], ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-search-box", "ax-footer", "ax-validation-rule"], true, never>;
|
|
190
192
|
}
|
|
191
193
|
|
|
194
|
+
/**
|
|
195
|
+
* @deprecated Use `combo-box` when your data is a simple array. Use `lookup` when you need advanced features and `AXDataSource` support.
|
|
196
|
+
* This module is deprecated and no longer supported.
|
|
197
|
+
*/
|
|
192
198
|
declare class AXSelectBoxModule {
|
|
193
199
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSelectBoxModule, never>;
|
|
194
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXSelectBoxModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.FormsModule, typeof i4.AXCheckBoxModule, typeof i5.
|
|
200
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXSelectBoxModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.FormsModule, typeof i4.AXCheckBoxModule, typeof i5.AXTagModule, typeof i6.AXDecoratorModule, typeof i7.AXTranslationModule, typeof i8.AXPopoverModule, typeof i9.AXLoadingModule, typeof i10.A11yModule, typeof i11.AXTextBoxModule, typeof i12.AXDropdownModule, typeof i13.AXListModule, typeof AXSelectBoxComponent], [typeof AXSelectBoxComponent]>;
|
|
195
201
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXSelectBoxModule>;
|
|
196
202
|
}
|
|
197
203
|
|