@chat21/chat21-web-widget 5.1.0-rc17 → 5.1.0-rc19

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 (27) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/package.json +1 -1
  3. package/src/app/app.component.scss +1 -87
  4. package/src/app/component/conversation-detail/conversation/conversation.component.html +2 -2
  5. package/src/app/component/conversation-detail/conversation/conversation.component.scss +1 -5
  6. package/src/app/component/conversation-detail/conversation/conversation.component.ts +21 -18
  7. package/src/app/component/conversation-detail/conversation-content/conversation-content.component.scss +46 -30
  8. package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.scss +2 -2
  9. package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts +0 -5
  10. package/src/app/component/conversation-detail/conversation-header/conversation-header.component.html +21 -10
  11. package/src/app/component/conversation-detail/conversation-header/conversation-header.component.ts +3 -1
  12. package/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.scss +1 -1
  13. package/src/app/component/home/home.component.scss +1 -3
  14. package/src/app/component/message/buttons/action-button/action-button.component.scss +2 -1
  15. package/src/app/component/message/buttons/link-button/link-button.component.scss +2 -1
  16. package/src/app/component/message/buttons/text-button/text-button.component.scss +2 -1
  17. package/src/app/component/message/carousel/carousel.component.scss +2 -1
  18. package/src/app/component/message/html/html.component.scss +1 -1
  19. package/src/app/component/star-rating-widget/star-rating-widget.component.scss +0 -5
  20. package/src/app/providers/global-settings.service.ts +16 -10
  21. package/src/app/sass/_variables.scss +5 -0
  22. package/src/app/utils/constants.ts +2 -1
  23. package/src/assets/i18n/en.json +3 -2
  24. package/src/assets/i18n/es.json +3 -2
  25. package/src/assets/i18n/fr.json +3 -2
  26. package/src/assets/i18n/it.json +3 -2
  27. package/src/iframe-style.css +27 -10
package/CHANGELOG.md CHANGED
@@ -6,6 +6,19 @@
6
6
  ### **Copyrigth**:
7
7
  *Tiledesk SRL*
8
8
 
9
+ # 5.1.0-rc18
10
+ - **added**: ability to maximize, minimize and fullscreen the widget window
11
+ - **added**: variable for font-family attribute css value
12
+
13
+ # 5.0.102
14
+ - **bug-fixed**: cannot add message if array is empty
15
+
16
+ # 5.0.101
17
+ - **bug-fixed**: removed private note msgs
18
+
19
+ # 5.1.0-rc18
20
+ - **bug-fixed**: allowedOnSpecificUrl
21
+
9
22
  # 5.1.0-rc17
10
23
  - **added**: allowedOnSpecificUrl and allowedOnSpecificUrlList to manage list of pattern url to allow to load the widget
11
24
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chat21/chat21-web-widget",
3
3
  "author": "Tiledesk SRL",
4
- "version": "5.1.0-rc17",
4
+ "version": "5.1.0-rc19",
5
5
  "license": "MIT",
6
6
  "homepage": "https://www.tiledesk.com",
7
7
  "repository": {
@@ -43,7 +43,6 @@ input, select:focus, textarea {
43
43
 
44
44
  :host {
45
45
  --button-in-msg-background-color: --black;
46
- --button-in-msg-font-size: 15px;
47
46
  }
48
47
 
49
48
 
@@ -134,39 +133,6 @@ textarea::placeholder {
134
133
  font-weight: 300;
135
134
  }
136
135
 
137
- .msg_container{
138
- .button-in-msg {
139
- color: white!important;
140
- background: var(--button-in-msg-background-color) !important;
141
-
142
- position: relative;
143
- max-width: 300px;
144
- min-width: inherit;
145
- padding: 8px 16px;
146
- cursor: auto;
147
- border: 1px solid rgb(255, 255, 255);
148
- border-radius: 20px!important;
149
- margin: 3px;
150
- overflow: hidden;
151
- font-family: 'Muli', sans-serif;
152
- font-size: 15px;
153
- -o-text-overflow: ellipsis;
154
- text-overflow: ellipsis;
155
- white-space: normal;
156
- letter-spacing: -0.24px;
157
- -webkit-font-smoothing: antialiased;
158
- .message_innerhtml{
159
- // padding: 0px 14px!important;
160
- }
161
- p{
162
- font-size: var(--button-in-msg-font-size)!important;
163
- font-family: 'Muli', sans-serif!important;
164
- font-weight: normal!important;
165
- }
166
- }
167
-
168
- }
169
-
170
136
 
171
137
  // TOOLTIP: start
172
138
  .tooltip-container {
@@ -507,59 +473,7 @@ chat-root {
507
473
  }
508
474
  }
509
475
  }
510
- /* LOADING */
511
- /*http://tobiasahlin.com/spinkit/*/
512
- #chat21-spinner {
513
- display: none;
514
- width: 70px;
515
- min-height: 20px;
516
- margin: 20px auto 0;
517
- text-align: center;
518
- }
519
- #chat21-spinner.active {
520
- display: block;
521
- }
522
- #chat21-spinner > div {
523
- width: 12px;
524
- height: 12px;
525
- background-color: var(--blue);
526
- border-radius: 100%;
527
- display: inline-block;
528
- -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
529
- animation: sk-bouncedelay 1.4s infinite ease-in-out both;
530
- }
531
- #chat21-spinner .chat21-bounce1 {
532
- -webkit-animation-delay: -0.32s;
533
- animation-delay: -0.32s;
534
- }
535
- #chat21-spinner .chat21-bounce2 {
536
- -webkit-animation-delay: -0.16s;
537
- animation-delay: -0.16s;
538
- }
539
- #chat21-spinner span {
540
- display: block;
541
- margin: 0.5em 0 0 0;
542
- color: var(--black);
543
- /* text-transform: uppercase; */
544
- font-family: 'Roboto', sans-serif;
545
- -webkit-animation: pulse 2000ms linear infinite;
546
- -moz-animation: pulse 2000ms linear infinite;
547
- animation: pulse 2000ms linear infinite;
548
- text-align: center;
549
- }
550
- @-webkit-keyframes sk-bouncedelay {
551
- 0%, 80%, 100% { -webkit-transform: scale(0) }
552
- 40% { -webkit-transform: scale(1.0) }
553
- }
554
- @keyframes sk-bouncedelay {
555
- 0%, 80%, 100% {
556
- -webkit-transform: scale(0);
557
- transform: scale(0);
558
- } 40% {
559
- -webkit-transform: scale(1.0);
560
- transform: scale(1.0);
561
- }
562
- }
476
+
563
477
  // ========= END: GENERIC CSS ========= //
564
478
 
565
479
  /* CSS BOX CONTAINER */
@@ -18,6 +18,7 @@
18
18
  [hideHeaderConversationOptionsMenu]="g?.hideHeaderConversationOptionsMenu"
19
19
  [hideSignOutOptionMenu]="(!g?.singleConversation || !g?.showLogoutOption)"
20
20
  [hideChatDetailOptionMenu]="(!g?.isDevMode)"
21
+ [fullscreenMode]="g?.fullscreenMode"
21
22
  [stylesMap]="stylesMap"
22
23
  [translationMap]="translationMapHeader"
23
24
  [widgetTitle]="g?.project?.widgetTitle"
@@ -135,8 +136,7 @@
135
136
  (onAfterSendMessage)="onAfterSendMessageFN($event)"
136
137
  (onChangeTextArea)="onChangeTextArea($event)"
137
138
  (onAttachmentFileButtonClicked)="onAttachmentFileButtonClicked($event)"
138
- (onNewConversationButtonClicked)="onNewConversationButtonClickedFN($event)"
139
- (onBackButton)="onBackButton($event)">
139
+ (onNewConversationButtonClicked)="onNewConversationButtonClickedFN($event)">
140
140
  </chat-conversation-footer>
141
141
 
142
142
  </div>
@@ -60,7 +60,7 @@
60
60
  font-weight: 500;
61
61
  line-height: 22px;
62
62
 
63
- font-family: Mulish, sans-serif;
63
+ font-family: var(--font-family);
64
64
  letter-spacing: -0.24px;
65
65
  -webkit-font-smoothing: antialiased;
66
66
 
@@ -97,10 +97,6 @@
97
97
  background: white;
98
98
  min-height: 40px;
99
99
 
100
- &.maximize-width{
101
- padding: 8px 0px;
102
- }
103
-
104
100
  &.hideFooterReply{
105
101
  padding: 0px;
106
102
  }
@@ -221,6 +221,7 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
221
221
  'CLOSE',
222
222
  'MAXIMIZE',
223
223
  'MINIMIZE',
224
+ 'FULLSCREEN',
224
225
  'CLOSE_CHAT',
225
226
  'RESTART',
226
227
  'LOGOUT',
@@ -1066,12 +1067,24 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
1066
1067
  // this.hideTextAreaContent = true
1067
1068
  }
1068
1069
  /** CALLED BY: conv-header component */
1069
- onWidgetHeightChange(mode){
1070
+ onWidgetSizeChange(mode){
1070
1071
  var tiledeskDiv = this.g.windowContext.window.document.getElementById('tiledeskdiv')
1071
1072
  if(mode==='max'){
1072
- tiledeskDiv.style.maxHeight = 'unset'
1073
+ tiledeskDiv.classList.add('increaseSize')
1074
+ tiledeskDiv.classList.remove('decreaseSize')
1075
+ tiledeskDiv.classList.remove('fullscreen')
1076
+ this.g.fullscreenMode = false
1073
1077
  }else if(mode==='min'){
1074
- tiledeskDiv.style.maxHeight = '620px'
1078
+ tiledeskDiv.classList.add('decreaseSize')
1079
+ tiledeskDiv.classList.remove('increaseSize')
1080
+ tiledeskDiv.classList.remove('fullscreen')
1081
+ this.g.fullscreenMode = false
1082
+ }else if(mode=== 'fullscreen'){
1083
+ tiledeskDiv.classList.add('fullscreen')
1084
+ tiledeskDiv.classList.remove('increaseSize')
1085
+ tiledeskDiv.classList.remove('decreaseSize')
1086
+ this.g.fullscreenMode = true
1087
+
1075
1088
  }
1076
1089
  this.isMenuShow = false;
1077
1090
  }
@@ -1108,10 +1121,13 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
1108
1121
  this.onRestartChat()
1109
1122
  break;
1110
1123
  case HEADER_MENU_OPTION.MAXIMIZE:
1111
- this.onWidgetHeightChange('max')
1124
+ this.onWidgetSizeChange('max')
1112
1125
  break;
1113
1126
  case HEADER_MENU_OPTION.MINIMIZE:
1114
- this.onWidgetHeightChange('min')
1127
+ this.onWidgetSizeChange('min')
1128
+ break;
1129
+ case HEADER_MENU_OPTION.FULLSCREEN:
1130
+ this.onWidgetSizeChange('fullscreen')
1115
1131
  break;
1116
1132
  }
1117
1133
  }
@@ -1239,19 +1255,6 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
1239
1255
  this.logger.debug('[CONV-COMP] floating onNewConversationButtonClicked')
1240
1256
  this.onNewConversationButtonClicked.emit()
1241
1257
  }
1242
- /** CALLED BY: conv-footer floating-button component */
1243
- onBackButton(event: boolean){
1244
- this.hideTextAreaContent = event;
1245
- try{
1246
- const tiledeskDiv = document.getElementById('chat21-footer')
1247
- tiledeskDiv.classList.remove('maximize-width')
1248
- // tiledeskDiv.style.width = '376px'
1249
- // tiledeskDiv.style.maxHeight = '620px'
1250
- }catch(e){
1251
- this.logger.error('[CONV-COMP] onBackButton > Error :' + e);
1252
- }
1253
-
1254
- }
1255
1258
  // =========== END: event emitter function ====== //
1256
1259
 
1257
1260
 
@@ -36,26 +36,6 @@
36
36
  // box-shadow: inset 0 10px 10px -10px rgba(0,0,0,0.4);
37
37
  position: fixed;
38
38
  .c21-body-container {
39
- .c21-body-header {
40
- .chat21-header-modal-select {
41
- font-family: 'Google Sans', sans-serif !important;
42
- padding: 0px;
43
- background-color: #b9b9b921;
44
- margin: 8px;
45
- line-height: 1.2em;
46
- color: #616161;
47
- font-size: 15px;
48
- text-align: center;
49
- word-wrap: break-word;
50
- border-radius: 8px;
51
- }
52
- .chat21-header-modal-select-more-of-one-dept {
53
- position: relative;
54
- height: auto;
55
- padding: 10px;
56
- margin: 30px 0 0 0;
57
- }
58
- } // end .chat21-sheet-header
59
39
 
60
40
  .c21-body-content {
61
41
  /* no conflict
@@ -284,21 +264,57 @@
284
264
  }// end c21-body-container
285
265
  }// end c21-body
286
266
 
287
-
288
-
289
- // ============= END CSS c21-body ================= //
290
-
267
+ /* LOADING */
268
+ /*http://tobiasahlin.com/spinkit/*/
269
+ #chat21-spinner {
270
+ display: none;
271
+ width: 70px;
272
+ min-height: 20px;
273
+ margin: 20px auto 0;
274
+ text-align: center;
275
+ }
276
+ #chat21-spinner.active {
277
+ display: block;
278
+ }
279
+ #chat21-spinner > div {
280
+ width: 12px;
281
+ height: 12px;
282
+ background-color: var(--blue);
283
+ border-radius: 100%;
284
+ display: inline-block;
285
+ -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
286
+ animation: sk-bouncedelay 1.4s infinite ease-in-out both;
287
+ }
288
+ #chat21-spinner .chat21-bounce1 {
289
+ -webkit-animation-delay: -0.32s;
290
+ animation-delay: -0.32s;
291
+ }
292
+ #chat21-spinner .chat21-bounce2 {
293
+ -webkit-animation-delay: -0.16s;
294
+ animation-delay: -0.16s;
295
+ }
296
+ #chat21-spinner span {
297
+ display: block;
298
+ margin: 0.5em 0 0 0;
299
+ color: var(--black);
300
+ /* text-transform: uppercase; */
301
+ -webkit-animation: pulse 2000ms linear infinite;
302
+ -moz-animation: pulse 2000ms linear infinite;
303
+ animation: pulse 2000ms linear infinite;
304
+ text-align: center;
305
+ }
291
306
  @-webkit-keyframes sk-bouncedelay {
292
307
  0%, 80%, 100% { -webkit-transform: scale(0) }
293
308
  40% { -webkit-transform: scale(1.0) }
294
309
  }
295
-
296
310
  @keyframes sk-bouncedelay {
297
311
  0%, 80%, 100% {
298
- -webkit-transform: scale(0);
299
- transform: scale(0);
312
+ -webkit-transform: scale(0);
313
+ transform: scale(0);
300
314
  } 40% {
301
- -webkit-transform: scale(1.0);
302
- transform: scale(1.0);
315
+ -webkit-transform: scale(1.0);
316
+ transform: scale(1.0);
303
317
  }
304
- }
318
+ }
319
+
320
+ // ============= END CSS c21-body ================= //
@@ -323,7 +323,7 @@ textarea:active{
323
323
  font-weight: 500;
324
324
  line-height: 22px;
325
325
 
326
- font-family: Mulish, sans-serif;
326
+ font-family: var(--font-family);
327
327
  letter-spacing: 0.24px;
328
328
  -webkit-font-smoothing: antialiased;
329
329
  padding: 4px 12px;
@@ -373,7 +373,7 @@ textarea:active{
373
373
  font-size: 1.2em;
374
374
  font-weight: 500;
375
375
  line-height: 22px;
376
- font-family: Mulish, sans-serif;
376
+ font-family: var(--font-family);
377
377
  letter-spacing: 0.24px;
378
378
  -webkit-font-smoothing: antialiased;
379
379
  padding: 4px 12px;
@@ -50,7 +50,6 @@ export class ConversationFooterComponent implements OnInit, OnChanges {
50
50
  @Output() onChangeTextArea = new EventEmitter<any>();
51
51
  @Output() onAttachmentFileButtonClicked = new EventEmitter<any>();
52
52
  @Output() onNewConversationButtonClicked = new EventEmitter();
53
- @Output() onBackButton = new EventEmitter()
54
53
 
55
54
  @ViewChild('chat21_file') public chat21_file: ElementRef;
56
55
  // @ViewChild('emojii_container', {read: ViewContainerRef}) selector;
@@ -655,10 +654,6 @@ export class ConversationFooterComponent implements OnInit, OnChanges {
655
654
  // this.restoreTextArea()
656
655
  // }
657
656
 
658
- onBackButtonFN(){
659
- this.onBackButton.emit(false)
660
- }
661
-
662
657
  setFocusOnId(id) {
663
658
  if(!this.isMobile){
664
659
  setTimeout(function () {
@@ -123,23 +123,34 @@
123
123
  </div> -->
124
124
 
125
125
  <!-- ICON MAXIMIZE -->
126
- <!-- <div class="c21-header-button c21-right" *ngIf="heightStatus==='min'" (click)="maximizeMinimize('max')">
127
- <svg role="img" aria-labelledby="altIconTitle" [class="icon-menu" xmlns="http://www.w3.org/2000/svg"
128
- width="17" height="17" viewBox="0 0 62 62">
129
- <path d="M61,2H33a1,1,0,0,0-1,1V9a1,1,0,0,0,1,1H48.344L2.293,56.051a1,1,0,0,0,0,1.414l4.243,4.242a1,1,0,0,0,1.414,0L54,15.656V31a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1V3A1,1,0,0,0,61,2Z"></path>
126
+ <div class="c21-header-button c21-right" *ngIf="heightStatus==='min' && !fullscreenMode" (click)="onChangeSize('max')">
127
+ <svg role="img" aria-labelledby="altIconTitle" fill="none" xmlns="http://www.w3.org/2000/svg" transform="matrix(-1,0,0,1,0,0)"
128
+ width="17" height="17" viewBox="0 0 17 17">
129
+ <path d="M6.49001 8.30999L3.69 11.11V9.40999C3.69 8.93999 3.31 8.55999 2.84 8.55999C2.37 8.55999 1.99001 8.93999 1.99001 9.40999V14.01H6.59C7.06 14.01 7.44 13.63 7.44 13.16C7.44 12.69 7.06 12.31 6.59 12.31H4.89L7.69 9.50999L6.49001 8.30999ZM9.41 1.98999C8.94 1.98999 8.56001 2.36999 8.56001 2.83999C8.56001 3.30999 8.94 3.68999 9.41 3.68999H11.11L8.31001 6.48999L9.51 7.68999L12.31 4.88999V6.58999C12.31 7.05999 12.69 7.43999 13.16 7.43999C13.63 7.43999 14.01 7.05999 14.01 6.58999V1.98999H9.41Z" fill="currentColor"></path>
130
130
  <title id="altIconTitle">{{ translationMap?.get('MAXIMIZE') }}</title>
131
131
  </svg>
132
132
  <span class="label-menu-item">{{ translationMap?.get('MAXIMIZE') }}</span>
133
- </div> -->
133
+ </div>
134
134
  <!-- ICON MINIMIZE -->
135
- <!-- <div class="c21-header-button c21-right" *ngIf="heightStatus==='max'" (click)="maximizeMinimize('min')">
136
- <svg role="img" aria-labelledby="altIconTitle" class="icon-menu" transform="rotate(180)" xmlns="http://www.w3.org/2000/svg"
137
- width="17" height="17" viewBox="0 0 62 62">
138
- <path d="M61,2H33a1,1,0,0,0-1,1V9a1,1,0,0,0,1,1H48.344L2.293,56.051a1,1,0,0,0,0,1.414l4.243,4.242a1,1,0,0,0,1.414,0L54,15.656V31a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1V3A1,1,0,0,0,61,2Z"></path>
135
+ <div class="c21-header-button c21-right" *ngIf="heightStatus==='max' || heightStatus==='full' || fullscreenMode" (click)="onChangeSize('min')">
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
+ width="17" height="17" viewBox="0 0 17 17">
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>
139
139
  <title id="altIconTitle">{{ translationMap?.get('MINIMIZE') }}</title>
140
140
  </svg>
141
141
  <span class="label-menu-item">{{ translationMap?.get('MINIMIZE') }}</span>
142
- </div> -->
142
+ </div>
143
+
144
+ <!-- FULLSCREEN -->
145
+ <div class="c21-header-button c21-right" *ngIf="heightStatus!=='full' && !fullscreenMode" (click)="onChangeSize('full')">
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
+ width="17" height="17" viewBox="0 0 17 17">
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"/>
149
+ <path fill="currentColor" d="M8.3,9.5l2.8,2.8h-1.7c-.5,0-.9.4-.9.9s.4.8.9.8h4.6v-4.6c0-.5-.4-.8-.9-.8s-.8.4-.8.8v1.7l-2.8-2.8-1.2,1.2ZM2,6.5c0,.5.4.8.8.8s.9-.4.9-.8v-1.7l2.8,2.8,1.2-1.2-2.8-2.8h1.7c.5,0,.8-.4.8-.8s-.4-.9-.8-.9H2v4.6Z"/>
150
+ <title id="altIconTitle">{{ translationMap?.get('FULLSCREEN') }}</title>
151
+ </svg>
152
+ <span class="label-menu-item">{{ translationMap?.get('FULLSCREEN') }}</span>
153
+ </div>
143
154
 
144
155
  <!-- ICON LOGOUT -->
145
156
  <div class="c21-header-button c21-right" *ngIf="!hideSignOutOptionMenu" (click)="signOut()">
@@ -22,6 +22,7 @@ export class ConversationHeaderComponent implements OnInit, OnChanges {
22
22
  @Input() nameUserTypingNow: string;
23
23
  @Input() typingLocation: string;
24
24
  @Input() isTrascriptDownloadEnabled: boolean;
25
+ @Input() fullscreenMode: boolean;
25
26
  @Input() hideCloseConversationOptionMenu: boolean;
26
27
  @Input() hideHeaderCloseButton: boolean;
27
28
  @Input() hideHeaderBackButton: boolean;
@@ -105,10 +106,11 @@ export class ConversationHeaderComponent implements OnInit, OnChanges {
105
106
  /**
106
107
  * @param status : string 'max' || 'min'
107
108
  */
108
- maximizeMinimize(status){
109
+ onChangeSize(status){
109
110
  this.heightStatus = status
110
111
  if(status === 'min') this.onMenuOptionClick.emit(HEADER_MENU_OPTION.MINIMIZE)
111
112
  if(status === 'max') this.onMenuOptionClick.emit(HEADER_MENU_OPTION.MAXIMIZE)
113
+ if(status === 'full') this.onMenuOptionClick.emit(HEADER_MENU_OPTION.FULLSCREEN)
112
114
  this.onMenuOptionShow.emit(false)
113
115
  }
114
116
  toggleSound() {
@@ -182,7 +182,7 @@
182
182
  width: 100%;
183
183
  height: auto;
184
184
  vertical-align: middle;
185
- font-family: 'Helvetica Neue', 'Apple Color Emoji', Helvetica, Arial, sans-serif;
185
+ font-family: var(--font-family-callout);
186
186
  font-weight: normal;
187
187
  word-wrap: break-word;
188
188
  margin: 0px;
@@ -89,7 +89,6 @@
89
89
  }
90
90
 
91
91
  .c21-text {
92
- font-family: 'Google Sans';
93
92
  .c21-text-welcome {
94
93
  overflow: hidden;
95
94
  line-height: 1.2em;
@@ -130,7 +129,6 @@
130
129
  }
131
130
  }
132
131
  .c21-text {
133
- font-family: 'Roboto';
134
132
  margin: 0 0 0 15px;
135
133
 
136
134
  .c21-text-welcome {
@@ -308,7 +306,7 @@
308
306
  font-weight: 500;
309
307
  line-height: 22px;
310
308
 
311
- font-family: Mulish, sans-serif;
309
+ font-family: var(--font-family);
312
310
  letter-spacing: 0.24px;
313
311
  -webkit-font-smoothing: antialiased;
314
312
 
@@ -7,6 +7,7 @@
7
7
  --hoverTextColor: #{var(--blue)};
8
8
  --buttonFontSize: #{var(--button-in-msg-font-size)};
9
9
  --max-width: #{var(--button-in-msg-max-width)};
10
+ --font-family: #{var(--font-family)};
10
11
  }
11
12
 
12
13
  .button-in-msg {
@@ -20,7 +21,7 @@
20
21
  margin: 3px;
21
22
  background: var(--backgroundColor);
22
23
  overflow: hidden;
23
- font-family: 'Muli', sans-serif;
24
+ font-family: var(--font-family);
24
25
  font-size: var(--buttonFontSize);
25
26
  -o-text-overflow: ellipsis;
26
27
  text-overflow: ellipsis;
@@ -7,6 +7,7 @@
7
7
  --hoverTextColor: #{var(--blue)};
8
8
  --buttonFontSize: #{var(--button-in-msg-font-size)};
9
9
  --max-width: #{var(--button-in-msg-max-width)};
10
+ --font-family: #{var(--font-family)};
10
11
  }
11
12
 
12
13
  .button-in-msg {
@@ -20,7 +21,7 @@
20
21
  margin: 3px;
21
22
  background: var(--backgroundColor);
22
23
  overflow: hidden;
23
- font-family: 'Muli', sans-serif;
24
+ font-family: var(--font-family);
24
25
  font-size: var(--buttonFontSize);
25
26
  -o-text-overflow: ellipsis;
26
27
  text-overflow: ellipsis;
@@ -7,6 +7,7 @@
7
7
  --hoverTextColor: #{var(--blue)};
8
8
  --buttonFontSize: #{var(--button-in-msg-font-size)};
9
9
  --max-width: #{var(--button-in-msg-max-width)};
10
+ --font-family: #{var(--font-family)};
10
11
  }
11
12
 
12
13
 
@@ -22,7 +23,7 @@
22
23
  margin: 3px;
23
24
  background: var(--backgroundColor);
24
25
  overflow: hidden;
25
- font-family: 'Muli', sans-serif;
26
+ font-family: var(--font-family);
26
27
  font-size: var(--buttonFontSize);
27
28
  -o-text-overflow: ellipsis;
28
29
  text-overflow: ellipsis;
@@ -7,6 +7,7 @@
7
7
  --hoverTextColor: #{var(--blue)};
8
8
  --buttonFontSize: #{var(--button-in-msg-font-size)};
9
9
  --max-width: #{var(--button-in-msg-max-width)};
10
+ --font-family: #{var(--font-family)};
10
11
 
11
12
  --cardWidth: 220px;
12
13
  }
@@ -203,7 +204,7 @@
203
204
  transition: all .3s;
204
205
 
205
206
  background: var(--backgroundColor);
206
- font-family: 'Muli', sans-serif;
207
+ font-family: var(--font-family);
207
208
  font-size: var(--buttonFontSize);
208
209
  -o-text-overflow: ellipsis;
209
210
  text-overflow: ellipsis;
@@ -20,7 +20,7 @@
20
20
  margin: 3px;
21
21
  background: transparent;
22
22
  overflow: hidden;
23
- font-family: 'Muli', sans-serif !important;
23
+ font-family: var(--font-family) !important;
24
24
  font-size: var(--buttonFontSize) !important;
25
25
  -o-text-overflow: ellipsis;
26
26
  text-overflow: ellipsis;
@@ -82,11 +82,6 @@
82
82
  .c21-body-content {
83
83
  padding: 10px 0px;
84
84
  /* star-rating */
85
- .default-title {
86
- font-size: 2em;
87
- font-family:'Roboto';
88
- color:var(--black);
89
- }
90
85
  .default-text {
91
86
  font-size: 1.4em;
92
87
  font-family:'Roboto';
@@ -365,14 +365,15 @@ export class GlobalSettingsService {
365
365
  }
366
366
  // console.log('this.globals.fullscreenMode' + this.globals.fullscreenMode);
367
367
  if (this.globals.fullscreenMode === true) {
368
- divTiledeskiframe.style.left = 0;
369
- divTiledeskiframe.style.right = 0;
370
- divTiledeskiframe.style.top = 0;
371
- divTiledeskiframe.style.bottom = 0;
372
- divTiledeskiframe.style.width = '100%';
373
- divTiledeskiframe.style.height = '100%';
374
- divTiledeskiframe.style.maxHeight = 'none';
375
- divTiledeskiframe.style.maxWidth = 'none';
368
+ // divTiledeskiframe.style.left = 0;
369
+ // divTiledeskiframe.style.right = 0;
370
+ // divTiledeskiframe.style.top = 0;
371
+ // divTiledeskiframe.style.bottom = 0;
372
+ // divTiledeskiframe.style.width = '100%';
373
+ // divTiledeskiframe.style.height = '100%';
374
+ // divTiledeskiframe.style.maxHeight = 'none';
375
+ // divTiledeskiframe.style.maxWidth = 'none';
376
+ divTiledeskiframe.classList.add('fullscreen')
376
377
  }
377
378
  }
378
379
  /**
@@ -1977,8 +1978,13 @@ export class GlobalSettingsService {
1977
1978
  }
1978
1979
 
1979
1980
  manageLoadingDomains(): boolean {
1981
+ const { allowedOnSpecificUrl, allowedOnSpecificUrlList } = this.globals;
1982
+
1983
+ if(!allowedOnSpecificUrl){
1984
+ return true
1985
+ }
1980
1986
 
1981
- if(this.globals.allowedOnSpecificUrl && (!this.globals.allowedOnSpecificUrlList || this.globals.allowedOnSpecificUrlList.length === 0) ){
1987
+ if (!Array.isArray(allowedOnSpecificUrlList) || allowedOnSpecificUrlList.length === 0) {
1982
1988
  console.log('allowedOnSpecificUrl is true and allowedOnSpecificUrlList is empty or not set');
1983
1989
  return true
1984
1990
  }
@@ -1992,7 +1998,7 @@ export class GlobalSettingsService {
1992
1998
  }
1993
1999
 
1994
2000
  const currentUrl = this.globals.windowContext.location.href;
1995
- const shouldShow = this.globals.allowedOnSpecificUrlList.some(pattern => {
2001
+ const shouldShow = allowedOnSpecificUrlList.some(pattern => {
1996
2002
  const regex = wildcardToRegex(pattern);
1997
2003
  return regex.test(currentUrl);
1998
2004
  });
@@ -38,6 +38,11 @@
38
38
 
39
39
  --content-background-color: #fff;
40
40
  --content-text-color: var(--black);
41
+
42
+
43
+
44
+ --font-family: Mulish, sans-serif;
45
+ --font-family-callout: 'Helvetica Neue', 'Apple Color Emoji', Helvetica, Arial, sans-serif;
41
46
  }
42
47
 
43
48
  $trasp-black:rgba(0,0,0,0.8);
@@ -73,6 +73,7 @@ export const HEADER_MENU_OPTION = {
73
73
  DETAIL : 'detail',
74
74
  RESTART : 'restart',
75
75
  MAXIMIZE : 'maximize',
76
- MINIMIZE : 'minimize'
76
+ MINIMIZE : 'minimize',
77
+ FULLSCREEN : 'fullscreen'
77
78
  }
78
79
 
@@ -53,8 +53,9 @@
53
53
  "WAITING_TIME_NOT_FOUND": "The team will reply as soon as possible",
54
54
  "CLOSED": "CLOSED",
55
55
  "CLOSE_CHAT": "Close chat",
56
- "MINIMIZE":"Minimize",
57
- "MAXIMIZE":"Maximize",
56
+ "MINIMIZE":"Minimize window",
57
+ "MAXIMIZE":"Expand window",
58
+ "FULLSCREEN":"Fullscreen",
58
59
  "CONFIRM_CLOSE_CHAT":"Are you sure you want to close this chat?",
59
60
 
60
61
  "INFO_SUPPORT_USER_ADDED_SUBJECT":"you",
@@ -53,8 +53,9 @@
53
53
  "WAITING_TIME_NOT_FOUND": "El equipo responderá lo antes posible",
54
54
  "CLOSED": "CERRADA",
55
55
  "CLOSE_CHAT": "Cerrar chat",
56
- "MINIMIZE":"Minimizar",
57
- "MAXIMIZE":"Maximizar",
56
+ "MINIMIZE":" Minimizar ventana",
57
+ "MAXIMIZE":"Expandir ventana",
58
+ "FULLSCREEN":"Pantalla completa",
58
59
  "CONFIRM_CLOSE_CHAT":"¿Estás seguro de que quieres cerrar este chat?",
59
60
 
60
61
  "INFO_SUPPORT_USER_ADDED_SUBJECT":"tú",
@@ -53,8 +53,9 @@
53
53
  "WAITING_TIME_NOT_FOUND": "Nous vous répondrons dans les plus brefs délais",
54
54
  "CLOSED": "Fermé",
55
55
  "CLOSE_CHAT": "Fermer la discussion",
56
- "MINIMIZE":"Minimiser",
57
- "MAXIMIZE":"Maximiser",
56
+ "MINIMIZE":"Réduire la fenêtre",
57
+ "MAXIMIZE":"Agrandir la fenêtre",
58
+ "FULLSCREEN":"Plein écran",
58
59
  "CONFIRM_CLOSE_CHAT":"Etes-vous sûr de vouloir fermer cette discussion?",
59
60
 
60
61
  "INFO_SUPPORT_USER_ADDED_SUBJECT":"tu",
@@ -53,8 +53,9 @@
53
53
  "WAITING_TIME_NOT_FOUND": "Vi risponderemo appena possibile",
54
54
  "CLOSED": "Chiusa",
55
55
  "CLOSE_CHAT": "Chiudi chat",
56
- "MINIMIZE":"Minimizza",
57
- "MAXIMIZE":"Massimizza",
56
+ "MINIMIZE":"Comprimi finestra",
57
+ "MAXIMIZE":"Espandi finestra",
58
+ "FULLSCREEN":"Fullscreen",
58
59
  "CONFIRM_CLOSE_CHAT":"Sei sicuro di voler chiudere questa chat?",
59
60
 
60
61
  "INFO_SUPPORT_USER_ADDED_SUBJECT":"tu",
@@ -1,5 +1,10 @@
1
1
  :root{
2
2
  --messagePreviewHeight: 100px;
3
+ --iframeMinWidth: 400px; /*376px*/;
4
+ --iframeMinHeight: 704px; /*696px;*/
5
+ --iframeMaxWidth: 688px;
6
+ --iframeMaxHeight: 786px;
7
+
3
8
  }
4
9
 
5
10
  #tiledesk-container {
@@ -17,11 +22,11 @@
17
22
  max-width: 420px;
18
23
  min-width: 416px;
19
24
  max-height: 640px; */
20
- width: 376px;
21
- height: calc(100% - 40px);
22
- max-width: 696px; /*376px;*/
23
- min-width: 376px;
24
- max-height: 620px;
25
+ width: var(--iframeMinWidth);
26
+ height: var(--iframeMinHeight);
27
+ /* min-width: var(--iframeMinWidth);
28
+ max-width: var(--iframeMaxWidth); 376px;
29
+ max-height: 620px; */
25
30
  right: 0px;
26
31
  bottom: 0px;
27
32
  display: block;
@@ -32,21 +37,33 @@
32
37
  #tiledeskdiv.decreaseSize {
33
38
  /* transition: width 1s, height 1s; */
34
39
  transition: all 1s ease-out;
35
- width: 376px;
36
- max-height: 620px;
40
+ width: var(--iframeMinWidth);
41
+ height: var(--iframeMinHeight);
37
42
  /* animation: right-animate 1s ease infinite alternate; */
38
43
 
39
44
  }
40
45
 
41
46
  #tiledeskdiv.increaseSize {
42
47
  /* transition: width 1s, height 1s; */
43
- transition: all 1s ease-in;
44
- width: 696px;
45
- max-height: 712px;
48
+ transition: all 3s ease-in;
49
+ width: var(--iframeMaxWidth);
50
+ height: var(--iframeMaxHeight);
46
51
  /* animation: right-animate 1s ease infinite alternate; */
47
52
 
48
53
  }
49
54
 
55
+ #tiledeskdiv.fullscreen {
56
+ /* transition: width 1s, height 1s; */
57
+ transition: all 3s ease-in;
58
+ right: 0px;
59
+ left: 0px;
60
+ top: 0px;
61
+ bottom: 0px;
62
+ width: 100%;
63
+ height: 100%;
64
+ }
65
+
66
+
50
67
  @keyframes right-animate {
51
68
  0% {
52
69
  transform: translateX(140px);