@acorex/components 18.4.4 → 18.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (245) hide show
  1. package/alert/lib/alert.component.d.ts +15 -36
  2. package/comment/README.md +3 -0
  3. package/comment/index.d.ts +9 -0
  4. package/comment/lib/comment-container/comment-container.component.d.ts +5 -0
  5. package/comment/lib/comment-input/comment-input.component.d.ts +10 -0
  6. package/comment/lib/comment-item/comment-item.component.d.ts +9 -0
  7. package/comment/lib/comment-like/comment-like.component.d.ts +6 -0
  8. package/comment/lib/comment-reply/comment-reply.component.d.ts +5 -0
  9. package/comment/lib/comment-view/comment-view.component.d.ts +5 -0
  10. package/comment/lib/comment.module.d.ts +17 -0
  11. package/comment/lib/comment.types.d.ts +3 -0
  12. package/comment/lib/services/comment.service.d.ts +6 -0
  13. package/esm2022/alert/lib/alert.component.mjs +37 -133
  14. package/esm2022/avatar/lib/avatar.component.mjs +2 -2
  15. package/esm2022/badge/lib/badge.component.mjs +2 -2
  16. package/esm2022/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.mjs +2 -2
  17. package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +1 -1
  18. package/esm2022/bottom-navigation/lib/bottom-navigation.module.mjs +3 -8
  19. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +2 -5
  20. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +2 -2
  21. package/esm2022/button/lib/button-item.class.mjs +1 -1
  22. package/esm2022/button/lib/button.module.mjs +5 -26
  23. package/esm2022/check-box/lib/check-box.component.mjs +3 -11
  24. package/esm2022/circular-progress/lib/circular-progress.component.mjs +1 -1
  25. package/esm2022/color-box/lib/color-box.module.mjs +3 -11
  26. package/esm2022/color-palette/lib/color-palette-input.component.mjs +9 -15
  27. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +6 -14
  28. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +16 -17
  29. package/esm2022/color-palette/lib/color-palette.class.mjs +1 -1
  30. package/esm2022/color-palette/lib/color-palette.component.mjs +5 -21
  31. package/esm2022/comment/acorex-components-comment.mjs +5 -0
  32. package/esm2022/comment/index.mjs +10 -0
  33. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +12 -0
  34. package/esm2022/comment/lib/comment-input/comment-input.component.mjs +33 -0
  35. package/esm2022/comment/lib/comment-item/comment-item.component.mjs +21 -0
  36. package/esm2022/comment/lib/comment-like/comment-like.component.mjs +15 -0
  37. package/esm2022/comment/lib/comment-reply/comment-reply.component.mjs +12 -0
  38. package/esm2022/comment/lib/comment-view/comment-view.component.mjs +11 -0
  39. package/esm2022/comment/lib/comment.module.mjs +48 -0
  40. package/esm2022/comment/lib/comment.types.mjs +2 -0
  41. package/esm2022/comment/lib/services/comment.service.mjs +19 -0
  42. package/esm2022/common/lib/classes/events.class.mjs +1 -1
  43. package/esm2022/common/lib/classes/styles.class.mjs +2 -10
  44. package/esm2022/common/lib/common.module.mjs +4 -20
  45. package/esm2022/common/lib/components/colorlook-component.class.mjs +1 -1
  46. package/esm2022/common/lib/components/input-base-value-component.class.mjs +1 -1
  47. package/esm2022/common/lib/directives/auto-focus.directive.mjs +4 -12
  48. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -4
  49. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +2 -3
  50. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -8
  51. package/esm2022/common/lib/directives/ripple.directive.mjs +4 -6
  52. package/esm2022/common/lib/types/placement.mjs +6 -26
  53. package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +3 -3
  54. package/esm2022/data-pager/lib/data-pager-info.component.mjs +4 -10
  55. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +2 -2
  56. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +3 -3
  57. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +8 -36
  58. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +3 -3
  59. package/esm2022/data-table/lib/data-table/data-table.component.mjs +1 -1
  60. package/esm2022/datetime-box/lib/datetime-box.module.mjs +3 -15
  61. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +7 -8
  62. package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +1 -1
  63. package/esm2022/decorators/lib/components/clear-button.component.mjs +6 -21
  64. package/esm2022/decorators/lib/components/close-button.component.mjs +5 -15
  65. package/esm2022/decorators/lib/decorators.module.mjs +3 -14
  66. package/esm2022/dialog/lib/dialog.class.mjs +1 -1
  67. package/esm2022/dialog/lib/dialog.component.mjs +4 -6
  68. package/esm2022/dialog/lib/dialog.module.mjs +2 -2
  69. package/esm2022/drawer/lib/drawer-container.component.mjs +2 -2
  70. package/esm2022/dropdown/lib/dropdown.module.mjs +4 -21
  71. package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +4 -12
  72. package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +4 -23
  73. package/esm2022/form/lib/form.config.mjs +1 -1
  74. package/esm2022/form/lib/validation-rule.directive.mjs +2 -2
  75. package/esm2022/form/lib/validation-summary.component.mjs +30 -46
  76. package/esm2022/image/lib/image.component.mjs +2 -2
  77. package/esm2022/label/lib/label.component.mjs +2 -2
  78. package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
  79. package/esm2022/loading/lib/loading.component.mjs +5 -17
  80. package/esm2022/loading/lib/loading.config.mjs +1 -1
  81. package/esm2022/loading/lib/loading.directive.mjs +1 -1
  82. package/esm2022/loading/lib/loading.module.mjs +3 -11
  83. package/esm2022/loading/lib/loading.service.mjs +5 -11
  84. package/esm2022/loading-dialog/lib/loading-dialog.class.mjs +1 -1
  85. package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +4 -6
  86. package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +4 -23
  87. package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +1 -1
  88. package/esm2022/menu/lib/class/root-menu.class.mjs +1 -1
  89. package/esm2022/nav/lib/nav-item/nav-item.component.mjs +3 -3
  90. package/esm2022/nav/lib/nav.component.mjs +2 -2
  91. package/esm2022/navbar/lib/navbar.component.mjs +2 -2
  92. package/esm2022/notification/lib/notification.class.mjs +1 -1
  93. package/esm2022/notification/lib/notification.component.mjs +6 -10
  94. package/esm2022/notification/lib/notification.config.mjs +1 -1
  95. package/esm2022/notification/lib/notification.module.mjs +4 -18
  96. package/esm2022/notification/lib/notification.service.mjs +6 -13
  97. package/esm2022/number-box/lib/number-box.module.mjs +3 -13
  98. package/esm2022/page/lib/base-page.class.mjs +3 -3
  99. package/esm2022/password-box/lib/password-box.component.mjs +3 -13
  100. package/esm2022/phone-box/lib/phone-box.component.mjs +1 -1
  101. package/esm2022/picker/lib/picker-column.directive.mjs +2 -2
  102. package/esm2022/picker/lib/picker.component.mjs +7 -13
  103. package/esm2022/popup/lib/popup.component.mjs +3 -3
  104. package/esm2022/popup/lib/popup.module.mjs +2 -2
  105. package/esm2022/popup/lib/popup.service.mjs +2 -2
  106. package/esm2022/progress-bar/lib/progress-bar.component.mjs +1 -1
  107. package/esm2022/radio/lib/radio.component.mjs +2 -10
  108. package/esm2022/result/lib/result.component.mjs +2 -2
  109. package/esm2022/routing-progress/lib/routing-progress.component.mjs +3 -3
  110. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +2 -2
  111. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +2 -2
  112. package/esm2022/scheduler/lib/scheduler.component.mjs +2 -2
  113. package/esm2022/scheduler/lib/scheduler.module.mjs +4 -22
  114. package/esm2022/scss/lib/scss.module.mjs +2 -2
  115. package/esm2022/selection-list/lib/selection-list.component.mjs +4 -10
  116. package/esm2022/selection-list/lib/selection-list.module.mjs +4 -21
  117. package/esm2022/skeleton/lib/skeleton.component.mjs +2 -2
  118. package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +2 -2
  119. package/esm2022/step-wizard/lib/step-wizard.class.mjs +1 -1
  120. package/esm2022/step-wizard/lib/step-wizard.component.mjs +1 -1
  121. package/esm2022/step-wizard/lib/step-wizard.module.mjs +3 -11
  122. package/esm2022/switch/lib/switch-content.component.mjs +1 -1
  123. package/esm2022/switch/lib/switch.component.mjs +3 -10
  124. package/esm2022/tabs/lib/tab-item.component.mjs +32 -36
  125. package/esm2022/tabs/lib/tabs.class.mjs +1 -1
  126. package/esm2022/tabs/lib/tabs.component.mjs +1 -1
  127. package/esm2022/tag/lib/tag.component.mjs +2 -2
  128. package/esm2022/text-box/lib/mask-options.directive.mjs +1 -1
  129. package/esm2022/text-box/lib/text-box.component.mjs +3 -4
  130. package/esm2022/text-box/lib/text-box.module.mjs +4 -18
  131. package/esm2022/toast/lib/toast.component.mjs +3 -3
  132. package/esm2022/toast/lib/toast.config.mjs +1 -1
  133. package/esm2022/toast/lib/toast.module.mjs +4 -16
  134. package/esm2022/toast/lib/toast.service.mjs +7 -16
  135. package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +2 -2
  136. package/esm2022/uploader/lib/uploader-dialog-container.component.mjs +3 -3
  137. package/esm2022/uploader/lib/uploader-list.component.mjs +2 -2
  138. package/esm2022/uploader/lib/uploader-zone.directive.mjs +2 -2
  139. package/esm2022/uploader/lib/uploader.models.mjs +1 -1
  140. package/esm2022/uploader/lib/uploader.module.mjs +3 -11
  141. package/esm2022/wysiwyg/acorex-components-wysiwyg.mjs +5 -0
  142. package/esm2022/wysiwyg/index.mjs +5 -0
  143. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +27 -0
  144. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +113 -0
  145. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +11 -0
  146. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +13 -0
  147. package/esm2022/wysiwyg/lib/wysiwyg.module.mjs +27 -0
  148. package/fesm2022/acorex-components-alert.mjs +37 -132
  149. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  150. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  151. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  152. package/fesm2022/acorex-components-bottom-navigation.mjs +2 -7
  153. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  154. package/fesm2022/acorex-components-breadcrumbs.mjs +1 -4
  155. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  156. package/fesm2022/acorex-components-button.mjs +4 -25
  157. package/fesm2022/acorex-components-button.mjs.map +1 -1
  158. package/fesm2022/acorex-components-check-box.mjs +1 -9
  159. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  160. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  161. package/fesm2022/acorex-components-color-box.mjs +2 -10
  162. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  163. package/fesm2022/acorex-components-color-palette.mjs +22 -53
  164. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  165. package/fesm2022/acorex-components-comment.mjs +153 -0
  166. package/fesm2022/acorex-components-comment.mjs.map +1 -0
  167. package/fesm2022/acorex-components-common.mjs +17 -78
  168. package/fesm2022/acorex-components-common.mjs.map +1 -1
  169. package/fesm2022/acorex-components-conversation.mjs +2 -2
  170. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  171. package/fesm2022/acorex-components-data-pager.mjs +12 -46
  172. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  173. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  174. package/fesm2022/acorex-components-datetime-box.mjs +2 -14
  175. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  176. package/fesm2022/acorex-components-datetime-picker.mjs +1 -2
  177. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  178. package/fesm2022/acorex-components-decorators.mjs +7 -43
  179. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  180. package/fesm2022/acorex-components-dialog.mjs +1 -3
  181. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  182. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  183. package/fesm2022/acorex-components-dropdown-button.mjs +4 -31
  184. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  185. package/fesm2022/acorex-components-dropdown.mjs +3 -20
  186. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  187. package/fesm2022/acorex-components-form.mjs +28 -44
  188. package/fesm2022/acorex-components-form.mjs.map +1 -1
  189. package/fesm2022/acorex-components-image.mjs.map +1 -1
  190. package/fesm2022/acorex-components-label.mjs.map +1 -1
  191. package/fesm2022/acorex-components-loading-dialog.mjs +4 -25
  192. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  193. package/fesm2022/acorex-components-loading.mjs +11 -37
  194. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  195. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  196. package/fesm2022/acorex-components-nav.mjs.map +1 -1
  197. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  198. package/fesm2022/acorex-components-notification.mjs +8 -33
  199. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  200. package/fesm2022/acorex-components-number-box.mjs +2 -12
  201. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  202. package/fesm2022/acorex-components-page.mjs.map +1 -1
  203. package/fesm2022/acorex-components-password-box.mjs +1 -11
  204. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  205. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  206. package/fesm2022/acorex-components-picker.mjs +6 -12
  207. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  208. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  209. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  210. package/fesm2022/acorex-components-radio.mjs +1 -9
  211. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  212. package/fesm2022/acorex-components-result.mjs.map +1 -1
  213. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  214. package/fesm2022/acorex-components-scheduler.mjs +3 -21
  215. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  216. package/fesm2022/acorex-components-scss.mjs +1 -1
  217. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  218. package/fesm2022/acorex-components-selection-list.mjs +5 -28
  219. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  220. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  221. package/fesm2022/acorex-components-step-wizard.mjs +3 -11
  222. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  223. package/fesm2022/acorex-components-switch.mjs +1 -8
  224. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  225. package/fesm2022/acorex-components-tabs.mjs +30 -34
  226. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  227. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  228. package/fesm2022/acorex-components-text-box.mjs +4 -19
  229. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  230. package/fesm2022/acorex-components-toast.mjs +7 -28
  231. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  232. package/fesm2022/acorex-components-uploader.mjs +3 -11
  233. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  234. package/fesm2022/acorex-components-wysiwyg.mjs +183 -0
  235. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -0
  236. package/form/lib/validation-rule.directive.d.ts +1 -1
  237. package/package.json +55 -43
  238. package/uploader/lib/uploader-list.component.d.ts +1 -1
  239. package/wysiwyg/README.md +3 -0
  240. package/wysiwyg/index.d.ts +4 -0
  241. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +12 -0
  242. package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +28 -0
  243. package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +5 -0
  244. package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +7 -0
  245. package/wysiwyg/lib/wysiwyg.module.d.ts +13 -0
@@ -358,7 +358,7 @@ class AXConversationInputComponent extends classes((MXInputBaseValueComponent),
358
358
  useExisting: forwardRef(() => AXConversationInputComponent),
359
359
  multi: true,
360
360
  },
361
- ], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ 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]=\"'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 <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 <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 [name]=\"name\"\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)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($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 <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 <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 <input #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;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}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-color-danger-500));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-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),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-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}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: "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: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
361
+ ], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ 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]=\"'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 <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 <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 [name]=\"name\"\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)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($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 <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 <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 <input multiple #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;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}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-color-danger-500));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-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),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-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}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: "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: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
362
362
  }
363
363
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXConversationInputComponent, decorators: [{
364
364
  type: Component,
@@ -371,7 +371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
371
371
  useExisting: forwardRef(() => AXConversationInputComponent),
372
372
  multi: true,
373
373
  },
374
- ], template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ 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]=\"'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 <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 <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 [name]=\"name\"\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)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($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 <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 <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 <input #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;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}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-color-danger-500));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-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),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-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}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"] }]
374
+ ], template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ 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]=\"'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 <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 <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 [name]=\"name\"\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)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($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 <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 <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 <input multiple #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;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}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-color-danger-500));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-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),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-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}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"] }]
375
375
  }], propDecorators: { inputFile: [{
376
376
  type: ViewChild,
377
377
  args: ['inputFile']