@acorex/components 22.1.0-next.2 → 22.1.0-next.21

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 (60) hide show
  1. package/fesm2022/acorex-components-accordion.mjs +2 -2
  2. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  3. package/fesm2022/acorex-components-button.mjs +2 -2
  4. package/fesm2022/acorex-components-button.mjs.map +1 -1
  5. package/fesm2022/acorex-components-check-box.mjs +2 -2
  6. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  7. package/fesm2022/acorex-components-combo-box.mjs +114 -20
  8. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  9. package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs → acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs} +6 -19
  10. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs.map +1 -0
  11. package/fesm2022/acorex-components-conversation.mjs +7299 -9510
  12. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  13. package/fesm2022/acorex-components-data-table.mjs +33 -18
  14. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  15. package/fesm2022/acorex-components-dropdown.mjs +2 -2
  16. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  17. package/fesm2022/acorex-components-form.mjs +21 -5
  18. package/fesm2022/acorex-components-form.mjs.map +1 -1
  19. package/fesm2022/acorex-components-label.mjs +2 -2
  20. package/fesm2022/acorex-components-label.mjs.map +1 -1
  21. package/fesm2022/acorex-components-list.mjs +2 -2
  22. package/fesm2022/acorex-components-list.mjs.map +1 -1
  23. package/fesm2022/acorex-components-loading-dialog.mjs +59 -42
  24. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  25. package/fesm2022/acorex-components-lookup.mjs +765 -98
  26. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  27. package/fesm2022/acorex-components-notification.mjs +4 -6
  28. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  29. package/fesm2022/acorex-components-password-box.mjs +2 -2
  30. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  31. package/fesm2022/acorex-components-popover.mjs +22 -0
  32. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  33. package/fesm2022/acorex-components-radio.mjs +2 -2
  34. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  35. package/fesm2022/acorex-components-range-slider.mjs +2 -2
  36. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  37. package/fesm2022/acorex-components-select-box.mjs +38 -11
  38. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  39. package/fesm2022/acorex-components-selection-list.mjs +2 -2
  40. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  41. package/fesm2022/acorex-components-switch.mjs +2 -2
  42. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  43. package/fesm2022/acorex-components-tabs.mjs +2 -2
  44. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  45. package/fesm2022/acorex-components-tag-box.mjs +2 -2
  46. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  47. package/lookup/README.md +29 -7
  48. package/package.json +4 -7
  49. package/types/acorex-components-combo-box.d.ts +38 -8
  50. package/types/acorex-components-conversation.d.ts +543 -1019
  51. package/types/acorex-components-data-table.d.ts +3 -2
  52. package/types/acorex-components-loading-dialog.d.ts +12 -4
  53. package/types/acorex-components-lookup.d.ts +181 -21
  54. package/types/acorex-components-popover.d.ts +6 -0
  55. package/types/acorex-components-select-box.d.ts +11 -0
  56. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs.map +0 -1
  57. package/fesm2022/acorex-components-selection-list-2.mjs +0 -168
  58. package/fesm2022/acorex-components-selection-list-2.mjs.map +0 -1
  59. package/selection-list-2/README.md +0 -3
  60. package/types/acorex-components-selection-list-2.d.ts +0 -52
@@ -1,7 +1,8 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { TemplateRef } from '@angular/core';
3
- import { NXComponent, AXStyleLookType, AXValueChangedEvent, AXFocusEvent, AXItemClickEvent, AXItemSelectedEvent, AXEvent } from '@acorex/cdk/common';
3
+ import { NXValueComponent, AXStyleLookType, AXValueChangedEvent, AXFocusEvent, AXItemClickEvent, AXItemSelectedEvent, AXEvent } from '@acorex/cdk/common';
4
4
  import { AXPopoverComponent } from '@acorex/components/popover';
5
+ import { AXSearchBoxComponent } from '@acorex/components/search-box';
5
6
  import { Combobox } from '@angular/aria/combobox';
6
7
  import { Listbox } from '@angular/aria/listbox';
7
8
  import { FormValueControl } from '@angular/forms/signals';
@@ -28,7 +29,8 @@ type AXComboBoxValue = string | number | (string | number)[] | null;
28
29
  * A minimal combo box for selecting one or more values from a list of items.
29
30
  *
30
31
  * Built on top of the `@angular/aria/combobox` directives, it supports two behaviors:
31
- * - `searchable="true"` (default): an input with typeahead filtering (matches `id`).
32
+ * - `searchable="true"` (default): an input with typeahead filtering (matches `id`). On small
33
+ * screens with `adaptivityEnabled`, the trigger is select-like and search moves into the actionsheet.
32
34
  * - `searchable="false"`: a select-like, non-editable trigger (same input; typing blocked without
33
35
  * Combobox `readonly`, so Tab focus and keyboard open/select keep working).
34
36
  *
@@ -44,8 +46,12 @@ type AXComboBoxValue = string | number | (string | number)[] | null;
44
46
  *
45
47
  * @category Components
46
48
  */
47
- declare class AXComboBoxComponent extends NXComponent implements FormValueControl<AXComboBoxValue> {
49
+ declare class AXComboBoxComponent extends NXValueComponent implements FormValueControl<AXComboBoxValue> {
48
50
  #private;
51
+ /**
52
+ * The name of the form field, used by validation rules and `ax-form.validate(names)`.
53
+ */
54
+ name: _angular_core.InputSignal<string>;
49
55
  /**
50
56
  * The list of items the user can select from.
51
57
  * Each item has `id` (search/identity), `text` (display), and `value` (submitted).
@@ -54,6 +60,7 @@ declare class AXComboBoxComponent extends NXComponent implements FormValueContro
54
60
  /**
55
61
  * Whether the combo box accepts typing and filters the list (`true`),
56
62
  * or is a select-like, non-editable trigger (`false`).
63
+ * On small screens with `adaptivityEnabled`, search is typed in the actionsheet instead of the trigger.
57
64
  */
58
65
  searchable: _angular_core.InputSignal<boolean>;
59
66
  /**
@@ -63,7 +70,8 @@ declare class AXComboBoxComponent extends NXComponent implements FormValueContro
63
70
  multiple: _angular_core.InputSignal<boolean>;
64
71
  /**
65
72
  * When `true` (default), the popup list uses the alternate actionsheet presentation on small
66
- * screens (`SM`). When `false`, the list always opens as an anchored dropdown.
73
+ * screens (`SM`). Searchable mode then shows a search field inside the sheet. When `false`,
74
+ * the list always opens as an anchored dropdown.
67
75
  */
68
76
  adaptivityEnabled: _angular_core.InputSignal<boolean>;
69
77
  /**
@@ -79,8 +87,9 @@ declare class AXComboBoxComponent extends NXComponent implements FormValueContro
79
87
  */
80
88
  placeholder: _angular_core.InputSignal<string>;
81
89
  /**
82
- * Placeholder for the trigger search input when items are already selected (multi-select).
83
- * Falls back to `placeholder` when the selection is empty.
90
+ * Placeholder for the trigger search input when items are already selected (multi-select),
91
+ * and for the in-sheet search field on small screens. Falls back to `placeholder` when the
92
+ * selection is empty on desktop.
84
93
  */
85
94
  searchPlaceholder: _angular_core.InputSignal<string>;
86
95
  /**
@@ -150,6 +159,12 @@ declare class AXComboBoxComponent extends NXComponent implements FormValueContro
150
159
  protected expanded: _angular_core.WritableSignal<boolean>;
151
160
  /** Whether the list is currently shown as a bottom actionsheet (small screens + adaptivity). */
152
161
  protected isActionsheetStyle: _angular_core.WritableSignal<boolean>;
162
+ /** Whether the trigger input is writable and filters as you type (desktop searchable only). */
163
+ protected isEditableTrigger: _angular_core.Signal<boolean>;
164
+ /** Whether search is typed in the actionsheet instead of the trigger. */
165
+ protected isSheetSearchEnabled: _angular_core.Signal<boolean>;
166
+ /** Query typed in the actionsheet search field (independent of the trigger display text). */
167
+ protected sheetSearchText: _angular_core.WritableSignal<string>;
153
168
  /** The current selection normalized to an array of submitted values. */
154
169
  protected selectedValues: _angular_core.Signal<(string | number)[]>;
155
170
  /** Whether there is at least one selected value. */
@@ -173,9 +188,12 @@ declare class AXComboBoxComponent extends NXComponent implements FormValueContro
173
188
  protected selection: _angular_core.WritableSignal<string[]>;
174
189
  /** Items filtered by typed query against `id` when the combo box is searchable. */
175
190
  protected filteredItems: _angular_core.Signal<AXComboBoxItem[]>;
191
+ /** Whether the filtered list is empty (empty-state vs hidden listbox). */
192
+ protected hasNoMatches: _angular_core.Signal<boolean>;
176
193
  protected comboboxRef: _angular_core.Signal<Combobox>;
177
194
  protected listboxRef: _angular_core.Signal<Listbox<any>>;
178
195
  protected popoverRef: _angular_core.Signal<AXPopoverComponent>;
196
+ protected sheetSearchRef: _angular_core.Signal<AXSearchBoxComponent>;
179
197
  constructor();
180
198
  /** Stable unique key for `@for` — avoids NG0955 when `id` is missing or duplicated. */
181
199
  protected trackItemKey(index: number, item: AXComboBoxItem): string;
@@ -191,8 +209,16 @@ declare class AXComboBoxComponent extends NXComponent implements FormValueContro
191
209
  * - Multi-select: Backspace removes the last chip when the search input is empty.
192
210
  */
193
211
  protected onTriggerKeydown(event: KeyboardEvent): void;
194
- /** Blocks typing in non-searchable mode without Combobox `readonly` (keeps Tab/keyboard working). */
212
+ /** Blocks typing when the trigger is not editable (keeps Tab / keyboard open working). */
195
213
  protected onBeforeInput(event: Event): void;
214
+ /**
215
+ * Combobox `expanded` two-way binding. On actionsheet with in-sheet search, ignore collapse
216
+ * so focusing the search field (Aria combobox blur) does not close the popup. Dismiss is owned
217
+ * by the popover (`clickOut`, close button), `commit()`, and Escape.
218
+ */
219
+ protected onExpandedChange(open: boolean): void;
220
+ /** Filters the list from the actionsheet search field (reads the input so delayed ngModel cannot block typing). */
221
+ protected onSheetSearchInput(): void;
196
222
  /**
197
223
  * Keeps the combobox expanded state in sync when the popover closes (e.g. click outside).
198
224
  */
@@ -225,12 +251,16 @@ declare class AXComboBoxComponent extends NXComponent implements FormValueContro
225
251
  * In multi-select mode the item is toggled and the popup stays open.
226
252
  */
227
253
  protected commit(event?: Event): void;
254
+ /**
255
+ * Focuses the combo box trigger input.
256
+ */
257
+ focus(options?: FocusOptions): void;
228
258
  /** Forwards native focus from the trigger input. */
229
259
  protected emitOnFocus(e: FocusEvent): void;
230
260
  /** Forwards native blur from the trigger input. */
231
261
  protected emitOnBlur(e: FocusEvent): void;
232
262
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComboBoxComponent, never>;
233
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXComboBoxComponent, "ax-combo-box", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "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; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "selectedTemplate": { "alias": "selectedTemplate"; "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; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "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>;
263
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXComboBoxComponent, "ax-combo-box", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "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; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "selectedTemplate": { "alias": "selectedTemplate"; "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; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onItemClick": "onItemClick"; "onItemSelected": "onItemSelected"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-header", "ax-footer", "ax-validation-rule"], true, never>;
234
264
  }
235
265
 
236
266
  declare class AXComboBoxModule {