@acorex/components 22.0.0-next.8 → 22.1.0-next.0

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 (52) hide show
  1. package/combo-box/README.md +26 -0
  2. package/fesm2022/acorex-components-calendar.mjs +10 -12
  3. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  4. package/fesm2022/acorex-components-combo-box.mjs +237 -0
  5. package/fesm2022/acorex-components-combo-box.mjs.map +1 -0
  6. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs +50 -0
  7. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map +1 -0
  8. package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs → acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs} +2 -2
  9. package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs.map → acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs.map} +1 -1
  10. package/fesm2022/acorex-components-conversation.mjs +2034 -7467
  11. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  12. package/fesm2022/acorex-components-data-table.mjs +135 -45
  13. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  14. package/fesm2022/acorex-components-datetime-box.mjs +14 -16
  15. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  16. package/fesm2022/acorex-components-datetime-input.mjs +61 -32
  17. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  18. package/fesm2022/acorex-components-dialog.mjs +3 -2
  19. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  20. package/fesm2022/acorex-components-file-viewer.mjs +38 -78
  21. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
  22. package/fesm2022/acorex-components-grid-layout-builder.mjs +238 -36
  23. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  24. package/fesm2022/acorex-components-list.mjs +2 -2
  25. package/fesm2022/acorex-components-list.mjs.map +1 -1
  26. package/fesm2022/acorex-components-lookup.mjs +1292 -0
  27. package/fesm2022/acorex-components-lookup.mjs.map +1 -0
  28. package/fesm2022/acorex-components-menu.mjs +211 -74
  29. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  30. package/fesm2022/acorex-components-number-box.mjs +30 -29
  31. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  32. package/fesm2022/acorex-components-scheduler.mjs +7 -17
  33. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  34. package/fesm2022/acorex-components-select-box.mjs +2 -2
  35. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  36. package/fesm2022/acorex-components-tag-box.mjs +2 -2
  37. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  38. package/lookup/README.md +47 -0
  39. package/package.json +11 -3
  40. package/types/acorex-components-combo-box.d.ts +114 -0
  41. package/types/acorex-components-conversation.d.ts +317 -94
  42. package/types/acorex-components-data-table.d.ts +35 -3
  43. package/types/acorex-components-datetime-box.d.ts +2 -0
  44. package/types/acorex-components-datetime-input.d.ts +24 -5
  45. package/types/acorex-components-file-viewer.d.ts +15 -52
  46. package/types/acorex-components-grid-layout-builder.d.ts +34 -2
  47. package/types/acorex-components-lookup.d.ts +454 -0
  48. package/types/acorex-components-menu.d.ts +26 -4
  49. package/types/acorex-components-number-box.d.ts +3 -1
  50. package/types/acorex-components-scheduler.d.ts +2 -4
  51. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs +0 -106
  52. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs.map +0 -1
@@ -0,0 +1,47 @@
1
+ # @acorex/components/lookup
2
+
3
+ An advanced drop-down (lookup) component with five modes, `AXDataSource` support, and virtual scrolling.
4
+
5
+ ## Modes
6
+
7
+ | Mode | Description |
8
+ | ------------------- | ------------------------------------------------------------------- |
9
+ | `drop-down-list` | A predefined list of options for picking single values. |
10
+ | `multi-select` | A predefined list of options for multiple item selection. |
11
+ | `drop-down-tree` | A tree-like structure for single item selection. |
12
+ | `multi-select-tree` | A tree-like structure for multiple item selection. |
13
+ | `multi-column` | A table-structured list for picking single values. |
14
+
15
+ ## Usage
16
+
17
+ ```ts
18
+ import { AXLookupComponent } from '@acorex/components/lookup';
19
+ import { AXDataSource } from '@acorex/cdk/common';
20
+ ```
21
+
22
+ ```html
23
+ <!-- DropDownList -->
24
+ <ax-lookup mode="drop-down-list" [dataSource]="items" [(value)]="selected" placeholder="Select..."></ax-lookup>
25
+
26
+ <!-- MultiSelect -->
27
+ <ax-lookup mode="multi-select" [dataSource]="items" [(value)]="selectedValues"></ax-lookup>
28
+
29
+ <!-- DropDownTree / MultiSelectTree -->
30
+ <ax-lookup mode="drop-down-tree" [treeDataSource]="nodes" textField="title" [(value)]="selectedNode"></ax-lookup>
31
+ <ax-lookup mode="multi-select-tree" [treeDataSource]="nodes" textField="title" [(value)]="selectedNodes"></ax-lookup>
32
+
33
+ <!-- MultiColumnComboBox -->
34
+ <ax-lookup mode="multi-column" [dataSource]="items" [columns]="columns" [(value)]="selected"></ax-lookup>
35
+ ```
36
+
37
+ - `dataSource`: `AXDataSource` or a plain array (list and multi-column modes). Supports remote paging, `byKey` value resolution, and server-side filtering.
38
+ - `treeDataSource`: node array or lazy children callback (tree modes).
39
+ - `valueField` / `textField` / `disabledField`: field mappings. For tree modes these map to the tree `idField` / `titleField`.
40
+ - `columns`: column definitions (`{ field, title, width? }`) for `multi-column` mode.
41
+ - `searchable`: when `true` (default), the trigger accepts typing and filters the list (`drop-down-list`, `multi-select`, `multi-column`). When `false`, the trigger is select-only. Tree modes have no search UI.
42
+ - `searchPlaceholder`: placeholder for the multi-select trigger search input when chips are already selected.
43
+ - `itemHeight` / `maxVisibleItems`: virtual scroll sizing.
44
+ - `look`: the same editor-container look schemes as other editors like `ax-text-box`.
45
+ - `ax-prefix` / `ax-suffix`: project decorators into the editor container.
46
+
47
+ Each mode is rendered by its own internal mini component (`ax-lookup-drop-down-list`, `ax-lookup-multi-select`, `ax-lookup-drop-down-tree`, `ax-lookup-multi-select-tree`, `ax-lookup-multi-column`), all exported for direct use.
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "22.0.0-next.8",
3
+ "version": "22.1.0-next.0",
4
4
  "peerDependencies": {
5
- "@acorex/core": "22.0.0-next.8",
6
- "@acorex/cdk": "22.0.0-next.8",
5
+ "@acorex/core": "22.1.0-next.0",
6
+ "@acorex/cdk": "22.1.0-next.0",
7
7
  "polytype": ">=0.17.0",
8
8
  "angular-imask": ">=7.6.1",
9
9
  "imask": ">=7.6.1",
@@ -134,6 +134,10 @@
134
134
  "types": "./types/acorex-components-color-palette.d.ts",
135
135
  "default": "./fesm2022/acorex-components-color-palette.mjs"
136
136
  },
137
+ "./combo-box": {
138
+ "types": "./types/acorex-components-combo-box.d.ts",
139
+ "default": "./fesm2022/acorex-components-combo-box.mjs"
140
+ },
137
141
  "./command": {
138
142
  "types": "./types/acorex-components-command.d.ts",
139
143
  "default": "./fesm2022/acorex-components-command.mjs"
@@ -254,6 +258,10 @@
254
258
  "types": "./types/acorex-components-loading-dialog.d.ts",
255
259
  "default": "./fesm2022/acorex-components-loading-dialog.mjs"
256
260
  },
261
+ "./lookup": {
262
+ "types": "./types/acorex-components-lookup.d.ts",
263
+ "default": "./fesm2022/acorex-components-lookup.mjs"
264
+ },
257
265
  "./map": {
258
266
  "types": "./types/acorex-components-map.d.ts",
259
267
  "default": "./fesm2022/acorex-components-map.mjs"
@@ -0,0 +1,114 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { NXComponent, AXStyleLookType, AXValueChangedEvent, AXEvent } from '@acorex/cdk/common';
3
+ import { AXPopoverComponent } from '@acorex/components/popover';
4
+ import { Combobox } from '@angular/aria/combobox';
5
+ import { Listbox } from '@angular/aria/listbox';
6
+
7
+ /**
8
+ * An item in the combo box list.
9
+ *
10
+ * - `id` — unique key used for filtering/search and list identity
11
+ * - `text` — label shown in the list and in the trigger/input
12
+ * - `value` — value written to the component model when the item is selected
13
+ */
14
+ interface AXComboBoxItem {
15
+ id: string;
16
+ text: string;
17
+ value: string | number;
18
+ }
19
+
20
+ /**
21
+ * A minimal combo box for selecting a single value from a list of items.
22
+ *
23
+ * Built on top of the `@angular/aria/combobox` directives, it supports two behaviors:
24
+ * - `searchable="true"` (default): an input with typeahead filtering (matches `id`).
25
+ * - `searchable="false"`: a select-like trigger (same input, read-only).
26
+ *
27
+ * Items use `text` for display, `id` for search/identity, and `value` as the submitted model value.
28
+ *
29
+ * @category Components
30
+ */
31
+ declare class AXComboBoxComponent extends NXComponent {
32
+ #private;
33
+ /**
34
+ * The list of items the user can select from.
35
+ * Each item has `id` (search/identity), `text` (display), and `value` (submitted).
36
+ */
37
+ items: _angular_core.InputSignal<AXComboBoxItem[]>;
38
+ /**
39
+ * Whether the combo box accepts typing and filters the list (`true`),
40
+ * or is a select-like, read-only trigger (`false`).
41
+ */
42
+ searchable: _angular_core.InputSignal<boolean>;
43
+ /**
44
+ * The placeholder text shown when no value is selected.
45
+ */
46
+ placeholder: _angular_core.InputSignal<string>;
47
+ /**
48
+ * Whether the combo box is disabled.
49
+ */
50
+ disabled: _angular_core.ModelSignal<boolean>;
51
+ /**
52
+ * Whether the combo box is readonly.
53
+ */
54
+ readonly: _angular_core.ModelSignal<boolean>;
55
+ /**
56
+ * Predefined look scheme of the editor container. Same looks as other editor components like ax-text-box.
57
+ */
58
+ look: _angular_core.ModelSignal<AXStyleLookType>;
59
+ /**
60
+ * The selected item's `value`. Supports two-way binding.
61
+ */
62
+ value: _angular_core.ModelSignal<string | number>;
63
+ /**
64
+ * Emitted when the selected value changes.
65
+ */
66
+ onValueChanged: _angular_core.OutputEmitterRef<AXValueChangedEvent<string | number>>;
67
+ /**
68
+ * Emitted when the popup list opens.
69
+ */
70
+ onOpened: _angular_core.OutputEmitterRef<AXEvent>;
71
+ /**
72
+ * Emitted when the popup list closes.
73
+ */
74
+ onClosed: _angular_core.OutputEmitterRef<AXEvent>;
75
+ /** Whether the popup is expanded. */
76
+ protected expanded: _angular_core.WritableSignal<boolean>;
77
+ /** The item whose `value` matches the current model value. */
78
+ protected selectedItem: _angular_core.Signal<AXComboBoxItem>;
79
+ /** Display text shown in the trigger / used as the searchable input baseline. */
80
+ protected displayText: _angular_core.Signal<string>;
81
+ /** The text typed in the searchable input. Resets to the selected item's text. */
82
+ protected searchText: _angular_core.WritableSignal<string>;
83
+ /** The listbox selection (item ids), kept in sync with the selected value. */
84
+ protected selection: _angular_core.WritableSignal<string[]>;
85
+ /** Items filtered by typed query against `id` when the combo box is searchable. */
86
+ protected filteredItems: _angular_core.Signal<AXComboBoxItem[]>;
87
+ protected comboboxRef: _angular_core.Signal<Combobox>;
88
+ protected listboxRef: _angular_core.Signal<Listbox<any>>;
89
+ protected popoverRef: _angular_core.Signal<AXPopoverComponent>;
90
+ constructor();
91
+ /**
92
+ * Opens (searchable) or toggles (non-searchable) the popup on trigger click.
93
+ */
94
+ protected onTriggerClick(): void;
95
+ /**
96
+ * Keeps the combobox expanded state in sync when the popover closes (e.g. click outside).
97
+ */
98
+ protected onPopoverClosed(): void;
99
+ /**
100
+ * Commits the current listbox selection as the component value and closes the popup.
101
+ */
102
+ protected commit(): void;
103
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComboBoxComponent, never>;
104
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXComboBoxComponent, "ax-combo-box", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "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; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "readonly": "readonlyChange"; "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-suffix"], true, never>;
105
+ }
106
+
107
+ declare class AXComboBoxModule {
108
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComboBoxModule, never>;
109
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXComboBoxModule, never, [typeof AXComboBoxComponent], [typeof AXComboBoxComponent]>;
110
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXComboBoxModule>;
111
+ }
112
+
113
+ export { AXComboBoxComponent, AXComboBoxModule };
114
+ export type { AXComboBoxItem };