@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.
Files changed (59) hide show
  1. package/combo-box/README.md +12 -3
  2. package/fesm2022/acorex-components-action-sheet.mjs +1 -0
  3. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  4. package/fesm2022/acorex-components-button.mjs +2 -2
  5. package/fesm2022/acorex-components-button.mjs.map +1 -1
  6. package/fesm2022/acorex-components-combo-box.mjs +372 -30
  7. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  8. package/fesm2022/acorex-components-conversation.mjs +2 -2
  9. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  10. package/fesm2022/acorex-components-decorators.mjs +19 -3
  11. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  12. package/fesm2022/acorex-components-dialog.mjs +4 -2
  13. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  14. package/fesm2022/acorex-components-drawer.mjs +2 -2
  15. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  16. package/fesm2022/acorex-components-dropdown.mjs +4 -4
  17. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  18. package/fesm2022/acorex-components-fab.mjs +2 -2
  19. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  20. package/fesm2022/acorex-components-list.mjs +2 -2
  21. package/fesm2022/acorex-components-list.mjs.map +1 -1
  22. package/fesm2022/acorex-components-lookup.mjs +724 -175
  23. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  24. package/fesm2022/acorex-components-map.mjs +2 -2
  25. package/fesm2022/acorex-components-map.mjs.map +1 -1
  26. package/fesm2022/acorex-components-menu.mjs +26 -6
  27. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  28. package/fesm2022/acorex-components-notification.mjs +9 -2
  29. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  30. package/fesm2022/acorex-components-password-box.mjs +1 -1
  31. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  32. package/fesm2022/acorex-components-popover.mjs +7 -6
  33. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  34. package/fesm2022/acorex-components-popup.mjs +4 -2
  35. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  36. package/fesm2022/acorex-components-scheduler.mjs +6 -6
  37. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  38. package/fesm2022/acorex-components-select-box.mjs +19 -9
  39. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  40. package/fesm2022/acorex-components-text-area.mjs +2 -2
  41. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  42. package/fesm2022/acorex-components-toast.mjs +9 -2
  43. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  44. package/fesm2022/acorex-components-tooltip.mjs +2 -2
  45. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  46. package/lookup/README.md +13 -8
  47. package/package.json +3 -3
  48. package/select-box/README.md +5 -0
  49. package/types/acorex-components-action-sheet.d.ts +9 -1
  50. package/types/acorex-components-combo-box.d.ts +147 -18
  51. package/types/acorex-components-decorators.d.ts +1 -0
  52. package/types/acorex-components-dialog.d.ts +9 -0
  53. package/types/acorex-components-lookup.d.ts +260 -90
  54. package/types/acorex-components-menu.d.ts +2 -0
  55. package/types/acorex-components-notification.d.ts +11 -1
  56. package/types/acorex-components-popover.d.ts +4 -1
  57. package/types/acorex-components-popup.d.ts +9 -1
  58. package/types/acorex-components-select-box.d.ts +10 -4
  59. 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, NXComponent, AXDataSource, AXStyleLookType, AXValueChangedEvent, AXListDataSource } from '@acorex/cdk/common';
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 CSS grid track size (e.g. `120px`, `1fr`, `minmax(80px, 1fr)`). Defaults to `1fr`.
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` — a table-structured list; when searchable, the trigger input filters as you type.
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.ModelSignal<boolean>;
273
+ readonly disabled: _angular_core.InputSignal<boolean>;
166
274
  /**
167
275
  * Whether the lookup is readonly.
168
276
  */
169
- readonly: _angular_core.ModelSignal<boolean>;
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 two-way binding.
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
- protected clearAll(event: Event): void;
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; }; }, { "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[]>;
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
- * a table-structured, virtualized list with a sticky header row.
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 extends AXLookupListViewBase {
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
- * Column definitions rendered as a sticky header plus one grid cell per row.
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
- /** CSS grid track list built from the column widths. */
441
- protected gridTemplate: _angular_core.Signal<string>;
442
- protected getCellText(item: AXLookupItem, column: AXLookupColumn): string;
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/badge';
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
- * The Button is a component which detects user interaction and triggers a corresponding event
26
- * @category
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.AXBadgeModule, 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]>;
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