@acorex/components 21.0.2-next.38 → 21.0.2-next.39

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/fesm2022/acorex-components-accordion.mjs +32 -37
  2. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  3. package/fesm2022/acorex-components-action-sheet.mjs +32 -32
  4. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  5. package/fesm2022/acorex-components-alert.mjs +21 -21
  6. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  7. package/fesm2022/acorex-components-aspect-ratio.mjs +6 -6
  8. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  9. package/fesm2022/acorex-components-audio-wave.mjs +15 -14
  10. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  11. package/fesm2022/acorex-components-autocomplete.mjs +16 -16
  12. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  13. package/fesm2022/acorex-components-avatar.mjs +17 -17
  14. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  15. package/fesm2022/acorex-components-badge.mjs +11 -11
  16. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  17. package/fesm2022/acorex-components-bottom-navigation.mjs +15 -15
  18. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  19. package/fesm2022/acorex-components-breadcrumbs.mjs +14 -14
  20. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  21. package/fesm2022/acorex-components-button-group.mjs +63 -28
  22. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  23. package/fesm2022/acorex-components-button.mjs +31 -31
  24. package/fesm2022/acorex-components-button.mjs.map +1 -1
  25. package/fesm2022/acorex-components-calendar.mjs +27 -27
  26. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  27. package/fesm2022/acorex-components-check-box.mjs +12 -12
  28. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  29. package/fesm2022/acorex-components-chips.mjs +13 -15
  30. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  31. package/fesm2022/acorex-components-circular-progress.mjs +18 -16
  32. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  33. package/fesm2022/acorex-components-code-editor.mjs +30 -30
  34. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  35. package/fesm2022/acorex-components-color-box.mjs +16 -16
  36. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  37. package/fesm2022/acorex-components-color-palette.mjs +85 -44
  38. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  39. package/fesm2022/acorex-components-command.mjs +20 -20
  40. package/fesm2022/acorex-components-command.mjs.map +1 -1
  41. package/fesm2022/acorex-components-comment.mjs +37 -37
  42. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  43. package/fesm2022/acorex-components-conversation.mjs +119 -119
  44. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  45. package/fesm2022/acorex-components-conversation2.mjs +720 -708
  46. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  47. package/fesm2022/acorex-components-cron-job.mjs +60 -60
  48. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  49. package/fesm2022/acorex-components-data-list.mjs +34 -34
  50. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  51. package/fesm2022/acorex-components-data-pager.mjs +42 -42
  52. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  53. package/fesm2022/acorex-components-data-table.mjs +69 -516
  54. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  55. package/fesm2022/acorex-components-datetime-box.mjs +26 -26
  56. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  57. package/fesm2022/acorex-components-datetime-input.mjs +24 -24
  58. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  59. package/fesm2022/acorex-components-datetime-picker.mjs +30 -30
  60. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  61. package/fesm2022/acorex-components-decorators.mjs +56 -49
  62. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  63. package/fesm2022/acorex-components-dialog.mjs +16 -16
  64. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  65. package/fesm2022/acorex-components-drawer.mjs +25 -26
  66. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  67. package/fesm2022/acorex-components-dropdown-button.mjs +19 -11
  68. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  69. package/fesm2022/acorex-components-dropdown.mjs +22 -22
  70. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  71. package/fesm2022/acorex-components-editor.mjs +15 -15
  72. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  73. package/fesm2022/acorex-components-fab.mjs +18 -18
  74. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  75. package/fesm2022/acorex-components-flow-chart.mjs +80 -63
  76. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  77. package/fesm2022/acorex-components-form.mjs +47 -39
  78. package/fesm2022/acorex-components-form.mjs.map +1 -1
  79. package/fesm2022/acorex-components-grid-layout-builder.mjs +18 -19
  80. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  81. package/fesm2022/acorex-components-image-editor.mjs +93 -93
  82. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  83. package/fesm2022/acorex-components-image.mjs +12 -12
  84. package/fesm2022/acorex-components-image.mjs.map +1 -1
  85. package/fesm2022/acorex-components-json-viewer.mjs +13 -13
  86. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  87. package/fesm2022/acorex-components-kanban.mjs +28 -26
  88. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  89. package/fesm2022/acorex-components-kbd.mjs +17 -17
  90. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  91. package/fesm2022/acorex-components-label.mjs +9 -9
  92. package/fesm2022/acorex-components-label.mjs.map +1 -1
  93. package/fesm2022/acorex-components-list.mjs +16 -16
  94. package/fesm2022/acorex-components-list.mjs.map +1 -1
  95. package/fesm2022/acorex-components-loading-dialog.mjs +20 -20
  96. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  97. package/fesm2022/acorex-components-loading.mjs +23 -23
  98. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  99. package/fesm2022/acorex-components-map.mjs +47 -47
  100. package/fesm2022/acorex-components-map.mjs.map +1 -1
  101. package/fesm2022/acorex-components-media-viewer.mjs +85 -85
  102. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  103. package/fesm2022/acorex-components-menu.mjs +49 -49
  104. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  105. package/fesm2022/{acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs → acorex-components-modal-acorex-components-modal-JpPBSiVh.mjs} +29 -29
  106. package/fesm2022/acorex-components-modal-acorex-components-modal-JpPBSiVh.mjs.map +1 -0
  107. package/fesm2022/acorex-components-modal-modal-content.component-DKweXQfl.mjs +214 -0
  108. package/fesm2022/acorex-components-modal-modal-content.component-DKweXQfl.mjs.map +1 -0
  109. package/fesm2022/acorex-components-modal.mjs +1 -1
  110. package/fesm2022/acorex-components-navbar.mjs +9 -9
  111. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  112. package/fesm2022/acorex-components-notification.mjs +29 -29
  113. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  114. package/fesm2022/acorex-components-number-box.mjs +21 -21
  115. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  116. package/fesm2022/acorex-components-otp.mjs +13 -13
  117. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  118. package/fesm2022/acorex-components-page.mjs +10 -10
  119. package/fesm2022/acorex-components-page.mjs.map +1 -1
  120. package/fesm2022/acorex-components-paint.mjs +60 -65
  121. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  122. package/fesm2022/acorex-components-password-box.mjs +31 -39
  123. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  124. package/fesm2022/acorex-components-pdf-reader.mjs +10 -10
  125. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  126. package/fesm2022/acorex-components-phone-box.mjs +20 -20
  127. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  128. package/fesm2022/acorex-components-picker.mjs +33 -33
  129. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  130. package/fesm2022/acorex-components-popover.mjs +11 -11
  131. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  132. package/fesm2022/acorex-components-popup.mjs +25 -25
  133. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  134. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  135. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  136. package/fesm2022/acorex-components-qrcode.mjs +38 -21
  137. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  138. package/fesm2022/acorex-components-query-builder.mjs +16 -15
  139. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  140. package/fesm2022/acorex-components-radio.mjs +10 -9
  141. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  142. package/fesm2022/acorex-components-rail-navigation.mjs +53 -51
  143. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  144. package/fesm2022/acorex-components-range-slider.mjs +36 -36
  145. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  146. package/fesm2022/acorex-components-rate-picker.mjs +27 -42
  147. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  148. package/fesm2022/acorex-components-rest-api-generator.mjs +39 -39
  149. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  150. package/fesm2022/acorex-components-result.mjs +8 -8
  151. package/fesm2022/acorex-components-result.mjs.map +1 -1
  152. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  153. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  154. package/fesm2022/acorex-components-rrule.mjs +38 -38
  155. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  156. package/fesm2022/acorex-components-scheduler-picker.mjs +228 -234
  157. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  158. package/fesm2022/acorex-components-scheduler.mjs +292 -302
  159. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  160. package/fesm2022/acorex-components-search-box.mjs +19 -13
  161. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  162. package/fesm2022/acorex-components-select-box.mjs +27 -25
  163. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  164. package/fesm2022/acorex-components-selection-list-2.mjs +15 -15
  165. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  166. package/fesm2022/acorex-components-selection-list.mjs +12 -12
  167. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  168. package/fesm2022/acorex-components-side-menu.mjs +44 -44
  169. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  170. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  171. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  172. package/fesm2022/acorex-components-slider.mjs +13 -13
  173. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  174. package/fesm2022/acorex-components-sliding-item.mjs +28 -28
  175. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  176. package/fesm2022/acorex-components-step-wizard.mjs +41 -41
  177. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  178. package/fesm2022/acorex-components-switch.mjs +14 -14
  179. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  180. package/fesm2022/acorex-components-tabs.mjs +22 -22
  181. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  182. package/fesm2022/acorex-components-tag-box.mjs +20 -20
  183. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  184. package/fesm2022/acorex-components-tag.mjs +10 -10
  185. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  186. package/fesm2022/acorex-components-text-area.mjs +9 -9
  187. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  188. package/fesm2022/acorex-components-text-box.mjs +14 -14
  189. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  190. package/fesm2022/acorex-components-time-duration.mjs +29 -31
  191. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  192. package/fesm2022/acorex-components-time-line.mjs +21 -21
  193. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  194. package/fesm2022/acorex-components-toast.mjs +27 -27
  195. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  196. package/fesm2022/acorex-components-toolbar.mjs +14 -14
  197. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  198. package/fesm2022/acorex-components-tooltip.mjs +17 -17
  199. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  200. package/fesm2022/acorex-components-tree-view.mjs +60 -60
  201. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  202. package/fesm2022/acorex-components-uploader.mjs +18 -18
  203. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  204. package/fesm2022/acorex-components-video-player.mjs +10 -10
  205. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  206. package/fesm2022/acorex-components-wysiwyg.mjs +58 -58
  207. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  208. package/fesm2022/acorex-components.mjs.map +1 -1
  209. package/package.json +118 -141
  210. package/{accordion/index.d.ts → types/acorex-components-accordion.d.ts} +0 -1
  211. package/{button-group/index.d.ts → types/acorex-components-button-group.d.ts} +20 -12
  212. package/{button/index.d.ts → types/acorex-components-button.d.ts} +3 -3
  213. package/{check-box/index.d.ts → types/acorex-components-check-box.d.ts} +1 -1
  214. package/{chips/index.d.ts → types/acorex-components-chips.d.ts} +3 -8
  215. package/{color-palette/index.d.ts → types/acorex-components-color-palette.d.ts} +2 -0
  216. package/{conversation2/index.d.ts → types/acorex-components-conversation2.d.ts} +647 -647
  217. package/{data-table/index.d.ts → types/acorex-components-data-table.d.ts} +4 -262
  218. package/{datetime-box/index.d.ts → types/acorex-components-datetime-box.d.ts} +5 -4
  219. package/{dropdown-button/index.d.ts → types/acorex-components-dropdown-button.d.ts} +4 -2
  220. package/{flow-chart/index.d.ts → types/acorex-components-flow-chart.d.ts} +4 -0
  221. package/{form/index.d.ts → types/acorex-components-form.d.ts} +24 -24
  222. package/{grid-layout-builder/index.d.ts → types/acorex-components-grid-layout-builder.d.ts} +0 -1
  223. package/{loading/index.d.ts → types/acorex-components-loading.d.ts} +1 -1
  224. package/{menu/index.d.ts → types/acorex-components-menu.d.ts} +6 -6
  225. package/{paint/index.d.ts → types/acorex-components-paint.d.ts} +1 -6
  226. package/{qrcode/index.d.ts → types/acorex-components-qrcode.d.ts} +1 -0
  227. package/{radio/index.d.ts → types/acorex-components-radio.d.ts} +1 -1
  228. package/{rate-picker/index.d.ts → types/acorex-components-rate-picker.d.ts} +5 -15
  229. package/{scheduler-picker/index.d.ts → types/acorex-components-scheduler-picker.d.ts} +82 -81
  230. package/{select-box/index.d.ts → types/acorex-components-select-box.d.ts} +2 -1
  231. package/{slider/index.d.ts → types/acorex-components-slider.d.ts} +2 -2
  232. package/{tabs/index.d.ts → types/acorex-components-tabs.d.ts} +1 -1
  233. package/{tag/index.d.ts → types/acorex-components-tag.d.ts} +3 -3
  234. package/collapse/README.md +0 -3
  235. package/collapse/index.d.ts +0 -174
  236. package/drawer-legacy/README.md +0 -3
  237. package/drawer-legacy/index.d.ts +0 -86
  238. package/fesm2022/acorex-components-collapse.mjs +0 -366
  239. package/fesm2022/acorex-components-collapse.mjs.map +0 -1
  240. package/fesm2022/acorex-components-drawer-legacy.mjs +0 -218
  241. package/fesm2022/acorex-components-drawer-legacy.mjs.map +0 -1
  242. package/fesm2022/acorex-components-file-explorer.mjs +0 -307
  243. package/fesm2022/acorex-components-file-explorer.mjs.map +0 -1
  244. package/fesm2022/acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs.map +0 -1
  245. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs +0 -212
  246. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs.map +0 -1
  247. package/fesm2022/acorex-components-number-box-legacy.mjs +0 -430
  248. package/fesm2022/acorex-components-number-box-legacy.mjs.map +0 -1
  249. package/fesm2022/acorex-components-scss.mjs +0 -22
  250. package/fesm2022/acorex-components-scss.mjs.map +0 -1
  251. package/fesm2022/acorex-components-tree-view-legacy.mjs +0 -511
  252. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +0 -1
  253. package/file-explorer/README.md +0 -3
  254. package/file-explorer/index.d.ts +0 -103
  255. package/number-box-legacy/README.md +0 -3
  256. package/number-box-legacy/index.d.ts +0 -191
  257. package/scss/README.md +0 -3
  258. package/scss/index.d.ts +0 -10
  259. package/tree-view-legacy/README.md +0 -3
  260. package/tree-view-legacy/index.d.ts +0 -184
  261. package/{action-sheet/index.d.ts → types/acorex-components-action-sheet.d.ts} +0 -0
  262. package/{alert/index.d.ts → types/acorex-components-alert.d.ts} +0 -0
  263. package/{aspect-ratio/index.d.ts → types/acorex-components-aspect-ratio.d.ts} +0 -0
  264. package/{audio-wave/index.d.ts → types/acorex-components-audio-wave.d.ts} +0 -0
  265. package/{autocomplete/index.d.ts → types/acorex-components-autocomplete.d.ts} +0 -0
  266. package/{avatar/index.d.ts → types/acorex-components-avatar.d.ts} +0 -0
  267. package/{badge/index.d.ts → types/acorex-components-badge.d.ts} +0 -0
  268. package/{bottom-navigation/index.d.ts → types/acorex-components-bottom-navigation.d.ts} +0 -0
  269. package/{breadcrumbs/index.d.ts → types/acorex-components-breadcrumbs.d.ts} +0 -0
  270. package/{calendar/index.d.ts → types/acorex-components-calendar.d.ts} +0 -0
  271. package/{circular-progress/index.d.ts → types/acorex-components-circular-progress.d.ts} +0 -0
  272. package/{code-editor/index.d.ts → types/acorex-components-code-editor.d.ts} +0 -0
  273. package/{color-box/index.d.ts → types/acorex-components-color-box.d.ts} +0 -0
  274. package/{command/index.d.ts → types/acorex-components-command.d.ts} +0 -0
  275. package/{comment/index.d.ts → types/acorex-components-comment.d.ts} +0 -0
  276. package/{conversation/index.d.ts → types/acorex-components-conversation.d.ts} +0 -0
  277. package/{cron-job/index.d.ts → types/acorex-components-cron-job.d.ts} +0 -0
  278. package/{data-list/index.d.ts → types/acorex-components-data-list.d.ts} +0 -0
  279. package/{data-pager/index.d.ts → types/acorex-components-data-pager.d.ts} +0 -0
  280. package/{datetime-input/index.d.ts → types/acorex-components-datetime-input.d.ts} +0 -0
  281. package/{datetime-picker/index.d.ts → types/acorex-components-datetime-picker.d.ts} +0 -0
  282. package/{decorators/index.d.ts → types/acorex-components-decorators.d.ts} +0 -0
  283. package/{dialog/index.d.ts → types/acorex-components-dialog.d.ts} +0 -0
  284. package/{drawer/index.d.ts → types/acorex-components-drawer.d.ts} +0 -0
  285. package/{dropdown/index.d.ts → types/acorex-components-dropdown.d.ts} +0 -0
  286. package/{editor/index.d.ts → types/acorex-components-editor.d.ts} +0 -0
  287. package/{fab/index.d.ts → types/acorex-components-fab.d.ts} +0 -0
  288. package/{image-editor/index.d.ts → types/acorex-components-image-editor.d.ts} +0 -0
  289. package/{image/index.d.ts → types/acorex-components-image.d.ts} +0 -0
  290. package/{json-viewer/index.d.ts → types/acorex-components-json-viewer.d.ts} +0 -0
  291. package/{kanban/index.d.ts → types/acorex-components-kanban.d.ts} +0 -0
  292. package/{kbd/index.d.ts → types/acorex-components-kbd.d.ts} +0 -0
  293. package/{label/index.d.ts → types/acorex-components-label.d.ts} +0 -0
  294. package/{list/index.d.ts → types/acorex-components-list.d.ts} +0 -0
  295. package/{loading-dialog/index.d.ts → types/acorex-components-loading-dialog.d.ts} +0 -0
  296. package/{map/index.d.ts → types/acorex-components-map.d.ts} +0 -0
  297. package/{media-viewer/index.d.ts → types/acorex-components-media-viewer.d.ts} +0 -0
  298. package/{modal/index.d.ts → types/acorex-components-modal.d.ts} +0 -0
  299. package/{navbar/index.d.ts → types/acorex-components-navbar.d.ts} +0 -0
  300. package/{notification/index.d.ts → types/acorex-components-notification.d.ts} +0 -0
  301. package/{number-box/index.d.ts → types/acorex-components-number-box.d.ts} +0 -0
  302. package/{otp/index.d.ts → types/acorex-components-otp.d.ts} +0 -0
  303. package/{page/index.d.ts → types/acorex-components-page.d.ts} +0 -0
  304. package/{password-box/index.d.ts → types/acorex-components-password-box.d.ts} +0 -0
  305. package/{pdf-reader/index.d.ts → types/acorex-components-pdf-reader.d.ts} +0 -0
  306. package/{phone-box/index.d.ts → types/acorex-components-phone-box.d.ts} +0 -0
  307. package/{picker/index.d.ts → types/acorex-components-picker.d.ts} +0 -0
  308. package/{popover/index.d.ts → types/acorex-components-popover.d.ts} +0 -0
  309. package/{popup/index.d.ts → types/acorex-components-popup.d.ts} +0 -0
  310. package/{progress-bar/index.d.ts → types/acorex-components-progress-bar.d.ts} +0 -0
  311. package/{query-builder/index.d.ts → types/acorex-components-query-builder.d.ts} +1 -1
  312. /package/{rail-navigation/index.d.ts → types/acorex-components-rail-navigation.d.ts} +0 -0
  313. /package/{range-slider/index.d.ts → types/acorex-components-range-slider.d.ts} +0 -0
  314. /package/{rest-api-generator/index.d.ts → types/acorex-components-rest-api-generator.d.ts} +0 -0
  315. /package/{result/index.d.ts → types/acorex-components-result.d.ts} +0 -0
  316. /package/{routing-progress/index.d.ts → types/acorex-components-routing-progress.d.ts} +0 -0
  317. /package/{rrule/index.d.ts → types/acorex-components-rrule.d.ts} +0 -0
  318. /package/{scheduler/index.d.ts → types/acorex-components-scheduler.d.ts} +0 -0
  319. /package/{search-box/index.d.ts → types/acorex-components-search-box.d.ts} +0 -0
  320. /package/{selection-list-2/index.d.ts → types/acorex-components-selection-list-2.d.ts} +0 -0
  321. /package/{selection-list/index.d.ts → types/acorex-components-selection-list.d.ts} +0 -0
  322. /package/{side-menu/index.d.ts → types/acorex-components-side-menu.d.ts} +0 -0
  323. /package/{skeleton/index.d.ts → types/acorex-components-skeleton.d.ts} +0 -0
  324. /package/{sliding-item/index.d.ts → types/acorex-components-sliding-item.d.ts} +0 -0
  325. /package/{step-wizard/index.d.ts → types/acorex-components-step-wizard.d.ts} +0 -0
  326. /package/{switch/index.d.ts → types/acorex-components-switch.d.ts} +0 -0
  327. /package/{tag-box/index.d.ts → types/acorex-components-tag-box.d.ts} +0 -0
  328. /package/{text-area/index.d.ts → types/acorex-components-text-area.d.ts} +0 -0
  329. /package/{text-box/index.d.ts → types/acorex-components-text-box.d.ts} +0 -0
  330. /package/{time-duration/index.d.ts → types/acorex-components-time-duration.d.ts} +0 -0
  331. /package/{time-line/index.d.ts → types/acorex-components-time-line.d.ts} +0 -0
  332. /package/{toast/index.d.ts → types/acorex-components-toast.d.ts} +0 -0
  333. /package/{toolbar/index.d.ts → types/acorex-components-toolbar.d.ts} +0 -0
  334. /package/{tooltip/index.d.ts → types/acorex-components-tooltip.d.ts} +0 -0
  335. /package/{tree-view/index.d.ts → types/acorex-components-tree-view.d.ts} +0 -0
  336. /package/{uploader/index.d.ts → types/acorex-components-uploader.d.ts} +0 -0
  337. /package/{video-player/index.d.ts → types/acorex-components-video-player.d.ts} +0 -0
  338. /package/{wysiwyg/index.d.ts → types/acorex-components-wysiwyg.d.ts} +0 -0
  339. /package/{index.d.ts → types/acorex-components.d.ts} +0 -0
@@ -1,14 +1,14 @@
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, Provider, InjectionToken, OnInit, EventEmitter, TemplateRef, ModuleWithProviders } from '@angular/core';
3
+ import { OnDestroy, ViewContainerRef, Type, InputSignal, WritableSignal, Signal, Provider, OnInit, EventEmitter, TemplateRef, InjectionToken, ModuleWithProviders } from '@angular/core';
4
4
  import { AXComponentCloseEvent, AXHtmlEvent, AXDataSource, AXClosableComponent } from '@acorex/cdk/common';
5
- import { AXFileUploadOptions, AXUploadResult, AXUploadReference, AXUploaderService, AXUploaderFileChangeEvent } from '@acorex/cdk/uploader';
6
5
  import * as _acorex_components_popup from '@acorex/components/popup';
7
6
  import { AXPopupService, AXPopupRef } from '@acorex/components/popup';
8
- import * as rxjs from 'rxjs';
9
- import { Observable, BehaviorSubject, Subject } from 'rxjs';
7
+ import { AXFileUploadOptions, AXUploadResult, AXUploadReference, AXUploaderService, AXUploaderFileChangeEvent } from '@acorex/cdk/uploader';
10
8
  import { AXPopoverComponent } from '@acorex/components/popover';
11
9
  import { AXListComponent } from '@acorex/components/list';
10
+ import * as rxjs from 'rxjs';
11
+ import { Observable, BehaviorSubject, Subject } from 'rxjs';
12
12
  import { AXDialogService } from '@acorex/components/dialog';
13
13
  import { AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
14
14
  import { AXBasePageComponent } from '@acorex/components/page';
@@ -1295,106 +1295,6 @@ declare class AXMessageActionRegistry {
1295
1295
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMessageActionRegistry>;
1296
1296
  }
1297
1297
 
1298
- /**
1299
- * Active component state in composer
1300
- */
1301
- interface AXComposerActiveComponent {
1302
- /** Action that triggered this component */
1303
- action: AXComposerAction;
1304
- /** Component to render */
1305
- component: Type<unknown>;
1306
- /** Component inputs */
1307
- inputs?: Record<string, unknown>;
1308
- }
1309
- declare class AXComposerService {
1310
- private readonly conversationService;
1311
- private readonly translation;
1312
- private get registry();
1313
- private readonly _replyMessage;
1314
- private readonly _editMessage;
1315
- readonly replyMessage: _angular_core.Signal<AXMessage>;
1316
- readonly editMessage: _angular_core.Signal<AXMessage>;
1317
- readonly activeConversation: _angular_core.Signal<AXConversation>;
1318
- readonly activeMessages: _angular_core.Signal<AXMessage[]>;
1319
- /** Active component being shown in composer (full-width mode) */
1320
- private readonly _activeComponent;
1321
- readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
1322
- /** Draft text */
1323
- readonly draftText: _angular_core.WritableSignal<string>;
1324
- /** Attachments */
1325
- readonly attachments: _angular_core.WritableSignal<File[]>;
1326
- /** Show typing indicator */
1327
- readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
1328
- /** Incremented to request focus on the composer text area (handled by AXComposerComponent). */
1329
- private readonly _focusRequest;
1330
- readonly focusRequest: _angular_core.Signal<number>;
1331
- /** Input placeholder */
1332
- readonly placeholder: _angular_core.Signal<string>;
1333
- /** Number of input rows */
1334
- readonly inputRows: _angular_core.Signal<number>;
1335
- /** Can send message */
1336
- readonly canSend: _angular_core.Signal<boolean>;
1337
- /** Composer action context */
1338
- readonly actionContext: _angular_core.Signal<AXComposerActionContext>;
1339
- /** Left actions from registry */
1340
- readonly leftActions: _angular_core.Signal<AXComposerAction[]>;
1341
- /** Right actions from registry */
1342
- readonly rightActions: _angular_core.Signal<AXComposerAction[]>;
1343
- /** Left inline actions (location = 'inline' or undefined) */
1344
- readonly leftInlineActions: _angular_core.Signal<AXComposerAction[]>;
1345
- /** Left menu actions (location = 'menu') */
1346
- readonly leftMenuActions: _angular_core.Signal<AXComposerAction[]>;
1347
- /** Right inline actions (location = 'inline' or undefined) */
1348
- readonly rightInlineActions: _angular_core.Signal<AXComposerAction[]>;
1349
- /** Right menu actions (location = 'menu') */
1350
- readonly rightMenuActions: _angular_core.Signal<AXComposerAction[]>;
1351
- startReply(message: AXMessage): void;
1352
- startEdit(message: AXMessage): void;
1353
- /** Focus the composer text area when the composer component is mounted. */
1354
- focusComposer(): void;
1355
- clear(): void;
1356
- /**
1357
- * Persist draft for the previous conversation and reset composer UI state when switching conversations.
1358
- */
1359
- onConversationChanged(previousConversationId: string | null, currentConversationId: string | null): void;
1360
- sendTypingIndicator(conversationId: string): Promise<void>;
1361
- sendMessage(command: AXSendMessageCommand, options?: AXSendMessageOptions): Promise<void>;
1362
- /**
1363
- * Show a component in the composer (full-width mode)
1364
- */
1365
- showComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
1366
- /**
1367
- * Hide the active component
1368
- */
1369
- hideComponent(): void;
1370
- /**
1371
- * Toggle component visibility
1372
- */
1373
- toggleComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
1374
- /**
1375
- * Get actions for the active conversation
1376
- */
1377
- getActionsForPosition(position: 'left' | 'right', context: AXComposerActionContext): AXComposerAction[];
1378
- /**
1379
- * Execute an action
1380
- */
1381
- executeAction(actionId: string, context: AXComposerActionContext): Promise<void>;
1382
- /**
1383
- * Save draft to localStorage
1384
- */
1385
- saveDraft(conversationId: string, text: string): void;
1386
- /**
1387
- * Load draft from localStorage
1388
- */
1389
- loadDraft(conversationId: string): string;
1390
- /**
1391
- * Clear draft from localStorage
1392
- */
1393
- clearDraft(conversationId: string): void;
1394
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComposerService, never>;
1395
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXComposerService>;
1396
- }
1397
-
1398
1298
  declare class AXComposerComponent implements OnDestroy {
1399
1299
  #private;
1400
1300
  private readonly conversationService;
@@ -1425,10 +1325,10 @@ declare class AXComposerComponent implements OnDestroy {
1425
1325
  /** Voice clicked event */
1426
1326
  readonly voiceClick: _angular_core.OutputEmitterRef<void>;
1427
1327
  /** Active conversation */
1428
- readonly activeConversation: _angular_core.Signal<AXConversation>;
1328
+ readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
1429
1329
  readonly activeMessages: _angular_core.Signal<AXMessage[]>;
1430
1330
  /** Active component from service */
1431
- readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
1331
+ readonly activeComponent: _angular_core.Signal<_acorex_components_conversation2.AXComposerActiveComponent>;
1432
1332
  /** Emoji popover state */
1433
1333
  private readonly emojiPopoverRef;
1434
1334
  readonly emojiPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
@@ -1530,77 +1430,336 @@ declare class AXComposerComponent implements OnDestroy {
1530
1430
  }
1531
1431
 
1532
1432
  /**
1533
- * Conversation Configuration Interface
1534
- * Centralized configuration values to avoid magic numbers
1535
- */
1536
- /**
1537
- * Main configuration interface for the conversation component
1433
+ * Active component state in composer
1538
1434
  */
1539
- interface AXConversationConfig {
1540
- /** Number of messages to load per page */
1541
- messagePageSize?: number;
1542
- /** Number of conversations to load per page */
1543
- conversationPageSize?: number;
1544
- /** Scroll threshold for detecting scroll events */
1545
- scrollThreshold?: number;
1546
- /** Infinite scroll threshold */
1547
- infiniteScrollThreshold?: number;
1548
- /** Typing indicator timeout in milliseconds */
1549
- typingIndicatorTimeout?: number;
1550
- /** Typing indicator throttle in milliseconds (for rate limiting) */
1551
- typingIndicatorThrottle?: number;
1552
- /** Message highlight duration in milliseconds */
1553
- messageHighlightDuration?: number;
1554
- /** Search debounce delay in milliseconds */
1555
- debounceSearch?: number;
1556
- /** Date separator inactivity fade delay in milliseconds */
1557
- /** Maximum messages per conversation */
1558
- maxMessagesPerConversation?: number;
1559
- /** Maximum total messages in store */
1560
- maxTotalMessages?: number;
1561
- /** Maximum cached conversations */
1562
- maxCachedConversations?: number;
1563
- /** Minimum sidebar width in pixels */
1564
- minSidebarWidth?: number;
1565
- /** Maximum sidebar width in pixels */
1566
- maxSidebarWidth?: number;
1567
- /** Default sidebar width in pixels */
1568
- defaultSidebarWidth?: number;
1569
- /** Filter cache size */
1570
- filterCacheSize?: number;
1571
- /** Maximum message length in characters */
1572
- maxMessageLength?: number;
1573
- /** Minimum message length in characters */
1574
- minMessageLength?: number;
1575
- /** Max attachments per message when a composer action omits `maxFiles`. */
1576
- maxFilesPerMessage?: number;
1577
- /** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
1578
- messageReadThreshold?: number;
1435
+ interface AXComposerActiveComponent {
1436
+ /** Action that triggered this component */
1437
+ action: AXComposerAction;
1438
+ /** Component to render */
1439
+ component: Type<unknown>;
1440
+ /** Component inputs */
1441
+ inputs?: Record<string, unknown>;
1442
+ }
1443
+ declare class AXComposerService {
1444
+ private readonly conversationService;
1445
+ private readonly translation;
1446
+ private get registry();
1447
+ private readonly _replyMessage;
1448
+ private readonly _editMessage;
1449
+ readonly replyMessage: _angular_core.Signal<AXMessage>;
1450
+ readonly editMessage: _angular_core.Signal<AXMessage>;
1451
+ readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
1452
+ readonly activeMessages: _angular_core.Signal<AXMessage[]>;
1453
+ /** Active component being shown in composer (full-width mode) */
1454
+ private readonly _activeComponent;
1455
+ readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
1456
+ /** Draft text */
1457
+ readonly draftText: _angular_core.WritableSignal<string>;
1458
+ /** Attachments */
1459
+ readonly attachments: _angular_core.WritableSignal<File[]>;
1460
+ /** Show typing indicator */
1461
+ readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
1462
+ /** Incremented to request focus on the composer text area (handled by AXComposerComponent). */
1463
+ private readonly _focusRequest;
1464
+ readonly focusRequest: _angular_core.Signal<number>;
1465
+ /** Input placeholder */
1466
+ readonly placeholder: _angular_core.Signal<string>;
1467
+ /** Number of input rows */
1468
+ readonly inputRows: _angular_core.Signal<number>;
1469
+ /** Can send message */
1470
+ readonly canSend: _angular_core.Signal<boolean>;
1471
+ /** Composer action context */
1472
+ readonly actionContext: _angular_core.Signal<AXComposerActionContext>;
1473
+ /** Left actions from registry */
1474
+ readonly leftActions: _angular_core.Signal<AXComposerAction[]>;
1475
+ /** Right actions from registry */
1476
+ readonly rightActions: _angular_core.Signal<AXComposerAction[]>;
1477
+ /** Left inline actions (location = 'inline' or undefined) */
1478
+ readonly leftInlineActions: _angular_core.Signal<AXComposerAction[]>;
1479
+ /** Left menu actions (location = 'menu') */
1480
+ readonly leftMenuActions: _angular_core.Signal<AXComposerAction[]>;
1481
+ /** Right inline actions (location = 'inline' or undefined) */
1482
+ readonly rightInlineActions: _angular_core.Signal<AXComposerAction[]>;
1483
+ /** Right menu actions (location = 'menu') */
1484
+ readonly rightMenuActions: _angular_core.Signal<AXComposerAction[]>;
1485
+ startReply(message: AXMessage): void;
1486
+ startEdit(message: AXMessage): void;
1487
+ /** Focus the composer text area when the composer component is mounted. */
1488
+ focusComposer(): void;
1489
+ clear(): void;
1579
1490
  /**
1580
- * CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
1581
- * Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
1582
- * Empty string = library default soft gradient. `transparent` or `none` = flat background.
1491
+ * Persist draft for the previous conversation and reset composer UI state when switching conversations.
1583
1492
  */
1584
- messageListBackground?: string;
1493
+ onConversationChanged(previousConversationId: string | null, currentConversationId: string | null): void;
1494
+ sendTypingIndicator(conversationId: string): Promise<void>;
1495
+ sendMessage(command: AXSendMessageCommand, options?: AXSendMessageOptions): Promise<void>;
1496
+ /**
1497
+ * Show a component in the composer (full-width mode)
1498
+ */
1499
+ showComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
1500
+ /**
1501
+ * Hide the active component
1502
+ */
1503
+ hideComponent(): void;
1504
+ /**
1505
+ * Toggle component visibility
1506
+ */
1507
+ toggleComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
1508
+ /**
1509
+ * Get actions for the active conversation
1510
+ */
1511
+ getActionsForPosition(position: 'left' | 'right', context: AXComposerActionContext): AXComposerAction[];
1512
+ /**
1513
+ * Execute an action
1514
+ */
1515
+ executeAction(actionId: string, context: AXComposerActionContext): Promise<void>;
1516
+ /**
1517
+ * Save draft to localStorage
1518
+ */
1519
+ saveDraft(conversationId: string, text: string): void;
1520
+ /**
1521
+ * Load draft from localStorage
1522
+ */
1523
+ loadDraft(conversationId: string): string;
1524
+ /**
1525
+ * Clear draft from localStorage
1526
+ */
1527
+ clearDraft(conversationId: string): void;
1528
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComposerService, never>;
1529
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXComposerService>;
1585
1530
  }
1586
1531
 
1587
- /**
1588
- * Default Configuration Values
1589
- * Centralized defaults to avoid magic numbers throughout the codebase
1590
- */
1532
+ declare class AXConversationContainerComponent {
1533
+ private readonly conversationService;
1534
+ private readonly composerService;
1535
+ private readonly fileService;
1536
+ private readonly translation;
1537
+ private readonly toast;
1538
+ private readonly hostRef;
1539
+ private readonly platformId;
1540
+ protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
1541
+ private get registry();
1542
+ /** Custom CSS class */
1543
+ readonly customClass: _angular_core.InputSignal<string>;
1544
+ /** Loading state */
1545
+ readonly loading: _angular_core.Signal<boolean>;
1546
+ /** Error state */
1547
+ readonly error: _angular_core.Signal<Error>;
1548
+ /** Active conversation */
1549
+ readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
1550
+ /** Container CSS classes */
1551
+ readonly containerClasses: _angular_core.Signal<string>;
1552
+ closeActiveConversation(): void;
1553
+ /**
1554
+ * When the user pastes files copied from the OS (e.g. Ctrl+V after copying in Explorer),
1555
+ * open the same composer picker popup used for message-list drag-and-drop.
1556
+ */
1557
+ onDocumentPaste(event: ClipboardEvent): Promise<void>;
1558
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerComponent, never>;
1559
+ 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>;
1560
+ }
1561
+
1562
+ declare class AXConversationContainerDirective {
1563
+ private readonly conversationService;
1564
+ private readonly composerService;
1565
+ private readonly fileService;
1566
+ private readonly hostRef;
1567
+ private readonly platformId;
1568
+ private readonly translation;
1569
+ private readonly toast;
1570
+ private readonly config;
1571
+ private get registry();
1572
+ /** Active conversation */
1573
+ readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
1574
+ /** Loading state */
1575
+ readonly loading: _angular_core.Signal<boolean>;
1576
+ /** Error state */
1577
+ readonly error: _angular_core.Signal<Error>;
1578
+ closeActiveConversation(): void;
1579
+ onDocumentPaste(event: ClipboardEvent): Promise<void>;
1580
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerDirective, never>;
1581
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXConversationContainerDirective, "[axConversationContainer]", never, {}, {}, never, never, true, never>;
1582
+ }
1583
+
1584
+ interface DropdownMenuItem {
1585
+ id: string;
1586
+ label: string;
1587
+ icon?: string;
1588
+ disabled?: boolean;
1589
+ divider?: boolean;
1590
+ destructive?: boolean;
1591
+ shortcut?: string;
1592
+ }
1593
+ declare class AXInfoBarComponent {
1594
+ private readonly conversationService;
1595
+ private readonly infoBar;
1596
+ protected get registry(): _acorex_components_conversation2.AXRegistryService;
1597
+ /** Active conversation */
1598
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
1599
+ /** Active component from service */
1600
+ readonly activeComponent: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarActiveComponent>;
1601
+ /** Active banner from service */
1602
+ readonly activeBanner: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarActiveBanner>;
1603
+ /** Members popover reference */
1604
+ readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
1605
+ /** Members popover target element */
1606
+ readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
1607
+ /** Loading state for async actions */
1608
+ readonly actionLoading: _angular_core.WritableSignal<boolean>;
1609
+ /** Avatar clicked event */
1610
+ readonly avatarClick: _angular_core.OutputEmitterRef<void>;
1611
+ /** Search clicked event */
1612
+ readonly searchClick: _angular_core.OutputEmitterRef<void>;
1613
+ /** Search query changed event */
1614
+ readonly searchQuery: _angular_core.OutputEmitterRef<string>;
1615
+ /** Menu item clicked event */
1616
+ readonly menuItemAction: _angular_core.OutputEmitterRef<string>;
1617
+ /** Inline action buttons from registry */
1618
+ readonly inlineActions: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarAction[]>;
1619
+ /** Dropdown menu items from registry */
1620
+ readonly menuItems: _angular_core.Signal<DropdownMenuItem[]>;
1621
+ /** Get conversation status - delegate to utils */
1622
+ getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
1623
+ /** Get subtitle text - delegate to utils */
1624
+ getSubtitle(conversation: AXConversation): string;
1625
+ /** Get initials from name - delegate to utils */
1626
+ getInitials(name: string): string;
1627
+ getConversationAvatar(conversation: AXConversation): string | undefined;
1628
+ getConversationAvatarIcon(conversation: AXConversation): string | undefined;
1629
+ /** Handle avatar click */
1630
+ onAvatarClick(): void;
1631
+ /** Handle members click - open popover */
1632
+ onMembersClick(event: MouseEvent): void;
1633
+ /** Handle inline action click */
1634
+ onInlineActionClick(actionId: string): Promise<void>;
1635
+ /** Get inputs for dynamic component */
1636
+ getComponentInputs(): Record<string, unknown>;
1637
+ getInlineComponentInputs(): Record<string, unknown>;
1638
+ isActiveComponentFullWidth(): boolean;
1639
+ /** Handle close component */
1640
+ onCloseComponent(): void;
1641
+ getBannerInputs(): Record<string, unknown>;
1642
+ onCloseBanner(): void;
1643
+ /** Handle menu item click */
1644
+ onMenuItemClick(item: DropdownMenuItem): Promise<void>;
1645
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
1646
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
1647
+ }
1591
1648
 
1592
1649
  /**
1593
- * Default conversation configuration
1594
- * All values are explicitly defined here for easy maintenance and documentation
1650
+ * Active component state in info-bar
1595
1651
  */
1596
- declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
1652
+ interface AXInfoBarActiveComponent {
1653
+ /** Action that triggered this component */
1654
+ action: AXInfoBarAction;
1655
+ /** Component to render */
1656
+ component: Type<unknown>;
1657
+ /** Component inputs */
1658
+ inputs?: Record<string, unknown>;
1659
+ }
1660
+ interface AXInfoBarActiveBanner {
1661
+ /** Message that owns this banner */
1662
+ message: AXMessage;
1663
+ /** Banner component */
1664
+ component: Type<AXMessageInfoBarBannerComponent>;
1665
+ /** Additional component inputs (only keys that match declared `input()` on the banner) */
1666
+ inputs?: Record<string, unknown>;
1667
+ /** Callback invoked when the banner is dismissed (e.g. pause playback) */
1668
+ onClose?: () => void;
1669
+ }
1597
1670
  /**
1598
- * Helper function to merge user config with defaults
1599
- * Properly handles array merging to avoid reference issues
1600
- * @param userConfig - User-provided configuration
1601
- * @returns Merged configuration with all required fields
1671
+ * Info Bar Service
1672
+ * Manages info bar state and actions
1602
1673
  */
1603
- declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
1674
+ declare class AXInfoBarService {
1675
+ private readonly conversationService;
1676
+ private readonly injector;
1677
+ private get registry();
1678
+ /** Active conversation */
1679
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
1680
+ /** Active component being shown in info-bar */
1681
+ private readonly _activeComponent;
1682
+ readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
1683
+ /** Active banner shown under info-bar */
1684
+ private readonly _activeBanner;
1685
+ readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
1686
+ /** Search query signal */
1687
+ private readonly _searchQuery;
1688
+ readonly searchQuery: _angular_core.Signal<string>;
1689
+ private readonly _searchResultsCount;
1690
+ readonly searchResultsCount: _angular_core.Signal<number>;
1691
+ /** Current search result index */
1692
+ private readonly _currentSearchIndex;
1693
+ readonly currentSearchIndex: _angular_core.Signal<number>;
1694
+ /**
1695
+ * Reset info-bar overlays when the active conversation changes.
1696
+ */
1697
+ onConversationChanged(): void;
1698
+ /**
1699
+ * Get actions for the active conversation
1700
+ */
1701
+ getActionsForConversation(conversation: AXConversation): AXInfoBarAction[];
1702
+ /**
1703
+ * Execute an action
1704
+ */
1705
+ executeAction(actionId: string, conversation: AXConversation, data?: Record<string, unknown>): Promise<void>;
1706
+ /**
1707
+ * Get action label
1708
+ */
1709
+ getActionLabel(action: AXInfoBarAction, conversation: AXConversation): string;
1710
+ /**
1711
+ * Get action icon
1712
+ */
1713
+ getActionIcon(action: AXInfoBarAction, conversation: AXConversation): string | undefined;
1714
+ /**
1715
+ * Show a component in the info-bar
1716
+ */
1717
+ showComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
1718
+ /**
1719
+ * Hide the active component
1720
+ */
1721
+ hideComponent(): void;
1722
+ /**
1723
+ * Show message-owned banner under info-bar if renderer provides one
1724
+ */
1725
+ showMessageBanner(message: AXMessage, inputs?: Record<string, unknown>): void;
1726
+ /**
1727
+ * Update active banner inputs for a specific message
1728
+ */
1729
+ updateMessageBannerInputs(messageId: string, inputs: Record<string, unknown>): void;
1730
+ /**
1731
+ * Hide active banner. If messageId is provided, hide only when it matches.
1732
+ */
1733
+ hideMessageBanner(messageId?: string): void;
1734
+ isMessageBannerActive(messageId: string): boolean;
1735
+ /**
1736
+ * Toggle component visibility
1737
+ */
1738
+ toggleComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
1739
+ /**
1740
+ * Set search query
1741
+ */
1742
+ setSearchQuery(query: string): void;
1743
+ /**
1744
+ * Set search results
1745
+ */
1746
+ setSearchResults(count: number, currentIndex?: number): void;
1747
+ /**
1748
+ * Navigate to next search result
1749
+ */
1750
+ nextSearchResult(): void;
1751
+ /**
1752
+ * Navigate to previous search result
1753
+ */
1754
+ previousSearchResult(): void;
1755
+ /**
1756
+ * Clear search
1757
+ */
1758
+ clearSearch(): void;
1759
+ private _extractOnClose;
1760
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarService, never>;
1761
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXInfoBarService>;
1762
+ }
1604
1763
 
1605
1764
  /**
1606
1765
  * Shared API Types
@@ -2879,377 +3038,11 @@ declare abstract class AXUserApi {
2879
3038
  }
2880
3039
 
2881
3040
  /**
2882
- * Error severity levels
2883
- */
2884
- type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
2885
- /**
2886
- * Conversation error event
2887
- */
2888
- interface AXConversationError {
2889
- /** Error code */
2890
- code: string;
2891
- /** Error message */
2892
- message: string;
2893
- /** Severity level */
2894
- severity: AXErrorSeverity;
2895
- /** Source operation */
2896
- operation: string;
2897
- /** Original error */
2898
- originalError?: unknown;
2899
- /** HTTP status code (if applicable) */
2900
- statusCode?: number;
2901
- /** Additional context */
2902
- context?: Record<string, unknown>;
2903
- /** Timestamp */
2904
- timestamp: Date;
2905
- /** Whether error was handled */
2906
- handled: boolean;
2907
- /** Recovery suggestions */
2908
- recoverySuggestions?: string[];
2909
- }
2910
- /**
2911
- * Error Handler Configuration
2912
- */
2913
- interface AXErrorHandlerConfig {
2914
- /** Log errors to console */
2915
- logToConsole?: boolean;
2916
- /** Show user-friendly error messages */
2917
- showUserMessages?: boolean;
2918
- /** Retry failed operations automatically */
2919
- autoRetry?: boolean;
2920
- /** Number of retry attempts */
2921
- maxRetries?: number;
2922
- /** Custom error handler */
2923
- customHandler?: (error: AXConversationError) => void;
2924
- }
2925
- /**
2926
- * Error Handler Service
2927
- */
2928
- declare class AXErrorHandlerService {
2929
- private readonly injectedConfig;
2930
- private readonly _errors$;
2931
- private readonly _config;
2932
- /** Error stream */
2933
- readonly errors$: rxjs.Observable<AXConversationError>;
2934
- constructor();
2935
- /**
2936
- * Configure error handler
2937
- */
2938
- configure(config: Partial<AXErrorHandlerConfig>): void;
2939
- /**
2940
- * Handle an error
2941
- */
2942
- handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
2943
- /**
2944
- * Handle API error (same pipeline as {@link handle}, for typed API failures)
2945
- */
2946
- handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
2947
- private publish;
2948
- /**
2949
- * Normalize any error to conversation error format (does not publish — use {@link handle})
2950
- */
2951
- private normalizeError;
2952
- private conversationErrorFromApi;
2953
- private isApiError;
2954
- /**
2955
- * Determine severity based on status code
2956
- */
2957
- private determineSeverity;
2958
- /**
2959
- * Get recovery suggestions based on error
2960
- */
2961
- private getRecoverySuggestions;
2962
- /**
2963
- * Get default recovery suggestions
2964
- */
2965
- private getDefaultRecoverySuggestions;
2966
- /**
2967
- * Log error to console
2968
- */
2969
- private logError;
2970
- /**
2971
- * Get user-friendly error message
2972
- */
2973
- getUserFriendlyMessage(error: AXConversationError): string;
2974
- /**
2975
- * Check if error is retryable
2976
- */
2977
- isRetryable(error: AXConversationError): boolean;
2978
- /**
2979
- * Execute an operation with automatic retry logic
2980
- * @param operation - The async operation to execute
2981
- * @param operationName - Name of the operation for error tracking
2982
- * @param context - Additional context for error handling
2983
- * @returns Promise resolving to the operation result
2984
- * @throws {AXConversationError} If all retries fail
2985
- */
2986
- executeWithRetry<T>(operation: () => Promise<T>, operationName: string, context?: Record<string, unknown>): Promise<T>;
2987
- /**
2988
- * Delay helper for retry backoff
2989
- * @param ms - Milliseconds to delay
2990
- */
2991
- private delay;
2992
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXErrorHandlerService, never>;
2993
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXErrorHandlerService>;
2994
- }
2995
-
2996
- /**
2997
- * Dependency Injection Tokens
2998
- * InjectionTokens for configuration and dependencies
2999
- */
3000
-
3001
- /**
3002
- * Configuration token for conversation component
3003
- * Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
3004
- */
3005
- declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
3006
- /**
3007
- * Token for configuring AXErrorHandlerService
3008
- */
3009
- declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
3010
-
3011
- /**
3012
- * Registry Configuration Tokens
3013
- * Injection tokens for configuring default registry values
3014
- */
3015
-
3016
- /**
3017
- * Additional message renderers configuration
3018
- * Provide this token to add custom message renderers in addition to built-in ones
3019
- * Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
3020
- */
3021
- declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
3022
- /**
3023
- * Default message actions configuration
3024
- * Provide this token to override default message actions
3025
- */
3026
- declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
3027
- /**
3028
- * Default composer tabs configuration
3029
- * Provide this token to override default composer tabs (emoji, stickers, etc.)
3030
- */
3031
- declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
3032
- /**
3033
- * Default composer actions configuration
3034
- * Provide this token to override default composer actions (attach, voice, etc.)
3035
- */
3036
- declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
3037
- /**
3038
- * Default conversation tabs configuration
3039
- * Provide this token to override default conversation tabs (all, private, groups, etc.)
3040
- */
3041
- declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
3042
- /**
3043
- * Default info bar actions configuration
3044
- * Provide this token to override default info bar actions (mute, archive, block, etc.)
3045
- */
3046
- declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
3047
- /**
3048
- * Default conversation item actions configuration
3049
- * Provide this token to override default conversation item actions (mute, delete, archive, etc.)
3050
- */
3051
- declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
3052
- /**
3053
- * Registry configuration interface
3054
- */
3055
- interface AXRegistryConfiguration {
3056
- /**
3057
- * Additional message renderers to register (built-in renderers are automatic).
3058
- * Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
3059
- */
3060
- messageRenderers?: AXMessageRenderer[];
3061
- /** Message actions to register by default */
3062
- messageActions?: AXMessageAction[];
3063
- /** Composer tabs to register by default */
3064
- composerTabs?: AXComposerTab[];
3065
- /** Composer actions to register by default */
3066
- composerActions?: AXComposerAction[];
3067
- /** Conversation tabs to register by default */
3068
- conversationTabs?: AXConversationTab[];
3069
- /** Info bar actions to register by default */
3070
- infoBarActions?: AXInfoBarAction[];
3071
- /** Conversation item actions to register by default */
3072
- conversationItemActions?: AXConversationItemAction[];
3073
- }
3074
- /**
3075
- * Complete registry configuration token
3076
- * Provide this for comprehensive registry configuration
3077
- */
3078
- declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
3079
-
3080
- declare class AXConversationContainerComponent {
3081
- private readonly conversationService;
3082
- private readonly composerService;
3083
- private readonly fileService;
3084
- private readonly translation;
3085
- private readonly toast;
3086
- private readonly hostRef;
3087
- private readonly platformId;
3088
- protected readonly config: Required<AXConversationConfig>;
3089
- private get registry();
3090
- /** Custom CSS class */
3091
- readonly customClass: _angular_core.InputSignal<string>;
3092
- /** Loading state */
3093
- readonly loading: _angular_core.Signal<boolean>;
3094
- /** Error state */
3095
- readonly error: _angular_core.Signal<Error>;
3096
- /** Active conversation */
3097
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
3098
- /** Container CSS classes */
3099
- readonly containerClasses: _angular_core.Signal<string>;
3100
- closeActiveConversation(): void;
3101
- /**
3102
- * When the user pastes files copied from the OS (e.g. Ctrl+V after copying in Explorer),
3103
- * open the same composer picker popup used for message-list drag-and-drop.
3104
- */
3105
- onDocumentPaste(event: ClipboardEvent): Promise<void>;
3106
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerComponent, never>;
3107
- 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>;
3108
- }
3109
-
3110
- declare class AXConversationContainerDirective {
3111
- private readonly conversationService;
3112
- private readonly composerService;
3113
- private readonly fileService;
3114
- private readonly hostRef;
3115
- private readonly platformId;
3116
- private readonly translation;
3117
- private readonly toast;
3118
- private readonly config;
3119
- private get registry();
3120
- /** Active conversation */
3121
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
3122
- /** Loading state */
3123
- readonly loading: _angular_core.Signal<boolean>;
3124
- /** Error state */
3125
- readonly error: _angular_core.Signal<Error>;
3126
- closeActiveConversation(): void;
3127
- onDocumentPaste(event: ClipboardEvent): Promise<void>;
3128
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerDirective, never>;
3129
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXConversationContainerDirective, "[axConversationContainer]", never, {}, {}, never, never, true, never>;
3130
- }
3131
-
3132
- /**
3133
- * Active component state in info-bar
3134
- */
3135
- interface AXInfoBarActiveComponent {
3136
- /** Action that triggered this component */
3137
- action: AXInfoBarAction;
3138
- /** Component to render */
3139
- component: Type<unknown>;
3140
- /** Component inputs */
3141
- inputs?: Record<string, unknown>;
3142
- }
3143
- interface AXInfoBarActiveBanner {
3144
- /** Message that owns this banner */
3145
- message: AXMessage;
3146
- /** Banner component */
3147
- component: Type<AXMessageInfoBarBannerComponent>;
3148
- /** Additional component inputs (only keys that match declared `input()` on the banner) */
3149
- inputs?: Record<string, unknown>;
3150
- /** Callback invoked when the banner is dismissed (e.g. pause playback) */
3151
- onClose?: () => void;
3152
- }
3153
- /**
3154
- * Info Bar Service
3155
- * Manages info bar state and actions
3156
- */
3157
- declare class AXInfoBarService {
3158
- private readonly conversationService;
3159
- private readonly injector;
3160
- private get registry();
3161
- /** Active conversation */
3162
- readonly activeConversation: _angular_core.Signal<AXConversation>;
3163
- /** Active component being shown in info-bar */
3164
- private readonly _activeComponent;
3165
- readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
3166
- /** Active banner shown under info-bar */
3167
- private readonly _activeBanner;
3168
- readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
3169
- /** Search query signal */
3170
- private readonly _searchQuery;
3171
- readonly searchQuery: _angular_core.Signal<string>;
3172
- private readonly _searchResultsCount;
3173
- readonly searchResultsCount: _angular_core.Signal<number>;
3174
- /** Current search result index */
3175
- private readonly _currentSearchIndex;
3176
- readonly currentSearchIndex: _angular_core.Signal<number>;
3177
- /**
3178
- * Reset info-bar overlays when the active conversation changes.
3179
- */
3180
- onConversationChanged(): void;
3181
- /**
3182
- * Get actions for the active conversation
3183
- */
3184
- getActionsForConversation(conversation: AXConversation): AXInfoBarAction[];
3185
- /**
3186
- * Execute an action
3187
- */
3188
- executeAction(actionId: string, conversation: AXConversation, data?: Record<string, unknown>): Promise<void>;
3189
- /**
3190
- * Get action label
3191
- */
3192
- getActionLabel(action: AXInfoBarAction, conversation: AXConversation): string;
3193
- /**
3194
- * Get action icon
3195
- */
3196
- getActionIcon(action: AXInfoBarAction, conversation: AXConversation): string | undefined;
3197
- /**
3198
- * Show a component in the info-bar
3199
- */
3200
- showComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
3201
- /**
3202
- * Hide the active component
3203
- */
3204
- hideComponent(): void;
3205
- /**
3206
- * Show message-owned banner under info-bar if renderer provides one
3207
- */
3208
- showMessageBanner(message: AXMessage, inputs?: Record<string, unknown>): void;
3209
- /**
3210
- * Update active banner inputs for a specific message
3211
- */
3212
- updateMessageBannerInputs(messageId: string, inputs: Record<string, unknown>): void;
3213
- /**
3214
- * Hide active banner. If messageId is provided, hide only when it matches.
3215
- */
3216
- hideMessageBanner(messageId?: string): void;
3217
- isMessageBannerActive(messageId: string): boolean;
3218
- /**
3219
- * Toggle component visibility
3220
- */
3221
- toggleComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
3222
- /**
3223
- * Set search query
3224
- */
3225
- setSearchQuery(query: string): void;
3226
- /**
3227
- * Set search results
3228
- */
3229
- setSearchResults(count: number, currentIndex?: number): void;
3230
- /**
3231
- * Navigate to next search result
3232
- */
3233
- nextSearchResult(): void;
3234
- /**
3235
- * Navigate to previous search result
3236
- */
3237
- previousSearchResult(): void;
3238
- /**
3239
- * Clear search
3240
- */
3241
- clearSearch(): void;
3242
- private _extractOnClose;
3243
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarService, never>;
3244
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXInfoBarService>;
3245
- }
3246
-
3247
- /**
3248
- * Central Registry Service
3249
- * Provides unified access to all registries
3250
- *
3251
- * This service is now pure - all default features are plugins.
3252
- * Use tokens to register plugins in your app configuration.
3041
+ * Central Registry Service
3042
+ * Provides unified access to all registries
3043
+ *
3044
+ * This service is now pure - all default features are plugins.
3045
+ * Use tokens to register plugins in your app configuration.
3253
3046
  */
3254
3047
  declare class AXRegistryService {
3255
3048
  /** Message renderer registry */
@@ -3341,9 +3134,9 @@ declare class AXConversationService {
3341
3134
  /** Error state */
3342
3135
  readonly error: _angular_core.Signal<Error>;
3343
3136
  /** Connection status */
3344
- readonly connectionStatus$: rxjs.Observable<AXConnectionStatus>;
3137
+ readonly connectionStatus$: rxjs.Observable<_acorex_components_conversation2.AXConnectionStatus>;
3345
3138
  /** Error stream */
3346
- readonly errors$: rxjs.Observable<AXConversationError>;
3139
+ readonly errors$: rxjs.Observable<_acorex_components_conversation2.AXConversationError>;
3347
3140
  readonly onMessageReceived: rxjs.Observable<AXMessage>;
3348
3141
  readonly onMessageUpdated: rxjs.Observable<AXMessage>;
3349
3142
  readonly onMessageDeleted: rxjs.Observable<string>;
@@ -3355,7 +3148,7 @@ declare class AXConversationService {
3355
3148
  type: "reply" | "forward";
3356
3149
  }>;
3357
3150
  private _currentUser;
3358
- readonly currentUser: _angular_core.Signal<AXParticipant>;
3151
+ readonly currentUser: _angular_core.Signal<_acorex_components_conversation2.AXParticipant>;
3359
3152
  constructor();
3360
3153
  /**
3361
3154
  * Initialize the service
@@ -3678,92 +3471,142 @@ declare class AXConversationService {
3678
3471
  * Unblock user
3679
3472
  * @param userId - User ID to unblock
3680
3473
  */
3681
- unblockUser(userId: string): Promise<void>;
3474
+ unblockUser(userId: string): Promise<void>;
3475
+ /**
3476
+ * Get blocked users
3477
+ * @returns Array of blocked user IDs
3478
+ */
3479
+ getBlockedUsers(): Promise<string[]>;
3480
+ /**
3481
+ * Update user presence
3482
+ * @param status - Presence status
3483
+ * @param statusText - Optional status text
3484
+ */
3485
+ updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
3486
+ /**
3487
+ * Validate message content before sending
3488
+ * Uses centralized validation utilities for consistency
3489
+ * @param command - Message command to validate
3490
+ * @throws {Error} If message content is invalid
3491
+ */
3492
+ private validateMessageContent;
3493
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
3494
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
3495
+ }
3496
+
3497
+ /**
3498
+ * Error severity levels
3499
+ */
3500
+ type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
3501
+ /**
3502
+ * Conversation error event
3503
+ */
3504
+ interface AXConversationError {
3505
+ /** Error code */
3506
+ code: string;
3507
+ /** Error message */
3508
+ message: string;
3509
+ /** Severity level */
3510
+ severity: AXErrorSeverity;
3511
+ /** Source operation */
3512
+ operation: string;
3513
+ /** Original error */
3514
+ originalError?: unknown;
3515
+ /** HTTP status code (if applicable) */
3516
+ statusCode?: number;
3517
+ /** Additional context */
3518
+ context?: Record<string, unknown>;
3519
+ /** Timestamp */
3520
+ timestamp: Date;
3521
+ /** Whether error was handled */
3522
+ handled: boolean;
3523
+ /** Recovery suggestions */
3524
+ recoverySuggestions?: string[];
3525
+ }
3526
+ /**
3527
+ * Error Handler Configuration
3528
+ */
3529
+ interface AXErrorHandlerConfig {
3530
+ /** Log errors to console */
3531
+ logToConsole?: boolean;
3532
+ /** Show user-friendly error messages */
3533
+ showUserMessages?: boolean;
3534
+ /** Retry failed operations automatically */
3535
+ autoRetry?: boolean;
3536
+ /** Number of retry attempts */
3537
+ maxRetries?: number;
3538
+ /** Custom error handler */
3539
+ customHandler?: (error: AXConversationError) => void;
3540
+ }
3541
+ /**
3542
+ * Error Handler Service
3543
+ */
3544
+ declare class AXErrorHandlerService {
3545
+ private readonly injectedConfig;
3546
+ private readonly _errors$;
3547
+ private readonly _config;
3548
+ /** Error stream */
3549
+ readonly errors$: rxjs.Observable<AXConversationError>;
3550
+ constructor();
3551
+ /**
3552
+ * Configure error handler
3553
+ */
3554
+ configure(config: Partial<AXErrorHandlerConfig>): void;
3555
+ /**
3556
+ * Handle an error
3557
+ */
3558
+ handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
3559
+ /**
3560
+ * Handle API error (same pipeline as {@link handle}, for typed API failures)
3561
+ */
3562
+ handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
3563
+ private publish;
3564
+ /**
3565
+ * Normalize any error to conversation error format (does not publish — use {@link handle})
3566
+ */
3567
+ private normalizeError;
3568
+ private conversationErrorFromApi;
3569
+ private isApiError;
3570
+ /**
3571
+ * Determine severity based on status code
3572
+ */
3573
+ private determineSeverity;
3574
+ /**
3575
+ * Get recovery suggestions based on error
3576
+ */
3577
+ private getRecoverySuggestions;
3578
+ /**
3579
+ * Get default recovery suggestions
3580
+ */
3581
+ private getDefaultRecoverySuggestions;
3582
+ /**
3583
+ * Log error to console
3584
+ */
3585
+ private logError;
3586
+ /**
3587
+ * Get user-friendly error message
3588
+ */
3589
+ getUserFriendlyMessage(error: AXConversationError): string;
3682
3590
  /**
3683
- * Get blocked users
3684
- * @returns Array of blocked user IDs
3591
+ * Check if error is retryable
3685
3592
  */
3686
- getBlockedUsers(): Promise<string[]>;
3593
+ isRetryable(error: AXConversationError): boolean;
3687
3594
  /**
3688
- * Update user presence
3689
- * @param status - Presence status
3690
- * @param statusText - Optional status text
3595
+ * Execute an operation with automatic retry logic
3596
+ * @param operation - The async operation to execute
3597
+ * @param operationName - Name of the operation for error tracking
3598
+ * @param context - Additional context for error handling
3599
+ * @returns Promise resolving to the operation result
3600
+ * @throws {AXConversationError} If all retries fail
3691
3601
  */
3692
- updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
3602
+ executeWithRetry<T>(operation: () => Promise<T>, operationName: string, context?: Record<string, unknown>): Promise<T>;
3693
3603
  /**
3694
- * Validate message content before sending
3695
- * Uses centralized validation utilities for consistency
3696
- * @param command - Message command to validate
3697
- * @throws {Error} If message content is invalid
3604
+ * Delay helper for retry backoff
3605
+ * @param ms - Milliseconds to delay
3698
3606
  */
3699
- private validateMessageContent;
3700
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
3701
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
3702
- }
3703
-
3704
- interface DropdownMenuItem {
3705
- id: string;
3706
- label: string;
3707
- icon?: string;
3708
- disabled?: boolean;
3709
- divider?: boolean;
3710
- destructive?: boolean;
3711
- shortcut?: string;
3712
- }
3713
- declare class AXInfoBarComponent {
3714
- private readonly conversationService;
3715
- private readonly infoBar;
3716
- protected get registry(): AXRegistryService;
3717
- /** Active conversation */
3718
- readonly activeConversation: _angular_core.Signal<AXConversation>;
3719
- /** Active component from service */
3720
- readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
3721
- /** Active banner from service */
3722
- readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
3723
- /** Members popover reference */
3724
- readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
3725
- /** Members popover target element */
3726
- readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
3727
- /** Loading state for async actions */
3728
- readonly actionLoading: _angular_core.WritableSignal<boolean>;
3729
- /** Avatar clicked event */
3730
- readonly avatarClick: _angular_core.OutputEmitterRef<void>;
3731
- /** Search clicked event */
3732
- readonly searchClick: _angular_core.OutputEmitterRef<void>;
3733
- /** Search query changed event */
3734
- readonly searchQuery: _angular_core.OutputEmitterRef<string>;
3735
- /** Menu item clicked event */
3736
- readonly menuItemAction: _angular_core.OutputEmitterRef<string>;
3737
- /** Inline action buttons from registry */
3738
- readonly inlineActions: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarAction[]>;
3739
- /** Dropdown menu items from registry */
3740
- readonly menuItems: _angular_core.Signal<DropdownMenuItem[]>;
3741
- /** Get conversation status - delegate to utils */
3742
- getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
3743
- /** Get subtitle text - delegate to utils */
3744
- getSubtitle(conversation: AXConversation): string;
3745
- /** Get initials from name - delegate to utils */
3746
- getInitials(name: string): string;
3747
- getConversationAvatar(conversation: AXConversation): string | undefined;
3748
- getConversationAvatarIcon(conversation: AXConversation): string | undefined;
3749
- /** Handle avatar click */
3750
- onAvatarClick(): void;
3751
- /** Handle members click - open popover */
3752
- onMembersClick(event: MouseEvent): void;
3753
- /** Handle inline action click */
3754
- onInlineActionClick(actionId: string): Promise<void>;
3755
- /** Get inputs for dynamic component */
3756
- getComponentInputs(): Record<string, unknown>;
3757
- getInlineComponentInputs(): Record<string, unknown>;
3758
- isActiveComponentFullWidth(): boolean;
3759
- /** Handle close component */
3760
- onCloseComponent(): void;
3761
- getBannerInputs(): Record<string, unknown>;
3762
- onCloseBanner(): void;
3763
- /** Handle menu item click */
3764
- onMenuItemClick(item: DropdownMenuItem): Promise<void>;
3765
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
3766
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
3607
+ private delay;
3608
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXErrorHandlerService, never>;
3609
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXErrorHandlerService>;
3767
3610
  }
3768
3611
 
3769
3612
  declare class AXForwardMessageDialogComponent implements OnInit {
@@ -3895,11 +3738,11 @@ declare class AXAudioRendererComponent extends AXMessageRendererCopyHostComponen
3895
3738
  private readonly duration;
3896
3739
  readonly message: _angular_core.InputSignal<AXMessage>;
3897
3740
  readonly rendererState: _angular_core.Signal<{
3898
- deliveryStatus: AXMessageStatus;
3741
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
3899
3742
  contentState: AXMessageRendererContentState;
3900
3743
  }>;
3901
3744
  readonly payload: _angular_core.Signal<AXAudioPayload>;
3902
- readonly audios: _angular_core.Signal<AXAudioMediaItem[]>;
3745
+ readonly audios: _angular_core.Signal<_acorex_components_conversation2.AXAudioMediaItem[]>;
3903
3746
  readonly caption: _angular_core.Signal<string>;
3904
3747
  copy(): Promise<string>;
3905
3748
  constructor();
@@ -3920,7 +3763,7 @@ declare class AXFallbackRendererComponent implements AXMessageRendererComponent
3920
3763
  private readonly _contentState;
3921
3764
  readonly message: _angular_core.InputSignal<AXMessage>;
3922
3765
  readonly rendererState: _angular_core.Signal<{
3923
- deliveryStatus: AXMessageStatus;
3766
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
3924
3767
  contentState: AXMessageRendererContentState;
3925
3768
  }>;
3926
3769
  readonly messageTypeLabel: _angular_core.Signal<string>;
@@ -3934,11 +3777,11 @@ declare class AXFileRendererComponent extends AXMessageRendererCopyHostComponent
3934
3777
  private readonly fileTypes;
3935
3778
  readonly message: _angular_core.InputSignal<AXMessage>;
3936
3779
  readonly rendererState: _angular_core.Signal<{
3937
- deliveryStatus: AXMessageStatus;
3780
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
3938
3781
  contentState: "ready";
3939
3782
  }>;
3940
3783
  readonly payload: _angular_core.Signal<AXFilePayload>;
3941
- readonly files: _angular_core.Signal<AXFileMediaItem[]>;
3784
+ readonly files: _angular_core.Signal<_acorex_components_conversation2.AXFileMediaItem[]>;
3942
3785
  readonly caption: _angular_core.Signal<string>;
3943
3786
  copy(): Promise<string>;
3944
3787
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileRendererComponent, never>;
@@ -3949,11 +3792,11 @@ declare class AXImageRendererComponent extends AXMessageRendererCopyHostComponen
3949
3792
  private readonly fileTypes;
3950
3793
  readonly message: _angular_core.InputSignal<AXMessage>;
3951
3794
  readonly rendererState: _angular_core.Signal<{
3952
- deliveryStatus: AXMessageStatus;
3795
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
3953
3796
  contentState: "ready";
3954
3797
  }>;
3955
3798
  readonly payload: _angular_core.Signal<AXImagePayload>;
3956
- readonly images: _angular_core.Signal<AXImageMediaItem[]>;
3799
+ readonly images: _angular_core.Signal<_acorex_components_conversation2.AXImageMediaItem[]>;
3957
3800
  readonly caption: _angular_core.Signal<string>;
3958
3801
  copy(): Promise<string>;
3959
3802
  readonly gridModeClass: _angular_core.Signal<"ax-cnv-msg__grid--single" | "ax-cnv-msg__grid--dual" | "ax-cnv-msg__grid--multi">;
@@ -3965,7 +3808,7 @@ declare class AXLocationRendererComponent extends AXMessageRendererCopyHostCompo
3965
3808
  private readonly _contentState;
3966
3809
  readonly message: _angular_core.InputSignal<AXMessage>;
3967
3810
  readonly rendererState: _angular_core.Signal<{
3968
- deliveryStatus: AXMessageStatus;
3811
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
3969
3812
  contentState: AXMessageRendererContentState;
3970
3813
  }>;
3971
3814
  readonly payload: _angular_core.Signal<AXLocationPayload>;
@@ -3991,7 +3834,7 @@ declare class AXStickerRendererComponent implements AXMessageRendererComponent {
3991
3834
  private readonly _contentState;
3992
3835
  readonly message: _angular_core.InputSignal<AXMessage>;
3993
3836
  readonly rendererState: _angular_core.Signal<{
3994
- deliveryStatus: AXMessageStatus;
3837
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
3995
3838
  contentState: AXMessageRendererContentState;
3996
3839
  }>;
3997
3840
  readonly payload: _angular_core.Signal<AXStickerPayload>;
@@ -4010,7 +3853,7 @@ declare class AXSystemRendererComponent implements AXMessageRendererComponent {
4010
3853
  private readonly _contentState;
4011
3854
  readonly message: _angular_core.InputSignal<AXMessage>;
4012
3855
  readonly rendererState: _angular_core.Signal<{
4013
- deliveryStatus: AXMessageStatus;
3856
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
4014
3857
  contentState: AXMessageRendererContentState;
4015
3858
  }>;
4016
3859
  readonly payload: _angular_core.Signal<AXSystemPayload>;
@@ -4025,7 +3868,7 @@ declare class AXTextRendererComponent extends AXMessageRendererCopyHostComponent
4025
3868
  private readonly _contentState;
4026
3869
  readonly message: _angular_core.InputSignal<AXMessage>;
4027
3870
  readonly rendererState: _angular_core.Signal<{
4028
- deliveryStatus: AXMessageStatus;
3871
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
4029
3872
  contentState: AXMessageRendererContentState;
4030
3873
  }>;
4031
3874
  readonly searchQuery: _angular_core.Signal<string>;
@@ -4046,14 +3889,14 @@ declare class AXVideoRendererComponent extends AXMessageRendererCopyHostComponen
4046
3889
  private readonly activeVideoIndex;
4047
3890
  readonly message: _angular_core.InputSignal<AXMessage>;
4048
3891
  readonly rendererState: _angular_core.Signal<{
4049
- deliveryStatus: AXMessageStatus;
3892
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
4050
3893
  contentState: "ready";
4051
3894
  }>;
4052
3895
  readonly isPlaying: _angular_core.WritableSignal<boolean>;
4053
3896
  readonly currentTime: _angular_core.WritableSignal<number>;
4054
3897
  readonly duration: _angular_core.WritableSignal<number>;
4055
3898
  readonly payload: _angular_core.Signal<AXVideoPayload>;
4056
- readonly videos: _angular_core.Signal<AXVideoMediaItem[]>;
3899
+ readonly videos: _angular_core.Signal<_acorex_components_conversation2.AXVideoMediaItem[]>;
4057
3900
  readonly caption: _angular_core.Signal<string>;
4058
3901
  copy(): Promise<string>;
4059
3902
  constructor();
@@ -4078,7 +3921,7 @@ declare class AXVoiceRendererComponent extends AXMessageRendererCopyHostComponen
4078
3921
  private readonly _contentState;
4079
3922
  readonly message: _angular_core.InputSignal<AXMessage>;
4080
3923
  readonly rendererState: _angular_core.Signal<{
4081
- deliveryStatus: AXMessageStatus;
3924
+ deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
4082
3925
  contentState: AXMessageRendererContentState;
4083
3926
  }>;
4084
3927
  readonly isPlaying: _angular_core.WritableSignal<boolean>;
@@ -4125,7 +3968,7 @@ declare class AXMessageListComponent implements OnDestroy {
4125
3968
  private readonly toast;
4126
3969
  private readonly infoBarService;
4127
3970
  private readonly translation;
4128
- protected readonly config: Required<AXConversationConfig>;
3971
+ protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
4129
3972
  /**
4130
3973
  * Background for the message list scroll area from config, or the built-in soft gradient when unset/empty.
4131
3974
  * Set `messageListBackground` to `transparent` or `none` for a flat look.
@@ -4163,7 +4006,7 @@ declare class AXMessageListComponent implements OnDestroy {
4163
4006
  /** Show scroll to bottom button - use service */
4164
4007
  readonly showScrollButton: _angular_core.WritableSignal<boolean>;
4165
4008
  /** Active conversation */
4166
- readonly activeConversation: _angular_core.Signal<AXConversation>;
4009
+ readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
4167
4010
  /** Messages */
4168
4011
  readonly messages: _angular_core.Signal<AXMessage[]>;
4169
4012
  /** Message action event */
@@ -4172,7 +4015,7 @@ declare class AXMessageListComponent implements OnDestroy {
4172
4015
  action: string;
4173
4016
  }>;
4174
4017
  /** Current user from service */
4175
- readonly currentUser: _angular_core.Signal<AXParticipant>;
4018
+ readonly currentUser: _angular_core.Signal<_acorex_components_conversation2.AXParticipant>;
4176
4019
  /** Message grouped by date - use service */
4177
4020
  readonly messageGroups: _angular_core.Signal<{
4178
4021
  date: string;
@@ -4338,9 +4181,9 @@ declare class AXMessageListService {
4338
4181
  private readonly conversationService;
4339
4182
  private readonly config;
4340
4183
  private get registry();
4341
- readonly activeConversation: _angular_core.Signal<AXConversation>;
4184
+ readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
4342
4185
  readonly activeMessages: _angular_core.Signal<AXMessage[]>;
4343
- readonly currentUser: _angular_core.Signal<AXParticipant>;
4186
+ readonly currentUser: _angular_core.Signal<_acorex_components_conversation2.AXParticipant>;
4344
4187
  /** Initial message history load (conversation switch) */
4345
4188
  readonly loading: _angular_core.Signal<boolean>;
4346
4189
  /** Loading older messages (scroll-up pagination) */
@@ -4418,7 +4261,7 @@ declare class AXSidebarService {
4418
4261
 
4419
4262
  declare class AXSidebarComponent implements OnDestroy {
4420
4263
  readonly sidebar: AXSidebarService;
4421
- protected readonly config: Required<AXConversationConfig>;
4264
+ protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
4422
4265
  private readonly conversationService;
4423
4266
  private readonly popupService;
4424
4267
  private readonly translation;
@@ -4528,6 +4371,163 @@ declare class AXInfiniteScrollDirective {
4528
4371
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXInfiniteScrollDirective, "[axInfiniteScroll]", never, { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "edge": { "alias": "edge"; "required": false; "isSignal": true; }; "scrollDisabled": { "alias": "scrollDisabled"; "required": false; "isSignal": true; }; "cooldownMs": { "alias": "cooldownMs"; "required": false; "isSignal": true; }; }, { "scrollThreshold": "scrollThreshold"; }, never, never, true, never>;
4529
4372
  }
4530
4373
 
4374
+ /**
4375
+ * Conversation Configuration Interface
4376
+ * Centralized configuration values to avoid magic numbers
4377
+ */
4378
+ /**
4379
+ * Main configuration interface for the conversation component
4380
+ */
4381
+ interface AXConversationConfig {
4382
+ /** Number of messages to load per page */
4383
+ messagePageSize?: number;
4384
+ /** Number of conversations to load per page */
4385
+ conversationPageSize?: number;
4386
+ /** Scroll threshold for detecting scroll events */
4387
+ scrollThreshold?: number;
4388
+ /** Infinite scroll threshold */
4389
+ infiniteScrollThreshold?: number;
4390
+ /** Typing indicator timeout in milliseconds */
4391
+ typingIndicatorTimeout?: number;
4392
+ /** Typing indicator throttle in milliseconds (for rate limiting) */
4393
+ typingIndicatorThrottle?: number;
4394
+ /** Message highlight duration in milliseconds */
4395
+ messageHighlightDuration?: number;
4396
+ /** Search debounce delay in milliseconds */
4397
+ debounceSearch?: number;
4398
+ /** Date separator inactivity fade delay in milliseconds */
4399
+ /** Maximum messages per conversation */
4400
+ maxMessagesPerConversation?: number;
4401
+ /** Maximum total messages in store */
4402
+ maxTotalMessages?: number;
4403
+ /** Maximum cached conversations */
4404
+ maxCachedConversations?: number;
4405
+ /** Minimum sidebar width in pixels */
4406
+ minSidebarWidth?: number;
4407
+ /** Maximum sidebar width in pixels */
4408
+ maxSidebarWidth?: number;
4409
+ /** Default sidebar width in pixels */
4410
+ defaultSidebarWidth?: number;
4411
+ /** Filter cache size */
4412
+ filterCacheSize?: number;
4413
+ /** Maximum message length in characters */
4414
+ maxMessageLength?: number;
4415
+ /** Minimum message length in characters */
4416
+ minMessageLength?: number;
4417
+ /** Max attachments per message when a composer action omits `maxFiles`. */
4418
+ maxFilesPerMessage?: number;
4419
+ /** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
4420
+ messageReadThreshold?: number;
4421
+ /**
4422
+ * CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
4423
+ * Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
4424
+ * Empty string = library default soft gradient. `transparent` or `none` = flat background.
4425
+ */
4426
+ messageListBackground?: string;
4427
+ }
4428
+
4429
+ /**
4430
+ * Default Configuration Values
4431
+ * Centralized defaults to avoid magic numbers throughout the codebase
4432
+ */
4433
+
4434
+ /**
4435
+ * Default conversation configuration
4436
+ * All values are explicitly defined here for easy maintenance and documentation
4437
+ */
4438
+ declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
4439
+ /**
4440
+ * Helper function to merge user config with defaults
4441
+ * Properly handles array merging to avoid reference issues
4442
+ * @param userConfig - User-provided configuration
4443
+ * @returns Merged configuration with all required fields
4444
+ */
4445
+ declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
4446
+
4447
+ /**
4448
+ * Dependency Injection Tokens
4449
+ * InjectionTokens for configuration and dependencies
4450
+ */
4451
+
4452
+ /**
4453
+ * Configuration token for conversation component
4454
+ * Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
4455
+ */
4456
+ declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
4457
+ /**
4458
+ * Token for configuring AXErrorHandlerService
4459
+ */
4460
+ declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
4461
+
4462
+ /**
4463
+ * Registry Configuration Tokens
4464
+ * Injection tokens for configuring default registry values
4465
+ */
4466
+
4467
+ /**
4468
+ * Additional message renderers configuration
4469
+ * Provide this token to add custom message renderers in addition to built-in ones
4470
+ * Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
4471
+ */
4472
+ declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
4473
+ /**
4474
+ * Default message actions configuration
4475
+ * Provide this token to override default message actions
4476
+ */
4477
+ declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
4478
+ /**
4479
+ * Default composer tabs configuration
4480
+ * Provide this token to override default composer tabs (emoji, stickers, etc.)
4481
+ */
4482
+ declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
4483
+ /**
4484
+ * Default composer actions configuration
4485
+ * Provide this token to override default composer actions (attach, voice, etc.)
4486
+ */
4487
+ declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
4488
+ /**
4489
+ * Default conversation tabs configuration
4490
+ * Provide this token to override default conversation tabs (all, private, groups, etc.)
4491
+ */
4492
+ declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
4493
+ /**
4494
+ * Default info bar actions configuration
4495
+ * Provide this token to override default info bar actions (mute, archive, block, etc.)
4496
+ */
4497
+ declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
4498
+ /**
4499
+ * Default conversation item actions configuration
4500
+ * Provide this token to override default conversation item actions (mute, delete, archive, etc.)
4501
+ */
4502
+ declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
4503
+ /**
4504
+ * Registry configuration interface
4505
+ */
4506
+ interface AXRegistryConfiguration {
4507
+ /**
4508
+ * Additional message renderers to register (built-in renderers are automatic).
4509
+ * Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
4510
+ */
4511
+ messageRenderers?: AXMessageRenderer[];
4512
+ /** Message actions to register by default */
4513
+ messageActions?: AXMessageAction[];
4514
+ /** Composer tabs to register by default */
4515
+ composerTabs?: AXComposerTab[];
4516
+ /** Composer actions to register by default */
4517
+ composerActions?: AXComposerAction[];
4518
+ /** Conversation tabs to register by default */
4519
+ conversationTabs?: AXConversationTab[];
4520
+ /** Info bar actions to register by default */
4521
+ infoBarActions?: AXInfoBarAction[];
4522
+ /** Conversation item actions to register by default */
4523
+ conversationItemActions?: AXConversationItemAction[];
4524
+ }
4525
+ /**
4526
+ * Complete registry configuration token
4527
+ * Provide this for comprehensive registry configuration
4528
+ */
4529
+ declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
4530
+
4531
4531
  /**
4532
4532
  * IndexedDB Storage Wrapper
4533
4533
  * Provides persistent storage for conversation data
@@ -5008,8 +5008,8 @@ declare class AXAudioPickerComponent implements OnDestroy {
5008
5008
  readonly catalogFileType: "conversation-audio";
5009
5009
  readonly audioFiles: _angular_core.WritableSignal<AudioFile[]>;
5010
5010
  readonly isDragging: _angular_core.WritableSignal<boolean>;
5011
- readonly typeIconClass: "fa-light fa-music ax-text-amber-500";
5012
- readonly emptyIconClass: _angular_core.Signal<"fa-light fa-music ax-text-amber-500" | "fa-light fa-cloud-arrow-up">;
5011
+ readonly typeIconClass: "fa-light fa-music text-amber-500";
5012
+ readonly emptyIconClass: _angular_core.Signal<"fa-light fa-music text-amber-500" | "fa-light fa-cloud-arrow-up">;
5013
5013
  private catalogFileTypeDef?;
5014
5014
  caption: string;
5015
5015
  readonly allowMultiple: _angular_core.Signal<boolean>;
@@ -5110,7 +5110,7 @@ declare class AXFilePickerComponent implements OnDestroy {
5110
5110
  readonly files: _angular_core.WritableSignal<AttachedFile[]>;
5111
5111
  readonly isDragging: _angular_core.WritableSignal<boolean>;
5112
5112
  readonly isUploading: _angular_core.WritableSignal<boolean>;
5113
- readonly emptyIconClass: _angular_core.Signal<"fa-light fa-file ax-text-neutral-500" | "fa-light fa-cloud-arrow-up">;
5113
+ readonly emptyIconClass: _angular_core.Signal<"fa-light fa-file text-neutral-500" | "fa-light fa-cloud-arrow-up">;
5114
5114
  private catalogFileTypeDef?;
5115
5115
  caption: string;
5116
5116
  constructor();
@@ -5161,7 +5161,7 @@ declare class AXImagePickerComponent implements OnDestroy {
5161
5161
  readonly __popup__: _angular_core.InputSignal<AXPopupRef<any>>;
5162
5162
  readonly images: _angular_core.WritableSignal<ImageFile[]>;
5163
5163
  readonly isDragging: _angular_core.WritableSignal<boolean>;
5164
- readonly emptyIconClass: _angular_core.Signal<"fa-light fa-image ax-text-purple-500" | "fa-light fa-cloud-arrow-up">;
5164
+ readonly emptyIconClass: _angular_core.Signal<"fa-light fa-image text-purple-500" | "fa-light fa-cloud-arrow-up">;
5165
5165
  caption: string;
5166
5166
  readonly allowMultiple: _angular_core.Signal<boolean>;
5167
5167
  private imageFileType?;
@@ -5442,7 +5442,7 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
5442
5442
  value: string;
5443
5443
  }>;
5444
5444
  /** Get filtered members based on search */
5445
- get filteredMembers(): AXParticipant[];
5445
+ get filteredMembers(): _acorex_components_conversation2.AXParticipant[];
5446
5446
  /** Handle tab change */
5447
5447
  onTabChange(event: any): void;
5448
5448
  ngOnInit(): void;
@@ -5498,7 +5498,7 @@ declare class AXInfoBarSearchComponent {
5498
5498
  /** Current index from service */
5499
5499
  readonly currentIndex: _angular_core.Signal<number>;
5500
5500
  /** Messages from conversation */
5501
- readonly messages: _angular_core.Signal<AXMessage[]>;
5501
+ readonly messages: _angular_core.Signal<_acorex_components_conversation2.AXMessage[]>;
5502
5502
  private scrollTimer?;
5503
5503
  constructor();
5504
5504
  /** Handle search input change */