@acorex/components 21.0.1-next.50 → 21.0.1-next.52

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 (330) hide show
  1. package/fesm2022/acorex-components-accordion.mjs +18 -23
  2. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  3. package/fesm2022/acorex-components-action-sheet.mjs +17 -17
  4. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  5. package/fesm2022/acorex-components-alert.mjs +14 -14
  6. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  7. package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
  8. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  9. package/fesm2022/acorex-components-audio-wave.mjs +12 -11
  10. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  11. package/fesm2022/acorex-components-autocomplete.mjs +9 -9
  12. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  13. package/fesm2022/acorex-components-avatar.mjs +13 -13
  14. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  15. package/fesm2022/acorex-components-badge.mjs +10 -10
  16. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  17. package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
  18. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  19. package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
  20. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  21. package/fesm2022/acorex-components-button-group.mjs +26 -22
  22. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  23. package/fesm2022/acorex-components-button.mjs +20 -20
  24. package/fesm2022/acorex-components-button.mjs.map +1 -1
  25. package/fesm2022/acorex-components-calendar.mjs +18 -18
  26. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  27. package/fesm2022/acorex-components-check-box.mjs +11 -11
  28. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  29. package/fesm2022/acorex-components-chips.mjs +12 -14
  30. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  31. package/fesm2022/acorex-components-circular-progress.mjs +13 -11
  32. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  33. package/fesm2022/acorex-components-code-editor.mjs +14 -14
  34. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  35. package/fesm2022/acorex-components-collapse.mjs +22 -19
  36. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  37. package/fesm2022/acorex-components-color-box.mjs +11 -11
  38. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  39. package/fesm2022/acorex-components-color-palette.mjs +31 -31
  40. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  41. package/fesm2022/acorex-components-command.mjs +11 -11
  42. package/fesm2022/acorex-components-command.mjs.map +1 -1
  43. package/fesm2022/acorex-components-comment.mjs +33 -33
  44. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  45. package/fesm2022/acorex-components-conversation.mjs +56 -56
  46. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  47. package/fesm2022/acorex-components-conversation2.mjs +229 -229
  48. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  49. package/fesm2022/acorex-components-cron-job.mjs +53 -53
  50. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  51. package/fesm2022/acorex-components-data-list.mjs +6 -6
  52. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  53. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  54. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  55. package/fesm2022/acorex-components-data-table.mjs +65 -493
  56. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  57. package/fesm2022/acorex-components-datetime-box.mjs +10 -10
  58. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  59. package/fesm2022/acorex-components-datetime-input.mjs +10 -10
  60. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  61. package/fesm2022/acorex-components-datetime-picker.mjs +11 -11
  62. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  63. package/fesm2022/acorex-components-decorators.mjs +48 -41
  64. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  65. package/fesm2022/acorex-components-dialog.mjs +13 -13
  66. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  67. package/fesm2022/acorex-components-drawer-legacy.mjs +14 -14
  68. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  69. package/fesm2022/acorex-components-drawer.mjs +16 -17
  70. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  71. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  72. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  73. package/fesm2022/acorex-components-dropdown.mjs +18 -18
  74. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  75. package/fesm2022/acorex-components-editor.mjs +12 -12
  76. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  77. package/fesm2022/acorex-components-file-explorer.mjs +28 -28
  78. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  79. package/fesm2022/acorex-components-flow-chart.mjs +18 -18
  80. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  81. package/fesm2022/acorex-components-form.mjs +35 -27
  82. package/fesm2022/acorex-components-form.mjs.map +1 -1
  83. package/fesm2022/acorex-components-grid-layout-builder.mjs +12 -13
  84. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  85. package/fesm2022/acorex-components-image-editor.mjs +48 -48
  86. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  87. package/fesm2022/acorex-components-image.mjs +10 -10
  88. package/fesm2022/acorex-components-image.mjs.map +1 -1
  89. package/fesm2022/acorex-components-json-viewer.mjs +9 -9
  90. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  91. package/fesm2022/acorex-components-kanban.mjs +9 -7
  92. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  93. package/fesm2022/acorex-components-kbd.mjs +10 -10
  94. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  95. package/fesm2022/acorex-components-label.mjs +9 -9
  96. package/fesm2022/acorex-components-label.mjs.map +1 -1
  97. package/fesm2022/acorex-components-list.mjs +10 -10
  98. package/fesm2022/acorex-components-list.mjs.map +1 -1
  99. package/fesm2022/acorex-components-loading-dialog.mjs +12 -12
  100. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  101. package/fesm2022/acorex-components-loading.mjs +23 -23
  102. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  103. package/fesm2022/acorex-components-map.mjs +15 -15
  104. package/fesm2022/acorex-components-map.mjs.map +1 -1
  105. package/fesm2022/acorex-components-media-viewer.mjs +45 -45
  106. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  107. package/fesm2022/acorex-components-menu.mjs +29 -29
  108. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  109. package/fesm2022/{acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs → acorex-components-modal-acorex-components-modal-B03hJbP8.mjs} +24 -24
  110. package/fesm2022/acorex-components-modal-acorex-components-modal-B03hJbP8.mjs.map +1 -0
  111. package/fesm2022/acorex-components-modal-modal-content.component-DrHm0mZ4.mjs +214 -0
  112. package/fesm2022/acorex-components-modal-modal-content.component-DrHm0mZ4.mjs.map +1 -0
  113. package/fesm2022/acorex-components-modal.mjs +1 -1
  114. package/fesm2022/acorex-components-navbar.mjs +9 -9
  115. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  116. package/fesm2022/acorex-components-notification.mjs +13 -13
  117. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  118. package/fesm2022/acorex-components-number-box-legacy.mjs +14 -32
  119. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  120. package/fesm2022/acorex-components-number-box.mjs +10 -10
  121. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  122. package/fesm2022/acorex-components-otp.mjs +10 -10
  123. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  124. package/fesm2022/acorex-components-page.mjs +10 -10
  125. package/fesm2022/acorex-components-page.mjs.map +1 -1
  126. package/fesm2022/acorex-components-paint.mjs +35 -40
  127. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  128. package/fesm2022/acorex-components-password-box.mjs +14 -14
  129. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  130. package/fesm2022/acorex-components-pdf-reader.mjs +9 -9
  131. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  132. package/fesm2022/acorex-components-phone-box.mjs +10 -10
  133. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  134. package/fesm2022/acorex-components-picker.mjs +20 -20
  135. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  136. package/fesm2022/acorex-components-popover.mjs +8 -8
  137. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  138. package/fesm2022/acorex-components-popup.mjs +17 -17
  139. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  140. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  141. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  142. package/fesm2022/acorex-components-qrcode.mjs +10 -10
  143. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  144. package/fesm2022/acorex-components-query-builder.mjs +9 -9
  145. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  146. package/fesm2022/acorex-components-radio.mjs +10 -9
  147. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  148. package/fesm2022/acorex-components-rail-navigation.mjs +40 -38
  149. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  150. package/fesm2022/acorex-components-range-slider.mjs +11 -11
  151. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  152. package/fesm2022/acorex-components-rate-picker.mjs +20 -35
  153. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  154. package/fesm2022/acorex-components-rest-api-generator.mjs +25 -25
  155. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  156. package/fesm2022/acorex-components-result.mjs +8 -8
  157. package/fesm2022/acorex-components-result.mjs.map +1 -1
  158. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  159. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  160. package/fesm2022/acorex-components-rrule.mjs +11 -11
  161. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  162. package/fesm2022/acorex-components-scheduler-picker.mjs +73 -73
  163. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  164. package/fesm2022/acorex-components-scheduler.mjs +99 -70
  165. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  166. package/fesm2022/acorex-components-scss.mjs +4 -4
  167. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  168. package/fesm2022/acorex-components-search-box.mjs +17 -11
  169. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  170. package/fesm2022/acorex-components-select-box.mjs +14 -12
  171. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  172. package/fesm2022/acorex-components-selection-list-2.mjs +12 -12
  173. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  174. package/fesm2022/acorex-components-selection-list.mjs +10 -10
  175. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  176. package/fesm2022/acorex-components-side-menu.mjs +81 -24
  177. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  178. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  179. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  180. package/fesm2022/acorex-components-slider.mjs +13 -13
  181. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  182. package/fesm2022/acorex-components-sliding-item.mjs +19 -19
  183. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  184. package/fesm2022/acorex-components-step-wizard.mjs +16 -16
  185. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  186. package/fesm2022/acorex-components-switch.mjs +14 -14
  187. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  188. package/fesm2022/acorex-components-tabs.mjs +17 -17
  189. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  190. package/fesm2022/acorex-components-tag-box.mjs +10 -10
  191. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  192. package/fesm2022/acorex-components-tag.mjs +10 -10
  193. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  194. package/fesm2022/acorex-components-text-area.mjs +9 -9
  195. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  196. package/fesm2022/acorex-components-text-box.mjs +27 -12
  197. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  198. package/fesm2022/acorex-components-time-duration.mjs +8 -8
  199. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  200. package/fesm2022/acorex-components-time-line.mjs +14 -14
  201. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  202. package/fesm2022/acorex-components-toast.mjs +13 -13
  203. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  204. package/fesm2022/acorex-components-toolbar.mjs +10 -10
  205. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  206. package/fesm2022/acorex-components-tooltip.mjs +14 -14
  207. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  208. package/fesm2022/acorex-components-tree-view-legacy.mjs +15 -15
  209. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
  210. package/fesm2022/acorex-components-tree-view.mjs +12 -12
  211. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  212. package/fesm2022/acorex-components-uploader.mjs +17 -17
  213. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  214. package/fesm2022/acorex-components-video-player.mjs +9 -9
  215. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  216. package/fesm2022/acorex-components-wysiwyg.mjs +45 -45
  217. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  218. package/fesm2022/acorex-components.mjs.map +1 -1
  219. package/package.json +127 -127
  220. package/{accordion/index.d.ts → types/acorex-components-accordion.d.ts} +0 -1
  221. package/{button-group/index.d.ts → types/acorex-components-button-group.d.ts} +10 -8
  222. package/{button/index.d.ts → types/acorex-components-button.d.ts} +3 -3
  223. package/{check-box/index.d.ts → types/acorex-components-check-box.d.ts} +1 -1
  224. package/{chips/index.d.ts → types/acorex-components-chips.d.ts} +3 -8
  225. package/{collapse/index.d.ts → types/acorex-components-collapse.d.ts} +4 -6
  226. package/{conversation2/index.d.ts → types/acorex-components-conversation2.d.ts} +827 -827
  227. package/{data-table/index.d.ts → types/acorex-components-data-table.d.ts} +13 -256
  228. package/{grid-layout-builder/index.d.ts → types/acorex-components-grid-layout-builder.d.ts} +0 -1
  229. package/{loading/index.d.ts → types/acorex-components-loading.d.ts} +1 -1
  230. package/{menu/index.d.ts → types/acorex-components-menu.d.ts} +6 -6
  231. package/{paint/index.d.ts → types/acorex-components-paint.d.ts} +1 -6
  232. package/{radio/index.d.ts → types/acorex-components-radio.d.ts} +1 -1
  233. package/{rate-picker/index.d.ts → types/acorex-components-rate-picker.d.ts} +5 -15
  234. package/{scheduler-picker/index.d.ts → types/acorex-components-scheduler-picker.d.ts} +82 -81
  235. package/{scheduler/index.d.ts → types/acorex-components-scheduler.d.ts} +19 -11
  236. package/{select-box/index.d.ts → types/acorex-components-select-box.d.ts} +1 -1
  237. package/{side-menu/index.d.ts → types/acorex-components-side-menu.d.ts} +9 -2
  238. package/{slider/index.d.ts → types/acorex-components-slider.d.ts} +2 -2
  239. package/{tabs/index.d.ts → types/acorex-components-tabs.d.ts} +1 -1
  240. package/{tag/index.d.ts → types/acorex-components-tag.d.ts} +3 -3
  241. package/{text-box/index.d.ts → types/acorex-components-text-box.d.ts} +2 -0
  242. package/fesm2022/acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs.map +0 -1
  243. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs +0 -212
  244. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs.map +0 -1
  245. /package/{action-sheet/index.d.ts → types/acorex-components-action-sheet.d.ts} +0 -0
  246. /package/{alert/index.d.ts → types/acorex-components-alert.d.ts} +0 -0
  247. /package/{aspect-ratio/index.d.ts → types/acorex-components-aspect-ratio.d.ts} +0 -0
  248. /package/{audio-wave/index.d.ts → types/acorex-components-audio-wave.d.ts} +0 -0
  249. /package/{autocomplete/index.d.ts → types/acorex-components-autocomplete.d.ts} +0 -0
  250. /package/{avatar/index.d.ts → types/acorex-components-avatar.d.ts} +0 -0
  251. /package/{badge/index.d.ts → types/acorex-components-badge.d.ts} +0 -0
  252. /package/{bottom-navigation/index.d.ts → types/acorex-components-bottom-navigation.d.ts} +0 -0
  253. /package/{breadcrumbs/index.d.ts → types/acorex-components-breadcrumbs.d.ts} +0 -0
  254. /package/{calendar/index.d.ts → types/acorex-components-calendar.d.ts} +0 -0
  255. /package/{circular-progress/index.d.ts → types/acorex-components-circular-progress.d.ts} +0 -0
  256. /package/{code-editor/index.d.ts → types/acorex-components-code-editor.d.ts} +0 -0
  257. /package/{color-box/index.d.ts → types/acorex-components-color-box.d.ts} +0 -0
  258. /package/{color-palette/index.d.ts → types/acorex-components-color-palette.d.ts} +0 -0
  259. /package/{command/index.d.ts → types/acorex-components-command.d.ts} +0 -0
  260. /package/{comment/index.d.ts → types/acorex-components-comment.d.ts} +0 -0
  261. /package/{conversation/index.d.ts → types/acorex-components-conversation.d.ts} +0 -0
  262. /package/{cron-job/index.d.ts → types/acorex-components-cron-job.d.ts} +0 -0
  263. /package/{data-list/index.d.ts → types/acorex-components-data-list.d.ts} +0 -0
  264. /package/{data-pager/index.d.ts → types/acorex-components-data-pager.d.ts} +0 -0
  265. /package/{datetime-box/index.d.ts → types/acorex-components-datetime-box.d.ts} +0 -0
  266. /package/{datetime-input/index.d.ts → types/acorex-components-datetime-input.d.ts} +0 -0
  267. /package/{datetime-picker/index.d.ts → types/acorex-components-datetime-picker.d.ts} +0 -0
  268. /package/{decorators/index.d.ts → types/acorex-components-decorators.d.ts} +0 -0
  269. /package/{dialog/index.d.ts → types/acorex-components-dialog.d.ts} +0 -0
  270. /package/{drawer-legacy/index.d.ts → types/acorex-components-drawer-legacy.d.ts} +0 -0
  271. /package/{drawer/index.d.ts → types/acorex-components-drawer.d.ts} +0 -0
  272. /package/{dropdown-button/index.d.ts → types/acorex-components-dropdown-button.d.ts} +0 -0
  273. /package/{dropdown/index.d.ts → types/acorex-components-dropdown.d.ts} +0 -0
  274. /package/{editor/index.d.ts → types/acorex-components-editor.d.ts} +0 -0
  275. /package/{file-explorer/index.d.ts → types/acorex-components-file-explorer.d.ts} +0 -0
  276. /package/{flow-chart/index.d.ts → types/acorex-components-flow-chart.d.ts} +0 -0
  277. /package/{form/index.d.ts → types/acorex-components-form.d.ts} +0 -0
  278. /package/{image-editor/index.d.ts → types/acorex-components-image-editor.d.ts} +0 -0
  279. /package/{image/index.d.ts → types/acorex-components-image.d.ts} +0 -0
  280. /package/{json-viewer/index.d.ts → types/acorex-components-json-viewer.d.ts} +0 -0
  281. /package/{kanban/index.d.ts → types/acorex-components-kanban.d.ts} +0 -0
  282. /package/{kbd/index.d.ts → types/acorex-components-kbd.d.ts} +0 -0
  283. /package/{label/index.d.ts → types/acorex-components-label.d.ts} +0 -0
  284. /package/{list/index.d.ts → types/acorex-components-list.d.ts} +0 -0
  285. /package/{loading-dialog/index.d.ts → types/acorex-components-loading-dialog.d.ts} +0 -0
  286. /package/{map/index.d.ts → types/acorex-components-map.d.ts} +0 -0
  287. /package/{media-viewer/index.d.ts → types/acorex-components-media-viewer.d.ts} +0 -0
  288. /package/{modal/index.d.ts → types/acorex-components-modal.d.ts} +0 -0
  289. /package/{navbar/index.d.ts → types/acorex-components-navbar.d.ts} +0 -0
  290. /package/{notification/index.d.ts → types/acorex-components-notification.d.ts} +0 -0
  291. /package/{number-box-legacy/index.d.ts → types/acorex-components-number-box-legacy.d.ts} +0 -0
  292. /package/{number-box/index.d.ts → types/acorex-components-number-box.d.ts} +0 -0
  293. /package/{otp/index.d.ts → types/acorex-components-otp.d.ts} +0 -0
  294. /package/{page/index.d.ts → types/acorex-components-page.d.ts} +0 -0
  295. /package/{password-box/index.d.ts → types/acorex-components-password-box.d.ts} +0 -0
  296. /package/{pdf-reader/index.d.ts → types/acorex-components-pdf-reader.d.ts} +0 -0
  297. /package/{phone-box/index.d.ts → types/acorex-components-phone-box.d.ts} +0 -0
  298. /package/{picker/index.d.ts → types/acorex-components-picker.d.ts} +0 -0
  299. /package/{popover/index.d.ts → types/acorex-components-popover.d.ts} +0 -0
  300. /package/{popup/index.d.ts → types/acorex-components-popup.d.ts} +0 -0
  301. /package/{progress-bar/index.d.ts → types/acorex-components-progress-bar.d.ts} +0 -0
  302. /package/{qrcode/index.d.ts → types/acorex-components-qrcode.d.ts} +0 -0
  303. /package/{query-builder/index.d.ts → types/acorex-components-query-builder.d.ts} +0 -0
  304. /package/{rail-navigation/index.d.ts → types/acorex-components-rail-navigation.d.ts} +0 -0
  305. /package/{range-slider/index.d.ts → types/acorex-components-range-slider.d.ts} +0 -0
  306. /package/{rest-api-generator/index.d.ts → types/acorex-components-rest-api-generator.d.ts} +0 -0
  307. /package/{result/index.d.ts → types/acorex-components-result.d.ts} +0 -0
  308. /package/{routing-progress/index.d.ts → types/acorex-components-routing-progress.d.ts} +0 -0
  309. /package/{rrule/index.d.ts → types/acorex-components-rrule.d.ts} +0 -0
  310. /package/{scss/index.d.ts → types/acorex-components-scss.d.ts} +0 -0
  311. /package/{search-box/index.d.ts → types/acorex-components-search-box.d.ts} +0 -0
  312. /package/{selection-list-2/index.d.ts → types/acorex-components-selection-list-2.d.ts} +0 -0
  313. /package/{selection-list/index.d.ts → types/acorex-components-selection-list.d.ts} +0 -0
  314. /package/{skeleton/index.d.ts → types/acorex-components-skeleton.d.ts} +0 -0
  315. /package/{sliding-item/index.d.ts → types/acorex-components-sliding-item.d.ts} +0 -0
  316. /package/{step-wizard/index.d.ts → types/acorex-components-step-wizard.d.ts} +0 -0
  317. /package/{switch/index.d.ts → types/acorex-components-switch.d.ts} +0 -0
  318. /package/{tag-box/index.d.ts → types/acorex-components-tag-box.d.ts} +0 -0
  319. /package/{text-area/index.d.ts → types/acorex-components-text-area.d.ts} +0 -0
  320. /package/{time-duration/index.d.ts → types/acorex-components-time-duration.d.ts} +0 -0
  321. /package/{time-line/index.d.ts → types/acorex-components-time-line.d.ts} +0 -0
  322. /package/{toast/index.d.ts → types/acorex-components-toast.d.ts} +0 -0
  323. /package/{toolbar/index.d.ts → types/acorex-components-toolbar.d.ts} +0 -0
  324. /package/{tooltip/index.d.ts → types/acorex-components-tooltip.d.ts} +0 -0
  325. /package/{tree-view-legacy/index.d.ts → types/acorex-components-tree-view-legacy.d.ts} +0 -0
  326. /package/{tree-view/index.d.ts → types/acorex-components-tree-view.d.ts} +0 -0
  327. /package/{uploader/index.d.ts → types/acorex-components-uploader.d.ts} +0 -0
  328. /package/{video-player/index.d.ts → types/acorex-components-video-player.d.ts} +0 -0
  329. /package/{wysiwyg/index.d.ts → types/acorex-components-wysiwyg.d.ts} +0 -0
  330. /package/{index.d.ts → types/acorex-components.d.ts} +0 -0
@@ -35,10 +35,10 @@ class AXConversationService {
35
35
  this.replyId = signal('', ...(ngDevMode ? [{ debugName: "replyId" }] : []));
36
36
  this.chats = signal([], ...(ngDevMode ? [{ debugName: "chats" }] : []));
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationService }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationService }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationService, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationService, decorators: [{
42
42
  type: Injectable
43
43
  }] });
44
44
 
@@ -125,10 +125,10 @@ class AXRecordingService {
125
125
  this.time.hours = 0;
126
126
  this.timer.set('00:0');
127
127
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXRecordingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
129
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXRecordingService }); }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXRecordingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
129
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXRecordingService }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXRecordingService, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXRecordingService, decorators: [{
132
132
  type: Injectable
133
133
  }] });
134
134
 
@@ -145,8 +145,8 @@ class AXConversationContainerComponent {
145
145
  }, ...(ngDevMode ? [{ debugName: "#init" }] : []));
146
146
  }
147
147
  #init;
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXConversationContainerComponent, isStandalone: true, selector: "ax-conversation-container", inputs: { chatData: { classPropertyName: "chatData", publicName: "chatData", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: AXConversationContainerComponent, isStandalone: true, selector: "ax-conversation-container", inputs: { chatData: { classPropertyName: "chatData", publicName: "chatData", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
150
150
  { provide: AXComponent, useExisting: AXConversationContainerComponent },
151
151
  { provide: AXFocusableComponent, useExisting: AXConversationContainerComponent },
152
152
  { provide: AXValuableComponent, useExisting: AXConversationContainerComponent },
@@ -159,7 +159,7 @@ class AXConversationContainerComponent {
159
159
  AXRecordingService,
160
160
  ], ngImport: i0, template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"], encapsulation: i0.ViewEncapsulation.None }); }
161
161
  }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationContainerComponent, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationContainerComponent, decorators: [{
163
163
  type: Component,
164
164
  args: [{ selector: 'ax-conversation-container', encapsulation: ViewEncapsulation.None, providers: [
165
165
  { provide: AXComponent, useExisting: AXConversationContainerComponent },
@@ -173,7 +173,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
173
173
  AXConversationService,
174
174
  AXRecordingService,
175
175
  ], template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"] }]
176
- }] });
176
+ }], propDecorators: { chatData: [{ type: i0.Input, args: [{ isSignal: true, alias: "chatData", required: false }] }] } });
177
177
 
178
178
  /**
179
179
  * An input component for entering conversation messages.
@@ -370,8 +370,8 @@ class AXConversationInputComponent extends classes((MXInputBaseValueComponent),
370
370
  get __hostName() {
371
371
  return this.name;
372
372
  }
373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
374
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationInputComponent, isStandalone: true, selector: "ax-conversation-input", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, hasAttachment: { classPropertyName: "hasAttachment", publicName: "hasAttachment", isSignal: true, isRequired: false, transformFunction: null }, hasVoice: { classPropertyName: "hasVoice", publicName: "hasVoice", isSignal: true, isRequired: false, transformFunction: null }, hasEmoji: { classPropertyName: "hasEmoji", publicName: "hasEmoji", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, acceptFileType: { classPropertyName: "acceptFileType", publicName: "acceptFileType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionClose: "onActionClose", onSendClick: "onSendClick", onStartRecording: "onStartRecording", onCancelRecording: "onCancelRecording", onEnterPressed: "onEnterPressed" }, host: { properties: { "attr.name": "this.__hostName" } }, providers: [
373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
374
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXConversationInputComponent, isStandalone: true, selector: "ax-conversation-input", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, hasAttachment: { classPropertyName: "hasAttachment", publicName: "hasAttachment", isSignal: true, isRequired: false, transformFunction: null }, hasVoice: { classPropertyName: "hasVoice", publicName: "hasVoice", isSignal: true, isRequired: false, transformFunction: null }, hasEmoji: { classPropertyName: "hasEmoji", publicName: "hasEmoji", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, acceptFileType: { classPropertyName: "acceptFileType", publicName: "acceptFileType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionClose: "onActionClose", onSendClick: "onSendClick", onStartRecording: "onStartRecording", onCancelRecording: "onCancelRecording", onEnterPressed: "onEnterPressed" }, host: { properties: { "attr.name": "this.__hostName" } }, providers: [
375
375
  { provide: AXComponent, useExisting: AXConversationInputComponent },
376
376
  { provide: AXFocusableComponent, useExisting: AXConversationInputComponent },
377
377
  { provide: AXValuableComponent, useExisting: AXConversationInputComponent },
@@ -380,9 +380,9 @@ class AXConversationInputComponent extends classes((MXInputBaseValueComponent),
380
380
  useExisting: forwardRef(() => AXConversationInputComponent),
381
381
  multi: true,
382
382
  },
383
- ], queries: [{ propertyName: "sendIcon", first: true, predicate: ["ax-icon"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (actionShowState()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-{{ look }}\">\n @if (actionUser()) {\n <ax-text> {{ actionUser() }}</ax-text>\n }\n <div class=\"ax-reply-container\">\n <div class=\"ax-reply-start\">\n <i [class]=\"actionIcon()\"></i>\n <p>{{ actionContent() }}</p>\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'@acorex:common.actions.cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n @if (hasEmoji()) {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"keyDownHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n @if (hasAttachment()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <input\n multiple\n #inputFile\n [accept]=\"acceptFileType()\"\n type=\"file\"\n class=\"ax-attach-input\"\n (change)=\"handleChangeFile($event)\"\n />\n }\n @if (hasVoice()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n }\n } @else {\n <ax-button [disabled]=\"isLoading()\" look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n @if (isLoading()) {\n <ax-loading-spinner color=\"primary\"></ax-loading-spinner>\n } @else {\n @if (sendIcon()) {\n <ng-content select=\"ax-icon\"></ng-content>\n } @else {\n <ax-icon>\n <i class=\"ax-icon ax-icon-arrow-long-up\"></i>\n </ax-icon>\n }\n }\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: ["ax-conversation-input{width:100%;display:block}ax-conversation-input .ax-conversation-input{display:flex;align-items:center;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side::placeholder{font-size:1rem;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-sys-color-danger-surface));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-sys-color-danger-surface),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-sys-border-radius)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-input .ax-editor-reply-container{--ax-comp-editor-height: 100%;display:flex;flex-direction:column;align-items:flex-start;padding:.5rem}ax-conversation-input .ax-editor-reply-container .ax-reply-container{display:flex;justify-content:space-between;align-items:center;width:100%}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
383
+ ], queries: [{ propertyName: "sendIcon", first: true, predicate: ["ax-icon"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (actionShowState()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-default {{ look }}\">\n @if (actionUser()) {\n <ax-text> {{ actionUser() }}</ax-text>\n }\n <div class=\"ax-reply-container\">\n <div class=\"ax-reply-start\">\n <i [class]=\"actionIcon()\"></i>\n <p>{{ actionContent() }}</p>\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-default {{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'@acorex:common.actions.cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n @if (hasEmoji()) {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"keyDownHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n @if (hasAttachment()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <input\n multiple\n #inputFile\n [accept]=\"acceptFileType()\"\n type=\"file\"\n class=\"ax-attach-input\"\n (change)=\"handleChangeFile($event)\"\n />\n }\n @if (hasVoice()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n }\n } @else {\n <ax-button [disabled]=\"isLoading()\" look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n @if (isLoading()) {\n <ax-loading-spinner color=\"primary\"></ax-loading-spinner>\n } @else {\n @if (sendIcon()) {\n <ng-content select=\"ax-icon\"></ng-content>\n } @else {\n <ax-icon>\n <i class=\"ax-icon ax-icon-arrow-long-up\"></i>\n </ax-icon>\n }\n }\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: ["ax-conversation-input{width:100%;display:block}ax-conversation-input .ax-conversation-input{display:flex;align-items:center;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side::placeholder{font-size:1rem;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-sys-color-danger-surface));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-sys-color-danger-surface),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-sys-border-radius)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-input .ax-editor-reply-container{--ax-comp-editor-height: 100%;display:flex;flex-direction:column;align-items:flex-start;padding:.5rem}ax-conversation-input .ax-editor-reply-container .ax-reply-container{display:flex;justify-content:space-between;align-items:center;width:100%}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
384
384
  }
385
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationInputComponent, decorators: [{
385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationInputComponent, decorators: [{
386
386
  type: Component,
387
387
  args: [{ selector: 'ax-conversation-input', inputs: ['look', 'placeholder'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
388
388
  { provide: AXComponent, useExisting: AXConversationInputComponent },
@@ -402,11 +402,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
402
402
  AsyncPipe,
403
403
  AXTranslatorPipe,
404
404
  AXDecoratorModule,
405
- ], template: "@if (actionShowState()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-{{ look }}\">\n @if (actionUser()) {\n <ax-text> {{ actionUser() }}</ax-text>\n }\n <div class=\"ax-reply-container\">\n <div class=\"ax-reply-start\">\n <i [class]=\"actionIcon()\"></i>\n <p>{{ actionContent() }}</p>\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'@acorex:common.actions.cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n @if (hasEmoji()) {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"keyDownHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n @if (hasAttachment()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <input\n multiple\n #inputFile\n [accept]=\"acceptFileType()\"\n type=\"file\"\n class=\"ax-attach-input\"\n (change)=\"handleChangeFile($event)\"\n />\n }\n @if (hasVoice()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n }\n } @else {\n <ax-button [disabled]=\"isLoading()\" look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n @if (isLoading()) {\n <ax-loading-spinner color=\"primary\"></ax-loading-spinner>\n } @else {\n @if (sendIcon()) {\n <ng-content select=\"ax-icon\"></ng-content>\n } @else {\n <ax-icon>\n <i class=\"ax-icon ax-icon-arrow-long-up\"></i>\n </ax-icon>\n }\n }\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: ["ax-conversation-input{width:100%;display:block}ax-conversation-input .ax-conversation-input{display:flex;align-items:center;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side::placeholder{font-size:1rem;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-sys-color-danger-surface));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-sys-color-danger-surface),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-sys-border-radius)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-input .ax-editor-reply-container{--ax-comp-editor-height: 100%;display:flex;flex-direction:column;align-items:flex-start;padding:.5rem}ax-conversation-input .ax-editor-reply-container .ax-reply-container{display:flex;justify-content:space-between;align-items:center;width:100%}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"] }]
405
+ ], template: "@if (actionShowState()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-default {{ look }}\">\n @if (actionUser()) {\n <ax-text> {{ actionUser() }}</ax-text>\n }\n <div class=\"ax-reply-container\">\n <div class=\"ax-reply-start\">\n <i [class]=\"actionIcon()\"></i>\n <p>{{ actionContent() }}</p>\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-default {{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'@acorex:common.actions.cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n @if (hasEmoji()) {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"keyDownHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n @if (hasAttachment()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <input\n multiple\n #inputFile\n [accept]=\"acceptFileType()\"\n type=\"file\"\n class=\"ax-attach-input\"\n (change)=\"handleChangeFile($event)\"\n />\n }\n @if (hasVoice()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n }\n } @else {\n <ax-button [disabled]=\"isLoading()\" look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n @if (isLoading()) {\n <ax-loading-spinner color=\"primary\"></ax-loading-spinner>\n } @else {\n @if (sendIcon()) {\n <ng-content select=\"ax-icon\"></ng-content>\n } @else {\n <ax-icon>\n <i class=\"ax-icon ax-icon-arrow-long-up\"></i>\n </ax-icon>\n }\n }\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: ["ax-conversation-input{width:100%;display:block}ax-conversation-input .ax-conversation-input{display:flex;align-items:center;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side::placeholder{font-size:1rem;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-sys-color-danger-surface));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-sys-color-danger-surface),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-sys-border-radius)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-input .ax-editor-reply-container{--ax-comp-editor-height: 100%;display:flex;flex-direction:column;align-items:flex-start;padding:.5rem}ax-conversation-input .ax-editor-reply-container .ax-reply-container{display:flex;justify-content:space-between;align-items:center;width:100%}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"] }]
406
406
  }], propDecorators: { inputFile: [{
407
407
  type: ViewChild,
408
408
  args: ['inputFile']
409
- }], __hostName: [{
409
+ }], sendIcon: [{ type: i0.ContentChild, args: ['ax-icon', { isSignal: true }] }], onActionClose: [{ type: i0.Output, args: ["onActionClose"] }], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }], hasAttachment: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasAttachment", required: false }] }], hasVoice: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasVoice", required: false }] }], hasEmoji: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasEmoji", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], acceptFileType: [{ type: i0.Input, args: [{ isSignal: true, alias: "acceptFileType", required: false }] }], onSendClick: [{ type: i0.Output, args: ["onSendClick"] }], onStartRecording: [{ type: i0.Output, args: ["onStartRecording"] }], onCancelRecording: [{ type: i0.Output, args: ["onCancelRecording"] }], onEnterPressed: [{ type: i0.Output, args: ["onEnterPressed"] }], __hostName: [{
410
410
  type: HostBinding,
411
411
  args: ['attr.name']
412
412
  }] } });
@@ -421,10 +421,10 @@ class AXConversationMessageTypeRegistryService {
421
421
  resolve(name) {
422
422
  return this.plugins.get(name);
423
423
  }
424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageTypeRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
425
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageTypeRegistryService, providedIn: 'root' }); }
424
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageTypeRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
425
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageTypeRegistryService, providedIn: 'root' }); }
426
426
  }
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageTypeRegistryService, decorators: [{
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageTypeRegistryService, decorators: [{
428
428
  type: Injectable,
429
429
  args: [{ providedIn: 'root' }]
430
430
  }] });
@@ -521,10 +521,10 @@ class AXConversationMessageComponent extends MXBaseComponent {
521
521
  get __hostClass() {
522
522
  return `${this.isOwn ? 'ax-state-own' : ''} ${!this.isOwn ? 'ax-state-other' : ''}`;
523
523
  }
524
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
525
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationMessageComponent, isStandalone: true, selector: "ax-conversation-message", inputs: { isReplyArrowShown: { classPropertyName: "isReplyArrowShown", publicName: "isReplyArrowShown", isSignal: true, isRequired: false, transformFunction: null }, chatMessage: { classPropertyName: "chatMessage", publicName: "chatMessage", isSignal: true, isRequired: false, transformFunction: null }, avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionMenuOpening: "onActionMenuOpening", onReplyClick: "onReplyClick" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (chatMessage().fromId) {\n @if (avatar()) {\n <ng-container [ngTemplateOutlet]=\"avatar()\"></ng-container>\n } @else {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n }\n}\n\n@if (isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage())\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div\n class=\"ax-message-content\"\n [class]=\"'ax-type-' + messageType()\"\n [class.ax-state-own]=\"!chatMessage().fromId\"\n [class.ax-state-other]=\"chatMessage().fromId\"\n>\n <div class=\"ax-action-button\">\n @if (chatMessage()?.userName) {\n <div class=\"ax-message-user-name\">\n <ax-text>{{ chatMessage().userName }}</ax-text>\n </div>\n }\n\n @if (chatMessage()?.showActionButton) {\n <div class=\"ax-message-action-button\">\n <ax-menu openOn=\"click\" [hasArrow]=\"false\">\n <ax-menu-item class=\"ax-parent-menu-item\">\n <ax-text (click)=\"handleActionClick()\">...</ax-text>\n\n @for (item of actionButtonItemsPrivate(); track item.text) {\n <ax-menu-item [color]=\"item.color\" (onClick)=\"item.onClick(chatMessage().id)\">\n <ax-text>{{ item.text }}</ax-text>\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n\n @for (innerItem of item.items; track innerItem.text) {\n <ax-menu-item [color]=\"innerItem.color\" (onClick)=\"innerItem.onClick(chatMessage().id)\">\n <ax-text>{{ innerItem.text }}</ax-text>\n <ax-prefix>\n <ax-icon [icon]=\"innerItem.icon\"></ax-icon>\n </ax-prefix>\n </ax-menu-item>\n }\n </ax-menu-item>\n }\n </ax-menu-item>\n </ax-menu>\n </div>\n }\n </div>\n\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div>\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n\n@if (!isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage())\" class=\"fa-solid fa-reply ax-rotate ax-cursor-pointer\"></i>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin:.5rem}ax-conversation-message .ax-message-reply-container{padding:.75rem}ax-conversation-message .ax-message-reply-container,ax-conversation-message .ax-image-reply-container,ax-conversation-message .ax-video-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;margin-bottom:.25rem;overflow:hidden}ax-conversation-message .ax-message-reply-container .file,ax-conversation-message .ax-image-reply-container .file,ax-conversation-message .ax-video-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i,ax-conversation-message .ax-image-reply-container .file i,ax-conversation-message .ax-video-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video,ax-conversation-message .ax-image-reply-container img,ax-conversation-message .ax-image-reply-container video,ax-conversation-message .ax-video-reply-container img,ax-conversation-message .ax-video-reply-container video{max-width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content .ax-action-button{display:grid;grid-template-columns:repeat(2,1fr)}ax-conversation-message .ax-message-content .ax-action-button .ax-message-user-name{justify-self:start;grid-column:1}ax-conversation-message .ax-message-content .ax-action-button .ax-message-action-button{justify-self:end;grid-column:2}ax-conversation-message .ax-message-content .ax-action-button ax-menu.ax-action-list-horizontal{min-width:0;gap:0}ax-conversation-message .ax-message-content .ax-action-button .ax-parent-menu-item{height:auto!important;padding:0!important}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}ax-conversation-message .ax-rotate{transform:scaleX(-1);margin-inline-start:.5rem}@media (min-width: 320px) and (max-width: 640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"], dependencies: [{ kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "repositionOnScroll", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "component", type: AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i1$1.AXMenuItemComponent, selector: "ax-menu-item", inputs: ["name", "data", "disabled", "color"], outputs: ["onClick"] }, { kind: "component", type: i1$1.AXMenuComponent, selector: "ax-menu", inputs: ["orientation", "openOn", "closeOn", "items", "hasArrow"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
524
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
525
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXConversationMessageComponent, isStandalone: true, selector: "ax-conversation-message", inputs: { isReplyArrowShown: { classPropertyName: "isReplyArrowShown", publicName: "isReplyArrowShown", isSignal: true, isRequired: false, transformFunction: null }, chatMessage: { classPropertyName: "chatMessage", publicName: "chatMessage", isSignal: true, isRequired: false, transformFunction: null }, avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionMenuOpening: "onActionMenuOpening", onReplyClick: "onReplyClick" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (chatMessage().fromId) {\n @if (avatar()) {\n <ng-container [ngTemplateOutlet]=\"avatar()\"></ng-container>\n } @else {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n }\n}\n\n@if (isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage())\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div\n class=\"ax-message-content\"\n [class]=\"'ax-type-' + messageType()\"\n [class.ax-state-own]=\"!chatMessage().fromId\"\n [class.ax-state-other]=\"chatMessage().fromId\"\n>\n <div class=\"ax-action-button\">\n @if (chatMessage()?.userName) {\n <div class=\"ax-message-user-name\">\n <ax-text>{{ chatMessage().userName }}</ax-text>\n </div>\n }\n\n @if (chatMessage()?.showActionButton) {\n <div class=\"ax-message-action-button\">\n <ax-menu openOn=\"click\" [hasArrow]=\"false\">\n <ax-menu-item class=\"ax-parent-menu-item\">\n <ax-text (click)=\"handleActionClick()\">...</ax-text>\n\n @for (item of actionButtonItemsPrivate(); track item.text) {\n <ax-menu-item [color]=\"item.color\" (onClick)=\"item.onClick(chatMessage().id)\">\n <ax-text>{{ item.text }}</ax-text>\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n\n @for (innerItem of item.items; track innerItem.text) {\n <ax-menu-item [color]=\"innerItem.color\" (onClick)=\"innerItem.onClick(chatMessage().id)\">\n <ax-text>{{ innerItem.text }}</ax-text>\n <ax-prefix>\n <ax-icon [icon]=\"innerItem.icon\"></ax-icon>\n </ax-prefix>\n </ax-menu-item>\n }\n </ax-menu-item>\n }\n </ax-menu-item>\n </ax-menu>\n </div>\n }\n </div>\n\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div>\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n\n@if (!isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage())\" class=\"fa-solid fa-reply ax-rotate ax-cursor-pointer\"></i>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin:.5rem}ax-conversation-message .ax-message-reply-container{padding:.75rem}ax-conversation-message .ax-message-reply-container,ax-conversation-message .ax-image-reply-container,ax-conversation-message .ax-video-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;margin-bottom:.25rem;overflow:hidden}ax-conversation-message .ax-message-reply-container .file,ax-conversation-message .ax-image-reply-container .file,ax-conversation-message .ax-video-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i,ax-conversation-message .ax-image-reply-container .file i,ax-conversation-message .ax-video-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video,ax-conversation-message .ax-image-reply-container img,ax-conversation-message .ax-image-reply-container video,ax-conversation-message .ax-video-reply-container img,ax-conversation-message .ax-video-reply-container video{max-width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content .ax-action-button{display:grid;grid-template-columns:repeat(2,1fr)}ax-conversation-message .ax-message-content .ax-action-button .ax-message-user-name{justify-self:start;grid-column:1}ax-conversation-message .ax-message-content .ax-action-button .ax-message-action-button{justify-self:end;grid-column:2}ax-conversation-message .ax-message-content .ax-action-button ax-menu.ax-action-list-horizontal{min-width:0;gap:0}ax-conversation-message .ax-message-content .ax-action-button .ax-parent-menu-item{height:auto!important;padding:0!important}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}ax-conversation-message .ax-rotate{transform:scaleX(-1);margin-inline-start:.5rem}@media(min-width:320px)and (max-width:640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"], dependencies: [{ kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "repositionOnScroll", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "component", type: AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i1$1.AXMenuItemComponent, selector: "ax-menu-item", inputs: ["name", "data", "disabled", "color"], outputs: ["onClick"] }, { kind: "component", type: i1$1.AXMenuComponent, selector: "ax-menu", inputs: ["orientation", "openOn", "closeOn", "items", "hasArrow"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
526
526
  }
527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageComponent, decorators: [{
527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageComponent, decorators: [{
528
528
  type: Component,
529
529
  args: [{ selector: 'ax-conversation-message', encapsulation: ViewEncapsulation.None, imports: [
530
530
  AXAvatarComponent,
@@ -539,8 +539,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
539
539
  AXFormatPipe,
540
540
  AXMenuModule,
541
541
  CommonModule,
542
- ], providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], template: "@if (chatMessage().fromId) {\n @if (avatar()) {\n <ng-container [ngTemplateOutlet]=\"avatar()\"></ng-container>\n } @else {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n }\n}\n\n@if (isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage())\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div\n class=\"ax-message-content\"\n [class]=\"'ax-type-' + messageType()\"\n [class.ax-state-own]=\"!chatMessage().fromId\"\n [class.ax-state-other]=\"chatMessage().fromId\"\n>\n <div class=\"ax-action-button\">\n @if (chatMessage()?.userName) {\n <div class=\"ax-message-user-name\">\n <ax-text>{{ chatMessage().userName }}</ax-text>\n </div>\n }\n\n @if (chatMessage()?.showActionButton) {\n <div class=\"ax-message-action-button\">\n <ax-menu openOn=\"click\" [hasArrow]=\"false\">\n <ax-menu-item class=\"ax-parent-menu-item\">\n <ax-text (click)=\"handleActionClick()\">...</ax-text>\n\n @for (item of actionButtonItemsPrivate(); track item.text) {\n <ax-menu-item [color]=\"item.color\" (onClick)=\"item.onClick(chatMessage().id)\">\n <ax-text>{{ item.text }}</ax-text>\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n\n @for (innerItem of item.items; track innerItem.text) {\n <ax-menu-item [color]=\"innerItem.color\" (onClick)=\"innerItem.onClick(chatMessage().id)\">\n <ax-text>{{ innerItem.text }}</ax-text>\n <ax-prefix>\n <ax-icon [icon]=\"innerItem.icon\"></ax-icon>\n </ax-prefix>\n </ax-menu-item>\n }\n </ax-menu-item>\n }\n </ax-menu-item>\n </ax-menu>\n </div>\n }\n </div>\n\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div>\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n\n@if (!isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage())\" class=\"fa-solid fa-reply ax-rotate ax-cursor-pointer\"></i>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin:.5rem}ax-conversation-message .ax-message-reply-container{padding:.75rem}ax-conversation-message .ax-message-reply-container,ax-conversation-message .ax-image-reply-container,ax-conversation-message .ax-video-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;margin-bottom:.25rem;overflow:hidden}ax-conversation-message .ax-message-reply-container .file,ax-conversation-message .ax-image-reply-container .file,ax-conversation-message .ax-video-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i,ax-conversation-message .ax-image-reply-container .file i,ax-conversation-message .ax-video-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video,ax-conversation-message .ax-image-reply-container img,ax-conversation-message .ax-image-reply-container video,ax-conversation-message .ax-video-reply-container img,ax-conversation-message .ax-video-reply-container video{max-width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content .ax-action-button{display:grid;grid-template-columns:repeat(2,1fr)}ax-conversation-message .ax-message-content .ax-action-button .ax-message-user-name{justify-self:start;grid-column:1}ax-conversation-message .ax-message-content .ax-action-button .ax-message-action-button{justify-self:end;grid-column:2}ax-conversation-message .ax-message-content .ax-action-button ax-menu.ax-action-list-horizontal{min-width:0;gap:0}ax-conversation-message .ax-message-content .ax-action-button .ax-parent-menu-item{height:auto!important;padding:0!important}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}ax-conversation-message .ax-rotate{transform:scaleX(-1);margin-inline-start:.5rem}@media (min-width: 320px) and (max-width: 640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"] }]
543
- }], propDecorators: { __hostClass: [{
542
+ ], providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], template: "@if (chatMessage().fromId) {\n @if (avatar()) {\n <ng-container [ngTemplateOutlet]=\"avatar()\"></ng-container>\n } @else {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n }\n}\n\n@if (isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage())\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div\n class=\"ax-message-content\"\n [class]=\"'ax-type-' + messageType()\"\n [class.ax-state-own]=\"!chatMessage().fromId\"\n [class.ax-state-other]=\"chatMessage().fromId\"\n>\n <div class=\"ax-action-button\">\n @if (chatMessage()?.userName) {\n <div class=\"ax-message-user-name\">\n <ax-text>{{ chatMessage().userName }}</ax-text>\n </div>\n }\n\n @if (chatMessage()?.showActionButton) {\n <div class=\"ax-message-action-button\">\n <ax-menu openOn=\"click\" [hasArrow]=\"false\">\n <ax-menu-item class=\"ax-parent-menu-item\">\n <ax-text (click)=\"handleActionClick()\">...</ax-text>\n\n @for (item of actionButtonItemsPrivate(); track item.text) {\n <ax-menu-item [color]=\"item.color\" (onClick)=\"item.onClick(chatMessage().id)\">\n <ax-text>{{ item.text }}</ax-text>\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n\n @for (innerItem of item.items; track innerItem.text) {\n <ax-menu-item [color]=\"innerItem.color\" (onClick)=\"innerItem.onClick(chatMessage().id)\">\n <ax-text>{{ innerItem.text }}</ax-text>\n <ax-prefix>\n <ax-icon [icon]=\"innerItem.icon\"></ax-icon>\n </ax-prefix>\n </ax-menu-item>\n }\n </ax-menu-item>\n }\n </ax-menu-item>\n </ax-menu>\n </div>\n }\n </div>\n\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div>\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n\n@if (!isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage())\" class=\"fa-solid fa-reply ax-rotate ax-cursor-pointer\"></i>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin:.5rem}ax-conversation-message .ax-message-reply-container{padding:.75rem}ax-conversation-message .ax-message-reply-container,ax-conversation-message .ax-image-reply-container,ax-conversation-message .ax-video-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;margin-bottom:.25rem;overflow:hidden}ax-conversation-message .ax-message-reply-container .file,ax-conversation-message .ax-image-reply-container .file,ax-conversation-message .ax-video-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i,ax-conversation-message .ax-image-reply-container .file i,ax-conversation-message .ax-video-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video,ax-conversation-message .ax-image-reply-container img,ax-conversation-message .ax-image-reply-container video,ax-conversation-message .ax-video-reply-container img,ax-conversation-message .ax-video-reply-container video{max-width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content .ax-action-button{display:grid;grid-template-columns:repeat(2,1fr)}ax-conversation-message .ax-message-content .ax-action-button .ax-message-user-name{justify-self:start;grid-column:1}ax-conversation-message .ax-message-content .ax-action-button .ax-message-action-button{justify-self:end;grid-column:2}ax-conversation-message .ax-message-content .ax-action-button ax-menu.ax-action-list-horizontal{min-width:0;gap:0}ax-conversation-message .ax-message-content .ax-action-button .ax-parent-menu-item{height:auto!important;padding:0!important}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}ax-conversation-message .ax-rotate{transform:scaleX(-1);margin-inline-start:.5rem}@media(min-width:320px)and (max-width:640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"] }]
543
+ }], propDecorators: { popover: [{ type: i0.ViewChild, args: ['popover', { isSignal: true }] }], isReplyArrowShown: [{ type: i0.Input, args: [{ isSignal: true, alias: "isReplyArrowShown", required: false }] }], chatMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "chatMessage", required: false }] }], avatar: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatar", required: false }] }], onActionMenuOpening: [{ type: i0.Output, args: ["onActionMenuOpening"] }], onReplyClick: [{ type: i0.Output, args: ["onReplyClick"] }], __hostClass: [{
544
544
  type: HostBinding,
545
545
  args: ['class']
546
546
  }] } });
@@ -553,10 +553,10 @@ class AXConversationMenuOpeningEvent {
553
553
  }
554
554
  }
555
555
  class AXConversationMessageBaseComponent {
556
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
557
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageBaseComponent }); }
556
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
557
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageBaseComponent }); }
558
558
  }
559
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageBaseComponent, decorators: [{
559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageBaseComponent, decorators: [{
560
560
  type: Injectable
561
561
  }] });
562
562
 
@@ -691,10 +691,10 @@ class AXConversationMessageAudioComponent extends AXConversationMessageBaseCompo
691
691
  this.audioTag().playbackRate = 1;
692
692
  }
693
693
  }
694
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
695
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationMessageAudioComponent, isStandalone: true, selector: "ax-conversation-message-audio", providers: [{ provide: AXComponent, useExisting: AXConversationMessageAudioComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <ax-button\n color=\"primary\"\n look=\"solid\"\n text=\"{{ audioRate() }}X\"\n class=\"ax-audio-speed\"\n (click)=\"handleRateClick()\"\n ></ax-button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (ngModelChange)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [ngModel]=\"currentTime()\"\n color=\"primary\"\n>\n</ax-range-slider>\n", styles: ["ax-conversation-message-audio{display:flex}ax-conversation-message-audio .ax-time-rate .ax-audio-speed{margin-inline-start:.3rem;border-radius:.2rem;min-width:2rem}ax-conversation-message-audio .ax-modify-bgSlider{width:14rem;margin:0 1rem;padding:0}.ax-time-rate{display:flex;align-items:center}.ax-audio-speed{--ax-comp-button-font-size: .6rem;--ax-comp-button-padding-x: .1rem;--ax-comp-button-padding-y: .1rem;--ax-comp-button-height: auto;--ax-comp-button-text-padding-x: .5rem;margin-inline-start:.5rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
694
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
695
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXConversationMessageAudioComponent, isStandalone: true, selector: "ax-conversation-message-audio", providers: [{ provide: AXComponent, useExisting: AXConversationMessageAudioComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <ax-button\n color=\"primary\"\n look=\"solid\"\n text=\"{{ audioRate() }}X\"\n class=\"ax-audio-speed\"\n (click)=\"handleRateClick()\"\n ></ax-button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (ngModelChange)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [ngModel]=\"currentTime()\"\n color=\"primary\"\n>\n</ax-range-slider>\n", styles: ["ax-conversation-message-audio{display:flex}ax-conversation-message-audio .ax-time-rate .ax-audio-speed{margin-inline-start:.3rem;border-radius:.2rem;min-width:2rem}ax-conversation-message-audio .ax-modify-bgSlider{width:14rem;margin:0 1rem;padding:0}.ax-time-rate{display:flex;align-items:center}.ax-audio-speed{--ax-comp-button-font-size: .6rem;--ax-comp-button-padding-x: .1rem;--ax-comp-button-padding-y: .1rem;--ax-comp-button-height: auto;--ax-comp-button-text-padding-x: .5rem;margin-inline-start:.5rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
696
696
  }
697
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageAudioComponent, decorators: [{
697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageAudioComponent, decorators: [{
698
698
  type: Component,
699
699
  args: [{ selector: 'ax-conversation-message-audio', encapsulation: ViewEncapsulation.None, imports: [
700
700
  AXDecoratorGenericComponent,
@@ -745,13 +745,13 @@ class AXConversationViewComponent extends MXBaseComponent {
745
745
  addNewItem(item) {
746
746
  this.conversationService.chats.update((prev) => [...prev, item]);
747
747
  }
748
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
749
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationViewComponent, isStandalone: true, selector: "ax-conversation-view", inputs: { chatBoxHeight: { classPropertyName: "chatBoxHeight", publicName: "chatBoxHeight", isSignal: true, isRequired: false, transformFunction: null }, isReplyArrowShown: { classPropertyName: "isReplyArrowShown", publicName: "isReplyArrowShown", isSignal: true, isRequired: false, transformFunction: null }, avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionMenuOpening: "onActionMenuOpening", onAction: "onAction", onReplyClick: "onReplyClick", onScrollEnd: "onScrollEnd" }, providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], usesInheritance: true, ngImport: i0, template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"chatBoxHeight()\">\n @for (item of conversationService.chats(); track item.id) {\n <ax-conversation-message\n animate.enter=\"ax-fade-slide-in\"\n (onReplyClick)=\"onReplyClick.emit($event)\"\n [avatar]=\"avatar()\"\n (onActionMenuOpening)=\"onActionMenuOpening.emit($event)\"\n [isReplyArrowShown]=\"isReplyArrowShown()\"\n axVirtualScrollingItem\n [chatMessage]=\"item\"\n ></ax-conversation-message>\n }\n</div>\n", styles: ["ax-conversation-view{display:block}ax-conversation-view .ax-conversation-container{overflow-y:auto;height:100%}@keyframes fadeSlideIn{0%{opacity:0}to{opacity:1}}ax-conversation-view .ax-fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"], dependencies: [{ kind: "directive", type: AXVirtualScrollingContainerDirective, selector: "[axVirtualScrollingContainer]", inputs: ["height"], outputs: ["ScrollEnd"] }, { kind: "component", type: AXConversationMessageComponent, selector: "ax-conversation-message", inputs: ["isReplyArrowShown", "chatMessage", "avatar"], outputs: ["onActionMenuOpening", "onReplyClick"] }, { kind: "directive", type: AXVirtualScrollingItemDirective, selector: "[axVirtualScrollingItem]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
748
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
749
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXConversationViewComponent, isStandalone: true, selector: "ax-conversation-view", inputs: { chatBoxHeight: { classPropertyName: "chatBoxHeight", publicName: "chatBoxHeight", isSignal: true, isRequired: false, transformFunction: null }, isReplyArrowShown: { classPropertyName: "isReplyArrowShown", publicName: "isReplyArrowShown", isSignal: true, isRequired: false, transformFunction: null }, avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionMenuOpening: "onActionMenuOpening", onAction: "onAction", onReplyClick: "onReplyClick", onScrollEnd: "onScrollEnd" }, providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], usesInheritance: true, ngImport: i0, template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"chatBoxHeight()\">\n @for (item of conversationService.chats(); track item.id) {\n <ax-conversation-message\n animate.enter=\"ax-fade-slide-in\"\n (onReplyClick)=\"onReplyClick.emit($event)\"\n [avatar]=\"avatar()\"\n (onActionMenuOpening)=\"onActionMenuOpening.emit($event)\"\n [isReplyArrowShown]=\"isReplyArrowShown()\"\n axVirtualScrollingItem\n [chatMessage]=\"item\"\n ></ax-conversation-message>\n }\n</div>\n", styles: ["ax-conversation-view{display:block}ax-conversation-view .ax-conversation-container{overflow-y:auto;height:100%}@keyframes fadeSlideIn{0%{opacity:0}to{opacity:1}}ax-conversation-view .ax-fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"], dependencies: [{ kind: "directive", type: AXVirtualScrollingContainerDirective, selector: "[axVirtualScrollingContainer]", inputs: ["height"], outputs: ["ScrollEnd"] }, { kind: "component", type: AXConversationMessageComponent, selector: "ax-conversation-message", inputs: ["isReplyArrowShown", "chatMessage", "avatar"], outputs: ["onActionMenuOpening", "onReplyClick"] }, { kind: "directive", type: AXVirtualScrollingItemDirective, selector: "[axVirtualScrollingItem]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
750
750
  }
751
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationViewComponent, decorators: [{
751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationViewComponent, decorators: [{
752
752
  type: Component,
753
753
  args: [{ selector: 'ax-conversation-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXVirtualScrollingContainerDirective, AXConversationMessageComponent, AXVirtualScrollingItemDirective], providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"chatBoxHeight()\">\n @for (item of conversationService.chats(); track item.id) {\n <ax-conversation-message\n animate.enter=\"ax-fade-slide-in\"\n (onReplyClick)=\"onReplyClick.emit($event)\"\n [avatar]=\"avatar()\"\n (onActionMenuOpening)=\"onActionMenuOpening.emit($event)\"\n [isReplyArrowShown]=\"isReplyArrowShown()\"\n axVirtualScrollingItem\n [chatMessage]=\"item\"\n ></ax-conversation-message>\n }\n</div>\n", styles: ["ax-conversation-view{display:block}ax-conversation-view .ax-conversation-container{overflow-y:auto;height:100%}@keyframes fadeSlideIn{0%{opacity:0}to{opacity:1}}ax-conversation-view .ax-fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"] }]
754
- }] });
754
+ }], propDecorators: { chatBoxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "chatBoxHeight", required: false }] }], isReplyArrowShown: [{ type: i0.Input, args: [{ isSignal: true, alias: "isReplyArrowShown", required: false }] }], avatar: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatar", required: false }] }], onActionMenuOpening: [{ type: i0.Output, args: ["onActionMenuOpening"] }], onAction: [{ type: i0.Output, args: ["onAction"] }], onReplyClick: [{ type: i0.Output, args: ["onReplyClick"] }], onScrollEnd: [{ type: i0.Output, args: ["onScrollEnd"] }] } });
755
755
 
756
756
  /* eslint-disable @typescript-eslint/no-unused-vars */
757
757
  /**
@@ -808,10 +808,10 @@ class AXConversationFileMessageComponent extends AXConversationMessageBaseCompon
808
808
  handleCancelLoading() {
809
809
  this.parent.onAction.emit({ component: this, data: this.message, isUserInteraction: true });
810
810
  }
811
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationFileMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
812
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationFileMessageComponent, isStandalone: true, selector: "ax-conversation-message-file", providers: [{ provide: AXComponent, useExisting: AXConversationFileMessageComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
811
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationFileMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
812
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXConversationFileMessageComponent, isStandalone: true, selector: "ax-conversation-message-file", providers: [{ provide: AXComponent, useExisting: AXConversationFileMessageComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
813
813
  }
814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationFileMessageComponent, decorators: [{
814
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationFileMessageComponent, decorators: [{
815
815
  type: Component,
816
816
  args: [{ selector: 'ax-conversation-message-file', encapsulation: ViewEncapsulation.None, imports: [AXDecoratorGenericComponent, AXLoadingSpinnerComponent, AsyncPipe, AXFormatPipe], providers: [{ provide: AXComponent, useExisting: AXConversationFileMessageComponent }], template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
817
817
  }] });
@@ -822,10 +822,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
822
822
  * @category Components
823
823
  */
824
824
  class ConversationMessageImagePopupComponent {
825
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: ConversationMessageImagePopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
826
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: ConversationMessageImagePopupComponent, isStandalone: true, selector: "ax-conversation-message-image-popup", providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], ngImport: i0, template: ` <img class="ax-image-popup" [src]="url" alt="" />`, isInline: true, styles: ["ax-conversation-message-image-popup{display:flex;justify-content:center;align-items:center}ax-conversation-message-image-popup .ax-image-popup{object-fit:fill;width:30vw}\n"], encapsulation: i0.ViewEncapsulation.None }); }
825
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ConversationMessageImagePopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
826
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: ConversationMessageImagePopupComponent, isStandalone: true, selector: "ax-conversation-message-image-popup", providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], ngImport: i0, template: ` <img class="ax-image-popup" [src]="url" alt="" />`, isInline: true, styles: ["ax-conversation-message-image-popup{display:flex;justify-content:center;align-items:center}ax-conversation-message-image-popup .ax-image-popup{object-fit:fill;width:30vw}\n"], encapsulation: i0.ViewEncapsulation.None }); }
827
827
  }
828
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: ConversationMessageImagePopupComponent, decorators: [{
828
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ConversationMessageImagePopupComponent, decorators: [{
829
829
  type: Component,
830
830
  args: [{ selector: 'ax-conversation-message-image-popup', template: ` <img class="ax-image-popup" [src]="url" alt="" />`, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], styles: ["ax-conversation-message-image-popup{display:flex;justify-content:center;align-items:center}ax-conversation-message-image-popup .ax-image-popup{object-fit:fill;width:30vw}\n"] }]
831
831
  }] });
@@ -884,10 +884,10 @@ class AXConversationMessageImageComponent extends AXConversationMessageBaseCompo
884
884
  console.log(c);
885
885
  });
886
886
  }
887
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
888
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: AXConversationMessageImageComponent, isStandalone: true, selector: "ax-conversation-message-image", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageImageComponent }], usesInheritance: true, ngImport: i0, template: `<img (click)="openPopup()" [src]="_imageUrl()" alt="" /> `, isInline: true, styles: ["img{cursor:pointer;width:100%;height:100%}\n"] }); }
887
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
888
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXConversationMessageImageComponent, isStandalone: true, selector: "ax-conversation-message-image", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageImageComponent }], usesInheritance: true, ngImport: i0, template: `<img (click)="openPopup()" [src]="_imageUrl()" alt="" /> `, isInline: true, styles: ["img{cursor:pointer;width:100%;height:100%}\n"] }); }
889
889
  }
890
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageImageComponent, decorators: [{
890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageImageComponent, decorators: [{
891
891
  type: Component,
892
892
  args: [{ selector: 'ax-conversation-message-image', template: `<img (click)="openPopup()" [src]="_imageUrl()" alt="" /> `, inputs: ['message'], providers: [{ provide: AXComponent, useExisting: AXConversationMessageImageComponent }], styles: ["img{cursor:pointer;width:100%;height:100%}\n"] }]
893
893
  }] });
@@ -959,8 +959,8 @@ class AXConversationTextMessageComponent extends AXConversationMessageBaseCompon
959
959
  break;
960
960
  }
961
961
  }
962
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationTextMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
963
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationTextMessageComponent, isStandalone: true, selector: "ng-component", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationTextMessageComponent }], usesInheritance: true, ngImport: i0, template: `
962
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationTextMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
963
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXConversationTextMessageComponent, isStandalone: true, selector: "ng-component", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationTextMessageComponent }], usesInheritance: true, ngImport: i0, template: `
964
964
  @if (replyText()) {
965
965
  <div class="ax-message-reply-container">{{ replyText().content }}</div>
966
966
  }
@@ -989,7 +989,7 @@ class AXConversationTextMessageComponent extends AXConversationMessageBaseCompon
989
989
  <div class="ax-text-message" [innerHtml]="_text()"></div>
990
990
  `, isInline: true, styles: [".ax-text-message{word-break:normal;white-space:break-spaces}\n"], encapsulation: i0.ViewEncapsulation.None }); }
991
991
  }
992
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationTextMessageComponent, decorators: [{
992
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationTextMessageComponent, decorators: [{
993
993
  type: Component,
994
994
  args: [{ template: `
995
995
  @if (replyText()) {
@@ -1040,10 +1040,10 @@ class AXConversationMessageVideoComponent extends AXConversationMessageBaseCompo
1040
1040
  ngOnInit() {
1041
1041
  this._videoUrl.set(this.message?.content);
1042
1042
  }
1043
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageVideoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1044
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: AXConversationMessageVideoComponent, isStandalone: true, selector: "ax-conversation-message-video", providers: [{ provide: AXComponent, useExisting: AXConversationMessageVideoComponent }], usesInheritance: true, ngImport: i0, template: `<video controls [src]="_videoUrl()"></video>`, isInline: true, styles: ["video{width:100%;height:100%}\n"] }); }
1043
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageVideoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1044
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXConversationMessageVideoComponent, isStandalone: true, selector: "ax-conversation-message-video", providers: [{ provide: AXComponent, useExisting: AXConversationMessageVideoComponent }], usesInheritance: true, ngImport: i0, template: `<video controls [src]="_videoUrl()"></video>`, isInline: true, styles: ["video{width:100%;height:100%}\n"] }); }
1045
1045
  }
1046
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationMessageVideoComponent, decorators: [{
1046
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationMessageVideoComponent, decorators: [{
1047
1047
  type: Component,
1048
1048
  args: [{ selector: 'ax-conversation-message-video', template: `<video controls [src]="_videoUrl()"></video>`, providers: [{ provide: AXComponent, useExisting: AXConversationMessageVideoComponent }], styles: ["video{width:100%;height:100%}\n"] }]
1049
1049
  }] });
@@ -1211,10 +1211,10 @@ class AXConversationVoiceMessageComponent extends AXConversationMessageBaseCompo
1211
1211
  get __hostClass() {
1212
1212
  return `${this.message.fromId ? 'ax-state-other' : 'ax-state-own'}`;
1213
1213
  }
1214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationVoiceMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1215
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXConversationVoiceMessageComponent, isStandalone: true, selector: "ax-conversation-message-audio", inputs: { message: "message" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationVoiceMessageComponent }], viewQueries: [{ propertyName: "audio", first: true, predicate: ["a"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">\n {{ selectedRate() }}X\n </div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}ax-conversation-message-audio .ax-audio-rate-button{background-color:var(--ax-comp-conversation-other-color-fore);color:var(--ax-comp-conversation-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}ax-conversation-message-audio .ax-audio-rate-button.ax-state-own{background-color:var(--ax-comp-conversation-own-color-fore);color:var(--ax-comp-conversation-own-color)}ax-conversation-message-audio html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "component", type: AXAudioWaveComponent, selector: "ax-audio-wave", inputs: ["config"], outputs: ["onStatusChanged"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
1214
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationVoiceMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1215
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXConversationVoiceMessageComponent, isStandalone: true, selector: "ax-conversation-message-audio", inputs: { message: "message" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationVoiceMessageComponent }], viewQueries: [{ propertyName: "audio", first: true, predicate: ["a"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">\n {{ selectedRate() }}X\n </div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}ax-conversation-message-audio .ax-audio-rate-button{background-color:var(--ax-comp-conversation-other-color-fore);color:var(--ax-comp-conversation-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}ax-conversation-message-audio .ax-audio-rate-button.ax-state-own{background-color:var(--ax-comp-conversation-own-color-fore);color:var(--ax-comp-conversation-own-color)}ax-conversation-message-audio html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "component", type: AXAudioWaveComponent, selector: "ax-audio-wave", inputs: ["config"], outputs: ["onStatusChanged"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
1216
1216
  }
1217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationVoiceMessageComponent, decorators: [{
1217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationVoiceMessageComponent, decorators: [{
1218
1218
  type: Component,
1219
1219
  args: [{ selector: 'ax-conversation-message-audio', encapsulation: ViewEncapsulation.None, inputs: ['message'], imports: [AXDecoratorGenericComponent, AXLoadingSpinnerComponent, AXAudioWaveComponent, AsyncPipe, AXFormatPipe], providers: [{ provide: AXComponent, useExisting: AXConversationVoiceMessageComponent }], template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">\n {{ selectedRate() }}X\n </div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}ax-conversation-message-audio .ax-audio-rate-button{background-color:var(--ax-comp-conversation-other-color-fore);color:var(--ax-comp-conversation-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}ax-conversation-message-audio .ax-audio-rate-button.ax-state-own{background-color:var(--ax-comp-conversation-own-color-fore);color:var(--ax-comp-conversation-own-color)}ax-conversation-message-audio html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"] }]
1220
1220
  }], propDecorators: { audio: [{
@@ -1326,8 +1326,8 @@ class AXConversationModule {
1326
1326
  f();
1327
1327
  });
1328
1328
  }
1329
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1330
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: AXConversationModule, imports: [CommonModule,
1329
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1330
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXConversationModule, imports: [CommonModule,
1331
1331
  FormsModule,
1332
1332
  AsyncPipe,
1333
1333
  AXRippleDirective,
@@ -1364,7 +1364,7 @@ class AXConversationModule {
1364
1364
  AXConversationMessageAudioComponent,
1365
1365
  AXConversationMessageImageComponent,
1366
1366
  AXConversationMessageVideoComponent] }); }
1367
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationModule, providers: [AXPopupService], imports: [CommonModule,
1367
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationModule, providers: [AXPopupService], imports: [CommonModule,
1368
1368
  FormsModule,
1369
1369
  AXButtonModule,
1370
1370
  AXDecoratorModule,
@@ -1386,7 +1386,7 @@ class AXConversationModule {
1386
1386
  AXConversationFileMessageComponent,
1387
1387
  AXConversationMessageAudioComponent] }); }
1388
1388
  }
1389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXConversationModule, decorators: [{
1389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXConversationModule, decorators: [{
1390
1390
  type: NgModule,
1391
1391
  args: [{
1392
1392
  imports: [...MODULES, ...COMPONENT],