@acorex/components 22.1.7 → 22.2.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 (88) 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-group.mjs +12 -5
  4. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  5. package/fesm2022/acorex-components-button.mjs +2 -2
  6. package/fesm2022/acorex-components-button.mjs.map +1 -1
  7. package/fesm2022/acorex-components-combo-box.mjs +109 -16
  8. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  9. package/fesm2022/{acorex-components-conversation-acorex-components-conversation-EiqMwr9v.mjs → acorex-components-conversation-acorex-components-conversation-CVgneI8Q.mjs} +1680 -877
  10. package/fesm2022/acorex-components-conversation-acorex-components-conversation-CVgneI8Q.mjs.map +1 -0
  11. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs +50 -0
  12. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs.map +1 -0
  13. package/fesm2022/{acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs → acorex-components-conversation-image-picker-editor-dialog.component-AO1evM19.mjs} +4 -4
  14. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-AO1evM19.mjs.map +1 -0
  15. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DuRLMEa3.mjs → acorex-components-conversation-picker-rename-file-dialog.component-Vc1R5AFc.mjs} +3 -3
  16. package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DuRLMEa3.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-Vc1R5AFc.mjs.map} +1 -1
  17. package/fesm2022/acorex-components-conversation.mjs +1 -1
  18. package/fesm2022/acorex-components-data-pager.mjs +4 -4
  19. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  20. package/fesm2022/acorex-components-data-table.mjs +34 -10
  21. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  22. package/fesm2022/acorex-components-datetime-picker.mjs +1 -1
  23. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  24. package/fesm2022/acorex-components-dialog.mjs +1 -1
  25. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  26. package/fesm2022/acorex-components-dropdown-button.mjs +1 -1
  27. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  28. package/fesm2022/acorex-components-fab.mjs +2 -2
  29. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  30. package/fesm2022/acorex-components-file-viewer.mjs +29 -11
  31. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
  32. package/fesm2022/acorex-components-flow-chart.mjs +1 -1
  33. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  34. package/fesm2022/acorex-components-form.mjs +1 -1
  35. package/fesm2022/acorex-components-form.mjs.map +1 -1
  36. package/fesm2022/acorex-components-highlight.mjs +80 -0
  37. package/fesm2022/acorex-components-highlight.mjs.map +1 -0
  38. package/fesm2022/acorex-components-image-editor.mjs +7 -7
  39. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  40. package/fesm2022/acorex-components-kanban.mjs +1 -1
  41. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  42. package/fesm2022/acorex-components-loading-dialog.mjs +1 -1
  43. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  44. package/fesm2022/acorex-components-lookup.mjs +310 -48
  45. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  46. package/fesm2022/acorex-components-notification.mjs +1 -1
  47. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  48. package/fesm2022/acorex-components-paint.mjs +1 -1
  49. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  50. package/fesm2022/acorex-components-popup.mjs +1 -1
  51. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  52. package/fesm2022/acorex-components-query-builder.mjs +1 -1
  53. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  54. package/fesm2022/acorex-components-rest-api-generator.mjs +4 -4
  55. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  56. package/fesm2022/acorex-components-rrule.mjs +1 -1
  57. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  58. package/fesm2022/acorex-components-scheduler-picker.mjs +5 -5
  59. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  60. package/fesm2022/acorex-components-scheduler.mjs +1 -1
  61. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  62. package/fesm2022/acorex-components-selection-list.mjs +1 -2
  63. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  64. package/fesm2022/acorex-components-tabs.mjs +143 -43
  65. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  66. package/fesm2022/acorex-components-tree-view.mjs +2 -2
  67. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  68. package/fesm2022/acorex-components-wysiwyg.mjs +76 -6
  69. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  70. package/highlight/README.md +13 -0
  71. package/package.json +7 -3
  72. package/types/acorex-components-button-group.d.ts +4 -0
  73. package/types/acorex-components-button.d.ts +1 -1
  74. package/types/acorex-components-combo-box.d.ts +15 -0
  75. package/types/acorex-components-conversation.d.ts +135 -126
  76. package/types/acorex-components-data-table.d.ts +6 -1
  77. package/types/acorex-components-file-viewer.d.ts +1 -0
  78. package/types/acorex-components-highlight.d.ts +31 -0
  79. package/types/acorex-components-lookup.d.ts +20 -1
  80. package/types/acorex-components-selection-list.d.ts +1 -1
  81. package/types/acorex-components-tabs.d.ts +13 -0
  82. package/types/acorex-components-wysiwyg.d.ts +13 -0
  83. package/fesm2022/acorex-components-conversation-acorex-components-conversation-EiqMwr9v.mjs.map +0 -1
  84. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs +0 -51
  85. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs.map +0 -1
  86. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs.map +0 -1
  87. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-C7BnTUw2.mjs +0 -210
  88. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-C7BnTUw2.mjs.map +0 -1
@@ -0,0 +1,31 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AXHighlightOptions, AXHighlightSegment } from '@acorex/core/utils';
3
+ import { SafeHtml } from '@angular/platform-browser';
4
+
5
+ /**
6
+ * Renders text with search-term matches wrapped in `.ax-highlight` spans.
7
+ *
8
+ * Uses a single innerHTML string so Angular control-flow whitespace cannot insert
9
+ * gaps between highlighted and non-highlighted characters.
10
+ *
11
+ * Does not use the `ax-highlight-text` class on the host — that class is reserved for
12
+ * {@link AXHighlightService} DOM wrappers.
13
+ */
14
+ declare class AXHighlightTextComponent {
15
+ #private;
16
+ private readonly sanitizer;
17
+ /** The full text to render. */
18
+ readonly text: _angular_core.InputSignal<string>;
19
+ /** The search term or terms to highlight within the text. */
20
+ readonly query: _angular_core.InputSignal<string | readonly string[]>;
21
+ /** When true, highlighting is disabled and plain text is shown. */
22
+ readonly highlightDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
23
+ /** Optional highlight behavior configuration. */
24
+ readonly highlightOptions: _angular_core.InputSignal<AXHighlightOptions>;
25
+ protected readonly segments: _angular_core.Signal<AXHighlightSegment[]>;
26
+ protected readonly highlightedHtml: _angular_core.Signal<SafeHtml>;
27
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXHighlightTextComponent, never>;
28
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXHighlightTextComponent, "ax-highlight-text", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "query": { "alias": "query"; "required": false; "isSignal": true; }; "highlightDisabled": { "alias": "highlightDisabled"; "required": false; "isSignal": true; }; "highlightOptions": { "alias": "highlightOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
29
+ }
30
+
31
+ export { AXHighlightTextComponent };
@@ -64,6 +64,8 @@ interface AXLookupSelectionChangedEvent<TItem = any> extends AXEvent {
64
64
  * @category Components
65
65
  */
66
66
  declare class AXLookupDropDownTreeComponent {
67
+ #private;
68
+ constructor();
67
69
  /**
68
70
  * The tree datasource: an array of nodes or a lazy children callback.
69
71
  */
@@ -201,7 +203,7 @@ declare abstract class AXLookupListViewBase {
201
203
  protected listNavigation: _angular_core.Signal<AXListNavigationDirective>;
202
204
  protected navItems: _angular_core.Signal<readonly AXListNavigationItemDirective[]>;
203
205
  constructor();
204
- /** Moves keyboard focus to the first rendered list option. */
206
+ /** Moves keyboard focus to the selected list option, or the first option when none is selected. */
205
207
  focusFirst(): void;
206
208
  protected getValue(item: AXLookupItem): unknown;
207
209
  protected getText(item: AXLookupItem): string;
@@ -235,6 +237,8 @@ interface AXLookupTreeSelectionEvent {
235
237
  * @category Components
236
238
  */
237
239
  declare class AXLookupMultiSelectTreeComponent {
240
+ #private;
241
+ constructor();
238
242
  /**
239
243
  * The tree datasource: an array of nodes or a lazy children callback.
240
244
  */
@@ -385,6 +389,7 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
385
389
  adaptivityEnabled: _angular_core.InputSignal<boolean>;
386
390
  /**
387
391
  * Title shown in the actionsheet header on small screens. Falls back to `placeholder`.
392
+ * Supports i18n expressions (e.g. `@acorex:selectbox.popover.title`).
388
393
  */
389
394
  caption: _angular_core.InputSignal<string>;
390
395
  /**
@@ -396,12 +401,18 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
396
401
  * Placeholder for the trigger search input when items are already selected
397
402
  * (mainly useful in `multi-select` / `multi-select-tree`), and for the in-sheet search field on small screens.
398
403
  * Falls back to `placeholder` when the selection is empty on desktop.
404
+ * Supports i18n expressions (e.g. `@acorex:common.actions.search`).
399
405
  */
400
406
  searchPlaceholder: _angular_core.InputSignal<string>;
401
407
  /**
402
408
  * The placeholder text shown when no value is selected.
409
+ * Supports i18n expressions (e.g. `@acorex:chat.placeholders.select-conversation`).
403
410
  */
404
411
  placeholder: _angular_core.InputSignal<string>;
412
+ /** Resolved `placeholder` (i18n-aware). */
413
+ protected translatedPlaceholder: _angular_core.Signal<string>;
414
+ /** Resolved `searchPlaceholder` (i18n-aware). */
415
+ protected translatedSearchPlaceholder: _angular_core.Signal<string>;
405
416
  /**
406
417
  * Whether the lookup is disabled.
407
418
  */
@@ -523,6 +534,12 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
523
534
  protected selectedItems: _angular_core.WritableSignal<AXLookupItem[]>;
524
535
  /** Display text shown in the trigger for single modes. */
525
536
  protected displayText: _angular_core.Signal<string>;
537
+ /** Resolved display text for the trigger input (i18n-aware). */
538
+ protected translatedDisplayText: _angular_core.Signal<string>;
539
+ /** Actionsheet header title with i18n fallback chain. */
540
+ protected actionsheetTitleSource: _angular_core.Signal<string>;
541
+ /** Resolved actionsheet title (i18n-aware). */
542
+ protected actionsheetTitle: _angular_core.Signal<string>;
526
543
  /**
527
544
  * Text typed in the editable trigger input.
528
545
  * Multi-select starts empty; single modes sync from the selected display text.
@@ -764,6 +781,8 @@ declare class AXLookupMultiColumnComponent {
764
781
  * @category Components
765
782
  */
766
783
  declare class AXLookupMultiColumnTreeComponent {
784
+ #private;
785
+ constructor();
767
786
  /**
768
787
  * The datasource providing hierarchical rows (roots on load, children via `parentField`).
769
788
  */
@@ -80,7 +80,7 @@ declare class AXSelectionListComponent extends MXSelectionValueComponent {
80
80
  /** @ignore */
81
81
  private get __hostClass();
82
82
  static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectionListComponent, never>;
83
- static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectionListComponent, "ax-selection-list", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "readonlyField": { "alias": "readonlyField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "showControl": { "alias": "showControl"; "required": false; }; "items": { "alias": "items"; "required": false; }; "look": { "alias": "look"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["ax-validation-rule"], true, never>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectionListComponent, "ax-selection-list", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "readonlyField": { "alias": "readonlyField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "showControl": { "alias": "showControl"; "required": false; }; "items": { "alias": "items"; "required": false; }; "look": { "alias": "look"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["ax-validation-rule"], true, never>;
84
84
  }
85
85
 
86
86
  declare class AXSelectionListModule {
@@ -23,6 +23,7 @@ declare class AXTabContentDirective {
23
23
  declare class AXTabItemComponent extends MXInteractiveComponent {
24
24
  private readonly _drag;
25
25
  private _reorderEnabled;
26
+ private _panTouchAction;
26
27
  /**
27
28
  * Defines the text content to be displayed within the component.
28
29
  */
@@ -58,6 +59,8 @@ declare class AXTabItemComponent extends MXInteractiveComponent {
58
59
  setReorderEnabled(enabled: boolean, delay?: number, touchAction?: 'none' | 'pan-x' | 'pan-y'): void;
59
60
  /** @ignore */
60
61
  private updateDragState;
62
+ /** @ignore */
63
+ private applyScrollTouchAction;
61
64
  /**
62
65
  * @ignore
63
66
  */
@@ -101,6 +104,7 @@ type AXTabLocation = 'top' | 'bottom' | 'start' | 'end';
101
104
  declare class AXTabsComponent extends MXBaseComponent implements AfterViewInit, AfterContentInit, OnDestroy {
102
105
  #private;
103
106
  private readonly renderer;
107
+ private readonly destroyRef;
104
108
  private readonly _dropList;
105
109
  private readonly _scroll;
106
110
  /**
@@ -150,6 +154,8 @@ declare class AXTabsComponent extends MXBaseComponent implements AfterViewInit,
150
154
  private platformId;
151
155
  /** @ignore */
152
156
  private _isUserInteraction;
157
+ /** @ignore */
158
+ private _clickSubscriptions;
153
159
  get items(): AXTabItemComponent[];
154
160
  /** @ignore */
155
161
  private _selectedItem;
@@ -159,6 +165,7 @@ declare class AXTabsComponent extends MXBaseComponent implements AfterViewInit,
159
165
  get selectedItem(): AXTabItemComponent;
160
166
  private changes;
161
167
  private activeTab;
168
+ private viewReady;
162
169
  /**
163
170
  * @event
164
171
  */
@@ -183,12 +190,18 @@ declare class AXTabsComponent extends MXBaseComponent implements AfterViewInit,
183
190
  private _syncDragState;
184
191
  /** @ignore */
185
192
  private _applyReorder;
193
+ /** @ignore */
194
+ private _observeActiveTabForResize;
195
+ /** @ignore */
196
+ private scheduleIndicatorUpdate;
186
197
  /**
187
198
  * Activates the specified tab and updates the content.
188
199
  *
189
200
  * @param tab - The tab to select, either by index (number) or by component instance
190
201
  */
191
202
  select(tab: number | AXTabItemComponent): void;
203
+ /** @ignore */
204
+ private getTabIndicatorStats;
192
205
  private setIndicatorPosition;
193
206
  static ɵfac: i0.ɵɵFactoryDeclaration<AXTabsComponent, never>;
194
207
  static ɵcmp: i0.ɵɵComponentDeclaration<AXTabsComponent, "ax-tabs", never, { "look": { "alias": "look"; "required": false; "isSignal": true; }; "location": { "alias": "location"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "reorderDelay": { "alias": "reorderDelay"; "required": false; "isSignal": true; }; "fitParent": { "alias": "fitParent"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, { "onActiveTabChanged": "onActiveTabChanged"; "onTabsReordered": "onTabsReordered"; }, ["_contentTabs"], ["ax-tab-item"], true, [{ directive: typeof i1.AXDropListDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.AXHorizontalScrollDirective; inputs: {}; outputs: {}; }]>;
@@ -79,6 +79,19 @@ declare class AXWysiwygContainerComponent extends AXWysiwygContainerComponent_ba
79
79
  */
80
80
  declare class AXWysiwygToolbarComponent {
81
81
  toolbar: i0.Signal<ElementRef<HTMLDivElement>>;
82
+ private readonly host;
83
+ private readonly renderer;
84
+ private readonly platformId;
85
+ private readonly destroyRef;
86
+ private readonly zIndexService;
87
+ private observer;
88
+ private overlayState;
89
+ constructor();
90
+ private setupPickerOverlay;
91
+ private syncPickerOverlay;
92
+ private openPickerOverlay;
93
+ private closePickerOverlay;
94
+ private teardownPickerOverlay;
82
95
  static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygToolbarComponent, never>;
83
96
  static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygToolbarComponent, "ax-wysiwyg-toolbar", never, {}, {}, never, ["ax-prefix", "ax-suffix"], true, never>;
84
97
  }