@acorex/components 22.0.0-next.9 → 22.0.1-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 (205) hide show
  1. package/combo-box/README.md +35 -0
  2. package/emoji/README.md +3 -0
  3. package/emojipicker/README.md +3 -0
  4. package/fesm2022/acorex-components-accordion.mjs +4 -4
  5. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  6. package/fesm2022/acorex-components-action-sheet.mjs +1 -0
  7. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  8. package/fesm2022/acorex-components-alert.mjs +2 -2
  9. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  10. package/fesm2022/acorex-components-audio-wave.mjs +291 -267
  11. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  12. package/fesm2022/acorex-components-bubble.mjs +71 -0
  13. package/fesm2022/acorex-components-bubble.mjs.map +1 -0
  14. package/fesm2022/acorex-components-button-group.mjs +12 -5
  15. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  16. package/fesm2022/acorex-components-button.mjs +6 -6
  17. package/fesm2022/acorex-components-button.mjs.map +1 -1
  18. package/fesm2022/acorex-components-calendar.mjs +328 -127
  19. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  20. package/fesm2022/acorex-components-check-box.mjs +2 -2
  21. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  22. package/fesm2022/acorex-components-combo-box.mjs +973 -0
  23. package/fesm2022/acorex-components-combo-box.mjs.map +1 -0
  24. package/fesm2022/acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs +19058 -0
  25. package/fesm2022/acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs.map +1 -0
  26. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs +50 -0
  27. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs.map +1 -0
  28. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-COT96F_v.mjs +87 -0
  29. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-COT96F_v.mjs.map +1 -0
  30. package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-CH3Q6Hry.mjs +65 -0
  31. package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-CH3Q6Hry.mjs.map +1 -0
  32. package/fesm2022/acorex-components-conversation.mjs +1 -22920
  33. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  34. package/fesm2022/acorex-components-cron-job.mjs +1 -1
  35. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  36. package/fesm2022/acorex-components-data-pager.mjs +4 -4
  37. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  38. package/fesm2022/acorex-components-data-table.mjs +310 -90
  39. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  40. package/fesm2022/acorex-components-datetime-box.mjs +14 -16
  41. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  42. package/fesm2022/acorex-components-datetime-input.mjs +61 -32
  43. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  44. package/fesm2022/acorex-components-datetime-picker.mjs +1 -1
  45. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  46. package/fesm2022/acorex-components-decorators.mjs +57 -11
  47. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  48. package/fesm2022/acorex-components-dialog.mjs +7 -4
  49. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  50. package/fesm2022/acorex-components-drawer.mjs +2 -2
  51. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  52. package/fesm2022/acorex-components-dropdown-button.mjs +1 -1
  53. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  54. package/fesm2022/acorex-components-dropdown.mjs +4 -4
  55. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  56. package/fesm2022/acorex-components-emoji.mjs +74 -0
  57. package/fesm2022/acorex-components-emoji.mjs.map +1 -0
  58. package/fesm2022/acorex-components-emojipicker.mjs +425 -0
  59. package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
  60. package/fesm2022/acorex-components-fab.mjs +5 -5
  61. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  62. package/fesm2022/acorex-components-file-viewer.mjs +359 -109
  63. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
  64. package/fesm2022/acorex-components-form.mjs +22 -6
  65. package/fesm2022/acorex-components-form.mjs.map +1 -1
  66. package/fesm2022/acorex-components-grid-layout-builder.mjs +238 -36
  67. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  68. package/fesm2022/acorex-components-highlight.mjs +80 -0
  69. package/fesm2022/acorex-components-highlight.mjs.map +1 -0
  70. package/fesm2022/acorex-components-image-editor.mjs +686 -416
  71. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  72. package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
  73. package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
  74. package/fesm2022/acorex-components-kanban.mjs +1 -1
  75. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  76. package/fesm2022/acorex-components-label.mjs +2 -2
  77. package/fesm2022/acorex-components-label.mjs.map +1 -1
  78. package/fesm2022/acorex-components-list.mjs +2 -2
  79. package/fesm2022/acorex-components-list.mjs.map +1 -1
  80. package/fesm2022/acorex-components-loading-dialog.mjs +59 -42
  81. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  82. package/fesm2022/acorex-components-lookup.mjs +3505 -0
  83. package/fesm2022/acorex-components-lookup.mjs.map +1 -0
  84. package/fesm2022/acorex-components-map.mjs +9 -2
  85. package/fesm2022/acorex-components-map.mjs.map +1 -1
  86. package/fesm2022/acorex-components-menu.mjs +322 -79
  87. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  88. package/fesm2022/acorex-components-message-status.mjs +71 -0
  89. package/fesm2022/acorex-components-message-status.mjs.map +1 -0
  90. package/fesm2022/acorex-components-message-time.mjs +36 -0
  91. package/fesm2022/acorex-components-message-time.mjs.map +1 -0
  92. package/fesm2022/acorex-components-message.mjs +120 -0
  93. package/fesm2022/acorex-components-message.mjs.map +1 -0
  94. package/fesm2022/acorex-components-notification.mjs +13 -6
  95. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  96. package/fesm2022/acorex-components-number-box.mjs +30 -29
  97. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  98. package/fesm2022/acorex-components-paint.mjs +1 -1
  99. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  100. package/fesm2022/acorex-components-password-box.mjs +3 -3
  101. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  102. package/fesm2022/acorex-components-popover.mjs +40 -6
  103. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  104. package/fesm2022/acorex-components-popup.mjs +4 -2
  105. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  106. package/fesm2022/acorex-components-radio.mjs +2 -2
  107. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  108. package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
  109. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  110. package/fesm2022/acorex-components-range-slider.mjs +2 -2
  111. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  112. package/fesm2022/acorex-components-reaction.mjs +144 -0
  113. package/fesm2022/acorex-components-reaction.mjs.map +1 -0
  114. package/fesm2022/acorex-components-rest-api-generator.mjs +5 -5
  115. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  116. package/fesm2022/acorex-components-rrule.mjs +1 -1
  117. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  118. package/fesm2022/acorex-components-scheduler-picker.mjs +5 -5
  119. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  120. package/fesm2022/acorex-components-scheduler.mjs +12 -22
  121. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  122. package/fesm2022/acorex-components-select-box.mjs +55 -18
  123. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  124. package/fesm2022/acorex-components-selection-list.mjs +3 -4
  125. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  126. package/fesm2022/acorex-components-switch.mjs +2 -2
  127. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  128. package/fesm2022/acorex-components-tabs.mjs +510 -74
  129. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  130. package/fesm2022/acorex-components-tag-box.mjs +2 -2
  131. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  132. package/fesm2022/acorex-components-text-area.mjs +2 -2
  133. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  134. package/fesm2022/acorex-components-toast.mjs +9 -2
  135. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  136. package/fesm2022/acorex-components-tooltip.mjs +2 -2
  137. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  138. package/fesm2022/acorex-components-tree-view.mjs +86 -6
  139. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  140. package/fesm2022/acorex-components-wysiwyg.mjs +76 -6
  141. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  142. package/highlight/README.md +13 -0
  143. package/inline-reaction/README.md +3 -0
  144. package/lookup/README.md +74 -0
  145. package/message/README.md +3 -0
  146. package/message-status/README.md +3 -0
  147. package/message-time/README.md +3 -0
  148. package/package.json +51 -16
  149. package/reaction/README.md +3 -0
  150. package/select-box/README.md +5 -0
  151. package/types/acorex-components-action-sheet.d.ts +9 -1
  152. package/types/acorex-components-audio-wave.d.ts +132 -73
  153. package/types/acorex-components-bubble.d.ts +31 -0
  154. package/types/acorex-components-button-group.d.ts +4 -0
  155. package/types/acorex-components-button.d.ts +1 -1
  156. package/types/acorex-components-calendar.d.ts +41 -9
  157. package/types/acorex-components-combo-box.d.ts +310 -0
  158. package/types/acorex-components-conversation.d.ts +1806 -1790
  159. package/types/acorex-components-data-table.d.ts +74 -12
  160. package/types/acorex-components-datetime-box.d.ts +2 -0
  161. package/types/acorex-components-datetime-input.d.ts +24 -5
  162. package/types/acorex-components-decorators.d.ts +14 -1
  163. package/types/acorex-components-dialog.d.ts +9 -0
  164. package/types/acorex-components-emoji.d.ts +42 -0
  165. package/types/acorex-components-emojipicker.d.ts +146 -0
  166. package/types/acorex-components-file-viewer.d.ts +48 -4
  167. package/types/acorex-components-grid-layout-builder.d.ts +34 -2
  168. package/types/acorex-components-highlight.d.ts +31 -0
  169. package/types/acorex-components-image-editor.d.ts +68 -48
  170. package/types/acorex-components-inline-reaction.d.ts +52 -0
  171. package/types/acorex-components-loading-dialog.d.ts +12 -4
  172. package/types/acorex-components-lookup.d.ts +962 -0
  173. package/types/acorex-components-map.d.ts +5 -0
  174. package/types/acorex-components-menu.d.ts +43 -7
  175. package/types/acorex-components-message-status.d.ts +23 -0
  176. package/types/acorex-components-message-time.d.ts +19 -0
  177. package/types/acorex-components-message.d.ts +59 -0
  178. package/types/acorex-components-notification.d.ts +11 -1
  179. package/types/acorex-components-number-box.d.ts +3 -1
  180. package/types/acorex-components-popover.d.ts +12 -1
  181. package/types/acorex-components-popup.d.ts +9 -1
  182. package/types/acorex-components-reaction.d.ts +85 -0
  183. package/types/acorex-components-scheduler.d.ts +2 -4
  184. package/types/acorex-components-select-box.d.ts +21 -4
  185. package/types/acorex-components-selection-list.d.ts +1 -1
  186. package/types/acorex-components-tabs.d.ts +148 -19
  187. package/types/acorex-components-toast.d.ts +10 -1
  188. package/types/acorex-components-tree-view.d.ts +39 -2
  189. package/types/acorex-components-wysiwyg.d.ts +13 -0
  190. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs +0 -106
  191. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs.map +0 -1
  192. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs +0 -223
  193. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs.map +0 -1
  194. package/fesm2022/acorex-components-flow-chart.mjs +0 -735
  195. package/fesm2022/acorex-components-flow-chart.mjs.map +0 -1
  196. package/fesm2022/acorex-components-query-builder.mjs +0 -267
  197. package/fesm2022/acorex-components-query-builder.mjs.map +0 -1
  198. package/fesm2022/acorex-components-selection-list-2.mjs +0 -168
  199. package/fesm2022/acorex-components-selection-list-2.mjs.map +0 -1
  200. package/flow-chart/README.md +0 -3
  201. package/query-builder/README.md +0 -3
  202. package/selection-list-2/README.md +0 -3
  203. package/types/acorex-components-flow-chart.d.ts +0 -187
  204. package/types/acorex-components-query-builder.d.ts +0 -52
  205. package/types/acorex-components-selection-list-2.d.ts +0 -52
@@ -584,6 +584,11 @@ declare class AXMapComponent extends NXComponent implements OnDestroy {
584
584
  * Refreshes POIs from providers, clearing existing POIs first
585
585
  */
586
586
  refreshPois(): Promise<void>;
587
+ /**
588
+ * Recalculates Leaflet tile layout after the map container is resized
589
+ * (for example after entering or exiting fullscreen).
590
+ */
591
+ invalidateSize(): void;
587
592
  /**
588
593
  * Cleanup function that destroys the map and unsubscribes from all subscriptions.
589
594
  */
@@ -72,6 +72,7 @@ type AXContextMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXContextMenuCompon
72
72
  * @category Components
73
73
  */
74
74
  declare class AXContextMenuComponent extends NXComponent {
75
+ protected readonly supportsHeader = true;
75
76
  readonly orientation: _angular_core.InputSignal<AXOrientation>;
76
77
  readonly openOn: _angular_core.InputSignal<AXMenuOpenTrigger>;
77
78
  readonly closeOn: _angular_core.InputSignal<AXMenuCloseTrigger>;
@@ -115,6 +116,10 @@ declare class AXContextMenuComponent extends NXComponent {
115
116
  private backdropElement;
116
117
  private originalNextSibling;
117
118
  private originalParent;
119
+ private readonly headerSlot;
120
+ private floatingHeader;
121
+ private headerOriginalParent;
122
+ private headerOriginalNextSibling;
118
123
  protected items: _angular_core.WritableSignal<AXMenuItem[]>;
119
124
  /** @ignore */
120
125
  private setupCloseOnRouteChange;
@@ -130,13 +135,21 @@ declare class AXContextMenuComponent extends NXComponent {
130
135
  private internalShowAt;
131
136
  /**
132
137
  * Positions the menu at `point`, flipping when it would overflow the viewport.
133
- * Uses a temporary visible layout pass so parents that hide the host (e.g. side-menu `display: none`) do not yield a zero-sized rect.
138
+ * When a floating header is present, positions header and panel as one clamped block.
134
139
  */
135
140
  private positionAtPoint;
136
141
  /** Measures menu size even when an ancestor hides the host with `display: none`. */
137
142
  private measureMenuRect;
143
+ /** Measures the floating header bar using the same hidden-layout pass as the menu panel. */
144
+ private measureFloatingRect;
138
145
  /** @ignore */
139
146
  private createBackdrop;
147
+ /** Moves the projected header slot into the backdrop as a floating sibling of the panel. */
148
+ private floatHeaderToBackdrop;
149
+ /** Restores the header slot to its original parent before the backdrop is removed. */
150
+ private restoreFloatingHeader;
151
+ /** @ignore */
152
+ private resolveContextMenuTarget;
140
153
  /** @ignore */
141
154
  private removeBackdrop;
142
155
  private createEventListeners;
@@ -145,7 +158,7 @@ declare class AXContextMenuComponent extends NXComponent {
145
158
  /** @ignore */
146
159
  get __hostClass(): any;
147
160
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXContextMenuComponent, never>;
148
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXContextMenuComponent, "ax-context-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "closeOnRouteChange": { "alias": "closeOnRouteChange"; "required": false; "isSignal": true; }; "originalItems": { "alias": "items"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; "onOpening": "onOpening"; "onClose": "onClose"; }, never, ["ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
161
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXContextMenuComponent, "ax-context-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "closeOnRouteChange": { "alias": "closeOnRouteChange"; "required": false; "isSignal": true; }; "originalItems": { "alias": "items"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; "onOpening": "onOpening"; "onClose": "onClose"; }, never, ["ax-header", "ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
149
162
  }
150
163
 
151
164
  type AXMenuItemClickEvent = AXMenuItemClickBaseEvent<AXMenuItemComponent>;
@@ -175,8 +188,16 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
175
188
  private unsuscriber;
176
189
  private renderer;
177
190
  private injector;
191
+ private document;
178
192
  private zIndexService;
179
193
  private zToken;
194
+ private submenuPortalParent;
195
+ private submenuPortalNextSibling;
196
+ /** Survives submenu portaling when the DOM parent chain is broken. */
197
+ private linkedParent;
198
+ private mouseLeaveTimeout;
199
+ private submenuUnlistenEnter;
200
+ private submenuUnlistenLeave;
180
201
  protected arrowIcon: _angular_core.Signal<string>;
181
202
  onClick: _angular_core.OutputEmitterRef<AXMenuItemClickEvent>;
182
203
  name: _angular_core.InputSignal<string>;
@@ -186,8 +207,8 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
186
207
  constructor();
187
208
  private getText;
188
209
  /**
189
- * Resolves the parent menu item. Items rendered via recursive `ngTemplateOutlet` do not
190
- * receive a DI parent, so we fall back to the DOM tree after reparenting.
210
+ * Resolves the parent menu item. Prefers an explicit link (survives submenu portaling),
211
+ * then DI, then the DOM tree.
191
212
  */
192
213
  getParentMenuItem(): AXMenuItemComponent | null;
193
214
  /**
@@ -204,10 +225,20 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
204
225
  private schedulePositionCalculation;
205
226
  /**
206
227
  * Calculate the position of the submenu to avoid it going out of the viewport.
228
+ * Tall panels are height-clamped; the panel is portaled so parent overflow cannot clip it.
207
229
  */
208
230
  private calculatePosition;
209
231
  /** Measures submenu size using the same flex layout as the rendered menu. */
210
232
  private measureSubmenuRect;
233
+ /** Moves the submenu under the context-menu backdrop (or body) to escape ancestor overflow. */
234
+ private portalSubmenu;
235
+ private restoreSubmenuPortal;
236
+ /** Keep this item open while the pointer is over its portaled submenu panel. */
237
+ private bindSubmenuPointerListeners;
238
+ private unbindSubmenuPointerListeners;
239
+ /** Links direct children so parent resolution still works after the panel is portaled. */
240
+ private linkChildItems;
241
+ private getInstanceFromElement;
211
242
  /**
212
243
  * Moves nested `ax-menu-item` nodes rendered by recursive `ngTemplateOutlet` templates
213
244
  * into the submenu slot. Angular content queries do not traverse those embedded views.
@@ -225,10 +256,14 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
225
256
  private clampVerticalPosition;
226
257
  handleClick(e: MouseEvent): void;
227
258
  handleMouseEnter(event: MouseEvent): void;
228
- private mouseLeaveTimeout;
229
259
  handleMouseLeave(event: MouseEvent): void;
230
- /** True when the pointer moved into this item's submenu panel or a nested open submenu. */
260
+ private handlePointerLeave;
261
+ private scheduleClose;
262
+ private clearCloseTimeout;
263
+ private clearAncestorCloseTimeouts;
264
+ /** True when the pointer is still inside this item's submenu tree (including portaled panels). */
231
265
  private containsSubmenuPointer;
266
+ private isSelfOrAncestorOf;
232
267
  ngOnDestroy(): void;
233
268
  /** @ignore */
234
269
  get __hostClass(): string[];
@@ -277,6 +312,7 @@ type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;
277
312
  * @category Components
278
313
  */
279
314
  declare class AXMenuComponent extends NXComponent {
315
+ protected readonly supportsHeader = false;
280
316
  constructor();
281
317
  orientation: _angular_core.InputSignal<AXOrientation>;
282
318
  openOn: _angular_core.InputSignal<AXMenuOpenTrigger>;
@@ -294,7 +330,7 @@ declare class AXMenuComponent extends NXComponent {
294
330
  */
295
331
  close(): void;
296
332
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMenuComponent, never>;
297
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMenuComponent, "ax-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "hasArrow": { "alias": "hasArrow"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; }, never, ["ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
333
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMenuComponent, "ax-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "hasArrow": { "alias": "hasArrow"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; }, never, ["ax-header", "ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
298
334
  }
299
335
 
300
336
  declare class AXMenuModule {
@@ -0,0 +1,23 @@
1
+ import * as i0 from '@angular/core';
2
+ import { SafeHtml } from '@angular/platform-browser';
3
+ import * as i1 from '@angular/common';
4
+
5
+ type MessageStatus = 'pending' | 'send' | 'delivered' | 'failed';
6
+
7
+ declare class AXMessageStatusComponent {
8
+ #private;
9
+ status: i0.InputSignal<MessageStatus>;
10
+ private sanetizer;
11
+ protected htmlContent: i0.WritableSignal<SafeHtml>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMessageStatusComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXMessageStatusComponent, "ax-message-status", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
14
+ }
15
+
16
+ declare class AXMessageStatusModule {
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMessageStatusModule, never>;
18
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMessageStatusModule, never, [typeof i1.CommonModule], never>;
19
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMessageStatusModule>;
20
+ }
21
+
22
+ export { AXMessageStatusComponent, AXMessageStatusModule };
23
+ export type { MessageStatus };
@@ -0,0 +1,19 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+
5
+ declare class AXMessageTimeComponent implements OnInit {
6
+ constructor();
7
+ time: i0.InputSignal<string>;
8
+ ngOnInit(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMessageTimeComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXMessageTimeComponent, "ax-message-time", never, { "time": { "alias": "time"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11
+ }
12
+
13
+ declare class AXMessageTimeModule {
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMessageTimeModule, never>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMessageTimeModule, never, [typeof i1.CommonModule], never>;
16
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMessageTimeModule>;
17
+ }
18
+
19
+ export { AXMessageTimeComponent, AXMessageTimeModule };
@@ -0,0 +1,59 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import { AXMenuItem, AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
4
+ import { AXEmoji } from '@acorex/core/constants';
5
+ import { MessageStatus } from '@acorex/components/message-status';
6
+
7
+ type AXMessageLayout = 'ping-pong' | 'stack';
8
+ type AXBubbleTail = 'none' | 'start' | 'end';
9
+ /** @deprecated Use AXMessageLayout. Kept for backward compatibility in data models. */
10
+ type AXMessageAlign = 'start' | 'end';
11
+ interface AXMessageTemplateContext<T> {
12
+ $implicit: T;
13
+ }
14
+
15
+ declare class AXMessageComponent<T = unknown> {
16
+ templateData: _angular_core.InputSignal<T>;
17
+ itemTemplate: _angular_core.InputSignal<TemplateRef<AXMessageTemplateContext<T>>>;
18
+ layout: _angular_core.InputSignal<AXMessageLayout>;
19
+ /** Own message: aligned end in ping-pong and styled via inner ax-bubble. */
20
+ isown: _angular_core.InputSignal<boolean>;
21
+ text: _angular_core.InputSignal<string>;
22
+ avatarSrc: _angular_core.InputSignal<string>;
23
+ avatarSize: _angular_core.InputSignal<number>;
24
+ showAvatar: _angular_core.InputSignal<boolean>;
25
+ status: _angular_core.InputSignal<MessageStatus>;
26
+ time: _angular_core.InputSignal<string>;
27
+ /** Quick reactions shown in the context menu header. */
28
+ quickReactions: _angular_core.InputSignal<readonly AXEmoji[]>;
29
+ /** Context menu action items. Parent can also append via `contextMenuOpening`. */
30
+ contextMenuItems: _angular_core.InputSignal<readonly AXMenuItem[]>;
31
+ /** Whether right-click context menu is enabled on the bubble. */
32
+ contextMenuEnabled: _angular_core.InputSignal<boolean>;
33
+ /** Emoji size in pixels inside the context menu reaction bar. */
34
+ reactionSize: _angular_core.InputSignal<number>;
35
+ /** Emits when a quick reaction or picker emoji is selected from the context menu. */
36
+ reactionSelected: _angular_core.OutputEmitterRef<AXEmoji>;
37
+ /** Emits while the context menu opens so the parent can customize `event.items`. */
38
+ contextMenuOpening: _angular_core.OutputEmitterRef<AXContextMenuOpeningEvent>;
39
+ /** Emits when a context menu action item is clicked. */
40
+ menuItemClick: _angular_core.OutputEmitterRef<AXContextMenuItemsClickEvent>;
41
+ private readonly contextMenu;
42
+ protected readonly hasTemplate: _angular_core.Signal<boolean>;
43
+ protected readonly showReactionBar: _angular_core.Signal<boolean>;
44
+ protected readonly hostClass: _angular_core.Signal<string>;
45
+ protected onContextMenuOpening(event: AXContextMenuOpeningEvent): void;
46
+ protected onReactionSelected(emoji: AXEmoji): void;
47
+ protected onMenuItemClick(event: AXContextMenuItemsClickEvent): void;
48
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMessageComponent<any>, never>;
49
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMessageComponent<any>, "ax-message", never, { "templateData": { "alias": "templateData"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "isown": { "alias": "isown"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "avatarSize": { "alias": "avatarSize"; "required": false; "isSignal": true; }; "showAvatar": { "alias": "showAvatar"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "time": { "alias": "time"; "required": false; "isSignal": true; }; "quickReactions": { "alias": "quickReactions"; "required": false; "isSignal": true; }; "contextMenuItems": { "alias": "contextMenuItems"; "required": false; "isSignal": true; }; "contextMenuEnabled": { "alias": "contextMenuEnabled"; "required": false; "isSignal": true; }; "reactionSize": { "alias": "reactionSize"; "required": false; "isSignal": true; }; }, { "reactionSelected": "reactionSelected"; "contextMenuOpening": "contextMenuOpening"; "menuItemClick": "menuItemClick"; }, never, ["*"], true, never>;
50
+ }
51
+
52
+ declare class AXMessageModule {
53
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMessageModule, never>;
54
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMessageModule, never, [typeof AXMessageComponent], [typeof AXMessageComponent]>;
55
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMessageModule>;
56
+ }
57
+
58
+ export { AXMessageComponent, AXMessageModule };
59
+ export type { AXBubbleTail, AXMessageAlign, AXMessageLayout, AXMessageTemplateContext };
@@ -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;
@@ -27,6 +27,7 @@ declare class AXNumberBoxComponent extends AXNumberBoxComponent_base {
27
27
  changeOnScroll: _angular_core.InputSignal<boolean>;
28
28
  step: _angular_core.InputSignal<number>;
29
29
  protected mode: _angular_core.WritableSignal<"digits" | "thousandsSeparator" | "decimal">;
30
+ protected decimalPlaces: _angular_core.Signal<number>;
30
31
  private input;
31
32
  protected stringValue: _angular_core.WritableSignal<string>;
32
33
  private translationService;
@@ -37,11 +38,12 @@ declare class AXNumberBoxComponent extends AXNumberBoxComponent_base {
37
38
  result: boolean;
38
39
  message?: undefined;
39
40
  }>;
40
- protected internalValueChanged(value: number | undefined): void;
41
+ protected internalValueChanged(value: number | undefined | null): void;
41
42
  private plusValue;
42
43
  private minusValue;
43
44
  private getNumericValue;
44
45
  private getSteppedValue;
46
+ private formatDisplayValue;
45
47
  private clampToRange;
46
48
  private getFractionDigits;
47
49
  protected handleOnKeydownEvent(e: KeyboardEvent): void;
@@ -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.
@@ -183,6 +186,14 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
183
186
  private setupScrollListener;
184
187
  /** @ignore */
185
188
  private removeScrollListener;
189
+ /**
190
+ * True when document-level scroll is a side-effect of focusing an editable control
191
+ * inside the overlay (soft keyboard / visual viewport adjustment), mainly on iOS Safari.
192
+ * @ignore
193
+ */
194
+ private isKeyboardInducedDocumentScroll;
195
+ /** @ignore */
196
+ private isDocumentScrollTarget;
186
197
  /**
187
198
  * Checks whether the given element lives inside a child overlay
188
199
  * (an overlay stacked on top of this popover, e.g. a selectbox dropdown).
@@ -240,7 +251,7 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
240
251
  /** @ignore */
241
252
  ngOnDestroy(): void;
242
253
  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>;
254
+ 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
255
  }
245
256
 
246
257
  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;
@@ -0,0 +1,85 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AXEmoji } from '@acorex/core/constants';
3
+
4
+ /**
5
+ * A single aggregated reaction shown by {@link AXReactionComponent}.
6
+ */
7
+ interface AXReactionItem {
8
+ /** Emoji metadata rendered with {@link AXEmojiComponent}. */
9
+ emoji: AXEmoji;
10
+ /** Number of users who reacted with this emoji. */
11
+ count: number;
12
+ /** Whether the current user has selected this reaction. */
13
+ selected?: boolean;
14
+ }
15
+
16
+ /**
17
+ * Telegram-style reaction chips for chat messages.
18
+ * Renders emojis with {@link AXEmojiComponent} and opens {@link AXEmojiPickerComponent}
19
+ * inside {@link AXPopoverComponent} when editable.
20
+ *
21
+ * @category Components
22
+ */
23
+ declare class AXReactionComponent {
24
+ /**
25
+ * Aggregated reactions to display.
26
+ *
27
+ * @defaultValue []
28
+ */
29
+ readonly items: _angular_core.InputSignal<readonly AXReactionItem[]>;
30
+ /**
31
+ * Rendered emoji size in pixels.
32
+ *
33
+ * @defaultValue 18
34
+ */
35
+ readonly size: _angular_core.InputSignal<number>;
36
+ /**
37
+ * When true, reactions are interactive and an add button opens the emoji picker popover.
38
+ *
39
+ * @defaultValue false
40
+ */
41
+ readonly editable: _angular_core.InputSignal<boolean>;
42
+ /**
43
+ * When true, the emoji picker popover is opened.
44
+ *
45
+ * @defaultValue false
46
+ */
47
+ readonly showPicker: _angular_core.InputSignal<boolean>;
48
+ /**
49
+ * Emits when the user selects a new reaction or an unselected existing one.
50
+ */
51
+ readonly add: _angular_core.OutputEmitterRef<AXEmoji>;
52
+ /**
53
+ * Emits when the user removes their own reaction.
54
+ */
55
+ readonly remove: _angular_core.OutputEmitterRef<AXEmoji>;
56
+ private readonly pickerPopover;
57
+ /** Whether the emoji picker popover is currently open. */
58
+ protected readonly pickerOpen: _angular_core.WritableSignal<boolean>;
59
+ /** Whether the add button should appear pressed while the picker is open. */
60
+ protected readonly isPickerVisible: _angular_core.Signal<boolean>;
61
+ constructor();
62
+ /** Toggles a reaction without mutating counts; parent owns state. */
63
+ protected onItemClick(item: AXReactionItem): void;
64
+ /** Opens or closes the emoji picker popover. */
65
+ protected togglePicker(event?: Event): void;
66
+ /** Forwards a picker selection as `add` and closes the popover. */
67
+ protected onPickerSelected(emoji: AXEmoji): void;
68
+ /** Syncs the add-button pressed state when the popover opens. */
69
+ protected onPickerOpened(): void;
70
+ /** Syncs the add-button pressed state when the popover closes. */
71
+ protected onPickerClosed(): void;
72
+ /** Accessible name for an existing reaction chip. */
73
+ protected itemAriaLabel(item: AXReactionItem): string;
74
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXReactionComponent, never>;
75
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXReactionComponent, "ax-reaction", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "showPicker": { "alias": "showPicker"; "required": false; "isSignal": true; }; }, { "add": "add"; "remove": "remove"; }, never, never, true, never>;
76
+ }
77
+
78
+ declare class AXReactionModule {
79
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXReactionModule, never>;
80
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXReactionModule, never, [typeof AXReactionComponent], [typeof AXReactionComponent]>;
81
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXReactionModule>;
82
+ }
83
+
84
+ export { AXReactionComponent, AXReactionModule };
85
+ export type { AXReactionItem };
@@ -115,7 +115,6 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
115
115
  private translationService;
116
116
  private eventService;
117
117
  private translationRevision;
118
- private viewModeSelectbox;
119
118
  private calendarPopover;
120
119
  private _calendarDayCellTemplate;
121
120
  private _calendarMonthCellTemplate;
@@ -133,8 +132,8 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
133
132
  appointments: _angular_core.Signal<AXSchedulerAppointment[]>;
134
133
  protected readonly rtl: _angular_core.Signal<boolean>;
135
134
  protected isFullScreen: _angular_core.WritableSignal<boolean>;
136
- protected viewsDataSource: _angular_core.WritableSignal<{
137
- id: string;
135
+ protected viewsDataSource: _angular_core.Signal<{
136
+ id: AXSchedulerView;
138
137
  text: string;
139
138
  }[]>;
140
139
  private prevDate;
@@ -186,7 +185,6 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
186
185
  */
187
186
  private getWeekReanchorDate;
188
187
  private syncCurrentDateAfterLocaleChange;
189
- private fillDataSource;
190
188
  private getGridDateRange;
191
189
  currentDateText: _angular_core.Signal<string>;
192
190
  calendarDepth: _angular_core.Signal<"day" | "month" | "year">;
@@ -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;
@@ -56,6 +58,13 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
56
58
  protected _dropdownWidth: _angular_core.WritableSignal<string>;
57
59
  /** @ignore */
58
60
  protected _dropdownHeight: _angular_core.WritableSignal<string>;
61
+ /**
62
+ * Pixel height for the popover list and CDK viewport. Uses the sized height
63
+ * when known, otherwise the standard `maxVisibleItems × itemHeight` viewport.
64
+ * Always a pixel value so virtual scroll has a definite size on first open.
65
+ * @ignore
66
+ */
67
+ protected _panelMinHeight: _angular_core.Signal<string>;
59
68
  /** @ignore */
60
69
  protected _listDataSource: AXDataSource<any>;
61
70
  /** @ignore */
@@ -159,6 +168,10 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
159
168
  /** @ignore */
160
169
  protected _handleItemSelected(e: AXItemSelectedEvent): void;
161
170
  private resetSearchAfterSelection;
171
+ private _getListItemPx;
172
+ private _getMaxVisibleItems;
173
+ /** Standard popover list height: `maxVisibleItems` rows (default 5). */
174
+ private _getStandardListHeightPx;
162
175
  /** @ignore */
163
176
  private setDropdownSize;
164
177
  /**
@@ -189,9 +202,13 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
189
202
  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
203
  }
191
204
 
205
+ /**
206
+ * @deprecated Use `combo-box` when your data is a simple array. Use `lookup` when you need advanced features and `AXDataSource` support.
207
+ * This module is deprecated and no longer supported.
208
+ */
192
209
  declare class AXSelectBoxModule {
193
210
  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]>;
211
+ 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
212
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXSelectBoxModule>;
196
213
  }
197
214
 
@@ -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 {