@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.
- package/.github/workflows/docker-community-push-latest.yml +13 -23
- package/.github/workflows/docker-image-tag-community-tag-push.yml +12 -22
- package/CHANGELOG.md +8 -129
- package/Dockerfile +5 -4
- package/angular.json +3 -21
- package/docs/changelog/this-branch.md +0 -36
- package/env.sample +2 -3
- package/nginx.conf +2 -22
- package/package.json +3 -10
- package/src/app/app.component.html +2 -2
- package/src/app/app.component.scss +14 -25
- package/src/app/app.component.spec.ts +6 -21
- package/src/app/app.component.ts +9 -10
- package/src/app/app.module.ts +0 -13
- package/src/app/component/conversation-detail/conversation/conversation.component.html +11 -25
- package/src/app/component/conversation-detail/conversation/conversation.component.scss +2 -40
- package/src/app/component/conversation-detail/conversation/conversation.component.spec.ts +75 -644
- package/src/app/component/conversation-detail/conversation/conversation.component.ts +14 -100
- package/src/app/component/conversation-detail/conversation-audio-recorder/conversation-audio-recorder.component.html +13 -25
- package/src/app/component/conversation-detail/conversation-audio-recorder/conversation-audio-recorder.component.spec.ts +5 -123
- package/src/app/component/conversation-detail/conversation-audio-recorder/conversation-audio-recorder.component.ts +0 -1
- package/src/app/component/conversation-detail/conversation-content/conversation-content.component.html +10 -23
- package/src/app/component/conversation-detail/conversation-content/conversation-content.component.scss +1 -19
- package/src/app/component/conversation-detail/conversation-content/conversation-content.component.spec.ts +149 -242
- package/src/app/component/conversation-detail/conversation-content/conversation-content.component.ts +5 -8
- package/src/app/component/conversation-detail/conversation-emojii/conversation-emojii.component.spec.ts +3 -53
- package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.html +96 -200
- package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.scss +6 -211
- package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.spec.ts +78 -452
- package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts +76 -291
- package/src/app/component/conversation-detail/conversation-header/conversation-header.component.html +53 -113
- package/src/app/component/conversation-detail/conversation-header/conversation-header.component.scss +4 -12
- package/src/app/component/conversation-detail/conversation-header/conversation-header.component.spec.ts +29 -274
- package/src/app/component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component.html +9 -23
- package/src/app/component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component.spec.ts +8 -80
- package/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.html +23 -29
- package/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.spec.ts +16 -185
- package/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.ts +14 -34
- package/src/app/component/error-alert/error-alert.component.spec.ts +5 -65
- package/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.html +7 -16
- package/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.scss +0 -21
- package/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.spec.ts +7 -89
- package/src/app/component/form/form-builder/form-builder.component.html +1 -1
- package/src/app/component/form/form-builder/form-builder.component.spec.ts +21 -163
- package/src/app/component/form/inputs/form-checkbox/form-checkbox.component.html +4 -8
- package/src/app/component/form/inputs/form-checkbox/form-checkbox.component.scss +5 -10
- package/src/app/component/form/inputs/form-checkbox/form-checkbox.component.spec.ts +16 -90
- package/src/app/component/form/inputs/form-checkbox/form-checkbox.component.ts +0 -26
- package/src/app/component/form/inputs/form-label/form-label.component.spec.ts +11 -45
- package/src/app/component/form/inputs/form-radio-button/form-radio-button.component.spec.ts +6 -24
- package/src/app/component/form/inputs/form-select/form-select.component.spec.ts +5 -14
- package/src/app/component/form/inputs/form-text/form-text.component.html +12 -14
- package/src/app/component/form/inputs/form-text/form-text.component.scss +1 -11
- package/src/app/component/form/inputs/form-text/form-text.component.spec.ts +17 -113
- package/src/app/component/form/inputs/form-text/form-text.component.ts +3 -35
- package/src/app/component/form/inputs/form-textarea/form-textarea.component.html +11 -13
- package/src/app/component/form/inputs/form-textarea/form-textarea.component.scss +5 -6
- package/src/app/component/form/inputs/form-textarea/form-textarea.component.spec.ts +13 -149
- package/src/app/component/form/inputs/form-textarea/form-textarea.component.ts +0 -26
- package/src/app/component/form/prechat-form/prechat-form.component.html +11 -14
- package/src/app/component/form/prechat-form/prechat-form.component.spec.ts +10 -102
- package/src/app/component/form/prechat-form/prechat-form.component.ts +1 -8
- package/src/app/component/home/home.component.html +31 -38
- package/src/app/component/home/home.component.scss +2 -4
- package/src/app/component/home/home.component.spec.ts +11 -226
- package/src/app/component/home-conversations/home-conversations.component.html +26 -30
- package/src/app/component/home-conversations/home-conversations.component.scss +0 -3
- package/src/app/component/home-conversations/home-conversations.component.spec.ts +36 -212
- package/src/app/component/last-message/last-message.component.html +9 -15
- package/src/app/component/last-message/last-message.component.scss +2 -16
- package/src/app/component/last-message/last-message.component.spec.ts +23 -204
- package/src/app/component/last-message/last-message.component.ts +1 -4
- package/src/app/component/launcher-button/launcher-button.component.html +13 -8
- package/src/app/component/launcher-button/launcher-button.component.spec.ts +8 -104
- package/src/app/component/list-all-conversations/list-all-conversations.component.html +17 -12
- package/src/app/component/list-all-conversations/list-all-conversations.component.scss +0 -2
- package/src/app/component/list-conversations/list-conversations.component.html +22 -22
- package/src/app/component/menu-options/menu-options.component.html +20 -30
- package/src/app/component/menu-options/menu-options.component.spec.ts +9 -125
- package/src/app/component/message/audio/audio.component.html +15 -13
- package/src/app/component/message/audio/audio.component.spec.ts +5 -140
- package/src/app/component/message/audio/audio.component.ts +5 -1
- package/src/app/component/message/avatar/avatar.component.html +2 -2
- package/src/app/component/message/avatar/avatar.component.spec.ts +7 -99
- package/src/app/component/message/bubble-message/bubble-message.component.html +51 -38
- package/src/app/component/message/bubble-message/bubble-message.component.scss +1 -54
- package/src/app/component/message/bubble-message/bubble-message.component.spec.ts +57 -154
- package/src/app/component/message/bubble-message/bubble-message.component.ts +11 -89
- package/src/app/component/message/buttons/action-button/action-button.component.html +4 -3
- package/src/app/component/message/buttons/action-button/action-button.component.spec.ts +5 -49
- package/src/app/component/message/buttons/link-button/link-button.component.scss +8 -5
- package/src/app/component/message/buttons/link-button/link-button.component.spec.ts +5 -50
- package/src/app/component/message/buttons/text-button/text-button.component.spec.ts +5 -44
- package/src/app/component/message/carousel/carousel.component.html +16 -29
- package/src/app/component/message/carousel/carousel.component.scss +8 -20
- package/src/app/component/message/carousel/carousel.component.spec.ts +3 -80
- package/src/app/component/message/carousel/carousel.component.ts +0 -16
- package/src/app/component/message/frame/frame.component.html +4 -9
- package/src/app/component/message/frame/frame.component.spec.ts +15 -34
- package/src/app/component/message/frame/frame.component.ts +2 -7
- package/src/app/component/message/html/html.component.html +1 -1
- package/src/app/component/message/html/html.component.scss +1 -1
- package/src/app/component/message/html/html.component.spec.ts +7 -24
- package/src/app/component/message/image/image.component.html +10 -12
- package/src/app/component/message/image/image.component.scss +0 -16
- package/src/app/component/message/image/image.component.spec.ts +15 -101
- package/src/app/component/message/image/image.component.ts +51 -90
- package/src/app/component/message/info-message/info-message.component.spec.ts +14 -26
- package/src/app/component/message/like-unlike/like-unlike.component.html +9 -7
- package/src/app/component/message/like-unlike/like-unlike.component.spec.ts +3 -31
- package/src/app/component/message/return-receipt/return-receipt.component.spec.ts +17 -38
- package/src/app/component/message/text/text.component.html +3 -3
- package/src/app/component/message/text/text.component.scss +86 -80
- package/src/app/component/message/text/text.component.spec.ts +13 -106
- package/src/app/component/message-attachment/message-attachment.component.spec.ts +13 -134
- package/src/app/component/selection-department/selection-department.component.html +23 -21
- package/src/app/component/selection-department/selection-department.component.spec.ts +14 -159
- package/src/app/component/selection-department/selection-department.component.ts +1 -8
- package/src/app/component/send-button/send-button.component.html +13 -5
- package/src/app/component/send-button/send-button.component.spec.ts +2 -2
- package/src/app/component/star-rating-widget/star-rating-widget.component.html +81 -51
- package/src/app/directives/tooltip.directive.spec.ts +4 -8
- package/src/app/modals/confirm-close/confirm-close.component.html +8 -20
- package/src/app/modals/confirm-close/confirm-close.component.scss +0 -3
- package/src/app/modals/confirm-close/confirm-close.component.spec.ts +4 -13
- package/src/app/modals/confirm-close/confirm-close.component.ts +1 -8
- package/src/app/pipe/html-entites-encode.pipe.spec.ts +2 -35
- package/src/app/pipe/marked.pipe.spec.ts +2 -38
- package/src/app/pipe/marked.pipe.ts +41 -51
- package/src/app/providers/app-config.service.ts +2 -4
- package/src/app/providers/brand.service.spec.ts +2 -23
- package/src/app/providers/brand.service.ts +1 -1
- package/src/app/providers/global-settings.service.spec.ts +14 -1009
- package/src/app/providers/global-settings.service.ts +2 -82
- package/src/app/providers/translator.service.ts +6 -26
- package/src/app/sass/_variables.scss +0 -3
- package/src/app/sass/animations.scss +1 -19
- package/src/app/utils/globals.ts +1 -21
- package/src/app/utils/utils-resources.ts +1 -1
- package/src/assets/i18n/en.json +99 -106
- package/src/assets/i18n/es.json +100 -107
- package/src/assets/i18n/fr.json +100 -107
- package/src/assets/i18n/it.json +98 -107
- package/src/assets/twp/index-dev.html +0 -18
- package/src/chat21-core/models/message.ts +1 -2
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +2 -3
- package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +0 -12
- package/src/chat21-core/providers/scripts/script.service.spec.ts +2 -12
- package/src/chat21-core/providers/tiledesk/tiledesk-requests.service.ts +1 -1
- package/src/chat21-core/utils/utils-message.ts +0 -7
- package/src/chat21-core/utils/utils.ts +2 -5
- package/src/widget-config-template.json +1 -4
- package/src/widget-config.json +1 -4
- package/tsconfig.json +0 -5
- package/.angular-mcp-cache/package.json +0 -1
- package/.cursor/angular18-accessibility-auditor-skill.md +0 -442
- package/.cursor/mcp.json +0 -15
- package/.github/workflows/build.yml +0 -22
- package/.github/workflows/playwright.yml +0 -27
- package/mocks/voice-websocket-mock/server.cjs +0 -245
- package/playwright.config.ts +0 -41
- package/src/app/component/conversation-detail/stream-audio-spectrum/stream-audio-spectrum.component.html +0 -46
- package/src/app/component/conversation-detail/stream-audio-spectrum/stream-audio-spectrum.component.scss +0 -83
- package/src/app/component/conversation-detail/stream-audio-spectrum/stream-audio-spectrum.component.ts +0 -192
- package/src/app/component/form/prechat-form-test-mock.ts +0 -35
- package/src/app/component/message/audio-sync/audio-sync.component.html +0 -18
- package/src/app/component/message/audio-sync/audio-sync.component.scss +0 -65
- package/src/app/component/message/audio-sync/audio-sync.component.spec.ts +0 -103
- package/src/app/component/message/audio-sync/audio-sync.component.ts +0 -643
- package/src/app/providers/tts-audio-playback-coordinator.service.spec.ts +0 -117
- package/src/app/providers/tts-audio-playback-coordinator.service.ts +0 -109
- package/src/app/providers/voice/STT&TTS/openai-voice.config.ts +0 -12
- package/src/app/providers/voice/STT&TTS/openai-voice.provider.ts +0 -171
- package/src/app/providers/voice/STT&TTS/speech-provider.abstract.ts +0 -39
- package/src/app/providers/voice/audio.types.ts +0 -40
- package/src/app/providers/voice/vad.service.spec.ts +0 -28
- package/src/app/providers/voice/vad.service.ts +0 -70
- package/src/app/providers/voice/voice-streaming.service.spec.ts +0 -23
- package/src/app/providers/voice/voice-streaming.service.ts +0 -702
- package/src/app/providers/voice/voice-streaming.types.ts +0 -112
- package/src/app/providers/voice/voice.service.spec.ts +0 -227
- package/src/app/providers/voice/voice.service.ts +0 -973
- package/src/app/shims/onnxruntime-web-wasm.ts +0 -4
- package/src/assets/onnx/ort-wasm-simd-threaded.mjs +0 -59
- package/src/assets/onnx/ort-wasm-simd-threaded.wasm +0 -0
- package/src/assets/sounds/keyboard.mp3 +0 -0
- package/src/assets/twp/tiledesk_widget_files/widget-css-override-example.css +0 -14
- package/src/assets/vad/silero_vad_legacy.onnx +0 -0
- package/src/assets/vad/vad.worklet.bundle.min.js +0 -1
- package/src/chat21-core/providers/chat-manager.spec.ts +0 -72
- package/tests/widget-form-rich.spec.ts +0 -67
- package/tests/widget-index-dev-settings.spec.ts +0 -52
- package/tests/widget-twp-iframe.spec.ts +0 -39
package/src/app/app.component.ts
CHANGED
|
@@ -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 &&
|
|
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
|
|
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
|
|
package/src/app/app.module.ts
CHANGED
|
@@ -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
|
-
|
|
2
|
+
<!-- tabindex="1500"-->
|
|
3
|
+
<!-- onFocus="document.querySelector('[start-focus-chat21-conversation-component]').focus()" -->
|
|
4
|
+
<div id="chat21-conversation-component"
|
|
3
5
|
#afConversationComponent
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
<
|
|
123
|
-
|
|
124
|
-
id="chat21-
|
|
125
|
-
|
|
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)
|
|
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) +
|
|
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
|
}
|