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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/{types/acorex-components-accordion.d.ts → accordion/index.d.ts} +1 -0
  2. package/{types/acorex-components-button.d.ts → button/index.d.ts} +3 -3
  3. package/{types/acorex-components-button-group.d.ts → button-group/index.d.ts} +12 -20
  4. package/{types/acorex-components-calendar.d.ts → calendar/index.d.ts} +74 -20
  5. package/{types/acorex-components-check-box.d.ts → check-box/index.d.ts} +1 -1
  6. package/{types/acorex-components-chips.d.ts → chips/index.d.ts} +8 -3
  7. package/collapse/README.md +3 -0
  8. package/collapse/index.d.ts +174 -0
  9. package/{types/acorex-components-color-palette.d.ts → color-palette/index.d.ts} +0 -2
  10. package/{types/acorex-components-conversation2.d.ts → conversation2/index.d.ts} +600 -600
  11. package/{types/acorex-components-data-table.d.ts → data-table/index.d.ts} +253 -4
  12. package/{types/acorex-components-datetime-box.d.ts → datetime-box/index.d.ts} +6 -2
  13. package/{types/acorex-components-datetime-picker.d.ts → datetime-picker/index.d.ts} +6 -2
  14. package/drawer-legacy/README.md +3 -0
  15. package/drawer-legacy/index.d.ts +86 -0
  16. package/{types/acorex-components-dropdown-button.d.ts → dropdown-button/index.d.ts} +2 -4
  17. package/fesm2022/acorex-components-accordion.mjs +22 -17
  18. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  19. package/fesm2022/acorex-components-action-sheet.mjs +17 -17
  20. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  21. package/fesm2022/acorex-components-alert.mjs +14 -14
  22. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  23. package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
  24. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  25. package/fesm2022/acorex-components-audio-wave.mjs +11 -12
  26. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  27. package/fesm2022/acorex-components-autocomplete.mjs +9 -9
  28. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  29. package/fesm2022/acorex-components-avatar.mjs +13 -13
  30. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  31. package/fesm2022/acorex-components-badge.mjs +10 -10
  32. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  33. package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
  34. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  35. package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
  36. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  37. package/fesm2022/acorex-components-button-group.mjs +26 -61
  38. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  39. package/fesm2022/acorex-components-button.mjs +22 -22
  40. package/fesm2022/acorex-components-button.mjs.map +1 -1
  41. package/fesm2022/acorex-components-calendar.mjs +123 -20
  42. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  43. package/fesm2022/acorex-components-check-box.mjs +11 -11
  44. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  45. package/fesm2022/acorex-components-chips.mjs +14 -12
  46. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  47. package/fesm2022/acorex-components-circular-progress.mjs +11 -13
  48. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  49. package/fesm2022/acorex-components-code-editor.mjs +14 -14
  50. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  51. package/fesm2022/acorex-components-collapse.mjs +366 -0
  52. package/fesm2022/acorex-components-collapse.mjs.map +1 -0
  53. package/fesm2022/acorex-components-color-box.mjs +11 -11
  54. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  55. package/fesm2022/acorex-components-color-palette.mjs +40 -81
  56. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  57. package/fesm2022/acorex-components-command.mjs +11 -11
  58. package/fesm2022/acorex-components-command.mjs.map +1 -1
  59. package/fesm2022/acorex-components-comment.mjs +33 -33
  60. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  61. package/fesm2022/acorex-components-conversation.mjs +63 -63
  62. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  63. package/fesm2022/acorex-components-conversation2.mjs +331 -343
  64. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  65. package/fesm2022/acorex-components-cron-job.mjs +55 -55
  66. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  67. package/fesm2022/acorex-components-data-list.mjs +6 -6
  68. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  69. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  70. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  71. package/fesm2022/acorex-components-data-table.mjs +486 -50
  72. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  73. package/fesm2022/acorex-components-datetime-box.mjs +14 -10
  74. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  75. package/fesm2022/acorex-components-datetime-input.mjs +10 -10
  76. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  77. package/fesm2022/acorex-components-datetime-picker.mjs +15 -11
  78. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  79. package/fesm2022/acorex-components-decorators.mjs +41 -48
  80. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  81. package/fesm2022/acorex-components-dialog.mjs +13 -13
  82. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  83. package/fesm2022/acorex-components-drawer-legacy.mjs +218 -0
  84. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -0
  85. package/fesm2022/acorex-components-drawer.mjs +17 -16
  86. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  87. package/fesm2022/acorex-components-dropdown-button.mjs +11 -19
  88. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  89. package/fesm2022/acorex-components-dropdown.mjs +18 -18
  90. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  91. package/fesm2022/acorex-components-editor.mjs +12 -12
  92. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  93. package/fesm2022/acorex-components-fab.mjs +9 -9
  94. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  95. package/fesm2022/acorex-components-file-explorer.mjs +307 -0
  96. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -0
  97. package/fesm2022/acorex-components-flow-chart.mjs +47 -64
  98. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  99. package/fesm2022/acorex-components-form.mjs +27 -35
  100. package/fesm2022/acorex-components-form.mjs.map +1 -1
  101. package/fesm2022/acorex-components-grid-layout-builder.mjs +14 -13
  102. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  103. package/fesm2022/acorex-components-image-editor.mjs +48 -48
  104. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  105. package/fesm2022/acorex-components-image.mjs +10 -10
  106. package/fesm2022/acorex-components-image.mjs.map +1 -1
  107. package/fesm2022/acorex-components-json-viewer.mjs +9 -9
  108. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  109. package/fesm2022/acorex-components-kanban.mjs +7 -9
  110. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  111. package/fesm2022/acorex-components-kbd.mjs +10 -10
  112. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  113. package/fesm2022/acorex-components-label.mjs +9 -9
  114. package/fesm2022/acorex-components-label.mjs.map +1 -1
  115. package/fesm2022/acorex-components-list.mjs +10 -10
  116. package/fesm2022/acorex-components-list.mjs.map +1 -1
  117. package/fesm2022/acorex-components-loading-dialog.mjs +12 -12
  118. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  119. package/fesm2022/acorex-components-loading.mjs +21 -21
  120. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  121. package/fesm2022/acorex-components-map.mjs +15 -15
  122. package/fesm2022/acorex-components-map.mjs.map +1 -1
  123. package/fesm2022/acorex-components-media-viewer.mjs +45 -45
  124. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  125. package/fesm2022/acorex-components-menu.mjs +29 -29
  126. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  127. package/fesm2022/{acorex-components-modal-acorex-components-modal-DWNqU6or.mjs → acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs} +24 -24
  128. package/fesm2022/acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs.map +1 -0
  129. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs +212 -0
  130. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs.map +1 -0
  131. package/fesm2022/acorex-components-modal.mjs +1 -1
  132. package/fesm2022/acorex-components-navbar.mjs +9 -9
  133. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  134. package/fesm2022/acorex-components-notification.mjs +13 -13
  135. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  136. package/fesm2022/acorex-components-number-box-legacy.mjs +430 -0
  137. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -0
  138. package/fesm2022/acorex-components-number-box.mjs +10 -10
  139. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  140. package/fesm2022/acorex-components-otp.mjs +10 -10
  141. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  142. package/fesm2022/acorex-components-page.mjs +10 -10
  143. package/fesm2022/acorex-components-page.mjs.map +1 -1
  144. package/fesm2022/acorex-components-paint.mjs +40 -35
  145. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  146. package/fesm2022/acorex-components-password-box.mjs +23 -15
  147. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  148. package/fesm2022/acorex-components-pdf-reader.mjs +9 -9
  149. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  150. package/fesm2022/acorex-components-phone-box.mjs +10 -10
  151. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  152. package/fesm2022/acorex-components-picker.mjs +20 -20
  153. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  154. package/fesm2022/acorex-components-popover.mjs +8 -8
  155. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  156. package/fesm2022/acorex-components-popup.mjs +17 -17
  157. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  158. package/fesm2022/acorex-components-progress-bar.mjs +9 -11
  159. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  160. package/fesm2022/acorex-components-qrcode.mjs +12 -29
  161. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  162. package/fesm2022/acorex-components-query-builder.mjs +10 -11
  163. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  164. package/fesm2022/acorex-components-radio.mjs +9 -10
  165. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  166. package/fesm2022/acorex-components-rail-navigation.mjs +38 -40
  167. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  168. package/fesm2022/acorex-components-range-slider.mjs +11 -11
  169. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  170. package/fesm2022/acorex-components-rate-picker.mjs +35 -20
  171. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  172. package/fesm2022/acorex-components-rest-api-generator.mjs +28 -28
  173. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  174. package/fesm2022/acorex-components-result.mjs +8 -8
  175. package/fesm2022/acorex-components-result.mjs.map +1 -1
  176. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  177. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  178. package/fesm2022/acorex-components-rrule.mjs +11 -11
  179. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  180. package/fesm2022/acorex-components-scheduler-picker.mjs +180 -174
  181. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  182. package/fesm2022/acorex-components-scheduler.mjs +52 -53
  183. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  184. package/fesm2022/acorex-components-scss.mjs +22 -0
  185. package/fesm2022/acorex-components-scss.mjs.map +1 -0
  186. package/fesm2022/acorex-components-search-box.mjs +11 -17
  187. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  188. package/fesm2022/acorex-components-select-box.mjs +14 -16
  189. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  190. package/fesm2022/acorex-components-selection-list-2.mjs +12 -12
  191. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  192. package/fesm2022/acorex-components-selection-list.mjs +10 -10
  193. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  194. package/fesm2022/acorex-components-side-menu.mjs +18 -18
  195. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  196. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  197. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  198. package/fesm2022/acorex-components-slider.mjs +13 -13
  199. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  200. package/fesm2022/acorex-components-sliding-item.mjs +19 -19
  201. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  202. package/fesm2022/acorex-components-step-wizard.mjs +16 -16
  203. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  204. package/fesm2022/acorex-components-switch.mjs +14 -14
  205. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  206. package/fesm2022/acorex-components-tabs.mjs +17 -17
  207. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  208. package/fesm2022/acorex-components-tag-box.mjs +10 -10
  209. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  210. package/fesm2022/acorex-components-tag.mjs +10 -10
  211. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  212. package/fesm2022/acorex-components-text-area.mjs +9 -9
  213. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  214. package/fesm2022/acorex-components-text-box.mjs +12 -12
  215. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  216. package/fesm2022/acorex-components-time-duration.mjs +13 -11
  217. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  218. package/fesm2022/acorex-components-time-line.mjs +14 -14
  219. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  220. package/fesm2022/acorex-components-toast.mjs +13 -13
  221. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  222. package/fesm2022/acorex-components-toolbar.mjs +10 -10
  223. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  224. package/fesm2022/acorex-components-tooltip.mjs +14 -14
  225. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  226. package/fesm2022/acorex-components-tree-view-legacy.mjs +511 -0
  227. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -0
  228. package/fesm2022/acorex-components-tree-view.mjs +13 -13
  229. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  230. package/fesm2022/acorex-components-uploader.mjs +17 -17
  231. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  232. package/fesm2022/acorex-components-video-player.mjs +9 -9
  233. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  234. package/fesm2022/acorex-components-wysiwyg.mjs +45 -45
  235. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  236. package/fesm2022/acorex-components.mjs.map +1 -1
  237. package/file-explorer/README.md +3 -0
  238. package/file-explorer/index.d.ts +103 -0
  239. package/{types/acorex-components-flow-chart.d.ts → flow-chart/index.d.ts} +0 -4
  240. package/{types/acorex-components-form.d.ts → form/index.d.ts} +24 -24
  241. package/{types/acorex-components-grid-layout-builder.d.ts → grid-layout-builder/index.d.ts} +1 -0
  242. package/{types/acorex-components-loading.d.ts → loading/index.d.ts} +1 -1
  243. package/{types/acorex-components-menu.d.ts → menu/index.d.ts} +6 -6
  244. package/number-box-legacy/README.md +3 -0
  245. package/number-box-legacy/index.d.ts +191 -0
  246. package/package.json +136 -112
  247. package/{types/acorex-components-paint.d.ts → paint/index.d.ts} +6 -1
  248. package/{types/acorex-components-qrcode.d.ts → qrcode/index.d.ts} +0 -1
  249. package/{types/acorex-components-radio.d.ts → radio/index.d.ts} +1 -1
  250. package/{types/acorex-components-rate-picker.d.ts → rate-picker/index.d.ts} +15 -5
  251. package/{types/acorex-components-scheduler-picker.d.ts → scheduler-picker/index.d.ts} +81 -82
  252. package/scss/README.md +3 -0
  253. package/scss/index.d.ts +10 -0
  254. package/{types/acorex-components-select-box.d.ts → select-box/index.d.ts} +1 -2
  255. package/{types/acorex-components-slider.d.ts → slider/index.d.ts} +2 -2
  256. package/{types/acorex-components-tabs.d.ts → tabs/index.d.ts} +1 -1
  257. package/{types/acorex-components-tag.d.ts → tag/index.d.ts} +3 -3
  258. package/tree-view-legacy/README.md +3 -0
  259. package/tree-view-legacy/index.d.ts +184 -0
  260. package/fesm2022/acorex-components-modal-acorex-components-modal-DWNqU6or.mjs.map +0 -1
  261. package/fesm2022/acorex-components-modal-modal-content.component-DplJbJyk.mjs +0 -214
  262. package/fesm2022/acorex-components-modal-modal-content.component-DplJbJyk.mjs.map +0 -1
  263. package/{types/acorex-components-action-sheet.d.ts → action-sheet/index.d.ts} +0 -0
  264. package/{types/acorex-components-alert.d.ts → alert/index.d.ts} +0 -0
  265. package/{types/acorex-components-aspect-ratio.d.ts → aspect-ratio/index.d.ts} +0 -0
  266. package/{types/acorex-components-audio-wave.d.ts → audio-wave/index.d.ts} +0 -0
  267. package/{types/acorex-components-autocomplete.d.ts → autocomplete/index.d.ts} +0 -0
  268. package/{types/acorex-components-avatar.d.ts → avatar/index.d.ts} +0 -0
  269. package/{types/acorex-components-badge.d.ts → badge/index.d.ts} +0 -0
  270. package/{types/acorex-components-bottom-navigation.d.ts → bottom-navigation/index.d.ts} +0 -0
  271. package/{types/acorex-components-breadcrumbs.d.ts → breadcrumbs/index.d.ts} +0 -0
  272. package/{types/acorex-components-circular-progress.d.ts → circular-progress/index.d.ts} +0 -0
  273. package/{types/acorex-components-code-editor.d.ts → code-editor/index.d.ts} +0 -0
  274. package/{types/acorex-components-color-box.d.ts → color-box/index.d.ts} +0 -0
  275. package/{types/acorex-components-command.d.ts → command/index.d.ts} +0 -0
  276. package/{types/acorex-components-comment.d.ts → comment/index.d.ts} +0 -0
  277. package/{types/acorex-components-conversation.d.ts → conversation/index.d.ts} +0 -0
  278. package/{types/acorex-components-cron-job.d.ts → cron-job/index.d.ts} +0 -0
  279. package/{types/acorex-components-data-list.d.ts → data-list/index.d.ts} +0 -0
  280. package/{types/acorex-components-data-pager.d.ts → data-pager/index.d.ts} +0 -0
  281. package/{types/acorex-components-datetime-input.d.ts → datetime-input/index.d.ts} +0 -0
  282. package/{types/acorex-components-decorators.d.ts → decorators/index.d.ts} +0 -0
  283. package/{types/acorex-components-dialog.d.ts → dialog/index.d.ts} +0 -0
  284. package/{types/acorex-components-drawer.d.ts → drawer/index.d.ts} +0 -0
  285. package/{types/acorex-components-dropdown.d.ts → dropdown/index.d.ts} +0 -0
  286. package/{types/acorex-components-editor.d.ts → editor/index.d.ts} +0 -0
  287. package/{types/acorex-components-fab.d.ts → fab/index.d.ts} +0 -0
  288. package/{types/acorex-components-image.d.ts → image/index.d.ts} +0 -0
  289. package/{types/acorex-components-image-editor.d.ts → image-editor/index.d.ts} +0 -0
  290. package/{types/acorex-components.d.ts → index.d.ts} +0 -0
  291. package/{types/acorex-components-json-viewer.d.ts → json-viewer/index.d.ts} +0 -0
  292. package/{types/acorex-components-kanban.d.ts → kanban/index.d.ts} +0 -0
  293. package/{types/acorex-components-kbd.d.ts → kbd/index.d.ts} +0 -0
  294. package/{types/acorex-components-label.d.ts → label/index.d.ts} +0 -0
  295. package/{types/acorex-components-list.d.ts → list/index.d.ts} +0 -0
  296. package/{types/acorex-components-loading-dialog.d.ts → loading-dialog/index.d.ts} +0 -0
  297. package/{types/acorex-components-map.d.ts → map/index.d.ts} +0 -0
  298. package/{types/acorex-components-media-viewer.d.ts → media-viewer/index.d.ts} +0 -0
  299. package/{types/acorex-components-modal.d.ts → modal/index.d.ts} +0 -0
  300. package/{types/acorex-components-navbar.d.ts → navbar/index.d.ts} +0 -0
  301. package/{types/acorex-components-notification.d.ts → notification/index.d.ts} +0 -0
  302. package/{types/acorex-components-number-box.d.ts → number-box/index.d.ts} +0 -0
  303. package/{types/acorex-components-otp.d.ts → otp/index.d.ts} +0 -0
  304. package/{types/acorex-components-page.d.ts → page/index.d.ts} +0 -0
  305. package/{types/acorex-components-password-box.d.ts → password-box/index.d.ts} +0 -0
  306. package/{types/acorex-components-pdf-reader.d.ts → pdf-reader/index.d.ts} +0 -0
  307. package/{types/acorex-components-phone-box.d.ts → phone-box/index.d.ts} +0 -0
  308. package/{types/acorex-components-picker.d.ts → picker/index.d.ts} +0 -0
  309. package/{types/acorex-components-popover.d.ts → popover/index.d.ts} +0 -0
  310. package/{types/acorex-components-popup.d.ts → popup/index.d.ts} +0 -0
  311. package/{types/acorex-components-progress-bar.d.ts → progress-bar/index.d.ts} +0 -0
  312. package/{types/acorex-components-query-builder.d.ts → query-builder/index.d.ts} +1 -1
  313. /package/{types/acorex-components-rail-navigation.d.ts → rail-navigation/index.d.ts} +0 -0
  314. /package/{types/acorex-components-range-slider.d.ts → range-slider/index.d.ts} +0 -0
  315. /package/{types/acorex-components-rest-api-generator.d.ts → rest-api-generator/index.d.ts} +0 -0
  316. /package/{types/acorex-components-result.d.ts → result/index.d.ts} +0 -0
  317. /package/{types/acorex-components-routing-progress.d.ts → routing-progress/index.d.ts} +0 -0
  318. /package/{types/acorex-components-rrule.d.ts → rrule/index.d.ts} +0 -0
  319. /package/{types/acorex-components-scheduler.d.ts → scheduler/index.d.ts} +0 -0
  320. /package/{types/acorex-components-search-box.d.ts → search-box/index.d.ts} +0 -0
  321. /package/{types/acorex-components-selection-list.d.ts → selection-list/index.d.ts} +0 -0
  322. /package/{types/acorex-components-selection-list-2.d.ts → selection-list-2/index.d.ts} +0 -0
  323. /package/{types/acorex-components-side-menu.d.ts → side-menu/index.d.ts} +0 -0
  324. /package/{types/acorex-components-skeleton.d.ts → skeleton/index.d.ts} +0 -0
  325. /package/{types/acorex-components-sliding-item.d.ts → sliding-item/index.d.ts} +0 -0
  326. /package/{types/acorex-components-step-wizard.d.ts → step-wizard/index.d.ts} +0 -0
  327. /package/{types/acorex-components-switch.d.ts → switch/index.d.ts} +0 -0
  328. /package/{types/acorex-components-tag-box.d.ts → tag-box/index.d.ts} +0 -0
  329. /package/{types/acorex-components-text-area.d.ts → text-area/index.d.ts} +0 -0
  330. /package/{types/acorex-components-text-box.d.ts → text-box/index.d.ts} +0 -0
  331. /package/{types/acorex-components-time-duration.d.ts → time-duration/index.d.ts} +0 -0
  332. /package/{types/acorex-components-time-line.d.ts → time-line/index.d.ts} +0 -0
  333. /package/{types/acorex-components-toast.d.ts → toast/index.d.ts} +0 -0
  334. /package/{types/acorex-components-toolbar.d.ts → toolbar/index.d.ts} +0 -0
  335. /package/{types/acorex-components-tooltip.d.ts → tooltip/index.d.ts} +0 -0
  336. /package/{types/acorex-components-tree-view.d.ts → tree-view/index.d.ts} +0 -0
  337. /package/{types/acorex-components-uploader.d.ts → uploader/index.d.ts} +0 -0
  338. /package/{types/acorex-components-video-player.d.ts → video-player/index.d.ts} +0 -0
  339. /package/{types/acorex-components-wysiwyg.d.ts → wysiwyg/index.d.ts} +0 -0
@@ -1,13 +1,13 @@
1
1
  import * as _acorex_components_conversation2 from '@acorex/components/conversation2';
2
2
  import * as _angular_core from '@angular/core';
3
- import { OnDestroy, ViewContainerRef, Type, InputSignal, WritableSignal, Signal, OnInit, EventEmitter, TemplateRef, InjectionToken, ElementRef, ModuleWithProviders, Provider } from '@angular/core';
3
+ import { OnDestroy, ViewContainerRef, Type, InputSignal, WritableSignal, Signal, InjectionToken, OnInit, EventEmitter, TemplateRef, ElementRef, ModuleWithProviders, Provider } from '@angular/core';
4
4
  import { AXComponentCloseEvent, AXHtmlEvent, AXDataSource, AXClosableComponent } from '@acorex/cdk/common';
5
5
  import { AXUploaderChangedEvent } from '@acorex/cdk/uploader';
6
+ import * as rxjs from 'rxjs';
7
+ import { Observable, BehaviorSubject, Subject } from 'rxjs';
6
8
  import { AXPopoverComponent } from '@acorex/components/popover';
7
9
  import { AXListComponent } from '@acorex/components/list';
8
10
  import { AXPopupService, AXPopupRef } from '@acorex/components/popup';
9
- import * as rxjs from 'rxjs';
10
- import { Observable, BehaviorSubject, Subject } from 'rxjs';
11
11
  import { AXDialogService } from '@acorex/components/dialog';
12
12
  import { AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
13
13
  import { AXBasePageComponent } from '@acorex/components/page';
@@ -504,84 +504,6 @@ interface AXConversationSort {
504
504
  direction: 'asc' | 'desc';
505
505
  }
506
506
 
507
- /**
508
- * Abstract Base Registry
509
- * Base class for all registries with common functionality
510
- */
511
-
512
- /**
513
- * Base registry interface
514
- */
515
- interface AXRegistryItem {
516
- /** Unique identifier */
517
- id: string;
518
- /** Display order priority (higher = earlier) */
519
- priority?: number;
520
- /** Whether item is enabled */
521
- enabled?: boolean;
522
- }
523
- /**
524
- * Abstract Base Registry Class
525
- * Provides common registry functionality
526
- */
527
- declare abstract class AXBaseRegistry<T extends AXRegistryItem> {
528
- protected readonly _items: WritableSignal<T[]>;
529
- /** All registered items */
530
- readonly items: Signal<T[]>;
531
- /** Enabled items sorted by priority */
532
- readonly enabledItems: Signal<T[]>;
533
- /**
534
- * Register an item
535
- */
536
- register(item: T): void;
537
- /**
538
- * Register multiple items
539
- */
540
- registerMany(items: T[]): void;
541
- /**
542
- * Unregister an item by ID
543
- */
544
- unregister(id: string): void;
545
- /**
546
- * Get item by ID
547
- */
548
- getById(id: string): T | undefined;
549
- /**
550
- * Check if item exists
551
- */
552
- has(id: string): boolean;
553
- /**
554
- * Enable/disable an item
555
- */
556
- setEnabled(id: string, enabled: boolean): void;
557
- /**
558
- * Update an item
559
- */
560
- update(id: string, updates: Partial<T>): void;
561
- /**
562
- * Clear all items
563
- */
564
- clear(): void;
565
- /**
566
- * Get count of registered items
567
- */
568
- get count(): number;
569
- /**
570
- * Get count of enabled items
571
- */
572
- get enabledCount(): number;
573
- /**
574
- * Validate item before registration
575
- * Override in child classes for custom validation
576
- */
577
- protected validateItem(item: T): void;
578
- /**
579
- * Get registry name for logging
580
- * Override in child classes
581
- */
582
- protected abstract getRegistryName(): string;
583
- }
584
-
585
507
  /**
586
508
  * Shared API Types
587
509
  * Common types used across all API services
@@ -1921,6 +1843,84 @@ declare abstract class AXUserApi {
1921
1843
  protected createError(code: string, message: string, statusCode?: number, details?: unknown): AXApiError;
1922
1844
  }
1923
1845
 
1846
+ /**
1847
+ * Abstract Base Registry
1848
+ * Base class for all registries with common functionality
1849
+ */
1850
+
1851
+ /**
1852
+ * Base registry interface
1853
+ */
1854
+ interface AXRegistryItem {
1855
+ /** Unique identifier */
1856
+ id: string;
1857
+ /** Display order priority (higher = earlier) */
1858
+ priority?: number;
1859
+ /** Whether item is enabled */
1860
+ enabled?: boolean;
1861
+ }
1862
+ /**
1863
+ * Abstract Base Registry Class
1864
+ * Provides common registry functionality
1865
+ */
1866
+ declare abstract class AXBaseRegistry<T extends AXRegistryItem> {
1867
+ protected readonly _items: WritableSignal<T[]>;
1868
+ /** All registered items */
1869
+ readonly items: Signal<T[]>;
1870
+ /** Enabled items sorted by priority */
1871
+ readonly enabledItems: Signal<T[]>;
1872
+ /**
1873
+ * Register an item
1874
+ */
1875
+ register(item: T): void;
1876
+ /**
1877
+ * Register multiple items
1878
+ */
1879
+ registerMany(items: T[]): void;
1880
+ /**
1881
+ * Unregister an item by ID
1882
+ */
1883
+ unregister(id: string): void;
1884
+ /**
1885
+ * Get item by ID
1886
+ */
1887
+ getById(id: string): T | undefined;
1888
+ /**
1889
+ * Check if item exists
1890
+ */
1891
+ has(id: string): boolean;
1892
+ /**
1893
+ * Enable/disable an item
1894
+ */
1895
+ setEnabled(id: string, enabled: boolean): void;
1896
+ /**
1897
+ * Update an item
1898
+ */
1899
+ update(id: string, updates: Partial<T>): void;
1900
+ /**
1901
+ * Clear all items
1902
+ */
1903
+ clear(): void;
1904
+ /**
1905
+ * Get count of registered items
1906
+ */
1907
+ get count(): number;
1908
+ /**
1909
+ * Get count of enabled items
1910
+ */
1911
+ get enabledCount(): number;
1912
+ /**
1913
+ * Validate item before registration
1914
+ * Override in child classes for custom validation
1915
+ */
1916
+ protected validateItem(item: T): void;
1917
+ /**
1918
+ * Get registry name for logging
1919
+ * Override in child classes
1920
+ */
1921
+ protected abstract getRegistryName(): string;
1922
+ }
1923
+
1924
1924
  /**
1925
1925
  * Composer context provided to actions
1926
1926
  */
@@ -2575,62 +2575,50 @@ declare class AXMessageRendererRegistry {
2575
2575
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMessageRendererRegistry>;
2576
2576
  }
2577
2577
 
2578
- declare class AXComposerComponent implements OnDestroy {
2579
- #private;
2578
+ /**
2579
+ * Active component state in composer
2580
+ */
2581
+ interface AXComposerActiveComponent {
2582
+ /** Action that triggered this component */
2583
+ action: AXComposerAction;
2584
+ /** Component to render */
2585
+ component: Type<unknown>;
2586
+ /** Component inputs */
2587
+ inputs?: Record<string, unknown>;
2588
+ }
2589
+ declare class AXComposerService {
2580
2590
  private readonly conversationService;
2581
- private readonly uploader;
2582
- private readonly composerService;
2583
- private readonly messageListService;
2584
- private readonly popupService;
2585
- private readonly config;
2586
2591
  private readonly translation;
2587
- private readonly toast;
2588
- /** Access registry through conversation service */
2589
2592
  private get registry();
2590
- /** Composer text area reference */
2591
- private readonly textAreaRef;
2592
- /** Draft text - use service */
2593
+ private readonly _replyMessage;
2594
+ private readonly _editMessage;
2595
+ readonly replyMessage: _angular_core.Signal<AXMessage>;
2596
+ readonly editMessage: _angular_core.Signal<AXMessage>;
2597
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
2598
+ readonly activeMessages: _angular_core.Signal<AXMessage[]>;
2599
+ /** Active component being shown in composer (full-width mode) */
2600
+ private readonly _activeComponent;
2601
+ readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
2602
+ /** Draft text */
2593
2603
  readonly draftText: _angular_core.WritableSignal<string>;
2594
- /** Attachments - use service */
2604
+ /** Attachments */
2595
2605
  readonly attachments: _angular_core.WritableSignal<File[]>;
2596
- /** Editing message */
2597
- readonly editingMessage: _angular_core.WritableSignal<any>;
2598
- /** Replying to message */
2599
- readonly replyingToMessage: _angular_core.WritableSignal<AXMessage>;
2600
- /** Show typing indicator - use service */
2606
+ /** Show typing indicator */
2601
2607
  readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
2602
- /** Message sent event */
2603
- readonly messageSent: _angular_core.OutputEmitterRef<AXSendMessageCommand>;
2604
- /** Emoji clicked event */
2605
- readonly emojiClick: _angular_core.OutputEmitterRef<void>;
2606
- /** Attach clicked event */
2607
- readonly attachClick: _angular_core.OutputEmitterRef<void>;
2608
- /** Voice clicked event */
2609
- readonly voiceClick: _angular_core.OutputEmitterRef<void>;
2610
- /** Active conversation */
2611
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
2612
- readonly activeMessages: _angular_core.Signal<AXMessage[]>;
2613
- /** Active component from service */
2614
- readonly activeComponent: _angular_core.Signal<_acorex_components_conversation2.AXComposerActiveComponent>;
2615
- /** Emoji popover state */
2616
- private readonly emojiPopoverRef;
2617
- readonly emojiPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
2618
- readonly composerPopupComponent: typeof AXComposerPopupComponent;
2619
- /** Input placeholder - use service */
2608
+ /** Incremented to request focus on the composer text area (handled by AXComposerComponent). */
2609
+ private readonly _focusRequest;
2610
+ readonly focusRequest: _angular_core.Signal<number>;
2611
+ /** Input placeholder */
2620
2612
  readonly placeholder: _angular_core.Signal<string>;
2621
- /** Sending message state */
2622
- readonly sendingMessage: _angular_core.WritableSignal<boolean>;
2623
- /** Typing indicator subject for rate limiting */
2624
- private readonly typingSubject;
2625
- constructor();
2626
- private draftSaveTimeout?;
2627
- /** Number of input rows - use service */
2613
+ /** Number of input rows */
2628
2614
  readonly inputRows: _angular_core.Signal<number>;
2629
- /** Can send message - use service */
2615
+ /** Can send message */
2630
2616
  readonly canSend: _angular_core.Signal<boolean>;
2631
- /** Left actions from registry - use service */
2617
+ /** Composer action context */
2618
+ readonly actionContext: _angular_core.Signal<AXComposerActionContext>;
2619
+ /** Left actions from registry */
2632
2620
  readonly leftActions: _angular_core.Signal<AXComposerAction[]>;
2633
- /** Right actions from registry - use service */
2621
+ /** Right actions from registry */
2634
2622
  readonly rightActions: _angular_core.Signal<AXComposerAction[]>;
2635
2623
  /** Left inline actions (location = 'inline' or undefined) */
2636
2624
  readonly leftInlineActions: _angular_core.Signal<AXComposerAction[]>;
@@ -2640,23 +2628,135 @@ declare class AXComposerComponent implements OnDestroy {
2640
2628
  readonly rightInlineActions: _angular_core.Signal<AXComposerAction[]>;
2641
2629
  /** Right menu actions (location = 'menu') */
2642
2630
  readonly rightMenuActions: _angular_core.Signal<AXComposerAction[]>;
2643
- /** Handle key down */
2644
- onKeyDown(event: AXHtmlEvent<KeyboardEvent>): void;
2645
- /** Handle input */
2646
- onInput(): void;
2647
- /** Send typing indicator (throttled via RxJS) */
2648
- private sendTypingIndicator;
2649
- /** Cleanup on destroy */
2650
- ngOnDestroy(): void;
2651
- /** Handle send click */
2652
- onSendClick(): Promise<void>;
2653
- /** Handle emoji click */
2654
- onEmojiClick(event?: MouseEvent): Promise<void>;
2655
- /** Handle emoji popover closed */
2656
- onEmojiPopoverClosed(): void;
2657
- /** Handle emoji/sticker selection from popup */
2658
- onEmojiItemSelected(item: string | AXStickerPayload): void;
2659
- /** Send sticker message */
2631
+ startReply(message: AXMessage): void;
2632
+ startEdit(message: AXMessage): void;
2633
+ /** Focus the composer text area when the composer component is mounted. */
2634
+ focusComposer(): void;
2635
+ clear(): void;
2636
+ /**
2637
+ * Persist draft for the previous conversation and reset composer UI state when switching conversations.
2638
+ */
2639
+ onConversationChanged(previousConversationId: string | null, currentConversationId: string | null): void;
2640
+ sendTypingIndicator(conversationId: string): Promise<void>;
2641
+ sendMessage(command: AXSendMessageCommand, options?: AXSendMessageOptions): Promise<void>;
2642
+ /**
2643
+ * Show a component in the composer (full-width mode)
2644
+ */
2645
+ showComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
2646
+ /**
2647
+ * Hide the active component
2648
+ */
2649
+ hideComponent(): void;
2650
+ /**
2651
+ * Toggle component visibility
2652
+ */
2653
+ toggleComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
2654
+ /**
2655
+ * Get actions for the active conversation
2656
+ */
2657
+ getActionsForPosition(position: 'left' | 'right', context: AXComposerActionContext): AXComposerAction[];
2658
+ /**
2659
+ * Execute an action
2660
+ */
2661
+ executeAction(actionId: string, context: AXComposerActionContext): Promise<void>;
2662
+ /**
2663
+ * Save draft to localStorage
2664
+ */
2665
+ saveDraft(conversationId: string, text: string): void;
2666
+ /**
2667
+ * Load draft from localStorage
2668
+ */
2669
+ loadDraft(conversationId: string): string;
2670
+ /**
2671
+ * Clear draft from localStorage
2672
+ */
2673
+ clearDraft(conversationId: string): void;
2674
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComposerService, never>;
2675
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXComposerService>;
2676
+ }
2677
+
2678
+ declare class AXComposerComponent implements OnDestroy {
2679
+ #private;
2680
+ private readonly conversationService;
2681
+ private readonly uploader;
2682
+ private readonly composerService;
2683
+ private readonly messageListService;
2684
+ private readonly popupService;
2685
+ private readonly config;
2686
+ private readonly translation;
2687
+ private readonly toast;
2688
+ /** Access registry through conversation service */
2689
+ private get registry();
2690
+ /** Composer text area reference */
2691
+ private readonly textAreaRef;
2692
+ /** Draft text - use service */
2693
+ readonly draftText: _angular_core.WritableSignal<string>;
2694
+ /** Attachments - use service */
2695
+ readonly attachments: _angular_core.WritableSignal<File[]>;
2696
+ /** Editing message */
2697
+ readonly editingMessage: _angular_core.WritableSignal<any>;
2698
+ /** Replying to message */
2699
+ readonly replyingToMessage: _angular_core.WritableSignal<AXMessage>;
2700
+ /** Show typing indicator - use service */
2701
+ readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
2702
+ /** Message sent event */
2703
+ readonly messageSent: _angular_core.OutputEmitterRef<AXSendMessageCommand>;
2704
+ /** Emoji clicked event */
2705
+ readonly emojiClick: _angular_core.OutputEmitterRef<void>;
2706
+ /** Attach clicked event */
2707
+ readonly attachClick: _angular_core.OutputEmitterRef<void>;
2708
+ /** Voice clicked event */
2709
+ readonly voiceClick: _angular_core.OutputEmitterRef<void>;
2710
+ /** Active conversation */
2711
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
2712
+ readonly activeMessages: _angular_core.Signal<AXMessage[]>;
2713
+ /** Active component from service */
2714
+ readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
2715
+ /** Emoji popover state */
2716
+ private readonly emojiPopoverRef;
2717
+ readonly emojiPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
2718
+ readonly composerPopupComponent: typeof AXComposerPopupComponent;
2719
+ /** Input placeholder - use service */
2720
+ readonly placeholder: _angular_core.Signal<string>;
2721
+ /** Sending message state */
2722
+ readonly sendingMessage: _angular_core.WritableSignal<boolean>;
2723
+ /** Typing indicator subject for rate limiting */
2724
+ private readonly typingSubject;
2725
+ constructor();
2726
+ private draftSaveTimeout?;
2727
+ /** Number of input rows - use service */
2728
+ readonly inputRows: _angular_core.Signal<number>;
2729
+ /** Can send message - use service */
2730
+ readonly canSend: _angular_core.Signal<boolean>;
2731
+ /** Left actions from registry - use service */
2732
+ readonly leftActions: _angular_core.Signal<AXComposerAction[]>;
2733
+ /** Right actions from registry - use service */
2734
+ readonly rightActions: _angular_core.Signal<AXComposerAction[]>;
2735
+ /** Left inline actions (location = 'inline' or undefined) */
2736
+ readonly leftInlineActions: _angular_core.Signal<AXComposerAction[]>;
2737
+ /** Left menu actions (location = 'menu') */
2738
+ readonly leftMenuActions: _angular_core.Signal<AXComposerAction[]>;
2739
+ /** Right inline actions (location = 'inline' or undefined) */
2740
+ readonly rightInlineActions: _angular_core.Signal<AXComposerAction[]>;
2741
+ /** Right menu actions (location = 'menu') */
2742
+ readonly rightMenuActions: _angular_core.Signal<AXComposerAction[]>;
2743
+ /** Handle key down */
2744
+ onKeyDown(event: AXHtmlEvent<KeyboardEvent>): void;
2745
+ /** Handle input */
2746
+ onInput(): void;
2747
+ /** Send typing indicator (throttled via RxJS) */
2748
+ private sendTypingIndicator;
2749
+ /** Cleanup on destroy */
2750
+ ngOnDestroy(): void;
2751
+ /** Handle send click */
2752
+ onSendClick(): Promise<void>;
2753
+ /** Handle emoji click */
2754
+ onEmojiClick(event?: MouseEvent): Promise<void>;
2755
+ /** Handle emoji popover closed */
2756
+ onEmojiPopoverClosed(): void;
2757
+ /** Handle emoji/sticker selection from popup */
2758
+ onEmojiItemSelected(item: string | AXStickerPayload): void;
2759
+ /** Send sticker message */
2660
2760
  private sendSticker;
2661
2761
  /** Get inputs for emoji popup component */
2662
2762
  getEmojiPopupInputs(): Record<string, unknown>;
@@ -2715,108 +2815,284 @@ declare class AXComposerComponent implements OnDestroy {
2715
2815
  }
2716
2816
 
2717
2817
  /**
2718
- * Active component state in composer
2818
+ * Conversation Configuration Interface
2819
+ * Centralized configuration values to avoid magic numbers
2719
2820
  */
2720
- interface AXComposerActiveComponent {
2721
- /** Action that triggered this component */
2722
- action: AXComposerAction;
2723
- /** Component to render */
2724
- component: Type<unknown>;
2725
- /** Component inputs */
2726
- inputs?: Record<string, unknown>;
2821
+ /**
2822
+ * Main configuration interface for the conversation component
2823
+ */
2824
+ interface AXConversationConfig {
2825
+ /** Number of messages to load per page */
2826
+ messagePageSize?: number;
2827
+ /** Number of conversations to load per page */
2828
+ conversationPageSize?: number;
2829
+ /** Scroll threshold for detecting scroll events */
2830
+ scrollThreshold?: number;
2831
+ /** Infinite scroll threshold */
2832
+ infiniteScrollThreshold?: number;
2833
+ /** Typing indicator timeout in milliseconds */
2834
+ typingIndicatorTimeout?: number;
2835
+ /** Typing indicator throttle in milliseconds (for rate limiting) */
2836
+ typingIndicatorThrottle?: number;
2837
+ /** Message highlight duration in milliseconds */
2838
+ messageHighlightDuration?: number;
2839
+ /** Search debounce delay in milliseconds */
2840
+ debounceSearch?: number;
2841
+ /** Date separator inactivity fade delay in milliseconds */
2842
+ /** Maximum messages per conversation */
2843
+ maxMessagesPerConversation?: number;
2844
+ /** Maximum total messages in store */
2845
+ maxTotalMessages?: number;
2846
+ /** Maximum cached conversations */
2847
+ maxCachedConversations?: number;
2848
+ /** Minimum sidebar width in pixels */
2849
+ minSidebarWidth?: number;
2850
+ /** Maximum sidebar width in pixels */
2851
+ maxSidebarWidth?: number;
2852
+ /** Default sidebar width in pixels */
2853
+ defaultSidebarWidth?: number;
2854
+ /** Filter cache size */
2855
+ filterCacheSize?: number;
2856
+ /** Maximum message length in characters */
2857
+ maxMessageLength?: number;
2858
+ /** Minimum message length in characters */
2859
+ minMessageLength?: number;
2860
+ /** Maximum file size in bytes */
2861
+ maxFileSize?: number;
2862
+ /** Allowed MIME types (glob patterns, e.g. `image/*`) */
2863
+ allowedFileTypes?: string[];
2864
+ /** Max attachments per message when a composer action omits `maxFiles`. */
2865
+ maxFilesPerMessage?: number;
2866
+ /** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
2867
+ messageReadThreshold?: number;
2868
+ /**
2869
+ * CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
2870
+ * Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
2871
+ * Empty string = library default soft gradient. `transparent` or `none` = flat background.
2872
+ */
2873
+ messageListBackground?: string;
2727
2874
  }
2728
- declare class AXComposerService {
2729
- private readonly conversationService;
2730
- private readonly translation;
2731
- private get registry();
2732
- private readonly _replyMessage;
2733
- private readonly _editMessage;
2734
- readonly replyMessage: _angular_core.Signal<AXMessage>;
2735
- readonly editMessage: _angular_core.Signal<AXMessage>;
2736
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
2737
- readonly activeMessages: _angular_core.Signal<AXMessage[]>;
2738
- /** Active component being shown in composer (full-width mode) */
2739
- private readonly _activeComponent;
2740
- readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
2741
- /** Draft text */
2742
- readonly draftText: _angular_core.WritableSignal<string>;
2743
- /** Attachments */
2744
- readonly attachments: _angular_core.WritableSignal<File[]>;
2745
- /** Show typing indicator */
2746
- readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
2747
- /** Incremented to request focus on the composer text area (handled by AXComposerComponent). */
2748
- private readonly _focusRequest;
2749
- readonly focusRequest: _angular_core.Signal<number>;
2750
- /** Input placeholder */
2751
- readonly placeholder: _angular_core.Signal<string>;
2752
- /** Number of input rows */
2753
- readonly inputRows: _angular_core.Signal<number>;
2754
- /** Can send message */
2755
- readonly canSend: _angular_core.Signal<boolean>;
2756
- /** Composer action context */
2757
- readonly actionContext: _angular_core.Signal<AXComposerActionContext>;
2758
- /** Left actions from registry */
2759
- readonly leftActions: _angular_core.Signal<AXComposerAction[]>;
2760
- /** Right actions from registry */
2761
- readonly rightActions: _angular_core.Signal<AXComposerAction[]>;
2762
- /** Left inline actions (location = 'inline' or undefined) */
2763
- readonly leftInlineActions: _angular_core.Signal<AXComposerAction[]>;
2764
- /** Left menu actions (location = 'menu') */
2765
- readonly leftMenuActions: _angular_core.Signal<AXComposerAction[]>;
2766
- /** Right inline actions (location = 'inline' or undefined) */
2767
- readonly rightInlineActions: _angular_core.Signal<AXComposerAction[]>;
2768
- /** Right menu actions (location = 'menu') */
2769
- readonly rightMenuActions: _angular_core.Signal<AXComposerAction[]>;
2770
- startReply(message: AXMessage): void;
2771
- startEdit(message: AXMessage): void;
2772
- /** Focus the composer text area when the composer component is mounted. */
2773
- focusComposer(): void;
2774
- clear(): void;
2875
+
2876
+ /**
2877
+ * Default Configuration Values
2878
+ * Centralized defaults to avoid magic numbers throughout the codebase
2879
+ */
2880
+
2881
+ /**
2882
+ * Default conversation configuration
2883
+ * All values are explicitly defined here for easy maintenance and documentation
2884
+ */
2885
+ declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
2886
+ /**
2887
+ * Helper function to merge user config with defaults
2888
+ * Properly handles array merging to avoid reference issues
2889
+ * @param userConfig - User-provided configuration
2890
+ * @returns Merged configuration with all required fields
2891
+ */
2892
+ declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
2893
+
2894
+ /**
2895
+ * Error severity levels
2896
+ */
2897
+ type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
2898
+ /**
2899
+ * Conversation error event
2900
+ */
2901
+ interface AXConversationError {
2902
+ /** Error code */
2903
+ code: string;
2904
+ /** Error message */
2905
+ message: string;
2906
+ /** Severity level */
2907
+ severity: AXErrorSeverity;
2908
+ /** Source operation */
2909
+ operation: string;
2910
+ /** Original error */
2911
+ originalError?: unknown;
2912
+ /** HTTP status code (if applicable) */
2913
+ statusCode?: number;
2914
+ /** Additional context */
2915
+ context?: Record<string, unknown>;
2916
+ /** Timestamp */
2917
+ timestamp: Date;
2918
+ /** Whether error was handled */
2919
+ handled: boolean;
2920
+ /** Recovery suggestions */
2921
+ recoverySuggestions?: string[];
2922
+ }
2923
+ /**
2924
+ * Error Handler Configuration
2925
+ */
2926
+ interface AXErrorHandlerConfig {
2927
+ /** Log errors to console */
2928
+ logToConsole?: boolean;
2929
+ /** Show user-friendly error messages */
2930
+ showUserMessages?: boolean;
2931
+ /** Retry failed operations automatically */
2932
+ autoRetry?: boolean;
2933
+ /** Number of retry attempts */
2934
+ maxRetries?: number;
2935
+ /** Custom error handler */
2936
+ customHandler?: (error: AXConversationError) => void;
2937
+ }
2938
+ /**
2939
+ * Error Handler Service
2940
+ */
2941
+ declare class AXErrorHandlerService {
2942
+ private readonly injectedConfig;
2943
+ private readonly _errors$;
2944
+ private readonly _config;
2945
+ /** Error stream */
2946
+ readonly errors$: rxjs.Observable<AXConversationError>;
2947
+ constructor();
2775
2948
  /**
2776
- * Persist draft for the previous conversation and reset composer UI state when switching conversations.
2949
+ * Configure error handler
2777
2950
  */
2778
- onConversationChanged(previousConversationId: string | null, currentConversationId: string | null): void;
2779
- sendTypingIndicator(conversationId: string): Promise<void>;
2780
- sendMessage(command: AXSendMessageCommand, options?: AXSendMessageOptions): Promise<void>;
2951
+ configure(config: Partial<AXErrorHandlerConfig>): void;
2781
2952
  /**
2782
- * Show a component in the composer (full-width mode)
2953
+ * Handle an error
2783
2954
  */
2784
- showComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
2955
+ handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
2785
2956
  /**
2786
- * Hide the active component
2957
+ * Handle API error (same pipeline as {@link handle}, for typed API failures)
2787
2958
  */
2788
- hideComponent(): void;
2959
+ handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
2960
+ private publish;
2789
2961
  /**
2790
- * Toggle component visibility
2962
+ * Normalize any error to conversation error format (does not publish — use {@link handle})
2791
2963
  */
2792
- toggleComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
2964
+ private normalizeError;
2965
+ private conversationErrorFromApi;
2966
+ private isApiError;
2793
2967
  /**
2794
- * Get actions for the active conversation
2968
+ * Determine severity based on status code
2795
2969
  */
2796
- getActionsForPosition(position: 'left' | 'right', context: AXComposerActionContext): AXComposerAction[];
2970
+ private determineSeverity;
2797
2971
  /**
2798
- * Execute an action
2972
+ * Get recovery suggestions based on error
2799
2973
  */
2800
- executeAction(actionId: string, context: AXComposerActionContext): Promise<void>;
2974
+ private getRecoverySuggestions;
2801
2975
  /**
2802
- * Save draft to localStorage
2976
+ * Get default recovery suggestions
2803
2977
  */
2804
- saveDraft(conversationId: string, text: string): void;
2978
+ private getDefaultRecoverySuggestions;
2805
2979
  /**
2806
- * Load draft from localStorage
2980
+ * Log error to console
2807
2981
  */
2808
- loadDraft(conversationId: string): string;
2982
+ private logError;
2983
+ /**
2984
+ * Get user-friendly error message
2985
+ */
2986
+ getUserFriendlyMessage(error: AXConversationError): string;
2987
+ /**
2988
+ * Check if error is retryable
2989
+ */
2990
+ isRetryable(error: AXConversationError): boolean;
2991
+ /**
2992
+ * Execute an operation with automatic retry logic
2993
+ * @param operation - The async operation to execute
2994
+ * @param operationName - Name of the operation for error tracking
2995
+ * @param context - Additional context for error handling
2996
+ * @returns Promise resolving to the operation result
2997
+ * @throws {AXConversationError} If all retries fail
2998
+ */
2999
+ executeWithRetry<T>(operation: () => Promise<T>, operationName: string, context?: Record<string, unknown>): Promise<T>;
3000
+ /**
3001
+ * Delay helper for retry backoff
3002
+ * @param ms - Milliseconds to delay
3003
+ */
3004
+ private delay;
3005
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXErrorHandlerService, never>;
3006
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXErrorHandlerService>;
3007
+ }
3008
+
3009
+ /**
3010
+ * Dependency Injection Tokens
3011
+ * InjectionTokens for configuration and dependencies
3012
+ */
3013
+
3014
+ /**
3015
+ * Configuration token for conversation component
3016
+ * Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
3017
+ */
3018
+ declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
3019
+ /**
3020
+ * Token for configuring AXErrorHandlerService
3021
+ */
3022
+ declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
3023
+
3024
+ /**
3025
+ * Registry Configuration Tokens
3026
+ * Injection tokens for configuring default registry values
3027
+ */
3028
+
3029
+ /**
3030
+ * Additional message renderers configuration
3031
+ * Provide this token to add custom message renderers in addition to built-in ones
3032
+ * Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
3033
+ */
3034
+ declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
3035
+ /**
3036
+ * Default message actions configuration
3037
+ * Provide this token to override default message actions
3038
+ */
3039
+ declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
3040
+ /**
3041
+ * Default composer tabs configuration
3042
+ * Provide this token to override default composer tabs (emoji, stickers, etc.)
3043
+ */
3044
+ declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
3045
+ /**
3046
+ * Default composer actions configuration
3047
+ * Provide this token to override default composer actions (attach, voice, etc.)
3048
+ */
3049
+ declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
3050
+ /**
3051
+ * Default conversation tabs configuration
3052
+ * Provide this token to override default conversation tabs (all, private, groups, etc.)
3053
+ */
3054
+ declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
3055
+ /**
3056
+ * Default info bar actions configuration
3057
+ * Provide this token to override default info bar actions (mute, archive, block, etc.)
3058
+ */
3059
+ declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
3060
+ /**
3061
+ * Default conversation item actions configuration
3062
+ * Provide this token to override default conversation item actions (mute, delete, archive, etc.)
3063
+ */
3064
+ declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
3065
+ /**
3066
+ * Registry configuration interface
3067
+ */
3068
+ interface AXRegistryConfiguration {
2809
3069
  /**
2810
- * Clear draft from localStorage
3070
+ * Additional message renderers to register (built-in renderers are automatic).
3071
+ * Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
2811
3072
  */
2812
- clearDraft(conversationId: string): void;
2813
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComposerService, never>;
2814
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXComposerService>;
3073
+ messageRenderers?: AXMessageRenderer[];
3074
+ /** Message actions to register by default */
3075
+ messageActions?: AXMessageAction[];
3076
+ /** Composer tabs to register by default */
3077
+ composerTabs?: AXComposerTab[];
3078
+ /** Composer actions to register by default */
3079
+ composerActions?: AXComposerAction[];
3080
+ /** Conversation tabs to register by default */
3081
+ conversationTabs?: AXConversationTab[];
3082
+ /** Info bar actions to register by default */
3083
+ infoBarActions?: AXInfoBarAction[];
3084
+ /** Conversation item actions to register by default */
3085
+ conversationItemActions?: AXConversationItemAction[];
2815
3086
  }
3087
+ /**
3088
+ * Complete registry configuration token
3089
+ * Provide this for comprehensive registry configuration
3090
+ */
3091
+ declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
2816
3092
 
2817
3093
  declare class AXConversationContainerComponent {
2818
3094
  private readonly conversationService;
2819
- protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
3095
+ protected readonly config: Required<AXConversationConfig>;
2820
3096
  /** Custom CSS class */
2821
3097
  readonly customClass: _angular_core.InputSignal<string>;
2822
3098
  /** Loading state */
@@ -2845,71 +3121,6 @@ declare class AXConversationContainerDirective {
2845
3121
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXConversationContainerDirective, "[axConversationContainer]", never, {}, {}, never, never, true, never>;
2846
3122
  }
2847
3123
 
2848
- interface DropdownMenuItem {
2849
- id: string;
2850
- label: string;
2851
- icon?: string;
2852
- disabled?: boolean;
2853
- divider?: boolean;
2854
- destructive?: boolean;
2855
- shortcut?: string;
2856
- }
2857
- declare class AXInfoBarComponent {
2858
- private readonly conversationService;
2859
- private readonly infoBar;
2860
- protected get registry(): _acorex_components_conversation2.AXRegistryService;
2861
- /** Active conversation */
2862
- readonly activeConversation: _angular_core.Signal<AXConversation>;
2863
- /** Active component from service */
2864
- readonly activeComponent: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarActiveComponent>;
2865
- /** Active banner from service */
2866
- readonly activeBanner: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarActiveBanner>;
2867
- /** Members popover reference */
2868
- readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
2869
- /** Members popover target element */
2870
- readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
2871
- /** Loading state for async actions */
2872
- readonly actionLoading: _angular_core.WritableSignal<boolean>;
2873
- /** Avatar clicked event */
2874
- readonly avatarClick: _angular_core.OutputEmitterRef<void>;
2875
- /** Search clicked event */
2876
- readonly searchClick: _angular_core.OutputEmitterRef<void>;
2877
- /** Search query changed event */
2878
- readonly searchQuery: _angular_core.OutputEmitterRef<string>;
2879
- /** Menu item clicked event */
2880
- readonly menuItemAction: _angular_core.OutputEmitterRef<string>;
2881
- /** Inline action buttons from registry */
2882
- readonly inlineActions: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarAction[]>;
2883
- /** Dropdown menu items from registry */
2884
- readonly menuItems: _angular_core.Signal<DropdownMenuItem[]>;
2885
- /** Get conversation status - delegate to utils */
2886
- getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
2887
- /** Get subtitle text - delegate to utils */
2888
- getSubtitle(conversation: AXConversation): string;
2889
- /** Get initials from name - delegate to utils */
2890
- getInitials(name: string): string;
2891
- getConversationAvatar(conversation: AXConversation): string | undefined;
2892
- getConversationAvatarIcon(conversation: AXConversation): string | undefined;
2893
- /** Handle avatar click */
2894
- onAvatarClick(): void;
2895
- /** Handle members click - open popover */
2896
- onMembersClick(event: MouseEvent): void;
2897
- /** Handle inline action click */
2898
- onInlineActionClick(actionId: string): Promise<void>;
2899
- /** Get inputs for dynamic component */
2900
- getComponentInputs(): Record<string, unknown>;
2901
- getInlineComponentInputs(): Record<string, unknown>;
2902
- isActiveComponentFullWidth(): boolean;
2903
- /** Handle close component */
2904
- onCloseComponent(): void;
2905
- getBannerInputs(): Record<string, unknown>;
2906
- onCloseBanner(): void;
2907
- /** Handle menu item click */
2908
- onMenuItemClick(item: DropdownMenuItem): Promise<void>;
2909
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
2910
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
2911
- }
2912
-
2913
3124
  /**
2914
3125
  * Active component state in info-bar
2915
3126
  */
@@ -3159,9 +3370,9 @@ declare class AXConversationService {
3159
3370
  /** Error state */
3160
3371
  readonly error: _angular_core.Signal<Error>;
3161
3372
  /** Connection status */
3162
- readonly connectionStatus$: rxjs.Observable<_acorex_components_conversation2.AXConnectionStatus>;
3373
+ readonly connectionStatus$: rxjs.Observable<AXConnectionStatus>;
3163
3374
  /** Error stream */
3164
- readonly errors$: rxjs.Observable<_acorex_components_conversation2.AXConversationError>;
3375
+ readonly errors$: rxjs.Observable<AXConversationError>;
3165
3376
  readonly onMessageReceived: rxjs.Observable<AXMessage>;
3166
3377
  readonly onMessageUpdated: rxjs.Observable<AXMessage>;
3167
3378
  readonly onMessageDeleted: rxjs.Observable<string>;
@@ -3173,7 +3384,7 @@ declare class AXConversationService {
3173
3384
  type: "reply" | "forward";
3174
3385
  }>;
3175
3386
  private _currentUser;
3176
- readonly currentUser: _angular_core.Signal<_acorex_components_conversation2.AXParticipant>;
3387
+ readonly currentUser: _angular_core.Signal<AXParticipant>;
3177
3388
  constructor();
3178
3389
  /**
3179
3390
  * Initialize the service
@@ -3497,139 +3708,89 @@ declare class AXConversationService {
3497
3708
  unblockUser(userId: string): Promise<void>;
3498
3709
  /**
3499
3710
  * Get blocked users
3500
- * @returns Array of blocked user IDs
3501
- */
3502
- getBlockedUsers(): Promise<string[]>;
3503
- /**
3504
- * Update user presence
3505
- * @param status - Presence status
3506
- * @param statusText - Optional status text
3507
- */
3508
- updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
3509
- /**
3510
- * Validate message content before sending
3511
- * Uses centralized validation utilities for consistency
3512
- * @param command - Message command to validate
3513
- * @throws {Error} If message content is invalid
3514
- */
3515
- private validateMessageContent;
3516
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
3517
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
3518
- }
3519
-
3520
- /**
3521
- * Error severity levels
3522
- */
3523
- type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
3524
- /**
3525
- * Conversation error event
3526
- */
3527
- interface AXConversationError {
3528
- /** Error code */
3529
- code: string;
3530
- /** Error message */
3531
- message: string;
3532
- /** Severity level */
3533
- severity: AXErrorSeverity;
3534
- /** Source operation */
3535
- operation: string;
3536
- /** Original error */
3537
- originalError?: unknown;
3538
- /** HTTP status code (if applicable) */
3539
- statusCode?: number;
3540
- /** Additional context */
3541
- context?: Record<string, unknown>;
3542
- /** Timestamp */
3543
- timestamp: Date;
3544
- /** Whether error was handled */
3545
- handled: boolean;
3546
- /** Recovery suggestions */
3547
- recoverySuggestions?: string[];
3548
- }
3549
- /**
3550
- * Error Handler Configuration
3551
- */
3552
- interface AXErrorHandlerConfig {
3553
- /** Log errors to console */
3554
- logToConsole?: boolean;
3555
- /** Show user-friendly error messages */
3556
- showUserMessages?: boolean;
3557
- /** Retry failed operations automatically */
3558
- autoRetry?: boolean;
3559
- /** Number of retry attempts */
3560
- maxRetries?: number;
3561
- /** Custom error handler */
3562
- customHandler?: (error: AXConversationError) => void;
3563
- }
3564
- /**
3565
- * Error Handler Service
3566
- */
3567
- declare class AXErrorHandlerService {
3568
- private readonly injectedConfig;
3569
- private readonly _errors$;
3570
- private readonly _config;
3571
- /** Error stream */
3572
- readonly errors$: rxjs.Observable<AXConversationError>;
3573
- constructor();
3574
- /**
3575
- * Configure error handler
3576
- */
3577
- configure(config: Partial<AXErrorHandlerConfig>): void;
3578
- /**
3579
- * Handle an error
3580
- */
3581
- handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
3582
- /**
3583
- * Handle API error (same pipeline as {@link handle}, for typed API failures)
3584
- */
3585
- handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
3586
- private publish;
3587
- /**
3588
- * Normalize any error to conversation error format (does not publish — use {@link handle})
3589
- */
3590
- private normalizeError;
3591
- private conversationErrorFromApi;
3592
- private isApiError;
3593
- /**
3594
- * Determine severity based on status code
3595
- */
3596
- private determineSeverity;
3597
- /**
3598
- * Get recovery suggestions based on error
3599
- */
3600
- private getRecoverySuggestions;
3601
- /**
3602
- * Get default recovery suggestions
3603
- */
3604
- private getDefaultRecoverySuggestions;
3605
- /**
3606
- * Log error to console
3607
- */
3608
- private logError;
3609
- /**
3610
- * Get user-friendly error message
3611
- */
3612
- getUserFriendlyMessage(error: AXConversationError): string;
3613
- /**
3614
- * Check if error is retryable
3711
+ * @returns Array of blocked user IDs
3615
3712
  */
3616
- isRetryable(error: AXConversationError): boolean;
3713
+ getBlockedUsers(): Promise<string[]>;
3617
3714
  /**
3618
- * Execute an operation with automatic retry logic
3619
- * @param operation - The async operation to execute
3620
- * @param operationName - Name of the operation for error tracking
3621
- * @param context - Additional context for error handling
3622
- * @returns Promise resolving to the operation result
3623
- * @throws {AXConversationError} If all retries fail
3715
+ * Update user presence
3716
+ * @param status - Presence status
3717
+ * @param statusText - Optional status text
3624
3718
  */
3625
- executeWithRetry<T>(operation: () => Promise<T>, operationName: string, context?: Record<string, unknown>): Promise<T>;
3719
+ updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
3626
3720
  /**
3627
- * Delay helper for retry backoff
3628
- * @param ms - Milliseconds to delay
3721
+ * Validate message content before sending
3722
+ * Uses centralized validation utilities for consistency
3723
+ * @param command - Message command to validate
3724
+ * @throws {Error} If message content is invalid
3629
3725
  */
3630
- private delay;
3631
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXErrorHandlerService, never>;
3632
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXErrorHandlerService>;
3726
+ private validateMessageContent;
3727
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
3728
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
3729
+ }
3730
+
3731
+ interface DropdownMenuItem {
3732
+ id: string;
3733
+ label: string;
3734
+ icon?: string;
3735
+ disabled?: boolean;
3736
+ divider?: boolean;
3737
+ destructive?: boolean;
3738
+ shortcut?: string;
3739
+ }
3740
+ declare class AXInfoBarComponent {
3741
+ private readonly conversationService;
3742
+ private readonly infoBar;
3743
+ protected get registry(): AXRegistryService;
3744
+ /** Active conversation */
3745
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
3746
+ /** Active component from service */
3747
+ readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
3748
+ /** Active banner from service */
3749
+ readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
3750
+ /** Members popover reference */
3751
+ readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
3752
+ /** Members popover target element */
3753
+ readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
3754
+ /** Loading state for async actions */
3755
+ readonly actionLoading: _angular_core.WritableSignal<boolean>;
3756
+ /** Avatar clicked event */
3757
+ readonly avatarClick: _angular_core.OutputEmitterRef<void>;
3758
+ /** Search clicked event */
3759
+ readonly searchClick: _angular_core.OutputEmitterRef<void>;
3760
+ /** Search query changed event */
3761
+ readonly searchQuery: _angular_core.OutputEmitterRef<string>;
3762
+ /** Menu item clicked event */
3763
+ readonly menuItemAction: _angular_core.OutputEmitterRef<string>;
3764
+ /** Inline action buttons from registry */
3765
+ readonly inlineActions: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarAction[]>;
3766
+ /** Dropdown menu items from registry */
3767
+ readonly menuItems: _angular_core.Signal<DropdownMenuItem[]>;
3768
+ /** Get conversation status - delegate to utils */
3769
+ getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
3770
+ /** Get subtitle text - delegate to utils */
3771
+ getSubtitle(conversation: AXConversation): string;
3772
+ /** Get initials from name - delegate to utils */
3773
+ getInitials(name: string): string;
3774
+ getConversationAvatar(conversation: AXConversation): string | undefined;
3775
+ getConversationAvatarIcon(conversation: AXConversation): string | undefined;
3776
+ /** Handle avatar click */
3777
+ onAvatarClick(): void;
3778
+ /** Handle members click - open popover */
3779
+ onMembersClick(event: MouseEvent): void;
3780
+ /** Handle inline action click */
3781
+ onInlineActionClick(actionId: string): Promise<void>;
3782
+ /** Get inputs for dynamic component */
3783
+ getComponentInputs(): Record<string, unknown>;
3784
+ getInlineComponentInputs(): Record<string, unknown>;
3785
+ isActiveComponentFullWidth(): boolean;
3786
+ /** Handle close component */
3787
+ onCloseComponent(): void;
3788
+ getBannerInputs(): Record<string, unknown>;
3789
+ onCloseBanner(): void;
3790
+ /** Handle menu item click */
3791
+ onMenuItemClick(item: DropdownMenuItem): Promise<void>;
3792
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
3793
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
3633
3794
  }
3634
3795
 
3635
3796
  declare class AXForwardMessageDialogComponent implements OnInit {
@@ -3686,7 +3847,7 @@ declare class AXMessageListComponent implements OnDestroy {
3686
3847
  private readonly composerService;
3687
3848
  private readonly infoBarService;
3688
3849
  private readonly translation;
3689
- protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
3850
+ protected readonly config: Required<AXConversationConfig>;
3690
3851
  /**
3691
3852
  * Background for the message list scroll area from config, or the built-in soft gradient when unset/empty.
3692
3853
  * Set `messageListBackground` to `transparent` or `none` for a flat look.
@@ -3722,7 +3883,7 @@ declare class AXMessageListComponent implements OnDestroy {
3722
3883
  /** Show scroll to bottom button - use service */
3723
3884
  readonly showScrollButton: _angular_core.WritableSignal<boolean>;
3724
3885
  /** Active conversation */
3725
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
3886
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
3726
3887
  /** Messages */
3727
3888
  readonly messages: _angular_core.Signal<AXMessage[]>;
3728
3889
  /** Message action event */
@@ -3731,7 +3892,7 @@ declare class AXMessageListComponent implements OnDestroy {
3731
3892
  action: string;
3732
3893
  }>;
3733
3894
  /** Current user from service */
3734
- readonly currentUser: _angular_core.Signal<_acorex_components_conversation2.AXParticipant>;
3895
+ readonly currentUser: _angular_core.Signal<AXParticipant>;
3735
3896
  /** Message grouped by date - use service */
3736
3897
  readonly messageGroups: _angular_core.Signal<{
3737
3898
  date: string;
@@ -3892,9 +4053,9 @@ declare class AXMessageListService {
3892
4053
  private readonly conversationService;
3893
4054
  private readonly config;
3894
4055
  private get registry();
3895
- readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
4056
+ readonly activeConversation: _angular_core.Signal<AXConversation>;
3896
4057
  readonly activeMessages: _angular_core.Signal<AXMessage[]>;
3897
- readonly currentUser: _angular_core.Signal<_acorex_components_conversation2.AXParticipant>;
4058
+ readonly currentUser: _angular_core.Signal<AXParticipant>;
3898
4059
  /** Initial message history load (conversation switch) */
3899
4060
  readonly loading: _angular_core.Signal<boolean>;
3900
4061
  /** Loading older messages (scroll-up pagination) */
@@ -3967,7 +4128,7 @@ declare class AXSidebarService {
3967
4128
 
3968
4129
  declare class AXSidebarComponent implements OnDestroy {
3969
4130
  readonly sidebar: AXSidebarService;
3970
- protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
4131
+ protected readonly config: Required<AXConversationConfig>;
3971
4132
  private readonly conversationService;
3972
4133
  private readonly popupService;
3973
4134
  private readonly translation;
@@ -4077,167 +4238,6 @@ declare class AXInfiniteScrollDirective {
4077
4238
  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>;
4078
4239
  }
4079
4240
 
4080
- /**
4081
- * Conversation Configuration Interface
4082
- * Centralized configuration values to avoid magic numbers
4083
- */
4084
- /**
4085
- * Main configuration interface for the conversation component
4086
- */
4087
- interface AXConversationConfig {
4088
- /** Number of messages to load per page */
4089
- messagePageSize?: number;
4090
- /** Number of conversations to load per page */
4091
- conversationPageSize?: number;
4092
- /** Scroll threshold for detecting scroll events */
4093
- scrollThreshold?: number;
4094
- /** Infinite scroll threshold */
4095
- infiniteScrollThreshold?: number;
4096
- /** Typing indicator timeout in milliseconds */
4097
- typingIndicatorTimeout?: number;
4098
- /** Typing indicator throttle in milliseconds (for rate limiting) */
4099
- typingIndicatorThrottle?: number;
4100
- /** Message highlight duration in milliseconds */
4101
- messageHighlightDuration?: number;
4102
- /** Search debounce delay in milliseconds */
4103
- debounceSearch?: number;
4104
- /** Date separator inactivity fade delay in milliseconds */
4105
- /** Maximum messages per conversation */
4106
- maxMessagesPerConversation?: number;
4107
- /** Maximum total messages in store */
4108
- maxTotalMessages?: number;
4109
- /** Maximum cached conversations */
4110
- maxCachedConversations?: number;
4111
- /** Minimum sidebar width in pixels */
4112
- minSidebarWidth?: number;
4113
- /** Maximum sidebar width in pixels */
4114
- maxSidebarWidth?: number;
4115
- /** Default sidebar width in pixels */
4116
- defaultSidebarWidth?: number;
4117
- /** Filter cache size */
4118
- filterCacheSize?: number;
4119
- /** Maximum message length in characters */
4120
- maxMessageLength?: number;
4121
- /** Minimum message length in characters */
4122
- minMessageLength?: number;
4123
- /** Maximum file size in bytes */
4124
- maxFileSize?: number;
4125
- /** Allowed MIME types (glob patterns, e.g. `image/*`) */
4126
- allowedFileTypes?: string[];
4127
- /** Max attachments per message when a composer action omits `maxFiles`. */
4128
- maxFilesPerMessage?: number;
4129
- /** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
4130
- messageReadThreshold?: number;
4131
- /**
4132
- * CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
4133
- * Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
4134
- * Empty string = library default soft gradient. `transparent` or `none` = flat background.
4135
- */
4136
- messageListBackground?: string;
4137
- }
4138
-
4139
- /**
4140
- * Default Configuration Values
4141
- * Centralized defaults to avoid magic numbers throughout the codebase
4142
- */
4143
-
4144
- /**
4145
- * Default conversation configuration
4146
- * All values are explicitly defined here for easy maintenance and documentation
4147
- */
4148
- declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
4149
- /**
4150
- * Helper function to merge user config with defaults
4151
- * Properly handles array merging to avoid reference issues
4152
- * @param userConfig - User-provided configuration
4153
- * @returns Merged configuration with all required fields
4154
- */
4155
- declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
4156
-
4157
- /**
4158
- * Dependency Injection Tokens
4159
- * InjectionTokens for configuration and dependencies
4160
- */
4161
-
4162
- /**
4163
- * Configuration token for conversation component
4164
- * Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
4165
- */
4166
- declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
4167
- /**
4168
- * Token for configuring AXErrorHandlerService
4169
- */
4170
- declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
4171
-
4172
- /**
4173
- * Registry Configuration Tokens
4174
- * Injection tokens for configuring default registry values
4175
- */
4176
-
4177
- /**
4178
- * Additional message renderers configuration
4179
- * Provide this token to add custom message renderers in addition to built-in ones
4180
- * Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
4181
- */
4182
- declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
4183
- /**
4184
- * Default message actions configuration
4185
- * Provide this token to override default message actions
4186
- */
4187
- declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
4188
- /**
4189
- * Default composer tabs configuration
4190
- * Provide this token to override default composer tabs (emoji, stickers, etc.)
4191
- */
4192
- declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
4193
- /**
4194
- * Default composer actions configuration
4195
- * Provide this token to override default composer actions (attach, voice, etc.)
4196
- */
4197
- declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
4198
- /**
4199
- * Default conversation tabs configuration
4200
- * Provide this token to override default conversation tabs (all, private, groups, etc.)
4201
- */
4202
- declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
4203
- /**
4204
- * Default info bar actions configuration
4205
- * Provide this token to override default info bar actions (mute, archive, block, etc.)
4206
- */
4207
- declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
4208
- /**
4209
- * Default conversation item actions configuration
4210
- * Provide this token to override default conversation item actions (mute, delete, archive, etc.)
4211
- */
4212
- declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
4213
- /**
4214
- * Registry configuration interface
4215
- */
4216
- interface AXRegistryConfiguration {
4217
- /**
4218
- * Additional message renderers to register (built-in renderers are automatic).
4219
- * Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
4220
- */
4221
- messageRenderers?: AXMessageRenderer[];
4222
- /** Message actions to register by default */
4223
- messageActions?: AXMessageAction[];
4224
- /** Composer tabs to register by default */
4225
- composerTabs?: AXComposerTab[];
4226
- /** Composer actions to register by default */
4227
- composerActions?: AXComposerAction[];
4228
- /** Conversation tabs to register by default */
4229
- conversationTabs?: AXConversationTab[];
4230
- /** Info bar actions to register by default */
4231
- infoBarActions?: AXInfoBarAction[];
4232
- /** Conversation item actions to register by default */
4233
- conversationItemActions?: AXConversationItemAction[];
4234
- }
4235
- /**
4236
- * Complete registry configuration token
4237
- * Provide this for comprehensive registry configuration
4238
- */
4239
- declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
4240
-
4241
4241
  /**
4242
4242
  * IndexedDB Storage Wrapper
4243
4243
  * Provides persistent storage for conversation data
@@ -5132,7 +5132,7 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
5132
5132
  value: string;
5133
5133
  }>;
5134
5134
  /** Get filtered members based on search */
5135
- get filteredMembers(): _acorex_components_conversation2.AXParticipant[];
5135
+ get filteredMembers(): AXParticipant[];
5136
5136
  /** Handle tab change */
5137
5137
  onTabChange(event: any): void;
5138
5138
  ngOnInit(): void;
@@ -5188,7 +5188,7 @@ declare class AXInfoBarSearchComponent {
5188
5188
  /** Current index from service */
5189
5189
  readonly currentIndex: _angular_core.Signal<number>;
5190
5190
  /** Messages from conversation */
5191
- readonly messages: _angular_core.Signal<_acorex_components_conversation2.AXMessage[]>;
5191
+ readonly messages: _angular_core.Signal<AXMessage[]>;
5192
5192
  private scrollTimer?;
5193
5193
  constructor();
5194
5194
  /** Handle search input change */
@@ -5322,11 +5322,11 @@ declare class AXAudioRendererComponent implements AXMessageRendererComponent {
5322
5322
  private readonly duration;
5323
5323
  readonly message: _angular_core.InputSignal<AXMessage>;
5324
5324
  readonly rendererState: _angular_core.Signal<{
5325
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5325
+ deliveryStatus: AXMessageStatus;
5326
5326
  contentState: AXMessageRendererContentState;
5327
5327
  }>;
5328
5328
  readonly payload: _angular_core.Signal<AXAudioPayload>;
5329
- readonly audios: _angular_core.Signal<_acorex_components_conversation2.AXAudioMediaItem[]>;
5329
+ readonly audios: _angular_core.Signal<AXAudioMediaItem[]>;
5330
5330
  readonly caption: _angular_core.Signal<string>;
5331
5331
  constructor();
5332
5332
  onPlayingChange(index: number, playing: boolean): void;
@@ -5346,7 +5346,7 @@ declare class AXFallbackRendererComponent implements AXMessageRendererComponent
5346
5346
  private readonly _contentState;
5347
5347
  readonly message: _angular_core.InputSignal<AXMessage>;
5348
5348
  readonly rendererState: _angular_core.Signal<{
5349
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5349
+ deliveryStatus: AXMessageStatus;
5350
5350
  contentState: AXMessageRendererContentState;
5351
5351
  }>;
5352
5352
  readonly messageTypeLabel: _angular_core.Signal<string>;
@@ -5359,11 +5359,11 @@ declare class AXFallbackRendererComponent implements AXMessageRendererComponent
5359
5359
  declare class AXFileRendererComponent implements AXMessageRendererComponent {
5360
5360
  readonly message: _angular_core.InputSignal<AXMessage>;
5361
5361
  readonly rendererState: _angular_core.Signal<{
5362
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5362
+ deliveryStatus: AXMessageStatus;
5363
5363
  contentState: "ready";
5364
5364
  }>;
5365
5365
  readonly payload: _angular_core.Signal<AXFilePayload>;
5366
- readonly files: _angular_core.Signal<_acorex_components_conversation2.AXFileMediaItem[]>;
5366
+ readonly files: _angular_core.Signal<AXFileMediaItem[]>;
5367
5367
  readonly caption: _angular_core.Signal<string>;
5368
5368
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileRendererComponent, never>;
5369
5369
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileRendererComponent, "ax-conversation-file-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -5373,7 +5373,7 @@ declare class AXImageRendererComponent implements AXMessageRendererComponent {
5373
5373
  private readonly platformId;
5374
5374
  readonly message: _angular_core.InputSignal<AXMessage>;
5375
5375
  readonly rendererState: _angular_core.Signal<{
5376
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5376
+ deliveryStatus: AXMessageStatus;
5377
5377
  contentState: "ready";
5378
5378
  }>;
5379
5379
  readonly imageClick: _angular_core.OutputEmitterRef<string>;
@@ -5390,7 +5390,7 @@ declare class AXLocationRendererComponent implements AXMessageRendererComponent
5390
5390
  private readonly _contentState;
5391
5391
  readonly message: _angular_core.InputSignal<AXMessage>;
5392
5392
  readonly rendererState: _angular_core.Signal<{
5393
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5393
+ deliveryStatus: AXMessageStatus;
5394
5394
  contentState: AXMessageRendererContentState;
5395
5395
  }>;
5396
5396
  readonly payload: _angular_core.Signal<AXLocationPayload>;
@@ -5415,7 +5415,7 @@ declare class AXStickerRendererComponent implements AXMessageRendererComponent {
5415
5415
  private readonly _contentState;
5416
5416
  readonly message: _angular_core.InputSignal<AXMessage>;
5417
5417
  readonly rendererState: _angular_core.Signal<{
5418
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5418
+ deliveryStatus: AXMessageStatus;
5419
5419
  contentState: AXMessageRendererContentState;
5420
5420
  }>;
5421
5421
  readonly payload: _angular_core.Signal<AXStickerPayload>;
@@ -5434,7 +5434,7 @@ declare class AXSystemRendererComponent implements AXMessageRendererComponent {
5434
5434
  private readonly _contentState;
5435
5435
  readonly message: _angular_core.InputSignal<AXMessage>;
5436
5436
  readonly rendererState: _angular_core.Signal<{
5437
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5437
+ deliveryStatus: AXMessageStatus;
5438
5438
  contentState: AXMessageRendererContentState;
5439
5439
  }>;
5440
5440
  readonly payload: _angular_core.Signal<AXSystemPayload>;
@@ -5449,7 +5449,7 @@ declare class AXTextRendererComponent implements AXMessageRendererComponent {
5449
5449
  private readonly _contentState;
5450
5450
  readonly message: _angular_core.InputSignal<AXMessage>;
5451
5451
  readonly rendererState: _angular_core.Signal<{
5452
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5452
+ deliveryStatus: AXMessageStatus;
5453
5453
  contentState: AXMessageRendererContentState;
5454
5454
  }>;
5455
5455
  readonly searchQuery: _angular_core.Signal<string>;
@@ -5468,14 +5468,14 @@ declare class AXVideoRendererComponent implements AXMessageRendererComponent {
5468
5468
  private readonly activeVideoIndex;
5469
5469
  readonly message: _angular_core.InputSignal<AXMessage>;
5470
5470
  readonly rendererState: _angular_core.Signal<{
5471
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5471
+ deliveryStatus: AXMessageStatus;
5472
5472
  contentState: "ready";
5473
5473
  }>;
5474
5474
  readonly isPlaying: _angular_core.WritableSignal<boolean>;
5475
5475
  readonly currentTime: _angular_core.WritableSignal<number>;
5476
5476
  readonly duration: _angular_core.WritableSignal<number>;
5477
5477
  readonly payload: _angular_core.Signal<AXVideoPayload>;
5478
- readonly videos: _angular_core.Signal<_acorex_components_conversation2.AXVideoMediaItem[]>;
5478
+ readonly videos: _angular_core.Signal<AXVideoMediaItem[]>;
5479
5479
  readonly caption: _angular_core.Signal<string>;
5480
5480
  constructor();
5481
5481
  onPlayingChange(index: number, playing: boolean): void;
@@ -5498,7 +5498,7 @@ declare class AXVoiceRendererComponent implements AXMessageRendererComponent {
5498
5498
  private readonly _contentState;
5499
5499
  readonly message: _angular_core.InputSignal<AXMessage>;
5500
5500
  readonly rendererState: _angular_core.Signal<{
5501
- deliveryStatus: _acorex_components_conversation2.AXMessageStatus;
5501
+ deliveryStatus: AXMessageStatus;
5502
5502
  contentState: AXMessageRendererContentState;
5503
5503
  }>;
5504
5504
  readonly isPlaying: _angular_core.WritableSignal<boolean>;