@acorex/components 21.0.1-next.2 → 21.0.1-next.20

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 (247) hide show
  1. package/accordion/index.d.ts +0 -1
  2. package/action-sheet/index.d.ts +91 -31
  3. package/button-group/index.d.ts +6 -4
  4. package/chips/index.d.ts +3 -8
  5. package/collapse/index.d.ts +4 -6
  6. package/command/index.d.ts +8 -1
  7. package/conversation2/README.md +71 -31
  8. package/conversation2/index.d.ts +36 -35
  9. package/data-table/index.d.ts +4 -253
  10. package/datetime-picker/index.d.ts +1 -1
  11. package/fesm2022/acorex-components-accordion.mjs +16 -21
  12. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  13. package/fesm2022/acorex-components-action-sheet.mjs +170 -52
  14. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  15. package/fesm2022/acorex-components-alert.mjs +13 -13
  16. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  17. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  18. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  19. package/fesm2022/acorex-components-audio-wave.mjs +11 -10
  20. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  21. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  22. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  23. package/fesm2022/acorex-components-avatar.mjs +12 -12
  24. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  25. package/fesm2022/acorex-components-badge.mjs +9 -9
  26. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  27. package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
  28. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  29. package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
  30. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  31. package/fesm2022/acorex-components-button-group.mjs +23 -19
  32. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  33. package/fesm2022/acorex-components-button.mjs +18 -18
  34. package/fesm2022/acorex-components-button.mjs.map +1 -1
  35. package/fesm2022/acorex-components-calendar.mjs +17 -17
  36. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  37. package/fesm2022/acorex-components-check-box.mjs +10 -10
  38. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  39. package/fesm2022/acorex-components-chips.mjs +12 -14
  40. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  41. package/fesm2022/acorex-components-circular-progress.mjs +12 -10
  42. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  43. package/fesm2022/acorex-components-code-editor.mjs +10 -10
  44. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  45. package/fesm2022/acorex-components-collapse.mjs +22 -19
  46. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  47. package/fesm2022/acorex-components-color-box.mjs +9 -9
  48. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  49. package/fesm2022/acorex-components-color-palette.mjs +30 -30
  50. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  51. package/fesm2022/acorex-components-command.mjs +17 -11
  52. package/fesm2022/acorex-components-command.mjs.map +1 -1
  53. package/fesm2022/acorex-components-comment.mjs +32 -32
  54. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  55. package/fesm2022/acorex-components-conversation.mjs +51 -51
  56. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  57. package/fesm2022/acorex-components-conversation2.mjs +309 -303
  58. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  59. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  60. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  61. package/fesm2022/acorex-components-data-list.mjs +3 -3
  62. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  63. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  64. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  65. package/fesm2022/acorex-components-data-table.mjs +50 -486
  66. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  67. package/fesm2022/acorex-components-datetime-box.mjs +9 -9
  68. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  69. package/fesm2022/acorex-components-datetime-input.mjs +9 -9
  70. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  71. package/fesm2022/acorex-components-datetime-picker.mjs +40 -38
  72. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  73. package/fesm2022/acorex-components-decorators.mjs +43 -36
  74. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  75. package/fesm2022/acorex-components-dialog.mjs +12 -12
  76. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  77. package/fesm2022/acorex-components-drawer-legacy.mjs +13 -13
  78. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  79. package/fesm2022/acorex-components-drawer.mjs +15 -16
  80. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  81. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  82. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  83. package/fesm2022/acorex-components-dropdown.mjs +24 -18
  84. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  85. package/fesm2022/acorex-components-editor.mjs +11 -11
  86. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  87. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  88. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  89. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  90. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  91. package/fesm2022/acorex-components-form.mjs +32 -24
  92. package/fesm2022/acorex-components-form.mjs.map +1 -1
  93. package/fesm2022/acorex-components-grid-layout-builder.mjs +12 -13
  94. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  95. package/fesm2022/acorex-components-image-editor.mjs +44 -44
  96. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  97. package/fesm2022/acorex-components-image.mjs +9 -9
  98. package/fesm2022/acorex-components-image.mjs.map +1 -1
  99. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  100. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  101. package/fesm2022/acorex-components-kanban.mjs +155 -13
  102. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  103. package/fesm2022/acorex-components-kbd.mjs +29 -11
  104. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  105. package/fesm2022/acorex-components-label.mjs +9 -9
  106. package/fesm2022/acorex-components-label.mjs.map +1 -1
  107. package/fesm2022/acorex-components-list.mjs +9 -9
  108. package/fesm2022/acorex-components-list.mjs.map +1 -1
  109. package/fesm2022/acorex-components-loading-dialog.mjs +11 -11
  110. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  111. package/fesm2022/acorex-components-loading.mjs +23 -23
  112. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  113. package/fesm2022/acorex-components-map.mjs +14 -14
  114. package/fesm2022/acorex-components-map.mjs.map +1 -1
  115. package/fesm2022/acorex-components-media-viewer.mjs +72 -54
  116. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  117. package/fesm2022/acorex-components-menu.mjs +21 -21
  118. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  119. package/fesm2022/{acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs → acorex-components-modal-acorex-components-modal-BajlPo_n.mjs} +22 -22
  120. package/fesm2022/acorex-components-modal-acorex-components-modal-BajlPo_n.mjs.map +1 -0
  121. package/fesm2022/{acorex-components-modal-modal-content.component-CSJU1vRi.mjs → acorex-components-modal-modal-content.component-BVrBX4Qf.mjs} +9 -7
  122. package/fesm2022/acorex-components-modal-modal-content.component-BVrBX4Qf.mjs.map +1 -0
  123. package/fesm2022/acorex-components-modal.mjs +1 -1
  124. package/fesm2022/acorex-components-navbar.mjs +9 -9
  125. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  126. package/fesm2022/acorex-components-notification.mjs +28 -24
  127. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  128. package/fesm2022/acorex-components-number-box-legacy.mjs +9 -9
  129. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  130. package/fesm2022/acorex-components-number-box.mjs +9 -9
  131. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  132. package/fesm2022/acorex-components-otp.mjs +9 -9
  133. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  134. package/fesm2022/acorex-components-page.mjs +10 -10
  135. package/fesm2022/acorex-components-page.mjs.map +1 -1
  136. package/fesm2022/acorex-components-paint.mjs +34 -39
  137. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  138. package/fesm2022/acorex-components-password-box.mjs +13 -13
  139. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  140. package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
  141. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  142. package/fesm2022/acorex-components-phone-box.mjs +33 -40
  143. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  144. package/fesm2022/acorex-components-picker.mjs +19 -18
  145. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  146. package/fesm2022/acorex-components-popover.mjs +27 -12
  147. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  148. package/fesm2022/acorex-components-popup.mjs +88 -101
  149. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  150. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  151. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  152. package/fesm2022/acorex-components-qrcode.mjs +9 -9
  153. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  154. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  155. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  156. package/fesm2022/acorex-components-radio.mjs +9 -9
  157. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  158. package/fesm2022/acorex-components-rail-navigation.mjs +38 -36
  159. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  160. package/fesm2022/acorex-components-range-slider.mjs +10 -10
  161. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  162. package/fesm2022/acorex-components-rate-picker.mjs +20 -35
  163. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  164. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  165. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  166. package/fesm2022/acorex-components-result.mjs +8 -8
  167. package/fesm2022/acorex-components-result.mjs.map +1 -1
  168. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  169. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  170. package/fesm2022/acorex-components-rrule.mjs +9 -9
  171. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  172. package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
  173. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  174. package/fesm2022/acorex-components-scheduler.mjs +1220 -161
  175. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  176. package/fesm2022/acorex-components-scss.mjs +4 -4
  177. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  178. package/fesm2022/acorex-components-search-box.mjs +16 -10
  179. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  180. package/fesm2022/acorex-components-select-box.mjs +11 -9
  181. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  182. package/fesm2022/acorex-components-selection-list-2.mjs +11 -11
  183. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  184. package/fesm2022/acorex-components-selection-list.mjs +9 -9
  185. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  186. package/fesm2022/acorex-components-side-menu.mjs +74 -25
  187. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  188. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  189. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  190. package/fesm2022/acorex-components-slider.mjs +12 -12
  191. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  192. package/fesm2022/acorex-components-sliding-item.mjs +14 -14
  193. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  194. package/fesm2022/acorex-components-step-wizard.mjs +14 -14
  195. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  196. package/fesm2022/acorex-components-switch.mjs +14 -14
  197. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  198. package/fesm2022/acorex-components-tabs.mjs +15 -15
  199. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  200. package/fesm2022/acorex-components-tag-box.mjs +9 -9
  201. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  202. package/fesm2022/acorex-components-tag.mjs +9 -9
  203. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  204. package/fesm2022/acorex-components-text-area.mjs +9 -9
  205. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  206. package/fesm2022/acorex-components-text-box.mjs +12 -12
  207. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  208. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  209. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  210. package/fesm2022/acorex-components-time-line.mjs +12 -12
  211. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  212. package/fesm2022/acorex-components-toast.mjs +12 -12
  213. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  214. package/fesm2022/acorex-components-toolbar.mjs +8 -8
  215. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  216. package/fesm2022/acorex-components-tooltip.mjs +66 -65
  217. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  218. package/fesm2022/acorex-components-tree-view-legacy.mjs +16 -12
  219. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
  220. package/fesm2022/acorex-components-tree-view.mjs +26 -11
  221. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  222. package/fesm2022/acorex-components-uploader.mjs +16 -16
  223. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  224. package/fesm2022/acorex-components-video-player.mjs +8 -8
  225. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  226. package/fesm2022/acorex-components-wysiwyg.mjs +42 -42
  227. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  228. package/fesm2022/acorex-components.mjs.map +1 -1
  229. package/grid-layout-builder/index.d.ts +1 -2
  230. package/kanban/index.d.ts +61 -4
  231. package/kbd/index.d.ts +13 -7
  232. package/loading/index.d.ts +1 -1
  233. package/media-viewer/index.d.ts +2 -1
  234. package/package.json +7 -7
  235. package/paint/index.d.ts +1 -6
  236. package/phone-box/index.d.ts +1 -6
  237. package/popover/index.d.ts +6 -2
  238. package/popup/index.d.ts +37 -42
  239. package/rate-picker/index.d.ts +5 -15
  240. package/scheduler/index.d.ts +281 -27
  241. package/side-menu/index.d.ts +9 -2
  242. package/slider/index.d.ts +2 -2
  243. package/tooltip/index.d.ts +3 -7
  244. package/tree-view/index.d.ts +11 -0
  245. package/tree-view-legacy/index.d.ts +1 -0
  246. package/fesm2022/acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs.map +0 -1
  247. package/fesm2022/acorex-components-modal-modal-content.component-CSJU1vRi.mjs.map +0 -1
@@ -4,7 +4,7 @@ import { AXTabsModule, AXTabsComponent, AXTabItemComponent } from '@acorex/compo
4
4
  import * as i1$5 from '@angular/common';
5
5
  import { CommonModule, isPlatformBrowser, NgComponentOutlet } from '@angular/common';
6
6
  import * as i0 from '@angular/core';
7
- import { InjectionToken, inject, Injectable, signal, computed, input, output, Component, viewChild, effect, model, PLATFORM_ID, SecurityContext, DestroyRef, ViewContainerRef, ChangeDetectionStrategy, Directive, ElementRef, afterNextRender, untracked, EventEmitter, NgModule } from '@angular/core';
7
+ import { InjectionToken, inject, Injectable, signal, computed, input, output, Component, viewChild, effect, model, PLATFORM_ID, ChangeDetectionStrategy, SecurityContext, DestroyRef, ViewContainerRef, Directive, ElementRef, afterNextRender, untracked, EventEmitter, NgModule } from '@angular/core';
8
8
  import { Subject, BehaviorSubject, Observable, filter, of, takeUntil, catchError, EMPTY } from 'rxjs';
9
9
  import { AXDialogService } from '@acorex/components/dialog';
10
10
  import { AXPopupService } from '@acorex/components/popup';
@@ -681,10 +681,10 @@ class AXErrorHandlerService {
681
681
  // Errors are not stored, just emitted through observable
682
682
  // This method is here for future extensions if needed
683
683
  }
684
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
685
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXErrorHandlerService, providedIn: 'root' }); }
684
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
685
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXErrorHandlerService, providedIn: 'root' }); }
686
686
  }
687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXErrorHandlerService, decorators: [{
687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXErrorHandlerService, decorators: [{
688
688
  type: Injectable,
689
689
  args: [{
690
690
  providedIn: 'root',
@@ -1186,10 +1186,10 @@ class AXConversationStoreService {
1186
1186
  conversationsWithMessages: this._conversationMessages().size,
1187
1187
  };
1188
1188
  }
1189
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1190
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationStoreService }); }
1189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1190
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationStoreService }); }
1191
1191
  }
1192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationStoreService, decorators: [{
1192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationStoreService, decorators: [{
1193
1193
  type: Injectable
1194
1194
  }] });
1195
1195
 
@@ -1711,10 +1711,10 @@ class AXComposerActionRegistry {
1711
1711
  clear() {
1712
1712
  this._actions.set([]);
1713
1713
  }
1714
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1715
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerActionRegistry }); }
1714
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1715
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerActionRegistry }); }
1716
1716
  }
1717
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerActionRegistry, decorators: [{
1717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerActionRegistry, decorators: [{
1718
1718
  type: Injectable
1719
1719
  }], ctorParameters: () => [] });
1720
1720
 
@@ -1791,10 +1791,10 @@ class AXComposerTabRegistry {
1791
1791
  clear() {
1792
1792
  this._tabs.set([]);
1793
1793
  }
1794
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerTabRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1795
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerTabRegistry }); }
1794
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerTabRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1795
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerTabRegistry }); }
1796
1796
  }
1797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerTabRegistry, decorators: [{
1797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerTabRegistry, decorators: [{
1798
1798
  type: Injectable
1799
1799
  }], ctorParameters: () => [] });
1800
1800
 
@@ -1962,10 +1962,10 @@ class AXConversationItemActionRegistry extends AXBaseRegistry {
1962
1962
  }
1963
1963
  return action.tooltip;
1964
1964
  }
1965
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationItemActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1966
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationItemActionRegistry }); }
1965
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationItemActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1966
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationItemActionRegistry }); }
1967
1967
  }
1968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationItemActionRegistry, decorators: [{
1968
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationItemActionRegistry, decorators: [{
1969
1969
  type: Injectable
1970
1970
  }], ctorParameters: () => [] });
1971
1971
 
@@ -2067,10 +2067,10 @@ class AXConversationTabRegistry {
2067
2067
  clear() {
2068
2068
  this._tabs.set([]);
2069
2069
  }
2070
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationTabRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2071
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationTabRegistry }); }
2070
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationTabRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2071
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationTabRegistry }); }
2072
2072
  }
2073
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationTabRegistry, decorators: [{
2073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationTabRegistry, decorators: [{
2074
2074
  type: Injectable
2075
2075
  }], ctorParameters: () => [] });
2076
2076
 
@@ -2159,10 +2159,10 @@ class AXInfoBarActionRegistry extends AXBaseRegistry {
2159
2159
  }
2160
2160
  return action.tooltip;
2161
2161
  }
2162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2163
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarActionRegistry }); }
2162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2163
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarActionRegistry }); }
2164
2164
  }
2165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarActionRegistry, decorators: [{
2165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarActionRegistry, decorators: [{
2166
2166
  type: Injectable
2167
2167
  }], ctorParameters: () => [] });
2168
2168
 
@@ -2263,10 +2263,10 @@ class AXMessageActionRegistry {
2263
2263
  clear() {
2264
2264
  this._actions.set([]);
2265
2265
  }
2266
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2267
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageActionRegistry }); }
2266
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2267
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageActionRegistry }); }
2268
2268
  }
2269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageActionRegistry, decorators: [{
2269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageActionRegistry, decorators: [{
2270
2270
  type: Injectable
2271
2271
  }], ctorParameters: () => [] });
2272
2272
 
@@ -3572,10 +3572,10 @@ class AXIndexedDBUserApi extends AXUserApi {
3572
3572
  // Mock update settings
3573
3573
  await Promise.resolve();
3574
3574
  }
3575
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBUserApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3576
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBUserApi }); }
3575
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBUserApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3576
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBUserApi }); }
3577
3577
  }
3578
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBUserApi, decorators: [{
3578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBUserApi, decorators: [{
3579
3579
  type: Injectable
3580
3580
  }] });
3581
3581
 
@@ -3829,10 +3829,10 @@ class AXIndexedDBConversationApi extends AXConversationApi {
3829
3829
  // Mock clear draft
3830
3830
  await Promise.resolve();
3831
3831
  }
3832
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBConversationApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3833
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBConversationApi }); }
3832
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBConversationApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3833
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBConversationApi }); }
3834
3834
  }
3835
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBConversationApi, decorators: [{
3835
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBConversationApi, decorators: [{
3836
3836
  type: Injectable
3837
3837
  }] });
3838
3838
 
@@ -4163,10 +4163,10 @@ class AXIndexedDBMessageApi extends AXMessageApi {
4163
4163
  // Mock export - return empty JSON
4164
4164
  return JSON.stringify({ messages: [] });
4165
4165
  }
4166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBMessageApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4167
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBMessageApi }); }
4166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBMessageApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4167
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBMessageApi }); }
4168
4168
  }
4169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBMessageApi, decorators: [{
4169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBMessageApi, decorators: [{
4170
4170
  type: Injectable
4171
4171
  }] });
4172
4172
 
@@ -4313,10 +4313,10 @@ class AXIndexedDBRealtimeApi extends AXRealtimeApi {
4313
4313
  // Mock draft changes
4314
4314
  return new Observable(() => { });
4315
4315
  }
4316
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBRealtimeApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4317
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBRealtimeApi }); }
4316
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBRealtimeApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4317
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBRealtimeApi }); }
4318
4318
  }
4319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBRealtimeApi, decorators: [{
4319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBRealtimeApi, decorators: [{
4320
4320
  type: Injectable
4321
4321
  }] });
4322
4322
 
@@ -4489,10 +4489,10 @@ class AXAIResponderService {
4489
4489
  configure(config) {
4490
4490
  Object.assign(this.config, config);
4491
4491
  }
4492
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAIResponderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4493
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAIResponderService, providedIn: 'root' }); }
4492
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXAIResponderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4493
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXAIResponderService, providedIn: 'root' }); }
4494
4494
  }
4495
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAIResponderService, decorators: [{
4495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXAIResponderService, decorators: [{
4496
4496
  type: Injectable,
4497
4497
  args: [{
4498
4498
  providedIn: 'root',
@@ -4782,10 +4782,10 @@ class AXIndexedDBMessageAIApi extends AXIndexedDBMessageApi {
4782
4782
  delay(ms) {
4783
4783
  return new Promise((resolve) => setTimeout(resolve, ms));
4784
4784
  }
4785
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBMessageAIApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4786
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBMessageAIApi }); }
4785
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBMessageAIApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4786
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBMessageAIApi }); }
4787
4787
  }
4788
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXIndexedDBMessageAIApi, decorators: [{
4788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXIndexedDBMessageAIApi, decorators: [{
4789
4789
  type: Injectable
4790
4790
  }] });
4791
4791
 
@@ -4968,10 +4968,10 @@ class AXFileUploadService {
4968
4968
  }
4969
4969
  return { accepted, rejected };
4970
4970
  }
4971
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFileUploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4972
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFileUploadService, providedIn: 'root' }); }
4971
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXFileUploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4972
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXFileUploadService, providedIn: 'root' }); }
4973
4973
  }
4974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFileUploadService, decorators: [{
4974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXFileUploadService, decorators: [{
4975
4975
  type: Injectable,
4976
4976
  args: [{
4977
4977
  providedIn: 'root',
@@ -4989,8 +4989,8 @@ class AXPickerFooterComponent {
4989
4989
  this.onCancel = output();
4990
4990
  this.onSend = output();
4991
4991
  }
4992
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPickerFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4993
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: AXPickerFooterComponent, isStandalone: true, selector: "ax-picker-footer", inputs: { sendText: { classPropertyName: "sendText", publicName: "sendText", isSignal: true, isRequired: true, transformFunction: null }, sendDisabled: { classPropertyName: "sendDisabled", publicName: "sendDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCancel: "onCancel", onSend: "onSend" }, ngImport: i0, template: `
4992
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPickerFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4993
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: AXPickerFooterComponent, isStandalone: true, selector: "ax-picker-footer", inputs: { sendText: { classPropertyName: "sendText", publicName: "sendText", isSignal: true, isRequired: true, transformFunction: null }, sendDisabled: { classPropertyName: "sendDisabled", publicName: "sendDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCancel: "onCancel", onSend: "onSend" }, ngImport: i0, template: `
4994
4994
  <div class="picker-footer">
4995
4995
  <ax-button text="Cancel" look="solid" color="danger" (onClick)="onCancel.emit()" />
4996
4996
  <ax-button
@@ -5003,7 +5003,7 @@ class AXPickerFooterComponent {
5003
5003
  </div>
5004
5004
  `, isInline: true, styles: [".picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border))}\n"], dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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"] }] }); }
5005
5005
  }
5006
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPickerFooterComponent, decorators: [{
5006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPickerFooterComponent, decorators: [{
5007
5007
  type: Component,
5008
5008
  args: [{ selector: 'ax-picker-footer', imports: [AXButtonModule], template: `
5009
5009
  <div class="picker-footer">
@@ -5028,8 +5028,8 @@ class AXPickerHeaderComponent {
5028
5028
  this.title = input.required(...(ngDevMode ? [{ debugName: "title" }] : []));
5029
5029
  this.onClose = output();
5030
5030
  }
5031
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPickerHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5032
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: AXPickerHeaderComponent, isStandalone: true, selector: "ax-picker-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
5031
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPickerHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5032
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: AXPickerHeaderComponent, isStandalone: true, selector: "ax-picker-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
5033
5033
  <div class="picker-header">
5034
5034
  <span class="picker-title">{{ title() }}</span>
5035
5035
  <button type="button" class="close-button" (click)="onClose.emit()" aria-label="Close">
@@ -5038,7 +5038,7 @@ class AXPickerHeaderComponent {
5038
5038
  </div>
5039
5039
  `, isInline: true, styles: [".picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}\n"] }); }
5040
5040
  }
5041
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPickerHeaderComponent, decorators: [{
5041
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPickerHeaderComponent, decorators: [{
5042
5042
  type: Component,
5043
5043
  args: [{ selector: 'ax-picker-header', template: `
5044
5044
  <div class="picker-header">
@@ -5148,8 +5148,8 @@ class AXAudioPickerComponent {
5148
5148
  formatDuration(seconds) {
5149
5149
  return this.fileUploadService.formatDuration(seconds);
5150
5150
  }
5151
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAudioPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5152
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXAudioPickerComponent, isStandalone: true, selector: "ax-conversation-audio-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
5151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXAudioPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5152
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXAudioPickerComponent, isStandalone: true, selector: "ax-conversation-audio-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
5153
5153
  <div class="audio-picker">
5154
5154
  <ax-picker-header [title]="'Send Audio'" (onClose)="cancel()" />
5155
5155
 
@@ -5232,9 +5232,9 @@ class AXAudioPickerComponent {
5232
5232
  (change)="onFileInputChange($event)"
5233
5233
  />
5234
5234
  </div>
5235
- `, isInline: true, styles: [":host{display:block;width:100%}.audio-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface-variant));margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.picker-audio{padding:.75rem}.audio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.audio-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.audio-list{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.75rem}.audio-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border));transition:background-color .2s}.audio-item:hover{background:rgb(var(--ax-sys-color-surface-variant))}.audio-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary) / .1);color:rgb(var(--ax-sys-color-primary));font-size:1.125rem;flex-shrink:0}.audio-info{flex:1;min-width:0}.audio-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.audio-meta{display:flex;gap:1rem;font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
5235
+ `, isInline: true, styles: [":host{display:block;width:100%}.audio-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-audio{padding:.75rem}.audio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.audio-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.audio-list{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.75rem}.audio-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border-surface));transition:background-color .2s}.audio-item:hover{background:rgb(var(--ax-sys-color-light-surface))}.audio-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary-500) / .1);color:rgb(var(--ax-sys-color-primary-500));font-size:1.125rem;flex-shrink:0}.audio-info{flex:1;min-width:0}.audio-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.audio-meta{display:flex;gap:1rem;font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
5236
5236
  }
5237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAudioPickerComponent, decorators: [{
5237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXAudioPickerComponent, decorators: [{
5238
5238
  type: Component,
5239
5239
  args: [{ selector: 'ax-conversation-audio-picker', imports: [
5240
5240
  CommonModule,
@@ -5327,7 +5327,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
5327
5327
  (change)="onFileInputChange($event)"
5328
5328
  />
5329
5329
  </div>
5330
- `, styles: [":host{display:block;width:100%}.audio-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface-variant));margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.picker-audio{padding:.75rem}.audio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.audio-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.audio-list{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.75rem}.audio-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border));transition:background-color .2s}.audio-item:hover{background:rgb(var(--ax-sys-color-surface-variant))}.audio-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary) / .1);color:rgb(var(--ax-sys-color-primary));font-size:1.125rem;flex-shrink:0}.audio-info{flex:1;min-width:0}.audio-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.audio-meta{display:flex;gap:1rem;font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}\n"] }]
5330
+ `, styles: [":host{display:block;width:100%}.audio-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-audio{padding:.75rem}.audio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.audio-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.audio-list{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.75rem}.audio-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border-surface));transition:background-color .2s}.audio-item:hover{background:rgb(var(--ax-sys-color-light-surface))}.audio-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary-500) / .1);color:rgb(var(--ax-sys-color-primary-500));font-size:1.125rem;flex-shrink:0}.audio-info{flex:1;min-width:0}.audio-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.audio-meta{display:flex;gap:1rem;font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"] }]
5331
5331
  }], propDecorators: { conversation: [{ type: i0.Input, args: [{ isSignal: true, alias: "conversation", required: true }] }], fileInput: [{ type: i0.ViewChild, args: ['fileInput', { isSignal: true }] }] } });
5332
5332
 
5333
5333
  /**
@@ -5644,8 +5644,8 @@ class AXEmojiTabComponent {
5644
5644
  selectEmoji(emoji) {
5645
5645
  this.itemSelected.emit(emoji);
5646
5646
  }
5647
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXEmojiTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5648
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXEmojiTabComponent, isStandalone: true, selector: "ax-emoji-tab", outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: `
5647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXEmojiTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5648
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXEmojiTabComponent, isStandalone: true, selector: "ax-emoji-tab", outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: `
5649
5649
  <div class="emoji-tab">
5650
5650
  <!-- Search -->
5651
5651
  <div class="emoji-search">
@@ -5694,7 +5694,7 @@ class AXEmojiTabComponent {
5694
5694
  </div>
5695
5695
  `, isInline: true, styles: [".emoji-tab{display:flex;flex-direction:column;height:100%}.emoji-search{position:sticky;top:0;z-index:10;padding-block:.75rem}.emoji-categories{display:flex;align-items:center;flex-shrink:0;gap:.25rem;margin-bottom:.75rem;padding-bottom:.75rem;overflow-x:auto;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.category-button{height:3rem;width:3rem;display:flex;justify-content:center;align-items:center;padding:.5rem;border:none;background:transparent;border-radius:.375rem;cursor:pointer;font-size:1.25rem;transition:all .15s;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.category-button:hover{background:rgb(var(--ax-sys-color-light-surface))}.category-button-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface))}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,40px);gap:.25rem;// overflow-y: auto;max-height:240px}.emoji-button{width:3rem;height:3rem;padding:.5rem;border:none;background:transparent;border-radius:.375rem;cursor:pointer;font-size:1.5rem;transition:all .15s;display:flex;align-items:center;justify-content:center;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.emoji-button:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.2)}.emoji-empty{padding:2rem;text-align:center;opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }] }); }
5696
5696
  }
5697
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXEmojiTabComponent, decorators: [{
5697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXEmojiTabComponent, decorators: [{
5698
5698
  type: Component,
5699
5699
  args: [{ selector: 'ax-emoji-tab', imports: [CommonModule, FormsModule, AXSearchBoxModule], template: `
5700
5700
  <div class="emoji-tab">
@@ -5890,8 +5890,8 @@ class AXStickerTabComponent {
5890
5890
  selectSticker(sticker) {
5891
5891
  this.itemSelected.emit(sticker);
5892
5892
  }
5893
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXStickerTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5894
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXStickerTabComponent, isStandalone: true, selector: "ax-sticker-tab", outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: `
5893
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXStickerTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5894
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXStickerTabComponent, isStandalone: true, selector: "ax-sticker-tab", outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: `
5895
5895
  <div class="sticker-tab">
5896
5896
  <!-- Search -->
5897
5897
  <div class="sticker-search">
@@ -5953,7 +5953,7 @@ class AXStickerTabComponent {
5953
5953
  </div>
5954
5954
  `, isInline: true, styles: [".sticker-tab{display:flex;flex-direction:column;height:100%}.sticker-search{position:sticky;top:0;z-index:10;padding-block:.75rem}.sticker-packs{display:flex;gap:.25rem;padding-top:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.pack-button{width:3rem;height:3rem;padding:.5rem;border:none;background:transparent;border-radius:.375rem;cursor:pointer;font-size:1.25rem;transition:all .15s;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pack-button:hover{background:rgb(var(--ax-sys-color-light-surface))}.pack-button-active{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;overflow-y:auto;max-height:240px}.sticker-button{padding:.5rem;border:none;background:transparent;border-radius:.375rem;cursor:pointer;transition:all .15s;aspect-ratio:1}.sticker-button:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.05)}.sticker-image{width:100%;height:100%;object-fit:contain}.sticker-empty{padding:2rem;text-align:center;opacity:.6}.sticker-skeleton{height:5rem;aspect-ratio:1;border-radius:.375rem;overflow:hidden}.skeleton-item{width:100%;height:100%;border-radius:.375rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i1$2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }] }); }
5955
5955
  }
5956
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXStickerTabComponent, decorators: [{
5956
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXStickerTabComponent, decorators: [{
5957
5957
  type: Component,
5958
5958
  args: [{ selector: 'ax-sticker-tab', imports: [CommonModule, FormsModule, AXSkeletonModule, AXSearchBoxModule], template: `
5959
5959
  <div class="sticker-tab">
@@ -6155,8 +6155,8 @@ class AXContactPickerComponent {
6155
6155
  }
6156
6156
  }
6157
6157
  }
6158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXContactPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXContactPickerComponent, isStandalone: true, selector: "ax-conversation-contact-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
6158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXContactPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXContactPickerComponent, isStandalone: true, selector: "ax-conversation-contact-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
6160
6160
  <div class="contact-picker">
6161
6161
  <ax-picker-header [title]="'Send Contact'" (onClose)="cancel()" />
6162
6162
 
@@ -6252,7 +6252,7 @@ class AXContactPickerComponent {
6252
6252
  </div>
6253
6253
  `, isInline: true, styles: [":host{display:block;width:100%}.contact-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;max-height:450px}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-content{flex:1;overflow-y:auto;padding:.75rem}.content-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;height:100%}@media (max-width: 768px){.content-grid{grid-template-columns:1fr;gap:0}.divider-vertical{display:none}.manual-entry{border-bottom:1px solid rgb(var(--ax-sys-color-border));padding-bottom:1rem;margin-bottom:1rem}}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.5rem}.section-title{margin:0;font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));display:flex;align-items:center;gap:.5rem}.section-title:before{content:\"\";width:3px;height:1rem;background:rgb(var(--ax-sys-color-primary));border-radius:2px}.manual-entry{display:flex;flex-direction:column}.form-fields{display:flex;flex-direction:column;gap:.75rem}.form-field{margin-bottom:.75rem}.form-field ax-label{display:block;margin-bottom:.5rem}.divider-vertical{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.divider-vertical:before{content:\"\";position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgb(var(--ax-sys-color-border));transform:translate(-50%)}.divider-text{position:relative;z-index:1;padding:.5rem;background:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-surface-variant));font-size:.75rem;font-weight:600;border-radius:.25rem}.contact-list-section{display:flex;flex-direction:column;min-height:0}.search-box{margin-bottom:.75rem}.contact-list{flex:1;overflow-y:auto;border:1px solid rgb(var(--ax-sys-color-border));border-radius:.5rem;background:rgb(var(--ax-sys-color-surface))}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem 1rem;color:rgb(var(--ax-sys-color-on-surface-variant));gap:.5rem}.empty-state i{font-size:1.75rem}.contact-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;transition:all .2s;border-bottom:1px solid rgb(var(--ax-sys-color-border))}.contact-item:last-child{border-bottom:none}.contact-item:hover{background:rgb(var(--ax-sys-color-surface-variant));// transform: translateX(2px)}.contact-item.selected{background:rgb(var(--ax-sys-color-primary) / .1);border-left:3px solid rgb(var(--ax-sys-color-primary));padding-left:calc(.75rem - 3px)}.contact-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0}.contact-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgb(var(--ax-sys-color-primary));color:rgb(var(--ax-sys-color-on-primary));font-weight:600;font-size:.875rem}.contact-info{flex:1}.contact-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.contact-phone{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.contact-item i{color:rgb(var(--ax-sys-color-primary))}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i2$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
6254
6254
  }
6255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXContactPickerComponent, decorators: [{
6255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXContactPickerComponent, decorators: [{
6256
6256
  type: Component,
6257
6257
  args: [{ selector: 'ax-conversation-contact-picker', imports: [
6258
6258
  CommonModule,
@@ -6545,8 +6545,8 @@ class AXFilePickerComponent {
6545
6545
  }
6546
6546
  return `${uploadedCount}/${fileList.length} Ready`;
6547
6547
  }
6548
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFilePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6549
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXFilePickerComponent, isStandalone: true, selector: "ax-conversation-file-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null }, service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
6548
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXFilePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6549
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXFilePickerComponent, isStandalone: true, selector: "ax-conversation-file-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null }, service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
6550
6550
  <div class="file-picker">
6551
6551
  <ax-picker-header [title]="'Attach Files'" (onClose)="cancel()" />
6552
6552
 
@@ -6654,9 +6654,9 @@ class AXFilePickerComponent {
6654
6654
  (change)="onFileInputChange($event)"
6655
6655
  />
6656
6656
  </div>
6657
- `, isInline: true, styles: [":host{display:block;width:100%}.file-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;max-height:450px}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-content{flex:1;overflow-y:auto}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;min-height:160px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface-variant));margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.picker-body{padding:.75rem}.body-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.item-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.files-list{display:flex;flex-direction:column;gap:.625rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border));transition:background-color .2s}.file-item:hover{background:rgb(var(--ax-sys-color-surface-variant))}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary) / .1);color:rgb(var(--ax-sys-color-primary));font-size:1.25rem;flex-shrink:0;overflow:hidden}.file-icon img{width:100%;height:100%;object-fit:cover}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.progress-container{width:100%;margin-top:.125rem}.upload-success{color:rgb(var(--ax-sys-color-success));font-weight:500}.upload-error{color:rgb(var(--ax-sys-color-error));font-weight:500}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXProgressBarModule }, { kind: "component", type: i3$1.AXProgressBarComponent, selector: "ax-progress-bar", inputs: ["color", "mode", "progress", "height"], outputs: ["ValueChange", "sizeChange"] }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
6657
+ `, isInline: true, styles: [":host{display:block;width:100%}.file-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;max-height:450px}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-content{flex:1;overflow-y:auto}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;min-height:160px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-body{padding:.75rem}.body-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.item-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface) / .65)}.files-list{display:flex;flex-direction:column;gap:.625rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border-surface));transition:background-color .2s}.file-item:hover{background:rgb(var(--ax-sys-color-light-surface))}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary-500) / .1);color:rgb(var(--ax-sys-color-primary-500));font-size:1.25rem;flex-shrink:0;overflow:hidden}.file-icon img{width:100%;height:100%;object-fit:cover}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.progress-container{width:100%;margin-top:.125rem}.upload-success{color:rgb(var(--ax-sys-color-success-600));font-weight:500}.upload-error{color:rgb(var(--ax-sys-color-danger-600));font-weight:500}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXProgressBarModule }, { kind: "component", type: i3$1.AXProgressBarComponent, selector: "ax-progress-bar", inputs: ["color", "mode", "progress", "height"], outputs: ["ValueChange", "sizeChange"] }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
6658
6658
  }
6659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFilePickerComponent, decorators: [{
6659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXFilePickerComponent, decorators: [{
6660
6660
  type: Component,
6661
6661
  args: [{ selector: 'ax-conversation-file-picker', imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXProgressBarModule, AXPickerHeaderComponent, AXPickerFooterComponent], template: `
6662
6662
  <div class="file-picker">
@@ -6766,7 +6766,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
6766
6766
  (change)="onFileInputChange($event)"
6767
6767
  />
6768
6768
  </div>
6769
- `, styles: [":host{display:block;width:100%}.file-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;max-height:450px}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-content{flex:1;overflow-y:auto}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;min-height:160px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface-variant));margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.picker-body{padding:.75rem}.body-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.item-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.files-list{display:flex;flex-direction:column;gap:.625rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border));transition:background-color .2s}.file-item:hover{background:rgb(var(--ax-sys-color-surface-variant))}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary) / .1);color:rgb(var(--ax-sys-color-primary));font-size:1.25rem;flex-shrink:0;overflow:hidden}.file-icon img{width:100%;height:100%;object-fit:cover}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.progress-container{width:100%;margin-top:.125rem}.upload-success{color:rgb(var(--ax-sys-color-success));font-weight:500}.upload-error{color:rgb(var(--ax-sys-color-error));font-weight:500}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}\n"] }]
6769
+ `, styles: [":host{display:block;width:100%}.file-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;max-height:450px}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-content{flex:1;overflow-y:auto}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;min-height:160px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-body{padding:.75rem}.body-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.item-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface) / .65)}.files-list{display:flex;flex-direction:column;gap:.625rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border-surface));transition:background-color .2s}.file-item:hover{background:rgb(var(--ax-sys-color-light-surface))}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.375rem;background:rgb(var(--ax-sys-color-primary-500) / .1);color:rgb(var(--ax-sys-color-primary-500));font-size:1.25rem;flex-shrink:0;overflow:hidden}.file-icon img{width:100%;height:100%;object-fit:cover}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.progress-container{width:100%;margin-top:.125rem}.upload-success{color:rgb(var(--ax-sys-color-success-600));font-weight:500}.upload-error{color:rgb(var(--ax-sys-color-danger-600));font-weight:500}.remove-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;flex-shrink:0;font-size:1rem}.remove-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"] }]
6770
6770
  }], propDecorators: { conversation: [{ type: i0.Input, args: [{ isSignal: true, alias: "conversation", required: true }] }], service: [{ type: i0.Input, args: [{ isSignal: true, alias: "service", required: false }] }], fileInput: [{ type: i0.ViewChild, args: ['fileInput', { isSignal: true }] }] } });
6771
6771
 
6772
6772
  /**
@@ -6866,8 +6866,8 @@ class AXImagePickerComponent {
6866
6866
  return (bytes / 1024).toFixed(1) + ' KB';
6867
6867
  return (bytes / (1024 * 1024)).toFixed(1) + ' MB';
6868
6868
  }
6869
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXImagePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6870
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXImagePickerComponent, isStandalone: true, selector: "ax-conversation-image-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
6869
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXImagePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6870
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXImagePickerComponent, isStandalone: true, selector: "ax-conversation-image-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
6871
6871
  <div class="image-picker">
6872
6872
  <ax-picker-header [title]="'Send Images'" (onClose)="cancel()" />
6873
6873
 
@@ -6945,9 +6945,9 @@ class AXImagePickerComponent {
6945
6945
  (change)="onFileInputChange($event)"
6946
6946
  />
6947
6947
  </div>
6948
- `, isInline: true, styles: [":host{display:block;width:100%}.image-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface-variant));margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.picker-images{padding:.75rem}.images-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.images-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-bottom:.75rem}.image-item{display:flex;flex-direction:column;gap:.5rem}.image-preview{position:relative;aspect-ratio:1;border-radius:.375rem;overflow:hidden;background:rgb(var(--ax-sys-color-surface-variant));border:1px solid rgb(var(--ax-sys-color-border))}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-button{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:rgb(var(--ax-sys-color-error));color:rgb(var(--ax-sys-color-on-error));border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s;font-size:.75rem;box-shadow:0 2px 4px #0003}.image-item:hover .remove-button{opacity:1}.image-info{display:flex;flex-direction:column;gap:.25rem}.image-name{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
6948
+ `, isInline: true, styles: [":host{display:block;width:100%}.image-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-images{padding:.75rem}.images-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.images-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface) / .65)}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-bottom:.75rem}.image-item{display:flex;flex-direction:column;gap:.5rem}.image-preview{position:relative;aspect-ratio:1;border-radius:.375rem;overflow:hidden;background:rgb(var(--ax-sys-color-light-surface));border:1px solid rgb(var(--ax-sys-color-border-surface))}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-button{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:rgb(var(--ax-sys-color-danger-500));color:rgb(var(--ax-sys-color-light));border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s;font-size:.75rem;box-shadow:0 2px 4px #0003}.image-item:hover .remove-button{opacity:1}.image-info{display:flex;flex-direction:column;gap:.25rem}.image-name{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
6949
6949
  }
6950
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXImagePickerComponent, decorators: [{
6950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXImagePickerComponent, decorators: [{
6951
6951
  type: Component,
6952
6952
  args: [{ selector: 'ax-conversation-image-picker', imports: [
6953
6953
  CommonModule,
@@ -7035,7 +7035,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
7035
7035
  (change)="onFileInputChange($event)"
7036
7036
  />
7037
7037
  </div>
7038
- `, styles: [":host{display:block;width:100%}.image-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface-variant));margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.picker-images{padding:.75rem}.images-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.images-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-bottom:.75rem}.image-item{display:flex;flex-direction:column;gap:.5rem}.image-preview{position:relative;aspect-ratio:1;border-radius:.375rem;overflow:hidden;background:rgb(var(--ax-sys-color-surface-variant));border:1px solid rgb(var(--ax-sys-color-border))}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-button{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:rgb(var(--ax-sys-color-error));color:rgb(var(--ax-sys-color-on-error));border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s;font-size:.75rem;box-shadow:0 2px 4px #0003}.image-item:hover .remove-button{opacity:1}.image-info{display:flex;flex-direction:column;gap:.25rem}.image-name{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}\n"] }]
7038
+ `, styles: [":host{display:block;width:100%}.image-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border-surface));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface) / .65);margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface) / .65)}.picker-images{padding:.75rem}.images-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.images-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface) / .65)}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-bottom:.75rem}.image-item{display:flex;flex-direction:column;gap:.5rem}.image-preview{position:relative;aspect-ratio:1;border-radius:.375rem;overflow:hidden;background:rgb(var(--ax-sys-color-light-surface));border:1px solid rgb(var(--ax-sys-color-border-surface))}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-button{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:rgb(var(--ax-sys-color-danger-500));color:rgb(var(--ax-sys-color-light));border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s;font-size:.75rem;box-shadow:0 2px 4px #0003}.image-item:hover .remove-button{opacity:1}.image-info{display:flex;flex-direction:column;gap:.25rem}.image-name{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-size{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border-surface));background:rgb(var(--ax-sys-color-surface))}\n"] }]
7039
7039
  }], propDecorators: { conversation: [{ type: i0.Input, args: [{ isSignal: true, alias: "conversation", required: true }] }], fileInput: [{ type: i0.ViewChild, args: ['fileInput', { isSignal: true }] }] } });
7040
7040
 
7041
7041
  /**
@@ -7082,8 +7082,8 @@ class AXLocationPickerComponent {
7082
7082
  });
7083
7083
  this.composerService.hideComponent();
7084
7084
  }
7085
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLocationPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7086
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: AXLocationPickerComponent, isStandalone: true, selector: "ax-conversation-location-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
7085
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXLocationPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7086
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: AXLocationPickerComponent, isStandalone: true, selector: "ax-conversation-location-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
7087
7087
  <div class="location-picker">
7088
7088
  <ax-picker-header [title]="'Send Location'" (onClose)="cancel()" />
7089
7089
 
@@ -7123,7 +7123,7 @@ class AXLocationPickerComponent {
7123
7123
  </div>
7124
7124
  `, isInline: true, styles: [":host{display:block;width:100%}.location-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden;height:400px}.picker-content{flex:1;overflow-y:auto}.map-container{height:10rem}.location-info{padding:.75rem 1rem;background:rgb(var(--ax-sys-color-surface));border-top:1px solid rgb(var(--ax-sys-color-border))}.info-row{display:flex;align-items:center;gap:.75rem}.info-row i{font-size:1.25rem;color:rgb(var(--ax-sys-color-primary))}.info-text{flex:1}.info-label{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant));margin-bottom:.25rem}.info-value{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));font-family:monospace}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$3.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "maxPolygon", "hasDraw", "hasLocator", "fitToDraw", "limitDraw", "addPoiToFitDraw", "addMarkerOnTap", "readonly", "disabled", "markerPlace", "locatePlace", "poiMinZoom", "markers", "polygons", "pois"], outputs: ["zoomLevelChange", "latitudeChange", "longitudeChange", "onMarkerAdded", "onMarkerClick", "onMarkerChanged", "onPolygonAdded", "onPolygonClick", "onPolygonChanged", "onLocationFound", "onPoiChanged", "onPoiAdded", "onMapReady", "onLoadError"] }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
7125
7125
  }
7126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLocationPickerComponent, decorators: [{
7126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXLocationPickerComponent, decorators: [{
7127
7127
  type: Component,
7128
7128
  args: [{ selector: 'ax-conversation-location-picker', imports: [CommonModule, AXMapModule, AXPickerHeaderComponent, AXPickerFooterComponent], template: `
7129
7129
  <div class="location-picker">
@@ -7266,8 +7266,8 @@ class AXVideoPickerComponent {
7266
7266
  formatDuration(seconds) {
7267
7267
  return this.fileUploadService.formatDuration(seconds);
7268
7268
  }
7269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXVideoPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXVideoPickerComponent, isStandalone: true, selector: "ax-conversation-video-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
7269
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXVideoPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7270
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXVideoPickerComponent, isStandalone: true, selector: "ax-conversation-video-picker", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
7271
7271
  <div class="video-picker">
7272
7272
  <ax-picker-header [title]="'Send Video'" (onClose)="cancel()" />
7273
7273
 
@@ -7358,7 +7358,7 @@ class AXVideoPickerComponent {
7358
7358
  </div>
7359
7359
  `, isInline: true, styles: [":host{display:block;width:100%}.video-picker{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface));border-radius:.5rem;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}.picker-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.close-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s;font-size:1.125rem}.close-button:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;max-height:450px;cursor:pointer;border:2px dashed rgb(var(--ax-sys-color-border));border-radius:.5rem;margin:.75rem;transition:all .2s}.picker-empty:hover,.picker-empty.drag-over{border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .05)}.empty-icon{font-size:2.5rem;color:rgb(var(--ax-sys-color-on-surface-variant));margin-bottom:.75rem}.empty-text{text-align:center}.empty-title{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.25rem}.empty-subtitle{font-size:.8125rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.picker-videos{padding:.75rem}.videos-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.videos-count{font-size:.8125rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface-variant))}.videos-list{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.75rem}.video-item{display:flex;gap:.75rem;padding:.625rem;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;border:1px solid rgb(var(--ax-sys-color-border))}.video-preview{position:relative;width:120px;height:68px;flex-shrink:0;border-radius:.375rem;overflow:hidden;background:rgb(var(--ax-sys-color-surface-variant))}.video-preview video{width:100%;height:100%;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.remove-button{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:rgb(var(--ax-sys-color-error));color:rgb(var(--ax-sys-color-on-error));border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s;font-size:.75rem;box-shadow:0 2px 4px #0003}.video-item:hover .remove-button{opacity:1}.video-info{display:flex;flex-direction:column;justify-content:center;gap:.5rem;flex:1}.video-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-meta{display:flex;gap:1rem;font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.caption-input{margin-top:.75rem}.picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgb(var(--ax-sys-color-border));background:rgb(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXPickerHeaderComponent, selector: "ax-picker-header", inputs: ["title"], outputs: ["onClose"] }, { kind: "component", type: AXPickerFooterComponent, selector: "ax-picker-footer", inputs: ["sendText", "sendDisabled"], outputs: ["onCancel", "onSend"] }] }); }
7360
7360
  }
7361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXVideoPickerComponent, decorators: [{
7361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXVideoPickerComponent, decorators: [{
7362
7362
  type: Component,
7363
7363
  args: [{ selector: 'ax-conversation-video-picker', imports: [
7364
7364
  CommonModule,
@@ -7596,8 +7596,8 @@ class AXVoiceRecorderComponent {
7596
7596
  alert('Failed to send voice message. Please try again.');
7597
7597
  }
7598
7598
  }
7599
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXVoiceRecorderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7600
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXVoiceRecorderComponent, isStandalone: true, selector: "ax-conversation-voice-recorder", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: false, transformFunction: null }, service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { recordingComplete: "recordingComplete", recordingCancelled: "recordingCancelled" }, ngImport: i0, template: `
7599
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXVoiceRecorderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7600
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXVoiceRecorderComponent, isStandalone: true, selector: "ax-conversation-voice-recorder", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: false, transformFunction: null }, service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { recordingComplete: "recordingComplete", recordingCancelled: "recordingCancelled" }, ngImport: i0, template: `
7601
7601
  <div class="voice-recorder">
7602
7602
  <!-- Header with Close Button -->
7603
7603
  <div class="recorder-header">
@@ -7646,7 +7646,7 @@ class AXVoiceRecorderComponent {
7646
7646
  </div>
7647
7647
  `, isInline: true, styles: [":host{display:block;width:100%}.voice-recorder{display:flex;flex-direction:column;width:100%;background:rgb(var(--ax-sys-color-lightest-surface))}.recorder-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.recorder-title{margin:0;font-size:.875rem;font-weight:600}.close-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:50%;font-size:1rem;cursor:pointer;transition:all .2s;opacity:.7}.close-button:hover{background:rgb(var(--ax-sys-color-light-surface));opacity:1}.recorder-content{display:flex;align-items:center;width:100%;padding:1rem}.recorder-idle{display:flex;align-items:center;gap:1rem;width:100%}.record-button{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:none;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(var(--ax-sys-color-primary-500),.3)}.record-button:hover{background:rgb(var(--ax-sys-color-primary-600));// transform: scale(1.05)}.record-button:active{// transform: scale(.95)}.recorder-hint{font-size:.875rem;opacity:.7}.recorder-active{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.recorder-info{display:flex;align-items:center;gap:1.5rem;flex:1}.recording-indicator{display:flex;align-items:center;gap:.5rem}.pulse-dot{width:12px;height:12px;background:rgb(var(--ax-sys-color-danger-500));border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;// transform: scale(1)}50%{opacity:.5;// transform: scale(1.2)}}.recording-text{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-danger-500))}.recording-time{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;min-width:80px}.recorder-actions{display:flex;align-items:center;gap:.75rem}@media (max-width: 768px){.voice-recorder{padding:.75rem}.record-button{width:48px;height:48px;font-size:1.25rem}.recorder-info{gap:1rem}.recording-time{font-size:1.125rem;font-variant-numeric:tabular-nums}.recorder-actions{gap:.5rem}}@media (max-width: 480px){.recorder-hint{font-size:.8125rem}.recording-text{display:none}.recording-time{font-size:1rem;min-width:60px;font-variant-numeric:tabular-nums}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXLabelModule }] }); }
7648
7648
  }
7649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXVoiceRecorderComponent, decorators: [{
7649
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXVoiceRecorderComponent, decorators: [{
7650
7650
  type: Component,
7651
7651
  args: [{ selector: 'ax-conversation-voice-recorder', imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXLabelModule], template: `
7652
7652
  <div class="voice-recorder">
@@ -7887,8 +7887,8 @@ class AXAvatarPickerComponent {
7887
7887
  clearAvatar() {
7888
7888
  this.avatarUrl.set('');
7889
7889
  }
7890
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAvatarPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7891
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXAvatarPickerComponent, isStandalone: true, selector: "ax-avatar-picker", inputs: { showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { avatarUrl: "avatarUrlChange", onFileSelected: "onFileSelected" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
7890
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXAvatarPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7891
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXAvatarPickerComponent, isStandalone: true, selector: "ax-avatar-picker", inputs: { showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { avatarUrl: "avatarUrlChange", onFileSelected: "onFileSelected" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
7892
7892
  <div class="avatar-picker">
7893
7893
  <!-- Preview -->
7894
7894
  <div class="avatar-preview" (click)="triggerFileInput()">
@@ -7931,7 +7931,7 @@ class AXAvatarPickerComponent {
7931
7931
  </div>
7932
7932
  `, isInline: true, styles: [":host{display:block}.avatar-picker{display:flex;flex-direction:row;align-items:center;gap:1.5rem;padding:1rem;border-radius:.75rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface))}.avatar-preview{position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden;background:rgb(var(--ax-sys-color-surface));border:3px solid rgb(var(--ax-sys-color-border-light-surface));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;flex-shrink:0;box-shadow:0 2px 8px #00000014}.avatar-preview:hover{border-color:rgb(var(--ax-sys-color-primary-500));// transform: scale(1.05);box-shadow:0 4px 12px #0000001f}.avatar-preview:hover .preview-overlay{opacity:1}.avatar-preview ax-image{width:100%;height:100%}.preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease;color:#fff;font-size:1.75rem}.avatar-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;font-size:2rem;color:rgb(var(--ax-sys-color-on-surface-variant));text-align:center;padding:.5rem}.placeholder-text{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.avatar-actions{display:flex;flex-direction:column;gap:.5rem;flex:1}.avatar-actions ax-button{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }] }); }
7933
7933
  }
7934
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAvatarPickerComponent, decorators: [{
7934
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXAvatarPickerComponent, decorators: [{
7935
7935
  type: Component,
7936
7936
  args: [{ selector: 'ax-avatar-picker', imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXImageComponent], template: `
7937
7937
  <div class="avatar-picker">
@@ -8465,8 +8465,8 @@ class AXConversationInfoPanelComponent extends AXClosableComponent {
8465
8465
  this.toastService.success('Settings saved successfully');
8466
8466
  }
8467
8467
  }
8468
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationInfoPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8469
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXConversationInfoPanelComponent, isStandalone: true, selector: "ax-conversation-info-panel", outputs: { onClosed: "onClosed" }, providers: [{ provide: AXClosableComponent, useExisting: AXConversationInfoPanelComponent }], usesInheritance: true, ngImport: i0, template: `
8468
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationInfoPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8469
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXConversationInfoPanelComponent, isStandalone: true, selector: "ax-conversation-info-panel", outputs: { onClosed: "onClosed" }, providers: [{ provide: AXClosableComponent, useExisting: AXConversationInfoPanelComponent }], usesInheritance: true, ngImport: i0, template: `
8470
8470
  @if (conversation) {
8471
8471
  <div class="conversation-info-panel">
8472
8472
  <!-- Header with Avatar and Title -->
@@ -8675,7 +8675,7 @@ class AXConversationInfoPanelComponent extends AXClosableComponent {
8675
8675
  }
8676
8676
  `, isInline: true, styles: [":host{display:block;width:100%;height:100%}.conversation-info-panel{display:flex;flex-direction:column;background:rgb(var(--ax-sys-color-surface));overflow:hidden}.panel-header{display:flex;flex-direction:column;align-items:center;padding:1rem 2rem;background:linear-gradient(180deg,rgb(var(--ax-sys-color-lighter-surface)),rgb(var(--ax-sys-color-surface)));border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface));gap:.5rem;position:relative}.conversation-title-container{display:flex;flex-direction:column;align-items:center;gap:.25rem}.conversation-title{margin:0;font-size:1.625rem;font-weight:700;color:rgb(var(--ax-sys-color-on-surface));text-align:center;letter-spacing:-.02em}.edit-group-section{padding:1.5rem;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:.75rem;margin-bottom:1.5rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface))}.section-header{margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.section-title{font-size:1rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.edit-field{margin-bottom:1rem}.edit-label{display:block;font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));margin-bottom:.5rem}.edit-actions{display:flex;gap:.75rem;justify-content:flex-start;margin-top:1rem}.tab-content-wrapper{flex:1;overflow-y:auto;max-height:50vh}.tab-content{padding:2rem;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:.75rem;transition:all .2s;border:2px solid transparent}.stat-card:hover{background:rgb(var(--ax-sys-color-border-light-surface));// transform: translateY(-2px);box-shadow:0 4px 8px #0000001a}.stat-card.highlight{background:rgb(var(--ax-sys-color-primary-500) / .1);border-color:rgb(var(--ax-sys-color-primary-500))}.stat-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border-radius:.5rem;font-size:1.125rem;color:rgb(var(--ax-sys-color-primary-500))}.stat-card.highlight .stat-icon{background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary))}.stat-content{display:flex;flex-direction:column;gap:.125rem}.stat-value{font-size:1.25rem;font-weight:700;color:rgb(var(--ax-sys-color-on-surface));line-height:1}.stat-label{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface));opacity:.7;text-transform:uppercase;letter-spacing:.05em}.about-timeline{display:flex;flex-direction:column;gap:.75rem}.timeline-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:.5rem;transition:background .2s}.timeline-item:hover{background:rgb(var(--ax-sys-color-border-light-surface))}.timeline-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border-radius:50%;font-size:.875rem;color:rgb(var(--ax-sys-color-primary-500))}.timeline-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.timeline-label{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.timeline-value{font-size:.875rem;color:rgb(var(--ax-sys-color-on-surface));opacity:.7;cursor:help}.members-search{margin-bottom:1rem}.members-list{display:flex;flex-direction:column;gap:.5rem}.member-card{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:.75rem;transition:all .2s ease;border:1px solid transparent;cursor:pointer}.member-card:hover{background:rgb(var(--ax-sys-color-surface));border-color:rgb(var(--ax-sys-color-primary-500) / .3);// transform: translateX(4px);box-shadow:0 2px 8px #00000014}.member-details{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.member-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{font-size:.75rem;color:rgb(var(--ax-sys-color-primary-500));text-transform:capitalize}.status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-indicator.online{background:rgb(var(--ax-sys-color-success-500))}.status-indicator.away{background:rgb(var(--ax-sys-color-warning-500))}.status-indicator.offline{background:rgb(var(--ax-sys-color-neutral-400))}.settings-list{display:flex;flex-direction:column;gap:.75rem}.setting-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:.75rem;border:1px solid transparent;transition:all .2s ease}.setting-item:hover{background:rgb(var(--ax-sys-color-surface));border-color:rgb(var(--ax-sys-color-border-light-surface));box-shadow:0 2px 6px #0000000f}.setting-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.setting-label{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.setting-description{font-size:.75rem;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}.danger-zone{padding:1.5rem;margin-top:1.5rem;background:rgb(var(--ax-sys-color-danger-500) / .05);border:1px solid rgb(var(--ax-sys-color-danger-500) / .2);border-radius:.75rem}.danger-zone ax-button{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i2$2.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i2$2.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "component", type: i5.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: AXAvatarPickerComponent, selector: "ax-avatar-picker", inputs: ["showClearButton", "avatarUrl"], outputs: ["avatarUrlChange", "onFileSelected"] }, { kind: "pipe", type: i1$5.DatePipe, name: "date" }] }); }
8677
8677
  }
8678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationInfoPanelComponent, decorators: [{
8678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationInfoPanelComponent, decorators: [{
8679
8679
  type: Component,
8680
8680
  args: [{ selector: 'ax-conversation-info-panel', imports: [
8681
8681
  CommonModule,
@@ -9002,8 +9002,8 @@ class AXInfoBarSearchComponent {
9002
9002
  }
9003
9003
  }, 100);
9004
9004
  }
9005
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9006
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXInfoBarSearchComponent, isStandalone: true, selector: "ax-info-bar-search", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null }, service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
9005
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9006
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXInfoBarSearchComponent, isStandalone: true, selector: "ax-info-bar-search", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null }, service: { classPropertyName: "service", publicName: "service", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
9007
9007
  <div class="search-wrapper">
9008
9008
  <ax-search-box
9009
9009
  class="search-input"
@@ -9036,7 +9036,7 @@ class AXInfoBarSearchComponent {
9036
9036
  </div>
9037
9037
  `, isInline: true, styles: [":host{display:block;flex:1;min-width:0}.search-wrapper{display:flex;align-items:center;gap:.5rem;width:100%}.search-input{flex:1;min-width:0}.search-results{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.results-text{font-size:.75rem;color:var(--ax-text-secondary, #6b7280);white-space:nowrap}.nav-button{min-width:28px;height:28px;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }] }); }
9038
9038
  }
9039
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarSearchComponent, decorators: [{
9039
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarSearchComponent, decorators: [{
9040
9040
  type: Component,
9041
9041
  args: [{ selector: 'ax-info-bar-search', imports: [CommonModule, AXSearchBoxComponent, AXButtonModule, AXLabelComponent], template: `
9042
9042
  <div class="search-wrapper">
@@ -9210,7 +9210,7 @@ const AX_CONVERSATION_INFO_BAR_BLOCK_ACTION = {
9210
9210
  * Audio Message Renderer Component
9211
9211
  * Renders audio messages with playback controls
9212
9212
  */
9213
- class AudioRendererComponent {
9213
+ class AXAudioRendererComponent {
9214
9214
  constructor() {
9215
9215
  this.platformId = inject(PLATFORM_ID);
9216
9216
  /** Message to render */
@@ -9315,8 +9315,8 @@ class AudioRendererComponent {
9315
9315
  const secs = Math.floor(seconds % 60);
9316
9316
  return `${mins}:${secs.toString().padStart(2, '0')}`;
9317
9317
  }
9318
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AudioRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9319
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AudioRendererComponent, isStandalone: true, selector: "ax-conversation-audio-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "audioElementRef", first: true, predicate: ["audioElement"], descendants: true, isSignal: true }], ngImport: i0, template: `
9318
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXAudioRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9319
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXAudioRendererComponent, isStandalone: true, selector: "ax-conversation-audio-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "audioElementRef", first: true, predicate: ["audioElement"], descendants: true, isSignal: true }], ngImport: i0, template: `
9320
9320
  <div class="audio-renderer">
9321
9321
  <div class="audio-controls">
9322
9322
  <!-- Play/Pause Button -->
@@ -9363,11 +9363,11 @@ class AudioRendererComponent {
9363
9363
  Your browser does not support the audio element.
9364
9364
  </audio>
9365
9365
  </div>
9366
- `, isInline: true, styles: [":host{display:block}.audio-renderer{width:100%}.audio-controls{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-radius:.5rem}.control-button{flex-shrink:0;padding-inline-start:.2rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1rem;cursor:pointer;transition:all .2s}.control-button:hover{background:rgb(var(--ax-sys-color-primary-600))}.volume-button{background:transparent;color:rgb(var(--ax-sys-color-primary-600));font-size:1.25rem}.volume-button:hover{color:rgb(var(--ax-sys-color-primary-700))}.audio-progress-container{flex:1;min-width:0}.audio-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem;font-size:.75rem}.audio-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-time{font-variant-numeric:tabular-nums;opacity:.7;flex-shrink:0;margin-left:.5rem}.audio-progress{height:4px;background:rgb(var(--ax-sys-color-border-light-surface));border-radius:2px;cursor:pointer;overflow:hidden}.progress-bar{height:100%;background:rgb(var(--ax-sys-color-primary-500));transition:width .1s linear}.audio-error{display:flex;align-items:center;gap:.5rem;color:rgb(var(--ax-sys-color-danger-500));border-radius:.5rem;font-size:.875rem}.error-icon{font-size:1.25rem}audio{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
9366
+ `, isInline: true, styles: [":host{display:block}.audio-renderer{width:100%}.audio-controls{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-radius:.5rem}.control-button{flex-shrink:0;padding-inline-start:.2rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1rem;cursor:pointer;transition:all .2s}.control-button:hover{background:rgb(var(--ax-sys-color-primary-600))}.volume-button{background:transparent;color:rgb(var(--ax-sys-color-primary-600));font-size:1.25rem}.volume-button:hover{color:rgb(var(--ax-sys-color-primary-700))}.audio-progress-container{flex:1;min-width:0}.audio-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem;font-size:.75rem}.audio-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-time{font-variant-numeric:tabular-nums;opacity:.7;flex-shrink:0;margin-left:.5rem}.audio-progress{height:4px;background:rgb(var(--ax-sys-color-border-light-surface));border-radius:2px;cursor:pointer;overflow:hidden}.progress-bar{height:100%;background:rgb(var(--ax-sys-color-primary-500));transition:width .1s linear}.audio-error{display:flex;align-items:center;gap:.5rem;color:rgb(var(--ax-sys-color-danger-500));border-radius:.5rem;font-size:.875rem}.error-icon{font-size:1.25rem}audio{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9367
9367
  }
9368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AudioRendererComponent, decorators: [{
9368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXAudioRendererComponent, decorators: [{
9369
9369
  type: Component,
9370
- args: [{ selector: 'ax-conversation-audio-renderer', imports: [CommonModule], template: `
9370
+ args: [{ selector: 'ax-conversation-audio-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
9371
9371
  <div class="audio-renderer">
9372
9372
  <div class="audio-controls">
9373
9373
  <!-- Play/Pause Button -->
@@ -9421,7 +9421,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
9421
9421
  * Contact Message Renderer
9422
9422
  * Renders contact card messages
9423
9423
  */
9424
- class ContactRendererComponent {
9424
+ class AXContactRendererComponent {
9425
9425
  constructor() {
9426
9426
  this.toastService = inject(AXToastService);
9427
9427
  /** Message to render */
@@ -9466,8 +9466,8 @@ class ContactRendererComponent {
9466
9466
  }
9467
9467
  return parts.join('\n');
9468
9468
  }
9469
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ContactRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9470
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ContactRendererComponent, isStandalone: true, selector: "ax-conversation-contact-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9469
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXContactRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9470
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXContactRendererComponent, isStandalone: true, selector: "ax-conversation-contact-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9471
9471
  <div class="contact-renderer">
9472
9472
  <div class="contact-card">
9473
9473
  <div class="contact-avatar">
@@ -9512,11 +9512,11 @@ class ContactRendererComponent {
9512
9512
  </ax-button>
9513
9513
  </div>
9514
9514
  </div>
9515
- `, isInline: true, styles: [":host{display:block}.contact-renderer{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;background:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-radius:.5rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));max-width:320px}.contact-card{display:flex;gap:.75rem;align-items:center}.contact-avatar{flex-shrink:0}.avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover}.avatar-initials{width:48px;height:48px;border-radius:50%;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.contact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.contact-name{font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-detail{display:flex;align-items:center;gap:.5rem;font-size:.875rem;opacity:.7}.contact-link{text-decoration:none;color:inherit;transition:all .2s;border-radius:.25rem}.contact-link:hover{opacity:1;color:rgb(var(--ax-sys-color-primary-500))}.contact-link:active{// transform: scale(.98)}.contact-detail i{width:14px;font-size:.75rem;opacity:.7}.contact-detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-actions{display:flex;gap:.5rem}.contact-button{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "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" }] }); }
9515
+ `, isInline: true, styles: [":host{display:block}.contact-renderer{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;background:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-radius:.5rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));max-width:320px}.contact-card{display:flex;gap:.75rem;align-items:center}.contact-avatar{flex-shrink:0}.avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover}.avatar-initials{width:48px;height:48px;border-radius:50%;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.contact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.contact-name{font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-detail{display:flex;align-items:center;gap:.5rem;font-size:.875rem;opacity:.7}.contact-link{text-decoration:none;color:inherit;transition:all .2s;border-radius:.25rem}.contact-link:hover{opacity:1;color:rgb(var(--ax-sys-color-primary-500))}.contact-link:active{// transform: scale(.98)}.contact-detail i{width:14px;font-size:.75rem;opacity:.7}.contact-detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-actions{display:flex;gap:.5rem}.contact-button{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: "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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9516
9516
  }
9517
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ContactRendererComponent, decorators: [{
9517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXContactRendererComponent, decorators: [{
9518
9518
  type: Component,
9519
- args: [{ selector: 'ax-conversation-contact-renderer', imports: [CommonModule, AXButtonModule, AXDecoratorModule], template: `
9519
+ args: [{ selector: 'ax-conversation-contact-renderer', imports: [CommonModule, AXButtonModule, AXDecoratorModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
9520
9520
  <div class="contact-renderer">
9521
9521
  <div class="contact-card">
9522
9522
  <div class="contact-avatar">
@@ -9568,7 +9568,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
9568
9568
  * Fallback Message Renderer Component
9569
9569
  * Renders unknown message types with basic info
9570
9570
  */
9571
- class FallbackRendererComponent {
9571
+ class AXFallbackRendererComponent {
9572
9572
  constructor() {
9573
9573
  /** Message to render */
9574
9574
  this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
@@ -9594,8 +9594,8 @@ class FallbackRendererComponent {
9594
9594
  toggleRaw() {
9595
9595
  this.showRaw.update((value) => !value);
9596
9596
  }
9597
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: FallbackRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9598
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: FallbackRendererComponent, isStandalone: true, selector: "ax-conversation-fallback-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9597
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXFallbackRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9598
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXFallbackRendererComponent, isStandalone: true, selector: "ax-conversation-fallback-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9599
9599
  <div class="fallback-renderer">
9600
9600
  <div class="fallback-icon">📦</div>
9601
9601
  <div class="fallback-content">
@@ -9619,11 +9619,11 @@ class FallbackRendererComponent {
9619
9619
  </div>
9620
9620
  }
9621
9621
  </div>
9622
- `, isInline: true, styles: [":host{display:block}.fallback-renderer{padding:1rem;background:rgb(var(--ax-sys-color-warning-lightest-surface));border:1px solid rgb(var(--ax-sys-color-warning-500));border-radius:.5rem;max-width:320px}.fallback-icon{font-size:2rem;margin-bottom:.5rem;text-align:center}.fallback-content{text-align:center}.fallback-title{font-size:.875rem;font-weight:600;margin-bottom:.25rem;text-transform:capitalize}.fallback-subtitle{font-size:.75rem;margin-bottom:.75rem;opacity:.7}.view-raw-button{margin-top:.5rem}.fallback-raw{margin-top:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-darker-surface));border-radius:.375rem;max-height:200px;overflow:auto}.raw-content{margin:0;font-size:.6875rem;font-family:Courier New,Courier,monospace;color:rgb(var(--ax-sys-color-on-darker-surface));white-space:pre-wrap;word-wrap:break-word}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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"] }] }); }
9622
+ `, isInline: true, styles: [":host{display:block}.fallback-renderer{padding:1rem;background:rgb(var(--ax-sys-color-warning-lightest-surface));border:1px solid rgb(var(--ax-sys-color-warning-500));border-radius:.5rem;max-width:320px}.fallback-icon{font-size:2rem;margin-bottom:.5rem;text-align:center}.fallback-content{text-align:center}.fallback-title{font-size:.875rem;font-weight:600;margin-bottom:.25rem;text-transform:capitalize}.fallback-subtitle{font-size:.75rem;margin-bottom:.75rem;opacity:.7}.view-raw-button{margin-top:.5rem}.fallback-raw{margin-top:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-darker-surface));border-radius:.375rem;max-height:200px;overflow:auto}.raw-content{margin:0;font-size:.6875rem;font-family:Courier New,Courier,monospace;color:rgb(var(--ax-sys-color-on-darker-surface));white-space:pre-wrap;word-wrap:break-word}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9623
9623
  }
9624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: FallbackRendererComponent, decorators: [{
9624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXFallbackRendererComponent, decorators: [{
9625
9625
  type: Component,
9626
- args: [{ selector: 'ax-conversation-fallback-renderer', imports: [CommonModule, AXButtonModule], template: `
9626
+ args: [{ selector: 'ax-conversation-fallback-renderer', imports: [CommonModule, AXButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
9627
9627
  <div class="fallback-renderer">
9628
9628
  <div class="fallback-icon">📦</div>
9629
9629
  <div class="fallback-content">
@@ -9654,7 +9654,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
9654
9654
  * File Message Renderer Component
9655
9655
  * Renders file attachments with download support
9656
9656
  */
9657
- class FileRendererComponent {
9657
+ class AXFileRendererComponent {
9658
9658
  constructor() {
9659
9659
  /** Message to render */
9660
9660
  this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
@@ -9678,25 +9678,25 @@ class FileRendererComponent {
9678
9678
  this.fileIconColor = computed(() => {
9679
9679
  const ext = this.fileExtension().toLowerCase();
9680
9680
  const colorMap = {
9681
- pdf: '#ef4444',
9682
- doc: '#3b82f6',
9683
- docx: '#3b82f6',
9684
- xls: '#10b981',
9685
- xlsx: '#10b981',
9686
- ppt: '#f59e0b',
9687
- pptx: '#f59e0b',
9688
- txt: '#6b7280',
9689
- zip: '#8b5cf6',
9690
- rar: '#8b5cf6',
9691
- jpg: '#ec4899',
9692
- jpeg: '#ec4899',
9693
- png: '#ec4899',
9694
- gif: '#ec4899',
9695
- mp3: '#14b8a6',
9696
- mp4: '#14b8a6',
9697
- file: '#6b7280',
9681
+ pdf: 'rgb(var(--ax-sys-color-danger-500))',
9682
+ doc: 'rgb(var(--ax-sys-color-primary-500))',
9683
+ docx: 'rgb(var(--ax-sys-color-primary-500))',
9684
+ xls: 'rgb(var(--ax-sys-color-success-500))',
9685
+ xlsx: 'rgb(var(--ax-sys-color-success-500))',
9686
+ ppt: 'rgb(var(--ax-sys-color-warning-500))',
9687
+ pptx: 'rgb(var(--ax-sys-color-warning-500))',
9688
+ txt: 'rgb(var(--ax-sys-color-on-surface) / 0.7)',
9689
+ zip: 'rgb(var(--ax-sys-color-secondary-600))',
9690
+ rar: 'rgb(var(--ax-sys-color-secondary-600))',
9691
+ jpg: 'rgb(var(--ax-sys-color-accent3-500))',
9692
+ jpeg: 'rgb(var(--ax-sys-color-accent3-500))',
9693
+ png: 'rgb(var(--ax-sys-color-accent3-500))',
9694
+ gif: 'rgb(var(--ax-sys-color-accent3-500))',
9695
+ mp3: 'rgb(var(--ax-sys-color-accent2-500))',
9696
+ mp4: 'rgb(var(--ax-sys-color-accent2-500))',
9697
+ file: 'rgb(var(--ax-sys-color-secondary-500))',
9698
9698
  };
9699
- return colorMap[ext] || '#6b7280';
9699
+ return colorMap[ext] || 'rgb(var(--ax-sys-color-secondary-500))';
9700
9700
  }, ...(ngDevMode ? [{ debugName: "fileIconColor" }] : []));
9701
9701
  /** Formatted file size */
9702
9702
  this.formattedSize = computed(() => {
@@ -9709,8 +9709,8 @@ class FileRendererComponent {
9709
9709
  return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + ' ' + sizes[i];
9710
9710
  }, ...(ngDevMode ? [{ debugName: "formattedSize" }] : []));
9711
9711
  }
9712
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: FileRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9713
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: FileRendererComponent, isStandalone: true, selector: "ax-conversation-file-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9712
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXFileRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9713
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXFileRendererComponent, isStandalone: true, selector: "ax-conversation-file-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9714
9714
  <div class="file-renderer">
9715
9715
  <a [href]="fileUrl()" [download]="fileName()" class="file-container" target="_blank" rel="noopener noreferrer">
9716
9716
  <!-- File Icon -->
@@ -9735,11 +9735,11 @@ class FileRendererComponent {
9735
9735
  </div>
9736
9736
  </a>
9737
9737
  </div>
9738
- `, isInline: true, styles: [":host{display:block}.file-renderer{width:100%;max-width:320px}.file-container{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.5rem;text-decoration:none;transition:all .2s;cursor:pointer}.file-container:hover{background:rgb(var(--ax-sys-color-light-surface));border-color:rgb(var(--ax-sys-color-primary-500))}.file-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;font-weight:600;font-size:.625rem;text-transform:uppercase;color:rgb(var(--ax-sys-color-light))}.icon-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .25rem}.file-info{flex:1;min-width:0}.file-name{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.125rem}.file-meta{font-size:.75rem;opacity:.7}.file-type{text-transform:uppercase}.file-action{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;transition:background .2s}.file-container:hover .file-action{background:rgb(var(--ax-sys-color-primary-500))}.download-icon{font-size:1.125rem;transition:transform .2s}.file-container:hover .download-icon{transform:translateY(2px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
9738
+ `, isInline: true, styles: [":host{display:block}.file-renderer{width:100%;max-width:320px}.file-container{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.5rem;text-decoration:none;transition:all .2s;cursor:pointer}.file-container:hover{background:rgb(var(--ax-sys-color-light-surface));border-color:rgb(var(--ax-sys-color-primary-500))}.file-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;font-weight:600;font-size:.625rem;text-transform:uppercase;color:rgb(var(--ax-sys-color-light))}.icon-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .25rem}.file-info{flex:1;min-width:0}.file-name{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.125rem}.file-meta{font-size:.75rem;opacity:.7}.file-type{text-transform:uppercase}.file-action{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border-radius:.375rem;transition:background .2s}.file-container:hover .file-action{background:rgb(var(--ax-sys-color-primary-500))}.download-icon{font-size:1.125rem;transition:transform .2s}.file-container:hover .download-icon{transform:translateY(2px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9739
9739
  }
9740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: FileRendererComponent, decorators: [{
9740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXFileRendererComponent, decorators: [{
9741
9741
  type: Component,
9742
- args: [{ selector: 'ax-conversation-file-renderer', imports: [CommonModule], template: `
9742
+ args: [{ selector: 'ax-conversation-file-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
9743
9743
  <div class="file-renderer">
9744
9744
  <a [href]="fileUrl()" [download]="fileName()" class="file-container" target="_blank" rel="noopener noreferrer">
9745
9745
  <!-- File Icon -->
@@ -9771,7 +9771,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
9771
9771
  * Image Message Renderer Component
9772
9772
  * Renders image messages with lazy loading and lightbox support
9773
9773
  */
9774
- class ImageRendererComponent {
9774
+ class AXImageRendererComponent {
9775
9775
  constructor() {
9776
9776
  this.platformId = inject(PLATFORM_ID);
9777
9777
  /** Message to render */
@@ -9807,8 +9807,8 @@ class ImageRendererComponent {
9807
9807
  this.imageClick.emit(this.payload().url);
9808
9808
  }
9809
9809
  }
9810
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ImageRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9811
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ImageRendererComponent, isStandalone: true, selector: "ax-conversation-image-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { imageClick: "imageClick" }, ngImport: i0, template: `
9810
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXImageRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9811
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXImageRendererComponent, isStandalone: true, selector: "ax-conversation-image-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { imageClick: "imageClick" }, ngImport: i0, template: `
9812
9812
  <div class="image-renderer">
9813
9813
  @if (loading()) {
9814
9814
  <div class="image-loading">
@@ -9838,11 +9838,11 @@ class ImageRendererComponent {
9838
9838
  <div class="image-caption">{{ caption() }}</div>
9839
9839
  }
9840
9840
  </div>
9841
- `, isInline: true, styles: [":host{display:block}.image-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden}.message-image{display:block;max-width:100%;max-height:400px;width:auto;height:auto;cursor:pointer;transition:opacity .3s;opacity:0}.message-image.loaded{opacity:1}.image-loading{display:flex;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-lighter-surface))}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.image-caption{padding:.5rem;font-size:.875rem;background:#0000000d;opacity:.9}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
9841
+ `, isInline: true, styles: [":host{display:block}.image-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden}.message-image{display:block;max-width:100%;max-height:400px;width:auto;height:auto;cursor:pointer;transition:opacity .3s;opacity:0}.message-image.loaded{opacity:1}.image-loading{display:flex;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-lighter-surface))}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.image-caption{padding:.5rem;font-size:.875rem;background:rgb(var(--ax-sys-color-on-surface),.05);color:rgb(var(--ax-sys-color-on-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9842
9842
  }
9843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ImageRendererComponent, decorators: [{
9843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXImageRendererComponent, decorators: [{
9844
9844
  type: Component,
9845
- args: [{ selector: 'ax-conversation-image-renderer', imports: [CommonModule], template: `
9845
+ args: [{ selector: 'ax-conversation-image-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
9846
9846
  <div class="image-renderer">
9847
9847
  @if (loading()) {
9848
9848
  <div class="image-loading">
@@ -9872,14 +9872,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
9872
9872
  <div class="image-caption">{{ caption() }}</div>
9873
9873
  }
9874
9874
  </div>
9875
- `, styles: [":host{display:block}.image-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden}.message-image{display:block;max-width:100%;max-height:400px;width:auto;height:auto;cursor:pointer;transition:opacity .3s;opacity:0}.message-image.loaded{opacity:1}.image-loading{display:flex;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-lighter-surface))}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.image-caption{padding:.5rem;font-size:.875rem;background:#0000000d;opacity:.9}\n"] }]
9875
+ `, styles: [":host{display:block}.image-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden}.message-image{display:block;max-width:100%;max-height:400px;width:auto;height:auto;cursor:pointer;transition:opacity .3s;opacity:0}.message-image.loaded{opacity:1}.image-loading{display:flex;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-lighter-surface))}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.image-caption{padding:.5rem;font-size:.875rem;background:rgb(var(--ax-sys-color-on-surface),.05);color:rgb(var(--ax-sys-color-on-surface))}\n"] }]
9876
9876
  }], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }], imageClick: [{ type: i0.Output, args: ["imageClick"] }] } });
9877
9877
 
9878
9878
  /**
9879
9879
  * Location Message Renderer Component
9880
9880
  * Renders location messages with interactive Leaflet map
9881
9881
  */
9882
- class LocationRendererComponent {
9882
+ class AXLocationRendererComponent {
9883
9883
  constructor() {
9884
9884
  /** Message to render */
9885
9885
  this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
@@ -9916,8 +9916,8 @@ class LocationRendererComponent {
9916
9916
  },
9917
9917
  ], ...(ngDevMode ? [{ debugName: "markers" }] : []));
9918
9918
  }
9919
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LocationRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9920
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: LocationRendererComponent, isStandalone: true, selector: "ax-conversation-location-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9919
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXLocationRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9920
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXLocationRendererComponent, isStandalone: true, selector: "ax-conversation-location-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9921
9921
  <div class="location-renderer">
9922
9922
  <div class="location-container">
9923
9923
  <!-- Interactive Map Preview -->
@@ -9954,11 +9954,11 @@ class LocationRendererComponent {
9954
9954
  </a>
9955
9955
  </div>
9956
9956
  </div>
9957
- `, isInline: true, styles: [":host{display:block}.location-renderer{width:100%;max-width:280px}.location-container{display:flex;flex-direction:column;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.75rem;overflow:hidden}.location-map{position:relative;width:100%;height:200px;overflow:hidden}.location-map ::ng-deep ax-map{height:100%;width:100%}.location-info{padding:.75rem}.location-name{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600}.pin-icon{font-size:1rem}.name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-address{font-size:.75rem;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-coordinates{font-size:.6875rem;opacity:.6;font-family:monospace}.location-action{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:rgb(var(--ax-sys-color-surface));border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));font-size:.75rem;font-weight:500;color:rgb(var(--ax-sys-color-primary-500));text-decoration:none;transition:background .2s;cursor:pointer}.location-action:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.action-icon{transition:transform .2s}.location-action:hover .action-icon{transform:translate(4px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$3.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "maxPolygon", "hasDraw", "hasLocator", "fitToDraw", "limitDraw", "addPoiToFitDraw", "addMarkerOnTap", "readonly", "disabled", "markerPlace", "locatePlace", "poiMinZoom", "markers", "polygons", "pois"], outputs: ["zoomLevelChange", "latitudeChange", "longitudeChange", "onMarkerAdded", "onMarkerClick", "onMarkerChanged", "onPolygonAdded", "onPolygonClick", "onPolygonChanged", "onLocationFound", "onPoiChanged", "onPoiAdded", "onMapReady", "onLoadError"] }] }); }
9957
+ `, isInline: true, styles: [":host{display:block}.location-renderer{width:100%;max-width:280px}.location-container{display:flex;flex-direction:column;background:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.75rem;overflow:hidden}.location-map{position:relative;width:100%;height:200px;overflow:hidden}.location-map ::ng-deep ax-map{height:100%;width:100%}.location-info{padding:.75rem}.location-name{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600}.pin-icon{font-size:1rem}.name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-address{font-size:.75rem;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-coordinates{font-size:.6875rem;opacity:.6;font-family:monospace}.location-action{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:rgb(var(--ax-sys-color-surface));border-top:1px solid rgb(var(--ax-sys-color-border-light-surface));font-size:.75rem;font-weight:500;color:rgb(var(--ax-sys-color-primary-500));text-decoration:none;transition:background .2s;cursor:pointer}.location-action:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.action-icon{transition:transform .2s}.location-action:hover .action-icon{transform:translate(4px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$3.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "maxPolygon", "hasDraw", "hasLocator", "fitToDraw", "limitDraw", "addPoiToFitDraw", "addMarkerOnTap", "readonly", "disabled", "markerPlace", "locatePlace", "poiMinZoom", "markers", "polygons", "pois"], outputs: ["zoomLevelChange", "latitudeChange", "longitudeChange", "onMarkerAdded", "onMarkerClick", "onMarkerChanged", "onPolygonAdded", "onPolygonClick", "onPolygonChanged", "onLocationFound", "onPoiChanged", "onPoiAdded", "onMapReady", "onLoadError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9958
9958
  }
9959
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LocationRendererComponent, decorators: [{
9959
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXLocationRendererComponent, decorators: [{
9960
9960
  type: Component,
9961
- args: [{ selector: 'ax-conversation-location-renderer', imports: [CommonModule, AXMapModule], template: `
9961
+ args: [{ selector: 'ax-conversation-location-renderer', imports: [CommonModule, AXMapModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
9962
9962
  <div class="location-renderer">
9963
9963
  <div class="location-container">
9964
9964
  <!-- Interactive Map Preview -->
@@ -10002,7 +10002,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
10002
10002
  * Sticker Message Renderer Component
10003
10003
  * Renders sticker messages with optimized loading
10004
10004
  */
10005
- class StickerRendererComponent {
10005
+ class AXStickerRendererComponent {
10006
10006
  constructor() {
10007
10007
  /** Message to render */
10008
10008
  this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
@@ -10027,8 +10027,8 @@ class StickerRendererComponent {
10027
10027
  this.loading.set(false);
10028
10028
  this.error.set(true);
10029
10029
  }
10030
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: StickerRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10031
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: StickerRendererComponent, isStandalone: true, selector: "ax-conversation-sticker-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10030
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXStickerRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10031
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXStickerRendererComponent, isStandalone: true, selector: "ax-conversation-sticker-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10032
10032
  <div class="sticker-renderer">
10033
10033
  @if (loading()) {
10034
10034
  <div class="sticker-loading">
@@ -10053,11 +10053,11 @@ class StickerRendererComponent {
10053
10053
  </div>
10054
10054
  }
10055
10055
  </div>
10056
- `, isInline: true, styles: [":host{display:block}.sticker-renderer{position:relative;display:inline-block;max-width:180px;margin:.25rem 0}.sticker-image{display:block;width:100%;height:auto;max-height:180px;object-fit:contain;transition:opacity .2s,transform .2s;opacity:0;cursor:pointer}.sticker-image.loaded{opacity:1}.sticker-image:hover{// transform: scale(1.05)}.sticker-loading{display:flex;align-items:center;justify-content:center;width:120px;height:120px;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:.5rem}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sticker-error{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));border-radius:.5rem;padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.25rem}.error-text{font-size:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
10056
+ `, isInline: true, styles: [":host{display:block}.sticker-renderer{position:relative;display:inline-block;max-width:180px;margin:.25rem 0}.sticker-image{display:block;width:100%;height:auto;max-height:180px;object-fit:contain;transition:opacity .2s,transform .2s;opacity:0;cursor:pointer}.sticker-image.loaded{opacity:1}.sticker-image:hover{// transform: scale(1.05)}.sticker-loading{display:flex;align-items:center;justify-content:center;width:120px;height:120px;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:.5rem}.spinner{width:24px;height:24px;border:2px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sticker-error{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));border-radius:.5rem;padding:1rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.25rem}.error-text{font-size:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10057
10057
  }
10058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: StickerRendererComponent, decorators: [{
10058
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXStickerRendererComponent, decorators: [{
10059
10059
  type: Component,
10060
- args: [{ selector: 'ax-conversation-sticker-renderer', imports: [CommonModule], template: `
10060
+ args: [{ selector: 'ax-conversation-sticker-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
10061
10061
  <div class="sticker-renderer">
10062
10062
  @if (loading()) {
10063
10063
  <div class="sticker-loading">
@@ -10089,7 +10089,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
10089
10089
  * System Message Renderer Component
10090
10090
  * Renders system/notification messages (user joined, title changed, etc.)
10091
10091
  */
10092
- class SystemRendererComponent {
10092
+ class AXSystemRendererComponent {
10093
10093
  constructor() {
10094
10094
  /** Message to render */
10095
10095
  this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
@@ -10112,19 +10112,19 @@ class SystemRendererComponent {
10112
10112
  }
10113
10113
  }, ...(ngDevMode ? [{ debugName: "iconClass" }] : []));
10114
10114
  }
10115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SystemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: SystemRendererComponent, isStandalone: true, selector: "ax-conversation-system-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10115
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSystemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: AXSystemRendererComponent, isStandalone: true, selector: "ax-conversation-system-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10117
10117
  <div class="system-renderer">
10118
10118
  <div class="system-icon">
10119
10119
  <i [class]="iconClass()"></i>
10120
10120
  </div>
10121
10121
  <div class="system-text">{{ payload().text }}</div>
10122
10122
  </div>
10123
- `, isInline: true, styles: [":host{display:block;width:100%}.system-renderer{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0}.system-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;opacity:.6}.system-text{font-size:.8125rem;text-align:center;font-style:italic;opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
10123
+ `, isInline: true, styles: [":host{display:block;width:100%}.system-renderer{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0}.system-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;opacity:.6}.system-text{font-size:.8125rem;text-align:center;font-style:italic;opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10124
10124
  }
10125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SystemRendererComponent, decorators: [{
10125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSystemRendererComponent, decorators: [{
10126
10126
  type: Component,
10127
- args: [{ selector: 'ax-conversation-system-renderer', imports: [CommonModule], template: `
10127
+ args: [{ selector: 'ax-conversation-system-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
10128
10128
  <div class="system-renderer">
10129
10129
  <div class="system-icon">
10130
10130
  <i [class]="iconClass()"></i>
@@ -10165,10 +10165,10 @@ class AXSanitizerService {
10165
10165
  const clean = this.sanitizeUrl(url) || '';
10166
10166
  return this.dom.bypassSecurityTrustUrl(clean);
10167
10167
  }
10168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSanitizerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10169
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSanitizerService, providedIn: 'root' }); }
10168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSanitizerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10169
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSanitizerService, providedIn: 'root' }); }
10170
10170
  }
10171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSanitizerService, decorators: [{
10171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSanitizerService, decorators: [{
10172
10172
  type: Injectable,
10173
10173
  args: [{ providedIn: 'root' }]
10174
10174
  }] });
@@ -10177,7 +10177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
10177
10177
  * Text Message Renderer Component
10178
10178
  * Renders text messages with link detection and formatting
10179
10179
  */
10180
- class TextRendererComponent {
10180
+ class AXTextRendererComponent {
10181
10181
  constructor() {
10182
10182
  this.infoBarService = inject(AXInfoBarService);
10183
10183
  this.sanitizer = inject(AXSanitizerService);
@@ -10227,16 +10227,16 @@ class TextRendererComponent {
10227
10227
  // Replace matches with <mark> tags
10228
10228
  return text.replace(regex, '<mark>$1</mark>');
10229
10229
  }
10230
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10231
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: TextRendererComponent, isStandalone: true, selector: "ax-conversation-text-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10230
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10231
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: AXTextRendererComponent, isStandalone: true, selector: "ax-conversation-text-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10232
10232
  <div class="text-renderer">
10233
10233
  <div class="text-content" [innerHTML]="formattedText()"></div>
10234
10234
  </div>
10235
- `, isInline: true, styles: [":host{display:block}.text-renderer{word-wrap:break-word;overflow-wrap:break-word}.text-content{word-break:break-word;text-wrap:pretty;white-space:pre-wrap;line-height:1.6;font-size:.9375rem;letter-spacing:.01em}.text-content ::ng-deep a{color:rgb(var(--ax-sys-color-primary-600));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:all .2s}.text-content ::ng-deep a:hover{color:rgb(var(--ax-sys-color-primary-700));text-decoration-thickness:2px}.text-content ::ng-deep mark{background:rgb(var(--ax-sys-color-warning-lightest-surface));padding:.125rem .375rem;border-radius:.375rem;font-weight:500;box-shadow:0 0 0 2px rgb(var(--ax-sys-color-warning-500) / .2)}\n"] }); }
10235
+ `, isInline: true, styles: [":host{display:block}.text-renderer{word-wrap:break-word;overflow-wrap:break-word}.text-content{word-break:break-word;text-wrap:pretty;white-space:pre-wrap;line-height:1.6;font-size:.9375rem;letter-spacing:.01em}.text-content ::ng-deep a{color:rgb(var(--ax-sys-color-primary-600));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:all .2s}.text-content ::ng-deep a:hover{color:rgb(var(--ax-sys-color-primary-700));text-decoration-thickness:2px}.text-content ::ng-deep mark{background:rgb(var(--ax-sys-color-warning-lightest-surface));padding:.125rem .375rem;border-radius:.375rem;font-weight:500;box-shadow:0 0 0 2px rgb(var(--ax-sys-color-warning-500) / .2)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10236
10236
  }
10237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TextRendererComponent, decorators: [{
10237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXTextRendererComponent, decorators: [{
10238
10238
  type: Component,
10239
- args: [{ selector: 'ax-conversation-text-renderer', template: `
10239
+ args: [{ selector: 'ax-conversation-text-renderer', changeDetection: ChangeDetectionStrategy.OnPush, template: `
10240
10240
  <div class="text-renderer">
10241
10241
  <div class="text-content" [innerHTML]="formattedText()"></div>
10242
10242
  </div>
@@ -10247,7 +10247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
10247
10247
  * Video Message Renderer Component
10248
10248
  * Renders video messages with player controls
10249
10249
  */
10250
- class VideoRendererComponent {
10250
+ class AXVideoRendererComponent {
10251
10251
  constructor() {
10252
10252
  this.platformId = inject(PLATFORM_ID);
10253
10253
  /** Message to render */
@@ -10283,8 +10283,8 @@ class VideoRendererComponent {
10283
10283
  const secs = Math.floor(seconds % 60);
10284
10284
  return `${mins}:${secs.toString().padStart(2, '0')}`;
10285
10285
  }
10286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: VideoRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10287
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: VideoRendererComponent, isStandalone: true, selector: "ax-conversation-video-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10286
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXVideoRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10287
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXVideoRendererComponent, isStandalone: true, selector: "ax-conversation-video-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10288
10288
  <div class="video-renderer">
10289
10289
  @if (!showPlayer()) {
10290
10290
  <!-- Video Thumbnail Preview -->
@@ -10321,11 +10321,11 @@ class VideoRendererComponent {
10321
10321
  <div class="video-caption">{{ caption() }}</div>
10322
10322
  }
10323
10323
  </div>
10324
- `, isInline: true, styles: [":host{display:block}.video-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden;background:rgb(var(--ax-sys-color-dark))}.video-preview{position:relative;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center}.video-thumbnail{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;background:rgb(var(--ax-sys-color-darker-surface))}.video-icon{font-size:3rem;opacity:.5}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;transition:background .2s}.video-preview:hover .video-overlay{background:#00000080}.play-button{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-400));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:transform .2s;padding-left:4px}.play-button:hover{// transform: scale(1.1)}.video-duration{position:absolute;bottom:.5rem;right:.5rem;padding:.25rem .5rem;background:#000000b3;color:rgb(var(--ax-sys-color-light));font-size:.75rem;border-radius:.25rem}.video-player{display:block;width:100%;max-height:400px;outline:none}.video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:.5rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.video-caption{padding:.5rem;font-size:.875rem;background:#0000000d;opacity:.8}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
10324
+ `, isInline: true, styles: [":host{display:block}.video-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden;background:rgb(var(--ax-sys-color-dark))}.video-preview{position:relative;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center}.video-thumbnail{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;background:rgb(var(--ax-sys-color-darker-surface))}.video-icon{font-size:3rem;opacity:.5}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-dark),.3);transition:background .2s}.video-preview:hover .video-overlay{background:rgb(var(--ax-sys-color-dark),.5)}.play-button{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-400));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:transform .2s;padding-left:4px}.play-button:hover{// transform: scale(1.1)}.video-duration{position:absolute;bottom:.5rem;right:.5rem;padding:.25rem .5rem;background:rgb(var(--ax-sys-color-dark),.7);color:rgb(var(--ax-sys-color-light));font-size:.75rem;border-radius:.25rem}.video-player{display:block;width:100%;max-height:400px;outline:none}.video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:.5rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.video-caption{padding:.5rem;font-size:.875rem;background:rgb(var(--ax-sys-color-on-surface),.05);color:rgb(var(--ax-sys-color-on-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10325
10325
  }
10326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: VideoRendererComponent, decorators: [{
10326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXVideoRendererComponent, decorators: [{
10327
10327
  type: Component,
10328
- args: [{ selector: 'ax-conversation-video-renderer', imports: [CommonModule], template: `
10328
+ args: [{ selector: 'ax-conversation-video-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
10329
10329
  <div class="video-renderer">
10330
10330
  @if (!showPlayer()) {
10331
10331
  <!-- Video Thumbnail Preview -->
@@ -10362,14 +10362,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
10362
10362
  <div class="video-caption">{{ caption() }}</div>
10363
10363
  }
10364
10364
  </div>
10365
- `, styles: [":host{display:block}.video-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden;background:rgb(var(--ax-sys-color-dark))}.video-preview{position:relative;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center}.video-thumbnail{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;background:rgb(var(--ax-sys-color-darker-surface))}.video-icon{font-size:3rem;opacity:.5}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;transition:background .2s}.video-preview:hover .video-overlay{background:#00000080}.play-button{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-400));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:transform .2s;padding-left:4px}.play-button:hover{// transform: scale(1.1)}.video-duration{position:absolute;bottom:.5rem;right:.5rem;padding:.25rem .5rem;background:#000000b3;color:rgb(var(--ax-sys-color-light));font-size:.75rem;border-radius:.25rem}.video-player{display:block;width:100%;max-height:400px;outline:none}.video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:.5rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.video-caption{padding:.5rem;font-size:.875rem;background:#0000000d;opacity:.8}\n"] }]
10365
+ `, styles: [":host{display:block}.video-renderer{position:relative;max-width:100%;border-radius:.5rem;overflow:hidden;background:rgb(var(--ax-sys-color-dark))}.video-preview{position:relative;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center}.video-thumbnail{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;background:rgb(var(--ax-sys-color-darker-surface))}.video-icon{font-size:3rem;opacity:.5}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-dark),.3);transition:background .2s}.video-preview:hover .video-overlay{background:rgb(var(--ax-sys-color-dark),.5)}.play-button{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-400));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:transform .2s;padding-left:4px}.play-button:hover{// transform: scale(1.1)}.video-duration{position:absolute;bottom:.5rem;right:.5rem;padding:.25rem .5rem;background:rgb(var(--ax-sys-color-dark),.7);color:rgb(var(--ax-sys-color-light));font-size:.75rem;border-radius:.25rem}.video-player{display:block;width:100%;max-height:400px;outline:none}.video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));padding:.5rem;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.error-text{font-size:.875rem}.video-caption{padding:.5rem;font-size:.875rem;background:rgb(var(--ax-sys-color-on-surface),.05);color:rgb(var(--ax-sys-color-on-surface))}\n"] }]
10366
10366
  }], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }] } });
10367
10367
 
10368
10368
  /**
10369
10369
  * Voice Message Renderer Component
10370
10370
  * Renders voice messages with waveform visualization
10371
10371
  */
10372
- class VoiceRendererComponent {
10372
+ class AXVoiceRendererComponent {
10373
10373
  constructor() {
10374
10374
  this.platformId = inject(PLATFORM_ID);
10375
10375
  /** Message to render */
@@ -10475,8 +10475,8 @@ class VoiceRendererComponent {
10475
10475
  const secs = Math.floor(seconds % 60);
10476
10476
  return `${mins}:${secs.toString().padStart(2, '0')}`;
10477
10477
  }
10478
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: VoiceRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10479
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: VoiceRendererComponent, isStandalone: true, selector: "ax-conversation-voice-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "audioElementRef", first: true, predicate: ["audioElement"], descendants: true, isSignal: true }], ngImport: i0, template: `
10478
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXVoiceRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10479
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXVoiceRendererComponent, isStandalone: true, selector: "ax-conversation-voice-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "audioElementRef", first: true, predicate: ["audioElement"], descendants: true, isSignal: true }], ngImport: i0, template: `
10480
10480
  <div class="voice-renderer">
10481
10481
  <div class="voice-controls">
10482
10482
  <!-- Play/Pause Button -->
@@ -10523,11 +10523,11 @@ class VoiceRendererComponent {
10523
10523
  Your browser does not support the audio element.
10524
10524
  </audio>
10525
10525
  </div>
10526
- `, isInline: true, styles: [":host{display:block}.voice-renderer{width:100%;max-width:280px}.voice-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:1.25rem}.play-button{flex-shrink:0;padding-inline-start:.2rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:.875rem;cursor:pointer;transition:all .2s}.play-button:hover{// transform: scale(1.05);background:rgb(var(--ax-sys-color-primary-600))}.play-button>i{padding-right:1px;padding-top:1px}.voice-waveform{flex:1;min-width:0}.waveform-bars{display:flex;align-items:center;gap:2px;height:32px;margin-bottom:.25rem}.waveform-bar{flex:1;min-width:2px;background:rgb(var(--ax-sys-color-border-light-surface));border-radius:2px;transition:all .2s}.waveform-bar.active{background:rgb(var(--ax-sys-color-primary-500))}.voice-box{display:flex;flex-direction:column;align-items:center;gap:.25rem}.voice-duration{font-size:.6875rem;opacity:.7;text-align:right;color:rgb(var(--ax-sys-color-primary-500))}.speed-button{flex-shrink:0;min-width:42px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;color:rgb(var(--ax-sys-color-primary-500));border:1px solid rgb(var(--ax-sys-color-primary-500));border-radius:14px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.speed-button:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.speed-button:active{// transform: scale(.95)}.voice-error{margin-top:.5rem;padding:.25rem;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));border-radius:1.25rem;font-size:.75rem;text-align:center}audio{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
10526
+ `, isInline: true, styles: [":host{display:block}.voice-renderer{width:100%;max-width:280px}.voice-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:rgb(var(--ax-sys-color-lighter-surface));border-radius:1.25rem}.play-button{flex-shrink:0;padding-inline-start:.2rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:.875rem;cursor:pointer;transition:all .2s}.play-button:hover{// transform: scale(1.05);background:rgb(var(--ax-sys-color-primary-600))}.play-button>i{padding-right:1px;padding-top:1px}.voice-waveform{flex:1;min-width:0}.waveform-bars{display:flex;align-items:center;gap:2px;height:32px;margin-bottom:.25rem}.waveform-bar{flex:1;min-width:2px;background:rgb(var(--ax-sys-color-border-light-surface));border-radius:2px;transition:all .2s}.waveform-bar.active{background:rgb(var(--ax-sys-color-primary-500))}.voice-box{display:flex;flex-direction:column;align-items:center;gap:.25rem}.voice-duration{font-size:.6875rem;opacity:.7;text-align:right;color:rgb(var(--ax-sys-color-primary-500))}.speed-button{flex-shrink:0;min-width:42px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;color:rgb(var(--ax-sys-color-primary-500));border:1px solid rgb(var(--ax-sys-color-primary-500));border-radius:14px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.speed-button:hover{background:rgb(var(--ax-sys-color-primary-lightest-surface))}.speed-button:active{// transform: scale(.95)}.voice-error{margin-top:.5rem;padding:.25rem;background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500));border-radius:1.25rem;font-size:.75rem;text-align:center}audio{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10527
10527
  }
10528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: VoiceRendererComponent, decorators: [{
10528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXVoiceRendererComponent, decorators: [{
10529
10529
  type: Component,
10530
- args: [{ selector: 'ax-conversation-voice-renderer', imports: [CommonModule], template: `
10530
+ args: [{ selector: 'ax-conversation-voice-renderer', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
10531
10531
  <div class="voice-renderer">
10532
10532
  <div class="voice-controls">
10533
10533
  <!-- Play/Pause Button -->
@@ -10674,7 +10674,7 @@ const AX_CONVERSATION_MESSAGE_FORWARD_ACTION = {
10674
10674
  // Individual renderer constants (no aggregate arrays)
10675
10675
  const AX_CONVERSATION_TEXT_RENDERER = {
10676
10676
  type: 'text',
10677
- component: TextRendererComponent,
10677
+ component: AXTextRendererComponent,
10678
10678
  canHandle: (message) => message.type === 'text',
10679
10679
  capabilities: {
10680
10680
  supportsReactions: true,
@@ -10688,7 +10688,7 @@ const AX_CONVERSATION_TEXT_RENDERER = {
10688
10688
  };
10689
10689
  const AX_CONVERSATION_IMAGE_RENDERER = {
10690
10690
  type: 'image',
10691
- component: ImageRendererComponent,
10691
+ component: AXImageRendererComponent,
10692
10692
  canHandle: (message) => message.type === 'image',
10693
10693
  capabilities: {
10694
10694
  supportsReactions: true,
@@ -10702,7 +10702,7 @@ const AX_CONVERSATION_IMAGE_RENDERER = {
10702
10702
  };
10703
10703
  const AX_CONVERSATION_VIDEO_RENDERER = {
10704
10704
  type: 'video',
10705
- component: VideoRendererComponent,
10705
+ component: AXVideoRendererComponent,
10706
10706
  canHandle: (message) => message.type === 'video',
10707
10707
  capabilities: {
10708
10708
  supportsReactions: true,
@@ -10716,7 +10716,7 @@ const AX_CONVERSATION_VIDEO_RENDERER = {
10716
10716
  };
10717
10717
  const AX_CONVERSATION_AUDIO_RENDERER = {
10718
10718
  type: 'audio',
10719
- component: AudioRendererComponent,
10719
+ component: AXAudioRendererComponent,
10720
10720
  canHandle: (message) => message.type === 'audio',
10721
10721
  capabilities: {
10722
10722
  supportsReactions: true,
@@ -10730,7 +10730,7 @@ const AX_CONVERSATION_AUDIO_RENDERER = {
10730
10730
  };
10731
10731
  const AX_CONVERSATION_VOICE_RENDERER = {
10732
10732
  type: 'voice',
10733
- component: VoiceRendererComponent,
10733
+ component: AXVoiceRendererComponent,
10734
10734
  canHandle: (message) => message.type === 'voice',
10735
10735
  capabilities: {
10736
10736
  supportsReactions: true,
@@ -10744,7 +10744,7 @@ const AX_CONVERSATION_VOICE_RENDERER = {
10744
10744
  };
10745
10745
  const AX_CONVERSATION_FILE_RENDERER = {
10746
10746
  type: 'file',
10747
- component: FileRendererComponent,
10747
+ component: AXFileRendererComponent,
10748
10748
  canHandle: (message) => message.type === 'file',
10749
10749
  capabilities: {
10750
10750
  supportsReactions: true,
@@ -10758,7 +10758,7 @@ const AX_CONVERSATION_FILE_RENDERER = {
10758
10758
  };
10759
10759
  const AX_CONVERSATION_LOCATION_RENDERER = {
10760
10760
  type: 'location',
10761
- component: LocationRendererComponent,
10761
+ component: AXLocationRendererComponent,
10762
10762
  canHandle: (message) => message.type === 'location',
10763
10763
  capabilities: {
10764
10764
  supportsReactions: true,
@@ -10772,7 +10772,7 @@ const AX_CONVERSATION_LOCATION_RENDERER = {
10772
10772
  };
10773
10773
  const AX_CONVERSATION_STICKER_RENDERER = {
10774
10774
  type: 'sticker',
10775
- component: StickerRendererComponent,
10775
+ component: AXStickerRendererComponent,
10776
10776
  canHandle: (message) => message.type === 'sticker',
10777
10777
  capabilities: {
10778
10778
  supportsReactions: true,
@@ -10786,7 +10786,7 @@ const AX_CONVERSATION_STICKER_RENDERER = {
10786
10786
  };
10787
10787
  const AX_CONVERSATION_CONTACT_RENDERER = {
10788
10788
  type: 'contact',
10789
- component: ContactRendererComponent,
10789
+ component: AXContactRendererComponent,
10790
10790
  canHandle: (message) => message.type === 'contact',
10791
10791
  capabilities: {
10792
10792
  supportsReactions: true,
@@ -10800,7 +10800,7 @@ const AX_CONVERSATION_CONTACT_RENDERER = {
10800
10800
  };
10801
10801
  const AX_CONVERSATION_SYSTEM_RENDERER = {
10802
10802
  type: 'system',
10803
- component: SystemRendererComponent,
10803
+ component: AXSystemRendererComponent,
10804
10804
  canHandle: (message) => message.type === 'system',
10805
10805
  capabilities: {
10806
10806
  supportsReactions: false,
@@ -10815,7 +10815,7 @@ const AX_CONVERSATION_SYSTEM_RENDERER = {
10815
10815
  // Fallback renderer (catch-all) - keep last when assembling
10816
10816
  const AX_CONVERSATION_FALLBACK_RENDERER = {
10817
10817
  type: 'fallback',
10818
- component: FallbackRendererComponent,
10818
+ component: AXFallbackRendererComponent,
10819
10819
  canHandle: () => true,
10820
10820
  capabilities: {
10821
10821
  supportsReactions: false,
@@ -11108,10 +11108,10 @@ class AXMessageRendererRegistry {
11108
11108
  clear() {
11109
11109
  this._renderers.set([]);
11110
11110
  }
11111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageRendererRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11112
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageRendererRegistry }); }
11111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageRendererRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11112
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageRendererRegistry }); }
11113
11113
  }
11114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageRendererRegistry, decorators: [{
11114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageRendererRegistry, decorators: [{
11115
11115
  type: Injectable
11116
11116
  }], ctorParameters: () => [] });
11117
11117
 
@@ -11155,10 +11155,10 @@ class AXRegistryService {
11155
11155
  this.infoBarActions.clear();
11156
11156
  this.conversationItemActions.clear();
11157
11157
  }
11158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11159
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRegistryService }); }
11158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11159
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXRegistryService }); }
11160
11160
  }
11161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXRegistryService, decorators: [{
11161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXRegistryService, decorators: [{
11162
11162
  type: Injectable
11163
11163
  }] });
11164
11164
 
@@ -12358,10 +12358,10 @@ class AXConversationService {
12358
12358
  }
12359
12359
  }
12360
12360
  }
12361
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12362
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationService }); }
12361
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12362
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationService }); }
12363
12363
  }
12364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationService, decorators: [{
12364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationService, decorators: [{
12365
12365
  type: Injectable
12366
12366
  }], ctorParameters: () => [] });
12367
12367
 
@@ -12469,8 +12469,8 @@ class AXComposerPopupComponent {
12469
12469
  event.data = data;
12470
12470
  this.onClosed.emit(event);
12471
12471
  }
12472
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12473
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXComposerPopupComponent, isStandalone: true, selector: "ax-composer-popup", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, onItemSelected: { classPropertyName: "onItemSelected", publicName: "onItemSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", itemSelected: "itemSelected", onClosed: "onClosed" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
12472
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12473
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXComposerPopupComponent, isStandalone: true, selector: "ax-composer-popup", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, onItemSelected: { classPropertyName: "onItemSelected", publicName: "onItemSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", itemSelected: "itemSelected", onClosed: "onClosed" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
12474
12474
  <div class="composer-popup">
12475
12475
  <!-- Tabs -->
12476
12476
  <ax-tabs (onActiveTabChanged)="onTabChange($event)">
@@ -12492,7 +12492,7 @@ class AXComposerPopupComponent {
12492
12492
  </div>
12493
12493
  `, isInline: true, styles: [":host{display:block;width:100%;height:100%}.composer-popup{display:flex;padding:1rem;flex-direction:column;width:100%;height:100%;height:max(400px,50vh)}.popup-content{flex:1;overflow-y:auto}.tab-icon{font-size:1.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }] }); }
12494
12494
  }
12495
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerPopupComponent, decorators: [{
12495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerPopupComponent, decorators: [{
12496
12496
  type: Component,
12497
12497
  args: [{ selector: 'ax-composer-popup', imports: [CommonModule, AXTabsComponent, AXTabItemComponent], template: `
12498
12498
  <div class="composer-popup">
@@ -12723,10 +12723,10 @@ class AXComposerService {
12723
12723
  console.warn('Failed to clear draft:', error);
12724
12724
  }
12725
12725
  }
12726
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12727
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerService }); }
12726
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12727
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerService }); }
12728
12728
  }
12729
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerService, decorators: [{
12729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerService, decorators: [{
12730
12730
  type: Injectable
12731
12731
  }] });
12732
12732
 
@@ -12738,6 +12738,7 @@ class AXMessageListService {
12738
12738
  constructor() {
12739
12739
  this.conversationService = inject(AXConversationService);
12740
12740
  this.composerService = inject(AXComposerService);
12741
+ this.config = inject(CONVERSATION_CONFIG);
12741
12742
  this.activeConversation = this.conversationService.activeConversation;
12742
12743
  this.activeMessages = this.conversationService.activeMessages;
12743
12744
  this.currentUser = this.conversationService.currentUser;
@@ -12788,11 +12789,16 @@ class AXMessageListService {
12788
12789
  }
12789
12790
  this.loadingMore.set(true);
12790
12791
  try {
12792
+ const conversation = this.activeConversation();
12793
+ if (!conversation) {
12794
+ return;
12795
+ }
12791
12796
  const nextPage = this.currentPage() + 1;
12792
- // Note: Implement loadMoreMessages in ConversationService if needed
12793
- // For now, just mark as no more messages
12797
+ const items = await this.conversationService.loadMessages(conversation.id, nextPage);
12794
12798
  this.currentPage.set(nextPage);
12795
- this.hasMoreMessages.set(false);
12799
+ // Determine if there may be more pages using pageSize heuristic
12800
+ const pageSize = this.config.messagePageSize;
12801
+ this.hasMoreMessages.set(items.length >= pageSize);
12796
12802
  }
12797
12803
  finally {
12798
12804
  this.loadingMore.set(false);
@@ -12832,10 +12838,10 @@ class AXMessageListService {
12832
12838
  requestScrollToBottom() {
12833
12839
  this.scrollRequests.update((n) => n + 1);
12834
12840
  }
12835
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12836
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageListService }); }
12841
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12842
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageListService }); }
12837
12843
  }
12838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageListService, decorators: [{
12844
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageListService, decorators: [{
12839
12845
  type: Injectable
12840
12846
  }] });
12841
12847
 
@@ -13334,8 +13340,8 @@ class AXComposerComponent {
13334
13340
  await this.onSendClick();
13335
13341
  }
13336
13342
  }
13337
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13338
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXComposerComponent, isStandalone: true, selector: "ax-conversation-composer", outputs: { messageSent: "messageSent", emojiClick: "emojiClick", attachClick: "attachClick", voiceClick: "voiceClick" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }, { propertyName: "emojiPopoverRef", first: true, predicate: ["emojiPopover"], descendants: true, isSignal: true }], ngImport: i0, template: `
13343
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13344
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXComposerComponent, isStandalone: true, selector: "ax-conversation-composer", outputs: { messageSent: "messageSent", emojiClick: "emojiClick", attachClick: "attachClick", voiceClick: "voiceClick" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }, { propertyName: "emojiPopoverRef", first: true, predicate: ["emojiPopover"], descendants: true, isSignal: true }], ngImport: i0, template: `
13339
13345
  @if (activeConversation()) {
13340
13346
  <div class="composer">
13341
13347
  <!-- Full-Width Component Mode -->
@@ -13582,7 +13588,7 @@ class AXComposerComponent {
13582
13588
  }
13583
13589
  `, isInline: true, styles: [":host{display:block}.composer-banner{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:rgb(var(--ax-sys-color-primary-lightest-surface));border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface))}.banner-content{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.banner-icon,.emoji-icon{font-size:1.25rem;flex-shrink:0}.banner-text{flex:1;min-width:0;cursor:pointer;transition:opacity .2s}.banner-text:hover{opacity:.8}.banner-title{font-size:.75rem;font-weight:600}.banner-subtitle{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}.banner-close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:.375rem;font-size:1rem;cursor:pointer;transition:background .2s}.banner-close:hover{background:rgb(var(--ax-sys-color-light-surface))}.composer-input-container{display:flex;align-items:center;gap:.5rem;padding:.75rem}.composer-actions-left,.composer-actions-right{display:flex;align-items:center;//gap: .5rem}.composer-input-wrapper{display:flex;flex:1;min-width:0}.composer-input{width:100%;min-height:40px;max-height:120px;padding:.5rem .75rem;border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:1.25rem;font-size:.9375rem;font-family:inherit;line-height:1.5;resize:none;outline:none;transition:border-color .2s}.composer-input:focus{border-color:rgb(var(--ax-sys-color-primary-500))}.action-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .2s;flex-shrink:0}.action-button:hover{background:rgb(var(--ax-sys-color-light-surface))}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-send{background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface))}.action-send:hover:not(:disabled){background:rgb(var(--ax-sys-color-primary-600))}.send-icon{font-size:1rem;position:relative;left:-1px}.action-voice{font-size:1.25rem}.composer-attachments{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem 1rem}.attachment-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:rgb(var(--ax-sys-color-light-surface));border-radius:.5rem;font-size:.875rem}.attachment-icon{font-size:1rem}.attachment-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;border-radius:50%;font-size:.875rem;cursor:pointer;transition:background .2s}.attachment-remove:hover{background:rgb(var(--ax-sys-color-danger-lightest-surface));color:rgb(var(--ax-sys-color-danger-500))}.typing-indicator-container{padding:0 1rem .5rem;font-size:.75rem;opacity:.7}.composer-component-fullwidth{width:100%;min-height:72px;background:rgb(var(--ax-sys-color-lightest-surface))}.action-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border-radius:8px;font-size:.625rem;font-weight:600}.action-button{position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTextAreaModule }, { kind: "component", type: i3$2.AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXCommonModule }, { kind: "ngmodule", type: AXUploaderModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: i1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { 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: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i7.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i8.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13584
13590
  }
13585
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXComposerComponent, decorators: [{
13591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXComposerComponent, decorators: [{
13586
13592
  type: Component,
13587
13593
  args: [{ selector: 'ax-conversation-composer', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
13588
13594
  CommonModule,
@@ -13875,8 +13881,8 @@ class AXConversationContainerComponent {
13875
13881
  closeActiveConversation() {
13876
13882
  this.conversationService.closeActiveConversation();
13877
13883
  }
13878
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13879
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXConversationContainerComponent, isStandalone: true, selector: "ax-conversation-container", inputs: { customClass: { classPropertyName: "customClass", publicName: "customClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.escape": "closeActiveConversation()" }, properties: { "class.conversation-container-host": "true", "tabindex": "\"-1\"" } }, ngImport: i0, template: `
13884
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13885
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXConversationContainerComponent, isStandalone: true, selector: "ax-conversation-container", inputs: { customClass: { classPropertyName: "customClass", publicName: "customClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.escape": "closeActiveConversation()" }, properties: { "class.conversation-container-host": "true", "tabindex": "\"-1\"" } }, ngImport: i0, template: `
13880
13886
  <div [class]="containerClasses()" role="main" aria-label="Conversation interface">
13881
13887
  <!-- Sidebar -->
13882
13888
  <div
@@ -13928,7 +13934,7 @@ class AXConversationContainerComponent {
13928
13934
  </div>
13929
13935
  `, isInline: true, styles: [":host{display:block;width:100%;height:100%;outline:none}.conversation-container{display:flex;width:100%;height:100%;background:rgb(var(--ax-sys-color-lightest-surface));overflow:hidden}.conversation-container-loading{display:flex;align-items:center;justify-content:center}.conversation-sidebar-container{flex-shrink:0;height:100%;display:none;width:0;border-inline-end:1px solid rgb(var(--ax-sys-color-border-light-surface))}.conversation-sidebar-container:has(*){display:block;width:var(--ax-conversation-sidebar-width, 320px)}.conversation-main-container{flex:1;height:100%;overflow:hidden;display:flex;flex-direction:column}.conversation-view{display:flex;flex-direction:column;width:100%;height:100%}.conversation-messages{flex:1;overflow:hidden}.conversation-empty-state{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgb(var(--ax-sys-color-lightest-surface))}.empty-state-content{text-align:center;padding:2rem;max-width:400px}.empty-state-icon{margin:0 auto 1.5rem;opacity:.8}.empty-state-title{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.empty-state-description{font-size:1rem;margin:0;opacity:.7}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: AXResizableDirective, selector: "[axResizable]", inputs: ["axResizable", "minWidth", "maxWidth", "dblClickAction", "width", "defaultWidth"], outputs: ["axResizableChange", "minWidthChange", "maxWidthChange", "dblClickActionChange", "widthChange", "defaultWidthChange", "onResizingStarted", "onResizingEnded", "onResizingDblClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13930
13936
  }
13931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationContainerComponent, decorators: [{
13937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationContainerComponent, decorators: [{
13932
13938
  type: Component,
13933
13939
  args: [{ selector: 'ax-conversation-container', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, AXResizableDirective], template: `
13934
13940
  <div [class]="containerClasses()" role="main" aria-label="Conversation interface">
@@ -14004,10 +14010,10 @@ class AXConversationContainerDirective {
14004
14010
  closeActiveConversation() {
14005
14011
  this.conversationService.closeActiveConversation();
14006
14012
  }
14007
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14008
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: AXConversationContainerDirective, isStandalone: true, selector: "[axConversationContainer]", host: { listeners: { "keydown.escape": "closeActiveConversation()" }, properties: { "class.ax-conversation-container": "true", "tabindex": "\"-1\"", "style.outline": "\"none\"" } }, ngImport: i0 }); }
14013
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14014
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: AXConversationContainerDirective, isStandalone: true, selector: "[axConversationContainer]", host: { listeners: { "keydown.escape": "closeActiveConversation()" }, properties: { "class.ax-conversation-container": "true", "tabindex": "\"-1\"", "style.outline": "\"none\"" } }, ngImport: i0 }); }
14009
14015
  }
14010
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationContainerDirective, decorators: [{
14016
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationContainerDirective, decorators: [{
14011
14017
  type: Directive,
14012
14018
  args: [{
14013
14019
  selector: '[axConversationContainer]',
@@ -14177,10 +14183,10 @@ class AXInfoBarService {
14177
14183
  this._searchResultsCount.set(0);
14178
14184
  this._currentSearchIndex.set(0);
14179
14185
  }
14180
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14181
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarService }); }
14186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14187
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarService }); }
14182
14188
  }
14183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarService, decorators: [{
14189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarService, decorators: [{
14184
14190
  type: Injectable
14185
14191
  }] });
14186
14192
 
@@ -14188,7 +14194,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
14188
14194
  * Members Popover Component
14189
14195
  * Shows list of conversation members with avatars
14190
14196
  */
14191
- class MembersPopoverComponent {
14197
+ class AXMembersPopoverComponent {
14192
14198
  constructor() {
14193
14199
  /** Conversation */
14194
14200
  this.conversation = input.required(...(ngDevMode ? [{ debugName: "conversation" }] : []));
@@ -14202,8 +14208,8 @@ class MembersPopoverComponent {
14202
14208
  .toUpperCase()
14203
14209
  .slice(0, 2);
14204
14210
  }
14205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MembersPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14206
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: MembersPopoverComponent, isStandalone: true, selector: "ax-conversation-members-popover", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
14211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMembersPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14212
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXMembersPopoverComponent, isStandalone: true, selector: "ax-conversation-members-popover", inputs: { conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
14207
14213
  <div class="members-popover">
14208
14214
  <div class="members-header">
14209
14215
  <span class="members-title">Members ({{ conversation().participants.length }})</span>
@@ -14236,11 +14242,11 @@ class MembersPopoverComponent {
14236
14242
  }
14237
14243
  </div>
14238
14244
  </div>
14239
- `, isInline: true, styles: [":host{display:block}.members-popover{width:280px;max-height:400px;border-radius:.5rem;display:flex;flex-direction:column;background:rgb(var(--ax-sys-color-surface))}.members-header{padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.members-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.members-list{overflow-y:auto;padding:.5rem}.member-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:.5rem;transition:background .2s;cursor:pointer}.member-item:hover{background:rgb(var(--ax-sys-color-lighter-surface))}.member-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.member-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{font-size:.75rem;color:rgb(var(--ax-sys-color-primary-500));text-transform:capitalize}.member-status{width:10px;height:10px;border-radius:50%;// border: 2px solid rgb(var(--ax-sys-color-surface));flex-shrink:0}.member-status.status-online{background:rgb(var(--ax-sys-color-success-500))}.member-status.status-offline{background:rgb(var(--ax-sys-color-neutral-400))}.member-status.status-away{background:rgb(var(--ax-sys-color-warning-500))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }] }); }
14245
+ `, isInline: true, styles: [":host{display:block}.members-popover{width:280px;max-height:400px;border-radius:.5rem;display:flex;flex-direction:column;background:rgb(var(--ax-sys-color-surface))}.members-header{padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.members-title{font-size:.875rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.members-list{overflow-y:auto;padding:.5rem}.member-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:.5rem;transition:background .2s;cursor:pointer}.member-item:hover{background:rgb(var(--ax-sys-color-lighter-surface))}.member-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.member-name{font-size:.875rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{font-size:.75rem;color:rgb(var(--ax-sys-color-primary-500));text-transform:capitalize}.member-status{width:10px;height:10px;border-radius:50%;// border: 2px solid rgb(var(--ax-sys-color-surface));flex-shrink:0}.member-status.status-online{background:rgb(var(--ax-sys-color-success-500))}.member-status.status-offline{background:rgb(var(--ax-sys-color-neutral-400))}.member-status.status-away{background:rgb(var(--ax-sys-color-warning-500))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14240
14246
  }
14241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MembersPopoverComponent, decorators: [{
14247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMembersPopoverComponent, decorators: [{
14242
14248
  type: Component,
14243
- args: [{ selector: 'ax-conversation-members-popover', imports: [CommonModule, AXAvatarComponent, AXImageComponent, AXLabelComponent], template: `
14249
+ args: [{ selector: 'ax-conversation-members-popover', imports: [CommonModule, AXAvatarComponent, AXImageComponent, AXLabelComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
14244
14250
  <div class="members-popover">
14245
14251
  <div class="members-header">
14246
14252
  <span class="members-title">Members ({{ conversation().participants.length }})</span>
@@ -14433,8 +14439,8 @@ class AXInfoBarComponent {
14433
14439
  this.actionLoading.set(false);
14434
14440
  }
14435
14441
  }
14436
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14437
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXInfoBarComponent, isStandalone: true, selector: "ax-conversation-info-bar", outputs: { avatarClick: "avatarClick", searchClick: "searchClick", searchQuery: "searchQuery", menuItemAction: "menuItemAction" }, viewQueries: [{ propertyName: "membersPopoverRef", first: true, predicate: ["membersPopover"], descendants: true, isSignal: true }], ngImport: i0, template: `
14442
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14443
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXInfoBarComponent, isStandalone: true, selector: "ax-conversation-info-bar", outputs: { avatarClick: "avatarClick", searchClick: "searchClick", searchQuery: "searchQuery", menuItemAction: "menuItemAction" }, viewQueries: [{ propertyName: "membersPopoverRef", first: true, predicate: ["membersPopover"], descendants: true, isSignal: true }], ngImport: i0, template: `
14438
14444
  @if (activeConversation(); as conversation) {
14439
14445
  <div class="info-bar">
14440
14446
  <!-- Left: Avatar and Info -->
@@ -14557,9 +14563,9 @@ class AXInfoBarComponent {
14557
14563
  }
14558
14564
  </div>
14559
14565
  }
14560
- `, isInline: true, styles: [":host{display:block}.info-bar{position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:.5rem;line-height:1.1rem;min-height:65px;gap:.75rem}.info-bar-empty{justify-content:center;opacity:.6}.info-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.info-details{flex:1;min-width:0}.info-title{margin:0;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-subtitle-with-status{display:flex;align-items:center;gap:.375rem;margin:.125rem 0 0}.online-badge{color:#22c55e;font-size:.625rem;line-height:1;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.info-subtitle{margin:0;font-size:.85rem;letter-spacing:.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7}.info-subtitle.clickable{cursor:pointer;transition:opacity .2s}.info-subtitle.clickable:hover{opacity:1;text-decoration:underline}.info-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.info-component-fullwidth{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;gap:.5rem;padding:1rem;background:rgb(var(--ax-sys-color-lightest-surface));z-index:10}.slide-in{animation:slideInFromRight var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.slide-out{opacity:0;transform:translate(100%);transition:opacity .25s cubic-bezier(.4,0,1,1),transform .25s cubic-bezier(.4,0,1,1)}.info-component-fullwidth>*:first-child{flex:1;min-width:0}.action-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:.5rem;font-size:1.25rem;cursor:pointer;transition:background .2s}.action-button:hover{background:rgb(var(--ax-sys-color-light-surface))}.search-container{display:flex;align-items:center;gap:.5rem;width:100%;min-width:200px}.search-input{flex:1;min-width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: i1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: MembersPopoverComponent, selector: "ax-conversation-members-popover", inputs: ["conversation"] }] }); }
14566
+ `, isInline: true, styles: [":host{display:block}.info-bar{position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:.5rem;line-height:1.1rem;min-height:65px;gap:.75rem}.info-bar-empty{justify-content:center;opacity:.6}.info-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.info-details{flex:1;min-width:0}.info-title{margin:0;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-subtitle-with-status{display:flex;align-items:center;gap:.375rem;margin:.125rem 0 0}.online-badge{color:#22c55e;font-size:.625rem;line-height:1;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.info-subtitle{margin:0;font-size:.85rem;letter-spacing:.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7}.info-subtitle.clickable{cursor:pointer;transition:opacity .2s}.info-subtitle.clickable:hover{opacity:1;text-decoration:underline}.info-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.info-component-fullwidth{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;gap:.5rem;padding:1rem;background:rgb(var(--ax-sys-color-lightest-surface));z-index:10}.slide-in{animation:slideInFromRight var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.slide-out{opacity:0;transform:translate(100%);transition:opacity .25s cubic-bezier(.4,0,1,1),transform .25s cubic-bezier(.4,0,1,1)}.info-component-fullwidth>*:first-child{flex:1;min-width:0}.action-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:.5rem;font-size:1.25rem;cursor:pointer;transition:background .2s}.action-button:hover{background:rgb(var(--ax-sys-color-light-surface))}.search-container{display:flex;align-items:center;gap:.5rem;width:100%;min-width:200px}.search-input{flex:1;min-width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: i1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXMembersPopoverComponent, selector: "ax-conversation-members-popover", inputs: ["conversation"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14561
14567
  }
14562
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarComponent, decorators: [{
14568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfoBarComponent, decorators: [{
14563
14569
  type: Component,
14564
14570
  args: [{ selector: 'ax-conversation-info-bar', imports: [
14565
14571
  CommonModule,
@@ -14572,8 +14578,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
14572
14578
  AXLabelComponent,
14573
14579
  AXTooltipModule,
14574
14580
  AXPopoverComponent,
14575
- MembersPopoverComponent,
14576
- ], template: `
14581
+ AXMembersPopoverComponent,
14582
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: `
14577
14583
  @if (activeConversation(); as conversation) {
14578
14584
  <div class="info-bar">
14579
14585
  <!-- Left: Avatar and Info -->
@@ -14755,10 +14761,10 @@ class AXInfiniteScrollDirective {
14755
14761
  }
14756
14762
  this.lastScrollTop = scrollTop;
14757
14763
  }
14758
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfiniteScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14759
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: AXInfiniteScrollDirective, isStandalone: true, selector: "[axInfiniteScroll]", inputs: { threshold: { classPropertyName: "threshold", publicName: "threshold", isSignal: true, isRequired: false, transformFunction: null }, edge: { classPropertyName: "edge", publicName: "edge", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollThreshold: "scrollThreshold" }, ngImport: i0 }); }
14764
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfiniteScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14765
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: AXInfiniteScrollDirective, isStandalone: true, selector: "[axInfiniteScroll]", inputs: { threshold: { classPropertyName: "threshold", publicName: "threshold", isSignal: true, isRequired: false, transformFunction: null }, edge: { classPropertyName: "edge", publicName: "edge", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollThreshold: "scrollThreshold" }, ngImport: i0 }); }
14760
14766
  }
14761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfiniteScrollDirective, decorators: [{
14767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXInfiniteScrollDirective, decorators: [{
14762
14768
  type: Directive,
14763
14769
  args: [{
14764
14770
  selector: '[axInfiniteScroll]',
@@ -15029,7 +15035,7 @@ class AXMessageListComponent {
15029
15035
  if (!renderer) {
15030
15036
  console.warn('⚠️ No renderer found for message type:', message.type, 'Using fallback');
15031
15037
  }
15032
- return renderer?.component ?? FallbackRendererComponent;
15038
+ return renderer?.component ?? AXFallbackRendererComponent;
15033
15039
  }
15034
15040
  /** Provide inputs for the dynamic renderer */
15035
15041
  getRendererInputs(message) {
@@ -15383,8 +15389,8 @@ class AXMessageListComponent {
15383
15389
  trackMessage(index, message) {
15384
15390
  return message.id;
15385
15391
  }
15386
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15387
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXMessageListComponent, isStandalone: true, selector: "ax-conversation-message-list", inputs: { avatarTemplate: { classPropertyName: "avatarTemplate", publicName: "avatarTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { messageAction: "messageAction" }, viewQueries: [{ propertyName: "reactionPopover", first: true, predicate: ["reactionPopover"], descendants: true, isSignal: true }, { propertyName: "messageListRef", first: true, predicate: ["messageList"], descendants: true, isSignal: true }, { propertyName: "messagesContainerRef", first: true, predicate: ["messagesContainer"], descendants: true, isSignal: true }], ngImport: i0, template: `
15392
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15393
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXMessageListComponent, isStandalone: true, selector: "ax-conversation-message-list", inputs: { avatarTemplate: { classPropertyName: "avatarTemplate", publicName: "avatarTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { messageAction: "messageAction" }, viewQueries: [{ propertyName: "reactionPopover", first: true, predicate: ["reactionPopover"], descendants: true, isSignal: true }, { propertyName: "messageListRef", first: true, predicate: ["messageList"], descendants: true, isSignal: true }, { propertyName: "messagesContainerRef", first: true, predicate: ["messagesContainer"], descendants: true, isSignal: true }], ngImport: i0, template: `
15388
15394
  @if (activeConversation()) {
15389
15395
  <div class="message-list" #messageList role="log" aria-label="Message list" aria-live="polite">
15390
15396
  @if (loading()) {
@@ -15676,9 +15682,9 @@ class AXMessageListComponent {
15676
15682
  </ax-popover>
15677
15683
  }
15678
15684
  }
15679
- `, isInline: true, styles: [":host{display:block;height:100%;position:relative}.message-list{height:100%}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:3rem 2rem;gap:1.25rem;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-icon{font-size:5.5rem;line-height:1;opacity:.35;margin-bottom:.5rem;filter:grayscale(.2)}.empty-title{font-size:1.625rem;font-weight:600;margin:0;color:rgb(var(--ax-sys-color-on-surface));letter-spacing:-.02em}.empty-description{font-size:1.0625rem;margin:0;color:rgb(var(--ax-sys-color-on-surface));opacity:.65;max-width:420px;line-height:1.7}.spinner{width:32px;height:32px;border:3px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.list-loading-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}.messages-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.date-separator{position:sticky;z-index:150;top:0;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.date-text{padding:.25rem .75rem;background:rgb(var(--ax-sys-color-lighter-surface));font-size:.75rem;font-weight:500;border-radius:1rem;width:7rem;display:flex;justify-content:center;align-items:center}.unread-separator{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;padding:0 1rem}.unread-separator-line{flex:1;height:1px;background:rgb(var(--ax-sys-color-primary-500));opacity:.3}.unread-separator-text{font-size:.75rem;font-weight:600;color:rgb(var(--ax-sys-color-primary-500));text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.message-item:has(.message-reactions-bubbles){padding-bottom:2.5rem}.message-item{position:relative;display:flex;padding:1rem;border-radius:0;gap:.5rem;margin-bottom:2rem;line-height:1rem;align-items:end;transition:background-color .3s ease}.message-highlight{background-color:rgba(var(--ax-sys-color-primary-500),.1);border-radius:.5rem}.fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes fadeSlideIn{0%{opacity:0;// transform: translateX(20%)}to{opacity:1;// transform: translateX(0)}}.message-own{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin-bottom:.25rem}.message-bubble-container{display:flex;flex-direction:column;max-width:70%;position:relative}.message-own .message-bubble-container{align-items:flex-end}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem}.message-bubble{position:relative;padding:.5rem .75rem;border-radius:1rem;background:rgb(var(--ax-sys-color-surface));box-shadow:0 1px 2px #0000000d;word-wrap:break-word;transition:background-color .3s ease}.reply-preview{display:flex;gap:.5rem;padding:.5rem;margin-bottom:.5rem;background:#0000000d;border-radius:.5rem;cursor:pointer;transition:background-color .2s}.reply-preview:hover{background:#00000014}.message-own .reply-preview{background:#ffffff26}.message-own .reply-preview:hover{background:#ffffff40}.reply-preview-line{width:3px;background:currentColor;opacity:.5;border-radius:1.5px;flex-shrink:0}.reply-preview-content{flex:1;min-width:0}.reply-preview-sender{font-size:.75rem;font-weight:600;margin-bottom:.125rem;opacity:.9}.reply-preview-text{font-size:.8125rem;opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forwarded-indicator{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;font-style:italic;opacity:.7;border-left:3px solid currentColor;border-radius:.5rem;padding:.375rem .5rem}.forwarded-indicator i{font-size:.875rem}.forwarded-text{font-size:.75rem}.message-bubble-received{border-bottom-left-radius:.125rem}.message-bubble-sent{border-bottom-right-radius:.125rem}.message-own .message-bubble{background:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface))}.message-content{font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.message-footer{display:flex;align-items:end;gap:.25rem;margin-top:.25rem;font-size:.6875rem;opacity:.7;letter-spacing:.05rem}.message-time{font-variant-numeric:tabular-nums;font-size:.675rem}.edited-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.675rem;opacity:.75;padding-inline-start:.35rem;border-inline-start:1px solid lightgray}.status-icon{cursor:help;display:inline-flex;font-size:.75rem}.status-read{color:rgb(var(--ax-sys-color-primary-400))}.status-failed{color:rgb(var(--ax-sys-color-danger-500))}.message-reactions-bubbles{display:flex;flex-wrap:wrap;gap:.25rem;z-index:1}.reaction-bubble{display:flex;align-items:center;gap:.125rem;padding:.25rem;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:.625rem;font-size:.625rem;cursor:pointer;transition:all .15s;box-shadow:0 1px 2px #00000014;min-height:16px;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-bubble:hover{// transform: scale(1.3);box-shadow:0 2px 4px #0000001f;border-color:rgb(var(--ax-sys-color-primary))}.reaction-bubble-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface));border-color:rgb(var(--ax-sys-color-primary));border-width:1.5px}.reaction-emoji{font-size:1.2rem;line-height:1}.reaction-count{font-size:1rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));line-height:1}.reaction-bubble-active .reaction-count{color:rgb(var(--ax-sys-color-primary))}.reaction-bubble-active:hover{background:rgb(var(--ax-sys-color-primary-light-surface));border-color:rgb(var(--ax-sys-color-primary-600))}.message-reactions-container{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-height:20px;position:absolute;left:0;top:calc(100% + 18px)}.add-reaction-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:.25rem;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:50%;cursor:pointer;transition:all .15s;box-shadow:0 1px 2px #00000014;visibility:hidden}.message-bubble-container:hover .add-reaction-button{visibility:visible}.add-reaction-visible{visibility:visible!important;background:rgb(var(--ax-sys-color-primary) / .1);border-color:rgb(var(--ax-sys-color-primary))}.add-reaction-button:hover{// transform: scale(1.15);box-shadow:0 2px 4px #0000001f;border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .12)}.add-reaction-button i{font-size:1rem;color:rgb(var(--ax-sys-color-on-surface))}.reaction-picker-popup{position:fixed;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:.75rem;box-shadow:0 8px 24px #0003;z-index:100;min-width:260px;max-width:300px;transform:translateY(-100%);margin-top:-.5rem}.reaction-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border))}.picker-title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.picker-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s}.picker-close:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.reaction-picker-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:.375rem;padding:.75rem;padding-top:0}.reaction-picker-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1.5px solid transparent;border-radius:.5rem;font-size:1.375rem;cursor:pointer;transition:all .15s;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-picker-emoji:hover{// transform: scale(1.15);rotate:20deg;background:rgb(var(--ax-sys-color-surface-variant))}.reaction-picker-emoji-active{background:rgb(var(--ax-sys-color-primary) / .15);border-color:rgb(var(--ax-sys-color-primary))}.reaction-picker-emoji-active:hover{background:rgb(var(--ax-sys-color-primary) / .25)}.message-actions{padding-bottom:1.5rem;opacity:0;transition:opacity .2s;z-index:10}.message-item:hover .message-actions{opacity:1}.action-trigger{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.action-trigger:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.05)}.shortcut{font-size:.6875rem;opacity:.7}.scroll-to-bottom{position:absolute;bottom:1rem;right:1rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 6px #0000001a;transition:transform .2s;z-index:190}.scroll-to-bottom:hover{// transform: scale(1.1)}.thread-badge,.forward-badge{position:absolute;top:-6px;min-width:20px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:3px;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:2px solid rgb(var(--ax-sys-color-lightest-surface));border-radius:10px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}.thread-badge i,.forward-badge i{font-size:.625rem}.message-bubble-received .thread-badge{left:calc(100% - 5px)}.message-own .message-bubble-sent .thread-badge{right:calc(100% - 5px)}.forward-badge{background:rgb(var(--ax-sys-color-success-500));pointer-events:none}.message-bubble-received .forward-badge{left:calc(100% - 5px);top:18px}.message-own .message-bubble-sent .forward-badge{right:calc(100% - 5px);top:18px}.message-bubble-received .forward-badge:first-of-type{top:-6px}.message-own .message-bubble-sent .forward-badge:first-of-type{top:-6px}.thread-badge:hover{// transform: scale(1.1);background:rgb(var(--ax-sys-color-primary-600))}.thread-badge:active{// transform: scale(.95)}.forward-badge:hover{background:rgb(var(--ax-sys-color-success-600))}.slide-in{animation:slideInFromBottom var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-out{opacity:0;transform:translateY(100%);transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function),transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i1$5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i7.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXInfiniteScrollDirective, selector: "[axInfiniteScroll]", inputs: ["threshold", "edge"], outputs: ["scrollThreshold"] }, { kind: "pipe", type: i1$5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15685
+ `, isInline: true, styles: [":host{display:block;height:100%;position:relative}.message-list{height:100%}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:3rem 2rem;gap:1.25rem;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-icon{font-size:5.5rem;line-height:1;opacity:.35;margin-bottom:.5rem;filter:grayscale(.2)}.empty-title{font-size:1.625rem;font-weight:600;margin:0;color:rgb(var(--ax-sys-color-on-surface));letter-spacing:-.02em}.empty-description{font-size:1.0625rem;margin:0;color:rgb(var(--ax-sys-color-on-surface));opacity:.65;max-width:420px;line-height:1.7}.spinner{width:32px;height:32px;border:3px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.list-loading-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}.messages-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.date-separator{position:sticky;z-index:150;top:0;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.date-text{padding:.25rem .75rem;background:rgb(var(--ax-sys-color-lighter-surface));font-size:.75rem;font-weight:500;border-radius:1rem;width:7rem;display:flex;justify-content:center;align-items:center}.unread-separator{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;padding:0 1rem}.unread-separator-line{flex:1;height:1px;background:rgb(var(--ax-sys-color-primary-500));opacity:.3}.unread-separator-text{font-size:.75rem;font-weight:600;color:rgb(var(--ax-sys-color-primary-500));text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.message-item:has(.message-reactions-bubbles){padding-bottom:2.5rem}.message-item{position:relative;display:flex;padding:1rem;border-radius:0;gap:.5rem;margin-bottom:2rem;line-height:1rem;align-items:end;transition:background-color .3s ease}.message-highlight{background-color:rgba(var(--ax-sys-color-primary-500),.1);border-radius:.5rem}.fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes fadeSlideIn{0%{opacity:0;// transform: translateX(20%)}to{opacity:1;// transform: translateX(0)}}.message-own{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin-bottom:.25rem}.message-bubble-container{display:flex;flex-direction:column;max-width:70%;position:relative}.message-own .message-bubble-container{align-items:flex-end}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem}.message-bubble{position:relative;padding:.5rem .75rem;border-radius:1rem;background:rgb(var(--ax-sys-color-surface));--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);word-wrap:break-word;transition:background-color .3s ease}.reply-preview{display:flex;gap:.5rem;padding:.5rem;margin-bottom:.5rem;background:rgb(var(--ax-sys-color-on-surface) / .05);border-radius:var(--ax-sys-border-radius);cursor:pointer;transition:background-color var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}.reply-preview:hover{background:rgb(var(--ax-sys-color-on-surface) / .08)}.message-own .reply-preview{background:rgb(var(--ax-sys-color-light-surface) / .15)}.message-own .reply-preview:hover{background:rgb(var(--ax-sys-color-light-surface) / .25)}.reply-preview-line{width:3px;background:currentColor;opacity:.5;border-radius:1.5px;flex-shrink:0}.reply-preview-content{flex:1;min-width:0}.reply-preview-sender{font-size:.75rem;font-weight:600;margin-bottom:.125rem;opacity:.9}.reply-preview-text{font-size:.8125rem;opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forwarded-indicator{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;font-style:italic;opacity:.7;border-left:3px solid currentColor;border-radius:var(--ax-sys-border-radius);padding:.375rem .5rem}.forwarded-indicator i{font-size:.875rem}.forwarded-text{font-size:.75rem}.message-bubble-received{border-bottom-left-radius:.125rem}.message-bubble-sent{border-bottom-right-radius:.125rem}.message-own .message-bubble{background:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface))}.message-content{font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.message-footer{display:flex;align-items:end;gap:.25rem;margin-top:.25rem;font-size:.6875rem;opacity:.7;letter-spacing:.05rem}.message-time{font-variant-numeric:tabular-nums;font-size:.675rem}.edited-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.675rem;opacity:.75;padding-inline-start:.35rem;border-inline-start:1px solid rgb(var(--ax-sys-color-border-light-surface))}.status-icon{cursor:help;display:inline-flex;font-size:.75rem}.status-read{color:rgb(var(--ax-sys-color-primary-400))}.status-failed{color:rgb(var(--ax-sys-color-danger-500))}.message-reactions-bubbles{display:flex;flex-wrap:wrap;gap:.25rem;z-index:1}.reaction-bubble{display:flex;align-items:center;gap:.125rem;padding:.25rem;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius);font-size:.625rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .08);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);min-height:16px;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-bubble:hover{// transform: scale(1.3);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .12);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);border-color:rgb(var(--ax-sys-color-primary-500))}.reaction-bubble-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface));border-color:rgb(var(--ax-sys-color-primary-500));border-width:1.5px}.reaction-emoji{font-size:1.2rem;line-height:1}.reaction-count{font-size:1rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));line-height:1}.reaction-bubble-active .reaction-count{color:rgb(var(--ax-sys-color-primary-500))}.reaction-bubble-active:hover{background:rgb(var(--ax-sys-color-primary-light-surface));border-color:rgb(var(--ax-sys-color-primary-600))}.message-reactions-container{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-height:20px;position:absolute;left:0;top:calc(100% + 18px)}.add-reaction-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:.25rem;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:50%;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .08);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);visibility:hidden}.message-bubble-container:hover .add-reaction-button{visibility:visible}.add-reaction-visible{visibility:visible!important;background:rgb(var(--ax-sys-color-primary-500) / .1);border-color:rgb(var(--ax-sys-color-primary-500))}.add-reaction-button:hover{// transform: scale(1.15);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .12);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .12)}.add-reaction-button i{font-size:1rem;color:rgb(var(--ax-sys-color-on-surface))}.reaction-picker-popup{position:fixed;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius);--ax-shadow: 0 8px 24px rgb(0 0 0 / .2);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);z-index:100;min-width:260px;max-width:300px;transform:translateY(-100%);margin-top:-.5rem}.reaction-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface))}.picker-title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.picker-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:var(--ax-sys-border-radius);cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}.picker-close:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.reaction-bubble:focus-visible,.add-reaction-button:focus-visible,.picker-close:focus-visible,.reaction-picker-emoji:focus-visible,.action-trigger:focus-visible,.scroll-to-bottom:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-500));outline-offset:2px}.reaction-picker-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:.375rem;padding:.75rem;padding-top:0}.reaction-picker-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1.5px solid transparent;border-radius:var(--ax-sys-border-radius);font-size:1.375rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-picker-emoji:hover{// transform: scale(1.15);rotate:20deg;background:rgb(var(--ax-sys-color-light-surface))}.reaction-picker-emoji-active{background:rgb(var(--ax-sys-color-primary-500) / .15);border-color:rgb(var(--ax-sys-color-primary-500))}.reaction-picker-emoji-active:hover{background:rgb(var(--ax-sys-color-primary-500) / .25)}.message-actions{padding-bottom:1.5rem;opacity:0;transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);z-index:10}.message-item:hover .message-actions{opacity:1}.action-trigger{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius);font-size:.875rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .1);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow)}.action-trigger:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.05)}.shortcut{font-size:.6875rem;opacity:.7}.scroll-to-bottom{position:absolute;bottom:1rem;right:1rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;--ax-shadow: 0 4px 6px 0 rgb(0 0 0 / .1);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);transition:transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);z-index:999}.scroll-to-bottom:hover{// transform: scale(1.1)}.thread-badge,.forward-badge{position:absolute;top:-6px;min-width:20px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:3px;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:2px solid rgb(var(--ax-sys-color-lightest-surface));border-radius:10px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}.thread-badge i,.forward-badge i{font-size:.625rem}.message-bubble-received .thread-badge{left:calc(100% - 5px)}.message-own .message-bubble-sent .thread-badge{right:calc(100% - 5px)}.forward-badge{background:rgb(var(--ax-sys-color-success-500));pointer-events:none}.message-bubble-received .forward-badge{left:calc(100% - 5px);top:18px}.message-own .message-bubble-sent .forward-badge{right:calc(100% - 5px);top:18px}.message-bubble-received .forward-badge:first-of-type{top:-6px}.message-own .message-bubble-sent .forward-badge:first-of-type{top:-6px}.thread-badge:hover{// transform: scale(1.1);background:rgb(var(--ax-sys-color-primary-600))}.thread-badge:active{// transform: scale(.95)}.forward-badge:hover{background:rgb(var(--ax-sys-color-success-600))}.slide-in{animation:slideInFromBottom var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-out{opacity:0;transform:translateY(100%);transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function),transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i1$5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.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: AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i4.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i7.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXInfiniteScrollDirective, selector: "[axInfiniteScroll]", inputs: ["threshold", "edge"], outputs: ["scrollThreshold"] }, { kind: "pipe", type: i1$5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15680
15686
  }
15681
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageListComponent, decorators: [{
15687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMessageListComponent, decorators: [{
15682
15688
  type: Component,
15683
15689
  args: [{ selector: 'ax-conversation-message-list', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
15684
15690
  CommonModule,
@@ -15987,7 +15993,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
15987
15993
  </ax-popover>
15988
15994
  }
15989
15995
  }
15990
- `, styles: [":host{display:block;height:100%;position:relative}.message-list{height:100%}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:3rem 2rem;gap:1.25rem;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-icon{font-size:5.5rem;line-height:1;opacity:.35;margin-bottom:.5rem;filter:grayscale(.2)}.empty-title{font-size:1.625rem;font-weight:600;margin:0;color:rgb(var(--ax-sys-color-on-surface));letter-spacing:-.02em}.empty-description{font-size:1.0625rem;margin:0;color:rgb(var(--ax-sys-color-on-surface));opacity:.65;max-width:420px;line-height:1.7}.spinner{width:32px;height:32px;border:3px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.list-loading-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}.messages-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.date-separator{position:sticky;z-index:150;top:0;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.date-text{padding:.25rem .75rem;background:rgb(var(--ax-sys-color-lighter-surface));font-size:.75rem;font-weight:500;border-radius:1rem;width:7rem;display:flex;justify-content:center;align-items:center}.unread-separator{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;padding:0 1rem}.unread-separator-line{flex:1;height:1px;background:rgb(var(--ax-sys-color-primary-500));opacity:.3}.unread-separator-text{font-size:.75rem;font-weight:600;color:rgb(var(--ax-sys-color-primary-500));text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.message-item:has(.message-reactions-bubbles){padding-bottom:2.5rem}.message-item{position:relative;display:flex;padding:1rem;border-radius:0;gap:.5rem;margin-bottom:2rem;line-height:1rem;align-items:end;transition:background-color .3s ease}.message-highlight{background-color:rgba(var(--ax-sys-color-primary-500),.1);border-radius:.5rem}.fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes fadeSlideIn{0%{opacity:0;// transform: translateX(20%)}to{opacity:1;// transform: translateX(0)}}.message-own{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin-bottom:.25rem}.message-bubble-container{display:flex;flex-direction:column;max-width:70%;position:relative}.message-own .message-bubble-container{align-items:flex-end}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem}.message-bubble{position:relative;padding:.5rem .75rem;border-radius:1rem;background:rgb(var(--ax-sys-color-surface));box-shadow:0 1px 2px #0000000d;word-wrap:break-word;transition:background-color .3s ease}.reply-preview{display:flex;gap:.5rem;padding:.5rem;margin-bottom:.5rem;background:#0000000d;border-radius:.5rem;cursor:pointer;transition:background-color .2s}.reply-preview:hover{background:#00000014}.message-own .reply-preview{background:#ffffff26}.message-own .reply-preview:hover{background:#ffffff40}.reply-preview-line{width:3px;background:currentColor;opacity:.5;border-radius:1.5px;flex-shrink:0}.reply-preview-content{flex:1;min-width:0}.reply-preview-sender{font-size:.75rem;font-weight:600;margin-bottom:.125rem;opacity:.9}.reply-preview-text{font-size:.8125rem;opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forwarded-indicator{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;font-style:italic;opacity:.7;border-left:3px solid currentColor;border-radius:.5rem;padding:.375rem .5rem}.forwarded-indicator i{font-size:.875rem}.forwarded-text{font-size:.75rem}.message-bubble-received{border-bottom-left-radius:.125rem}.message-bubble-sent{border-bottom-right-radius:.125rem}.message-own .message-bubble{background:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface))}.message-content{font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.message-footer{display:flex;align-items:end;gap:.25rem;margin-top:.25rem;font-size:.6875rem;opacity:.7;letter-spacing:.05rem}.message-time{font-variant-numeric:tabular-nums;font-size:.675rem}.edited-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.675rem;opacity:.75;padding-inline-start:.35rem;border-inline-start:1px solid lightgray}.status-icon{cursor:help;display:inline-flex;font-size:.75rem}.status-read{color:rgb(var(--ax-sys-color-primary-400))}.status-failed{color:rgb(var(--ax-sys-color-danger-500))}.message-reactions-bubbles{display:flex;flex-wrap:wrap;gap:.25rem;z-index:1}.reaction-bubble{display:flex;align-items:center;gap:.125rem;padding:.25rem;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:.625rem;font-size:.625rem;cursor:pointer;transition:all .15s;box-shadow:0 1px 2px #00000014;min-height:16px;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-bubble:hover{// transform: scale(1.3);box-shadow:0 2px 4px #0000001f;border-color:rgb(var(--ax-sys-color-primary))}.reaction-bubble-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface));border-color:rgb(var(--ax-sys-color-primary));border-width:1.5px}.reaction-emoji{font-size:1.2rem;line-height:1}.reaction-count{font-size:1rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));line-height:1}.reaction-bubble-active .reaction-count{color:rgb(var(--ax-sys-color-primary))}.reaction-bubble-active:hover{background:rgb(var(--ax-sys-color-primary-light-surface));border-color:rgb(var(--ax-sys-color-primary-600))}.message-reactions-container{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-height:20px;position:absolute;left:0;top:calc(100% + 18px)}.add-reaction-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:.25rem;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:50%;cursor:pointer;transition:all .15s;box-shadow:0 1px 2px #00000014;visibility:hidden}.message-bubble-container:hover .add-reaction-button{visibility:visible}.add-reaction-visible{visibility:visible!important;background:rgb(var(--ax-sys-color-primary) / .1);border-color:rgb(var(--ax-sys-color-primary))}.add-reaction-button:hover{// transform: scale(1.15);box-shadow:0 2px 4px #0000001f;border-color:rgb(var(--ax-sys-color-primary));background:rgb(var(--ax-sys-color-primary) / .12)}.add-reaction-button i{font-size:1rem;color:rgb(var(--ax-sys-color-on-surface))}.reaction-picker-popup{position:fixed;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border));border-radius:.75rem;box-shadow:0 8px 24px #0003;z-index:100;min-width:260px;max-width:300px;transform:translateY(-100%);margin-top:-.5rem}.reaction-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border))}.picker-title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.picker-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:.25rem;cursor:pointer;color:rgb(var(--ax-sys-color-on-surface-variant));transition:all .2s}.picker-close:hover{background:rgb(var(--ax-sys-color-error) / .1);color:rgb(var(--ax-sys-color-error))}.reaction-picker-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:.375rem;padding:.75rem;padding-top:0}.reaction-picker-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1.5px solid transparent;border-radius:.5rem;font-size:1.375rem;cursor:pointer;transition:all .15s;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-picker-emoji:hover{// transform: scale(1.15);rotate:20deg;background:rgb(var(--ax-sys-color-surface-variant))}.reaction-picker-emoji-active{background:rgb(var(--ax-sys-color-primary) / .15);border-color:rgb(var(--ax-sys-color-primary))}.reaction-picker-emoji-active:hover{background:rgb(var(--ax-sys-color-primary) / .25)}.message-actions{padding-bottom:1.5rem;opacity:0;transition:opacity .2s;z-index:10}.message-item:hover .message-actions{opacity:1}.action-trigger{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.action-trigger:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.05)}.shortcut{font-size:.6875rem;opacity:.7}.scroll-to-bottom{position:absolute;bottom:1rem;right:1rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 6px #0000001a;transition:transform .2s;z-index:190}.scroll-to-bottom:hover{// transform: scale(1.1)}.thread-badge,.forward-badge{position:absolute;top:-6px;min-width:20px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:3px;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:2px solid rgb(var(--ax-sys-color-lightest-surface));border-radius:10px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}.thread-badge i,.forward-badge i{font-size:.625rem}.message-bubble-received .thread-badge{left:calc(100% - 5px)}.message-own .message-bubble-sent .thread-badge{right:calc(100% - 5px)}.forward-badge{background:rgb(var(--ax-sys-color-success-500));pointer-events:none}.message-bubble-received .forward-badge{left:calc(100% - 5px);top:18px}.message-own .message-bubble-sent .forward-badge{right:calc(100% - 5px);top:18px}.message-bubble-received .forward-badge:first-of-type{top:-6px}.message-own .message-bubble-sent .forward-badge:first-of-type{top:-6px}.thread-badge:hover{// transform: scale(1.1);background:rgb(var(--ax-sys-color-primary-600))}.thread-badge:active{// transform: scale(.95)}.forward-badge:hover{background:rgb(var(--ax-sys-color-success-600))}.slide-in{animation:slideInFromBottom var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-out{opacity:0;transform:translateY(100%);transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function),transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"] }]
15996
+ `, styles: [":host{display:block;height:100%;position:relative}.message-list{height:100%}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:3rem 2rem;gap:1.25rem;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-icon{font-size:5.5rem;line-height:1;opacity:.35;margin-bottom:.5rem;filter:grayscale(.2)}.empty-title{font-size:1.625rem;font-weight:600;margin:0;color:rgb(var(--ax-sys-color-on-surface));letter-spacing:-.02em}.empty-description{font-size:1.0625rem;margin:0;color:rgb(var(--ax-sys-color-on-surface));opacity:.65;max-width:420px;line-height:1.7}.spinner{width:32px;height:32px;border:3px solid rgb(var(--ax-sys-color-border-light-surface));border-top-color:rgb(var(--ax-sys-color-primary-500));border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.list-loading-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}.messages-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.date-separator{position:sticky;z-index:150;top:0;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.date-text{padding:.25rem .75rem;background:rgb(var(--ax-sys-color-lighter-surface));font-size:.75rem;font-weight:500;border-radius:1rem;width:7rem;display:flex;justify-content:center;align-items:center}.unread-separator{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;padding:0 1rem}.unread-separator-line{flex:1;height:1px;background:rgb(var(--ax-sys-color-primary-500));opacity:.3}.unread-separator-text{font-size:.75rem;font-weight:600;color:rgb(var(--ax-sys-color-primary-500));text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.message-item:has(.message-reactions-bubbles){padding-bottom:2.5rem}.message-item{position:relative;display:flex;padding:1rem;border-radius:0;gap:.5rem;margin-bottom:2rem;line-height:1rem;align-items:end;transition:background-color .3s ease}.message-highlight{background-color:rgba(var(--ax-sys-color-primary-500),.1);border-radius:.5rem}.fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes fadeSlideIn{0%{opacity:0;// transform: translateX(20%)}to{opacity:1;// transform: translateX(0)}}.message-own{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin-bottom:.25rem}.message-bubble-container{display:flex;flex-direction:column;max-width:70%;position:relative}.message-own .message-bubble-container{align-items:flex-end}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem}.message-bubble{position:relative;padding:.5rem .75rem;border-radius:1rem;background:rgb(var(--ax-sys-color-surface));--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);word-wrap:break-word;transition:background-color .3s ease}.reply-preview{display:flex;gap:.5rem;padding:.5rem;margin-bottom:.5rem;background:rgb(var(--ax-sys-color-on-surface) / .05);border-radius:var(--ax-sys-border-radius);cursor:pointer;transition:background-color var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}.reply-preview:hover{background:rgb(var(--ax-sys-color-on-surface) / .08)}.message-own .reply-preview{background:rgb(var(--ax-sys-color-light-surface) / .15)}.message-own .reply-preview:hover{background:rgb(var(--ax-sys-color-light-surface) / .25)}.reply-preview-line{width:3px;background:currentColor;opacity:.5;border-radius:1.5px;flex-shrink:0}.reply-preview-content{flex:1;min-width:0}.reply-preview-sender{font-size:.75rem;font-weight:600;margin-bottom:.125rem;opacity:.9}.reply-preview-text{font-size:.8125rem;opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forwarded-indicator{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;font-style:italic;opacity:.7;border-left:3px solid currentColor;border-radius:var(--ax-sys-border-radius);padding:.375rem .5rem}.forwarded-indicator i{font-size:.875rem}.forwarded-text{font-size:.75rem}.message-bubble-received{border-bottom-left-radius:.125rem}.message-bubble-sent{border-bottom-right-radius:.125rem}.message-own .message-bubble{background:rgb(var(--ax-sys-color-primary-surface));color:rgb(var(--ax-sys-color-on-primary-surface))}.message-content{font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.message-footer{display:flex;align-items:end;gap:.25rem;margin-top:.25rem;font-size:.6875rem;opacity:.7;letter-spacing:.05rem}.message-time{font-variant-numeric:tabular-nums;font-size:.675rem}.edited-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.675rem;opacity:.75;padding-inline-start:.35rem;border-inline-start:1px solid rgb(var(--ax-sys-color-border-light-surface))}.status-icon{cursor:help;display:inline-flex;font-size:.75rem}.status-read{color:rgb(var(--ax-sys-color-primary-400))}.status-failed{color:rgb(var(--ax-sys-color-danger-500))}.message-reactions-bubbles{display:flex;flex-wrap:wrap;gap:.25rem;z-index:1}.reaction-bubble{display:flex;align-items:center;gap:.125rem;padding:.25rem;background:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius);font-size:.625rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .08);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);min-height:16px;font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-bubble:hover{// transform: scale(1.3);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .12);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);border-color:rgb(var(--ax-sys-color-primary-500))}.reaction-bubble-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface));border-color:rgb(var(--ax-sys-color-primary-500));border-width:1.5px}.reaction-emoji{font-size:1.2rem;line-height:1}.reaction-count{font-size:1rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));line-height:1}.reaction-bubble-active .reaction-count{color:rgb(var(--ax-sys-color-primary-500))}.reaction-bubble-active:hover{background:rgb(var(--ax-sys-color-primary-light-surface));border-color:rgb(var(--ax-sys-color-primary-600))}.message-reactions-container{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-height:20px;position:absolute;left:0;top:calc(100% + 18px)}.add-reaction-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:.25rem;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:50%;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 1px 2px 0 rgb(0 0 0 / .08);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);visibility:hidden}.message-bubble-container:hover .add-reaction-button{visibility:visible}.add-reaction-visible{visibility:visible!important;background:rgb(var(--ax-sys-color-primary-500) / .1);border-color:rgb(var(--ax-sys-color-primary-500))}.add-reaction-button:hover{// transform: scale(1.15);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .12);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);border-color:rgb(var(--ax-sys-color-primary-500));background:rgb(var(--ax-sys-color-primary-500) / .12)}.add-reaction-button i{font-size:1rem;color:rgb(var(--ax-sys-color-on-surface))}.reaction-picker-popup{position:fixed;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-surface));border-radius:var(--ax-sys-border-radius);--ax-shadow: 0 8px 24px rgb(0 0 0 / .2);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);z-index:100;min-width:260px;max-width:300px;transform:translateY(-100%);margin-top:-.5rem}.reaction-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface))}.picker-title{font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface))}.picker-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:var(--ax-sys-border-radius);cursor:pointer;color:rgb(var(--ax-sys-color-on-surface) / .65);transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}.picker-close:hover{background:rgb(var(--ax-sys-color-danger-500) / .1);color:rgb(var(--ax-sys-color-danger-500))}.reaction-bubble:focus-visible,.add-reaction-button:focus-visible,.picker-close:focus-visible,.reaction-picker-emoji:focus-visible,.action-trigger:focus-visible,.scroll-to-bottom:focus-visible{outline:2px solid rgb(var(--ax-sys-color-primary-500));outline-offset:2px}.reaction-picker-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:.375rem;padding:.75rem;padding-top:0}.reaction-picker-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1.5px solid transparent;border-radius:var(--ax-sys-border-radius);font-size:1.375rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);font-family:\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\",\"Apple Color Emoji\",Twemoji Mozilla,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reaction-picker-emoji:hover{// transform: scale(1.15);rotate:20deg;background:rgb(var(--ax-sys-color-light-surface))}.reaction-picker-emoji-active{background:rgb(var(--ax-sys-color-primary-500) / .15);border-color:rgb(var(--ax-sys-color-primary-500))}.reaction-picker-emoji-active:hover{background:rgb(var(--ax-sys-color-primary-500) / .25)}.message-actions{padding-bottom:1.5rem;opacity:0;transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);z-index:10}.message-item:hover .message-actions{opacity:1}.action-trigger{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-surface));border:1px solid rgb(var(--ax-sys-color-border-light-surface));border-radius:var(--ax-sys-border-radius);font-size:.875rem;cursor:pointer;transition:all var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);--ax-shadow: 0 2px 4px 0 rgb(0 0 0 / .1);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow)}.action-trigger:hover{background:rgb(var(--ax-sys-color-light-surface));// transform: scale(1.05)}.shortcut{font-size:.6875rem;opacity:.7}.scroll-to-bottom{position:absolute;bottom:1rem;right:1rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;--ax-shadow: 0 4px 6px 0 rgb(0 0 0 / .1);box-shadow:var(--ax-ring-offset-shadow, 0 0 #0000),var(--ax-ring-shadow, 0 0 #0000),var(--ax-shadow);transition:transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function);z-index:999}.scroll-to-bottom:hover{// transform: scale(1.1)}.thread-badge,.forward-badge{position:absolute;top:-6px;min-width:20px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:3px;background:rgb(var(--ax-sys-color-primary-500));color:rgb(var(--ax-sys-color-on-primary-surface));border:2px solid rgb(var(--ax-sys-color-lightest-surface));border-radius:10px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}.thread-badge i,.forward-badge i{font-size:.625rem}.message-bubble-received .thread-badge{left:calc(100% - 5px)}.message-own .message-bubble-sent .thread-badge{right:calc(100% - 5px)}.forward-badge{background:rgb(var(--ax-sys-color-success-500));pointer-events:none}.message-bubble-received .forward-badge{left:calc(100% - 5px);top:18px}.message-own .message-bubble-sent .forward-badge{right:calc(100% - 5px);top:18px}.message-bubble-received .forward-badge:first-of-type{top:-6px}.message-own .message-bubble-sent .forward-badge:first-of-type{top:-6px}.thread-badge:hover{// transform: scale(1.1);background:rgb(var(--ax-sys-color-primary-600))}.thread-badge:active{// transform: scale(.95)}.forward-badge:hover{background:rgb(var(--ax-sys-color-success-600))}.slide-in{animation:slideInFromBottom var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-out{opacity:0;transform:translateY(100%);transition:opacity var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function),transform var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}\n"] }]
15991
15997
  }], ctorParameters: () => [], propDecorators: { avatarTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarTemplate", required: false }] }], reactionPopover: [{ type: i0.ViewChild, args: ['reactionPopover', { isSignal: true }] }], messageListRef: [{ type: i0.ViewChild, args: ['messageList', { isSignal: true }] }], messagesContainerRef: [{ type: i0.ViewChild, args: ['messagesContainer', { isSignal: true }] }], messageAction: [{ type: i0.Output, args: ["messageAction"] }] } });
15992
15998
 
15993
15999
  /**
@@ -16071,8 +16077,8 @@ class AXForwardMessageDialogComponent {
16071
16077
  this.toastService.danger(errorMessage);
16072
16078
  }
16073
16079
  }
16074
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXForwardMessageDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16075
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: AXForwardMessageDialogComponent, isStandalone: true, selector: "ax-forward-message-dialog", providers: [{ provide: AXClosableComponent, useExisting: AXForwardMessageDialogComponent }], ngImport: i0, template: `
16080
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXForwardMessageDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16081
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AXForwardMessageDialogComponent, isStandalone: true, selector: "ax-forward-message-dialog", providers: [{ provide: AXClosableComponent, useExisting: AXForwardMessageDialogComponent }], ngImport: i0, template: `
16076
16082
  <div class="forward-message-dialog">
16077
16083
  <div class="dialog-content">
16078
16084
  <!-- Conversation Selection -->
@@ -16115,7 +16121,7 @@ class AXForwardMessageDialogComponent {
16115
16121
  </div>
16116
16122
  `, isInline: true, styles: [":host{display:block}.forward-message-dialog{display:flex;flex-direction:column}.dialog-content{padding:1rem;display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column}.field-label{font-size:.875rem;font-weight:500;color:var(--ax-text-secondary, #6b7280)}.info-message{padding:.75rem;background:var(--ax-info-bg, #f0f9ff);border:1px solid var(--ax-info-border, #bfdbfe);border-radius:.5rem}.info-text{font-size:.875rem;color:var(--ax-info-text, #1e40af)}.dialog-footer{padding:1rem;border-top:1px solid var(--ax-border-color, #e5e7eb);display:flex;justify-content:flex-end;gap:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "component", type: AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { 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: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }] }); }
16117
16123
  }
16118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXForwardMessageDialogComponent, decorators: [{
16124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXForwardMessageDialogComponent, decorators: [{
16119
16125
  type: Component,
16120
16126
  args: [{ selector: 'ax-forward-message-dialog', imports: [CommonModule, FormsModule, AXSelectBoxComponent, AXSearchBoxComponent, AXButtonComponent, AXLabelComponent], template: `
16121
16127
  <div class="forward-message-dialog">
@@ -16243,8 +16249,8 @@ class AXNewConversationDialogComponent {
16243
16249
  this.toastService.danger(errorMessage);
16244
16250
  }
16245
16251
  }
16246
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXNewConversationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16247
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXNewConversationDialogComponent, isStandalone: true, selector: "ax-new-conversation-dialog", providers: [{ provide: AXClosableComponent, useExisting: AXNewConversationDialogComponent }], ngImport: i0, template: `
16252
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXNewConversationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16253
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXNewConversationDialogComponent, isStandalone: true, selector: "ax-new-conversation-dialog", providers: [{ provide: AXClosableComponent, useExisting: AXNewConversationDialogComponent }], ngImport: i0, template: `
16248
16254
  <div class="new-conversation-dialog">
16249
16255
  <!-- <div class="dialog-header">
16250
16256
  <ax-label class="dialog-title">New Conversation</ax-label>
@@ -16303,7 +16309,7 @@ class AXNewConversationDialogComponent {
16303
16309
  </div>
16304
16310
  `, isInline: true, styles: [":host{display:block}.new-conversation-dialog{display:flex;flex-direction:column}.dialog-header{padding:1.5rem;border-bottom:1px solid var(--ax-border-color, #e5e7eb)}.dialog-title{font-size:1.25rem;font-weight:600;color:var(--ax-text-primary, #111827)}.dialog-content{padding:1rem;display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column}.field-label{font-size:.875rem;font-weight:500;color:var(--ax-text-secondary, #6b7280)}.info-message{padding:.75rem;background:var(--ax-info-bg, #f0f9ff);border:1px solid var(--ax-info-border, #bfdbfe);border-radius:.5rem}.info-text{font-size:.875rem;color:var(--ax-info-text, #1e40af)}.dialog-footer{padding:1rem;border-top:1px solid var(--ax-border-color, #e5e7eb);display:flex;justify-content:flex-end;gap:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "component", type: AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { 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: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: AXAvatarPickerComponent, selector: "ax-avatar-picker", inputs: ["showClearButton", "avatarUrl"], outputs: ["avatarUrlChange", "onFileSelected"] }] }); }
16305
16311
  }
16306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXNewConversationDialogComponent, decorators: [{
16312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXNewConversationDialogComponent, decorators: [{
16307
16313
  type: Component,
16308
16314
  args: [{ selector: 'ax-new-conversation-dialog', imports: [
16309
16315
  CommonModule,
@@ -16478,8 +16484,8 @@ class AXConversationItemComponent {
16478
16484
  }
16479
16485
  }
16480
16486
  }
16481
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16482
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXConversationItemComponent, isStandalone: true, selector: "ax-conversation-item", inputs: { avatarTemplate: { classPropertyName: "avatarTemplate", publicName: "avatarTemplate", isSignal: true, isRequired: false, transformFunction: null }, conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { clicked: "clicked" }, ngImport: i0, template: `
16487
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16488
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXConversationItemComponent, isStandalone: true, selector: "ax-conversation-item", inputs: { avatarTemplate: { classPropertyName: "avatarTemplate", publicName: "avatarTemplate", isSignal: true, isRequired: false, transformFunction: null }, conversation: { classPropertyName: "conversation", publicName: "conversation", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { clicked: "clicked" }, ngImport: i0, template: `
16483
16489
  <div
16484
16490
  [class]="itemClasses()"
16485
16491
  [id]="'conversation-item-' + conversation().id"
@@ -16590,7 +16596,7 @@ class AXConversationItemComponent {
16590
16596
  </ax-context-menu>
16591
16597
  `, isInline: true, styles: [":host{display:block}.conversation-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .2s}.conversation-item:focus-visible,.conversation-item:hover{background:rgb(var(--ax-sys-color-light-surface));outline:none}.conversation-item-active{background:rgb(var(--ax-sys-color-primary-lightest-surface));color:rgb(var(--ax-sys-color-on-primary-lightest-surface))}.conversation-item-active:hover{background:rgb(var(--ax-sys-color-primary-lighter-surface))}.item-avatar{flex-shrink:0}.avatar-wrapper{position:relative}.avatar-status{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%}.avatar-status.status-online{border:2px solid rgb(var(--ax-sys-color-surface));background-color:rgb(var(--ax-sys-color-success-500))}// .avatar-status.status-offline{// border: 2px solid rgb(var(--ax-sys-color-surface));// background: rgb(var(--ax-sys-color-neutral));//}.avatar-status.status-away{border:2px solid rgb(var(--ax-sys-color-surface));background-color:rgb(var(--ax-sys-color-warning-500))}.item-content{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0;line-height:1.1rem}.item-header{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.item-title{display:flex;align-items:center;// gap: .25rem;font-weight:600;font-size:.875rem;flex:1;min-width:0}.item-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.item-time{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.75rem;opacity:.7}.item-description{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;opacity:.7;min-width:0}.typing-indicator{color:rgb(var(--ax-sys-color-primary-500));font-style:italic;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.last-message{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-message{// font-weight: 600}.item-badge{flex-shrink:0}.mute-icon{font-size:.75rem;margin-left:.375rem;opacity:.6;color:rgb(var(--ax-sys-color-warning-500))}.block-icon{font-size:.75rem;margin-left:.375rem;opacity:.6;color:rgb(var(--ax-sys-color-danger-500))}.pin-icon{font-size:.75rem;margin-left:.375rem;opacity:.6;color:rgb(var(--ax-sys-color-primary-500));flex-shrink:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "pipe", type: i1$5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16592
16598
  }
16593
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversationItemComponent, decorators: [{
16599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversationItemComponent, decorators: [{
16594
16600
  type: Component,
16595
16601
  args: [{ selector: 'ax-conversation-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
16596
16602
  CommonModule,
@@ -16888,10 +16894,10 @@ class AXSidebarService {
16888
16894
  this.currentPage.set(0);
16889
16895
  this.hasMoreConversations.set(true);
16890
16896
  }
16891
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSidebarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16892
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSidebarService }); }
16897
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSidebarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16898
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSidebarService }); }
16893
16899
  }
16894
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSidebarService, decorators: [{
16900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSidebarService, decorators: [{
16895
16901
  type: Injectable
16896
16902
  }] });
16897
16903
 
@@ -16953,8 +16959,8 @@ class AXSidebarComponent {
16953
16959
  ngOnDestroy() {
16954
16960
  this.searchSubject.complete();
16955
16961
  }
16956
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16957
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXSidebarComponent, isStandalone: true, selector: "ax-conversation-sidebar", outputs: { conversationSelected: "conversationSelected" }, ngImport: i0, template: `
16962
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16963
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXSidebarComponent, isStandalone: true, selector: "ax-conversation-sidebar", outputs: { conversationSelected: "conversationSelected" }, ngImport: i0, template: `
16958
16964
  <div class="sidebar">
16959
16965
  <!-- Header with Menu and Search -->
16960
16966
  <div class="sidebar-header">
@@ -17046,7 +17052,7 @@ class AXSidebarComponent {
17046
17052
  </div>
17047
17053
  `, isInline: true, styles: [":host{display:block;width:100%;height:100%}.sidebar{display:flex;flex-direction:column;height:100%;//background: rgb(var(--ax-sys-color-lightest-surface));// border-inline-end: 1px solid rgb(var(--ax-sys-color-border-light-surface));position:relative}.sidebar-header{display:flex;align-items:center;gap:.25rem;padding:.75rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.menu-button{flex-shrink:0}.sidebar-search{flex:1}.sidebar-list{flex:1;overflow-y:auto;position:relative;padding-bottom:4rem}.new-conversation-button-container{position:absolute;bottom:.5rem;left:.5rem;right:.5rem;display:flex;justify-content:center;padding:.5rem .25rem;// backdrop-filter: blur(1px)}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface))}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));gap:1rem}.empty-icon{font-size:4rem;line-height:1;opacity:.5;margin-bottom:.5rem}.empty-title{font-size:1.25rem;font-weight:600;margin:0;color:rgb(var(--ax-sys-color-on-surface))}.empty-description{font-size:.875rem;margin:0;color:rgb(var(--ax-sys-color-on-surface));opacity:.7;max-width:300px;line-height:1.5}.empty-action{margin-top:.5rem}.list-loading-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;color:rgb(var(--ax-sys-color-on-surface));opacity:.7}ax-conversation-item:not(:last-child){border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.tab-icon{font-size:1rem}.conversation-skeleton{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-light-surface))}.skeleton-avatar{flex-shrink:0;width:48px;height:48px;border-radius:50%}.skeleton-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.skeleton-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.skeleton-title{flex:1;height:1rem;border-radius:.25rem}.skeleton-time{font-variant-numeric:tabular-nums;width:3rem;height:.75rem;border-radius:.25rem}.skeleton-message{height:.75rem;width:80%;border-radius:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { 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: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i1$2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXConversationItemComponent, selector: "ax-conversation-item", inputs: ["avatarTemplate", "conversation"], outputs: ["clicked"] }, { kind: "directive", type: AXInfiniteScrollDirective, selector: "[axInfiniteScroll]", inputs: ["threshold", "edge"], outputs: ["scrollThreshold"] }, { kind: "ngmodule", type: AXTooltipModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17048
17054
  }
17049
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSidebarComponent, decorators: [{
17055
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXSidebarComponent, decorators: [{
17050
17056
  type: Component,
17051
17057
  args: [{ selector: 'ax-conversation-sidebar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
17052
17058
  CommonModule,
@@ -17185,15 +17191,15 @@ const DECLARATIONS = [
17185
17191
  AXInfoBarComponent,
17186
17192
  AXMessageListComponent,
17187
17193
  AXComposerComponent,
17188
- TextRendererComponent,
17189
- ImageRendererComponent,
17190
- VideoRendererComponent,
17191
- AudioRendererComponent,
17192
- VoiceRendererComponent,
17193
- FileRendererComponent,
17194
- LocationRendererComponent,
17195
- StickerRendererComponent,
17196
- FallbackRendererComponent,
17194
+ AXTextRendererComponent,
17195
+ AXImageRendererComponent,
17196
+ AXVideoRendererComponent,
17197
+ AXAudioRendererComponent,
17198
+ AXVoiceRendererComponent,
17199
+ AXFileRendererComponent,
17200
+ AXLocationRendererComponent,
17201
+ AXStickerRendererComponent,
17202
+ AXFallbackRendererComponent,
17197
17203
  AXInfiniteScrollDirective,
17198
17204
  ];
17199
17205
  /**
@@ -17250,51 +17256,51 @@ class AXConversation2Module {
17250
17256
  providers: createProviders(options, false),
17251
17257
  };
17252
17258
  }
17253
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversation2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17254
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXConversation2Module, imports: [CommonModule, FormsModule, AXConversationContainerComponent,
17259
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversation2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17260
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXConversation2Module, imports: [CommonModule, FormsModule, AXConversationContainerComponent,
17255
17261
  AXSidebarComponent,
17256
17262
  AXInfoBarComponent,
17257
17263
  AXMessageListComponent,
17258
17264
  AXComposerComponent,
17259
- TextRendererComponent,
17260
- ImageRendererComponent,
17261
- VideoRendererComponent,
17262
- AudioRendererComponent,
17263
- VoiceRendererComponent,
17264
- FileRendererComponent,
17265
- LocationRendererComponent,
17266
- StickerRendererComponent,
17267
- FallbackRendererComponent,
17265
+ AXTextRendererComponent,
17266
+ AXImageRendererComponent,
17267
+ AXVideoRendererComponent,
17268
+ AXAudioRendererComponent,
17269
+ AXVoiceRendererComponent,
17270
+ AXFileRendererComponent,
17271
+ AXLocationRendererComponent,
17272
+ AXStickerRendererComponent,
17273
+ AXFallbackRendererComponent,
17268
17274
  AXInfiniteScrollDirective], exports: [AXConversationContainerComponent,
17269
17275
  AXSidebarComponent,
17270
17276
  AXInfoBarComponent,
17271
17277
  AXMessageListComponent,
17272
17278
  AXComposerComponent,
17273
- TextRendererComponent,
17274
- ImageRendererComponent,
17275
- VideoRendererComponent,
17276
- AudioRendererComponent,
17277
- VoiceRendererComponent,
17278
- FileRendererComponent,
17279
- LocationRendererComponent,
17280
- StickerRendererComponent,
17281
- FallbackRendererComponent,
17279
+ AXTextRendererComponent,
17280
+ AXImageRendererComponent,
17281
+ AXVideoRendererComponent,
17282
+ AXAudioRendererComponent,
17283
+ AXVoiceRendererComponent,
17284
+ AXFileRendererComponent,
17285
+ AXLocationRendererComponent,
17286
+ AXStickerRendererComponent,
17287
+ AXFallbackRendererComponent,
17282
17288
  AXInfiniteScrollDirective] }); }
17283
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversation2Module, imports: [CommonModule, FormsModule, AXConversationContainerComponent,
17289
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversation2Module, imports: [CommonModule, FormsModule, AXConversationContainerComponent,
17284
17290
  AXSidebarComponent,
17285
17291
  AXInfoBarComponent,
17286
17292
  AXMessageListComponent,
17287
17293
  AXComposerComponent,
17288
- ImageRendererComponent,
17289
- VideoRendererComponent,
17290
- AudioRendererComponent,
17291
- VoiceRendererComponent,
17292
- FileRendererComponent,
17293
- LocationRendererComponent,
17294
- StickerRendererComponent,
17295
- FallbackRendererComponent] }); }
17294
+ AXImageRendererComponent,
17295
+ AXVideoRendererComponent,
17296
+ AXAudioRendererComponent,
17297
+ AXVoiceRendererComponent,
17298
+ AXFileRendererComponent,
17299
+ AXLocationRendererComponent,
17300
+ AXStickerRendererComponent,
17301
+ AXFallbackRendererComponent] }); }
17296
17302
  }
17297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversation2Module, decorators: [{
17303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXConversation2Module, decorators: [{
17298
17304
  type: NgModule,
17299
17305
  args: [{
17300
17306
  imports: [CommonModule, FormsModule, ...DECLARATIONS],
@@ -17637,5 +17643,5 @@ function getErrorMessage(code, params) {
17637
17643
  * Generated bundle index. Do not edit.
17638
17644
  */
17639
17645
 
17640
- export { AI_API_KEY, AXAIResponderService, AXAudioPickerComponent, AXBaseRegistry, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXContactPickerComponent, AXConversation2Module, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageUtilsService, AXConversationService, AXConversationStoreService, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFilePickerComponent, AXFileUploadService, AXForwardMessageDialogComponent, AXImagePickerComponent, AXIndexedDBConversationApi, AXIndexedDBMessageAIApi, AXIndexedDBMessageApi, AXIndexedDBRealtimeApi, AXIndexedDBUserApi, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListService, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerTabComponent, AXUserApi, AXVideoPickerComponent, AXVoiceRecorderComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_CONTACT_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONTACT_RENDERER, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_INFO_ACTION, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_COPY_ACTION, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, AudioRendererComponent, CONNECTION_ERRORS, CONVERSATION_CONFIG, CONVERSATION_ERRORS, ContactRendererComponent, DEFAULT_COMPOSER_ACTIONS, DEFAULT_COMPOSER_TABS, DEFAULT_CONVERSATION_ITEM_ACTIONS, DEFAULT_CONVERSATION_TABS, DEFAULT_INFO_BAR_ACTIONS, DEFAULT_MESSAGE_ACTIONS, DEFAULT_MESSAGE_RENDERERS, ERROR_HANDLER_CONFIG, ERROR_MESSAGES, FILE_ERRORS, FallbackRendererComponent, FileRendererComponent, ImageRendererComponent, LOCATION_ERRORS, LocationRendererComponent, MESSAGE_ERRORS, PERMISSION_ERRORS, REGISTRY_CONFIG, StickerRendererComponent, SystemRendererComponent, TextRendererComponent, URL_ERRORS, USER_ERRORS, VideoRendererComponent, VoiceRendererComponent, formatErrorMessage, getDefaultConversationItemActions, getErrorMessage, mergeWithDefaults, provideConversation, sanitizeInput, validateConversationId, validateEmail, validateFile, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
17646
+ export { AI_API_KEY, AXAIResponderService, AXAudioPickerComponent, AXAudioRendererComponent, AXBaseRegistry, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXContactPickerComponent, AXContactRendererComponent, AXConversation2Module, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageUtilsService, AXConversationService, AXConversationStoreService, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFallbackRendererComponent, AXFilePickerComponent, AXFileRendererComponent, AXFileUploadService, AXForwardMessageDialogComponent, AXImagePickerComponent, AXImageRendererComponent, AXIndexedDBConversationApi, AXIndexedDBMessageAIApi, AXIndexedDBMessageApi, AXIndexedDBRealtimeApi, AXIndexedDBUserApi, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXLocationRendererComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListService, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerRendererComponent, AXStickerTabComponent, AXSystemRendererComponent, AXTextRendererComponent, AXUserApi, AXVideoPickerComponent, AXVideoRendererComponent, AXVoiceRecorderComponent, AXVoiceRendererComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_CONTACT_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONTACT_RENDERER, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_INFO_ACTION, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_COPY_ACTION, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, CONNECTION_ERRORS, CONVERSATION_CONFIG, CONVERSATION_ERRORS, DEFAULT_COMPOSER_ACTIONS, DEFAULT_COMPOSER_TABS, DEFAULT_CONVERSATION_ITEM_ACTIONS, DEFAULT_CONVERSATION_TABS, DEFAULT_INFO_BAR_ACTIONS, DEFAULT_MESSAGE_ACTIONS, DEFAULT_MESSAGE_RENDERERS, ERROR_HANDLER_CONFIG, ERROR_MESSAGES, FILE_ERRORS, LOCATION_ERRORS, MESSAGE_ERRORS, PERMISSION_ERRORS, REGISTRY_CONFIG, URL_ERRORS, USER_ERRORS, formatErrorMessage, getDefaultConversationItemActions, getErrorMessage, mergeWithDefaults, provideConversation, sanitizeInput, validateConversationId, validateEmail, validateFile, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
17641
17647
  //# sourceMappingURL=acorex-components-conversation2.mjs.map