@acorex/components 22.1.0-next.30 → 22.1.0-next.32

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 (262) hide show
  1. package/emoji/README.md +3 -0
  2. package/emojipicker/README.md +3 -0
  3. package/fesm2022/acorex-components-accordion.mjs +13 -13
  4. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  5. package/fesm2022/acorex-components-action-sheet.mjs +13 -13
  6. package/fesm2022/acorex-components-alert.mjs +7 -7
  7. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  8. package/fesm2022/acorex-components-audio-wave.mjs +295 -271
  9. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  10. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  11. package/fesm2022/acorex-components-avatar.mjs +10 -10
  12. package/fesm2022/acorex-components-badge.mjs +7 -7
  13. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  14. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  15. package/fesm2022/acorex-components-bubble.mjs +71 -0
  16. package/fesm2022/acorex-components-bubble.mjs.map +1 -0
  17. package/fesm2022/acorex-components-button-group.mjs +22 -15
  18. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  19. package/fesm2022/acorex-components-button.mjs +14 -14
  20. package/fesm2022/acorex-components-button.mjs.map +1 -1
  21. package/fesm2022/acorex-components-calendar.mjs +332 -130
  22. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  23. package/fesm2022/acorex-components-check-box.mjs +7 -7
  24. package/fesm2022/acorex-components-chips.mjs +7 -7
  25. package/fesm2022/acorex-components-circular-progress.mjs +7 -7
  26. package/fesm2022/acorex-components-code-editor.mjs +44 -19
  27. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  28. package/fesm2022/acorex-components-color-box.mjs +7 -7
  29. package/fesm2022/acorex-components-color-palette.mjs +28 -28
  30. package/fesm2022/acorex-components-combo-box.mjs +244 -54
  31. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  32. package/fesm2022/acorex-components-command.mjs +7 -7
  33. package/fesm2022/acorex-components-comment.mjs +28 -28
  34. package/fesm2022/acorex-components-conversation-acorex-components-conversation-BBWe3tfe.mjs +19099 -0
  35. package/fesm2022/acorex-components-conversation-acorex-components-conversation-BBWe3tfe.mjs.map +1 -0
  36. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs +50 -0
  37. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs.map +1 -0
  38. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs +87 -0
  39. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs.map +1 -0
  40. package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-OAHRGH_G.mjs +65 -0
  41. package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-OAHRGH_G.mjs.map +1 -0
  42. package/fesm2022/acorex-components-conversation.mjs +1 -15470
  43. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  44. package/fesm2022/acorex-components-cron-job.mjs +47 -47
  45. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  46. package/fesm2022/acorex-components-data-list.mjs +3 -3
  47. package/fesm2022/acorex-components-data-pager.mjs +35 -35
  48. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  49. package/fesm2022/acorex-components-data-table.mjs +734 -165
  50. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  51. package/fesm2022/acorex-components-datetime-box.mjs +7 -7
  52. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  53. package/fesm2022/acorex-components-datetime-picker.mjs +8 -8
  54. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  55. package/fesm2022/acorex-components-decorators.mjs +60 -30
  56. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  57. package/fesm2022/acorex-components-dialog.mjs +11 -11
  58. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  59. package/fesm2022/acorex-components-drawer.mjs +10 -10
  60. package/fesm2022/acorex-components-dropdown-button.mjs +8 -8
  61. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  62. package/fesm2022/acorex-components-dropdown.mjs +14 -14
  63. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  64. package/fesm2022/acorex-components-editor.mjs +15 -14
  65. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  66. package/fesm2022/acorex-components-emoji.mjs +74 -0
  67. package/fesm2022/acorex-components-emoji.mjs.map +1 -0
  68. package/fesm2022/acorex-components-emojipicker.mjs +425 -0
  69. package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
  70. package/fesm2022/acorex-components-fab.mjs +6 -6
  71. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  72. package/fesm2022/acorex-components-file-viewer.mjs +372 -122
  73. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
  74. package/fesm2022/acorex-components-form.mjs +17 -17
  75. package/fesm2022/acorex-components-form.mjs.map +1 -1
  76. package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
  77. package/fesm2022/acorex-components-highlight.mjs +80 -0
  78. package/fesm2022/acorex-components-highlight.mjs.map +1 -0
  79. package/fesm2022/acorex-components-image-editor.mjs +780 -451
  80. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  81. package/fesm2022/acorex-components-image.mjs +7 -7
  82. package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
  83. package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
  84. package/fesm2022/acorex-components-json-viewer.mjs +7 -7
  85. package/fesm2022/acorex-components-kanban.mjs +3 -3
  86. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  87. package/fesm2022/acorex-components-kbd.mjs +6 -6
  88. package/fesm2022/acorex-components-label.mjs +7 -7
  89. package/fesm2022/acorex-components-list.mjs +28 -9
  90. package/fesm2022/acorex-components-list.mjs.map +1 -1
  91. package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
  92. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  93. package/fesm2022/acorex-components-loading.mjs +16 -16
  94. package/fesm2022/acorex-components-lookup.mjs +764 -156
  95. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  96. package/fesm2022/acorex-components-map.mjs +20 -13
  97. package/fesm2022/acorex-components-map.mjs.map +1 -1
  98. package/fesm2022/acorex-components-media-viewer.mjs +215 -218
  99. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  100. package/fesm2022/acorex-components-menu.mjs +146 -45
  101. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  102. package/fesm2022/acorex-components-message-status.mjs +71 -0
  103. package/fesm2022/acorex-components-message-status.mjs.map +1 -0
  104. package/fesm2022/acorex-components-message-time.mjs +36 -0
  105. package/fesm2022/acorex-components-message-time.mjs.map +1 -0
  106. package/fesm2022/acorex-components-message.mjs +120 -0
  107. package/fesm2022/acorex-components-message.mjs.map +1 -0
  108. package/fesm2022/acorex-components-navbar.mjs +7 -7
  109. package/fesm2022/acorex-components-notification.mjs +11 -11
  110. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  111. package/fesm2022/acorex-components-number-box.mjs +7 -7
  112. package/fesm2022/acorex-components-otp.mjs +7 -7
  113. package/fesm2022/acorex-components-page.mjs +10 -10
  114. package/fesm2022/acorex-components-paint.mjs +25 -25
  115. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  116. package/fesm2022/acorex-components-password-box.mjs +10 -10
  117. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  118. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  119. package/fesm2022/acorex-components-phone-box.mjs +7 -7
  120. package/fesm2022/acorex-components-picker.mjs +13 -13
  121. package/fesm2022/acorex-components-popover.mjs +33 -15
  122. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  123. package/fesm2022/acorex-components-popup.mjs +67 -56
  124. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  125. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  126. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  127. package/fesm2022/acorex-components-radio.mjs +7 -7
  128. package/fesm2022/acorex-components-rail-navigation.mjs +14 -14
  129. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  130. package/fesm2022/acorex-components-range-slider.mjs +9 -9
  131. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  132. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  133. package/fesm2022/acorex-components-reaction.mjs +144 -0
  134. package/fesm2022/acorex-components-reaction.mjs.map +1 -0
  135. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  136. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  137. package/fesm2022/acorex-components-result.mjs +7 -7
  138. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  139. package/fesm2022/acorex-components-rrule.mjs +9 -9
  140. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  141. package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
  142. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  143. package/fesm2022/acorex-components-scheduler.mjs +34 -34
  144. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  145. package/fesm2022/acorex-components-search-box.mjs +7 -7
  146. package/fesm2022/acorex-components-select-box.mjs +7 -7
  147. package/fesm2022/acorex-components-selection-list.mjs +7 -8
  148. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  149. package/fesm2022/acorex-components-side-menu.mjs +55 -42
  150. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  151. package/fesm2022/acorex-components-sidebar.mjs +28 -28
  152. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  153. package/fesm2022/acorex-components-slider.mjs +7 -7
  154. package/fesm2022/acorex-components-sliding-item.mjs +13 -13
  155. package/fesm2022/acorex-components-step-wizard.mjs +16 -18
  156. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  157. package/fesm2022/acorex-components-switch.mjs +10 -10
  158. package/fesm2022/acorex-components-tabs.mjs +529 -78
  159. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  160. package/fesm2022/acorex-components-tag-box.mjs +7 -7
  161. package/fesm2022/acorex-components-tag.mjs +7 -7
  162. package/fesm2022/acorex-components-text-area.mjs +7 -7
  163. package/fesm2022/acorex-components-text-box.mjs +7 -7
  164. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  165. package/fesm2022/acorex-components-time-line.mjs +10 -10
  166. package/fesm2022/acorex-components-toast.mjs +10 -10
  167. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  168. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  169. package/fesm2022/acorex-components-tree-view.mjs +58 -15
  170. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  171. package/fesm2022/acorex-components-uploader.mjs +13 -13
  172. package/fesm2022/acorex-components-video-player.mjs +7 -7
  173. package/fesm2022/acorex-components-wysiwyg.mjs +109 -39
  174. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  175. package/highlight/README.md +13 -0
  176. package/inline-reaction/README.md +3 -0
  177. package/lookup/README.md +1 -1
  178. package/message/README.md +3 -0
  179. package/message-status/README.md +3 -0
  180. package/message-time/README.md +3 -0
  181. package/package.json +42 -12
  182. package/reaction/README.md +3 -0
  183. package/types/acorex-components-action-sheet.d.ts +1 -1
  184. package/types/acorex-components-audio-wave.d.ts +132 -73
  185. package/types/acorex-components-bubble.d.ts +31 -0
  186. package/types/acorex-components-button-group.d.ts +4 -0
  187. package/types/acorex-components-button.d.ts +1 -1
  188. package/types/acorex-components-calendar.d.ts +43 -12
  189. package/types/acorex-components-check-box.d.ts +1 -1
  190. package/types/acorex-components-code-editor.d.ts +4 -1
  191. package/types/acorex-components-color-box.d.ts +1 -1
  192. package/types/acorex-components-color-palette.d.ts +2 -2
  193. package/types/acorex-components-combo-box.d.ts +34 -4
  194. package/types/acorex-components-command.d.ts +1 -1
  195. package/types/acorex-components-conversation.d.ts +1771 -1342
  196. package/types/acorex-components-cron-job.d.ts +6 -6
  197. package/types/acorex-components-data-pager.d.ts +2 -2
  198. package/types/acorex-components-data-table.d.ts +194 -21
  199. package/types/acorex-components-datetime-box.d.ts +1 -1
  200. package/types/acorex-components-datetime-picker.d.ts +1 -1
  201. package/types/acorex-components-decorators.d.ts +13 -1
  202. package/types/acorex-components-dialog.d.ts +1 -1
  203. package/types/acorex-components-dropdown.d.ts +1 -1
  204. package/types/acorex-components-editor.d.ts +1 -1
  205. package/types/acorex-components-emoji.d.ts +42 -0
  206. package/types/acorex-components-emojipicker.d.ts +146 -0
  207. package/types/acorex-components-file-viewer.d.ts +50 -6
  208. package/types/acorex-components-highlight.d.ts +31 -0
  209. package/types/acorex-components-image-editor.d.ts +72 -50
  210. package/types/acorex-components-inline-reaction.d.ts +52 -0
  211. package/types/acorex-components-list.d.ts +12 -0
  212. package/types/acorex-components-loading-dialog.d.ts +1 -1
  213. package/types/acorex-components-loading.d.ts +1 -1
  214. package/types/acorex-components-lookup.d.ts +213 -82
  215. package/types/acorex-components-map.d.ts +7 -2
  216. package/types/acorex-components-media-viewer.d.ts +4 -3
  217. package/types/acorex-components-menu.d.ts +17 -5
  218. package/types/acorex-components-message-status.d.ts +23 -0
  219. package/types/acorex-components-message-time.d.ts +19 -0
  220. package/types/acorex-components-message.d.ts +59 -0
  221. package/types/acorex-components-notification.d.ts +1 -1
  222. package/types/acorex-components-number-box.d.ts +1 -1
  223. package/types/acorex-components-otp.d.ts +1 -1
  224. package/types/acorex-components-page.d.ts +2 -2
  225. package/types/acorex-components-paint.d.ts +2 -2
  226. package/types/acorex-components-password-box.d.ts +1 -1
  227. package/types/acorex-components-phone-box.d.ts +1 -1
  228. package/types/acorex-components-popover.d.ts +10 -4
  229. package/types/acorex-components-popup.d.ts +20 -10
  230. package/types/acorex-components-rail-navigation.d.ts +1 -1
  231. package/types/acorex-components-range-slider.d.ts +1 -1
  232. package/types/acorex-components-reaction.d.ts +85 -0
  233. package/types/acorex-components-rest-api-generator.d.ts +1 -1
  234. package/types/acorex-components-rrule.d.ts +1 -1
  235. package/types/acorex-components-scheduler-picker.d.ts +1 -1
  236. package/types/acorex-components-scheduler.d.ts +1 -1
  237. package/types/acorex-components-search-box.d.ts +1 -1
  238. package/types/acorex-components-selection-list.d.ts +1 -1
  239. package/types/acorex-components-side-menu.d.ts +6 -8
  240. package/types/acorex-components-slider.d.ts +1 -1
  241. package/types/acorex-components-step-wizard.d.ts +4 -4
  242. package/types/acorex-components-switch.d.ts +1 -1
  243. package/types/acorex-components-tabs.d.ts +150 -19
  244. package/types/acorex-components-tag-box.d.ts +2 -2
  245. package/types/acorex-components-text-area.d.ts +1 -1
  246. package/types/acorex-components-text-box.d.ts +1 -1
  247. package/types/acorex-components-time-duration.d.ts +1 -1
  248. package/types/acorex-components-toast.d.ts +1 -1
  249. package/types/acorex-components-tree-view.d.ts +32 -3
  250. package/types/acorex-components-wysiwyg.d.ts +15 -2
  251. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs +0 -50
  252. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map +0 -1
  253. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs +0 -210
  254. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs.map +0 -1
  255. package/fesm2022/acorex-components-flow-chart.mjs +0 -735
  256. package/fesm2022/acorex-components-flow-chart.mjs.map +0 -1
  257. package/fesm2022/acorex-components-query-builder.mjs +0 -267
  258. package/fesm2022/acorex-components-query-builder.mjs.map +0 -1
  259. package/flow-chart/README.md +0 -3
  260. package/query-builder/README.md +0 -3
  261. package/types/acorex-components-flow-chart.d.ts +0 -187
  262. package/types/acorex-components-query-builder.d.ts +0 -52
@@ -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,24 +135,30 @@ 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;
140
151
  /** @ignore */
141
152
  private resolveContextMenuTarget;
142
153
  /** @ignore */
143
154
  private removeBackdrop;
144
155
  private createEventListeners;
145
156
  /** @ignore */
146
- onWindowEvent(): void;
157
+ onWindowEvent(event?: Event): void;
147
158
  /** @ignore */
148
159
  get __hostClass(): any;
149
160
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXContextMenuComponent, never>;
150
- 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>;
151
162
  }
152
163
 
153
164
  type AXMenuItemClickEvent = AXMenuItemClickBaseEvent<AXMenuItemComponent>;
@@ -292,7 +303,7 @@ declare class AXMenuService {
292
303
  markOpen(item: AXMenuItemComponentBase): void;
293
304
  markClosed(item: AXMenuItemComponentBase): void;
294
305
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMenuService, never>;
295
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMenuService>;
306
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
296
307
  }
297
308
 
298
309
  type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;
@@ -301,6 +312,7 @@ type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;
301
312
  * @category Components
302
313
  */
303
314
  declare class AXMenuComponent extends NXComponent {
315
+ protected readonly supportsHeader = false;
304
316
  constructor();
305
317
  orientation: _angular_core.InputSignal<AXOrientation>;
306
318
  openOn: _angular_core.InputSignal<AXMenuOpenTrigger>;
@@ -318,7 +330,7 @@ declare class AXMenuComponent extends NXComponent {
318
330
  */
319
331
  close(): void;
320
332
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMenuComponent, never>;
321
- 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>;
322
334
  }
323
335
 
324
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 };
@@ -147,7 +147,7 @@ declare class AXNotificationService {
147
147
  private applyRepositionPosition;
148
148
  private getPosition;
149
149
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXNotificationService, never>;
150
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXNotificationService>;
150
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
151
151
  }
152
152
 
153
153
  export { AXNotificationComponent, AXNotificationDefaultConfig, AXNotificationModule, AXNotificationService, AX_NOTIFICATION_CONFIG, notificationConfig };
@@ -10,7 +10,7 @@ import * as i4 from '@acorex/components/decorators';
10
10
  declare const AXNumberBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
11
11
  new (): MXInputBaseValueComponent<number>;
12
12
  ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
13
- ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
13
+ ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
14
14
  }, typeof MXLookComponent]>;
15
15
  /**
16
16
  * The NumberBox is a component which detects user interaction and triggers a corresponding event
@@ -11,7 +11,7 @@ declare class AXOtpCompletedEvent extends AXEvent {
11
11
  declare const AXOtpComponent_base: polytype.Polytype.ClusteredConstructor<[{
12
12
  new (): MXValueComponent<string>;
13
13
  ɵfac: _angular_core.ɵɵFactoryDeclaration<MXValueComponent<any>, never>;
14
- ɵprov: _angular_core.ɵɵInjectableDeclaration<MXValueComponent<any>>;
14
+ ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
15
15
  }, typeof MXLookComponent]>;
16
16
  /**
17
17
  * @category
@@ -19,7 +19,7 @@ declare class AXBasePageComponent extends MXBaseComponent implements OnDestroy {
19
19
  onClosing(e: AXComponentClosing): void | Promise<void>;
20
20
  ngOnDestroy(): void;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<AXBasePageComponent, never>;
22
- static ɵprov: i0.ɵɵInjectableDeclaration<AXBasePageComponent>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
23
23
  }
24
24
 
25
25
  declare abstract class AXPageComponent extends MXBaseComponent {
@@ -46,7 +46,7 @@ declare abstract class AXPageComponent extends MXBaseComponent {
46
46
  */
47
47
  set isLoading(v: boolean);
48
48
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPageComponent, never>;
49
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPageComponent>;
49
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
50
50
  }
51
51
 
52
52
  declare class AXPageModule {
@@ -20,13 +20,13 @@ declare class AXPaintService {
20
20
  toggleClear: _angular_core.WritableSignal<boolean>;
21
21
  activeToolState: _angular_core.WritableSignal<"pen" | "highlight" | "eraser">;
22
22
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPaintService, never>;
23
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPaintService>;
23
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
24
24
  }
25
25
 
26
26
  declare const AXPaintContainerComponent_base: polytype.Polytype.ClusteredConstructor<[{
27
27
  new (): MXInputBaseValueComponent<string>;
28
28
  ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
29
- ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
29
+ ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
30
30
  }, typeof MXLookComponent]>;
31
31
  /**
32
32
  * paint container.
@@ -12,7 +12,7 @@ import * as i7 from '@acorex/core/translation';
12
12
  declare const AXPasswordBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
13
13
  new (): MXInputBaseValueComponent<string>;
14
14
  ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
15
- ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
15
+ ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
16
16
  }, typeof MXLookComponent]>;
17
17
  /**
18
18
  * A specialized input field designed for securely capturing user passwords. It incorporates essential features to enhance usability, accessibility, and security while maintaining a user-friendly interface. The component extends MXInputBaseValueComponent and MXLookComponent to provide comprehensive input functionality with visual styling options.
@@ -14,7 +14,7 @@ import * as i8 from '@acorex/components/text-box';
14
14
  declare const AXPhoneBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
15
15
  new (): MXInputBaseValueComponent<string>;
16
16
  ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
17
- ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
17
+ ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
18
18
  }, typeof MXLookComponent]>;
19
19
  /**
20
20
  * @category
@@ -148,6 +148,10 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
148
148
  * Scrolling within the popover (or any nested overlay) will not close it.
149
149
  */
150
150
  closeOnScroll: boolean;
151
+ /**
152
+ * Whether to close the popover when the application navigates to another route.
153
+ */
154
+ closeOnNavigation: boolean;
151
155
  /**
152
156
  * CSS class to apply to the backdrop element.
153
157
  */
@@ -187,11 +191,13 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
187
191
  /** @ignore */
188
192
  private removeScrollListener;
189
193
  /**
190
- * True when scroll is a side-effect of focusing an editable control inside the overlay
191
- * (soft keyboard / visual viewport adjustment), mainly on iOS Safari.
194
+ * True when document-level scroll is a side-effect of focusing an editable control
195
+ * inside the overlay (soft keyboard / visual viewport adjustment), mainly on iOS Safari.
192
196
  * @ignore
193
197
  */
194
- private isKeyboardInducedScroll;
198
+ private isKeyboardInducedDocumentScroll;
199
+ /** @ignore */
200
+ private isDocumentScrollTarget;
195
201
  /**
196
202
  * Checks whether the given element lives inside a child overlay
197
203
  * (an overlay stacked on top of this popover, e.g. a selectbox dropdown).
@@ -249,7 +255,7 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
249
255
  /** @ignore */
250
256
  ngOnDestroy(): void;
251
257
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPopoverComponent, never>;
252
- 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>;
258
+ 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; }; "closeOnNavigation": { "alias": "closeOnNavigation"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; }; }, { "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["*"], true, never>;
253
259
  }
254
260
 
255
261
  declare class AXPopoverModule {
@@ -3,6 +3,7 @@ import { TemplateRef, ViewContainerRef, StaticProvider, ElementRef, OnInit, OnDe
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';
6
+ import { AXOverlayAnimation } from '@acorex/cdk/overlay';
6
7
  import { Subject } from 'rxjs';
7
8
  import * as i1 from '@angular/common';
8
9
  import * as i3 from '@acorex/components/decorators';
@@ -46,6 +47,14 @@ interface AXPopupConfig {
46
47
  viewContainerRef?: ViewContainerRef;
47
48
  providers?: StaticProvider[];
48
49
  panelClass?: string[];
50
+ /**
51
+ * Overlay enter/leave animation applied to the popup window, not the full-screen container.
52
+ * - omitted / `true`: default fade in and fade out
53
+ * - `false` or `[]`: no animation
54
+ * - `string[]`: custom enter classes
55
+ * - `{ enter, leave }`: custom enter and leave classes
56
+ */
57
+ animation?: AXOverlayAnimation;
49
58
  direction?: 'rtl' | 'ltr';
50
59
  /** Window chrome buttons. Individual fields override flat `closeButton` / `maximizable` when set. */
51
60
  buttons?: AXPopupButtonsConfig;
@@ -63,6 +72,12 @@ interface AXPopupConfig {
63
72
  * Density context. It does not affect overlay positioning.
64
73
  */
65
74
  contextElement?: HTMLElement | ElementRef<HTMLElement>;
75
+ /** Delay in ms before the real content is created. While waiting, a skeleton placeholder is shown. */
76
+ delay?: number;
77
+ /** Skeleton template rendered during `delay`. Falls back to a built-in ax-skeleton placeholder. */
78
+ skeletonTemplate?: TemplateRef<unknown>;
79
+ /** Animates the built-in skeleton placeholder. Ignored when `skeletonTemplate` is provided. */
80
+ skeletonAnimated?: boolean;
66
81
  }
67
82
  interface AXPopupData {
68
83
  title: string;
@@ -163,8 +178,6 @@ declare class AXPopupComponent extends MXBaseComponent implements OnInit, OnDest
163
178
  private loadingService;
164
179
  private _platform;
165
180
  private componentService;
166
- private _router;
167
- private _destroyRef;
168
181
  private contentContainerRef;
169
182
  private contentContainerEl;
170
183
  private popupEl;
@@ -180,7 +193,11 @@ declare class AXPopupComponent extends MXBaseComponent implements OnInit, OnDest
180
193
  /** @ignore */
181
194
  private _loadingId;
182
195
  /** @ignore */
196
+ private _delayTimer;
197
+ /** @ignore */
183
198
  private _componentRef;
199
+ protected showSkeleton: _angular_core.WritableSignal<boolean>;
200
+ protected skeletonTemplate: () => TemplateRef<unknown>;
184
201
  /** Current title */
185
202
  protected title: _angular_core.WritableSignal<string>;
186
203
  /** @ignore */
@@ -204,13 +221,6 @@ declare class AXPopupComponent extends MXBaseComponent implements OnInit, OnDest
204
221
  protected minimizeEnabled: () => boolean;
205
222
  /** @ignore */
206
223
  ngOnInit(): void;
207
- /**
208
- * Subscribes to router navigation events so the popup is closed automatically
209
- * when the user navigates to another route. Enabled by default; disable via
210
- * `closeOnNavigation: false` in the popup config.
211
- * @ignore
212
- */
213
- private _setupCloseOnNavigation;
214
224
  /** @ignore */
215
225
  private renderContent;
216
226
  /** @ignore */
@@ -312,7 +322,7 @@ declare class AXPopupService {
312
322
  bringToFront(id: number): void;
313
323
  private getPopupInstance;
314
324
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPopupService, never>;
315
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPopupService>;
325
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
316
326
  }
317
327
 
318
328
  export { AXPopupComponent, AXPopupComponentBase, AXPopupFooterComponent, AXPopupHostComponent, AXPopupModule, AXPopupService, resolvePopupCloseButton, resolvePopupMaximizable, resolvePopupMinimize };
@@ -76,7 +76,7 @@ declare class AXRailNavigationService {
76
76
  */
77
77
  setActive(item: AXRailNavigationItemComponent): void;
78
78
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXRailNavigationService, never>;
79
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXRailNavigationService>;
79
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
80
80
  }
81
81
 
82
82
  export { AXRailNavigationComponent, AXRailNavigationItemComponent, AXRailNavigationModule, AXRailNavigationService };
@@ -15,7 +15,7 @@ type AXRangeSliderHandler = 'first' | 'second';
15
15
  declare const AXRangeSliderComponent_base: polytype.Polytype.ClusteredConstructor<[{
16
16
  new (): MXValueComponent<AXRangeSliderValue>;
17
17
  ɵfac: _angular_core.ɵɵFactoryDeclaration<MXValueComponent<any>, never>;
18
- ɵprov: _angular_core.ɵɵInjectableDeclaration<MXValueComponent<any>>;
18
+ ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
19
19
  }]>;
20
20
  /**
21
21
  * @description
@@ -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 };
@@ -33,7 +33,7 @@ type AXRestApiOutput = {
33
33
  declare class AXRestApiGeneratorService {
34
34
  outPutJSON: i0.WritableSignal<AXRestApiOutput>;
35
35
  static ɵfac: i0.ɵɵFactoryDeclaration<AXRestApiGeneratorService, never>;
36
- static ɵprov: i0.ɵɵInjectableDeclaration<AXRestApiGeneratorService>;
36
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
37
37
  }
38
38
 
39
39
  declare class AXQueryParamsComponent {
@@ -96,7 +96,7 @@ declare class AXRruleService {
96
96
  */
97
97
  rruleGetAfter(rule: AXRRuleType, date: Date, inclusive?: boolean): Date | null;
98
98
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXRruleService, never>;
99
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXRruleService>;
99
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
100
100
  }
101
101
 
102
102
  declare class AXRrulePreviewComponent implements OnInit {
@@ -909,7 +909,7 @@ declare class AXSchedulerPickerService {
909
909
  */
910
910
  private getOccurrencePositionText;
911
911
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerPickerService, never>;
912
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXSchedulerPickerService>;
912
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
913
913
  }
914
914
 
915
915
  /**
@@ -1329,7 +1329,7 @@ declare class AXSchedulerService {
1329
1329
  */
1330
1330
  applyDropResult(appointment: AXSchedulerAppointment, dropResult: AXSchedulerAppointmentDropResult): AXSchedulerAppointment;
1331
1331
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerService, never>;
1332
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXSchedulerService>;
1332
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
1333
1333
  }
1334
1334
 
1335
1335
  export { AXSchedulerAgendaViewComponent, AXSchedulerComponent, AXSchedulerDayViewComponent, AXSchedulerModule, AXSchedulerMonthViewComponent, AXSchedulerService, AXSchedulerTimelineDayViewComponent, AXSchedulerTimelineMonthViewComponent, AXSchedulerTimelineWeeklyViewComponent, AXSchedulerTimelineYearViewComponent, AXSchedulerWeekViewComponent };
@@ -12,7 +12,7 @@ import * as i6 from '@acorex/components/button';
12
12
  declare const AXSearchBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
13
13
  new (): MXInputBaseValueComponent<string>;
14
14
  ɵfac: i0.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
15
- ɵprov: i0.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
15
+ ɵprov: i0.ɵɵInjectableDeclaration<any>;
16
16
  }, typeof MXLookComponent]>;
17
17
  /**
18
18
  * @category
@@ -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 {
@@ -29,7 +29,7 @@ interface AXSideMenuContextMenuItemData {
29
29
  declare class AXSideMenuItemComponent extends MXInteractiveComponent {
30
30
  #private;
31
31
  text: _angular_core.ModelSignal<string>;
32
- active: _angular_core.ModelSignal<boolean>;
32
+ readonly active: _angular_core.InputSignal<boolean>;
33
33
  isLoading: _angular_core.ModelSignal<boolean>;
34
34
  isCollapsed: _angular_core.ModelSignal<boolean>;
35
35
  onClick: _angular_core.OutputEmitterRef<AXSideMenuItemClickEvent>;
@@ -90,7 +90,7 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent {
90
90
  private updateHasChild;
91
91
  private updateContentLabel;
92
92
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSideMenuItemComponent, never>;
93
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuItemComponent, "ax-side-menu-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "text": "textChange"; "active": "activeChange"; "isLoading": "isLoadingChange"; "isCollapsed": "isCollapsedChange"; "onClick": "onClick"; }, ["childItems"], ["ax-title", "ax-side-menu-item, ng-container, [ngTemplateOutlet]", "ax-divider", "ax-prefix", "*", "ax-suffix"], true, never>;
93
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuItemComponent, "ax-side-menu-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "text": "textChange"; "isLoading": "isLoadingChange"; "isCollapsed": "isCollapsedChange"; "onClick": "onClick"; }, ["childItems"], ["ax-title", "ax-side-menu-item, ng-container, [ngTemplateOutlet]", "ax-divider", "ax-prefix", "*", "ax-suffix"], true, never>;
94
94
  }
95
95
 
96
96
  type AXSideMenuLook = 'default' | 'with-line';
@@ -148,15 +148,13 @@ declare class AXSideMenuComponent extends NXComponent implements AXSideMenuBase
148
148
  declare class AXOutlineSideMenuDirective {
149
149
  #private;
150
150
  private router;
151
+ private host;
151
152
  private unsubscriber;
152
153
  private sideMenu;
153
154
  private container;
154
- private updateSideMenu;
155
- /**
156
- * Creates a string signature that represents the tree structure of the menu.
157
- * Example: "href1(href1.1,href1.2),href2,href3"
158
- * This will be different for a flat list vs. a nested list.
159
- */
155
+ private handleSideMenuLinkClick;
156
+ private cloneMenuTree;
157
+ private getActiveSignature;
160
158
  private getStructuralSignature;
161
159
  private flattenMenuItems;
162
160
  private textReplace;
@@ -8,7 +8,7 @@ import * as i3 from '@angular/forms';
8
8
  declare const AXSliderComponent_base: polytype.Polytype.ClusteredConstructor<[{
9
9
  new (): MXValueComponent<number>;
10
10
  ɵfac: i0.ɵɵFactoryDeclaration<MXValueComponent<any>, never>;
11
- ɵprov: i0.ɵɵInjectableDeclaration<MXValueComponent<any>>;
11
+ ɵprov: i0.ɵɵInjectableDeclaration<any>;
12
12
  }, typeof MXColorComponent]>;
13
13
  /**
14
14
  * @deprecated Use `range slider` instead.