@acorex/components 21.0.1-next.13 → 21.0.1-next.14

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 (231) hide show
  1. package/accordion/index.d.ts +1 -0
  2. package/action-sheet/index.d.ts +41 -19
  3. package/button-group/index.d.ts +4 -6
  4. package/chips/index.d.ts +8 -3
  5. package/collapse/index.d.ts +6 -4
  6. package/conversation2/README.md +71 -31
  7. package/conversation2/index.d.ts +36 -35
  8. package/data-table/index.d.ts +253 -4
  9. package/dialog/index.d.ts +19 -15
  10. package/dropdown/index.d.ts +3 -4
  11. package/fesm2022/acorex-components-accordion.mjs +13 -8
  12. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  13. package/fesm2022/acorex-components-action-sheet.mjs +141 -93
  14. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  15. package/fesm2022/acorex-components-alert.mjs +6 -6
  16. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  17. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  18. package/fesm2022/acorex-components-audio-wave.mjs +4 -5
  19. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  20. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  21. package/fesm2022/acorex-components-avatar.mjs +3 -3
  22. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  23. package/fesm2022/acorex-components-badge.mjs +3 -3
  24. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  25. package/fesm2022/acorex-components-bottom-navigation.mjs +2 -2
  26. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  27. package/fesm2022/acorex-components-breadcrumbs.mjs +2 -2
  28. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  29. package/fesm2022/acorex-components-button-group.mjs +11 -15
  30. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  31. package/fesm2022/acorex-components-button.mjs +5 -5
  32. package/fesm2022/acorex-components-button.mjs.map +1 -1
  33. package/fesm2022/acorex-components-calendar.mjs +4 -4
  34. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  35. package/fesm2022/acorex-components-check-box.mjs +3 -3
  36. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  37. package/fesm2022/acorex-components-chips.mjs +8 -6
  38. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  39. package/fesm2022/acorex-components-circular-progress.mjs +4 -6
  40. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  41. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  42. package/fesm2022/acorex-components-collapse.mjs +10 -13
  43. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  44. package/fesm2022/acorex-components-color-box.mjs +2 -2
  45. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  46. package/fesm2022/acorex-components-color-palette.mjs +2 -2
  47. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  48. package/fesm2022/acorex-components-command.mjs +2 -2
  49. package/fesm2022/acorex-components-command.mjs.map +1 -1
  50. package/fesm2022/acorex-components-comment.mjs +8 -8
  51. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  52. package/fesm2022/acorex-components-conversation.mjs +2 -2
  53. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  54. package/fesm2022/acorex-components-conversation2.mjs +161 -155
  55. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  56. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  57. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  58. package/fesm2022/acorex-components-data-pager.mjs +2 -2
  59. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  60. package/fesm2022/acorex-components-data-table.mjs +452 -16
  61. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  62. package/fesm2022/acorex-components-datetime-box.mjs +2 -2
  63. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  64. package/fesm2022/acorex-components-datetime-input.mjs +2 -2
  65. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  66. package/fesm2022/acorex-components-datetime-picker.mjs +12 -10
  67. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  68. package/fesm2022/acorex-components-decorators.mjs +13 -20
  69. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  70. package/fesm2022/acorex-components-dialog.mjs +67 -47
  71. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  72. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  73. package/fesm2022/acorex-components-drawer.mjs +7 -6
  74. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  75. package/fesm2022/acorex-components-dropdown-button.mjs +2 -2
  76. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  77. package/fesm2022/acorex-components-dropdown.mjs +12 -13
  78. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  79. package/fesm2022/acorex-components-editor.mjs +4 -4
  80. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  81. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  82. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  83. package/fesm2022/acorex-components-form.mjs +9 -17
  84. package/fesm2022/acorex-components-form.mjs.map +1 -1
  85. package/fesm2022/acorex-components-grid-layout-builder.mjs +5 -4
  86. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  87. package/fesm2022/acorex-components-image-editor.mjs +18 -18
  88. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  89. package/fesm2022/acorex-components-image.mjs +2 -2
  90. package/fesm2022/acorex-components-image.mjs.map +1 -1
  91. package/fesm2022/acorex-components-json-viewer.mjs +2 -2
  92. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  93. package/fesm2022/acorex-components-kanban.mjs +4 -6
  94. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  95. package/fesm2022/acorex-components-kbd.mjs +7 -25
  96. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  97. package/fesm2022/acorex-components-label.mjs +2 -2
  98. package/fesm2022/acorex-components-label.mjs.map +1 -1
  99. package/fesm2022/acorex-components-list.mjs +2 -2
  100. package/fesm2022/acorex-components-list.mjs.map +1 -1
  101. package/fesm2022/acorex-components-loading-dialog.mjs +73 -36
  102. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  103. package/fesm2022/acorex-components-loading.mjs +8 -8
  104. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  105. package/fesm2022/acorex-components-map.mjs +2 -2
  106. package/fesm2022/acorex-components-map.mjs.map +1 -1
  107. package/fesm2022/acorex-components-media-viewer.mjs +10 -10
  108. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  109. package/fesm2022/acorex-components-menu.mjs +27 -6
  110. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  111. package/fesm2022/{acorex-components-modal-acorex-components-modal-BnUdtPke.mjs → acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs} +29 -5
  112. package/fesm2022/acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs.map +1 -0
  113. package/fesm2022/{acorex-components-modal-modal-content.component-Cgq-wx_m.mjs → acorex-components-modal-modal-content.component-CSJU1vRi.mjs} +5 -7
  114. package/fesm2022/acorex-components-modal-modal-content.component-CSJU1vRi.mjs.map +1 -0
  115. package/fesm2022/acorex-components-modal.mjs +1 -1
  116. package/fesm2022/acorex-components-navbar.mjs +3 -3
  117. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  118. package/fesm2022/acorex-components-notification.mjs +378 -250
  119. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  120. package/fesm2022/acorex-components-number-box-legacy.mjs +2 -2
  121. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  122. package/fesm2022/acorex-components-number-box.mjs +2 -2
  123. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  124. package/fesm2022/acorex-components-otp.mjs +2 -2
  125. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  126. package/fesm2022/acorex-components-page.mjs.map +1 -1
  127. package/fesm2022/acorex-components-paint.mjs +19 -14
  128. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  129. package/fesm2022/acorex-components-password-box.mjs +4 -4
  130. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  131. package/fesm2022/acorex-components-pdf-reader.mjs +2 -2
  132. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  133. package/fesm2022/acorex-components-phone-box.mjs +2 -2
  134. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  135. package/fesm2022/acorex-components-picker.mjs +6 -6
  136. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  137. package/fesm2022/acorex-components-popover.mjs +136 -175
  138. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  139. package/fesm2022/acorex-components-popup.mjs +296 -106
  140. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  141. package/fesm2022/acorex-components-progress-bar.mjs +3 -5
  142. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  143. package/fesm2022/acorex-components-qrcode.mjs +2 -2
  144. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  145. package/fesm2022/acorex-components-query-builder.mjs +2 -2
  146. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  147. package/fesm2022/acorex-components-radio.mjs +2 -2
  148. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  149. package/fesm2022/acorex-components-rail-navigation.mjs +25 -27
  150. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  151. package/fesm2022/acorex-components-range-slider.mjs +3 -3
  152. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  153. package/fesm2022/acorex-components-rate-picker.mjs +29 -14
  154. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  155. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  156. package/fesm2022/acorex-components-result.mjs +2 -2
  157. package/fesm2022/acorex-components-result.mjs.map +1 -1
  158. package/fesm2022/acorex-components-routing-progress.mjs +2 -2
  159. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  160. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  161. package/fesm2022/acorex-components-scheduler-picker.mjs +2 -2
  162. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  163. package/fesm2022/acorex-components-scheduler.mjs +18 -18
  164. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  165. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  166. package/fesm2022/acorex-components-search-box.mjs +3 -9
  167. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  168. package/fesm2022/acorex-components-select-box.mjs +2 -4
  169. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  170. package/fesm2022/acorex-components-selection-list-2.mjs +4 -4
  171. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  172. package/fesm2022/acorex-components-selection-list.mjs +2 -2
  173. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  174. package/fesm2022/acorex-components-side-menu.mjs +14 -63
  175. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  176. package/fesm2022/acorex-components-skeleton.mjs +2 -2
  177. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  178. package/fesm2022/acorex-components-slider.mjs +5 -5
  179. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  180. package/fesm2022/acorex-components-sliding-item.mjs +2 -2
  181. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  182. package/fesm2022/acorex-components-step-wizard.mjs +2 -2
  183. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  184. package/fesm2022/acorex-components-switch.mjs +4 -4
  185. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  186. package/fesm2022/acorex-components-tabs.mjs +2 -2
  187. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  188. package/fesm2022/acorex-components-tag-box.mjs +2 -2
  189. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  190. package/fesm2022/acorex-components-tag.mjs +3 -3
  191. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  192. package/fesm2022/acorex-components-text-area.mjs +2 -2
  193. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  194. package/fesm2022/acorex-components-text-box.mjs +2 -2
  195. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  196. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  197. package/fesm2022/acorex-components-time-line.mjs +4 -4
  198. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  199. package/fesm2022/acorex-components-toast.mjs +233 -125
  200. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  201. package/fesm2022/acorex-components-toolbar.mjs +2 -2
  202. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  203. package/fesm2022/acorex-components-tooltip.mjs +12 -12
  204. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  205. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
  206. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  207. package/fesm2022/acorex-components-uploader.mjs +6 -6
  208. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  209. package/fesm2022/acorex-components-video-player.mjs +2 -2
  210. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  211. package/fesm2022/acorex-components-wysiwyg.mjs +12 -12
  212. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  213. package/fesm2022/acorex-components.mjs.map +1 -1
  214. package/grid-layout-builder/index.d.ts +2 -1
  215. package/kbd/index.d.ts +7 -13
  216. package/loading/index.d.ts +1 -1
  217. package/loading-dialog/index.d.ts +31 -15
  218. package/menu/index.d.ts +4 -0
  219. package/modal/index.d.ts +7 -0
  220. package/notification/index.d.ts +47 -30
  221. package/package.json +3 -3
  222. package/paint/index.d.ts +6 -1
  223. package/popover/index.d.ts +20 -27
  224. package/popup/index.d.ts +98 -27
  225. package/rate-picker/index.d.ts +15 -5
  226. package/side-menu/index.d.ts +2 -9
  227. package/slider/index.d.ts +2 -2
  228. package/toast/index.d.ts +24 -18
  229. package/tooltip/index.d.ts +2 -2
  230. package/fesm2022/acorex-components-modal-acorex-components-modal-BnUdtPke.mjs.map +0 -1
  231. package/fesm2022/acorex-components-modal-modal-content.component-Cgq-wx_m.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';
@@ -5232,7 +5232,7 @@ 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
5237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXAudioPickerComponent, decorators: [{
5238
5238
  type: Component,
@@ -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
  /**
@@ -6654,7 +6654,7 @@ 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
6659
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXFilePickerComponent, decorators: [{
6660
6660
  type: Component,
@@ -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
  /**
@@ -6945,7 +6945,7 @@ 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
6950
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXImagePickerComponent, decorators: [{
6951
6951
  type: Component,
@@ -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
  /**
@@ -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.15", ngImport: i0, type: AXAudioRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9319
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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.15", ngImport: i0, type: AXContactRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9470
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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.15", ngImport: i0, type: AXFallbackRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9598
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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.15", ngImport: i0, type: AXFileRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9713
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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.15", ngImport: i0, type: AXImageRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9811
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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.15", ngImport: i0, type: AXLocationRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9920
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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.15", ngImport: i0, type: AXStickerRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10031
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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.15", ngImport: i0, type: AXSystemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", 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.15", 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>
@@ -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.15", ngImport: i0, type: AXTextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10231
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", 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.15", 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.15", ngImport: i0, type: AXVideoRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10287
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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.15", ngImport: i0, type: AXVoiceRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10479
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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,
@@ -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);
@@ -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.15", ngImport: i0, type: AXMembersPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14212
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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.15", 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>
@@ -14557,7 +14563,7 @@ 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
14568
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXInfoBarComponent, decorators: [{
14563
14569
  type: Component,
@@ -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 -->
@@ -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) {
@@ -15676,7 +15682,7 @@ 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:1000;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: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 }); }
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
15687
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMessageListComponent, decorators: [{
15682
15688
  type: Component,
@@ -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:1000;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: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"] }]
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
  /**
@@ -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
  /**
@@ -17256,43 +17262,43 @@ class AXConversation2Module {
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
17289
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", 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
17303
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXConversation2Module, decorators: [{
17298
17304
  type: NgModule,
@@ -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