@chat21/chat21-web-widget 5.1.0-rc21 → 5.1.0-rc23
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/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/src/app/app.component.scss +3 -13
- package/src/app/app.component.ts +1 -1
- package/src/app/component/conversation-detail/conversation/conversation.component.html +1 -0
- package/src/app/component/conversation-detail/conversation/conversation.component.scss +35 -0
- package/src/app/component/conversation-detail/conversation/conversation.component.ts +7 -10
- package/src/app/component/conversation-detail/conversation-audio-recorder/conversation-audio-recorder.component.html +3 -1
- package/src/app/component/conversation-detail/conversation-audio-recorder/conversation-audio-recorder.component.scss +6 -15
- package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.html +13 -8
- package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.scss +14 -14
- package/src/app/component/conversation-detail/conversation-header/conversation-header.component.html +4 -4
- package/src/app/component/conversation-detail/conversation-header/conversation-header.component.ts +1 -1
- package/src/app/component/form/prechat-form/prechat-form.component.scss +1 -1
- package/src/app/component/list-all-conversations/list-all-conversations.component.scss +2 -2
- package/src/app/component/message/buttons/action-button/action-button.component.scss +3 -2
- package/src/app/component/message/buttons/link-button/link-button.component.scss +2 -1
- package/src/app/component/message/buttons/text-button/text-button.component.scss +2 -1
- package/src/app/component/selection-department/selection-department.component.scss +1 -1
- package/src/app/providers/global-settings.service.ts +13 -2
- package/src/app/sass/_variables.scss +4 -1
- package/src/app/utils/constants.ts +1 -1
- package/src/app/utils/globals.ts +9 -5
- package/src/assets/twp/index-dev.html +17 -0
- package/src/iframe-style.css +13 -5
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
### **Copyrigth**:
|
|
7
7
|
*Tiledesk SRL*
|
|
8
8
|
|
|
9
|
+
# 5.1.0-rc23
|
|
10
|
+
- **added**: hideHeaderConversation tiledeskSettings property
|
|
11
|
+
|
|
12
|
+
# 5.1.0-rc22
|
|
13
|
+
- **changed**: footer UI if fullscreenMode is enabled
|
|
14
|
+
- **changed**: buttons alignment if fullscreenMode is enabled
|
|
15
|
+
- **changed**: animation while increase/descrease widget size
|
|
16
|
+
|
|
9
17
|
# 5.1.0-rc21
|
|
10
18
|
- **bug-fixed**: shadow is visible while decrease widget size
|
|
11
19
|
|
package/package.json
CHANGED
|
@@ -515,16 +515,6 @@ chat-root {
|
|
|
515
515
|
border-radius: 16px;
|
|
516
516
|
}
|
|
517
517
|
|
|
518
|
-
.chat21-fullscreen {
|
|
519
|
-
width: 100%;
|
|
520
|
-
height: 100%;
|
|
521
|
-
right: 0px;
|
|
522
|
-
left: 0px;
|
|
523
|
-
bottom: 0px;
|
|
524
|
-
border-radius: 0px;
|
|
525
|
-
max-height: none;
|
|
526
|
-
}
|
|
527
|
-
|
|
528
518
|
|
|
529
519
|
/***************************
|
|
530
520
|
******** PAGE MODAL ********
|
|
@@ -596,7 +586,7 @@ chat-root {
|
|
|
596
586
|
.c21-header {
|
|
597
587
|
overflow: hidden;
|
|
598
588
|
width: 100%;
|
|
599
|
-
height:
|
|
589
|
+
height: var(--chat-header-height);
|
|
600
590
|
position: relative;
|
|
601
591
|
margin: 0;
|
|
602
592
|
padding: 0;
|
|
@@ -617,7 +607,7 @@ chat-root {
|
|
|
617
607
|
|
|
618
608
|
.c21-header-container{
|
|
619
609
|
position: relative;
|
|
620
|
-
height:
|
|
610
|
+
height: 100%;
|
|
621
611
|
width: 100%;
|
|
622
612
|
margin: 0 auto;
|
|
623
613
|
|
|
@@ -688,7 +678,7 @@ chat-root {
|
|
|
688
678
|
}
|
|
689
679
|
.c21-body {
|
|
690
680
|
position: absolute;
|
|
691
|
-
top:
|
|
681
|
+
top: var(--chat-header-height);
|
|
692
682
|
bottom: 0;
|
|
693
683
|
left: 0;
|
|
694
684
|
right: 0;
|
package/src/app/app.component.ts
CHANGED
|
@@ -2122,7 +2122,7 @@ export class AppComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
2122
2122
|
this.el.nativeElement.style.setProperty('--font-family-bubble-message', this.g.fontFamily)
|
|
2123
2123
|
this.el.nativeElement.style.setProperty('--button-in-msg-font-family', this.g.fontFamily)
|
|
2124
2124
|
|
|
2125
|
-
|
|
2125
|
+
this.el.nativeElement.style.setProperty('--chat-header-height', this.g.hideHeaderConversation? '0px': null)
|
|
2126
2126
|
}
|
|
2127
2127
|
|
|
2128
2128
|
|
|
@@ -13,6 +13,40 @@
|
|
|
13
13
|
bottom: var(--chat-footer-height) !important
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
@media(min-width:688px){
|
|
17
|
+
:host-context(#chat21-conversations.full-screen-mode){
|
|
18
|
+
--button-in-msg-padding: 10px 16px;
|
|
19
|
+
#chat21-footer{
|
|
20
|
+
left: 20%;
|
|
21
|
+
right: 20%;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
chat-conversation-content ::ng-deep{
|
|
25
|
+
.attachment_container,
|
|
26
|
+
.buttons-wrapper {
|
|
27
|
+
justify-content: flex-start;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.button-in-message{
|
|
31
|
+
padding: 14px 22px !important
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
chat-conversation-footer ::ng-deep {
|
|
37
|
+
.textarea-container {
|
|
38
|
+
padding: 8px 24px;
|
|
39
|
+
background-color: var(--chat-footer-background-color);
|
|
40
|
+
border-radius: 28px;
|
|
41
|
+
}
|
|
42
|
+
#hiddenFooter,
|
|
43
|
+
#emoji-mart-container {
|
|
44
|
+
bottom: calc(100% + 10px)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
16
50
|
// ============= CSS #chat21-conversation-component ================= //
|
|
17
51
|
#chat21-conversation-component {
|
|
18
52
|
// background-color: #ffffff;
|
|
@@ -89,6 +123,7 @@
|
|
|
89
123
|
left: 0px;
|
|
90
124
|
right: 0px;
|
|
91
125
|
margin: 0px;
|
|
126
|
+
margin: 12px 8px;
|
|
92
127
|
// padding: 0;
|
|
93
128
|
|
|
94
129
|
// box-shadow: 0 -1px 0px 0px $trasp-light-gray;
|
|
@@ -1022,7 +1022,7 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
|
|
|
1022
1022
|
var tiledeskDiv = this.g.windowContext.window.document.getElementById('tiledeskdiv')
|
|
1023
1023
|
tiledeskDiv.classList.remove('increaseSize')
|
|
1024
1024
|
tiledeskDiv.classList.remove('decreaseSize')
|
|
1025
|
-
tiledeskDiv.classList.remove('
|
|
1025
|
+
tiledeskDiv.classList.remove('top')
|
|
1026
1026
|
|
|
1027
1027
|
this.onCloseWidget.emit();
|
|
1028
1028
|
}
|
|
@@ -1078,18 +1078,15 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
|
|
|
1078
1078
|
if(mode==='max'){
|
|
1079
1079
|
tiledeskDiv.classList.add('increaseSize')
|
|
1080
1080
|
tiledeskDiv.classList.remove('decreaseSize')
|
|
1081
|
-
tiledeskDiv.classList.remove('
|
|
1082
|
-
this.g.fullscreenMode = false
|
|
1081
|
+
tiledeskDiv.classList.remove('top')
|
|
1083
1082
|
}else if(mode==='min'){
|
|
1084
1083
|
tiledeskDiv.classList.add('decreaseSize')
|
|
1085
1084
|
tiledeskDiv.classList.remove('increaseSize')
|
|
1086
|
-
tiledeskDiv.classList.remove('
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
tiledeskDiv.classList.add('fullscreen')
|
|
1085
|
+
tiledeskDiv.classList.remove('top')
|
|
1086
|
+
}else if(mode=== 'top'){
|
|
1087
|
+
tiledeskDiv.classList.add('top')
|
|
1090
1088
|
tiledeskDiv.classList.remove('increaseSize')
|
|
1091
1089
|
tiledeskDiv.classList.remove('decreaseSize')
|
|
1092
|
-
this.g.fullscreenMode = true
|
|
1093
1090
|
|
|
1094
1091
|
}
|
|
1095
1092
|
this.isMenuShow = false;
|
|
@@ -1132,8 +1129,8 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
|
|
|
1132
1129
|
case HEADER_MENU_OPTION.MINIMIZE:
|
|
1133
1130
|
this.onWidgetSizeChange('min')
|
|
1134
1131
|
break;
|
|
1135
|
-
case HEADER_MENU_OPTION.
|
|
1136
|
-
this.onWidgetSizeChange('
|
|
1132
|
+
case HEADER_MENU_OPTION.TOP:
|
|
1133
|
+
this.onWidgetSizeChange('top')
|
|
1137
1134
|
break;
|
|
1138
1135
|
}
|
|
1139
1136
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<div class="audio-recorder">
|
|
2
2
|
<button *ngIf="audioUrl" (click)="deleteRecording()">
|
|
3
3
|
<span class="v-align-center">
|
|
4
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"
|
|
4
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px">
|
|
5
|
+
<path d="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm80-160h80v-360h-80v360Zm160 0h80v-360h-80v360Z"/>
|
|
6
|
+
</svg>
|
|
5
7
|
<!-- <i class="material-icons">delete_outline</i> -->
|
|
6
8
|
</span>
|
|
7
9
|
</button>
|
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
@font-face {
|
|
3
|
-
font-family: 'Material Icons';
|
|
4
|
-
src: url('https://fonts.googleapis.com/icon?family=Material+Icons');
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.material-icons.mic_none::before {
|
|
8
|
-
content: 'mic_none';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
1
|
.audio-recorder {
|
|
12
2
|
text-align: center;
|
|
13
3
|
margin: 0px;
|
|
14
4
|
display: inline-flex;
|
|
15
5
|
align-items: center;
|
|
16
|
-
justify-content: center;
|
|
6
|
+
// justify-content: center;
|
|
7
|
+
justify-content: space-between;
|
|
17
8
|
height: 100%;
|
|
18
9
|
width: 100%;
|
|
19
10
|
float: left;
|
|
@@ -22,8 +13,8 @@
|
|
|
22
13
|
|
|
23
14
|
::ng-deep chat-audio.test {
|
|
24
15
|
display: flex;
|
|
25
|
-
width:
|
|
26
|
-
margin: 8px 0;
|
|
16
|
+
width: 90%;
|
|
17
|
+
// margin: 8px 0;
|
|
27
18
|
pointer-events: auto;
|
|
28
19
|
border-radius: var(--chat-footer-border-radius);
|
|
29
20
|
background-color: var(--chat-footer-background-color);
|
|
@@ -52,10 +43,9 @@ button {
|
|
|
52
43
|
background-color: transparent;
|
|
53
44
|
color: var(--icon-fill-color);
|
|
54
45
|
fill: var(--icon-fill-color);
|
|
55
|
-
height: var(--chat-footer-height);
|
|
46
|
+
// height: var(--chat-footer-height);
|
|
56
47
|
|
|
57
48
|
display: flex;
|
|
58
|
-
align-self: flex-end;
|
|
59
49
|
// margin: 0 8px;
|
|
60
50
|
width: 34px;
|
|
61
51
|
text-align: center;
|
|
@@ -75,6 +65,7 @@ button {
|
|
|
75
65
|
justify-content: center;
|
|
76
66
|
align-items: center;
|
|
77
67
|
padding: 0px;
|
|
68
|
+
z-index: 0;
|
|
78
69
|
}
|
|
79
70
|
|
|
80
71
|
.mic-button svg {
|
package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.html
CHANGED
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
<!-- ICON ATTACHMENT -->
|
|
28
28
|
<label *ngIf="showAttachmentFooterButton" tabindex="1502" aria-label="allegati" for="chat21-file" class="chat21-textarea-button" [class.active]="!isFilePendingToUpload && !hideTextReply" id="chat21-start-upload-doc">
|
|
29
29
|
<span class="v-align-center">
|
|
30
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24" viewBox="0 0 24 24" >
|
|
31
|
-
<path d="
|
|
30
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24" viewBox="0 0 24 24" fill="currentColor">
|
|
31
|
+
<path d="M9.9,22.7c0,0-.1,0-.2,0-1.9.3-3.7-.2-5.2-1.4-3-2.3-3.6-6.4-1.4-9.5L9.5,2.5c.4-.5,1.1-.6,1.6-.3.5.4.6,1.1.3,1.6l-6.5,9.4c-1.4,2-1,4.8.9,6.3,1,.8,2.2,1.1,3.5.9,1.3-.2,2.4-.9,3.1-1.9l6-8.7c.9-1.2.6-3-.6-3.9-.6-.5-1.4-.6-2.1-.5-.8.1-1.4.5-1.9,1.1l-5.8,8.2c-.3.5-.2,1.1.2,1.5.2.2.5.3.8.2.3,0,.6-.2.7-.4l4.7-6.2c.4-.5,1.1-.6,1.6-.2.5.4.6,1.1.2,1.6l-4.7,6.2c-.5.7-1.4,1.2-2.3,1.3-.9.1-1.8-.2-2.5-.7-1.4-1.1-1.6-3.1-.6-4.6l5.8-8.2c.8-1.1,2-1.9,3.4-2.1,1.4-.2,2.7.1,3.8,1,2.2,1.7,2.7,4.8,1.1,7.1l-6,8.7c-1.1,1.5-2.6,2.5-4.4,2.8h0Z"/>
|
|
32
32
|
</svg>
|
|
33
33
|
</span>
|
|
34
34
|
<input
|
|
@@ -47,11 +47,16 @@
|
|
|
47
47
|
<!-- ICON EMOJII -->
|
|
48
48
|
<label *ngIf="showEmojiFooterButton" tabindex="1504" aria-label="emojii" for="chat21-emojii" class="chat21-textarea-button" [class.active]="!isFilePendingToUpload && !hideTextReply" id="chat21-emoticon-picker" (click)="onEmojiiPickerClicked()">
|
|
49
49
|
<span class="v-align-center">
|
|
50
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
|
51
|
-
<path
|
|
50
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="currentColor">
|
|
51
|
+
<path stroke-width=".4px" stroke="currentColor" d="M12,20.8c-5.1,0-9.3-4.2-9.3-9.3S6.9,2.2,12,2.2s9.3,4.2,9.3,9.3-4.2,9.3-9.3,9.3ZM12,3.6c-4.4,0-7.9,3.6-7.9,7.9s3.6,7.9,7.9,7.9,7.9-3.6,7.9-7.9-3.6-7.9-7.9-7.9Z"/>
|
|
52
|
+
<path stroke-width=".4px" stroke="currentColor" d="M12,17.2c-2.7,0-4.3-1.9-4.6-2.3-.2-.3-.2-.7.1-1s.7-.2,1,.1c.1.2,1.4,1.8,3.5,1.8s2.2,0,3.5-1.8c.2-.3.7-.4,1-.1s.4.7.1,1c-1.7,2.2-4.1,2.3-4.6,2.3Z"/>
|
|
53
|
+
<path d="M8.7,10.9c-.9,0-1.6-.7-1.6-1.6s.7-1.6,1.6-1.6,1.6.7,1.6,1.6-.7,1.6-1.6,1.6Z"/>
|
|
54
|
+
<path d="M15.5,10.9c-.9,0-1.6-.7-1.6-1.6s.7-1.6,1.6-1.6,1.6.7,1.6,1.6-.7,1.6-1.6,1.6Z"/>
|
|
55
|
+
|
|
56
|
+
<!-- <path d="M0,0H20.57V20.57H0V0Z" fill="none"/>
|
|
52
57
|
<circle cx="15.02" cy="9.86" r="1.29"/>
|
|
53
58
|
<circle cx="9.02" cy="9.86" r="1.29"/>
|
|
54
|
-
<path d="M12.02,15.43c-1.27,0-2.36-.69-2.96-1.71h-1.43c.69,1.76,2.39,3,4.39,3s3.7-1.24,4.39-3h-1.43c-.6,1.02-1.69,1.71-2.96,1.71Zm0-12C7.28,3.43,3.45,7.27,3.45,12s3.83,8.57,8.56,8.57,8.58-3.84,8.58-8.57S16.75,3.43,12.01,3.43Zm0,15.43c-3.79,0-6.86-3.07-6.86-6.86s3.07-6.86,6.86-6.86,6.86,3.07,6.86,6.86-3.07,6.86-6.86,6.86Z"/>
|
|
59
|
+
<path d="M12.02,15.43c-1.27,0-2.36-.69-2.96-1.71h-1.43c.69,1.76,2.39,3,4.39,3s3.7-1.24,4.39-3h-1.43c-.6,1.02-1.69,1.71-2.96,1.71Zm0-12C7.28,3.43,3.45,7.27,3.45,12s3.83,8.57,8.56,8.57,8.58-3.84,8.58-8.57S16.75,3.43,12.01,3.43Zm0,15.43c-3.79,0-6.86-3.07-6.86-6.86s3.07-6.86,6.86-6.86,6.86,3.07,6.86,6.86-3.07,6.86-6.86,6.86Z"/> -->
|
|
55
60
|
</svg>
|
|
56
61
|
</span>
|
|
57
62
|
</label>
|
|
@@ -85,8 +90,8 @@
|
|
|
85
90
|
<!-- ICON SEND -->
|
|
86
91
|
<div *ngIf="(textInputTextArea !== '' && !isStopRec) || !showAudioRecorderFooterButton" tabindex="-1" class="chat21-textarea-button" [class.disabled]="showAlertEmoji || showAlertUrl" [class.active]="textInputTextArea && !hideTextReply" id="chat21-button-send" (click)="onSendPressed($event)">
|
|
87
92
|
<span class="v-align-center">
|
|
88
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="24" width="24" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
|
89
|
-
<path d="M1.8,
|
|
93
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="24" width="24" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" fill="currentColor">
|
|
94
|
+
<path class="cls-1" d="M1.8,20.6V3.4l20.2,8.6L1.8,20.6ZM3.9,17.3l12.6-5.4L3.9,6.6v3.7l6.4,1.6-6.4,1.6v3.8ZM3.9,17.3V6.6v10.7Z"/>
|
|
90
95
|
</svg>
|
|
91
96
|
</span>
|
|
92
97
|
</div>
|
|
@@ -107,7 +112,7 @@
|
|
|
107
112
|
<!-- EMOJII PICKER-->
|
|
108
113
|
<div [style.visibility]="isEmojiiPickerShow?'visible':'hidden'" class="emoji-container" id="emoji-mart-container" #emoji_mart_container>
|
|
109
114
|
<!-- <ng-container #emojii_container></ng-container> -->
|
|
110
|
-
|
|
115
|
+
<emoji-mart id="emoji-mart"
|
|
111
116
|
*ngIf="showEmojiPicker"
|
|
112
117
|
class="emoji-mart"
|
|
113
118
|
[showPreview]="emojiiOptions?.showPreview"
|
package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.scss
CHANGED
|
@@ -6,9 +6,8 @@
|
|
|
6
6
|
display: flex;
|
|
7
7
|
// width: 100%;
|
|
8
8
|
align-items: center;
|
|
9
|
-
gap: 8px;
|
|
10
9
|
justify-content: space-between;
|
|
11
|
-
|
|
10
|
+
gap: 8px;
|
|
12
11
|
|
|
13
12
|
//if attachment icon OR emoji icon is not in DOM -> increment textarea width
|
|
14
13
|
&:has(:not(#chat21-start-upload-doc), :not(#chat21-emoticon-picker)) .visible-text-area {
|
|
@@ -23,15 +22,15 @@
|
|
|
23
22
|
|
|
24
23
|
.icons-container{
|
|
25
24
|
display: flex;
|
|
26
|
-
align-self: flex-end;
|
|
25
|
+
// align-self: flex-end;
|
|
27
26
|
// margin-left: 8px;
|
|
28
27
|
// margin-right: 8px;
|
|
29
|
-
gap:
|
|
28
|
+
gap: 4px;
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
.visible-text-area {
|
|
33
32
|
width: 70%;
|
|
34
|
-
margin:
|
|
33
|
+
// margin: 12px 0px;
|
|
35
34
|
pointer-events: auto;
|
|
36
35
|
border-radius: var(--chat-footer-border-radius);
|
|
37
36
|
background-color: var(--chat-footer-background-color);
|
|
@@ -44,9 +43,10 @@
|
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
.chat21-textarea-button {
|
|
47
|
-
fill: var(--icon-fill-color);
|
|
46
|
+
// fill: var(--icon-fill-color);
|
|
47
|
+
color: var(--icon-fill-color);
|
|
48
48
|
pointer-events: auto;
|
|
49
|
-
height: var(--chat-footer-height);
|
|
49
|
+
// height: var(--chat-footer-height);
|
|
50
50
|
bottom: 22px;
|
|
51
51
|
opacity: 0.3;
|
|
52
52
|
cursor: initial;
|
|
@@ -206,7 +206,7 @@ textarea:active{
|
|
|
206
206
|
|
|
207
207
|
#chat21-button-send {
|
|
208
208
|
display: flex;
|
|
209
|
-
align-self: flex-end;
|
|
209
|
+
// align-self: flex-end;
|
|
210
210
|
// margin: 0 8px;
|
|
211
211
|
width: 34px;
|
|
212
212
|
text-align: center;
|
|
@@ -218,7 +218,7 @@ textarea:active{
|
|
|
218
218
|
width: 34px;
|
|
219
219
|
text-align: center;
|
|
220
220
|
justify-content: center;
|
|
221
|
-
height: var(--chat-footer-height);
|
|
221
|
+
// height: var(--chat-footer-height);
|
|
222
222
|
&.active{
|
|
223
223
|
width: 100%;
|
|
224
224
|
}
|
|
@@ -392,20 +392,20 @@ textarea:active{
|
|
|
392
392
|
|
|
393
393
|
|
|
394
394
|
.emoji-container {
|
|
395
|
-
height:
|
|
395
|
+
height: 319px;
|
|
396
396
|
position: absolute;
|
|
397
397
|
overflow: hidden;
|
|
398
|
-
width:
|
|
398
|
+
width: 338px;
|
|
399
399
|
bottom: 100%;
|
|
400
400
|
z-index: 10;
|
|
401
401
|
left: 10px;
|
|
402
|
-
box-shadow:
|
|
403
|
-
-webkit-box-shadow:
|
|
402
|
+
box-shadow: 0 -4px 14px -13px rgba(0, 0, 0 , 0.38);
|
|
403
|
+
-webkit-box-shadow: 0 -4px 14px -13px rgba(0, 0, 0 , 0.38);
|
|
404
404
|
}
|
|
405
405
|
.emoji-mart {
|
|
406
406
|
position: absolute;
|
|
407
407
|
// bottom: 40px;
|
|
408
408
|
// left: 10px;
|
|
409
409
|
border: none;
|
|
410
|
-
margin: -2px -2px 0px;
|
|
410
|
+
// margin: -2px -2px 0px;
|
|
411
411
|
}
|
package/src/app/component/conversation-detail/conversation-header/conversation-header.component.html
CHANGED
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
<span class="label-menu-item">{{ translationMap?.get('MAXIMIZE') }}</span>
|
|
133
133
|
</div>
|
|
134
134
|
<!-- ICON MINIMIZE -->
|
|
135
|
-
<div class="c21-header-button c21-right" *ngIf="heightStatus==='max' || heightStatus==='
|
|
135
|
+
<div class="c21-header-button c21-right" *ngIf="heightStatus==='max' || heightStatus==='top' || fullscreenMode" (click)="onChangeSize('min')">
|
|
136
136
|
<svg role="img" aria-labelledby="altIconTitle" class="icon-menu" fill="none" xmlns="http://www.w3.org/2000/svg" transform="matrix(-1,0,0,1,0,0)"
|
|
137
137
|
width="17" height="17" viewBox="0 0 17 17">
|
|
138
138
|
<path d="M13.59 5.31h-1.7l3.3-3.3-1.2-1.2-3.3 3.3v-1.7a.85.85 0 1 0-1.7 0v4.6h4.6a.85.85 0 1 0 0-1.7M1.57 9.84c0 .47.38.85.85.85h1.7l-3.3 3.3 1.2 1.2 3.3-3.3v1.7a.85.85 0 1 0 1.7 0v-4.6h-4.6a.85.85 0 0 0-.85.85" fill="currentColor"></path>
|
|
@@ -141,8 +141,8 @@
|
|
|
141
141
|
<span class="label-menu-item">{{ translationMap?.get('MINIMIZE') }}</span>
|
|
142
142
|
</div>
|
|
143
143
|
|
|
144
|
-
<!--
|
|
145
|
-
<div class="c21-header-button c21-right" *ngIf="heightStatus!=='
|
|
144
|
+
<!-- ICON TOP -->
|
|
145
|
+
<!-- <div class="c21-header-button c21-right" *ngIf="heightStatus!=='top' && !fullscreenMode" (click)="onChangeSize('top')">
|
|
146
146
|
<svg role="img" aria-labelledby="altIconTitle" fill="none" xmlns="http://www.w3.org/2000/svg" transform="matrix(-1,0,0,1,0,0)"
|
|
147
147
|
width="17" height="17" viewBox="0 0 17 17">
|
|
148
148
|
<path fill="currentColor" d="M6.5,8.3l-2.8,2.8v-1.7c0-.5-.4-.9-.9-.9s-.8.4-.8.9v4.6h4.6c.5,0,.8-.4.8-.9s-.4-.8-.8-.8h-1.7l2.8-2.8-1.2-1.2ZM9.4,2c-.5,0-.8.4-.8.8s.4.9.8.9h1.7l-2.8,2.8,1.2,1.2,2.8-2.8v1.7c0,.5.4.8.8.8s.9-.4.9-.8V2h-4.6Z"/>
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
<title id="altIconTitle">{{ translationMap?.get('FULLSCREEN') }}</title>
|
|
151
151
|
</svg>
|
|
152
152
|
<span class="label-menu-item">{{ translationMap?.get('FULLSCREEN') }}</span>
|
|
153
|
-
</div>
|
|
153
|
+
</div> -->
|
|
154
154
|
|
|
155
155
|
<!-- ICON LOGOUT -->
|
|
156
156
|
<div class="c21-header-button c21-right" *ngIf="!hideSignOutOptionMenu" (click)="signOut()">
|
package/src/app/component/conversation-detail/conversation-header/conversation-header.component.ts
CHANGED
|
@@ -110,7 +110,7 @@ export class ConversationHeaderComponent implements OnInit, OnChanges {
|
|
|
110
110
|
this.heightStatus = status
|
|
111
111
|
if(status === 'min') this.onMenuOptionClick.emit(HEADER_MENU_OPTION.MINIMIZE)
|
|
112
112
|
if(status === 'max') this.onMenuOptionClick.emit(HEADER_MENU_OPTION.MAXIMIZE)
|
|
113
|
-
if(status === '
|
|
113
|
+
if(status === 'top') this.onMenuOptionClick.emit(HEADER_MENU_OPTION.TOP)
|
|
114
114
|
this.onMenuOptionShow.emit(false)
|
|
115
115
|
}
|
|
116
116
|
toggleSound() {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
.c21-header {
|
|
16
16
|
overflow: hidden;
|
|
17
17
|
width: 100%;
|
|
18
|
-
height:
|
|
18
|
+
height: var(--chat-header-height);
|
|
19
19
|
position: relative;
|
|
20
20
|
margin: 0;
|
|
21
21
|
padding: 0;
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
|
|
65
65
|
.c21-header-container{
|
|
66
66
|
position: relative;
|
|
67
|
-
height:
|
|
67
|
+
height: 100%;
|
|
68
68
|
width: 100%;
|
|
69
69
|
margin: 0 auto;
|
|
70
70
|
|
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
--hoverTextColor: #{var(--blue)};
|
|
6
6
|
--buttonFontSize: #{var(--button-in-msg-font-size)};
|
|
7
7
|
--max-width: #{var(--button-in-msg-max-width)};
|
|
8
|
+
--padding: #{var(--button-in-msg-padding)};
|
|
8
9
|
--fontFamily: #{var(--button-in-msg-font-family)};
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
.button-in-msg {
|
|
12
|
-
padding:
|
|
13
|
-
position: relative;
|
|
13
|
+
padding: var(--padding);
|
|
14
|
+
// position: relative;
|
|
14
15
|
max-width: var(--max-width);
|
|
15
16
|
min-width: inherit;
|
|
16
17
|
cursor: pointer;
|
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
--hoverTextColor: #{var(--blue)};
|
|
6
6
|
--buttonFontSize: #{var(--button-in-msg-font-size)};
|
|
7
7
|
--max-width: #{var(--button-in-msg-max-width)};
|
|
8
|
+
--padding: #{var(--button-in-msg-padding)};
|
|
8
9
|
--font-family: #{var(--button-in-msg-font-family)};
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
.button-in-msg {
|
|
12
|
-
padding:
|
|
13
|
+
padding: var(--padding);
|
|
13
14
|
position: relative;
|
|
14
15
|
max-width: var(--max-width);
|
|
15
16
|
min-width: inherit;
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
--hoverTextColor: #{var(--blue)};
|
|
6
6
|
--buttonFontSize: #{var(--button-in-msg-font-size)};
|
|
7
7
|
--max-width: #{var(--button-in-msg-max-width)};
|
|
8
|
+
--padding: #{var(--button-in-msg-padding)};
|
|
8
9
|
--font-family: #{var(--button-in-msg-font-family)};
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
.button-in-msg {
|
|
13
14
|
|
|
14
|
-
padding:
|
|
15
|
+
padding: var(--padding);
|
|
15
16
|
position: relative;
|
|
16
17
|
max-width: var(--max-width);
|
|
17
18
|
min-width: inherit;
|
|
@@ -760,13 +760,19 @@ export class GlobalSettingsService {
|
|
|
760
760
|
TEMP = tiledeskSettings['fullscreenMode'];
|
|
761
761
|
// this.logger.debug('[GLOBAL-SET] setVariablesFromSettings > fullscreenMode:: ', TEMP);
|
|
762
762
|
if (TEMP !== undefined) {
|
|
763
|
-
globals.fullscreenMode = TEMP;
|
|
763
|
+
globals.fullscreenMode = (TEMP === true) ? true : false;
|
|
764
764
|
// globals.setParameter('fullscreenMode', TEMP);
|
|
765
765
|
}
|
|
766
766
|
TEMP = tiledeskSettings['hideHeaderCloseButton'];
|
|
767
767
|
// this.logger.debug('[GLOBAL-SET] setVariablesFromSettings > hideHeaderCloseButton:: ', TEMP);
|
|
768
768
|
if (TEMP !== undefined) {
|
|
769
|
-
globals.hideHeaderCloseButton = TEMP;
|
|
769
|
+
globals.hideHeaderCloseButton = (TEMP === true) ? true : false;
|
|
770
|
+
// globals.setParameter('hideHeaderCloseButton', TEMP);
|
|
771
|
+
}
|
|
772
|
+
TEMP = tiledeskSettings['hideHeaderConversation'];
|
|
773
|
+
// this.logger.debug('[GLOBAL-SET] setVariablesFromSettings > hideHeaderCloseButton:: ', TEMP);
|
|
774
|
+
if (TEMP !== undefined) {
|
|
775
|
+
globals.hideHeaderConversation = (TEMP === true) ? true : false;
|
|
770
776
|
// globals.setParameter('hideHeaderCloseButton', TEMP);
|
|
771
777
|
}
|
|
772
778
|
TEMP = tiledeskSettings['themeColor'];
|
|
@@ -1510,6 +1516,11 @@ export class GlobalSettingsService {
|
|
|
1510
1516
|
globals.hideHeaderCloseButton = stringToBoolean(TEMP);
|
|
1511
1517
|
}
|
|
1512
1518
|
|
|
1519
|
+
TEMP = getParameterByName(windowContext, 'tiledesk_hideHeaderConversation');
|
|
1520
|
+
if (TEMP) {
|
|
1521
|
+
globals.hideHeaderConversation = stringToBoolean(TEMP);
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1513
1524
|
TEMP = getParameterByName(windowContext, 'tiledesk_themeColor');
|
|
1514
1525
|
if (TEMP) {
|
|
1515
1526
|
const themecolor = stringToBoolean(TEMP);
|
|
@@ -22,12 +22,15 @@
|
|
|
22
22
|
--button-in-msg-font-size: 15px;
|
|
23
23
|
--button-in-msg-font-family: 'Roboto','Google Sans', Helvetica, Arial, sans-serif;
|
|
24
24
|
--button-in-msg-max-width: 280px;
|
|
25
|
+
--button-in-msg-padding: 8px 16px;
|
|
25
26
|
|
|
26
27
|
--max-width-images: 230px; //change also MAX_WIDTH_IMAGES in constants.ts
|
|
27
28
|
|
|
28
29
|
--bkg-color-info-message: rgba(24, 119, 242, 0.1);
|
|
29
30
|
|
|
30
|
-
--chat-
|
|
31
|
+
--chat-header-height: 52px;
|
|
32
|
+
|
|
33
|
+
--chat-footer-height: 64px;
|
|
31
34
|
--chat-footer-logo-height: 30px;
|
|
32
35
|
--chat-footer-border-radius: 16px;
|
|
33
36
|
--chat-footer-background-color: #f6f7fb;
|
package/src/app/utils/globals.ts
CHANGED
|
@@ -135,7 +135,6 @@ export class Globals {
|
|
|
135
135
|
userEmail: string;
|
|
136
136
|
widgetTitle: string;
|
|
137
137
|
fullscreenMode: boolean;
|
|
138
|
-
hideHeaderCloseButton: boolean;
|
|
139
138
|
themeColor: string;
|
|
140
139
|
themeColorOpacity: number;
|
|
141
140
|
themeForegroundColor: string;
|
|
@@ -161,6 +160,8 @@ export class Globals {
|
|
|
161
160
|
baloonShape: string;
|
|
162
161
|
isLogEnabled: boolean;
|
|
163
162
|
openExternalLinkButton: boolean;
|
|
163
|
+
hideHeaderConversation: boolean
|
|
164
|
+
hideHeaderCloseButton: boolean;
|
|
164
165
|
hideHeaderConversationOptionsMenu: boolean;
|
|
165
166
|
hideCloseConversationOptionMenu: boolean;
|
|
166
167
|
hideSettings: boolean;
|
|
@@ -291,9 +292,6 @@ export class Globals {
|
|
|
291
292
|
* average response time of his team (if 'dynamicWaitTimeReply' is
|
|
292
293
|
* false the WAITING_TIME_NOT_FOUND will always be displayed)
|
|
293
294
|
* is set to true for backward compatibility with old projects */
|
|
294
|
-
this.hideHeaderCloseButton = false;
|
|
295
|
-
/** Hide the close button in the widget header. Permitted values: true,
|
|
296
|
-
false. The default value is false. */
|
|
297
295
|
this.fullscreenMode = false;
|
|
298
296
|
/** if it is true, the chat window is open in fullscreen mode. Permitted
|
|
299
297
|
values: true, false. Default value : false */
|
|
@@ -336,6 +334,12 @@ export class Globals {
|
|
|
336
334
|
this.isLogEnabled = false;
|
|
337
335
|
// this.parameters['isLogEnabled'] = false;
|
|
338
336
|
this.openExternalLinkButton = true;
|
|
337
|
+
/** Hide the header conversation Permitted values: true,
|
|
338
|
+
false. The default value is false. */
|
|
339
|
+
this.hideHeaderConversation= false;
|
|
340
|
+
/** Hide the close button in the widget header. Permitted values: true,
|
|
341
|
+
false. The default value is false. */
|
|
342
|
+
this.hideHeaderCloseButton = false;
|
|
339
343
|
/** enable to hide/show upper-right header conversation options menu */
|
|
340
344
|
this.hideHeaderConversationOptionsMenu = false;
|
|
341
345
|
/** enable to close a conversation from upper-right header menu */
|
|
@@ -534,7 +538,7 @@ export class Globals {
|
|
|
534
538
|
'fullscreenMode': this.fullscreenMode,
|
|
535
539
|
'filterByRequester': this.filterByRequester,
|
|
536
540
|
'hideHeaderConversationOptionsMenu': this.hideHeaderConversationOptionsMenu, 'hideHeaderCloseButton': this.hideHeaderCloseButton,
|
|
537
|
-
'hideCloseConversationOptionMenu': this.hideCloseConversationOptionMenu,
|
|
541
|
+
'hideCloseConversationOptionMenu': this.hideCloseConversationOptionMenu, 'hideHeaderConversation': this.hideHeaderConversation,
|
|
538
542
|
'hideSettings': this.hideSettings,
|
|
539
543
|
'isLogEnabled': this.isLogEnabled,
|
|
540
544
|
'isOpen': this.isOpen, 'isShown': this.isShown,
|
|
@@ -1249,6 +1249,13 @@
|
|
|
1249
1249
|
window.Tiledesk('restart')
|
|
1250
1250
|
}
|
|
1251
1251
|
|
|
1252
|
+
function onClickHideHeaderConversation(){
|
|
1253
|
+
let status = document.querySelector('input[name="hideHeaderConversation"]:checked').value
|
|
1254
|
+
window.tiledeskSettings['hideHeaderConversation'] = stringToBoolean(status)
|
|
1255
|
+
console.log('onClickHideHeaderConversation: status-->',window.tiledeskSettings);
|
|
1256
|
+
window.Tiledesk('restart')
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1252
1259
|
function onClickHideHeaderCloseButton(){
|
|
1253
1260
|
let status = document.querySelector('input[name="hideHeaderCloseButton"]:checked').value
|
|
1254
1261
|
window.tiledeskSettings['hideHeaderCloseButton'] = stringToBoolean(status)
|
|
@@ -2245,6 +2252,16 @@
|
|
|
2245
2252
|
|
|
2246
2253
|
|
|
2247
2254
|
<div><h3 style="line-height: 0.3;">MANAGE <em><strong>CONVERSATION DETAIL</strong></em></h3></div>
|
|
2255
|
+
<div class="row">
|
|
2256
|
+
<div class="col-md-5 formElement"><span><em><strong>hideHeaderConversation</strong></em></span></div>
|
|
2257
|
+
<div class="col-md-5">
|
|
2258
|
+
<input class="form-check-input" type="radio" name="hideHeaderConversation" value="true"><label>True</label>
|
|
2259
|
+
<input class="form-check-input" type="radio" name="hideHeaderConversation" value="false" checked><label>False</label>
|
|
2260
|
+
</div>
|
|
2261
|
+
<div class="col-md-2">
|
|
2262
|
+
<button class="btn btn-light" onclick="onClickHideHeaderConversation()">Test this setting <i class="fa fa-magic" aria-hidden="true"></i></button>
|
|
2263
|
+
</div>
|
|
2264
|
+
</div>
|
|
2248
2265
|
<div class="row">
|
|
2249
2266
|
<div class="col-md-5 formElement"><span><em><strong>hideHeaderCloseButton</strong></em></span></div>
|
|
2250
2267
|
<div class="col-md-5">
|
package/src/iframe-style.css
CHANGED
|
@@ -34,10 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
|
|
38
37
|
#tiledeskdiv.fullscreen {
|
|
39
|
-
/* transition: width 1s, height 1s; */
|
|
40
|
-
/* transition: all 0.5s ease-in !important; */
|
|
41
38
|
right: 0px;
|
|
42
39
|
left: 0px;
|
|
43
40
|
top: 0px;
|
|
@@ -45,6 +42,17 @@
|
|
|
45
42
|
width: 100%;
|
|
46
43
|
height: 100%;
|
|
47
44
|
}
|
|
45
|
+
|
|
46
|
+
#tiledeskdiv.top {
|
|
47
|
+
/* transition: width 1s, height 1s; */
|
|
48
|
+
/* transition: all 0.5s ease-in !important; */
|
|
49
|
+
position: fixed;
|
|
50
|
+
top: 50%;
|
|
51
|
+
left: 50%;
|
|
52
|
+
width: var(--iframeMaxWidth);
|
|
53
|
+
height: var(--iframeMaxHeight);
|
|
54
|
+
transform: translate(-50%, -50%);
|
|
55
|
+
}
|
|
48
56
|
|
|
49
57
|
|
|
50
58
|
@keyframes right-animate {
|
|
@@ -106,14 +114,14 @@
|
|
|
106
114
|
}
|
|
107
115
|
|
|
108
116
|
#tiledesk-container.open #tiledeskdiv.decreaseSize {
|
|
109
|
-
transition:
|
|
117
|
+
transition: width 200ms, height 200ms, max-height 200ms, transform 300ms cubic-bezier(0, 1.2, 1, 1), opacity 83ms ease-out;
|
|
110
118
|
width: var(--iframeMinWidth);
|
|
111
119
|
height: var(--iframeMinHeight);
|
|
112
120
|
}
|
|
113
121
|
|
|
114
122
|
#tiledesk-container.open #tiledeskdiv.increaseSize {
|
|
115
123
|
/* transition: width 1s, height 1s; */
|
|
116
|
-
transition:
|
|
124
|
+
transition: width 200ms, height 200ms, max-height 200ms, transform 300ms cubic-bezier(0, 1.2, 1, 1), opacity 83ms ease-out;
|
|
117
125
|
width: var(--iframeMaxWidth);
|
|
118
126
|
height: var(--iframeMaxHeight);
|
|
119
127
|
}
|