@chat21/chat21-web-widget 5.1.34-rc1 → 5.1.34

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 (193) hide show
  1. package/.github/workflows/docker-community-push-latest.yml +13 -23
  2. package/.github/workflows/docker-image-tag-community-tag-push.yml +12 -22
  3. package/CHANGELOG.md +8 -129
  4. package/Dockerfile +5 -4
  5. package/angular.json +3 -21
  6. package/docs/changelog/this-branch.md +0 -36
  7. package/env.sample +2 -3
  8. package/nginx.conf +2 -22
  9. package/package.json +3 -10
  10. package/src/app/app.component.html +2 -2
  11. package/src/app/app.component.scss +14 -25
  12. package/src/app/app.component.spec.ts +6 -21
  13. package/src/app/app.component.ts +9 -10
  14. package/src/app/app.module.ts +0 -13
  15. package/src/app/component/conversation-detail/conversation/conversation.component.html +11 -25
  16. package/src/app/component/conversation-detail/conversation/conversation.component.scss +2 -40
  17. package/src/app/component/conversation-detail/conversation/conversation.component.spec.ts +75 -644
  18. package/src/app/component/conversation-detail/conversation/conversation.component.ts +14 -100
  19. package/src/app/component/conversation-detail/conversation-audio-recorder/conversation-audio-recorder.component.html +13 -25
  20. package/src/app/component/conversation-detail/conversation-audio-recorder/conversation-audio-recorder.component.spec.ts +5 -123
  21. package/src/app/component/conversation-detail/conversation-audio-recorder/conversation-audio-recorder.component.ts +0 -1
  22. package/src/app/component/conversation-detail/conversation-content/conversation-content.component.html +10 -23
  23. package/src/app/component/conversation-detail/conversation-content/conversation-content.component.scss +1 -19
  24. package/src/app/component/conversation-detail/conversation-content/conversation-content.component.spec.ts +149 -242
  25. package/src/app/component/conversation-detail/conversation-content/conversation-content.component.ts +5 -8
  26. package/src/app/component/conversation-detail/conversation-emojii/conversation-emojii.component.spec.ts +3 -53
  27. package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.html +96 -200
  28. package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.scss +6 -211
  29. package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.spec.ts +78 -452
  30. package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts +76 -291
  31. package/src/app/component/conversation-detail/conversation-header/conversation-header.component.html +53 -113
  32. package/src/app/component/conversation-detail/conversation-header/conversation-header.component.scss +4 -12
  33. package/src/app/component/conversation-detail/conversation-header/conversation-header.component.spec.ts +29 -274
  34. package/src/app/component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component.html +9 -23
  35. package/src/app/component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component.spec.ts +8 -80
  36. package/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.html +23 -29
  37. package/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.spec.ts +16 -185
  38. package/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.ts +14 -34
  39. package/src/app/component/error-alert/error-alert.component.spec.ts +5 -65
  40. package/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.html +7 -16
  41. package/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.scss +0 -21
  42. package/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.spec.ts +7 -89
  43. package/src/app/component/form/form-builder/form-builder.component.html +1 -1
  44. package/src/app/component/form/form-builder/form-builder.component.spec.ts +21 -163
  45. package/src/app/component/form/inputs/form-checkbox/form-checkbox.component.html +4 -8
  46. package/src/app/component/form/inputs/form-checkbox/form-checkbox.component.scss +5 -10
  47. package/src/app/component/form/inputs/form-checkbox/form-checkbox.component.spec.ts +16 -90
  48. package/src/app/component/form/inputs/form-checkbox/form-checkbox.component.ts +0 -26
  49. package/src/app/component/form/inputs/form-label/form-label.component.spec.ts +11 -45
  50. package/src/app/component/form/inputs/form-radio-button/form-radio-button.component.spec.ts +6 -24
  51. package/src/app/component/form/inputs/form-select/form-select.component.spec.ts +5 -14
  52. package/src/app/component/form/inputs/form-text/form-text.component.html +12 -14
  53. package/src/app/component/form/inputs/form-text/form-text.component.scss +1 -11
  54. package/src/app/component/form/inputs/form-text/form-text.component.spec.ts +17 -113
  55. package/src/app/component/form/inputs/form-text/form-text.component.ts +3 -35
  56. package/src/app/component/form/inputs/form-textarea/form-textarea.component.html +11 -13
  57. package/src/app/component/form/inputs/form-textarea/form-textarea.component.scss +5 -6
  58. package/src/app/component/form/inputs/form-textarea/form-textarea.component.spec.ts +13 -149
  59. package/src/app/component/form/inputs/form-textarea/form-textarea.component.ts +0 -26
  60. package/src/app/component/form/prechat-form/prechat-form.component.html +11 -14
  61. package/src/app/component/form/prechat-form/prechat-form.component.spec.ts +10 -102
  62. package/src/app/component/form/prechat-form/prechat-form.component.ts +1 -8
  63. package/src/app/component/home/home.component.html +31 -38
  64. package/src/app/component/home/home.component.scss +2 -4
  65. package/src/app/component/home/home.component.spec.ts +11 -226
  66. package/src/app/component/home-conversations/home-conversations.component.html +26 -30
  67. package/src/app/component/home-conversations/home-conversations.component.scss +0 -3
  68. package/src/app/component/home-conversations/home-conversations.component.spec.ts +36 -212
  69. package/src/app/component/last-message/last-message.component.html +9 -15
  70. package/src/app/component/last-message/last-message.component.scss +2 -16
  71. package/src/app/component/last-message/last-message.component.spec.ts +23 -204
  72. package/src/app/component/last-message/last-message.component.ts +1 -4
  73. package/src/app/component/launcher-button/launcher-button.component.html +13 -8
  74. package/src/app/component/launcher-button/launcher-button.component.spec.ts +8 -104
  75. package/src/app/component/list-all-conversations/list-all-conversations.component.html +17 -12
  76. package/src/app/component/list-all-conversations/list-all-conversations.component.scss +0 -2
  77. package/src/app/component/list-conversations/list-conversations.component.html +22 -22
  78. package/src/app/component/menu-options/menu-options.component.html +20 -30
  79. package/src/app/component/menu-options/menu-options.component.spec.ts +9 -125
  80. package/src/app/component/message/audio/audio.component.html +15 -13
  81. package/src/app/component/message/audio/audio.component.spec.ts +5 -140
  82. package/src/app/component/message/audio/audio.component.ts +5 -1
  83. package/src/app/component/message/avatar/avatar.component.html +2 -2
  84. package/src/app/component/message/avatar/avatar.component.spec.ts +7 -99
  85. package/src/app/component/message/bubble-message/bubble-message.component.html +51 -38
  86. package/src/app/component/message/bubble-message/bubble-message.component.scss +1 -54
  87. package/src/app/component/message/bubble-message/bubble-message.component.spec.ts +57 -154
  88. package/src/app/component/message/bubble-message/bubble-message.component.ts +11 -89
  89. package/src/app/component/message/buttons/action-button/action-button.component.html +4 -3
  90. package/src/app/component/message/buttons/action-button/action-button.component.spec.ts +5 -49
  91. package/src/app/component/message/buttons/link-button/link-button.component.scss +8 -5
  92. package/src/app/component/message/buttons/link-button/link-button.component.spec.ts +5 -50
  93. package/src/app/component/message/buttons/text-button/text-button.component.spec.ts +5 -44
  94. package/src/app/component/message/carousel/carousel.component.html +16 -29
  95. package/src/app/component/message/carousel/carousel.component.scss +8 -20
  96. package/src/app/component/message/carousel/carousel.component.spec.ts +3 -80
  97. package/src/app/component/message/carousel/carousel.component.ts +0 -16
  98. package/src/app/component/message/frame/frame.component.html +4 -9
  99. package/src/app/component/message/frame/frame.component.spec.ts +15 -34
  100. package/src/app/component/message/frame/frame.component.ts +2 -7
  101. package/src/app/component/message/html/html.component.html +1 -1
  102. package/src/app/component/message/html/html.component.scss +1 -1
  103. package/src/app/component/message/html/html.component.spec.ts +7 -24
  104. package/src/app/component/message/image/image.component.html +10 -12
  105. package/src/app/component/message/image/image.component.scss +0 -16
  106. package/src/app/component/message/image/image.component.spec.ts +15 -101
  107. package/src/app/component/message/image/image.component.ts +51 -90
  108. package/src/app/component/message/info-message/info-message.component.spec.ts +14 -26
  109. package/src/app/component/message/like-unlike/like-unlike.component.html +9 -7
  110. package/src/app/component/message/like-unlike/like-unlike.component.spec.ts +3 -31
  111. package/src/app/component/message/return-receipt/return-receipt.component.spec.ts +17 -38
  112. package/src/app/component/message/text/text.component.html +3 -3
  113. package/src/app/component/message/text/text.component.scss +86 -80
  114. package/src/app/component/message/text/text.component.spec.ts +13 -106
  115. package/src/app/component/message-attachment/message-attachment.component.spec.ts +13 -134
  116. package/src/app/component/selection-department/selection-department.component.html +23 -21
  117. package/src/app/component/selection-department/selection-department.component.spec.ts +14 -159
  118. package/src/app/component/selection-department/selection-department.component.ts +1 -8
  119. package/src/app/component/send-button/send-button.component.html +13 -5
  120. package/src/app/component/send-button/send-button.component.spec.ts +2 -2
  121. package/src/app/component/star-rating-widget/star-rating-widget.component.html +81 -51
  122. package/src/app/directives/tooltip.directive.spec.ts +4 -8
  123. package/src/app/modals/confirm-close/confirm-close.component.html +8 -20
  124. package/src/app/modals/confirm-close/confirm-close.component.scss +0 -3
  125. package/src/app/modals/confirm-close/confirm-close.component.spec.ts +4 -13
  126. package/src/app/modals/confirm-close/confirm-close.component.ts +1 -8
  127. package/src/app/pipe/html-entites-encode.pipe.spec.ts +2 -35
  128. package/src/app/pipe/marked.pipe.spec.ts +2 -38
  129. package/src/app/pipe/marked.pipe.ts +41 -51
  130. package/src/app/providers/app-config.service.ts +2 -4
  131. package/src/app/providers/brand.service.spec.ts +2 -23
  132. package/src/app/providers/brand.service.ts +1 -1
  133. package/src/app/providers/global-settings.service.spec.ts +14 -1009
  134. package/src/app/providers/global-settings.service.ts +2 -82
  135. package/src/app/providers/translator.service.ts +6 -26
  136. package/src/app/sass/_variables.scss +0 -3
  137. package/src/app/sass/animations.scss +1 -19
  138. package/src/app/utils/globals.ts +1 -21
  139. package/src/app/utils/utils-resources.ts +1 -1
  140. package/src/assets/i18n/en.json +99 -106
  141. package/src/assets/i18n/es.json +100 -107
  142. package/src/assets/i18n/fr.json +100 -107
  143. package/src/assets/i18n/it.json +98 -107
  144. package/src/assets/twp/index-dev.html +0 -18
  145. package/src/chat21-core/models/message.ts +1 -2
  146. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +2 -3
  147. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +0 -12
  148. package/src/chat21-core/providers/scripts/script.service.spec.ts +2 -12
  149. package/src/chat21-core/providers/tiledesk/tiledesk-requests.service.ts +1 -1
  150. package/src/chat21-core/utils/utils-message.ts +0 -7
  151. package/src/chat21-core/utils/utils.ts +2 -5
  152. package/src/widget-config-template.json +1 -4
  153. package/src/widget-config.json +1 -4
  154. package/tsconfig.json +0 -5
  155. package/.angular-mcp-cache/package.json +0 -1
  156. package/.cursor/angular18-accessibility-auditor-skill.md +0 -442
  157. package/.cursor/mcp.json +0 -15
  158. package/.github/workflows/build.yml +0 -22
  159. package/.github/workflows/playwright.yml +0 -27
  160. package/mocks/voice-websocket-mock/server.cjs +0 -245
  161. package/playwright.config.ts +0 -41
  162. package/src/app/component/conversation-detail/stream-audio-spectrum/stream-audio-spectrum.component.html +0 -46
  163. package/src/app/component/conversation-detail/stream-audio-spectrum/stream-audio-spectrum.component.scss +0 -83
  164. package/src/app/component/conversation-detail/stream-audio-spectrum/stream-audio-spectrum.component.ts +0 -192
  165. package/src/app/component/form/prechat-form-test-mock.ts +0 -35
  166. package/src/app/component/message/audio-sync/audio-sync.component.html +0 -18
  167. package/src/app/component/message/audio-sync/audio-sync.component.scss +0 -65
  168. package/src/app/component/message/audio-sync/audio-sync.component.spec.ts +0 -103
  169. package/src/app/component/message/audio-sync/audio-sync.component.ts +0 -643
  170. package/src/app/providers/tts-audio-playback-coordinator.service.spec.ts +0 -117
  171. package/src/app/providers/tts-audio-playback-coordinator.service.ts +0 -109
  172. package/src/app/providers/voice/STT&TTS/openai-voice.config.ts +0 -12
  173. package/src/app/providers/voice/STT&TTS/openai-voice.provider.ts +0 -171
  174. package/src/app/providers/voice/STT&TTS/speech-provider.abstract.ts +0 -39
  175. package/src/app/providers/voice/audio.types.ts +0 -40
  176. package/src/app/providers/voice/vad.service.spec.ts +0 -28
  177. package/src/app/providers/voice/vad.service.ts +0 -70
  178. package/src/app/providers/voice/voice-streaming.service.spec.ts +0 -23
  179. package/src/app/providers/voice/voice-streaming.service.ts +0 -702
  180. package/src/app/providers/voice/voice-streaming.types.ts +0 -112
  181. package/src/app/providers/voice/voice.service.spec.ts +0 -227
  182. package/src/app/providers/voice/voice.service.ts +0 -973
  183. package/src/app/shims/onnxruntime-web-wasm.ts +0 -4
  184. package/src/assets/onnx/ort-wasm-simd-threaded.mjs +0 -59
  185. package/src/assets/onnx/ort-wasm-simd-threaded.wasm +0 -0
  186. package/src/assets/sounds/keyboard.mp3 +0 -0
  187. package/src/assets/twp/tiledesk_widget_files/widget-css-override-example.css +0 -14
  188. package/src/assets/vad/silero_vad_legacy.onnx +0 -0
  189. package/src/assets/vad/vad.worklet.bundle.min.js +0 -1
  190. package/src/chat21-core/providers/chat-manager.spec.ts +0 -72
  191. package/tests/widget-form-rich.spec.ts +0 -67
  192. package/tests/widget-index-dev-settings.spec.ts +0 -52
  193. package/tests/widget-twp-iframe.spec.ts +0 -39
@@ -106,16 +106,17 @@ export class AppComponent implements OnInit, AfterViewInit, OnDestroy {
106
106
 
107
107
  forceDisconnect: boolean = false;
108
108
 
109
- //network status
110
- isOnline: boolean = true;
111
- loading: boolean = false;
112
- private calloutScheduleTimeout: any = null;
113
-
114
109
  // alert error message
115
110
  isShowErrorMessage: boolean = false;
116
111
  errorMessage: string = '';
117
112
  errorKeyMessage: string = null;
118
113
  errorParams: Record<string, any> = {};
114
+
115
+ //network status
116
+ isOnline: boolean = true;
117
+
118
+ loading: boolean = false;
119
+ private calloutScheduleTimeout: any = null;
119
120
 
120
121
  private logger: LoggerService = LoggerInstance.getInstance();
121
122
  constructor(
@@ -169,13 +170,13 @@ export class AppComponent implements OnInit, AfterViewInit, OnDestroy {
169
170
  if (conversation.attributes && conversation.attributes['subtype'] === 'info') {
170
171
  return;
171
172
  }
172
- if (conversation.is_new && that.isInitialized) {
173
+ if (conversation.is_new && this.isInitialized) {
173
174
  that.manageTabNotification(false, 'conv-added')
174
175
  // this.soundMessage();
175
176
  }
176
- if(this.g.isOpen === false && conversation.sender !== this.g.senderId && !isInfo(conversation)){
177
- that.g.isOpenNewMessage = true;
177
+ if(this.g.isOpen === false){
178
178
  that.lastConversation = conversation;
179
+ that.g.isOpenNewMessage = true;
179
180
  }
180
181
  } else {
181
182
  //widget closed
@@ -223,7 +224,6 @@ export class AppComponent implements OnInit, AfterViewInit, OnDestroy {
223
224
  that.lastConversation = conversation;
224
225
  that.g.isOpenNewMessage = true;
225
226
  that.logger.debug('[APP-COMP] lastconversationnn', that.lastConversation)
226
- that.logger.debug('[APP-COMP] lastconversationnn message' + JSON.stringify(that.lastConversation?.attributes?.commands))
227
227
  }
228
228
  let badgeNewConverstionNumber = that.conversationsHandlerService.countIsNew()
229
229
  that.g.setParameter('conversationsBadge', badgeNewConverstionNumber);
@@ -2319,7 +2319,6 @@ export class AppComponent implements OnInit, AfterViewInit, OnDestroy {
2319
2319
  this.el.nativeElement.style.setProperty('--chat-header-height', this.g.hideHeaderConversation? '0px': null)
2320
2320
  this.el.nativeElement.style.setProperty('--font-size-bubble-message', this.g.fontSize)
2321
2321
  this.el.nativeElement.style.setProperty('--font-family-bubble-message', this.g.fontFamily)
2322
- this.el.nativeElement.style.setProperty('--chat-footer-close-button-height', this.g.closeChatInConversation? '30px': '0px')
2323
2322
 
2324
2323
  }
2325
2324
 
@@ -16,7 +16,6 @@ import { ConversationFooterComponent } from './component/conversation-detail/con
16
16
  import { ConversationInternalFrameComponent } from './component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component';
17
17
  import { ConversationPreviewComponent } from './component/conversation-detail/conversation-preview/conversation-preview.component';
18
18
  import { ConversationAudioRecorderComponent } from './component/conversation-detail/conversation-audio-recorder/conversation-audio-recorder.component';
19
- import { StreamAudioSpectrumComponent } from './component/conversation-detail/stream-audio-spectrum/stream-audio-spectrum.component';
20
19
  /** CONVERSATION-DETAIL COMPONENTS */
21
20
  import { BubbleMessageComponent } from './component/message/bubble-message/bubble-message.component';
22
21
  import { AvatarComponent } from './component/message/avatar/avatar.component';
@@ -26,7 +25,6 @@ import { InfoMessageComponent } from './component/message/info-message/info-mess
26
25
  import { HtmlComponent } from './component/message/html/html.component';
27
26
  import { FrameComponent } from './component/message/frame/frame.component';
28
27
  import { AudioComponent } from './component/message/audio/audio.component';
29
- import { AudioSyncComponent } from './component/message/audio-sync/audio-sync.component';
30
28
  import { UserTypingComponent } from './../chat21-core/utils/user-typing/user-typing.component';
31
29
  /** MESSAGE ATTACHMENTS COMPONENTS */
32
30
  import { MessageAttachmentComponent } from './component/message-attachment/message-attachment.component';
@@ -58,7 +56,6 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
58
56
  import { APP_INITIALIZER, NgModule } from '@angular/core';
59
57
  import { HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
60
58
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
61
- import { A11yModule } from '@angular/cdk/a11y';
62
59
  import { environment } from 'src/environments/environment';
63
60
 
64
61
  //THIRD-PART MODULES
@@ -139,11 +136,6 @@ import { Rules } from './utils/rules';
139
136
  import { ScriptService } from 'src/chat21-core/providers/scripts/script.service';
140
137
  import { CarouselComponent } from './component/message/carousel/carousel.component';
141
138
  import { BrandService } from './providers/brand.service';
142
- import { OpenAiVoiceProviderService } from './providers/voice/STT&TTS/openai-voice.provider';
143
- import {
144
- SpeechToTextProvider,
145
- TextToSpeechProvider,
146
- } from './providers/voice/STT&TTS/speech-provider.abstract';
147
139
  import { ErrorAlertComponent } from './component/error-alert/error-alert.component';
148
140
  import { ConfirmCloseComponent } from './modals/confirm-close/confirm-close.component';
149
141
  import { JsonSourcesComponent } from './component/message/json-sources/json-sources.component';
@@ -297,7 +289,6 @@ export function uploadFactory(http: HttpClient, appConfig: AppConfigService, app
297
289
  ConversationPreviewComponent,
298
290
  ConversationInternalFrameComponent,
299
291
  ConversationAudioRecorderComponent,
300
- StreamAudioSpectrumComponent,
301
292
  BubbleMessageComponent,
302
293
  AvatarComponent,
303
294
  FrameComponent,
@@ -310,7 +301,6 @@ export function uploadFactory(http: HttpClient, appConfig: AppConfigService, app
310
301
  LinkButtonComponent,
311
302
  TextButtonComponent,
312
303
  AudioComponent,
313
- AudioSyncComponent,
314
304
  UserTypingComponent,
315
305
  /**DIRECTIVES */
316
306
  HtmlEntitiesEncodePipe,
@@ -328,7 +318,6 @@ export function uploadFactory(http: HttpClient, appConfig: AppConfigService, app
328
318
  BrowserAnimationsModule,
329
319
  FormsModule,
330
320
  ReactiveFormsModule,
331
- A11yModule,
332
321
  PickerModule,
333
322
  TranslateModule.forRoot({
334
323
  // defaultLanguage: 'en',
@@ -418,8 +407,6 @@ export function uploadFactory(http: HttpClient, appConfig: AppConfigService, app
418
407
  WaitingService,
419
408
  ScriptService,
420
409
  BrandService,
421
- { provide: SpeechToTextProvider, useExisting: OpenAiVoiceProviderService },
422
- { provide: TextToSpeechProvider, useExisting: OpenAiVoiceProviderService },
423
410
  provideHttpClient(withInterceptorsFromDi())
424
411
  ],
425
412
  bootstrap: [AppComponent]
@@ -1,14 +1,10 @@
1
1
 
2
- <div id="chat21-conversation-component"
2
+ <!-- tabindex="1500"-->
3
+ <!-- onFocus="document.querySelector('[start-focus-chat21-conversation-component]').focus()" -->
4
+ <div id="chat21-conversation-component"
3
5
  #afConversationComponent
4
- role="region"
5
- [attr.aria-label]="g?.project?.widgetTitle">
6
-
7
- <!-- Skip-link: revealed only on focus, jumps straight to the message composer (WCAG 2.4.1 Bypass Blocks). -->
8
- <a class="c21-skip-link" href="#chat21-main-message-context"
9
- (click)="$event.preventDefault(); skipToCompose()">
10
- {{ translationMapFooter?.get('SKIP_TO_COMPOSER') || 'Skip to message composer' }}
11
- </a>
6
+ tabindex="1500"
7
+ aria-modal="true">
12
8
 
13
9
  <!-- HEADER -->
14
10
  <chat-conversation-header
@@ -70,7 +66,6 @@
70
66
  [showThinkingMessage]="showThinkingMessage"
71
67
  [lastServerSenderKind]="lastServerSenderKind"
72
68
  [fullscreenMode]="g?.fullscreenMode"
73
- [isStreamAudioActive]="isStreamAudioActive"
74
69
  [translationMap]="translationMapContent"
75
70
  [stylesMap]="stylesMap"
76
71
  (onBeforeMessageRender)="onBeforeMessageRenderFN($event)"
@@ -118,16 +113,12 @@
118
113
  </dialog>
119
114
 
120
115
  <!-- FOOTER -->
116
+ <!-- [class.maximize-width]="(g?.singleConversation && hideTextAreaContent) || (isConversationArchived && !g?.allowReopen)" -->
121
117
  <div id="chat21-footer">
122
- <button *ngIf="showBadgeScroollToBottom"
123
- type="button"
124
- id="chat21-buttonToBottom"
125
- class="c21-button-clean"
126
- [attr.aria-label]="translationMapContent?.get('BUTTON_SCROLL_TO_BOTTOM') || 'Scroll to last message'"
127
- (click)="scrollToBottom()">
128
- <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path opacity=".87" fill="none" d="M24 24H0V0h24v24z"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"/></svg>
129
- <span *ngIf="messagesBadgeCount!=0" id="chat21-divBudge" class="c21-divBudge" aria-hidden="true">{{messagesBadgeCount}}</span>
130
- </button>
118
+ <div *ngIf="showBadgeScroollToBottom" id="chat21-buttonToBottom" (click)="scrollToBottom()">
119
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path opacity=".87" fill="none" d="M24 24H0V0h24v24z"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"/></svg>
120
+ <div *ngIf="messagesBadgeCount!=0" id="chat21-divBudge" class="c21-divBudge">{{messagesBadgeCount}}</div>
121
+ </div>
131
122
 
132
123
  <chat-conversation-footer
133
124
  [conversationWith]="conversationWith"
@@ -141,14 +132,12 @@
141
132
  [showAttachmentFooterButton]="g?.showAttachmentFooterButton"
142
133
  [showEmojiFooterButton]="g?.showEmojiFooterButton"
143
134
  [showAudioRecorderFooterButton]="g?.showAudioRecorderFooterButton"
144
- [showAudioStreamFooterButton]="g?.showAudioStreamFooterButton"
145
135
  [hideTextAreaContent]="(g?.singleConversation && hideTextAreaContent) || (isConversationArchived && !g?.allowReopen)"
146
136
  [isConversationArchived]="isConversationArchived"
147
137
  [hideTextReply]="hideFooterTextReply"
148
138
  [isMobile]="g?.isMobile"
149
139
  [isEmojiiPickerShow]="isEmojiiPickerShow"
150
140
  [footerMessagePlaceholder]="footerMessagePlaceholder"
151
- [closeChatInConversation]="g?.closeChatInConversation"
152
141
  [fileUploadAccept]="g?.fileUploadAccept"
153
142
  [dropEvent]="dropEvent"
154
143
  [poweredBy]="g?.poweredBy"
@@ -159,10 +148,7 @@
159
148
  (onAfterSendMessage)="onAfterSendMessageFN($event)"
160
149
  (onChangeTextArea)="onChangeTextArea($event)"
161
150
  (onAttachmentFileButtonClicked)="onAttachmentFileButtonClicked($event)"
162
- (onNewConversationButtonClicked)="onNewConversationButtonClickedFN($event)"
163
- (onStreamAudioActiveChange)="onStreamAudioActiveChange($event)"
164
- (onStreamAudioConnectingChange)="onStreamAudioConnectingChange($event)"
165
- (onCloseChatButtonClicked)="onCloseChatButtonClickedFN($event)">
151
+ (onNewConversationButtonClicked)="onNewConversationButtonClickedFN($event)">
166
152
  </chat-conversation-footer>
167
153
 
168
154
  </div>
@@ -13,34 +13,6 @@
13
13
  bottom: var(--chat-footer-height) !important
14
14
  }
15
15
 
16
- /* Skip-link visible only when focused via keyboard (WCAG 2.4.1) */
17
- .c21-skip-link {
18
- position: absolute;
19
- top: -40px;
20
- left: 8px;
21
- z-index: 100;
22
- padding: 6px 12px;
23
- background-color: #1a73e8;
24
- color: #ffffff !important;
25
- border-radius: 4px;
26
- font-size: 14px;
27
- text-decoration: none;
28
- transition: top 0.15s ease-in-out;
29
- }
30
-
31
- .c21-skip-link:focus,
32
- .c21-skip-link:focus-visible {
33
- top: 8px;
34
- outline: 2px solid #ffffff;
35
- outline-offset: 2px;
36
- }
37
-
38
- @media (prefers-reduced-motion: reduce) {
39
- .c21-skip-link {
40
- transition: none;
41
- }
42
- }
43
-
44
16
  // ============= CSS #chat21-conversation-component ================= //
45
17
  #chat21-conversation-component {
46
18
  // background-color: #ffffff;
@@ -165,7 +137,7 @@
165
137
  #dropZone_container{
166
138
  position: absolute;
167
139
  top: 52px;
168
- bottom: calc(var(--chat-footer-logo-height) + var(--chat-footer-height) + var(--chat-footer-close-button-height));
140
+ bottom: calc(var(--chat-footer-logo-height) + var(--chat-footer-height));
169
141
  left: 0;
170
142
  right: 0;
171
143
  background-color: rgba(240,248,255,0.6);
@@ -268,17 +240,7 @@ dialog:-internal-dialog-in-top-layer{
268
240
 
269
241
 
270
242
  ::ng-deep .chat21-sheet-content{
271
- bottom: calc(var(--chat-footer-logo-height) + var(--chat-footer-height) + var(--chat-footer-close-button-height) + 34px)!important;
272
- }
273
-
274
- /* Con `.close-stream-button` (stream in ascolto): spazio per alert stream sopra il footer */
275
- #chat21-conversation-component.chat21-conversation--close-stream-active ::ng-deep .chat21-sheet-content {
276
- bottom: calc(
277
- var(--chat-footer-logo-height) +
278
- var(--chat-footer-height) +
279
- var(--chat-footer-stream-button-height) +
280
- 34px
281
- ) !important;
243
+ bottom: calc(var(--chat-footer-logo-height) + var(--chat-footer-height) + 34px)!important;
282
244
  }
283
245
 
284
246
  }