@acorex/components 21.0.1-next.90 → 21.0.1-next.92

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 (339) hide show
  1. package/{types/acorex-components-accordion.d.ts → accordion/index.d.ts} +1 -0
  2. package/{types/acorex-components-button.d.ts → button/index.d.ts} +3 -3
  3. package/{types/acorex-components-button-group.d.ts → button-group/index.d.ts} +12 -14
  4. package/{types/acorex-components-check-box.d.ts → check-box/index.d.ts} +1 -1
  5. package/{types/acorex-components-chips.d.ts → chips/index.d.ts} +8 -3
  6. package/collapse/README.md +3 -0
  7. package/collapse/index.d.ts +174 -0
  8. package/{types/acorex-components-conversation2.d.ts → conversation2/index.d.ts} +925 -925
  9. package/{types/acorex-components-data-table.d.ts → data-table/index.d.ts} +253 -4
  10. package/drawer-legacy/README.md +3 -0
  11. package/drawer-legacy/index.d.ts +86 -0
  12. package/{types/acorex-components-dropdown-button.d.ts → dropdown-button/index.d.ts} +2 -4
  13. package/fesm2022/acorex-components-accordion.mjs +22 -17
  14. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  15. package/fesm2022/acorex-components-action-sheet.mjs +17 -17
  16. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  17. package/fesm2022/acorex-components-alert.mjs +14 -14
  18. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  19. package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
  20. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  21. package/fesm2022/acorex-components-audio-wave.mjs +11 -12
  22. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  23. package/fesm2022/acorex-components-autocomplete.mjs +9 -9
  24. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  25. package/fesm2022/acorex-components-avatar.mjs +13 -13
  26. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  27. package/fesm2022/acorex-components-badge.mjs +10 -10
  28. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  29. package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
  30. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  31. package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
  32. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  33. package/fesm2022/acorex-components-button-group.mjs +26 -41
  34. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  35. package/fesm2022/acorex-components-button.mjs +22 -22
  36. package/fesm2022/acorex-components-button.mjs.map +1 -1
  37. package/fesm2022/acorex-components-calendar.mjs +18 -18
  38. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  39. package/fesm2022/acorex-components-check-box.mjs +11 -11
  40. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  41. package/fesm2022/acorex-components-chips.mjs +14 -12
  42. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  43. package/fesm2022/acorex-components-circular-progress.mjs +11 -13
  44. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  45. package/fesm2022/acorex-components-code-editor.mjs +14 -14
  46. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  47. package/fesm2022/acorex-components-collapse.mjs +366 -0
  48. package/fesm2022/acorex-components-collapse.mjs.map +1 -0
  49. package/fesm2022/acorex-components-color-box.mjs +11 -11
  50. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  51. package/fesm2022/acorex-components-color-palette.mjs +31 -31
  52. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  53. package/fesm2022/acorex-components-command.mjs +11 -11
  54. package/fesm2022/acorex-components-command.mjs.map +1 -1
  55. package/fesm2022/acorex-components-comment.mjs +33 -33
  56. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  57. package/fesm2022/acorex-components-conversation.mjs +63 -63
  58. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  59. package/fesm2022/acorex-components-conversation2.mjs +248 -256
  60. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  61. package/fesm2022/acorex-components-cron-job.mjs +55 -55
  62. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  63. package/fesm2022/acorex-components-data-list.mjs +6 -6
  64. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  65. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  66. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  67. package/fesm2022/acorex-components-data-table.mjs +486 -50
  68. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  69. package/fesm2022/acorex-components-datetime-box.mjs +10 -10
  70. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  71. package/fesm2022/acorex-components-datetime-input.mjs +10 -10
  72. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  73. package/fesm2022/acorex-components-datetime-picker.mjs +11 -11
  74. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  75. package/fesm2022/acorex-components-decorators.mjs +41 -48
  76. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  77. package/fesm2022/acorex-components-dialog.mjs +13 -13
  78. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  79. package/fesm2022/acorex-components-drawer-legacy.mjs +218 -0
  80. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -0
  81. package/fesm2022/acorex-components-drawer.mjs +17 -16
  82. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  83. package/fesm2022/acorex-components-dropdown-button.mjs +11 -19
  84. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  85. package/fesm2022/acorex-components-dropdown.mjs +18 -18
  86. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  87. package/fesm2022/acorex-components-editor.mjs +12 -12
  88. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  89. package/fesm2022/acorex-components-fab.mjs +9 -9
  90. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  91. package/fesm2022/acorex-components-file-explorer.mjs +307 -0
  92. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -0
  93. package/fesm2022/acorex-components-flow-chart.mjs +22 -22
  94. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  95. package/fesm2022/acorex-components-form.mjs +27 -35
  96. package/fesm2022/acorex-components-form.mjs.map +1 -1
  97. package/fesm2022/acorex-components-grid-layout-builder.mjs +14 -13
  98. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  99. package/fesm2022/acorex-components-image-editor.mjs +48 -48
  100. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  101. package/fesm2022/acorex-components-image.mjs +10 -10
  102. package/fesm2022/acorex-components-image.mjs.map +1 -1
  103. package/fesm2022/acorex-components-json-viewer.mjs +9 -9
  104. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  105. package/fesm2022/acorex-components-kanban.mjs +7 -9
  106. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  107. package/fesm2022/acorex-components-kbd.mjs +10 -10
  108. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  109. package/fesm2022/acorex-components-label.mjs +9 -9
  110. package/fesm2022/acorex-components-label.mjs.map +1 -1
  111. package/fesm2022/acorex-components-list.mjs +10 -10
  112. package/fesm2022/acorex-components-list.mjs.map +1 -1
  113. package/fesm2022/acorex-components-loading-dialog.mjs +12 -12
  114. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  115. package/fesm2022/acorex-components-loading.mjs +21 -21
  116. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  117. package/fesm2022/acorex-components-map.mjs +15 -15
  118. package/fesm2022/acorex-components-map.mjs.map +1 -1
  119. package/fesm2022/acorex-components-media-viewer.mjs +45 -45
  120. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  121. package/fesm2022/acorex-components-menu.mjs +29 -29
  122. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  123. package/fesm2022/{acorex-components-modal-acorex-components-modal-DWNqU6or.mjs → acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs} +24 -24
  124. package/fesm2022/acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs.map +1 -0
  125. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs +212 -0
  126. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs.map +1 -0
  127. package/fesm2022/acorex-components-modal.mjs +1 -1
  128. package/fesm2022/acorex-components-navbar.mjs +9 -9
  129. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  130. package/fesm2022/acorex-components-notification.mjs +13 -13
  131. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  132. package/fesm2022/acorex-components-number-box-legacy.mjs +430 -0
  133. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -0
  134. package/fesm2022/acorex-components-number-box.mjs +10 -10
  135. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  136. package/fesm2022/acorex-components-otp.mjs +10 -10
  137. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  138. package/fesm2022/acorex-components-page.mjs +10 -10
  139. package/fesm2022/acorex-components-page.mjs.map +1 -1
  140. package/fesm2022/acorex-components-paint.mjs +40 -35
  141. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  142. package/fesm2022/acorex-components-password-box.mjs +23 -15
  143. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  144. package/fesm2022/acorex-components-pdf-reader.mjs +9 -9
  145. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  146. package/fesm2022/acorex-components-phone-box.mjs +10 -10
  147. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  148. package/fesm2022/acorex-components-picker.mjs +20 -20
  149. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  150. package/fesm2022/acorex-components-popover.mjs +8 -8
  151. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  152. package/fesm2022/acorex-components-popup.mjs +17 -17
  153. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  154. package/fesm2022/acorex-components-progress-bar.mjs +9 -11
  155. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  156. package/fesm2022/acorex-components-qrcode.mjs +10 -10
  157. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  158. package/fesm2022/acorex-components-query-builder.mjs +9 -9
  159. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  160. package/fesm2022/acorex-components-radio.mjs +9 -10
  161. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  162. package/fesm2022/acorex-components-rail-navigation.mjs +38 -40
  163. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  164. package/fesm2022/acorex-components-range-slider.mjs +11 -11
  165. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  166. package/fesm2022/acorex-components-rate-picker.mjs +35 -20
  167. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  168. package/fesm2022/acorex-components-rest-api-generator.mjs +28 -28
  169. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  170. package/fesm2022/acorex-components-result.mjs +8 -8
  171. package/fesm2022/acorex-components-result.mjs.map +1 -1
  172. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  173. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  174. package/fesm2022/acorex-components-rrule.mjs +11 -11
  175. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  176. package/fesm2022/acorex-components-scheduler-picker.mjs +179 -173
  177. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  178. package/fesm2022/acorex-components-scheduler.mjs +52 -52
  179. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  180. package/fesm2022/acorex-components-scss.mjs +22 -0
  181. package/fesm2022/acorex-components-scss.mjs.map +1 -0
  182. package/fesm2022/acorex-components-search-box.mjs +11 -17
  183. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  184. package/fesm2022/acorex-components-select-box.mjs +12 -14
  185. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  186. package/fesm2022/acorex-components-selection-list-2.mjs +12 -12
  187. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  188. package/fesm2022/acorex-components-selection-list.mjs +10 -10
  189. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  190. package/fesm2022/acorex-components-side-menu.mjs +24 -81
  191. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  192. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  193. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  194. package/fesm2022/acorex-components-slider.mjs +13 -13
  195. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  196. package/fesm2022/acorex-components-sliding-item.mjs +19 -19
  197. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  198. package/fesm2022/acorex-components-step-wizard.mjs +16 -16
  199. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  200. package/fesm2022/acorex-components-switch.mjs +14 -14
  201. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  202. package/fesm2022/acorex-components-tabs.mjs +17 -17
  203. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  204. package/fesm2022/acorex-components-tag-box.mjs +10 -10
  205. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  206. package/fesm2022/acorex-components-tag.mjs +10 -10
  207. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  208. package/fesm2022/acorex-components-text-area.mjs +9 -9
  209. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  210. package/fesm2022/acorex-components-text-box.mjs +12 -12
  211. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  212. package/fesm2022/acorex-components-time-duration.mjs +8 -8
  213. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  214. package/fesm2022/acorex-components-time-line.mjs +14 -14
  215. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  216. package/fesm2022/acorex-components-toast.mjs +13 -13
  217. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  218. package/fesm2022/acorex-components-toolbar.mjs +10 -10
  219. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  220. package/fesm2022/acorex-components-tooltip.mjs +14 -14
  221. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  222. package/fesm2022/acorex-components-tree-view-legacy.mjs +515 -0
  223. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -0
  224. package/fesm2022/acorex-components-tree-view.mjs +13 -13
  225. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  226. package/fesm2022/acorex-components-uploader.mjs +17 -17
  227. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  228. package/fesm2022/acorex-components-video-player.mjs +9 -9
  229. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  230. package/fesm2022/acorex-components-wysiwyg.mjs +45 -45
  231. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  232. package/fesm2022/acorex-components.mjs.map +1 -1
  233. package/file-explorer/README.md +3 -0
  234. package/file-explorer/index.d.ts +103 -0
  235. package/{types/acorex-components-form.d.ts → form/index.d.ts} +24 -24
  236. package/{types/acorex-components-grid-layout-builder.d.ts → grid-layout-builder/index.d.ts} +1 -0
  237. package/{types/acorex-components-loading.d.ts → loading/index.d.ts} +1 -1
  238. package/{types/acorex-components-menu.d.ts → menu/index.d.ts} +6 -6
  239. package/number-box-legacy/README.md +3 -0
  240. package/number-box-legacy/index.d.ts +191 -0
  241. package/package.json +146 -122
  242. package/{types/acorex-components-paint.d.ts → paint/index.d.ts} +6 -1
  243. package/{types/acorex-components-radio.d.ts → radio/index.d.ts} +1 -1
  244. package/{types/acorex-components-rate-picker.d.ts → rate-picker/index.d.ts} +15 -5
  245. package/{types/acorex-components-scheduler-picker.d.ts → scheduler-picker/index.d.ts} +81 -82
  246. package/scss/README.md +3 -0
  247. package/scss/index.d.ts +10 -0
  248. package/{types/acorex-components-select-box.d.ts → select-box/index.d.ts} +1 -1
  249. package/{types/acorex-components-side-menu.d.ts → side-menu/index.d.ts} +2 -9
  250. package/{types/acorex-components-slider.d.ts → slider/index.d.ts} +2 -2
  251. package/{types/acorex-components-tabs.d.ts → tabs/index.d.ts} +1 -1
  252. package/{types/acorex-components-tag.d.ts → tag/index.d.ts} +3 -3
  253. package/tree-view-legacy/README.md +3 -0
  254. package/tree-view-legacy/index.d.ts +185 -0
  255. package/fesm2022/acorex-components-modal-acorex-components-modal-DWNqU6or.mjs.map +0 -1
  256. package/fesm2022/acorex-components-modal-modal-content.component-DplJbJyk.mjs +0 -214
  257. package/fesm2022/acorex-components-modal-modal-content.component-DplJbJyk.mjs.map +0 -1
  258. /package/{types/acorex-components-action-sheet.d.ts → action-sheet/index.d.ts} +0 -0
  259. /package/{types/acorex-components-alert.d.ts → alert/index.d.ts} +0 -0
  260. /package/{types/acorex-components-aspect-ratio.d.ts → aspect-ratio/index.d.ts} +0 -0
  261. /package/{types/acorex-components-audio-wave.d.ts → audio-wave/index.d.ts} +0 -0
  262. /package/{types/acorex-components-autocomplete.d.ts → autocomplete/index.d.ts} +0 -0
  263. /package/{types/acorex-components-avatar.d.ts → avatar/index.d.ts} +0 -0
  264. /package/{types/acorex-components-badge.d.ts → badge/index.d.ts} +0 -0
  265. /package/{types/acorex-components-bottom-navigation.d.ts → bottom-navigation/index.d.ts} +0 -0
  266. /package/{types/acorex-components-breadcrumbs.d.ts → breadcrumbs/index.d.ts} +0 -0
  267. /package/{types/acorex-components-calendar.d.ts → calendar/index.d.ts} +0 -0
  268. /package/{types/acorex-components-circular-progress.d.ts → circular-progress/index.d.ts} +0 -0
  269. /package/{types/acorex-components-code-editor.d.ts → code-editor/index.d.ts} +0 -0
  270. /package/{types/acorex-components-color-box.d.ts → color-box/index.d.ts} +0 -0
  271. /package/{types/acorex-components-color-palette.d.ts → color-palette/index.d.ts} +0 -0
  272. /package/{types/acorex-components-command.d.ts → command/index.d.ts} +0 -0
  273. /package/{types/acorex-components-comment.d.ts → comment/index.d.ts} +0 -0
  274. /package/{types/acorex-components-conversation.d.ts → conversation/index.d.ts} +0 -0
  275. /package/{types/acorex-components-cron-job.d.ts → cron-job/index.d.ts} +0 -0
  276. /package/{types/acorex-components-data-list.d.ts → data-list/index.d.ts} +0 -0
  277. /package/{types/acorex-components-data-pager.d.ts → data-pager/index.d.ts} +0 -0
  278. /package/{types/acorex-components-datetime-box.d.ts → datetime-box/index.d.ts} +0 -0
  279. /package/{types/acorex-components-datetime-input.d.ts → datetime-input/index.d.ts} +0 -0
  280. /package/{types/acorex-components-datetime-picker.d.ts → datetime-picker/index.d.ts} +0 -0
  281. /package/{types/acorex-components-decorators.d.ts → decorators/index.d.ts} +0 -0
  282. /package/{types/acorex-components-dialog.d.ts → dialog/index.d.ts} +0 -0
  283. /package/{types/acorex-components-drawer.d.ts → drawer/index.d.ts} +0 -0
  284. /package/{types/acorex-components-dropdown.d.ts → dropdown/index.d.ts} +0 -0
  285. /package/{types/acorex-components-editor.d.ts → editor/index.d.ts} +0 -0
  286. /package/{types/acorex-components-fab.d.ts → fab/index.d.ts} +0 -0
  287. /package/{types/acorex-components-flow-chart.d.ts → flow-chart/index.d.ts} +0 -0
  288. /package/{types/acorex-components-image.d.ts → image/index.d.ts} +0 -0
  289. /package/{types/acorex-components-image-editor.d.ts → image-editor/index.d.ts} +0 -0
  290. /package/{types/acorex-components.d.ts → index.d.ts} +0 -0
  291. /package/{types/acorex-components-json-viewer.d.ts → json-viewer/index.d.ts} +0 -0
  292. /package/{types/acorex-components-kanban.d.ts → kanban/index.d.ts} +0 -0
  293. /package/{types/acorex-components-kbd.d.ts → kbd/index.d.ts} +0 -0
  294. /package/{types/acorex-components-label.d.ts → label/index.d.ts} +0 -0
  295. /package/{types/acorex-components-list.d.ts → list/index.d.ts} +0 -0
  296. /package/{types/acorex-components-loading-dialog.d.ts → loading-dialog/index.d.ts} +0 -0
  297. /package/{types/acorex-components-map.d.ts → map/index.d.ts} +0 -0
  298. /package/{types/acorex-components-media-viewer.d.ts → media-viewer/index.d.ts} +0 -0
  299. /package/{types/acorex-components-modal.d.ts → modal/index.d.ts} +0 -0
  300. /package/{types/acorex-components-navbar.d.ts → navbar/index.d.ts} +0 -0
  301. /package/{types/acorex-components-notification.d.ts → notification/index.d.ts} +0 -0
  302. /package/{types/acorex-components-number-box.d.ts → number-box/index.d.ts} +0 -0
  303. /package/{types/acorex-components-otp.d.ts → otp/index.d.ts} +0 -0
  304. /package/{types/acorex-components-page.d.ts → page/index.d.ts} +0 -0
  305. /package/{types/acorex-components-password-box.d.ts → password-box/index.d.ts} +0 -0
  306. /package/{types/acorex-components-pdf-reader.d.ts → pdf-reader/index.d.ts} +0 -0
  307. /package/{types/acorex-components-phone-box.d.ts → phone-box/index.d.ts} +0 -0
  308. /package/{types/acorex-components-picker.d.ts → picker/index.d.ts} +0 -0
  309. /package/{types/acorex-components-popover.d.ts → popover/index.d.ts} +0 -0
  310. /package/{types/acorex-components-popup.d.ts → popup/index.d.ts} +0 -0
  311. /package/{types/acorex-components-progress-bar.d.ts → progress-bar/index.d.ts} +0 -0
  312. /package/{types/acorex-components-qrcode.d.ts → qrcode/index.d.ts} +0 -0
  313. /package/{types/acorex-components-query-builder.d.ts → query-builder/index.d.ts} +0 -0
  314. /package/{types/acorex-components-rail-navigation.d.ts → rail-navigation/index.d.ts} +0 -0
  315. /package/{types/acorex-components-range-slider.d.ts → range-slider/index.d.ts} +0 -0
  316. /package/{types/acorex-components-rest-api-generator.d.ts → rest-api-generator/index.d.ts} +0 -0
  317. /package/{types/acorex-components-result.d.ts → result/index.d.ts} +0 -0
  318. /package/{types/acorex-components-routing-progress.d.ts → routing-progress/index.d.ts} +0 -0
  319. /package/{types/acorex-components-rrule.d.ts → rrule/index.d.ts} +0 -0
  320. /package/{types/acorex-components-scheduler.d.ts → scheduler/index.d.ts} +0 -0
  321. /package/{types/acorex-components-search-box.d.ts → search-box/index.d.ts} +0 -0
  322. /package/{types/acorex-components-selection-list.d.ts → selection-list/index.d.ts} +0 -0
  323. /package/{types/acorex-components-selection-list-2.d.ts → selection-list-2/index.d.ts} +0 -0
  324. /package/{types/acorex-components-skeleton.d.ts → skeleton/index.d.ts} +0 -0
  325. /package/{types/acorex-components-sliding-item.d.ts → sliding-item/index.d.ts} +0 -0
  326. /package/{types/acorex-components-step-wizard.d.ts → step-wizard/index.d.ts} +0 -0
  327. /package/{types/acorex-components-switch.d.ts → switch/index.d.ts} +0 -0
  328. /package/{types/acorex-components-tag-box.d.ts → tag-box/index.d.ts} +0 -0
  329. /package/{types/acorex-components-text-area.d.ts → text-area/index.d.ts} +0 -0
  330. /package/{types/acorex-components-text-box.d.ts → text-box/index.d.ts} +0 -0
  331. /package/{types/acorex-components-time-duration.d.ts → time-duration/index.d.ts} +0 -0
  332. /package/{types/acorex-components-time-line.d.ts → time-line/index.d.ts} +0 -0
  333. /package/{types/acorex-components-toast.d.ts → toast/index.d.ts} +0 -0
  334. /package/{types/acorex-components-toolbar.d.ts → toolbar/index.d.ts} +0 -0
  335. /package/{types/acorex-components-tooltip.d.ts → tooltip/index.d.ts} +0 -0
  336. /package/{types/acorex-components-tree-view.d.ts → tree-view/index.d.ts} +0 -0
  337. /package/{types/acorex-components-uploader.d.ts → uploader/index.d.ts} +0 -0
  338. /package/{types/acorex-components-video-player.d.ts → video-player/index.d.ts} +0 -0
  339. /package/{types/acorex-components-wysiwyg.d.ts → wysiwyg/index.d.ts} +0 -0
@@ -1,13 +1,13 @@
1
1
  import * as _acorex_components_conversation2 from '@acorex/components/conversation2';
2
2
  import * as _angular_core from '@angular/core';
3
- import { OnDestroy, ViewContainerRef, Type, InputSignal, WritableSignal, Signal, OnInit, EventEmitter, TemplateRef, InjectionToken, ElementRef, ModuleWithProviders, Provider } from '@angular/core';
3
+ import { OnDestroy, ViewContainerRef, Type, InputSignal, WritableSignal, Signal, InjectionToken, OnInit, EventEmitter, TemplateRef, ElementRef, ModuleWithProviders, Provider } from '@angular/core';
4
4
  import { AXComponentCloseEvent, AXHtmlEvent, AXDataSource, AXClosableComponent } from '@acorex/cdk/common';
5
5
  import { AXUploaderChangedEvent } from '@acorex/cdk/uploader';
6
+ import * as rxjs from 'rxjs';
7
+ import { Observable, BehaviorSubject, Subject } from 'rxjs';
6
8
  import { AXPopoverComponent } from '@acorex/components/popover';
7
9
  import { AXListComponent } from '@acorex/components/list';
8
10
  import { AXPopupService, AXPopupRef } from '@acorex/components/popup';
9
- import * as rxjs from 'rxjs';
10
- import { Observable, BehaviorSubject, Subject } from 'rxjs';
11
11
  import { AXDialogService } from '@acorex/components/dialog';
12
12
  import { AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
13
13
  import { AXBasePageComponent } from '@acorex/components/page';
@@ -661,144 +661,6 @@ interface AXConversationSort {
661
661
  direction: 'asc' | 'desc';
662
662
  }
663
663
 
664
- declare class AXComposerComponent implements OnDestroy {
665
- #private;
666
- private readonly conversationService;
667
- private readonly messageApi;
668
- private readonly composerService;
669
- private readonly messageListService;
670
- private readonly popupService;
671
- private readonly config;
672
- private readonly translation;
673
- /** Access registry through conversation service */
674
- private get registry();
675
- /** Input element reference */
676
- private readonly inputElementRef;
677
- /** Draft text - use service */
678
- readonly draftText: _angular_core.WritableSignal<string>;
679
- /** Attachments - use service */
680
- readonly attachments: _angular_core.WritableSignal<File[]>;
681
- /** Editing message */
682
- readonly editingMessage: _angular_core.WritableSignal<any>;
683
- /** Replying to message */
684
- readonly replyingToMessage: _angular_core.WritableSignal<AXMessage>;
685
- /** Show typing indicator - use service */
686
- readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
687
- /** Message sent event */
688
- readonly messageSent: _angular_core.OutputEmitterRef<AXSendMessageCommand>;
689
- /** Emoji clicked event */
690
- readonly emojiClick: _angular_core.OutputEmitterRef<void>;
691
- /** Attach clicked event */
692
- readonly attachClick: _angular_core.OutputEmitterRef<void>;
693
- /** Voice clicked event */
694
- readonly voiceClick: _angular_core.OutputEmitterRef<void>;
695
- /** Active conversation */
696
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
697
- readonly activeMessages: _angular_core.Signal<AXMessage[]>;
698
- /** Active component from service */
699
- readonly activeComponent: _angular_core.Signal<_acorex_components_conversation2.AXComposerActiveComponent>;
700
- /** Emoji popover state */
701
- private readonly emojiPopoverRef;
702
- readonly emojiPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
703
- readonly composerPopupComponent: typeof AXComposerPopupComponent;
704
- /** Input placeholder - use service */
705
- readonly placeholder: _angular_core.Signal<string>;
706
- /** Sending message state */
707
- readonly sendingMessage: _angular_core.WritableSignal<boolean>;
708
- /** Typing indicator subject for rate limiting */
709
- private readonly typingSubject;
710
- constructor();
711
- private draftSaveTimeout?;
712
- /** Number of input rows - use service */
713
- readonly inputRows: _angular_core.Signal<number>;
714
- /** Can send message - use service */
715
- readonly canSend: _angular_core.Signal<boolean>;
716
- /** Left actions from registry - use service */
717
- readonly leftActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
718
- /** Right actions from registry - use service */
719
- readonly rightActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
720
- /** Left inline actions (location = 'inline' or undefined) */
721
- readonly leftInlineActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
722
- /** Left menu actions (location = 'menu') */
723
- readonly leftMenuActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
724
- /** Right inline actions (location = 'inline' or undefined) */
725
- readonly rightInlineActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
726
- /** Right menu actions (location = 'menu') */
727
- readonly rightMenuActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
728
- /** Handle key down */
729
- onKeyDown(event: AXHtmlEvent<KeyboardEvent>): void;
730
- /** Handle input */
731
- onInput(): void;
732
- /** Send typing indicator (throttled via RxJS) */
733
- private sendTypingIndicator;
734
- /** Cleanup on destroy */
735
- ngOnDestroy(): void;
736
- /** Handle send click */
737
- onSendClick(): Promise<void>;
738
- /** Handle emoji click */
739
- onEmojiClick(event?: MouseEvent): Promise<void>;
740
- /** Handle emoji popover closed */
741
- onEmojiPopoverClosed(): void;
742
- /** Handle emoji/sticker selection from popup */
743
- onEmojiItemSelected(item: string | AXStickerPayload): void;
744
- /** Send sticker message */
745
- private sendSticker;
746
- /** Get inputs for emoji popup component */
747
- getEmojiPopupInputs(): Record<string, unknown>;
748
- /** Handle attach click */
749
- onAttachClick(): void;
750
- /** Handle voice click */
751
- onVoiceClick(): void;
752
- /** Remove attachment */
753
- removeAttachment(index: number): void;
754
- /** Files selected via uploader */
755
- onFilesSelected(e: AXUploaderChangedEvent): Promise<void>;
756
- /**
757
- * Validate file before upload
758
- * @param file - File to validate
759
- * @throws {Error} If file is invalid
760
- */
761
- private validateFile;
762
- /** Cancel edit/reply mode */
763
- cancelEditReply(): void;
764
- /** Reset all composer states (used when switching conversations) */
765
- private resetComposerState;
766
- /** Start editing a message */
767
- startEdit(message: any): void;
768
- /** Start replying to a message */
769
- startReply(message: AXMessage): void;
770
- /** Handle action click */
771
- onActionClick(actionId: string, event?: MouseEvent): Promise<void>;
772
- /** Check if action is enabled */
773
- isActionEnabled(action: any): boolean;
774
- /** Get replying sender name */
775
- getReplyingSenderName(): string;
776
- getActionLabel(action: {
777
- label: string;
778
- }): string;
779
- /** Get replying message text */
780
- getReplyingMessageText(): string;
781
- /** Preview object for replying banner (type, icon, value) */
782
- getReplyingPreview(): {
783
- value: string;
784
- type: string;
785
- icon: string;
786
- } | null;
787
- /** Preview object for editing banner (type, icon, value) */
788
- getEditingPreview(): {
789
- value: string;
790
- type: string;
791
- icon: string;
792
- } | null;
793
- /** Handle reply preview click - scroll to original message */
794
- onReplyPreviewClick(): void;
795
- /** Get inputs for dynamic component */
796
- getComponentInputs(): Record<string, unknown>;
797
- onEnter(event: AXHtmlEvent<KeyboardEvent>): Promise<void>;
798
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComposerComponent, never>;
799
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXComposerComponent, "ax-conversation-composer", never, {}, { "messageSent": "messageSent"; "emojiClick": "emojiClick"; "attachClick": "attachClick"; "voiceClick": "voiceClick"; }, never, never, true, never>;
800
- }
801
-
802
664
  /**
803
665
  * Abstract Base Registry
804
666
  * Base class for all registries with common functionality
@@ -1537,7 +1399,7 @@ declare class AXComposerService {
1537
1399
  private readonly _editMessage;
1538
1400
  readonly replyMessage: _angular_core.Signal<AXMessage>;
1539
1401
  readonly editMessage: _angular_core.Signal<AXMessage>;
1540
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
1402
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
1541
1403
  readonly activeMessages: _angular_core.Signal<AXMessage[]>;
1542
1404
  /** Active component being shown in composer (full-width mode) */
1543
1405
  private readonly _activeComponent;
@@ -1609,214 +1471,219 @@ declare class AXComposerService {
1609
1471
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXComposerService>;
1610
1472
  }
1611
1473
 
1612
- declare class AXConversationContainerComponent {
1613
- private readonly conversationService;
1614
- protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
1615
- /** Custom CSS class */
1616
- readonly customClass: _angular_core.InputSignal<string>;
1617
- /** Loading state */
1618
- readonly loading: _angular_core.Signal<boolean>;
1619
- /** Error state */
1620
- readonly error: _angular_core.Signal<Error>;
1621
- /** Active conversation */
1622
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
1623
- /** Container CSS classes */
1624
- readonly containerClasses: _angular_core.Signal<string>;
1625
- closeActiveConversation(): void;
1626
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerComponent, never>;
1627
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationContainerComponent, "ax-conversation-container", never, { "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; }, {}, never, ["ax-conversation-sidebar, [ax-conversation-sidebar]", "ax-conversation-info-bar, [ax-conversation-info-bar]", "ax-conversation-message-list, [ax-conversation-message-list]", "ax-conversation-composer, [ax-conversation-composer]", "ax-conversation-empty"], true, never>;
1628
- }
1629
-
1630
- declare class AXConversationContainerDirective {
1631
- private readonly conversationService;
1632
- /** Active conversation */
1633
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
1634
- /** Loading state */
1635
- readonly loading: _angular_core.Signal<boolean>;
1636
- /** Error state */
1637
- readonly error: _angular_core.Signal<Error>;
1638
- closeActiveConversation(): void;
1639
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerDirective, never>;
1640
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXConversationContainerDirective, "[axConversationContainer]", never, {}, {}, never, never, true, never>;
1641
- }
1642
-
1643
- interface DropdownMenuItem {
1644
- id: string;
1645
- label: string;
1646
- icon?: string;
1647
- disabled?: boolean;
1648
- divider?: boolean;
1649
- destructive?: boolean;
1650
- shortcut?: string;
1651
- }
1652
- declare class AXInfoBarComponent {
1474
+ declare class AXComposerComponent implements OnDestroy {
1475
+ #private;
1653
1476
  private readonly conversationService;
1654
- private readonly infoBar;
1655
- protected get registry(): _acorex_components_conversation2.AXRegistryService;
1477
+ private readonly messageApi;
1478
+ private readonly composerService;
1479
+ private readonly messageListService;
1480
+ private readonly popupService;
1481
+ private readonly config;
1482
+ private readonly translation;
1483
+ /** Access registry through conversation service */
1484
+ private get registry();
1485
+ /** Input element reference */
1486
+ private readonly inputElementRef;
1487
+ /** Draft text - use service */
1488
+ readonly draftText: _angular_core.WritableSignal<string>;
1489
+ /** Attachments - use service */
1490
+ readonly attachments: _angular_core.WritableSignal<File[]>;
1491
+ /** Editing message */
1492
+ readonly editingMessage: _angular_core.WritableSignal<any>;
1493
+ /** Replying to message */
1494
+ readonly replyingToMessage: _angular_core.WritableSignal<AXMessage>;
1495
+ /** Show typing indicator - use service */
1496
+ readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
1497
+ /** Message sent event */
1498
+ readonly messageSent: _angular_core.OutputEmitterRef<AXSendMessageCommand>;
1499
+ /** Emoji clicked event */
1500
+ readonly emojiClick: _angular_core.OutputEmitterRef<void>;
1501
+ /** Attach clicked event */
1502
+ readonly attachClick: _angular_core.OutputEmitterRef<void>;
1503
+ /** Voice clicked event */
1504
+ readonly voiceClick: _angular_core.OutputEmitterRef<void>;
1656
1505
  /** Active conversation */
1657
1506
  readonly activeConversation: _angular_core.Signal<AXConversation>;
1507
+ readonly activeMessages: _angular_core.Signal<AXMessage[]>;
1658
1508
  /** Active component from service */
1659
- readonly activeComponent: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarActiveComponent>;
1660
- /** Active banner from service */
1661
- readonly activeBanner: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarActiveBanner>;
1662
- /** Members popover reference */
1663
- readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
1664
- /** Members popover target element */
1665
- readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
1666
- /** Loading state for async actions */
1667
- readonly actionLoading: _angular_core.WritableSignal<boolean>;
1668
- /** Avatar clicked event */
1669
- readonly avatarClick: _angular_core.OutputEmitterRef<void>;
1670
- /** Search clicked event */
1671
- readonly searchClick: _angular_core.OutputEmitterRef<void>;
1672
- /** Search query changed event */
1673
- readonly searchQuery: _angular_core.OutputEmitterRef<string>;
1674
- /** Menu item clicked event */
1675
- readonly menuItemAction: _angular_core.OutputEmitterRef<string>;
1676
- /** Inline action buttons from registry */
1677
- readonly inlineActions: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarAction[]>;
1678
- /** Dropdown menu items from registry */
1679
- readonly menuItems: _angular_core.Signal<DropdownMenuItem[]>;
1680
- /** Get conversation status - delegate to utils */
1681
- getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
1682
- /** Get subtitle text - delegate to utils */
1683
- getSubtitle(conversation: AXConversation): string;
1684
- /** Get initials from name - delegate to utils */
1685
- getInitials(name: string): string;
1686
- getConversationAvatar(conversation: AXConversation): string | undefined;
1687
- getConversationAvatarIcon(conversation: AXConversation): string | undefined;
1688
- /** Handle avatar click */
1689
- onAvatarClick(): void;
1690
- /** Handle members click - open popover */
1691
- onMembersClick(event: MouseEvent): void;
1692
- /** Handle inline action click */
1693
- onInlineActionClick(actionId: string): Promise<void>;
1694
- /** Get inputs for dynamic component */
1695
- getComponentInputs(): Record<string, unknown>;
1696
- getInlineComponentInputs(): Record<string, unknown>;
1697
- isActiveComponentFullWidth(): boolean;
1698
- /** Handle close component */
1699
- onCloseComponent(): void;
1700
- getBannerInputs(): Record<string, unknown>;
1701
- onCloseBanner(): void;
1702
- /** Handle menu item click */
1703
- onMenuItemClick(item: DropdownMenuItem): Promise<void>;
1704
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
1705
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
1509
+ readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
1510
+ /** Emoji popover state */
1511
+ private readonly emojiPopoverRef;
1512
+ readonly emojiPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
1513
+ readonly composerPopupComponent: typeof AXComposerPopupComponent;
1514
+ /** Input placeholder - use service */
1515
+ readonly placeholder: _angular_core.Signal<string>;
1516
+ /** Sending message state */
1517
+ readonly sendingMessage: _angular_core.WritableSignal<boolean>;
1518
+ /** Typing indicator subject for rate limiting */
1519
+ private readonly typingSubject;
1520
+ constructor();
1521
+ private draftSaveTimeout?;
1522
+ /** Number of input rows - use service */
1523
+ readonly inputRows: _angular_core.Signal<number>;
1524
+ /** Can send message - use service */
1525
+ readonly canSend: _angular_core.Signal<boolean>;
1526
+ /** Left actions from registry - use service */
1527
+ readonly leftActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
1528
+ /** Right actions from registry - use service */
1529
+ readonly rightActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
1530
+ /** Left inline actions (location = 'inline' or undefined) */
1531
+ readonly leftInlineActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
1532
+ /** Left menu actions (location = 'menu') */
1533
+ readonly leftMenuActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
1534
+ /** Right inline actions (location = 'inline' or undefined) */
1535
+ readonly rightInlineActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
1536
+ /** Right menu actions (location = 'menu') */
1537
+ readonly rightMenuActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
1538
+ /** Handle key down */
1539
+ onKeyDown(event: AXHtmlEvent<KeyboardEvent>): void;
1540
+ /** Handle input */
1541
+ onInput(): void;
1542
+ /** Send typing indicator (throttled via RxJS) */
1543
+ private sendTypingIndicator;
1544
+ /** Cleanup on destroy */
1545
+ ngOnDestroy(): void;
1546
+ /** Handle send click */
1547
+ onSendClick(): Promise<void>;
1548
+ /** Handle emoji click */
1549
+ onEmojiClick(event?: MouseEvent): Promise<void>;
1550
+ /** Handle emoji popover closed */
1551
+ onEmojiPopoverClosed(): void;
1552
+ /** Handle emoji/sticker selection from popup */
1553
+ onEmojiItemSelected(item: string | AXStickerPayload): void;
1554
+ /** Send sticker message */
1555
+ private sendSticker;
1556
+ /** Get inputs for emoji popup component */
1557
+ getEmojiPopupInputs(): Record<string, unknown>;
1558
+ /** Handle attach click */
1559
+ onAttachClick(): void;
1560
+ /** Handle voice click */
1561
+ onVoiceClick(): void;
1562
+ /** Remove attachment */
1563
+ removeAttachment(index: number): void;
1564
+ /** Files selected via uploader */
1565
+ onFilesSelected(e: AXUploaderChangedEvent): Promise<void>;
1566
+ /**
1567
+ * Validate file before upload
1568
+ * @param file - File to validate
1569
+ * @throws {Error} If file is invalid
1570
+ */
1571
+ private validateFile;
1572
+ /** Cancel edit/reply mode */
1573
+ cancelEditReply(): void;
1574
+ /** Reset all composer states (used when switching conversations) */
1575
+ private resetComposerState;
1576
+ /** Start editing a message */
1577
+ startEdit(message: any): void;
1578
+ /** Start replying to a message */
1579
+ startReply(message: AXMessage): void;
1580
+ /** Handle action click */
1581
+ onActionClick(actionId: string, event?: MouseEvent): Promise<void>;
1582
+ /** Check if action is enabled */
1583
+ isActionEnabled(action: any): boolean;
1584
+ /** Get replying sender name */
1585
+ getReplyingSenderName(): string;
1586
+ getActionLabel(action: {
1587
+ label: string;
1588
+ }): string;
1589
+ /** Get replying message text */
1590
+ getReplyingMessageText(): string;
1591
+ /** Preview object for replying banner (type, icon, value) */
1592
+ getReplyingPreview(): {
1593
+ value: string;
1594
+ type: string;
1595
+ icon: string;
1596
+ } | null;
1597
+ /** Preview object for editing banner (type, icon, value) */
1598
+ getEditingPreview(): {
1599
+ value: string;
1600
+ type: string;
1601
+ icon: string;
1602
+ } | null;
1603
+ /** Handle reply preview click - scroll to original message */
1604
+ onReplyPreviewClick(): void;
1605
+ /** Get inputs for dynamic component */
1606
+ getComponentInputs(): Record<string, unknown>;
1607
+ onEnter(event: AXHtmlEvent<KeyboardEvent>): Promise<void>;
1608
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComposerComponent, never>;
1609
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXComposerComponent, "ax-conversation-composer", never, {}, { "messageSent": "messageSent"; "emojiClick": "emojiClick"; "attachClick": "attachClick"; "voiceClick": "voiceClick"; }, never, never, true, never>;
1706
1610
  }
1707
1611
 
1708
1612
  /**
1709
- * Active component state in info-bar
1613
+ * Conversation Configuration Interface
1614
+ * Centralized configuration values to avoid magic numbers
1710
1615
  */
1711
- interface AXInfoBarActiveComponent {
1712
- /** Action that triggered this component */
1713
- action: AXInfoBarAction;
1714
- /** Component to render */
1715
- component: Type<unknown>;
1716
- /** Component inputs */
1717
- inputs?: Record<string, unknown>;
1718
- }
1719
- interface AXInfoBarActiveBanner {
1720
- /** Message that owns this banner */
1721
- message: AXMessage;
1722
- /** Banner component */
1723
- component: Type<AXMessageInfoBarBannerComponent>;
1724
- /** Additional component inputs (only keys that match declared `input()` on the banner) */
1725
- inputs?: Record<string, unknown>;
1726
- /** Callback invoked when the banner is dismissed (e.g. pause playback) */
1727
- onClose?: () => void;
1728
- }
1729
1616
  /**
1730
- * Info Bar Service
1731
- * Manages info bar state and actions
1617
+ * Main configuration interface for the conversation component
1732
1618
  */
1733
- declare class AXInfoBarService {
1734
- private readonly conversationService;
1735
- private readonly injector;
1736
- private get registry();
1737
- /** Active conversation */
1738
- readonly activeConversation: _angular_core.Signal<AXConversation>;
1739
- /** Active component being shown in info-bar */
1740
- private readonly _activeComponent;
1741
- readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
1742
- /** Active banner shown under info-bar */
1743
- private readonly _activeBanner;
1744
- readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
1745
- /** Search query signal */
1746
- private readonly _searchQuery;
1747
- readonly searchQuery: _angular_core.Signal<string>;
1748
- private readonly _searchResultsCount;
1749
- readonly searchResultsCount: _angular_core.Signal<number>;
1750
- /** Current search result index */
1751
- private readonly _currentSearchIndex;
1752
- readonly currentSearchIndex: _angular_core.Signal<number>;
1753
- constructor();
1754
- /**
1755
- * Get actions for the active conversation
1756
- */
1757
- getActionsForConversation(conversation: AXConversation): AXInfoBarAction[];
1758
- /**
1759
- * Execute an action
1760
- */
1761
- executeAction(actionId: string, conversation: AXConversation, data?: Record<string, unknown>): Promise<void>;
1762
- /**
1763
- * Get action label
1764
- */
1765
- getActionLabel(action: AXInfoBarAction, conversation: AXConversation): string;
1766
- /**
1767
- * Get action icon
1768
- */
1769
- getActionIcon(action: AXInfoBarAction, conversation: AXConversation): string | undefined;
1770
- /**
1771
- * Show a component in the info-bar
1772
- */
1773
- showComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
1774
- /**
1775
- * Hide the active component
1776
- */
1777
- hideComponent(): void;
1778
- /**
1779
- * Show message-owned banner under info-bar if renderer provides one
1780
- */
1781
- showMessageBanner(message: AXMessage, inputs?: Record<string, unknown>): void;
1782
- /**
1783
- * Update active banner inputs for a specific message
1784
- */
1785
- updateMessageBannerInputs(messageId: string, inputs: Record<string, unknown>): void;
1786
- /**
1787
- * Hide active banner. If messageId is provided, hide only when it matches.
1788
- */
1789
- hideMessageBanner(messageId?: string): void;
1790
- isMessageBannerActive(messageId: string): boolean;
1791
- /**
1792
- * Toggle component visibility
1793
- */
1794
- toggleComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
1795
- /**
1796
- * Set search query
1797
- */
1798
- setSearchQuery(query: string): void;
1799
- /**
1800
- * Set search results
1801
- */
1802
- setSearchResults(count: number, currentIndex?: number): void;
1803
- /**
1804
- * Navigate to next search result
1805
- */
1806
- nextSearchResult(): void;
1807
- /**
1808
- * Navigate to previous search result
1809
- */
1810
- previousSearchResult(): void;
1619
+ interface AXConversationConfig {
1620
+ /** Number of messages to load per page */
1621
+ messagePageSize?: number;
1622
+ /** Number of conversations to load per page */
1623
+ conversationPageSize?: number;
1624
+ /** Scroll threshold for detecting scroll events */
1625
+ scrollThreshold?: number;
1626
+ /** Infinite scroll threshold */
1627
+ infiniteScrollThreshold?: number;
1628
+ /** Typing indicator timeout in milliseconds */
1629
+ typingIndicatorTimeout?: number;
1630
+ /** Typing indicator throttle in milliseconds (for rate limiting) */
1631
+ typingIndicatorThrottle?: number;
1632
+ /** Message highlight duration in milliseconds */
1633
+ messageHighlightDuration?: number;
1634
+ /** Search debounce delay in milliseconds */
1635
+ debounceSearch?: number;
1636
+ /** Date separator inactivity fade delay in milliseconds */
1637
+ /** Maximum messages per conversation */
1638
+ maxMessagesPerConversation?: number;
1639
+ /** Maximum total messages in store */
1640
+ maxTotalMessages?: number;
1641
+ /** Maximum cached conversations */
1642
+ maxCachedConversations?: number;
1643
+ /** Minimum sidebar width in pixels */
1644
+ minSidebarWidth?: number;
1645
+ /** Maximum sidebar width in pixels */
1646
+ maxSidebarWidth?: number;
1647
+ /** Default sidebar width in pixels */
1648
+ defaultSidebarWidth?: number;
1649
+ /** Filter cache size */
1650
+ filterCacheSize?: number;
1651
+ /** Maximum file size in bytes */
1652
+ maxFileSize?: number;
1653
+ /** Allowed file types (glob patterns like 'image/*') */
1654
+ allowedFileTypes?: string[];
1655
+ /** Maximum message length in characters */
1656
+ maxMessageLength?: number;
1657
+ /** Minimum message length in characters */
1658
+ minMessageLength?: number;
1659
+ /** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
1660
+ messageReadThreshold?: number;
1811
1661
  /**
1812
- * Clear search
1662
+ * CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
1663
+ * Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
1664
+ * Empty string = library default soft gradient. `transparent` or `none` = flat background.
1813
1665
  */
1814
- clearSearch(): void;
1815
- private _extractOnClose;
1816
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarService, never>;
1817
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXInfoBarService>;
1666
+ messageListBackground?: string;
1818
1667
  }
1819
1668
 
1669
+ /**
1670
+ * Default Configuration Values
1671
+ * Centralized defaults to avoid magic numbers throughout the codebase
1672
+ */
1673
+
1674
+ /**
1675
+ * Default conversation configuration
1676
+ * All values are explicitly defined here for easy maintenance and documentation
1677
+ */
1678
+ declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
1679
+ /**
1680
+ * Helper function to merge user config with defaults
1681
+ * Properly handles array merging to avoid reference issues
1682
+ * @param userConfig - User-provided configuration
1683
+ * @returns Merged configuration with all required fields
1684
+ */
1685
+ declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
1686
+
1820
1687
  /**
1821
1688
  * Shared API Types
1822
1689
  * Common types used across all API services
@@ -2729,393 +2596,735 @@ interface AXCallEvent {
2729
2596
  * }
2730
2597
  * ```
2731
2598
  */
2732
- declare abstract class AXRealtimeApi {
2599
+ declare abstract class AXRealtimeApi {
2600
+ /**
2601
+ * Current connection status
2602
+ * Emit connection status changes through this observable
2603
+ */
2604
+ abstract readonly connectionStatus$: Observable<AXConnectionStatus>;
2605
+ /**
2606
+ * Connect to real-time server
2607
+ * Establish WebSocket/SSE connection
2608
+ *
2609
+ * @param options - Connection options
2610
+ * @throws {Error} If connection fails
2611
+ */
2612
+ abstract connect(options?: AXConnectionOptions): Promise<void>;
2613
+ /**
2614
+ * Disconnect from real-time server
2615
+ * Close connection and clean up resources
2616
+ */
2617
+ abstract disconnect(): Promise<void>;
2618
+ /**
2619
+ * Check if currently connected
2620
+ *
2621
+ * @returns True if connected
2622
+ */
2623
+ abstract isConnected(): boolean;
2624
+ /**
2625
+ * Reconnect to server
2626
+ * Manually trigger reconnection
2627
+ */
2628
+ abstract reconnect(): Promise<void>;
2629
+ /**
2630
+ * Subscribe to connection events
2631
+ *
2632
+ * @returns Observable of connection events
2633
+ */
2634
+ abstract subscribeToConnectionEvents(): Observable<AXConnectionEvent>;
2635
+ /**
2636
+ * Subscribe to new messages in a conversation
2637
+ *
2638
+ * @param conversationId - Conversation ID (empty string for all conversations)
2639
+ * @returns Observable stream of new messages
2640
+ */
2641
+ abstract subscribeToMessages(conversationId: string): Observable<AXMessage>;
2642
+ /**
2643
+ * Subscribe to message updates (edits, status changes)
2644
+ *
2645
+ * @param conversationId - Optional conversation ID to filter
2646
+ * @returns Observable stream of updated messages
2647
+ */
2648
+ abstract subscribeToMessageUpdates(conversationId?: string): Observable<AXMessage>;
2649
+ /**
2650
+ * Subscribe to message deletions
2651
+ *
2652
+ * @param conversationId - Optional conversation ID to filter
2653
+ * @returns Observable stream of deleted message IDs
2654
+ */
2655
+ abstract subscribeToMessageDeletions(conversationId?: string): Observable<string>;
2656
+ /**
2657
+ * Subscribe to message reactions
2658
+ *
2659
+ * @param conversationId - Optional conversation ID to filter
2660
+ * @returns Observable stream of updated messages with reactions
2661
+ */
2662
+ abstract subscribeToMessageReactions(conversationId?: string): Observable<AXMessage>;
2663
+ /**
2664
+ * Subscribe to conversation updates
2665
+ * Fires when conversation details change (title, avatar, participants, etc.)
2666
+ *
2667
+ * @returns Observable stream of updated conversations
2668
+ */
2669
+ abstract subscribeToConversationUpdates(): Observable<AXConversation>;
2670
+ /**
2671
+ * Subscribe to conversation creation
2672
+ * Fires when user is added to a new conversation
2673
+ *
2674
+ * @returns Observable stream of new conversations
2675
+ */
2676
+ abstract subscribeToConversationCreated(): Observable<AXConversation>;
2677
+ /**
2678
+ * Subscribe to conversation deletion
2679
+ * Fires when a conversation is deleted
2680
+ *
2681
+ * @returns Observable stream of deleted conversation IDs
2682
+ */
2683
+ abstract subscribeToConversationDeleted(): Observable<string>;
2684
+ /**
2685
+ * Subscribe to typing indicators
2686
+ *
2687
+ * @param conversationId - Conversation ID (empty string for all conversations)
2688
+ * @returns Observable stream of typing indicators
2689
+ */
2690
+ abstract subscribeToTypingIndicators(conversationId: string): Observable<AXTypingIndicator>;
2691
+ /**
2692
+ * Subscribe to presence updates (online/offline status)
2693
+ *
2694
+ * @param userIds - Optional array of user IDs to filter (empty for all users)
2695
+ * @returns Observable stream of presence updates
2696
+ */
2697
+ abstract subscribeToPresenceUpdates(userIds?: string[]): Observable<AXPresenceUpdate>;
2698
+ /**
2699
+ * Subscribe to read receipt updates
2700
+ * Fires when someone reads messages
2701
+ *
2702
+ * @param conversationId - Optional conversation ID to filter
2703
+ * @returns Observable stream of message IDs that were read
2704
+ */
2705
+ abstract subscribeToReadReceipts(conversationId?: string): Observable<{
2706
+ messageId: string;
2707
+ userId: string;
2708
+ readAt: Date;
2709
+ }>;
2710
+ /**
2711
+ * Subscribe to push notifications
2712
+ * Fires for mentions, calls, and other important events
2713
+ *
2714
+ * @returns Observable stream of notification events
2715
+ */
2716
+ abstract subscribeToNotifications(): Observable<AXNotificationEvent>;
2717
+ /**
2718
+ * Subscribe to call events
2719
+ * Fires for incoming/outgoing calls
2720
+ *
2721
+ * @returns Observable stream of call events
2722
+ */
2723
+ abstract subscribeToCallEvents?(): Observable<AXCallEvent>;
2724
+ /**
2725
+ * Subscribe to user blocked/unblocked events
2726
+ *
2727
+ * @returns Observable stream of user IDs and block status
2728
+ */
2729
+ abstract subscribeToUserBlockEvents(): Observable<{
2730
+ userId: string;
2731
+ blocked: boolean;
2732
+ }>;
2733
+ /**
2734
+ * Subscribe to participant added/removed events
2735
+ *
2736
+ * @param conversationId - Optional conversation ID to filter
2737
+ * @returns Observable stream of participant changes
2738
+ */
2739
+ abstract subscribeToParticipantEvents(conversationId?: string): Observable<{
2740
+ conversationId: string;
2741
+ userId: string;
2742
+ action: 'added' | 'removed';
2743
+ }>;
2744
+ /**
2745
+ * Subscribe to system events
2746
+ * Fires for maintenance, updates, or other system-wide events
2747
+ *
2748
+ * @returns Observable stream of system events
2749
+ */
2750
+ abstract subscribeToSystemEvents(): Observable<{
2751
+ type: string;
2752
+ message: string;
2753
+ data?: unknown;
2754
+ }>;
2755
+ /**
2756
+ * Subscribe to message status changes
2757
+ * Fires when message status changes (sending -> sent -> delivered -> read)
2758
+ *
2759
+ * @param conversationId - Optional conversation ID to filter
2760
+ * @returns Observable stream of message status updates
2761
+ */
2762
+ abstract subscribeToMessageStatusChanges(conversationId?: string): Observable<{
2763
+ messageId: string;
2764
+ status: 'sending' | 'sent' | 'delivered' | 'read' | 'failed';
2765
+ timestamp: Date;
2766
+ }>;
2767
+ /**
2768
+ * Subscribe to conversation settings changes
2769
+ * Fires when conversation settings are updated
2770
+ *
2771
+ * @param conversationId - Optional conversation ID to filter
2772
+ * @returns Observable stream of settings updates
2773
+ */
2774
+ abstract subscribeToConversationSettingsChanges(conversationId?: string): Observable<{
2775
+ conversationId: string;
2776
+ settings: Record<string, unknown>;
2777
+ }>;
2778
+ /**
2779
+ * Subscribe to draft changes
2780
+ * Fires when draft is saved/updated in a conversation
2781
+ *
2782
+ * @param conversationId - Optional conversation ID to filter
2783
+ * @returns Observable stream of draft updates
2784
+ */
2785
+ abstract subscribeToDraftChanges(conversationId?: string): Observable<{
2786
+ conversationId: string;
2787
+ draft: string | null;
2788
+ }>;
2789
+ }
2790
+
2791
+ /**
2792
+ * Abstract User Management API
2793
+ * Handle user profile management and user operations for conversations
2794
+ */
2795
+
2796
+ /**
2797
+ * User profile update data
2798
+ */
2799
+ interface AXUserProfileUpdate {
2800
+ /** Display name */
2801
+ name?: string;
2802
+ /** Avatar URL */
2803
+ avatar?: string;
2804
+ /** Short line under the name in lists (e.g. job title) */
2805
+ description?: string;
2806
+ /** Bio/status text */
2807
+ bio?: string;
2808
+ /** Phone number */
2809
+ phone?: string;
2810
+ /** Email */
2811
+ email?: string;
2812
+ /** Custom fields */
2813
+ custom?: Record<string, unknown>;
2814
+ }
2815
+ /**
2816
+ * User search filters
2817
+ */
2818
+ interface AXUserSearchFilters {
2819
+ /** Search query */
2820
+ query?: string;
2821
+ /** Filter by online status */
2822
+ onlineOnly?: boolean;
2823
+ /** Exclude blocked users */
2824
+ excludeBlocked?: boolean;
2825
+ /** Limit results */
2826
+ limit?: number;
2827
+ }
2828
+ /**
2829
+ * Block/Report reason
2830
+ */
2831
+ interface AXBlockReportReason {
2832
+ /** Reason code */
2833
+ code: string;
2834
+ /** Description */
2835
+ description?: string;
2836
+ }
2837
+ /**
2838
+ * Abstract User Management API
2839
+ *
2840
+ * Implement this abstract class to handle user management for conversations.
2841
+ *
2842
+ * @example
2843
+ * ```typescript
2844
+ * @Injectable()
2845
+ * export class MyUserApi extends AXUserApi {
2846
+ * constructor(private http: HttpClient) {
2847
+ * super();
2848
+ * }
2849
+ *
2850
+ * async getCurrentUser(): Promise<AXParticipant> {
2851
+ * const response = await this.http.get('/api/users/me').toPromise();
2852
+ * return response;
2853
+ * }
2854
+ *
2855
+ * // ... implement other methods
2856
+ * }
2857
+ * ```
2858
+ */
2859
+ declare abstract class AXUserApi {
2733
2860
  /**
2734
- * Current connection status
2735
- * Emit connection status changes through this observable
2861
+ * Get current authenticated user
2862
+ *
2863
+ * @returns Current user information
2864
+ * @throws {AXApiError} If user is not authenticated
2736
2865
  */
2737
- abstract readonly connectionStatus$: Observable<AXConnectionStatus>;
2866
+ abstract getCurrentUser(): Promise<AXParticipant>;
2738
2867
  /**
2739
- * Connect to real-time server
2740
- * Establish WebSocket/SSE connection
2868
+ * Update current user profile
2741
2869
  *
2742
- * @param options - Connection options
2743
- * @throws {Error} If connection fails
2870
+ * @param updates - Profile updates
2871
+ * @returns Updated user information
2872
+ * @throws {AXApiError} If update fails
2744
2873
  */
2745
- abstract connect(options?: AXConnectionOptions): Promise<void>;
2874
+ abstract updateProfile(updates: AXUserProfileUpdate): Promise<AXParticipant>;
2746
2875
  /**
2747
- * Disconnect from real-time server
2748
- * Close connection and clean up resources
2876
+ * Upload user avatar
2877
+ *
2878
+ * @param file - Avatar image file
2879
+ * @returns Avatar URL
2880
+ * @throws {AXApiError} If upload fails
2749
2881
  */
2750
- abstract disconnect(): Promise<void>;
2882
+ abstract uploadAvatar(file: File): Promise<string>;
2751
2883
  /**
2752
- * Check if currently connected
2884
+ * Get available users for conversation creation
2753
2885
  *
2754
- * @returns True if connected
2886
+ * @param filters - Search filters
2887
+ * @returns List of users
2888
+ * @throws {AXApiError} If request fails
2755
2889
  */
2756
- abstract isConnected(): boolean;
2890
+ abstract getUsers(filters?: AXUserSearchFilters): Promise<AXParticipant[]>;
2757
2891
  /**
2758
- * Reconnect to server
2759
- * Manually trigger reconnection
2892
+ * Search users by query
2893
+ *
2894
+ * @param query - Search query
2895
+ * @returns Matching users
2896
+ * @throws {AXApiError} If search fails
2760
2897
  */
2761
- abstract reconnect(): Promise<void>;
2898
+ abstract searchUsers(query: string): Promise<AXParticipant[]>;
2762
2899
  /**
2763
- * Subscribe to connection events
2900
+ * Get user by ID
2764
2901
  *
2765
- * @returns Observable of connection events
2902
+ * @param userId - User ID
2903
+ * @returns User information
2904
+ * @throws {AXApiError} If user not found
2766
2905
  */
2767
- abstract subscribeToConnectionEvents(): Observable<AXConnectionEvent>;
2906
+ abstract getUserById(userId: string): Promise<AXParticipant>;
2768
2907
  /**
2769
- * Subscribe to new messages in a conversation
2908
+ * Get multiple users by IDs
2770
2909
  *
2771
- * @param conversationId - Conversation ID (empty string for all conversations)
2772
- * @returns Observable stream of new messages
2910
+ * @param userIds - Array of user IDs
2911
+ * @returns Array of users
2912
+ * @throws {AXApiError} If request fails
2773
2913
  */
2774
- abstract subscribeToMessages(conversationId: string): Observable<AXMessage>;
2914
+ abstract getUsersByIds(userIds: string[]): Promise<AXParticipant[]>;
2775
2915
  /**
2776
- * Subscribe to message updates (edits, status changes)
2916
+ * Get user presence status
2777
2917
  *
2778
- * @param conversationId - Optional conversation ID to filter
2779
- * @returns Observable stream of updated messages
2918
+ * @param userId - User ID
2919
+ * @returns Presence information
2920
+ * @throws {AXApiError} If request fails
2780
2921
  */
2781
- abstract subscribeToMessageUpdates(conversationId?: string): Observable<AXMessage>;
2922
+ abstract getUserPresence(userId: string): Promise<AXPresenceUpdate>;
2782
2923
  /**
2783
- * Subscribe to message deletions
2924
+ * Update current user presence
2784
2925
  *
2785
- * @param conversationId - Optional conversation ID to filter
2786
- * @returns Observable stream of deleted message IDs
2926
+ * @param status - Presence status
2927
+ * @param statusText - Optional status text
2928
+ * @throws {AXApiError} If update fails
2787
2929
  */
2788
- abstract subscribeToMessageDeletions(conversationId?: string): Observable<string>;
2930
+ abstract updatePresence(status: AXPresenceStatus, statusText?: string): Promise<void>;
2789
2931
  /**
2790
- * Subscribe to message reactions
2932
+ * Block a user
2791
2933
  *
2792
- * @param conversationId - Optional conversation ID to filter
2793
- * @returns Observable stream of updated messages with reactions
2934
+ * @param userId - User ID to block
2935
+ * @param reason - Optional reason
2936
+ * @throws {AXApiError} If blocking fails
2794
2937
  */
2795
- abstract subscribeToMessageReactions(conversationId?: string): Observable<AXMessage>;
2938
+ abstract blockUser(userId: string, reason?: AXBlockReportReason): Promise<void>;
2796
2939
  /**
2797
- * Subscribe to conversation updates
2798
- * Fires when conversation details change (title, avatar, participants, etc.)
2940
+ * Unblock a user
2799
2941
  *
2800
- * @returns Observable stream of updated conversations
2942
+ * @param userId - User ID to unblock
2943
+ * @throws {AXApiError} If unblocking fails
2801
2944
  */
2802
- abstract subscribeToConversationUpdates(): Observable<AXConversation>;
2945
+ abstract unblockUser(userId: string): Promise<void>;
2803
2946
  /**
2804
- * Subscribe to conversation creation
2805
- * Fires when user is added to a new conversation
2947
+ * Get list of blocked users
2806
2948
  *
2807
- * @returns Observable stream of new conversations
2949
+ * @returns Array of blocked user IDs
2950
+ * @throws {AXApiError} If request fails
2808
2951
  */
2809
- abstract subscribeToConversationCreated(): Observable<AXConversation>;
2952
+ abstract getBlockedUsers(): Promise<string[]>;
2810
2953
  /**
2811
- * Subscribe to conversation deletion
2812
- * Fires when a conversation is deleted
2954
+ * Report a user
2813
2955
  *
2814
- * @returns Observable stream of deleted conversation IDs
2956
+ * @param userId - User ID to report
2957
+ * @param reason - Report reason
2958
+ * @throws {AXApiError} If reporting fails
2815
2959
  */
2816
- abstract subscribeToConversationDeleted(): Observable<string>;
2960
+ abstract reportUser(userId: string, reason: AXBlockReportReason): Promise<void>;
2817
2961
  /**
2818
- * Subscribe to typing indicators
2962
+ * Get user settings
2819
2963
  *
2820
- * @param conversationId - Conversation ID (empty string for all conversations)
2821
- * @returns Observable stream of typing indicators
2964
+ * @returns User settings
2965
+ * @throws {AXApiError} If request fails
2822
2966
  */
2823
- abstract subscribeToTypingIndicators(conversationId: string): Observable<AXTypingIndicator>;
2967
+ abstract getUserSettings(): Promise<Record<string, unknown>>;
2824
2968
  /**
2825
- * Subscribe to presence updates (online/offline status)
2969
+ * Update user settings
2826
2970
  *
2827
- * @param userIds - Optional array of user IDs to filter (empty for all users)
2828
- * @returns Observable stream of presence updates
2971
+ * @param settings - Settings to update
2972
+ * @throws {AXApiError} If update fails
2829
2973
  */
2830
- abstract subscribeToPresenceUpdates(userIds?: string[]): Observable<AXPresenceUpdate>;
2974
+ abstract updateUserSettings(settings: Record<string, unknown>): Promise<void>;
2831
2975
  /**
2832
- * Subscribe to read receipt updates
2833
- * Fires when someone reads messages
2976
+ * Create an API error
2977
+ * Helper method for consistent error creation
2834
2978
  *
2835
- * @param conversationId - Optional conversation ID to filter
2836
- * @returns Observable stream of message IDs that were read
2979
+ * @param code - Error code
2980
+ * @param message - Error message
2981
+ * @param statusCode - HTTP status code
2982
+ * @param details - Additional details
2983
+ * @returns API error object
2837
2984
  */
2838
- abstract subscribeToReadReceipts(conversationId?: string): Observable<{
2839
- messageId: string;
2840
- userId: string;
2841
- readAt: Date;
2842
- }>;
2985
+ protected createError(code: string, message: string, statusCode?: number, details?: unknown): AXApiError;
2986
+ }
2987
+
2988
+ /**
2989
+ * Error severity levels
2990
+ */
2991
+ type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
2992
+ /**
2993
+ * Conversation error event
2994
+ */
2995
+ interface AXConversationError {
2996
+ /** Error code */
2997
+ code: string;
2998
+ /** Error message */
2999
+ message: string;
3000
+ /** Severity level */
3001
+ severity: AXErrorSeverity;
3002
+ /** Source operation */
3003
+ operation: string;
3004
+ /** Original error */
3005
+ originalError?: unknown;
3006
+ /** HTTP status code (if applicable) */
3007
+ statusCode?: number;
3008
+ /** Additional context */
3009
+ context?: Record<string, unknown>;
3010
+ /** Timestamp */
3011
+ timestamp: Date;
3012
+ /** Whether error was handled */
3013
+ handled: boolean;
3014
+ /** Recovery suggestions */
3015
+ recoverySuggestions?: string[];
3016
+ }
3017
+ /**
3018
+ * Error Handler Configuration
3019
+ */
3020
+ interface AXErrorHandlerConfig {
3021
+ /** Log errors to console */
3022
+ logToConsole?: boolean;
3023
+ /** Show user-friendly error messages */
3024
+ showUserMessages?: boolean;
3025
+ /** Retry failed operations automatically */
3026
+ autoRetry?: boolean;
3027
+ /** Number of retry attempts */
3028
+ maxRetries?: number;
3029
+ /** Custom error handler */
3030
+ customHandler?: (error: AXConversationError) => void;
3031
+ }
3032
+ /**
3033
+ * Error Handler Service
3034
+ */
3035
+ declare class AXErrorHandlerService {
3036
+ private readonly injectedConfig;
3037
+ private readonly _errors$;
3038
+ private readonly _config;
3039
+ /** Error stream */
3040
+ readonly errors$: rxjs.Observable<AXConversationError>;
3041
+ constructor();
2843
3042
  /**
2844
- * Subscribe to push notifications
2845
- * Fires for mentions, calls, and other important events
2846
- *
2847
- * @returns Observable stream of notification events
3043
+ * Configure error handler
2848
3044
  */
2849
- abstract subscribeToNotifications(): Observable<AXNotificationEvent>;
3045
+ configure(config: Partial<AXErrorHandlerConfig>): void;
2850
3046
  /**
2851
- * Subscribe to call events
2852
- * Fires for incoming/outgoing calls
2853
- *
2854
- * @returns Observable stream of call events
3047
+ * Handle an error
2855
3048
  */
2856
- abstract subscribeToCallEvents?(): Observable<AXCallEvent>;
3049
+ handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
2857
3050
  /**
2858
- * Subscribe to user blocked/unblocked events
2859
- *
2860
- * @returns Observable stream of user IDs and block status
3051
+ * Handle API error (same pipeline as {@link handle}, for typed API failures)
2861
3052
  */
2862
- abstract subscribeToUserBlockEvents(): Observable<{
2863
- userId: string;
2864
- blocked: boolean;
2865
- }>;
3053
+ handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
3054
+ private publish;
3055
+ /**
3056
+ * Normalize any error to conversation error format (does not publish — use {@link handle})
3057
+ */
3058
+ private normalizeError;
3059
+ private conversationErrorFromApi;
3060
+ private isApiError;
3061
+ /**
3062
+ * Determine severity based on status code
3063
+ */
3064
+ private determineSeverity;
3065
+ /**
3066
+ * Get recovery suggestions based on error
3067
+ */
3068
+ private getRecoverySuggestions;
3069
+ /**
3070
+ * Get default recovery suggestions
3071
+ */
3072
+ private getDefaultRecoverySuggestions;
2866
3073
  /**
2867
- * Subscribe to participant added/removed events
2868
- *
2869
- * @param conversationId - Optional conversation ID to filter
2870
- * @returns Observable stream of participant changes
3074
+ * Log error to console
2871
3075
  */
2872
- abstract subscribeToParticipantEvents(conversationId?: string): Observable<{
2873
- conversationId: string;
2874
- userId: string;
2875
- action: 'added' | 'removed';
2876
- }>;
3076
+ private logError;
2877
3077
  /**
2878
- * Subscribe to system events
2879
- * Fires for maintenance, updates, or other system-wide events
2880
- *
2881
- * @returns Observable stream of system events
3078
+ * Get user-friendly error message
2882
3079
  */
2883
- abstract subscribeToSystemEvents(): Observable<{
2884
- type: string;
2885
- message: string;
2886
- data?: unknown;
2887
- }>;
3080
+ getUserFriendlyMessage(error: AXConversationError): string;
2888
3081
  /**
2889
- * Subscribe to message status changes
2890
- * Fires when message status changes (sending -> sent -> delivered -> read)
2891
- *
2892
- * @param conversationId - Optional conversation ID to filter
2893
- * @returns Observable stream of message status updates
3082
+ * Check if error is retryable
2894
3083
  */
2895
- abstract subscribeToMessageStatusChanges(conversationId?: string): Observable<{
2896
- messageId: string;
2897
- status: 'sending' | 'sent' | 'delivered' | 'read' | 'failed';
2898
- timestamp: Date;
2899
- }>;
3084
+ isRetryable(error: AXConversationError): boolean;
2900
3085
  /**
2901
- * Subscribe to conversation settings changes
2902
- * Fires when conversation settings are updated
2903
- *
2904
- * @param conversationId - Optional conversation ID to filter
2905
- * @returns Observable stream of settings updates
3086
+ * Execute an operation with automatic retry logic
3087
+ * @param operation - The async operation to execute
3088
+ * @param operationName - Name of the operation for error tracking
3089
+ * @param context - Additional context for error handling
3090
+ * @returns Promise resolving to the operation result
3091
+ * @throws {AXConversationError} If all retries fail
2906
3092
  */
2907
- abstract subscribeToConversationSettingsChanges(conversationId?: string): Observable<{
2908
- conversationId: string;
2909
- settings: Record<string, unknown>;
2910
- }>;
3093
+ executeWithRetry<T>(operation: () => Promise<T>, operationName: string, context?: Record<string, unknown>): Promise<T>;
2911
3094
  /**
2912
- * Subscribe to draft changes
2913
- * Fires when draft is saved/updated in a conversation
2914
- *
2915
- * @param conversationId - Optional conversation ID to filter
2916
- * @returns Observable stream of draft updates
3095
+ * Delay helper for retry backoff
3096
+ * @param ms - Milliseconds to delay
2917
3097
  */
2918
- abstract subscribeToDraftChanges(conversationId?: string): Observable<{
2919
- conversationId: string;
2920
- draft: string | null;
2921
- }>;
3098
+ private delay;
3099
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXErrorHandlerService, never>;
3100
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXErrorHandlerService>;
2922
3101
  }
2923
3102
 
2924
3103
  /**
2925
- * Abstract User Management API
2926
- * Handle user profile management and user operations for conversations
3104
+ * Dependency Injection Tokens
3105
+ * InjectionTokens for configuration and dependencies
2927
3106
  */
2928
3107
 
2929
3108
  /**
2930
- * User profile update data
3109
+ * Configuration token for conversation component
3110
+ * Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
2931
3111
  */
2932
- interface AXUserProfileUpdate {
2933
- /** Display name */
2934
- name?: string;
2935
- /** Avatar URL */
2936
- avatar?: string;
2937
- /** Short line under the name in lists (e.g. job title) */
2938
- description?: string;
2939
- /** Bio/status text */
2940
- bio?: string;
2941
- /** Phone number */
2942
- phone?: string;
2943
- /** Email */
2944
- email?: string;
2945
- /** Custom fields */
2946
- custom?: Record<string, unknown>;
3112
+ declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
3113
+ /**
3114
+ * Token for configuring AXErrorHandlerService
3115
+ */
3116
+ declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
3117
+
3118
+ /**
3119
+ * Registry Configuration Tokens
3120
+ * Injection tokens for configuring default registry values
3121
+ */
3122
+
3123
+ /**
3124
+ * Additional message renderers configuration
3125
+ * Provide this token to add custom message renderers in addition to built-in ones
3126
+ * Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
3127
+ */
3128
+ declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
3129
+ /**
3130
+ * Default message actions configuration
3131
+ * Provide this token to override default message actions
3132
+ */
3133
+ declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
3134
+ /**
3135
+ * Default composer tabs configuration
3136
+ * Provide this token to override default composer tabs (emoji, stickers, etc.)
3137
+ */
3138
+ declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
3139
+ /**
3140
+ * Default composer actions configuration
3141
+ * Provide this token to override default composer actions (attach, voice, etc.)
3142
+ */
3143
+ declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
3144
+ /**
3145
+ * Default conversation tabs configuration
3146
+ * Provide this token to override default conversation tabs (all, private, groups, etc.)
3147
+ */
3148
+ declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
3149
+ /**
3150
+ * Default info bar actions configuration
3151
+ * Provide this token to override default info bar actions (mute, archive, block, etc.)
3152
+ */
3153
+ declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
3154
+ /**
3155
+ * Default conversation item actions configuration
3156
+ * Provide this token to override default conversation item actions (mute, delete, archive, etc.)
3157
+ */
3158
+ declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
3159
+ /**
3160
+ * Registry configuration interface
3161
+ */
3162
+ interface AXRegistryConfiguration {
3163
+ /**
3164
+ * Additional message renderers to register (built-in renderers are automatic).
3165
+ * Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
3166
+ */
3167
+ messageRenderers?: AXMessageRenderer[];
3168
+ /** Message actions to register by default */
3169
+ messageActions?: AXMessageAction[];
3170
+ /** Composer tabs to register by default */
3171
+ composerTabs?: AXComposerTab[];
3172
+ /** Composer actions to register by default */
3173
+ composerActions?: AXComposerAction[];
3174
+ /** Conversation tabs to register by default */
3175
+ conversationTabs?: AXConversationTab[];
3176
+ /** Info bar actions to register by default */
3177
+ infoBarActions?: AXInfoBarAction[];
3178
+ /** Conversation item actions to register by default */
3179
+ conversationItemActions?: AXConversationItemAction[];
2947
3180
  }
2948
3181
  /**
2949
- * User search filters
3182
+ * Complete registry configuration token
3183
+ * Provide this for comprehensive registry configuration
2950
3184
  */
2951
- interface AXUserSearchFilters {
2952
- /** Search query */
2953
- query?: string;
2954
- /** Filter by online status */
2955
- onlineOnly?: boolean;
2956
- /** Exclude blocked users */
2957
- excludeBlocked?: boolean;
2958
- /** Limit results */
2959
- limit?: number;
3185
+ declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
3186
+
3187
+ declare class AXConversationContainerComponent {
3188
+ private readonly conversationService;
3189
+ protected readonly config: Required<AXConversationConfig>;
3190
+ /** Custom CSS class */
3191
+ readonly customClass: _angular_core.InputSignal<string>;
3192
+ /** Loading state */
3193
+ readonly loading: _angular_core.Signal<boolean>;
3194
+ /** Error state */
3195
+ readonly error: _angular_core.Signal<Error>;
3196
+ /** Active conversation */
3197
+ readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
3198
+ /** Container CSS classes */
3199
+ readonly containerClasses: _angular_core.Signal<string>;
3200
+ closeActiveConversation(): void;
3201
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerComponent, never>;
3202
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationContainerComponent, "ax-conversation-container", never, { "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; }, {}, never, ["ax-conversation-sidebar, [ax-conversation-sidebar]", "ax-conversation-info-bar, [ax-conversation-info-bar]", "ax-conversation-message-list, [ax-conversation-message-list]", "ax-conversation-composer, [ax-conversation-composer]", "ax-conversation-empty"], true, never>;
3203
+ }
3204
+
3205
+ declare class AXConversationContainerDirective {
3206
+ private readonly conversationService;
3207
+ /** Active conversation */
3208
+ readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
3209
+ /** Loading state */
3210
+ readonly loading: _angular_core.Signal<boolean>;
3211
+ /** Error state */
3212
+ readonly error: _angular_core.Signal<Error>;
3213
+ closeActiveConversation(): void;
3214
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerDirective, never>;
3215
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXConversationContainerDirective, "[axConversationContainer]", never, {}, {}, never, never, true, never>;
2960
3216
  }
3217
+
2961
3218
  /**
2962
- * Block/Report reason
3219
+ * Active component state in info-bar
2963
3220
  */
2964
- interface AXBlockReportReason {
2965
- /** Reason code */
2966
- code: string;
2967
- /** Description */
2968
- description?: string;
3221
+ interface AXInfoBarActiveComponent {
3222
+ /** Action that triggered this component */
3223
+ action: AXInfoBarAction;
3224
+ /** Component to render */
3225
+ component: Type<unknown>;
3226
+ /** Component inputs */
3227
+ inputs?: Record<string, unknown>;
3228
+ }
3229
+ interface AXInfoBarActiveBanner {
3230
+ /** Message that owns this banner */
3231
+ message: AXMessage;
3232
+ /** Banner component */
3233
+ component: Type<AXMessageInfoBarBannerComponent>;
3234
+ /** Additional component inputs (only keys that match declared `input()` on the banner) */
3235
+ inputs?: Record<string, unknown>;
3236
+ /** Callback invoked when the banner is dismissed (e.g. pause playback) */
3237
+ onClose?: () => void;
2969
3238
  }
2970
3239
  /**
2971
- * Abstract User Management API
2972
- *
2973
- * Implement this abstract class to handle user management for conversations.
2974
- *
2975
- * @example
2976
- * ```typescript
2977
- * @Injectable()
2978
- * export class MyUserApi extends AXUserApi {
2979
- * constructor(private http: HttpClient) {
2980
- * super();
2981
- * }
2982
- *
2983
- * async getCurrentUser(): Promise<AXParticipant> {
2984
- * const response = await this.http.get('/api/users/me').toPromise();
2985
- * return response;
2986
- * }
2987
- *
2988
- * // ... implement other methods
2989
- * }
2990
- * ```
3240
+ * Info Bar Service
3241
+ * Manages info bar state and actions
2991
3242
  */
2992
- declare abstract class AXUserApi {
2993
- /**
2994
- * Get current authenticated user
2995
- *
2996
- * @returns Current user information
2997
- * @throws {AXApiError} If user is not authenticated
2998
- */
2999
- abstract getCurrentUser(): Promise<AXParticipant>;
3243
+ declare class AXInfoBarService {
3244
+ private readonly conversationService;
3245
+ private readonly injector;
3246
+ private get registry();
3247
+ /** Active conversation */
3248
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
3249
+ /** Active component being shown in info-bar */
3250
+ private readonly _activeComponent;
3251
+ readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
3252
+ /** Active banner shown under info-bar */
3253
+ private readonly _activeBanner;
3254
+ readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
3255
+ /** Search query signal */
3256
+ private readonly _searchQuery;
3257
+ readonly searchQuery: _angular_core.Signal<string>;
3258
+ private readonly _searchResultsCount;
3259
+ readonly searchResultsCount: _angular_core.Signal<number>;
3260
+ /** Current search result index */
3261
+ private readonly _currentSearchIndex;
3262
+ readonly currentSearchIndex: _angular_core.Signal<number>;
3263
+ constructor();
3000
3264
  /**
3001
- * Update current user profile
3002
- *
3003
- * @param updates - Profile updates
3004
- * @returns Updated user information
3005
- * @throws {AXApiError} If update fails
3265
+ * Get actions for the active conversation
3006
3266
  */
3007
- abstract updateProfile(updates: AXUserProfileUpdate): Promise<AXParticipant>;
3267
+ getActionsForConversation(conversation: AXConversation): AXInfoBarAction[];
3008
3268
  /**
3009
- * Upload user avatar
3010
- *
3011
- * @param file - Avatar image file
3012
- * @returns Avatar URL
3013
- * @throws {AXApiError} If upload fails
3269
+ * Execute an action
3014
3270
  */
3015
- abstract uploadAvatar(file: File): Promise<string>;
3271
+ executeAction(actionId: string, conversation: AXConversation, data?: Record<string, unknown>): Promise<void>;
3016
3272
  /**
3017
- * Get available users for conversation creation
3018
- *
3019
- * @param filters - Search filters
3020
- * @returns List of users
3021
- * @throws {AXApiError} If request fails
3273
+ * Get action label
3022
3274
  */
3023
- abstract getUsers(filters?: AXUserSearchFilters): Promise<AXParticipant[]>;
3275
+ getActionLabel(action: AXInfoBarAction, conversation: AXConversation): string;
3024
3276
  /**
3025
- * Search users by query
3026
- *
3027
- * @param query - Search query
3028
- * @returns Matching users
3029
- * @throws {AXApiError} If search fails
3277
+ * Get action icon
3030
3278
  */
3031
- abstract searchUsers(query: string): Promise<AXParticipant[]>;
3279
+ getActionIcon(action: AXInfoBarAction, conversation: AXConversation): string | undefined;
3032
3280
  /**
3033
- * Get user by ID
3034
- *
3035
- * @param userId - User ID
3036
- * @returns User information
3037
- * @throws {AXApiError} If user not found
3281
+ * Show a component in the info-bar
3038
3282
  */
3039
- abstract getUserById(userId: string): Promise<AXParticipant>;
3283
+ showComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
3040
3284
  /**
3041
- * Get multiple users by IDs
3042
- *
3043
- * @param userIds - Array of user IDs
3044
- * @returns Array of users
3045
- * @throws {AXApiError} If request fails
3285
+ * Hide the active component
3046
3286
  */
3047
- abstract getUsersByIds(userIds: string[]): Promise<AXParticipant[]>;
3287
+ hideComponent(): void;
3048
3288
  /**
3049
- * Get user presence status
3050
- *
3051
- * @param userId - User ID
3052
- * @returns Presence information
3053
- * @throws {AXApiError} If request fails
3289
+ * Show message-owned banner under info-bar if renderer provides one
3054
3290
  */
3055
- abstract getUserPresence(userId: string): Promise<AXPresenceUpdate>;
3291
+ showMessageBanner(message: AXMessage, inputs?: Record<string, unknown>): void;
3056
3292
  /**
3057
- * Update current user presence
3058
- *
3059
- * @param status - Presence status
3060
- * @param statusText - Optional status text
3061
- * @throws {AXApiError} If update fails
3293
+ * Update active banner inputs for a specific message
3062
3294
  */
3063
- abstract updatePresence(status: AXPresenceStatus, statusText?: string): Promise<void>;
3295
+ updateMessageBannerInputs(messageId: string, inputs: Record<string, unknown>): void;
3064
3296
  /**
3065
- * Block a user
3066
- *
3067
- * @param userId - User ID to block
3068
- * @param reason - Optional reason
3069
- * @throws {AXApiError} If blocking fails
3297
+ * Hide active banner. If messageId is provided, hide only when it matches.
3070
3298
  */
3071
- abstract blockUser(userId: string, reason?: AXBlockReportReason): Promise<void>;
3299
+ hideMessageBanner(messageId?: string): void;
3300
+ isMessageBannerActive(messageId: string): boolean;
3072
3301
  /**
3073
- * Unblock a user
3074
- *
3075
- * @param userId - User ID to unblock
3076
- * @throws {AXApiError} If unblocking fails
3302
+ * Toggle component visibility
3077
3303
  */
3078
- abstract unblockUser(userId: string): Promise<void>;
3304
+ toggleComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
3079
3305
  /**
3080
- * Get list of blocked users
3081
- *
3082
- * @returns Array of blocked user IDs
3083
- * @throws {AXApiError} If request fails
3306
+ * Set search query
3084
3307
  */
3085
- abstract getBlockedUsers(): Promise<string[]>;
3308
+ setSearchQuery(query: string): void;
3086
3309
  /**
3087
- * Report a user
3088
- *
3089
- * @param userId - User ID to report
3090
- * @param reason - Report reason
3091
- * @throws {AXApiError} If reporting fails
3310
+ * Set search results
3092
3311
  */
3093
- abstract reportUser(userId: string, reason: AXBlockReportReason): Promise<void>;
3312
+ setSearchResults(count: number, currentIndex?: number): void;
3094
3313
  /**
3095
- * Get user settings
3096
- *
3097
- * @returns User settings
3098
- * @throws {AXApiError} If request fails
3314
+ * Navigate to next search result
3099
3315
  */
3100
- abstract getUserSettings(): Promise<Record<string, unknown>>;
3316
+ nextSearchResult(): void;
3101
3317
  /**
3102
- * Update user settings
3103
- *
3104
- * @param settings - Settings to update
3105
- * @throws {AXApiError} If update fails
3318
+ * Navigate to previous search result
3106
3319
  */
3107
- abstract updateUserSettings(settings: Record<string, unknown>): Promise<void>;
3320
+ previousSearchResult(): void;
3108
3321
  /**
3109
- * Create an API error
3110
- * Helper method for consistent error creation
3111
- *
3112
- * @param code - Error code
3113
- * @param message - Error message
3114
- * @param statusCode - HTTP status code
3115
- * @param details - Additional details
3116
- * @returns API error object
3322
+ * Clear search
3117
3323
  */
3118
- protected createError(code: string, message: string, statusCode?: number, details?: unknown): AXApiError;
3324
+ clearSearch(): void;
3325
+ private _extractOnClose;
3326
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarService, never>;
3327
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXInfoBarService>;
3119
3328
  }
3120
3329
 
3121
3330
  /**
@@ -3196,9 +3405,9 @@ declare class AXConversationService {
3196
3405
  /** Error state */
3197
3406
  readonly error: _angular_core.Signal<Error>;
3198
3407
  /** Connection status */
3199
- readonly connectionStatus$: rxjs.Observable<_acorex_components_conversation2.AXConnectionStatus>;
3408
+ readonly connectionStatus$: rxjs.Observable<AXConnectionStatus>;
3200
3409
  /** Error stream */
3201
- readonly errors$: rxjs.Observable<_acorex_components_conversation2.AXConversationError>;
3410
+ readonly errors$: rxjs.Observable<AXConversationError>;
3202
3411
  readonly onMessageReceived: rxjs.Observable<AXMessage>;
3203
3412
  readonly onMessageUpdated: rxjs.Observable<AXMessage>;
3204
3413
  readonly onMessageDeleted: rxjs.Observable<string>;
@@ -3210,7 +3419,7 @@ declare class AXConversationService {
3210
3419
  type: "reply" | "forward";
3211
3420
  }>;
3212
3421
  private _currentUser;
3213
- readonly currentUser: _angular_core.Signal<_acorex_components_conversation2.AXParticipant>;
3422
+ readonly currentUser: _angular_core.Signal<AXParticipant>;
3214
3423
  constructor();
3215
3424
  /**
3216
3425
  * Initialize the service
@@ -3523,140 +3732,25 @@ declare class AXConversationService {
3523
3732
  */
3524
3733
  unblockUser(userId: string): Promise<void>;
3525
3734
  /**
3526
- * Get blocked users
3527
- * @returns Array of blocked user IDs
3528
- */
3529
- getBlockedUsers(): Promise<string[]>;
3530
- /**
3531
- * Update user presence
3532
- * @param status - Presence status
3533
- * @param statusText - Optional status text
3534
- */
3535
- updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
3536
- /**
3537
- * Validate message content before sending
3538
- * Uses centralized validation utilities for consistency
3539
- * @param command - Message command to validate
3540
- * @throws {Error} If message content is invalid
3541
- */
3542
- private validateMessageContent;
3543
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
3544
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
3545
- }
3546
-
3547
- /**
3548
- * Error severity levels
3549
- */
3550
- type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
3551
- /**
3552
- * Conversation error event
3553
- */
3554
- interface AXConversationError {
3555
- /** Error code */
3556
- code: string;
3557
- /** Error message */
3558
- message: string;
3559
- /** Severity level */
3560
- severity: AXErrorSeverity;
3561
- /** Source operation */
3562
- operation: string;
3563
- /** Original error */
3564
- originalError?: unknown;
3565
- /** HTTP status code (if applicable) */
3566
- statusCode?: number;
3567
- /** Additional context */
3568
- context?: Record<string, unknown>;
3569
- /** Timestamp */
3570
- timestamp: Date;
3571
- /** Whether error was handled */
3572
- handled: boolean;
3573
- /** Recovery suggestions */
3574
- recoverySuggestions?: string[];
3575
- }
3576
- /**
3577
- * Error Handler Configuration
3578
- */
3579
- interface AXErrorHandlerConfig {
3580
- /** Log errors to console */
3581
- logToConsole?: boolean;
3582
- /** Show user-friendly error messages */
3583
- showUserMessages?: boolean;
3584
- /** Retry failed operations automatically */
3585
- autoRetry?: boolean;
3586
- /** Number of retry attempts */
3587
- maxRetries?: number;
3588
- /** Custom error handler */
3589
- customHandler?: (error: AXConversationError) => void;
3590
- }
3591
- /**
3592
- * Error Handler Service
3593
- */
3594
- declare class AXErrorHandlerService {
3595
- private readonly injectedConfig;
3596
- private readonly _errors$;
3597
- private readonly _config;
3598
- /** Error stream */
3599
- readonly errors$: rxjs.Observable<AXConversationError>;
3600
- constructor();
3601
- /**
3602
- * Configure error handler
3603
- */
3604
- configure(config: Partial<AXErrorHandlerConfig>): void;
3605
- /**
3606
- * Handle an error
3607
- */
3608
- handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
3609
- /**
3610
- * Handle API error (same pipeline as {@link handle}, for typed API failures)
3611
- */
3612
- handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
3613
- private publish;
3614
- /**
3615
- * Normalize any error to conversation error format (does not publish — use {@link handle})
3616
- */
3617
- private normalizeError;
3618
- private conversationErrorFromApi;
3619
- private isApiError;
3620
- /**
3621
- * Determine severity based on status code
3622
- */
3623
- private determineSeverity;
3624
- /**
3625
- * Get recovery suggestions based on error
3626
- */
3627
- private getRecoverySuggestions;
3628
- /**
3629
- * Get default recovery suggestions
3630
- */
3631
- private getDefaultRecoverySuggestions;
3632
- /**
3633
- * Log error to console
3634
- */
3635
- private logError;
3636
- /**
3637
- * Get user-friendly error message
3638
- */
3639
- getUserFriendlyMessage(error: AXConversationError): string;
3640
- /**
3641
- * Check if error is retryable
3735
+ * Get blocked users
3736
+ * @returns Array of blocked user IDs
3642
3737
  */
3643
- isRetryable(error: AXConversationError): boolean;
3738
+ getBlockedUsers(): Promise<string[]>;
3644
3739
  /**
3645
- * Execute an operation with automatic retry logic
3646
- * @param operation - The async operation to execute
3647
- * @param operationName - Name of the operation for error tracking
3648
- * @param context - Additional context for error handling
3649
- * @returns Promise resolving to the operation result
3650
- * @throws {AXConversationError} If all retries fail
3740
+ * Update user presence
3741
+ * @param status - Presence status
3742
+ * @param statusText - Optional status text
3651
3743
  */
3652
- executeWithRetry<T>(operation: () => Promise<T>, operationName: string, context?: Record<string, unknown>): Promise<T>;
3744
+ updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
3653
3745
  /**
3654
- * Delay helper for retry backoff
3655
- * @param ms - Milliseconds to delay
3746
+ * Validate message content before sending
3747
+ * Uses centralized validation utilities for consistency
3748
+ * @param command - Message command to validate
3749
+ * @throws {Error} If message content is invalid
3656
3750
  */
3657
- private delay;
3658
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXErrorHandlerService, never>;
3659
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXErrorHandlerService>;
3751
+ private validateMessageContent;
3752
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
3753
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
3660
3754
  }
3661
3755
 
3662
3756
  interface FilePreview {
@@ -3691,6 +3785,71 @@ declare class AXFileUploadService {
3691
3785
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXFileUploadService>;
3692
3786
  }
3693
3787
 
3788
+ interface DropdownMenuItem {
3789
+ id: string;
3790
+ label: string;
3791
+ icon?: string;
3792
+ disabled?: boolean;
3793
+ divider?: boolean;
3794
+ destructive?: boolean;
3795
+ shortcut?: string;
3796
+ }
3797
+ declare class AXInfoBarComponent {
3798
+ private readonly conversationService;
3799
+ private readonly infoBar;
3800
+ protected get registry(): AXRegistryService;
3801
+ /** Active conversation */
3802
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
3803
+ /** Active component from service */
3804
+ readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
3805
+ /** Active banner from service */
3806
+ readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
3807
+ /** Members popover reference */
3808
+ readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
3809
+ /** Members popover target element */
3810
+ readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
3811
+ /** Loading state for async actions */
3812
+ readonly actionLoading: _angular_core.WritableSignal<boolean>;
3813
+ /** Avatar clicked event */
3814
+ readonly avatarClick: _angular_core.OutputEmitterRef<void>;
3815
+ /** Search clicked event */
3816
+ readonly searchClick: _angular_core.OutputEmitterRef<void>;
3817
+ /** Search query changed event */
3818
+ readonly searchQuery: _angular_core.OutputEmitterRef<string>;
3819
+ /** Menu item clicked event */
3820
+ readonly menuItemAction: _angular_core.OutputEmitterRef<string>;
3821
+ /** Inline action buttons from registry */
3822
+ readonly inlineActions: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarAction[]>;
3823
+ /** Dropdown menu items from registry */
3824
+ readonly menuItems: _angular_core.Signal<DropdownMenuItem[]>;
3825
+ /** Get conversation status - delegate to utils */
3826
+ getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
3827
+ /** Get subtitle text - delegate to utils */
3828
+ getSubtitle(conversation: AXConversation): string;
3829
+ /** Get initials from name - delegate to utils */
3830
+ getInitials(name: string): string;
3831
+ getConversationAvatar(conversation: AXConversation): string | undefined;
3832
+ getConversationAvatarIcon(conversation: AXConversation): string | undefined;
3833
+ /** Handle avatar click */
3834
+ onAvatarClick(): void;
3835
+ /** Handle members click - open popover */
3836
+ onMembersClick(event: MouseEvent): void;
3837
+ /** Handle inline action click */
3838
+ onInlineActionClick(actionId: string): Promise<void>;
3839
+ /** Get inputs for dynamic component */
3840
+ getComponentInputs(): Record<string, unknown>;
3841
+ getInlineComponentInputs(): Record<string, unknown>;
3842
+ isActiveComponentFullWidth(): boolean;
3843
+ /** Handle close component */
3844
+ onCloseComponent(): void;
3845
+ getBannerInputs(): Record<string, unknown>;
3846
+ onCloseBanner(): void;
3847
+ /** Handle menu item click */
3848
+ onMenuItemClick(item: DropdownMenuItem): Promise<void>;
3849
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
3850
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
3851
+ }
3852
+
3694
3853
  declare class AXForwardMessageDialogComponent implements OnInit {
3695
3854
  private readonly toastService;
3696
3855
  private readonly translation;
@@ -3743,7 +3902,7 @@ declare class AXMessageListComponent implements OnDestroy {
3743
3902
  private readonly conversationService;
3744
3903
  private readonly messageListService;
3745
3904
  private readonly translation;
3746
- protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
3905
+ protected readonly config: Required<AXConversationConfig>;
3747
3906
  /**
3748
3907
  * Background for the message list scroll area from config, or the built-in soft gradient when unset/empty.
3749
3908
  * Set `messageListBackground` to `transparent` or `none` for a flat look.
@@ -3775,7 +3934,7 @@ declare class AXMessageListComponent implements OnDestroy {
3775
3934
  /** Show scroll to bottom button - use service */
3776
3935
  readonly showScrollButton: _angular_core.WritableSignal<boolean>;
3777
3936
  /** Active conversation */
3778
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
3937
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
3779
3938
  /** Messages */
3780
3939
  readonly messages: _angular_core.Signal<AXMessage[]>;
3781
3940
  /** Message action event */
@@ -3784,7 +3943,7 @@ declare class AXMessageListComponent implements OnDestroy {
3784
3943
  action: string;
3785
3944
  }>;
3786
3945
  /** Current user from service */
3787
- readonly currentUser: _angular_core.Signal<_acorex_components_conversation2.AXParticipant>;
3946
+ readonly currentUser: _angular_core.Signal<AXParticipant>;
3788
3947
  /** Message grouped by date - use service */
3789
3948
  readonly messageGroups: _angular_core.Signal<{
3790
3949
  date: string;
@@ -3941,9 +4100,9 @@ declare class AXMessageListService {
3941
4100
  private readonly conversationService;
3942
4101
  private readonly config;
3943
4102
  private get registry();
3944
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
4103
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
3945
4104
  readonly activeMessages: _angular_core.Signal<AXMessage[]>;
3946
- readonly currentUser: _angular_core.Signal<_acorex_components_conversation2.AXParticipant>;
4105
+ readonly currentUser: _angular_core.Signal<AXParticipant>;
3947
4106
  /** Loading state */
3948
4107
  readonly loading: _angular_core.WritableSignal<boolean>;
3949
4108
  /** Loading more messages state */
@@ -4019,7 +4178,7 @@ declare class AXSidebarService {
4019
4178
 
4020
4179
  declare class AXSidebarComponent implements OnDestroy {
4021
4180
  readonly sidebar: AXSidebarService;
4022
- protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
4181
+ protected readonly config: Required<AXConversationConfig>;
4023
4182
  private readonly conversationService;
4024
4183
  private readonly popupService;
4025
4184
  private readonly translation;
@@ -4121,165 +4280,6 @@ declare class AXInfiniteScrollDirective {
4121
4280
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXInfiniteScrollDirective, "[axInfiniteScroll]", never, { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "edge": { "alias": "edge"; "required": false; "isSignal": true; }; }, { "scrollThreshold": "scrollThreshold"; }, never, never, true, never>;
4122
4281
  }
4123
4282
 
4124
- /**
4125
- * Conversation Configuration Interface
4126
- * Centralized configuration values to avoid magic numbers
4127
- */
4128
- /**
4129
- * Main configuration interface for the conversation component
4130
- */
4131
- interface AXConversationConfig {
4132
- /** Number of messages to load per page */
4133
- messagePageSize?: number;
4134
- /** Number of conversations to load per page */
4135
- conversationPageSize?: number;
4136
- /** Scroll threshold for detecting scroll events */
4137
- scrollThreshold?: number;
4138
- /** Infinite scroll threshold */
4139
- infiniteScrollThreshold?: number;
4140
- /** Typing indicator timeout in milliseconds */
4141
- typingIndicatorTimeout?: number;
4142
- /** Typing indicator throttle in milliseconds (for rate limiting) */
4143
- typingIndicatorThrottle?: number;
4144
- /** Message highlight duration in milliseconds */
4145
- messageHighlightDuration?: number;
4146
- /** Search debounce delay in milliseconds */
4147
- debounceSearch?: number;
4148
- /** Date separator inactivity fade delay in milliseconds */
4149
- /** Maximum messages per conversation */
4150
- maxMessagesPerConversation?: number;
4151
- /** Maximum total messages in store */
4152
- maxTotalMessages?: number;
4153
- /** Maximum cached conversations */
4154
- maxCachedConversations?: number;
4155
- /** Minimum sidebar width in pixels */
4156
- minSidebarWidth?: number;
4157
- /** Maximum sidebar width in pixels */
4158
- maxSidebarWidth?: number;
4159
- /** Default sidebar width in pixels */
4160
- defaultSidebarWidth?: number;
4161
- /** Filter cache size */
4162
- filterCacheSize?: number;
4163
- /** Maximum file size in bytes */
4164
- maxFileSize?: number;
4165
- /** Allowed file types (glob patterns like 'image/*') */
4166
- allowedFileTypes?: string[];
4167
- /** Maximum message length in characters */
4168
- maxMessageLength?: number;
4169
- /** Minimum message length in characters */
4170
- minMessageLength?: number;
4171
- /** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
4172
- messageReadThreshold?: number;
4173
- /**
4174
- * CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
4175
- * Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
4176
- * Empty string = library default soft gradient. `transparent` or `none` = flat background.
4177
- */
4178
- messageListBackground?: string;
4179
- }
4180
-
4181
- /**
4182
- * Default Configuration Values
4183
- * Centralized defaults to avoid magic numbers throughout the codebase
4184
- */
4185
-
4186
- /**
4187
- * Default conversation configuration
4188
- * All values are explicitly defined here for easy maintenance and documentation
4189
- */
4190
- declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
4191
- /**
4192
- * Helper function to merge user config with defaults
4193
- * Properly handles array merging to avoid reference issues
4194
- * @param userConfig - User-provided configuration
4195
- * @returns Merged configuration with all required fields
4196
- */
4197
- declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
4198
-
4199
- /**
4200
- * Dependency Injection Tokens
4201
- * InjectionTokens for configuration and dependencies
4202
- */
4203
-
4204
- /**
4205
- * Configuration token for conversation component
4206
- * Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
4207
- */
4208
- declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
4209
- /**
4210
- * Token for configuring AXErrorHandlerService
4211
- */
4212
- declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
4213
-
4214
- /**
4215
- * Registry Configuration Tokens
4216
- * Injection tokens for configuring default registry values
4217
- */
4218
-
4219
- /**
4220
- * Additional message renderers configuration
4221
- * Provide this token to add custom message renderers in addition to built-in ones
4222
- * Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
4223
- */
4224
- declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
4225
- /**
4226
- * Default message actions configuration
4227
- * Provide this token to override default message actions
4228
- */
4229
- declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
4230
- /**
4231
- * Default composer tabs configuration
4232
- * Provide this token to override default composer tabs (emoji, stickers, etc.)
4233
- */
4234
- declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
4235
- /**
4236
- * Default composer actions configuration
4237
- * Provide this token to override default composer actions (attach, voice, etc.)
4238
- */
4239
- declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
4240
- /**
4241
- * Default conversation tabs configuration
4242
- * Provide this token to override default conversation tabs (all, private, groups, etc.)
4243
- */
4244
- declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
4245
- /**
4246
- * Default info bar actions configuration
4247
- * Provide this token to override default info bar actions (mute, archive, block, etc.)
4248
- */
4249
- declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
4250
- /**
4251
- * Default conversation item actions configuration
4252
- * Provide this token to override default conversation item actions (mute, delete, archive, etc.)
4253
- */
4254
- declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
4255
- /**
4256
- * Registry configuration interface
4257
- */
4258
- interface AXRegistryConfiguration {
4259
- /**
4260
- * Additional message renderers to register (built-in renderers are automatic).
4261
- * Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
4262
- */
4263
- messageRenderers?: AXMessageRenderer[];
4264
- /** Message actions to register by default */
4265
- messageActions?: AXMessageAction[];
4266
- /** Composer tabs to register by default */
4267
- composerTabs?: AXComposerTab[];
4268
- /** Composer actions to register by default */
4269
- composerActions?: AXComposerAction[];
4270
- /** Conversation tabs to register by default */
4271
- conversationTabs?: AXConversationTab[];
4272
- /** Info bar actions to register by default */
4273
- infoBarActions?: AXInfoBarAction[];
4274
- /** Conversation item actions to register by default */
4275
- conversationItemActions?: AXConversationItemAction[];
4276
- }
4277
- /**
4278
- * Complete registry configuration token
4279
- * Provide this for comprehensive registry configuration
4280
- */
4281
- declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
4282
-
4283
4283
  /**
4284
4284
  * IndexedDB Storage Wrapper
4285
4285
  * Provides persistent storage for conversation data
@@ -5010,7 +5010,7 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
5010
5010
  value: string;
5011
5011
  }>;
5012
5012
  /** Get filtered members based on search */
5013
- get filteredMembers(): _acorex_components_conversation2.AXParticipant[];
5013
+ get filteredMembers(): AXParticipant[];
5014
5014
  /** Handle tab change */
5015
5015
  onTabChange(event: any): void;
5016
5016
  ngOnInit(): void;
@@ -5066,7 +5066,7 @@ declare class AXInfoBarSearchComponent {
5066
5066
  /** Current index from service */
5067
5067
  readonly currentIndex: _angular_core.Signal<number>;
5068
5068
  /** Messages from conversation */
5069
- readonly messages: _angular_core.Signal<_acorex_components_conversation2.AXMessage[]>;
5069
+ readonly messages: _angular_core.Signal<AXMessage[]>;
5070
5070
  private scrollTimer?;
5071
5071
  constructor();
5072
5072
  /** Handle search input change */
@@ -5166,7 +5166,7 @@ declare class AXAudioRendererComponent implements AXMessageRendererComponent {
5166
5166
  private readonly _contentState;
5167
5167
  readonly message: _angular_core.InputSignal<AXMessage>;
5168
5168
  readonly rendererState: _angular_core.Signal<{
5169
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5169
+ deliveryStatus: AXMessageStatus;
5170
5170
  contentState: AXMessageRendererContentState;
5171
5171
  }>;
5172
5172
  readonly isPlaying: _angular_core.WritableSignal<boolean>;
@@ -5209,7 +5209,7 @@ declare class AXFallbackRendererComponent implements AXMessageRendererComponent
5209
5209
  private readonly _contentState;
5210
5210
  readonly message: _angular_core.InputSignal<AXMessage>;
5211
5211
  readonly rendererState: _angular_core.Signal<{
5212
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5212
+ deliveryStatus: AXMessageStatus;
5213
5213
  contentState: AXMessageRendererContentState;
5214
5214
  }>;
5215
5215
  readonly messageTypeLabel: _angular_core.Signal<string>;
@@ -5223,7 +5223,7 @@ declare class AXFileRendererComponent implements AXMessageRendererComponent {
5223
5223
  private readonly _contentState;
5224
5224
  readonly message: _angular_core.InputSignal<AXMessage>;
5225
5225
  readonly rendererState: _angular_core.Signal<{
5226
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5226
+ deliveryStatus: AXMessageStatus;
5227
5227
  contentState: AXMessageRendererContentState;
5228
5228
  }>;
5229
5229
  readonly payload: _angular_core.Signal<AXFilePayload>;
@@ -5243,7 +5243,7 @@ declare class AXImageRendererComponent implements AXMessageRendererComponent {
5243
5243
  private readonly _contentState;
5244
5244
  readonly message: _angular_core.InputSignal<AXMessage>;
5245
5245
  readonly rendererState: _angular_core.Signal<{
5246
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5246
+ deliveryStatus: AXMessageStatus;
5247
5247
  contentState: AXMessageRendererContentState;
5248
5248
  }>;
5249
5249
  readonly imageClick: _angular_core.OutputEmitterRef<string>;
@@ -5263,7 +5263,7 @@ declare class AXLocationRendererComponent implements AXMessageRendererComponent
5263
5263
  private readonly _contentState;
5264
5264
  readonly message: _angular_core.InputSignal<AXMessage>;
5265
5265
  readonly rendererState: _angular_core.Signal<{
5266
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5266
+ deliveryStatus: AXMessageStatus;
5267
5267
  contentState: AXMessageRendererContentState;
5268
5268
  }>;
5269
5269
  readonly payload: _angular_core.Signal<AXLocationPayload>;
@@ -5288,7 +5288,7 @@ declare class AXStickerRendererComponent implements AXMessageRendererComponent {
5288
5288
  private readonly _contentState;
5289
5289
  readonly message: _angular_core.InputSignal<AXMessage>;
5290
5290
  readonly rendererState: _angular_core.Signal<{
5291
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5291
+ deliveryStatus: AXMessageStatus;
5292
5292
  contentState: AXMessageRendererContentState;
5293
5293
  }>;
5294
5294
  readonly payload: _angular_core.Signal<AXStickerPayload>;
@@ -5305,7 +5305,7 @@ declare class AXSystemRendererComponent implements AXMessageRendererComponent {
5305
5305
  private readonly _contentState;
5306
5306
  readonly message: _angular_core.InputSignal<AXMessage>;
5307
5307
  readonly rendererState: _angular_core.Signal<{
5308
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5308
+ deliveryStatus: AXMessageStatus;
5309
5309
  contentState: AXMessageRendererContentState;
5310
5310
  }>;
5311
5311
  readonly payload: _angular_core.Signal<AXSystemPayload>;
@@ -5320,7 +5320,7 @@ declare class AXTextRendererComponent implements AXMessageRendererComponent {
5320
5320
  private readonly _contentState;
5321
5321
  readonly message: _angular_core.InputSignal<AXMessage>;
5322
5322
  readonly rendererState: _angular_core.Signal<{
5323
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5323
+ deliveryStatus: AXMessageStatus;
5324
5324
  contentState: AXMessageRendererContentState;
5325
5325
  }>;
5326
5326
  readonly searchQuery: _angular_core.Signal<string>;
@@ -5342,7 +5342,7 @@ declare class AXVideoRendererComponent implements AXMessageRendererComponent {
5342
5342
  private readonly _contentState;
5343
5343
  readonly message: _angular_core.InputSignal<AXMessage>;
5344
5344
  readonly rendererState: _angular_core.Signal<{
5345
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5345
+ deliveryStatus: AXMessageStatus;
5346
5346
  contentState: AXMessageRendererContentState;
5347
5347
  }>;
5348
5348
  readonly showPlayer: _angular_core.WritableSignal<boolean>;
@@ -5394,7 +5394,7 @@ declare class AXVoiceRendererComponent implements AXMessageRendererComponent {
5394
5394
  private readonly _contentState;
5395
5395
  readonly message: _angular_core.InputSignal<AXMessage>;
5396
5396
  readonly rendererState: _angular_core.Signal<{
5397
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5397
+ deliveryStatus: AXMessageStatus;
5398
5398
  contentState: AXMessageRendererContentState;
5399
5399
  }>;
5400
5400
  readonly isPlaying: _angular_core.WritableSignal<boolean>;