@acorex/components 19.15.0-next.24 → 19.15.0-next.26

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 (163) hide show
  1. package/accordion/README.md +3 -0
  2. package/accordion/index.d.ts +3 -0
  3. package/{collapse2/lib/collapse2-group/collapse2-group.component.d.ts → accordion/lib/accordion-group/accordion-group.component.d.ts} +5 -5
  4. package/{collapse2/lib/collapse2-item/collapse2-item.component.d.ts → accordion/lib/accordion-item/accordion-item.component.d.ts} +5 -5
  5. package/accordion/lib/accordion.module.d.ts +8 -0
  6. package/action-sheet/index.d.ts +1 -0
  7. package/action-sheet/lib/action-sheet.component.stories.d.ts +7 -0
  8. package/badge/lib/badge.component.d.ts +2 -1
  9. package/conversation/index.d.ts +0 -2
  10. package/conversation/lib/conversation-container/conversation-container.component.d.ts +5 -1
  11. package/conversation/lib/conversation-input/conversation-input.component.d.ts +2 -2
  12. package/conversation/lib/conversation-message/conversation-message.component.d.ts +3 -36
  13. package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +1 -1
  14. package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +1 -1
  15. package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +1 -1
  16. package/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.d.ts +0 -4
  17. package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +9 -7
  18. package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +1 -1
  19. package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +1 -1
  20. package/conversation/lib/conversation-view/conversation-view.component.d.ts +3 -3
  21. package/conversation/lib/conversation.types.d.ts +8 -6
  22. package/conversation/lib/services/conversation.service.d.ts +2 -1
  23. package/fesm2022/acorex-components-accordion.mjs +119 -0
  24. package/fesm2022/acorex-components-accordion.mjs.map +1 -0
  25. package/fesm2022/acorex-components-action-sheet.mjs +30 -13
  26. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  27. package/fesm2022/acorex-components-alert.mjs +9 -9
  28. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  29. package/fesm2022/acorex-components-audio-wave.mjs +7 -7
  30. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  31. package/fesm2022/acorex-components-avatar.mjs +11 -11
  32. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  33. package/fesm2022/acorex-components-badge.mjs +9 -8
  34. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  35. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  36. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  37. package/fesm2022/acorex-components-button-group.mjs +10 -10
  38. package/fesm2022/acorex-components-button.mjs +17 -17
  39. package/fesm2022/acorex-components-button.mjs.map +1 -1
  40. package/fesm2022/acorex-components-calendar.mjs +13 -13
  41. package/fesm2022/acorex-components-check-box.mjs +9 -9
  42. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  43. package/fesm2022/acorex-components-chips.mjs +8 -8
  44. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  45. package/fesm2022/acorex-components-circular-progress.mjs +8 -8
  46. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  47. package/fesm2022/acorex-components-collapse.mjs +10 -10
  48. package/fesm2022/acorex-components-color-box.mjs +9 -11
  49. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  50. package/fesm2022/acorex-components-color-palette.mjs +25 -25
  51. package/fesm2022/acorex-components-comment.mjs +28 -28
  52. package/fesm2022/acorex-components-conversation.mjs +115 -143
  53. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  54. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  55. package/fesm2022/acorex-components-data-pager.mjs +31 -31
  56. package/fesm2022/acorex-components-data-table.mjs +37 -37
  57. package/fesm2022/acorex-components-datetime-box.mjs +7 -7
  58. package/fesm2022/acorex-components-datetime-input.mjs +12 -9
  59. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  60. package/fesm2022/acorex-components-datetime-picker.mjs +7 -7
  61. package/fesm2022/acorex-components-decorators.mjs +25 -25
  62. package/fesm2022/acorex-components-dialog.mjs +12 -12
  63. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  64. package/fesm2022/acorex-components-drawer-2.mjs +10 -22
  65. package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
  66. package/fesm2022/acorex-components-drawer.mjs +13 -13
  67. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  68. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  69. package/fesm2022/acorex-components-dropdown.mjs +13 -13
  70. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  71. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  72. package/fesm2022/acorex-components-form.mjs +16 -16
  73. package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
  74. package/fesm2022/acorex-components-image-editor.mjs +34 -34
  75. package/fesm2022/acorex-components-image.mjs +7 -7
  76. package/fesm2022/acorex-components-json-viewer.mjs +7 -7
  77. package/fesm2022/acorex-components-kbd.mjs +10 -10
  78. package/fesm2022/acorex-components-label.mjs +7 -7
  79. package/fesm2022/acorex-components-list.mjs +7 -7
  80. package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
  81. package/fesm2022/acorex-components-loading.mjs +18 -18
  82. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  83. package/fesm2022/acorex-components-map.mjs +13 -13
  84. package/fesm2022/acorex-components-media-viewer.mjs +34 -34
  85. package/fesm2022/acorex-components-menu.mjs +20 -20
  86. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  87. package/fesm2022/{acorex-components-modal-acorex-components-modal-CU0UQIFV.mjs → acorex-components-modal-acorex-components-modal-CXJxfYsM.mjs} +21 -21
  88. package/fesm2022/{acorex-components-modal-acorex-components-modal-CU0UQIFV.mjs.map → acorex-components-modal-acorex-components-modal-CXJxfYsM.mjs.map} +1 -1
  89. package/fesm2022/{acorex-components-modal-modal-content.component-0cXgTG2F.mjs → acorex-components-modal-modal-content.component-CH3IVkjq.mjs} +5 -5
  90. package/fesm2022/{acorex-components-modal-modal-content.component-0cXgTG2F.mjs.map → acorex-components-modal-modal-content.component-CH3IVkjq.mjs.map} +1 -1
  91. package/fesm2022/acorex-components-modal.mjs +1 -1
  92. package/fesm2022/acorex-components-navbar.mjs +7 -7
  93. package/fesm2022/acorex-components-notification.mjs +12 -12
  94. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  95. package/fesm2022/acorex-components-number-box.mjs +7 -7
  96. package/fesm2022/acorex-components-otp.mjs +7 -7
  97. package/fesm2022/acorex-components-page.mjs +10 -10
  98. package/fesm2022/acorex-components-paint.mjs +25 -25
  99. package/fesm2022/acorex-components-password-box.mjs +10 -10
  100. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  101. package/fesm2022/acorex-components-phone-box.mjs +7 -7
  102. package/fesm2022/acorex-components-picker.mjs +13 -13
  103. package/fesm2022/acorex-components-popover.mjs +7 -7
  104. package/fesm2022/acorex-components-popup.mjs +10 -10
  105. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  106. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  107. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  108. package/fesm2022/acorex-components-query-builder.mjs +7 -7
  109. package/fesm2022/acorex-components-radio.mjs +7 -7
  110. package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
  111. package/fesm2022/acorex-components-range-slider.mjs +9 -9
  112. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  113. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  114. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  115. package/fesm2022/acorex-components-result.mjs +7 -7
  116. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  117. package/fesm2022/acorex-components-scheduler.mjs +45 -40
  118. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  119. package/fesm2022/acorex-components-scss.mjs +4 -4
  120. package/fesm2022/acorex-components-search-box.mjs +7 -7
  121. package/fesm2022/acorex-components-select-box.mjs +7 -7
  122. package/fesm2022/acorex-components-selection-list-2.mjs +163 -0
  123. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -0
  124. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  125. package/fesm2022/acorex-components-side-menu.mjs +22 -14
  126. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  127. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  128. package/fesm2022/acorex-components-slider.mjs +9 -9
  129. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  130. package/fesm2022/acorex-components-sliding-item.mjs +14 -14
  131. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  132. package/fesm2022/acorex-components-step-wizard.mjs +13 -13
  133. package/fesm2022/acorex-components-switch.mjs +12 -12
  134. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  135. package/fesm2022/acorex-components-tabs.mjs +13 -13
  136. package/fesm2022/acorex-components-tag-box.mjs +7 -7
  137. package/fesm2022/acorex-components-tag.mjs +8 -8
  138. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  139. package/fesm2022/acorex-components-text-area.mjs +7 -7
  140. package/fesm2022/acorex-components-text-box.mjs +10 -10
  141. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  142. package/fesm2022/acorex-components-time-line.mjs +10 -10
  143. package/fesm2022/acorex-components-toast.mjs +12 -12
  144. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  145. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  146. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  147. package/fesm2022/acorex-components-tree-view.mjs +10 -10
  148. package/fesm2022/acorex-components-uploader.mjs +22 -22
  149. package/fesm2022/acorex-components-video-player.mjs +7 -7
  150. package/fesm2022/acorex-components-wysiwyg.mjs +31 -31
  151. package/package.json +9 -5
  152. package/scheduler/lib/scheduler.class.d.ts +2 -2
  153. package/selection-list-2/README.md +3 -0
  154. package/selection-list-2/index.d.ts +3 -0
  155. package/selection-list-2/lib/selection-list2.component.d.ts +29 -0
  156. package/selection-list-2/lib/selection-list2.module.d.ts +13 -0
  157. package/selection-list-2/lib/selection-list2.type.d.ts +7 -0
  158. package/side-menu/lib/side-menu.directive.d.ts +1 -0
  159. package/collapse2/README.md +0 -3
  160. package/collapse2/index.d.ts +0 -3
  161. package/collapse2/lib/collapse2.module.d.ts +0 -8
  162. package/fesm2022/acorex-components-collapse2.mjs +0 -120
  163. package/fesm2022/acorex-components-collapse2.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { AXEvent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, MXBaseComponent, AXRippleDirective } from '@acorex/cdk/common';
2
2
  import * as i0 from '@angular/core';
3
- import { forwardRef, ViewEncapsulation, Component, signal, Injectable, contentChild, inject, computed, input, output, ViewChild, ChangeDetectionStrategy, viewChild, HostBinding, Renderer2, afterNextRender, PLATFORM_ID, Optional, Inject, NgModule } from '@angular/core';
3
+ import { signal, Injectable, input, inject, effect, forwardRef, ViewEncapsulation, Component, contentChild, computed, output, ViewChild, ChangeDetectionStrategy, viewChild, HostBinding, Renderer2, afterNextRender, PLATFORM_ID, Optional, Inject, NgModule } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
6
6
  import { AXButtonComponent, AXButtonItemListComponent, AXButtonItemComponent, AXButtonModule } from '@acorex/components/button';
@@ -27,46 +27,15 @@ import { AXDateTimeModule } from '@acorex/core/date-time';
27
27
  class AXConversationActionEvent extends AXEvent {
28
28
  }
29
29
 
30
- /**
31
- * A container for displaying and managing conversations.
32
- * @category Components
33
- */
34
- class AXConversationContainerComponent {
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: AXConversationContainerComponent, isStandalone: true, selector: "ax-conversation-container", providers: [
37
- { provide: AXComponent, useExisting: AXConversationContainerComponent },
38
- { provide: AXFocusableComponent, useExisting: AXConversationContainerComponent },
39
- { provide: AXValuableComponent, useExisting: AXConversationContainerComponent },
40
- {
41
- provide: NG_VALUE_ACCESSOR,
42
- useExisting: forwardRef(() => AXConversationContainerComponent),
43
- multi: true,
44
- },
45
- ], ngImport: i0, template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"], encapsulation: i0.ViewEncapsulation.None }); }
46
- }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationContainerComponent, decorators: [{
48
- type: Component,
49
- args: [{ selector: 'ax-conversation-container', encapsulation: ViewEncapsulation.None, providers: [
50
- { provide: AXComponent, useExisting: AXConversationContainerComponent },
51
- { provide: AXFocusableComponent, useExisting: AXConversationContainerComponent },
52
- { provide: AXValuableComponent, useExisting: AXConversationContainerComponent },
53
- {
54
- provide: NG_VALUE_ACCESSOR,
55
- useExisting: forwardRef(() => AXConversationContainerComponent),
56
- multi: true,
57
- },
58
- ], template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"] }]
59
- }] });
60
-
61
30
  class AXConversationService {
62
31
  constructor() {
63
32
  this.replyId = signal('');
64
33
  this.chats = signal([]);
65
34
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
67
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationService }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationService }); }
68
37
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationService, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationService, decorators: [{
70
39
  type: Injectable
71
40
  }] });
72
41
 
@@ -137,13 +106,56 @@ class AXRecordingService {
137
106
  this.time.hours = 0;
138
107
  this.timer.set('00:0');
139
108
  }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXRecordingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
141
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXRecordingService }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXRecordingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
110
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXRecordingService }); }
142
111
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXRecordingService, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXRecordingService, decorators: [{
144
113
  type: Injectable
145
114
  }] });
146
115
 
116
+ /**
117
+ * A container for displaying and managing conversations.
118
+ * @category Components
119
+ */
120
+ class AXConversationContainerComponent {
121
+ constructor() {
122
+ this.chatData = input([]);
123
+ this.conversationService = inject(AXConversationService);
124
+ this.#init = effect(() => {
125
+ this.conversationService.chats.set(this.chatData());
126
+ });
127
+ }
128
+ #init;
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.14", type: AXConversationContainerComponent, isStandalone: true, selector: "ax-conversation-container", inputs: { chatData: { classPropertyName: "chatData", publicName: "chatData", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
131
+ { provide: AXComponent, useExisting: AXConversationContainerComponent },
132
+ { provide: AXFocusableComponent, useExisting: AXConversationContainerComponent },
133
+ { provide: AXValuableComponent, useExisting: AXConversationContainerComponent },
134
+ {
135
+ provide: NG_VALUE_ACCESSOR,
136
+ useExisting: forwardRef(() => AXConversationContainerComponent),
137
+ multi: true,
138
+ },
139
+ AXConversationService,
140
+ AXRecordingService,
141
+ ], ngImport: i0, template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"], encapsulation: i0.ViewEncapsulation.None }); }
142
+ }
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationContainerComponent, decorators: [{
144
+ type: Component,
145
+ args: [{ selector: 'ax-conversation-container', encapsulation: ViewEncapsulation.None, providers: [
146
+ { provide: AXComponent, useExisting: AXConversationContainerComponent },
147
+ { provide: AXFocusableComponent, useExisting: AXConversationContainerComponent },
148
+ { provide: AXValuableComponent, useExisting: AXConversationContainerComponent },
149
+ {
150
+ provide: NG_VALUE_ACCESSOR,
151
+ useExisting: forwardRef(() => AXConversationContainerComponent),
152
+ multi: true,
153
+ },
154
+ AXConversationService,
155
+ AXRecordingService,
156
+ ], template: "<div class=\"ax-conversation-container\">\n <ng-content> </ng-content>\n</div>\n", styles: ["ax-conversation-container{--ax-comp-conversation-other-color: var(--ax-sys-color-surface);--ax-comp-conversation-other-color-fore: var(--ax-sys-color-on-surface);--ax-comp-conversation-status-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-conversation-other-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-other-progress-color: var(--ax-sys-color-on-primary-light-surface);--ax-comp-conversation-own-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-conversation-own-color-fore: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-reply-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-conversation-own-reply-color-fore: var(--ax-sys-color-on-primary-dark-surface);--ax-comp-conversation-other-reply-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-conversation-other-reply-color-fore: var(--ax-sys-color-on-primary-lighter-surface);--ax-comp-conversation-border-color: var(--ax-sys-color-primary-darkest-surface);--ax-comp-conversation-own-bar-color: var(--ax-sys-color-primary-light-surface);--ax-comp-conversation-own-progress-color: var(--ax-sys-color-on-primary-light-surface)}ax-conversation-container{width:100%;display:block}ax-conversation-container>.ax-editor-container{display:block;height:100%!important}\n"] }]
157
+ }] });
158
+
147
159
  /**
148
160
  * An input component for entering conversation messages.
149
161
  *
@@ -331,8 +343,8 @@ class AXConversationInputComponent extends classes((MXInputBaseValueComponent),
331
343
  closeReplyHandler() {
332
344
  this.conversationService.replyId.set('');
333
345
  }
334
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
335
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: AXConversationInputComponent, isStandalone: true, selector: "ax-conversation-input", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, hasAttachment: { classPropertyName: "hasAttachment", publicName: "hasAttachment", isSignal: true, isRequired: false, transformFunction: null }, hasVoice: { classPropertyName: "hasVoice", publicName: "hasVoice", isSignal: true, isRequired: false, transformFunction: null }, hasEmoji: { classPropertyName: "hasEmoji", publicName: "hasEmoji", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, acceptFileType: { classPropertyName: "acceptFileType", publicName: "acceptFileType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSendClick: "onSendClick", onStartRecording: "onStartRecording", onCancelRecording: "onCancelRecording", onEnterPressed: "onEnterPressed" }, providers: [
346
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
347
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationInputComponent, isStandalone: true, selector: "ax-conversation-input", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, hasAttachment: { classPropertyName: "hasAttachment", publicName: "hasAttachment", isSignal: true, isRequired: false, transformFunction: null }, hasVoice: { classPropertyName: "hasVoice", publicName: "hasVoice", isSignal: true, isRequired: false, transformFunction: null }, hasEmoji: { classPropertyName: "hasEmoji", publicName: "hasEmoji", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, acceptFileType: { classPropertyName: "acceptFileType", publicName: "acceptFileType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSendClick: "onSendClick", onStartRecording: "onStartRecording", onCancelRecording: "onCancelRecording", onEnterPressed: "onEnterPressed" }, providers: [
336
348
  { provide: AXComponent, useExisting: AXConversationInputComponent },
337
349
  { provide: AXFocusableComponent, useExisting: AXConversationInputComponent },
338
350
  { provide: AXValuableComponent, useExisting: AXConversationInputComponent },
@@ -343,7 +355,7 @@ class AXConversationInputComponent extends classes((MXInputBaseValueComponent),
343
355
  },
344
356
  ], queries: [{ propertyName: "sendIcon", first: true, predicate: ["ax-icon"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n @if (hasEmoji()) {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"keyDownHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n @if (hasAttachment()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <input\n multiple\n #inputFile\n [accept]=\"acceptFileType()\"\n type=\"file\"\n class=\"ax-attach-input\"\n (change)=\"handleChangeFile($event)\"\n />\n }\n @if (hasVoice()) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n }\n } @else {\n <ax-button [disabled]=\"isLoading()\" look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n @if (isLoading()) {\n <ax-loading-spinner color=\"primary\"></ax-loading-spinner>\n } @else {\n @if (sendIcon()) {\n <ng-content select=\"ax-icon\"></ng-content>\n } @else {\n <ax-icon>\n <i class=\"ax-icon ax-icon-arrow-long-up\"></i>\n </ax-icon>\n }\n }\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-action-list{display:flex;gap:.25rem}.ax-action-list.ax-action-list-horizontal{flex-direction:row}.ax-action-list.ax-action-list-horizontal ax-divider{width:0px;height:auto;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}.ax-action-list.ax-action-list-vertical{flex-direction:column}.ax-action-list.ax-action-list-vertical .ax-action-item>div.ax-action-item-prefix ax-prefix{min-width:1rem}.ax-action-list.ax-action-list-vertical ax-divider{height:1px;width:100%}.ax-action-list ax-title{opacity:.5;display:block;font-size:.75rem;line-height:1rem;font-weight:bolder;text-transform:uppercase;padding-block:var(--ax-comp-action-item-padding-block, .25rem);padding-inline:var(--ax-comp-action-item-padding-inline, calc(var(--ax-comp-action-item-padding-inline, .875rem) / 3 * 2))}.ax-action-list ax-divider{display:block;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-action-list ax-text{white-space:nowrap}.ax-action-list .ax-action-item{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;line-height:1.25rem;height:2.25rem;width:100%;cursor:pointer;padding-inline:var(--ax-comp-action-item-padding-inline, .875rem)}.ax-action-list .ax-action-item.ax-state-disabled{cursor:not-allowed;opacity:.5}.ax-action-list .ax-action-item:hover:not(.ax-action-list .ax-action-item:hover.ax-state-disabled,.ax-action-list .ax-action-item:hover.ax-state-selected){background-color:rgba(var(--ax-sys-color-surface))}.ax-action-list .ax-action-item:hover:not(.ax-action-list .ax-action-item:hover.ax-state-disabled,.ax-action-list .ax-action-item:hover.ax-state-selected) ax-prefix,.ax-action-list .ax-action-item:hover:not(.ax-action-list .ax-action-item:hover.ax-state-disabled,.ax-action-list .ax-action-item:hover.ax-state-selected) ax-suffix{opacity:1}.ax-action-list .ax-action-item>div{display:flex;align-items:center;justify-content:center}.ax-action-list .ax-action-item>div.ax-action-item-prefix,.ax-action-list .ax-action-item>div.ax-action-item-suffix{gap:.5rem}.ax-action-list .ax-action-item ax-prefix{display:flex;gap:.5rem}.ax-action-list .ax-action-item ax-suffix ax-text{color:rgba(var(--ax-sys-body-text-color));opacity:.5;font-weight:lighter}.ax-action-sheet-panel{--ax-comp-action-sheet-border-radius-size: var(--ax-sys-border-radius);overflow:hidden;border-top-left-radius:var(--ax-comp-action-sheet-border-radius-size);border-top-right-radius:var(--ax-comp-action-sheet-border-radius-size);background-color:rgba(var(--ax-sys-color-surface-lowest));--ax-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ax-shadow-colored: 0 10px 15px -3px var(--ax-shadow-color), 0 4px 6px -4px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);animation:1s both ax-fadeInUp;animation-duration:var(--ax-sys-transition-duration)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}@-moz-document url-prefix(){*{scrollbar-color:var(--ax-sys-scroller-thumb-color) var(--ax-sys-scroller-track-color)}}.ax-checkbox{margin:0;height:1rem;min-width:1rem;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:.25rem;border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-input-surface));vertical-align:middle;outline:2px solid transparent;outline-offset:2px}.ax-checkbox:checked,.ax-checkbox:indeterminate{border-color:rgba(var(--ax-sys-color-primary-500))!important;background-color:rgba(var(--ax-sys-color-primary-500))!important;background-size:contain;background-repeat:no-repeat}.ax-checkbox:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\")}.ax-checkbox:indeterminate{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIzIiB5PSI3IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIvPjwvc3ZnPg==)}.ax-checkbox:focus-visible,.ax-checkbox:focus{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-surface)),0 0 0 4px rgba(var(--ax-sys-color-primary-500))}.ax-checkbox:disabled{cursor:not-allowed;opacity:.5}.ax-drop-down{display:contents}.ax-drop-down .ax-dropdown-content{display:flex;flex:1 1 0%;align-items:center;overflow-x:auto;overflow-y:hidden;font-size:.875rem;line-height:1.25rem;text-transform:capitalize}.ax-drop-down .ax-dropdown-content.ax-state-disabled{cursor:not-allowed;opacity:.5}.ax-overlay-pane{margin:.25rem 0;min-width:10rem;height:fit-content;overflow:hidden;border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);border-top-left-radius:var(--ax-comp-drop-down-border-top-left-radius, var(--ax-sys-border-radius));border-top-right-radius:var(--ax-comp-drop-down-border-top-right-radius, var(--ax-sys-border-radius));border-bottom-left-radius:var(--ax-comp-drop-down-border-bottom-left-radius, var(--ax-sys-border-radius));border-bottom-right-radius:var(--ax-comp-drop-down-border-bottom-right-radius, var(--ax-sys-border-radius))}@media (min-width: 320px) and (max-width: 640px){.ax-overlay-pane{margin:0}}.ax-overlay-pane ax-header,.ax-overlay-pane ax-footer{background-color:rgba(var(--ax-sys-color-lightest-surface));padding:.75rem}.ax-overlay-pane.ax-overlay-center{height:fit-content;width:80vw;max-width:90vh}.ax-overlay-pane.ax-overlay-actionsheet{height:auto;max-height:85vh;width:100%;background-color:rgba(var(--ax-sys-color-lightest-surface))}.ax-overlay-pane.ax-overlay-actionsheet.ax-full{height:95vh;max-height:95vh}.ax-overlay-pane.ax-overlay-full{width:100vw;height:100vh}.ax-dark .ax-overlay-pane{background-color:rgba(var(--ax-sys-color-darker-surface));border-color:rgba(var(--ax-sys-color-border-darker-surface))}:root,.ax-editor-container{--ax-comp-editor-font-size: .875rem;--ax-comp-editor-gap: .5rem;--ax-comp-editor-space-start-size: .5rem;--ax-comp-editor-space-end-size: .5rem;--ax-comp-editor-space-block-size: .5rem;--ax-comp-editor-height: var(--ax-sys-size-base);--ax-comp-editor-placeholder-space-x: .75rem;--ax-comp-editor-error-bg-color: var(--ax-sys-color-danger-light-surface);--ax-comp-editor-error-text-color: var(--ax-sys-color-danger-surface);--ax-comp-editor-error-border-color: var(--ax-sys-color-border-danger-surface);--ax-comp-editor-error-box-shadow-color: var(--ax-sys-color-danger-surface);--ax-comp-editor-text-color: var(--ax-sys-color-on-surface);--ax-comp-editor-border-color: var(--ax-sys-color-border-surface);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-box-outline-width: 1px;--ax-comp-editor-box-outline-color: var(--ax-sys-color-primary-surface);--ax-comp-editor-placeholder-opacity: .5;--ax-comp-editor-focused-border-color: var(--ax-sys-color-border-primary-surface);--ax-comp-editor-focused-box-shadow-color: var(--ax-sys-color-primary-surface);--ax-comp-editor-border-width: 0px}.ax-editor-container{display:flex;align-items:center;overflow:hidden;width:100%;height:var(--ax-comp-editor-height);font-size:var(--ax-comp-editor-font-size);border-radius:var(--ax-comp-editor-border-radius);border-width:var(--ax-comp-editor-border-width);border-color:rgba(var(--ax-comp-editor-border-color));background-color:rgba(var(--ax-comp-editor-bg-color));color:rgba(var(--ax-comp-editor-text-color));position:relative;gap:var(--ax-comp-editor-gap);padding-inline-end:var(--ax-comp-editor-space-end-size);padding-inline-start:var(--ax-comp-editor-space-start-size)}.ax-editor-container .ax-icon{font-size:var(--ax-comp-editor-icon-font-size)}.ax-editor-container:has(>ax-prefix){padding-inline-start:0}.ax-editor-container:has(>ax-prefix)>ax-prefix{padding-inline-start:var(--ax-comp-editor-space-start-size)}.ax-editor-container:has(>ax-prefix)>ax-prefix:has(ax-button,.ax-editor-container){--ax-comp-editor-space-start-size: 0px}.ax-editor-container:has(>ax-suffix){padding-inline-end:0}.ax-editor-container:has(>ax-suffix)>ax-suffix{padding-inline-end:var(--ax-comp-editor-space-end-size)}.ax-editor-container:has(>ax-suffix)>ax-suffix:has(ax-button,.ax-editor-container){--ax-comp-editor-space-end-size: 0px}.ax-editor-container:focus-within{border-color:rgba(var(--ax-comp-editor-focused-border-color));outline-width:var(--ax-comp-editor-box-outline-width);outline-style:solid;outline-color:rgba(var(--ax-comp-editor-focused-border-color))}.ax-editor-container.ax-state-error{border-color:rgba(var(--ax-comp-editor-error-border-color));outline-width:var(--ax-comp-editor-box-outline-width);outline-color:rgba(var(--ax-comp-editor-error-border-color));outline-style:solid}.ax-editor-container.ax-state-error:focus-within{border-color:rgba(var(--ax-comp-editor-error-border-color))}.ax-editor-container.ax-state-error .ax-input .ax-placeholder,.ax-editor-container.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-comp-editor-error-text-color),var(--ax-comp-editor-placeholder-opacity))}.ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-editor-border-width: 1px}.ax-editor-container.ax-outline{--ax-comp-editor-bg-color: 0, 0, 0, 0;--ax-comp-editor-border-width: 1px}.ax-editor-container.ax-flat{--ax-comp-editor-border-width: 2px;--ax-comp-editor-border-radius: 0px;--ax-comp-editor-box-outline-width: 0px;border-width:0px!important;border-bottom-width:var(--ax-comp-editor-border-width)!important}.ax-editor-container.ax-fill{--ax-comp-editor-box-outline-width: 2px;--ax-comp-editor-border-width: 0px;--ax-comp-editor-bg-color: var(--ax-sys-color-surface);--ax-comp-editor-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-editor-border-color: var(--ax-sys-color-border-lighter-surface)}.ax-editor-container.ax-none{--ax-comp-editor-border-radius: 0px;--ax-comp-editor-box-outline-width: 0px;--ax-comp-editor-border-width: 0px;--ax-comp-editor-bg-color: 0, 0, 0, 0;--ax-comp-editor-border-color: 0, 0, 0, 0;--ax-comp-editor-text-color: var(--ax-sys-color-on-lighter-surface)}.ax-editor-container .ax-editor-input{height:100%;flex:1 1 0%}.ax-editor-container .ax-editor-input .ax-input{height:100%}.ax-editor-container .ax-input{font-size:var(--ax-comp-editor-font-size);line-height:var(--ax-comp-editor-font-size);color:rgba(var(--ax-comp-editor-text-color));cursor:inherit}.ax-editor-container .ax-input .ax-placeholder,.ax-editor-container .ax-input::placeholder{font-size:inherit;font-weight:400;color:rgb(var(--ax-comp-editor-text-color),var(--ax-comp-editor-placeholder-opacity))}.ax-editor-container .ax-input:focus,.ax-editor-container .ax-input:focus-visible,.ax-editor-container .ax-input:focus-within{outline:none}.ax-editor-container.ax-state-disabled{opacity:.5;cursor:not-allowed}.ax-editor-container .ax-editor-control{display:flex;height:100%;align-items:center;justify-content:center;padding-inline-start:.5rem;font-size:1.125rem;line-height:1.75rem;color:rgba(var(--ax-comp-editor-text-color))}.ax-editor-container.ax-button-icon{padding:0 .5rem}.ax-editor-container .ax-input,.ax-editor-container .ax-text-area{text-align:inherit;font-family:inherit;font-size:inherit;line-height:inherit;height:100%;width:100%;flex:1 1 0%;background-color:transparent;font-weight:inherit}.ax-editor-container .ax-input:focus,.ax-editor-container .ax-text-area:focus{box-shadow:none}.ax-editor-container .ax-editor-button{font-size:var(--ax-comp-editor-button-font-size, var(--ax-comp-editor-font-size));height:var(--ax-comp-editor-button-height, 100%)}.ax-editor-container>ax-prefix,.ax-editor-container>ax-suffix{height:100%;max-width:fit-content}.ax-editor-container>ax-prefix ax-button,.ax-editor-container>ax-prefix ax-text,.ax-editor-container>ax-prefix ax-icon,.ax-editor-container>ax-prefix .ax-editor-container,.ax-editor-container>ax-suffix ax-button,.ax-editor-container>ax-suffix ax-text,.ax-editor-container>ax-suffix ax-icon,.ax-editor-container>ax-suffix .ax-editor-container{display:flex;height:100%;align-items:center;justify-content:center;border-radius:0}.ax-editor-container>ax-prefix ax-title,.ax-editor-container>ax-suffix ax-title{padding-left:1rem;padding-right:1rem}.ax-editor-container>ax-prefix>ax-text,.ax-editor-container>ax-suffix>ax-text{display:flex;align-items:center;justify-content:center}.ax-editor-container .ax-button{height:100%!important;border-radius:0!important}.ax-editor-container .ax-button.ax-button-icon{height:100%;width:var(--ax-comp-editor-height)}.ax-editor-container ax-popover{position:absolute}.ax-xs .ax-editor-container,.ax-editor-container.ax-xs{--ax-comp-editor-font-size: .75rem;--ax-comp-editor-space-start-size: .25rem;--ax-comp-editor-space-end-size: .25rem;--ax-comp-editor-button-font-size: .625rem;--ax-comp-editor-gap: .25rem;--ax-comp-editor-icon-font-size: .75rem}.ax-sm .ax-editor-container,.ax-editor-container.ax-sm{--ax-comp-editor-font-size: .875rem;--ax-comp-editor-space-start-size: .5rem;--ax-comp-editor-space-end-size: .5rem;--ax-comp-editor-button-font-size: .75rem;--ax-comp-editor-gap: .375rem;--ax-comp-editor-icon-font-size: .875rem}.ax-md .ax-editor-container,.ax-editor-container,.ax-editor-container.ax-md{--ax-comp-editor-space-start-size: .75rem;--ax-comp-editor-space-end-size: .75rem;--ax-comp-editor-button-font-size: .875rem;--ax-comp-editor-gap: .5rem;--ax-comp-editor-icon-font-size: 1rem}.ax-lg .ax-editor-container,.ax-editor-container.ax-lg{--ax-comp-editor-font-size: 1.125rem;--ax-comp-editor-space-start-size: 1.125rem;--ax-comp-editor-space-end-size: 1.125rem;--ax-comp-editor-button-font-size: .875rem;--ax-comp-editor-gap: .625rem;--ax-comp-editor-icon-font-size: 1.25rem}.ax-xl .ax-editor-container,.ax-editor-container.ax-xl{--ax-comp-editor-font-size: 1.5rem;--ax-comp-editor-space-start-size: 1.5rem;--ax-comp-editor-space-end-size: 1.5rem;--ax-comp-editor-button-font-size: 1rem;--ax-comp-editor-gap: .75rem;--ax-comp-editor-icon-font-size: 1.5rem}ax-validation-rule{position:absolute}.ax-general-button{display:inline-flex;height:var(--ax-sys-size-base);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);padding-left:var(--ax-comp-general-button-padding-left, 1rem);padding-right:var(--ax-comp-general-button-padding-right, 1rem);font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface),.75)}.ax-general-button:hover:not(.ax-general-button:hover:disabled,.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity))}.ax-general-button:focus:not(.ax-general-button:focus:disabled,.ax-state-disabled,.ax-general-button:focus-visible:disabled),.ax-general-button:focus-visible:not(.ax-general-button:focus:disabled,.ax-state-disabled,.ax-general-button:focus-visible:disabled){color:rgba(var(--ax-sys-color-primary-700),var(--tw-text-opacity))}.ax-general-button:active:not(.ax-general-button:active:disabled,.ax-state-disabled){color:rgba(var(--ax-sys-color-primary-300),var(--tw-text-opacity))}.ax-general-button.ax-button-icon{padding-left:var(--ax-comp-general-button-padding-left, .5rem);padding-right:var(--ax-comp-general-button-padding-right, .5rem);font-size:100%}.ax-general-button.ax-button-icon>button{display:flex}.ax-general-button.ax-button-rounded{border-radius:var(--ax-sys-border-radius)}.ax-general-button:disabled,.ax-general-button.ax-state-disabled{cursor:not-allowed;opacity:.5}.ax-clear-button{display:inline-flex;height:var(--ax-sys-size-base);align-items:center;justify-content:center;margin-left:.25rem;margin-right:.25rem;font-size:1rem;line-height:1.5rem;color:rgb(var(--ax-sys-color-on-surface),.75)}.ax-clear-button>button{display:flex}.ax-clear-button:hover:not(.ax-clear-button:hover:disabled,.ax-state-disabled){color:rgb(var(--ax-sys-color-on-surface),.5)}.ax-clear-button:focus:not(.ax-clear-button:focus:disabled,.ax-state-disabled,.ax-clear-button:focus-visible:disabled),.ax-clear-button:focus-visible:not(.ax-clear-button:focus:disabled,.ax-state-disabled,.ax-clear-button:focus-visible:disabled){color:rgb(var(--ax-sys-color-on-surface))}.ax-dark .ax-list-item.ax-state-selected{background-color:rgba(var(--ax-sys-color-primary-800))!important;color:rgba(var(--ax-sys-color-on-primary))!important}.ax-list{display:flex;height:100%;flex-direction:column;overflow:hidden;background-color:rgba(var(--ax-sys-color-surface));font-size:.875rem;line-height:1.25rem}@media (min-width: 768px){.ax-list{max-height:20rem}}.ax-list ax-header,.ax-list ax-footer{display:flex;align-items:center;justify-content:space-between;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity));background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity))}.ax-list ax-header{border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity));padding:1rem;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){.ax-list ax-header{font-size:1.125rem;line-height:1.75rem}}.ax-list ax-header ax-prefix,.ax-list ax-header ax-suffix{display:flex;flex-direction:column;justify-items:start}.ax-list ax-header ax-prefix{align-items:flex-start}.ax-list ax-header ax-suffix{align-items:flex-end}.ax-list ax-footer{border-top-width:1px}.ax-list .ax-content{flex:1 1 0%;overflow-y:auto;overflow-x:hidden}.ax-list .ax-content.ax-list-items-container{height:100%;overflow-y:auto;padding-top:.5rem;padding-bottom:.5rem}.ax-list .ax-content.ax-list-items-container.ax-vertical{display:grid;grid-template-columns:repeat(1,minmax(0,1fr))}.ax-list .ax-content.ax-list-items-container.ax-vertical.ax-divide{border-top-width:1px;border-bottom-width:1px}.ax-list .ax-content.ax-list-items-container.ax-default{cursor:pointer}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item-group>span{display:flex;align-items:center;padding:.75rem;font-weight:500}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item-group>ul{padding-left:.75rem;padding-right:.75rem}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item-group .ax-list-item{margin-bottom:.25rem;border-radius:var(--ax-sys-border-radius)}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item{position:relative;display:flex;height:var(--ax-sys-size-base);-webkit-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding-inline-end:1rem;padding-inline-start:.75rem;font-size:1rem;line-height:1.5rem}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item:focus,.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item:focus-visible{outline-width:2px;outline-offset:2px}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item.ax-state-checkbox .ax-checkbox-label{margin-inline-start:.5rem}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item.ax-state-selected{background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity))!important;color:rgba(var(--ax-sys-color-on-primary),var(--tw-text-opacity))!important}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item.ax-state-disabled{cursor:not-allowed;opacity:.5}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item:focus-visible,.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item:hover{background-color:rgba(var(--ax-sys-color-surface))}.ax-list .ax-content.ax-list-items-container.ax-default .ax-list-item.ax-state-focus{background-color:rgba(var(--ax-sys-color-surface))}.ax-list .ax-content.ax-list-items-container .ax-list-loading-container{display:flex;justify-content:center;padding:.5rem}.ax-list .ax-search-box-container{padding:.5rem}.ax-list .ax-search-box-container.ax-state-hidden{display:none}.ax-radio{margin:0;height:1rem;min-height:1rem;min-width:1rem;width:1rem;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-input-surface));vertical-align:middle;outline:2px solid transparent;outline-offset:2px}.ax-radio:checked{border-color:rgba(var(--ax-sys-color-primary-500))!important;background-color:rgba(var(--ax-sys-color-primary-500))!important;background-size:contain;background-repeat:no-repeat}.ax-radio:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\")}.ax-radio:focus-visible,.ax-radio:focus{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-surface)),0 0 0 4px rgba(var(--ax-sys-color-primary-500))}.ax-radio:disabled{cursor:not-allowed;opacity:.5}.ax-ripple{transform:scale(0);animation:ripple .5s linear;position:absolute;border-radius:9999rem!important}@keyframes ripple{to{transform:scale(4);opacity:0}}.ax-dark .ax-table thead{background-color:rgba(var(--ax-sys-color-surface))}.ax-table{width:100%;border-collapse:collapse;border-spacing:0;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));font-size:.875rem;line-height:1.25rem}.ax-table td{border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:.75rem 1rem}.ax-table thead{border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface))}.ax-table thead th{padding:.875rem 1rem;text-align:start;font-weight:500;text-transform:uppercase}.ax-table.ax-table-alternate tbody tr:nth-child(2n){background-color:rgba(var(--ax-sys-color-lighter-surface))}.ax-table.ax-table-bordered thead th{border-top-width:0px!important}.ax-table.ax-table-bordered tbody tr:last-child td{border-bottom-width:0px!important}.ax-table.ax-table-bordered tbody tr td:last-child{border-bottom-width:0px!important}.ax-table.ax-table-bordered td,.ax-table.ax-table-bordered th{border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-table.ax-table-bordered td:first-child,.ax-table.ax-table-bordered th:first-child{border-inline-start-width:0px}.ax-table.ax-table-bordered td:last-child,.ax-table.ax-table-bordered th:last-child{border-inline-end-width:0px}@media screen and (max-width: 640px){.ax-table.ax-table-responsive{display:block;overflow-wrap:break-word;border-width:0px}.ax-table.ax-table-responsive thead{position:absolute;inset-inline-start:-100%;top:-100%}.ax-table.ax-table-responsive td{float:inline-start;clear:both;box-sizing:border-box;display:block;width:100%;padding:.375rem .625rem}.ax-table.ax-table-responsive td:last-child{border-width:0px}.ax-table.ax-table-responsive td:before{content:attr(data-label);display:block;font-weight:700}.ax-table.ax-table-responsive tr{border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-table.ax-table-responsive tr,.ax-table.ax-table-responsive tbody{float:inline-start;margin-bottom:.625rem;width:100%}}.ax-uploader-overlay-state{border-radius:inherit;pointer-events:none;position:absolute;inset-inline-start:0px;top:0;z-index:10;display:flex;height:100%;width:100%;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background-color:rgba(var(--ax-sys-color-primary-200),.75);font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-sys-color-on-primary-tint));outline-style:dashed;outline-offset:-4px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ax-drop-zone>input{position:absolute;height:100%;width:100%;cursor:pointer;opacity:0}.ax-dark .ax-uploader-overlay-state{background-color:rgba(var(--ax-sys-color-primary-800),.75);color:rgba(var(--ax-sys-color-on-primary));outline-color:rgba(var(--ax-sys-color-on-primary))}ax-conversation-input{width:100%;display:block}ax-conversation-input .ax-conversation-input{display:flex;align-items:center;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side::placeholder{font-size:1rem;line-height:2.5rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-sys-color-danger-surface));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-sys-color-danger-surface),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-sys-color-danger-surface),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-sys-border-radius)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
345
357
  }
346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationInputComponent, decorators: [{
358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationInputComponent, decorators: [{
347
359
  type: Component,
348
360
  args: [{ selector: 'ax-conversation-input', inputs: ['look', 'placeholder'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
349
361
  { provide: AXComponent, useExisting: AXConversationInputComponent },
@@ -378,10 +390,10 @@ class AXConversationMessageTypeRegistryService {
378
390
  resolve(name) {
379
391
  return this.plugins.get(name);
380
392
  }
381
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageTypeRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
382
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageTypeRegistryService, providedIn: 'root' }); }
393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageTypeRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
394
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageTypeRegistryService, providedIn: 'root' }); }
383
395
  }
384
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageTypeRegistryService, decorators: [{
396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageTypeRegistryService, decorators: [{
385
397
  type: Injectable,
386
398
  args: [{ providedIn: 'root' }]
387
399
  }] });
@@ -394,26 +406,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
394
406
  class AXConversationMessageComponent extends MXBaseComponent {
395
407
  constructor() {
396
408
  super(...arguments);
397
- /**
398
- * @ignore
399
- */
400
409
  this.popover = viewChild('popover');
401
- this.isReply = input(true);
402
- /**
403
- * @ignore
404
- */
410
+ this.isReplyArrowShown = input(true);
405
411
  this.conversationService = inject(AXConversationService);
406
- /**
407
- * The message data to display in the conversation.
408
- */
409
412
  this.chatMessage = input();
410
- /**
411
- * @ignore
412
- */
413
413
  this.registryService = inject(AXConversationMessageTypeRegistryService);
414
- /**
415
- * @ignore
416
- */
417
414
  this.portal = computed(() => {
418
415
  return new ComponentPortal(this.registryService.resolve(this.chatMessage().type).component);
419
416
  });
@@ -421,21 +418,12 @@ class AXConversationMessageComponent extends MXBaseComponent {
421
418
  return this.chatMessage().type;
422
419
  });
423
420
  }
424
- /**
425
- * @ignore
426
- */
427
421
  get isOwn() {
428
422
  return !this.chatMessage().fromId;
429
423
  }
430
- /**
431
- * @ignore
432
- */
433
424
  get __hostClass() {
434
425
  return `${this.isOwn ? 'ax-state-own' : ''} ${!this.isOwn ? 'ax-state-other' : ''}`;
435
426
  }
436
- /**
437
- * @ignore
438
- */
439
427
  _handleAttached(ref) {
440
428
  ref = ref;
441
429
  if (ref.instance && isBrowser()) {
@@ -456,30 +444,21 @@ class AXConversationMessageComponent extends MXBaseComponent {
456
444
  }
457
445
  }
458
446
  }
459
- /**
460
- * @ignore
461
- */
462
447
  handleResendClick() {
463
448
  this.popover()?.close();
464
449
  this.chatMessage().onResendClick();
465
450
  }
466
- /**
467
- * @ignore
468
- */
469
451
  handleDeleteClick() {
470
452
  this.popover()?.close();
471
453
  this.chatMessage().onDeleteClick();
472
454
  }
473
- /**
474
- * @ignore
475
- */
476
455
  replyHandler(e) {
477
456
  this.conversationService.replyId.set(e);
478
457
  }
479
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
480
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: AXConversationMessageComponent, isStandalone: true, selector: "ax-conversation-message", inputs: { isReply: { classPropertyName: "isReply", publicName: "isReply", isSignal: true, isRequired: false, transformFunction: null }, chatMessage: { classPropertyName: "chatMessage", publicName: "chatMessage", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (chatMessage().fromId) {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n}\n\n@if (isOwn && isReply()) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div class=\"ax-message-content\" [class]=\"'ax-type-' + messageType()\" [class.ax-state-own]=\"!chatMessage().fromId\" [class.ax-state-other]=\"chatMessage().fromId\">\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin-bottom:.5rem}ax-conversation-message .ax-message-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;padding:.75rem;margin-bottom:.25rem}ax-conversation-message .ax-message-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video{width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}@media (min-width: 320px) and (max-width: 640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"], dependencies: [{ kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
458
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
459
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationMessageComponent, isStandalone: true, selector: "ax-conversation-message", inputs: { isReplyArrowShown: { classPropertyName: "isReplyArrowShown", publicName: "isReplyArrowShown", isSignal: true, isRequired: false, transformFunction: null }, chatMessage: { classPropertyName: "chatMessage", publicName: "chatMessage", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (chatMessage().fromId) {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n}\n\n@if (isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div\n class=\"ax-message-content\"\n [class]=\"'ax-type-' + messageType()\"\n [class.ax-state-own]=\"!chatMessage().fromId\"\n [class.ax-state-other]=\"chatMessage().fromId\"\n>\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin-bottom:.5rem}ax-conversation-message .ax-message-reply-container{padding:.75rem}ax-conversation-message .ax-message-reply-container,ax-conversation-message .ax-image-reply-container,ax-conversation-message .ax-video-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;margin-bottom:.25rem;overflow:hidden}ax-conversation-message .ax-message-reply-container .file,ax-conversation-message .ax-image-reply-container .file,ax-conversation-message .ax-video-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i,ax-conversation-message .ax-image-reply-container .file i,ax-conversation-message .ax-video-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video,ax-conversation-message .ax-image-reply-container img,ax-conversation-message .ax-image-reply-container video,ax-conversation-message .ax-video-reply-container img,ax-conversation-message .ax-video-reply-container video{max-width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}@media (min-width: 320px) and (max-width: 640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"], dependencies: [{ kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
481
460
  }
482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageComponent, decorators: [{
461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageComponent, decorators: [{
483
462
  type: Component,
484
463
  args: [{ selector: 'ax-conversation-message', encapsulation: ViewEncapsulation.None, imports: [
485
464
  AXAvatarComponent,
@@ -492,17 +471,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
492
471
  AXButtonItemComponent,
493
472
  AsyncPipe,
494
473
  AXFormatPipe,
495
- ], providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], template: "@if (chatMessage().fromId) {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n}\n\n@if (isOwn && isReply()) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div class=\"ax-message-content\" [class]=\"'ax-type-' + messageType()\" [class.ax-state-own]=\"!chatMessage().fromId\" [class.ax-state-other]=\"chatMessage().fromId\">\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin-bottom:.5rem}ax-conversation-message .ax-message-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;padding:.75rem;margin-bottom:.25rem}ax-conversation-message .ax-message-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video{width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}@media (min-width: 320px) and (max-width: 640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"] }]
474
+ ], providers: [{ provide: AXComponent, useExisting: AXConversationMessageComponent }], template: "@if (chatMessage().fromId) {\n <ax-avatar color=\"primary\" [size]=\"36\"> </ax-avatar>\n}\n\n@if (isOwn && isReplyArrowShown()) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div\n class=\"ax-message-content\"\n [class]=\"'ax-type-' + messageType()\"\n [class.ax-state-own]=\"!chatMessage().fromId\"\n [class.ax-state-other]=\"chatMessage().fromId\"\n>\n <ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: ["ax-conversation-message{display:flex;align-items:flex-end;margin-bottom:.5rem}ax-conversation-message .ax-message-reply-container{padding:.75rem}ax-conversation-message .ax-message-reply-container,ax-conversation-message .ax-image-reply-container,ax-conversation-message .ax-video-reply-container{border-left:.3rem solid rgb(var(--ax-comp-conversation-border-color));border-radius:.75rem;margin-bottom:.25rem;overflow:hidden}ax-conversation-message .ax-message-reply-container .file,ax-conversation-message .ax-image-reply-container .file,ax-conversation-message .ax-video-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i,ax-conversation-message .ax-image-reply-container .file i,ax-conversation-message .ax-video-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video,ax-conversation-message .ax-image-reply-container img,ax-conversation-message .ax-image-reply-container video,ax-conversation-message .ax-video-reply-container img,ax-conversation-message .ax-video-reply-container video{max-width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-own-color-fore));color:rgb(var(--ax-comp-conversation-own-color))}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-own-reply-color));color:rgb(var(--ax-comp-conversation-own-reply-color-fore))}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:rgb(var(--ax-comp-conversation-other-color-fore));color:rgb(var(--ax-comp-conversation-other-color))}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:rgb(var(--ax-comp-conversation-other-reply-color));color:rgb(var(--ax-comp-conversation-other-reply-color-fore))}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgb(var(--ax-sys-color-danger-surface));color:rgb(var(--ax-sys-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:var(--ax-sys-border-radius);overflow:hidden;width:fit-content;max-width:50%;margin-inline-start:.5rem}ax-conversation-message .ax-message-content.ax-type-video{padding:0}ax-conversation-message .ax-message-content.ax-type-image{padding:0}ax-conversation-message .ax-message-content .ax-chat-message-status{padding:.25rem .5rem}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:rgb(var(--ax-comp-conversation-own-color));color:rgb(var(--ax-comp-conversation-own-color-fore));justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-own-color-fore))}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:rgb(var(--ax-comp-conversation-other-color));color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:rgb(var(--ax-comp-conversation-other-color-fore))}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:rgb(var(--ax-comp-conversation-status-color))}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgb(var(--ax-sys-color-danger-surface))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-sys-color-on-primary))}@media (min-width: 320px) and (max-width: 640px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"] }]
496
475
  }], propDecorators: { __hostClass: [{
497
476
  type: HostBinding,
498
477
  args: ['class']
499
478
  }] } });
500
479
 
501
480
  class AXConversationMessageBaseComponent {
502
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
503
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageBaseComponent }); }
481
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
482
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageBaseComponent }); }
504
483
  }
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageBaseComponent, decorators: [{
484
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageBaseComponent, decorators: [{
506
485
  type: Injectable
507
486
  }] });
508
487
 
@@ -637,10 +616,10 @@ class AXConversationMessageAudioComponent extends AXConversationMessageBaseCompo
637
616
  this.audioTag().playbackRate = 1;
638
617
  }
639
618
  }
640
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
641
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: AXConversationMessageAudioComponent, isStandalone: true, selector: "ax-conversation-message-audio", providers: [{ provide: AXComponent, useExisting: AXConversationMessageAudioComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <ax-button color=\"primary\" look=\"solid\" text=\"{{ audioRate() }}X\" class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></ax-button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (ngModelChange)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [ngModel]=\"currentTime()\"\n color=\"primary\"\n>\n</ax-range-slider>\n", styles: ["ax-conversation-message-audio .ax-time-rate .ax-audio-speed{margin-inline-start:.3rem;border-radius:.2rem;min-width:2rem}ax-conversation-message-audio .ax-modify-bgSlider{width:14rem;margin:0 1rem;padding:0}.ax-time-rate{display:flex;align-items:center}.ax-audio-speed{--ax-comp-button-font-size: .6rem;--ax-comp-button-padding-x: .1rem;--ax-comp-button-padding-y: .1rem;--ax-comp-button-height: auto;--ax-comp-button-text-padding-x: .5rem;margin-inline-start:.5rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
619
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
620
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationMessageAudioComponent, isStandalone: true, selector: "ax-conversation-message-audio", providers: [{ provide: AXComponent, useExisting: AXConversationMessageAudioComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <ax-button color=\"primary\" look=\"solid\" text=\"{{ audioRate() }}X\" class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></ax-button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (ngModelChange)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [ngModel]=\"currentTime()\"\n color=\"primary\"\n>\n</ax-range-slider>\n", styles: ["ax-conversation-message-audio .ax-time-rate .ax-audio-speed{margin-inline-start:.3rem;border-radius:.2rem;min-width:2rem}ax-conversation-message-audio .ax-modify-bgSlider{width:14rem;margin:0 1rem;padding:0}.ax-time-rate{display:flex;align-items:center}.ax-audio-speed{--ax-comp-button-font-size: .6rem;--ax-comp-button-padding-x: .1rem;--ax-comp-button-padding-y: .1rem;--ax-comp-button-height: auto;--ax-comp-button-text-padding-x: .5rem;margin-inline-start:.5rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
642
621
  }
643
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageAudioComponent, decorators: [{
622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageAudioComponent, decorators: [{
644
623
  type: Component,
645
624
  args: [{ selector: 'ax-conversation-message-audio', encapsulation: ViewEncapsulation.None, imports: [
646
625
  AXDecoratorGenericComponent,
@@ -663,8 +642,8 @@ class AXConversationViewComponent extends MXBaseComponent {
663
642
  /** @ignore */
664
643
  this.conversationService = inject(AXConversationService);
665
644
  this.onScrollEnd = output();
666
- this.height = input('30vh');
667
- this.isReply = input(true);
645
+ this.chatBoxHeight = input('30vh');
646
+ this.isReplyArrowShown = input(true);
668
647
  /**
669
648
  * Emits an event when an action is performed within the conversation view.
670
649
  *
@@ -681,12 +660,12 @@ class AXConversationViewComponent extends MXBaseComponent {
681
660
  addNewItem(item) {
682
661
  this.conversationService.chats.update((prev) => [...prev, item]);
683
662
  }
684
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
685
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: AXConversationViewComponent, isStandalone: true, selector: "ax-conversation-view", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, isReply: { classPropertyName: "isReply", publicName: "isReply", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScrollEnd: "onScrollEnd", onAction: "onAction" }, providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], usesInheritance: true, ngImport: i0, template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"height()\">\n @for (item of conversationService.chats(); track item.id) {\n <ax-conversation-message\n [isReply]=\"isReply()\"\n axVirtualScrollingItem\n [chatMessage]=\"item\"\n ></ax-conversation-message>\n }\n</div>\n", styles: ["ax-conversation-view{display:block}ax-conversation-view .ax-conversation-container{overflow-y:auto;height:100%}\n"], dependencies: [{ kind: "directive", type: AXVirtualScrollingContainerDirective, selector: "[axVirtualScrollingContainer]", inputs: ["height"], outputs: ["ScrollEnd"] }, { kind: "component", type: AXConversationMessageComponent, selector: "ax-conversation-message", inputs: ["isReply", "chatMessage"] }, { kind: "directive", type: AXVirtualScrollingItemDirective, selector: "[axVirtualScrollingItem]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
663
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
664
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationViewComponent, isStandalone: true, selector: "ax-conversation-view", inputs: { chatBoxHeight: { classPropertyName: "chatBoxHeight", publicName: "chatBoxHeight", isSignal: true, isRequired: false, transformFunction: null }, isReplyArrowShown: { classPropertyName: "isReplyArrowShown", publicName: "isReplyArrowShown", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScrollEnd: "onScrollEnd", onAction: "onAction" }, providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], usesInheritance: true, ngImport: i0, template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"chatBoxHeight()\">\n @for (item of conversationService.chats(); track item.id) {\n <ax-conversation-message\n [isReplyArrowShown]=\"isReplyArrowShown()\"\n axVirtualScrollingItem\n [chatMessage]=\"item\"\n ></ax-conversation-message>\n }\n</div>\n", styles: ["ax-conversation-view{display:block}ax-conversation-view .ax-conversation-container{overflow-y:auto;height:100%}\n"], dependencies: [{ kind: "directive", type: AXVirtualScrollingContainerDirective, selector: "[axVirtualScrollingContainer]", inputs: ["height"], outputs: ["ScrollEnd"] }, { kind: "component", type: AXConversationMessageComponent, selector: "ax-conversation-message", inputs: ["isReplyArrowShown", "chatMessage"] }, { kind: "directive", type: AXVirtualScrollingItemDirective, selector: "[axVirtualScrollingItem]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
686
665
  }
687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationViewComponent, decorators: [{
666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationViewComponent, decorators: [{
688
667
  type: Component,
689
- args: [{ selector: 'ax-conversation-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXVirtualScrollingContainerDirective, AXConversationMessageComponent, AXVirtualScrollingItemDirective], providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"height()\">\n @for (item of conversationService.chats(); track item.id) {\n <ax-conversation-message\n [isReply]=\"isReply()\"\n axVirtualScrollingItem\n [chatMessage]=\"item\"\n ></ax-conversation-message>\n }\n</div>\n", styles: ["ax-conversation-view{display:block}ax-conversation-view .ax-conversation-container{overflow-y:auto;height:100%}\n"] }]
668
+ args: [{ selector: 'ax-conversation-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXVirtualScrollingContainerDirective, AXConversationMessageComponent, AXVirtualScrollingItemDirective], providers: [{ provide: AXComponent, useExisting: AXConversationViewComponent }], template: "<div axVirtualScrollingContainer (ScrollEnd)=\"callForUpdate()\" [height]=\"chatBoxHeight()\">\n @for (item of conversationService.chats(); track item.id) {\n <ax-conversation-message\n [isReplyArrowShown]=\"isReplyArrowShown()\"\n axVirtualScrollingItem\n [chatMessage]=\"item\"\n ></ax-conversation-message>\n }\n</div>\n", styles: ["ax-conversation-view{display:block}ax-conversation-view .ax-conversation-container{overflow-y:auto;height:100%}\n"] }]
690
669
  }] });
691
670
 
692
671
  /* eslint-disable @typescript-eslint/no-unused-vars */
@@ -750,10 +729,10 @@ class AXConversationFileMessageComponent extends AXConversationMessageBaseCompon
750
729
  handleCancelLoading() {
751
730
  this.parent.onAction.emit({ component: this, data: this.message, isUserInteraction: true });
752
731
  }
753
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationFileMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
754
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: AXConversationFileMessageComponent, isStandalone: true, selector: "ax-conversation-message-file", providers: [{ provide: AXComponent, useExisting: AXConversationFileMessageComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
732
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationFileMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
733
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationFileMessageComponent, isStandalone: true, selector: "ax-conversation-message-file", providers: [{ provide: AXComponent, useExisting: AXConversationFileMessageComponent }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
755
734
  }
756
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationFileMessageComponent, decorators: [{
735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationFileMessageComponent, decorators: [{
757
736
  type: Component,
758
737
  args: [{ selector: 'ax-conversation-message-file', encapsulation: ViewEncapsulation.None, imports: [AXDecoratorGenericComponent, AXLoadingSpinnerComponent, AsyncPipe, AXFormatPipe], providers: [{ provide: AXComponent, useExisting: AXConversationFileMessageComponent }], template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
759
738
  }], ctorParameters: () => [] });
@@ -764,21 +743,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
764
743
  * @category Components
765
744
  */
766
745
  class ConversationMessageImagePopupComponent {
767
- /**
768
- * @ignore
769
- */
770
- constructor() {
771
- afterNextRender(() => {
772
- console.log(this.url);
773
- });
774
- }
775
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConversationMessageImagePopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
776
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: ConversationMessageImagePopupComponent, isStandalone: true, selector: "ax-conversation-message-image-popup", providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], ngImport: i0, template: `<img class="ax-image-popup" [src]="url" alt="" />`, isInline: true, styles: ["ax-conversation-message-image-popup .ax-image-popup{width:100%;height:100%;object-fit:cover}\n"], encapsulation: i0.ViewEncapsulation.None }); }
746
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConversationMessageImagePopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
747
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ConversationMessageImagePopupComponent, isStandalone: true, selector: "ax-conversation-message-image-popup", providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], ngImport: i0, template: ` <img class="ax-image-popup" [src]="url" alt="" />`, isInline: true, styles: ["ax-conversation-message-image-popup{display:flex;justify-content:center;align-items:center}ax-conversation-message-image-popup .ax-image-popup{object-fit:fill;width:30vw}\n"], encapsulation: i0.ViewEncapsulation.None }); }
777
748
  }
778
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConversationMessageImagePopupComponent, decorators: [{
749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConversationMessageImagePopupComponent, decorators: [{
779
750
  type: Component,
780
- args: [{ selector: 'ax-conversation-message-image-popup', template: `<img class="ax-image-popup" [src]="url" alt="" />`, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], styles: ["ax-conversation-message-image-popup .ax-image-popup{width:100%;height:100%;object-fit:cover}\n"] }]
781
- }], ctorParameters: () => [] });
751
+ args: [{ selector: 'ax-conversation-message-image-popup', template: ` <img class="ax-image-popup" [src]="url" alt="" />`, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: ConversationMessageImagePopupComponent }], styles: ["ax-conversation-message-image-popup{display:flex;justify-content:center;align-items:center}ax-conversation-message-image-popup .ax-image-popup{object-fit:fill;width:30vw}\n"] }]
752
+ }] });
782
753
 
783
754
  /**
784
755
  * A component for displaying an image within a conversation message.
@@ -836,10 +807,10 @@ class AXConversationMessageImageComponent extends AXConversationMessageBaseCompo
836
807
  console.log(c);
837
808
  });
838
809
  }
839
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
840
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: AXConversationMessageImageComponent, isStandalone: true, selector: "ax-conversation-message-image", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageImageComponent }], usesInheritance: true, ngImport: i0, template: `<img (click)="openPopup()" [src]="_imageUrl()" alt="" /> `, isInline: true, styles: ["img{cursor:pointer;width:100%;height:100%}\n"] }); }
810
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
811
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AXConversationMessageImageComponent, isStandalone: true, selector: "ax-conversation-message-image", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationMessageImageComponent }], usesInheritance: true, ngImport: i0, template: `<img (click)="openPopup()" [src]="_imageUrl()" alt="" /> `, isInline: true, styles: ["img{cursor:pointer;width:100%;height:100%}\n"] }); }
841
812
  }
842
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageImageComponent, decorators: [{
813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageImageComponent, decorators: [{
843
814
  type: Component,
844
815
  args: [{ selector: 'ax-conversation-message-image', template: `<img (click)="openPopup()" [src]="_imageUrl()" alt="" /> `, inputs: ['message'], providers: [{ provide: AXComponent, useExisting: AXConversationMessageImageComponent }], styles: ["img{cursor:pointer;width:100%;height:100%}\n"] }]
845
816
  }], ctorParameters: () => [] });
@@ -880,47 +851,49 @@ class AXConversationTextMessageComponent extends AXConversationMessageBaseCompon
880
851
  * @ignore
881
852
  */
882
853
  this.replyFile = signal(null);
854
+ /**
855
+ * @ignore
856
+ */
857
+ this.conversationService = inject(AXConversationService);
883
858
  }
884
- /**
885
- * @ignore
886
- */
887
859
  ngOnInit() {
888
860
  this._text.set(this.message?.content);
889
861
  if (!this.message?.replyTo)
890
862
  return;
891
- switch (this.message.replyTo.type) {
863
+ const replyMessage = this.conversationService.chats().find((chat) => chat.id === this.message?.replyTo?.id);
864
+ switch (replyMessage.type) {
892
865
  case 'text':
893
- this.replyText.set(this.message?.replyTo);
866
+ this.replyText.set(replyMessage);
894
867
  break;
895
868
  case 'image':
896
- this.replyImage.set(this.message?.replyTo);
869
+ this.replyImage.set(replyMessage);
897
870
  break;
898
871
  case 'video':
899
- this.replyVideo.set(this.message?.replyTo);
872
+ this.replyVideo.set(replyMessage);
900
873
  break;
901
874
  case 'audio':
902
- this.replyAudio.set(this.message?.replyTo);
875
+ this.replyAudio.set(replyMessage);
903
876
  break;
904
877
  case 'voice':
905
- this.replyVoice.set(this.message?.replyTo);
878
+ this.replyVoice.set(replyMessage);
906
879
  break;
907
880
  case 'file':
908
- this.replyFile.set(this.message?.replyTo);
881
+ this.replyFile.set(replyMessage);
909
882
  break;
910
883
  }
911
884
  }
912
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationTextMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
913
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: AXConversationTextMessageComponent, isStandalone: true, selector: "ng-component", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationTextMessageComponent }], usesInheritance: true, ngImport: i0, template: `
885
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationTextMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
886
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationTextMessageComponent, isStandalone: true, selector: "ng-component", inputs: { message: "message" }, providers: [{ provide: AXComponent, useExisting: AXConversationTextMessageComponent }], usesInheritance: true, ngImport: i0, template: `
914
887
  @if (replyText()) {
915
888
  <div class="ax-message-reply-container">{{ replyText().content }}</div>
916
889
  }
917
890
 
918
891
  @if (replyImage()) {
919
- <div class="ax-message-reply-container"><img [src]="replyImage()" alt="" /></div>
892
+ <div class="ax-image-reply-container"><img [src]="replyImage().content" alt="" /></div>
920
893
  }
921
894
 
922
895
  @if (replyVideo()) {
923
- <div class="ax-message-reply-container"><video [src]="replyVideo()"></video></div>
896
+ <div class="ax-video-reply-container"><video [src]="replyVideo().content"></video></div>
924
897
  }
925
898
 
926
899
  @if (replyFile()) {
@@ -939,7 +912,7 @@ class AXConversationTextMessageComponent extends AXConversationMessageBaseCompon
939
912
  <div class="ax-text-message" [innerHtml]="_text()"></div>
940
913
  `, isInline: true, styles: [".ax-text-message{word-break:normal;white-space:break-spaces}\n"], encapsulation: i0.ViewEncapsulation.None }); }
941
914
  }
942
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationTextMessageComponent, decorators: [{
915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationTextMessageComponent, decorators: [{
943
916
  type: Component,
944
917
  args: [{ template: `
945
918
  @if (replyText()) {
@@ -947,11 +920,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
947
920
  }
948
921
 
949
922
  @if (replyImage()) {
950
- <div class="ax-message-reply-container"><img [src]="replyImage()" alt="" /></div>
923
+ <div class="ax-image-reply-container"><img [src]="replyImage().content" alt="" /></div>
951
924
  }
952
925
 
953
926
  @if (replyVideo()) {
954
- <div class="ax-message-reply-container"><video [src]="replyVideo()"></video></div>
927
+ <div class="ax-video-reply-container"><video [src]="replyVideo().content"></video></div>
955
928
  }
956
929
 
957
930
  @if (replyFile()) {
@@ -989,12 +962,11 @@ class AXConversationMessageVideoComponent extends AXConversationMessageBaseCompo
989
962
  */
990
963
  ngOnInit() {
991
964
  this._videoUrl.set(this.message?.content);
992
- console.log(this._videoUrl());
993
965
  }
994
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageVideoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
995
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: AXConversationMessageVideoComponent, isStandalone: true, selector: "ax-conversation-message-video", providers: [{ provide: AXComponent, useExisting: AXConversationMessageVideoComponent }], usesInheritance: true, ngImport: i0, template: `<video controls [src]="_videoUrl()"></video>`, isInline: true, styles: ["video{width:100%;height:100%}\n"] }); }
966
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageVideoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
967
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AXConversationMessageVideoComponent, isStandalone: true, selector: "ax-conversation-message-video", providers: [{ provide: AXComponent, useExisting: AXConversationMessageVideoComponent }], usesInheritance: true, ngImport: i0, template: `<video controls [src]="_videoUrl()"></video>`, isInline: true, styles: ["video{width:100%;height:100%}\n"] }); }
996
968
  }
997
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationMessageVideoComponent, decorators: [{
969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationMessageVideoComponent, decorators: [{
998
970
  type: Component,
999
971
  args: [{ selector: 'ax-conversation-message-video', template: `<video controls [src]="_videoUrl()"></video>`, providers: [{ provide: AXComponent, useExisting: AXConversationMessageVideoComponent }], styles: ["video{width:100%;height:100%}\n"] }]
1000
972
  }] });
@@ -1164,10 +1136,10 @@ class AXConversationVoiceMessageComponent extends AXConversationMessageBaseCompo
1164
1136
  get __hostClass() {
1165
1137
  return `${this.message.fromId ? 'ax-state-other' : 'ax-state-own'}`;
1166
1138
  }
1167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationVoiceMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1168
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: AXConversationVoiceMessageComponent, isStandalone: true, selector: "ax-conversation-message-audio", inputs: { message: "message" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationVoiceMessageComponent }], viewQueries: [{ propertyName: "audio", first: true, predicate: ["a"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">\n {{ selectedRate() }}X\n </div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}ax-conversation-message-audio .ax-audio-rate-button{background-color:var(--ax-comp-conversation-other-color-fore);color:var(--ax-comp-conversation-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}ax-conversation-message-audio .ax-audio-rate-button.ax-state-own{background-color:var(--ax-comp-conversation-own-color-fore);color:var(--ax-comp-conversation-own-color)}ax-conversation-message-audio html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "component", type: AXAudioWaveComponent, selector: "ax-audio-wave", inputs: ["config"], outputs: ["onStatusChanged"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
1139
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationVoiceMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1140
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: AXConversationVoiceMessageComponent, isStandalone: true, selector: "ax-conversation-message-audio", inputs: { message: "message" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXConversationVoiceMessageComponent }], viewQueries: [{ propertyName: "audio", first: true, predicate: ["a"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">\n {{ selectedRate() }}X\n </div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}ax-conversation-message-audio .ax-audio-rate-button{background-color:var(--ax-comp-conversation-other-color-fore);color:var(--ax-comp-conversation-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}ax-conversation-message-audio .ax-audio-rate-button.ax-state-own{background-color:var(--ax-comp-conversation-own-color-fore);color:var(--ax-comp-conversation-own-color)}ax-conversation-message-audio html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "component", type: AXAudioWaveComponent, selector: "ax-audio-wave", inputs: ["config"], outputs: ["onStatusChanged"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
1169
1141
  }
1170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationVoiceMessageComponent, decorators: [{
1142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationVoiceMessageComponent, decorators: [{
1171
1143
  type: Component,
1172
1144
  args: [{ selector: 'ax-conversation-message-audio', encapsulation: ViewEncapsulation.None, inputs: ['message'], imports: [AXDecoratorGenericComponent, AXLoadingSpinnerComponent, AXAudioWaveComponent, AsyncPipe, AXFormatPipe], providers: [{ provide: AXComponent, useExisting: AXConversationVoiceMessageComponent }], template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'white' : 'warning'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">\n {{ selectedRate() }}X\n </div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}ax-conversation-message-audio .ax-audio-rate-button{background-color:var(--ax-comp-conversation-other-color-fore);color:var(--ax-comp-conversation-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}ax-conversation-message-audio .ax-audio-rate-button.ax-state-own{background-color:var(--ax-comp-conversation-own-color-fore);color:var(--ax-comp-conversation-own-color)}ax-conversation-message-audio html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"] }]
1173
1145
  }], ctorParameters: () => [], propDecorators: { audio: [{
@@ -1278,8 +1250,8 @@ class AXConversationModule {
1278
1250
  f();
1279
1251
  });
1280
1252
  }
1281
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationModule, deps: [{ token: 'AXChatModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1282
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.13", ngImport: i0, type: AXConversationModule, imports: [CommonModule,
1253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationModule, deps: [{ token: 'AXChatModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1254
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: AXConversationModule, imports: [CommonModule,
1283
1255
  FormsModule,
1284
1256
  AsyncPipe,
1285
1257
  AXRippleDirective,
@@ -1316,7 +1288,7 @@ class AXConversationModule {
1316
1288
  AXConversationMessageAudioComponent,
1317
1289
  AXConversationMessageImageComponent,
1318
1290
  AXConversationMessageVideoComponent] }); }
1319
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationModule, providers: [AXRecordingService, AXConversationService, AXPopupService], imports: [CommonModule,
1291
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationModule, providers: [AXPopupService], imports: [CommonModule,
1320
1292
  FormsModule,
1321
1293
  AXButtonModule,
1322
1294
  AXDecoratorModule,
@@ -1338,12 +1310,12 @@ class AXConversationModule {
1338
1310
  AXConversationFileMessageComponent,
1339
1311
  AXConversationMessageAudioComponent] }); }
1340
1312
  }
1341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXConversationModule, decorators: [{
1313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXConversationModule, decorators: [{
1342
1314
  type: NgModule,
1343
1315
  args: [{
1344
1316
  imports: [...MODULES, ...COMPONENT],
1345
1317
  exports: [...COMPONENT],
1346
- providers: [AXRecordingService, AXConversationService, AXPopupService],
1318
+ providers: [AXPopupService],
1347
1319
  }]
1348
1320
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1349
1321
  type: Optional
@@ -1356,5 +1328,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
1356
1328
  * Generated bundle index. Do not edit.
1357
1329
  */
1358
1330
 
1359
- export { AXConversationActionEvent, AXConversationContainerComponent, AXConversationFileMessageComponent, AXConversationInputComponent, AXConversationMessageAudioComponent, AXConversationMessageBaseComponent, AXConversationMessageComponent, AXConversationMessageImageComponent, AXConversationMessageTypeRegistryService, AXConversationMessageVideoComponent, AXConversationModule, AXConversationService, AXConversationTextMessageComponent, AXConversationViewComponent, AXConversationVoiceMessageComponent, AXRecordingService, ConversationMessageImagePopupComponent };
1331
+ export { AXConversationActionEvent, AXConversationContainerComponent, AXConversationFileMessageComponent, AXConversationInputComponent, AXConversationMessageAudioComponent, AXConversationMessageBaseComponent, AXConversationMessageComponent, AXConversationMessageImageComponent, AXConversationMessageVideoComponent, AXConversationModule, AXConversationTextMessageComponent, AXConversationViewComponent, AXConversationVoiceMessageComponent, AXRecordingService, ConversationMessageImagePopupComponent };
1360
1332
  //# sourceMappingURL=acorex-components-conversation.mjs.map