@microsoft/omnichannel-chat-widget 1.1.1-main.d9ea24e → 1.2.0

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 (68) hide show
  1. package/README.md +9 -8
  2. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +20 -15
  3. package/lib/cjs/common/telemetry/TelemetryConstants.js +2 -0
  4. package/lib/cjs/common/telemetry/TelemetryHelper.js +9 -0
  5. package/lib/cjs/components/draggable/DraggableChatWidget.js +168 -0
  6. package/lib/cjs/components/draggable/DraggableEventEmitter.js +74 -0
  7. package/lib/cjs/components/draggable/DraggableEventNames.js +14 -0
  8. package/lib/cjs/components/draggable/DraggableEventReceiver.js +34 -0
  9. package/lib/cjs/components/draggable/IDraggableElementPosition.js +1 -0
  10. package/lib/cjs/components/draggable/IDraggableElementPositionDelta.js +1 -0
  11. package/lib/cjs/components/draggable/IDraggableEvent.js +1 -0
  12. package/lib/cjs/components/headerstateful/HeaderStateful.js +27 -0
  13. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +3 -3
  14. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +15 -5
  15. package/lib/cjs/components/livechatwidget/interfaces/IDraggableChatWidgetProps.js +1 -0
  16. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +28 -8
  17. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +34 -14
  18. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +2 -1
  19. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +2 -2
  20. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/{defaultWebChatContainerStatefulStyles.js → defaultWebChatStyles.js} +3 -3
  21. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +5 -0
  22. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +1 -0
  23. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +2 -1
  24. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +18 -14
  25. package/lib/esm/common/telemetry/TelemetryConstants.js +2 -0
  26. package/lib/esm/common/telemetry/TelemetryHelper.js +9 -0
  27. package/lib/esm/components/draggable/DraggableChatWidget.js +158 -0
  28. package/lib/esm/components/draggable/DraggableEventEmitter.js +64 -0
  29. package/lib/esm/components/draggable/DraggableEventNames.js +7 -0
  30. package/lib/esm/components/draggable/DraggableEventReceiver.js +25 -0
  31. package/lib/esm/components/draggable/IDraggableElementPosition.js +1 -0
  32. package/lib/esm/components/draggable/IDraggableElementPositionDelta.js +1 -0
  33. package/lib/esm/components/draggable/IDraggableEvent.js +1 -0
  34. package/lib/esm/components/headerstateful/HeaderStateful.js +27 -0
  35. package/lib/esm/components/livechatwidget/common/createMarkdown.js +3 -3
  36. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +15 -5
  37. package/lib/esm/components/livechatwidget/interfaces/IDraggableChatWidgetProps.js +1 -0
  38. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +28 -8
  39. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +34 -14
  40. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +2 -1
  41. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +2 -2
  42. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/{defaultWebChatContainerStatefulStyles.js → defaultWebChatStyles.js} +1 -1
  43. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +5 -0
  44. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +1 -0
  45. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +2 -1
  46. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +1 -0
  47. package/lib/types/common/telemetry/TelemetryConstants.d.ts +1 -0
  48. package/lib/types/components/draggable/DraggableChatWidget.d.ts +9 -0
  49. package/lib/types/components/draggable/DraggableEventEmitter.d.ts +27 -0
  50. package/lib/types/components/draggable/DraggableEventNames.d.ts +6 -0
  51. package/lib/types/components/draggable/DraggableEventReceiver.d.ts +27 -0
  52. package/lib/types/components/draggable/IDraggableElementPosition.d.ts +5 -0
  53. package/lib/types/components/draggable/IDraggableElementPositionDelta.d.ts +5 -0
  54. package/lib/types/components/draggable/IDraggableEvent.d.ts +12 -0
  55. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +12 -0
  56. package/lib/types/components/livechatwidget/interfaces/IDraggableChatWidgetProps.d.ts +10 -0
  57. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -0
  58. package/lib/types/components/webchatcontainerstateful/WebChatContainerStateful.d.ts +2 -2
  59. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatStyles.d.ts +2 -0
  60. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +5 -0
  61. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +2 -1
  62. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.d.ts +2 -1
  63. package/lib/types/contexts/common/ILiveChatWidgetLocalizedTexts.d.ts +1 -0
  64. package/package.json +2 -2
  65. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +0 -1818
  66. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +0 -1811
  67. package/lib/types/components/livechatwidget/common/defaultProps/dummyDefaultProps.d.ts +0 -2
  68. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatContainerStatefulStyles.d.ts +0 -2
@@ -1,1818 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.dummyDefaultProps = void 0;
7
- var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
8
- var _mockadapter = _interopRequireDefault(require("../../../webchatcontainerstateful/common/mockadapter"));
9
- var _Audios = require("../../../../assets/Audios");
10
- var _WebChatStoreLoader = require("../../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
11
- var _activityStatusMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware");
12
- var _activityMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware");
13
- var _attachmentMiddleware = _interopRequireDefault(require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware"));
14
- var _avatarMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware");
15
- var _createMarkdown = require("../createMarkdown");
16
- var _WebChatLogger = require("../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
17
- var _groupActivitiesMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware");
18
- var _typingIndicatorMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware");
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
- /* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
21
-
22
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
- const dummyDefaultProps = {
24
- audioNotificationProps: {
25
- audioSrc: _Audios.NewMessageNotificationSoundBase64
26
- },
27
- callingContainerProps: {
28
- controlProps: {
29
- id: "oc-lcw-callingcontainer",
30
- isIncomingCall: false,
31
- dir: "ltr",
32
- incomingCallControlProps: {
33
- id: "oc-lcw-incomingcall",
34
- dir: "ltr",
35
- ariaLabel: "Incoming call area",
36
- hideAudioCall: false,
37
- hideVideoCall: false,
38
- hideDeclineCall: false,
39
- hideIncomingCallTitle: false,
40
- onDeclineCallClick: () => {},
41
- // Detailed implementation omitted
42
- onAudioCallClick: () => {},
43
- // Detailed implementation omitted
44
- onVideoCallClick: () => {},
45
- // Detailed implementation omitted
46
- middleGroup: {
47
- gap: 5,
48
- children: []
49
- },
50
- leftGroup: {
51
- gap: 5,
52
- children: []
53
- },
54
- rightGroup: {
55
- gap: 5,
56
- children: []
57
- },
58
- declineCallButtonProps: {
59
- id: "callRejectButton",
60
- type: "icon",
61
- ariaLabel: "Reject call",
62
- iconName: "DeclineCall",
63
- iconSize: 20
64
- },
65
- audioCallButtonProps: {
66
- id: "callAcceptButton",
67
- type: "icon",
68
- ariaLabel: "Accept voice call",
69
- iconName: "IncomingCall",
70
- iconSize: 20
71
- },
72
- videoCallButtonProps: {
73
- id: "videoCallAcceptButton",
74
- type: "icon",
75
- ariaLabel: "Accept video Call",
76
- iconName: "Video",
77
- iconSize: 20
78
- },
79
- incomingCallTitle: {
80
- id: "incomingCallMessage",
81
- text: "Incoming Call"
82
- }
83
- },
84
- currentCallControlProps: {
85
- id: "currentCall-container",
86
- nonActionIds: {
87
- currentCallActionGroupId: "currentCall-actionicons",
88
- currentCallFooterId: "currentCall-footer",
89
- remoteVideoTileId: "remoteVideo",
90
- selfVideoTileId: "selfVideo",
91
- videoTileGroupId: "currentCall-body"
92
- },
93
- hideMicButton: false,
94
- hideVideoButton: false,
95
- hideEndCallButton: false,
96
- hideCurrentCallTitle: false,
97
- videoCallDisabled: false,
98
- hideCallTimer: false,
99
- onEndCallClick: () => {},
100
- // Detailed implementation omitted
101
- onMicCallClick: () => {},
102
- // Detailed implementation omitted
103
- onVideoOffClick: () => {},
104
- // Detailed implementation omitted
105
- middleGroup: {
106
- gap: 1,
107
- children: []
108
- },
109
- leftGroup: {
110
- gap: 1,
111
- children: []
112
- },
113
- rightGroup: {
114
- gap: 1,
115
- children: []
116
- },
117
- endCallButtonProps: {
118
- id: "callRejectButton",
119
- type: "icon",
120
- ariaLabel: "End Call",
121
- iconName: "DeclineCall",
122
- iconSize: 18
123
- },
124
- micButtonProps: {
125
- id: "toggleAudio",
126
- type: "icon",
127
- ariaLabel: "Mute",
128
- toggleAriaLabel: "Unmute",
129
- iconName: "Microphone",
130
- toggleIconName: "MicOff2",
131
- iconSize: 18
132
- },
133
- videoButtonProps: {
134
- id: "toggleVideo",
135
- type: "icon",
136
- ariaLabel: "Turn on camera",
137
- toggleAriaLabel: "Turn off camera",
138
- iconName: "Video",
139
- toggleIconName: "VideoOff",
140
- iconSize: 18
141
- },
142
- callTimerProps: {
143
- id: "oc-lcw-CurrentCall-timer",
144
- showHours: false,
145
- timerStyles: {
146
- color: "#FFFFFF",
147
- textAlign: "center",
148
- backgroundColor: "#3d3c3c",
149
- height: "45px",
150
- width: "50px",
151
- lineHeight: "40px",
152
- borderRadius: "2px",
153
- margin: "1px"
154
- }
155
- }
156
- },
157
- hideCallingContainer: false
158
- },
159
- styleProps: {
160
- generalStyleProps: {
161
- generalStyleProps: {
162
- background: "#000",
163
- width: "100%",
164
- zIndex: 100,
165
- boxShadow: "0px 0px 2px rgba(0, 0, 0, 0.16), 0px 4px 8px rgba(0, 0, 0, 0.12)"
166
- }
167
- },
168
- className: undefined,
169
- incomingCallStyleProps: {
170
- generalStyleProps: {
171
- background: "#000",
172
- padding: "5px",
173
- height: "60px"
174
- },
175
- audioCallButtonStyleProps: {
176
- borderRadius: "50%",
177
- backgroundColor: "#008000",
178
- lineHeight: "40px",
179
- height: "40px",
180
- width: "40px",
181
- icon: {
182
- fontSize: 18,
183
- color: "#FFFFFF"
184
- }
185
- },
186
- audioCallButtonHoverStyleProps: {
187
- filter: "brightness(0.8)"
188
- },
189
- videoCallButtonStyleProps: {
190
- borderRadius: "50%",
191
- backgroundColor: "#008000",
192
- lineHeight: "40px",
193
- height: "40px",
194
- width: "40px",
195
- icon: {
196
- fontSize: 18,
197
- color: "#FFFFFF"
198
- }
199
- },
200
- videoCallButtonHoverStyleProps: {
201
- filter: "brightness(0.8)"
202
- },
203
- declineCallButtonHoverStyleProps: {
204
- filter: "brightness(0.8)",
205
- border: "1px solid #000"
206
- },
207
- declineCallButtonStyleProps: {
208
- borderRadius: "50%",
209
- backgroundColor: "#DC0000",
210
- lineHeight: "40px",
211
- height: "40px",
212
- width: "40px",
213
- marginLeft: "5px",
214
- icon: {
215
- fontSize: 18,
216
- color: "#FFFFFF"
217
- }
218
- },
219
- incomingCallTitleStyleProps: {
220
- margin: "0 5px",
221
- color: "#FFFFFF",
222
- fontSize: 12,
223
- fontFamily: "Segoe UI, Arial, sans-serif"
224
- },
225
- itemFocusStyleProps: {
226
- outline: "2px solid #FFFFFF"
227
- }
228
- },
229
- currentCallStyleProps: {
230
- generalStyleProps: {
231
- background: "#292828",
232
- minHeight: "55px",
233
- width: "100%",
234
- borderRadius: "0 0 3px 3px"
235
- },
236
- micButtonStyleProps: {
237
- borderRadius: "2px",
238
- color: "#FFFFFF",
239
- backgroundColor: "#3d3c3c",
240
- height: "45px",
241
- width: "50px",
242
- margin: "1px"
243
- },
244
- micButtonHoverStyleProps: {
245
- filter: "brightness(0.8)"
246
- },
247
- videoOffButtonStyleProps: {
248
- borderRadius: "2px",
249
- color: "#FFFFFF",
250
- backgroundColor: "#3d3c3c",
251
- height: "45px",
252
- width: "50px",
253
- margin: "1px"
254
- },
255
- videoOffButtonHoverStyleProps: {
256
- filter: "brightness(0.8)"
257
- },
258
- endCallButtonHoverStyleProps: {
259
- filter: "brightness(0.8)"
260
- },
261
- endCallButtonStyleProps: {
262
- borderRadius: "2px",
263
- color: "#FFFFFF",
264
- backgroundColor: "#DC0000",
265
- lineHeight: "50px",
266
- height: "45px",
267
- width: "50px",
268
- fontSize: "18px"
269
- },
270
- videoTileStyleProps: {
271
- width: "100%",
272
- marginLeft: "auto",
273
- marginRight: "auto",
274
- position: "relative"
275
- },
276
- videoTileStyleWithVideoProps: {
277
- minHeight: "180px",
278
- width: "100%",
279
- marginLeft: "auto",
280
- marginRight: "auto",
281
- position: "relative"
282
- },
283
- remoteVideoStyleProps: {
284
- height: "100%",
285
- width: "100%",
286
- overflow: "hidden"
287
- },
288
- selfVideoStyleProps: {
289
- position: "absolute",
290
- right: "8px",
291
- bottom: "8px",
292
- width: "80px",
293
- minHeight: "50px",
294
- overflow: "hidden",
295
- borderRadius: "2px"
296
- },
297
- selfVideoMaximizeStyleProps: {
298
- position: "relative",
299
- width: "100%",
300
- minHeight: "50px",
301
- overflow: "hidden",
302
- borderRadius: "2px"
303
- },
304
- itemFocusStyleProps: {
305
- outline: "2px solid #fff"
306
- }
307
- }
308
- }
309
- },
310
- chatButtonProps: {
311
- componentOverrides: {
312
- title: undefined,
313
- subtitle: undefined,
314
- notificationBubble: undefined,
315
- iconContainer: undefined,
316
- textContainer: undefined
317
- },
318
- controlProps: {
319
- id: "oc-lcw-chat-button",
320
- dir: "ltr",
321
- role: "button",
322
- ariaLabel: "live chat button",
323
- titleText: "Let's Chat!",
324
- subtitleText: "We're online.",
325
- unreadMessageCount: "0",
326
- onClick: () => {},
327
- // Detailed implementation omitted
328
- hideChatButton: false,
329
- hideChatIcon: false,
330
- hideChatTextContainer: false,
331
- hideChatSubtitle: false,
332
- hideChatTitle: false,
333
- hideNotificationBubble: true,
334
- unreadMessageString: "new messages",
335
- largeUnreadMessageString: "99+",
336
- ariaLabelUnreadMessageString: "you have new messages"
337
- },
338
- styleProps: {
339
- generalStyleProps: {
340
- height: "60px",
341
- width: "180px",
342
- borderRadius: "100px 100px 100px 99px",
343
- position: "absolute",
344
- backgroundColor: "#fff",
345
- borderColor: "#fff",
346
- borderStyle: "solid",
347
- borderWidth: "1px",
348
- boxShadow: "0 0 4px rgb(102 102 102 / 50%)",
349
- margin: "3px 3px 3px 3px",
350
- cursor: "pointer",
351
- bottom: "0px",
352
- display: "flex",
353
- right: "0px",
354
- padding: "0px",
355
- selectors: {
356
- ":hover": {
357
- backgroundColor: "lightgrey"
358
- },
359
- ":focus": {
360
- outline: "dotted 2px #000"
361
- }
362
- }
363
- },
364
- // BUG: NOT IMPLEMENTED chatButtonHoveredStyleProps: IStyle;
365
- iconStyleProps: {
366
- backgroundColor: "#315FA2",
367
- borderStyle: "solid",
368
- borderRadius: "50%",
369
- borderColor: "transparent",
370
- borderWidth: "1px",
371
- align: "center",
372
- width: "62px",
373
- height: "60px",
374
- margin: "-2px -2px -2px -3px",
375
- justifyContent: "center",
376
- backgroundSize: "65% 65%",
377
- backgroundImage: `url(${_omnichannelChatComponents.ModernChatIconBase64})`,
378
- display: "flex",
379
- backgroundRepeat: "no-repeat",
380
- backgroundPosition: "center"
381
- },
382
- notificationBubbleStyleProps: {
383
- backgroundColor: "#cc4a31",
384
- borderRadius: "50%",
385
- color: "#fff",
386
- padding: "1px",
387
- fontWeight: "bold",
388
- lineHeight: "22px",
389
- fontStyle: "normal",
390
- top: "-5px",
391
- textAlign: "center",
392
- position: "absolute",
393
- fontSize: "14px",
394
- fontFamily: "Segoe UI,Arial,sans-serif",
395
- minHeight: "24px",
396
- minWidth: "24px"
397
- },
398
- textContainerStyleProps: {
399
- flexDirection: "column",
400
- justifyContent: "center",
401
- display: "flex"
402
- },
403
- titleStyleProps: {
404
- fontWeight: "bold",
405
- fontSize: "16px",
406
- height: "22px",
407
- color: "#262626",
408
- textOverflow: "ellipsis !important",
409
- lineHeight: "19px",
410
- fontFamily: "'Segoe UI',Arial,sans-serif",
411
- display: "block",
412
- margin: "0px 14px 0px 14px",
413
- width: "90px",
414
- cursor: "pointer",
415
- overflow: "hidden",
416
- padding: "0px",
417
- whiteSpace: "nowrap"
418
- },
419
- subtitleStyleProps: {
420
- fontSize: "12px",
421
- fontWeight: "200",
422
- color: "#666",
423
- overflow: "hidden",
424
- padding: "0px",
425
- fontFamily: "'Segoe UI',Arial,sans-serif",
426
- display: "block",
427
- alignItems: "center",
428
- margin: "0px 14px 0px 14px",
429
- textOverflow: "ellipsis !important",
430
- width: "90px",
431
- whiteSpace: "nowrap",
432
- cursor: "pointer"
433
- },
434
- classNames: {
435
- titleClassName: undefined,
436
- subtitleClassName: undefined,
437
- textContainerClassName: undefined,
438
- notificationBubbleClassName: undefined,
439
- iconContainerClassName: undefined
440
- }
441
- }
442
- },
443
- chatConfig: undefined,
444
- chatSDK: undefined,
445
- // Mandatory
446
- componentOverrides: {
447
- chatButton: undefined,
448
- confirmationPane: undefined,
449
- footer: undefined,
450
- emailTranscriptPane: undefined,
451
- header: undefined,
452
- loadingPane: undefined,
453
- outOfOfficeHoursPane: undefined,
454
- postChatLoadingPane: undefined,
455
- proactiveChatPane: undefined,
456
- reconnectChatPane: undefined,
457
- webChatContainer: undefined
458
- },
459
- confirmationPaneProps: {
460
- componentOverrides: {
461
- title: undefined,
462
- subtitle: undefined,
463
- confirmButton: undefined,
464
- cancelButton: undefined
465
- },
466
- controlProps: {
467
- id: "oc-lcw-confirmation-pane",
468
- dir: "ltr",
469
- hideConfirmationPane: false,
470
- hideTitle: false,
471
- titleText: "Close chat",
472
- hideSubtitle: false,
473
- subtitleText: "Do you really want to close this chat?",
474
- hideConfirmButton: false,
475
- confirmButtonText: "Close",
476
- confirmButtonAriaLabel: "Close Chat",
477
- hideCancelButton: false,
478
- cancelButtonText: "Cancel",
479
- cancelButtonAriaLabel: "Cancel. Return to Chat",
480
- brightnessValueOnDim: "0.2",
481
- onConfirm: () => {},
482
- // Detailed implementation omitted
483
- onCancel: () => {} // Detailed implementation omitted
484
- },
485
-
486
- styleProps: {
487
- generalStyleProps: {
488
- display: "flex",
489
- minHeight: "160px",
490
- maxHeight: "300px",
491
- boxSizing: "border-box",
492
- backgroundColor: "#FFFFFF",
493
- borderRadius: "2px",
494
- color: "black",
495
- fontFamily: "Segoe UI, Arial, sans-serif",
496
- fontSize: "14px",
497
- padding: "10px 20px",
498
- position: "absolute",
499
- justifyContent: "center",
500
- alignItems: "center",
501
- flexFlow: "column",
502
- zIndex: "9999",
503
- left: "26px",
504
- right: "26px"
505
- },
506
- titleStyleProps: {
507
- color: "#323130",
508
- fontFamily: "Segoe UI, Arial, sans-serif",
509
- fontSize: "16px",
510
- fontWeight: "500",
511
- margin: "10px 0 0 0",
512
- width: "100%",
513
- textAlign: "center"
514
- },
515
- subtitleStyleProps: {
516
- color: "#605e5c",
517
- fontFamily: "Segoe UI, Arial, sans-serif",
518
- fontSize: "14px",
519
- fontWeight: "400",
520
- margin: "14px 0px",
521
- width: "100%",
522
- textAlign: "center"
523
- },
524
- buttonGroupStyleProps: {
525
- display: "flex",
526
- width: "auto",
527
- height: "auto",
528
- boxSizing: "border-box",
529
- flexFlow: "row",
530
- justifyContent: "center",
531
- alignItems: "center",
532
- gap: "10px",
533
- marginBottom: "10px"
534
- },
535
- confirmButtonStyleProps: {
536
- backgroundColor: "rgba(9,72,159,1)",
537
- color: "#FFFFFF",
538
- fontFamily: "Segoe UI, Arial, sans-serif",
539
- fontSize: "14px",
540
- fontWeight: "500",
541
- height: "32px",
542
- width: "80px"
543
- },
544
- confirmButtonHoveredStyleProps: {
545
- backgroundColor: "rgba(9,72,159,0.8)"
546
- },
547
- confirmButtonFocusedStyleProps: {
548
- border: "2px dotted #000"
549
- },
550
- cancelButtonStyleProps: {
551
- backgroundColor: "#FFFFFF",
552
- fontFamily: "Segoe UI, Arial, sans-serif",
553
- fontSize: "14px",
554
- fontWeight: "500",
555
- height: "32px",
556
- width: "80px"
557
- },
558
- cancelButtonHoveredStyleProps: {
559
- backgroundColor: "#EFEFEF"
560
- },
561
- cancelButtonFocusedStyleProps: {
562
- border: "2px dotted #000"
563
- },
564
- classNames: {
565
- titleClassName: undefined,
566
- subtitleClassName: undefined,
567
- buttonGroupClassName: undefined,
568
- confirmButtonClassName: undefined,
569
- cancelButtonClassName: undefined
570
- }
571
- },
572
- confirmationPaneLocalizedTexts: {
573
- CLOSE_CONFIRMATION_DIALOG_TITLE_FOR_EMAIL_AND_DOWNLOAD_TRANSCRIPT_ENABLED: "Want a copy of this chat?",
574
- CLOSE_CONFIRMATION_DIALOG_DESCRIPTION_FOR_EMAIL_AND_DOWNLOAD_TRANSCRIPT_ENABLED: "Select Cancel and then select the download or email icon",
575
- CLOSE_CONFIRMATION_DIALOG_TITLE_FOR_EMAIL_TRANSCRIPT_ENABLED: "Want a copy of this chat?",
576
- CLOSE_CONFIRMATION_DIALOG_DESCRIPTION_FOR_EMAIL_TRANSCRIPT_ENABLED: "Select Cancel and then select the email icon.",
577
- CLOSE_CONFIRMATION_DIALOG_TITLE_FOR_DOWNLOAD_TRANSCRIPT_ENABLED: "Want a copy of this chat?",
578
- CLOSE_CONFIRMATION_DIALOG_DESCRIPTION_FOR_DOWNLOAD_TRANSCRIPT_ENABLED: "Select Cancel and then select the download icon.",
579
- CLOSE_CONFIRMATION_DIALOG_TITLE_DEFAULT: "Close Chat",
580
- CLOSE_CONFIRMATION_DIALOG_DESCRIPTION_DEFAULT: "Do you really want to close this chat?"
581
- }
582
- },
583
- controlProps: {
584
- id: "oc-lcw",
585
- hideCallingContainer: false,
586
- hideChatButton: false,
587
- hideConfirmationPane: false,
588
- hideErrorUIPane: false,
589
- hideFooter: false,
590
- hideHeader: false,
591
- hideLoadingPane: false,
592
- hideOutOfOfficeHoursPane: false,
593
- hidePostChatLoadingPane: false,
594
- hidePreChatSurveyPane: false,
595
- hideProactiveChatPane: false,
596
- hideReconnectChatPane: false,
597
- hideWebChatContainer: false,
598
- hideStartChatButton: false
599
- },
600
- directLine: new _mockadapter.default(),
601
- downloadTranscriptProps: {
602
- bannerMessageOnError: "Download transcript failed.",
603
- renderMarkDown: undefined,
604
- attachmentMessage: "The following attachment was uploaded during the conversation:",
605
- webChatTranscript: {
606
- disabled: false,
607
- fileName: "transcript",
608
- pageTitle: "Customer Transcript",
609
- attachmentMessage: "The following attachment was uploaded during the conversation: ",
610
- networkOnlineMessage: "Connection restored. Please refresh the page",
611
- networkOfflineMessage: "Network Error. Please make sure you are connected to the internet."
612
- }
613
- },
614
- emailTranscriptPane: {
615
- componentOverrides: {
616
- title: undefined,
617
- subtitle: undefined,
618
- input: undefined,
619
- invalidInputErrorMessage: undefined,
620
- sendButton: undefined,
621
- cancelButton: undefined
622
- },
623
- controlProps: {
624
- id: "oclcw-emailTranscriptDialogContainer",
625
- dir: "ltr",
626
- hideInputValidationPane: false,
627
- inputValidationPaneAriaLabel: "Email Chat Transcript Pane",
628
- hideTitle: false,
629
- titleText: "Email this chat transcript",
630
- hideSubtitle: false,
631
- subtitleText: "This will be sent after your chat ends.",
632
- inputId: "oclcw-emailTranscriptDialogTextField",
633
- inputInitialText: "",
634
- hideInput: false,
635
- inputAriaLabel: "Email this chat transcript. This will be sent after your chat ends. Email address text area",
636
- inputWithErrorMessageBorderColor: "rgb(164, 38, 44)",
637
- invalidInputErrorMessageText: "Enter a valid email address.",
638
- isButtonGroupHorizontal: true,
639
- hideSendButton: false,
640
- enableSendButton: undefined,
641
- sendButtonText: "Send",
642
- sendButtonAriaLabel: "Send",
643
- hideCancelButton: false,
644
- cancelButtonText: "Cancel",
645
- cancelButtonAriaLabel: "Cancel",
646
- brightnessValueOnDim: "0.2",
647
- onSend: undefined,
648
- onCancel: undefined,
649
- checkInput: undefined
650
- },
651
- styleProps: {
652
- generalStyleProps: {
653
- backgroundColor: "#fff",
654
- borderBottomLeftRadius: "4px",
655
- borderBottomRightRadius: "4px",
656
- borderColor: "rgba(138, 141, 145, .24)",
657
- borderTop: "solid",
658
- borderTopWidth: "1px",
659
- bottom: "0",
660
- left: "0",
661
- minHeight: "180px",
662
- padding: "10px",
663
- position: "absolute",
664
- width: "100%",
665
- zIndex: "9999"
666
- },
667
- headerGroupStyleProps: {
668
- marginBottom: "15px"
669
- },
670
- titleStyleProps: {
671
- color: "#323130",
672
- fontFamily: "'Segoe UI', Arial, sans-serif",
673
- fontSize: "18px",
674
- fontWeight: "500",
675
- marginBottom: "5px"
676
- },
677
- subtitleStyleProps: {
678
- color: "#262626",
679
- fontFamily: "'Segoe UI', Arial, sans-serif",
680
- fontSize: "14px",
681
- lineHeight: "16px",
682
- marginBottom: "10px"
683
- },
684
- inputStyleProps: {
685
- boxSizing: "border-box",
686
- fontFamily: "'Segoe UI', Arial, sans-serif",
687
- fontSize: "16px",
688
- fontWeight: "400",
689
- textIndent: "10px",
690
- width: "100%"
691
- },
692
- invalidInputErrorMessageStyleProps: {
693
- color: "#a4262c",
694
- fontFamily: "'Segoe UI', Arial, sans-serif",
695
- fontSize: "12px",
696
- height: "16px,",
697
- lineHeight: "16px",
698
- marginTop: "4px"
699
- },
700
- buttonGroupStyleProps: {
701
- gap: "10px"
702
- },
703
- sendButtonStyleProps: {
704
- color: "rgb(255, 255, 255)",
705
- cursor: "pointer",
706
- fontFamily: "'Segoe UI', Arial, sans-serif",
707
- fontSize: "14px",
708
- fontWeight: "500",
709
- lineHeight: "19px",
710
- textOverflow: "ellipsis",
711
- whiteSpace: "nowrap"
712
- },
713
- sendButtonHoveredStyleProps: {},
714
- cancelButtonStyleProps: {
715
- border: "solid",
716
- borderColor: "#e0e3e6",
717
- borderWidth: "2px",
718
- boxSizing: "border-box",
719
- color: "#000",
720
- cursor: "pointer",
721
- fontFamily: "'Segoe UI', Arial, sans-serif",
722
- fontSize: "14px",
723
- fontWeight: "500",
724
- lineHeight: "19px",
725
- textOverflow: "ellipsis",
726
- whiteSpace: "nowrap"
727
- },
728
- cancelButtonHoveredStyleProps: {},
729
- classNames: {
730
- containerClassName: undefined,
731
- headerGroupClassName: undefined,
732
- titleClassName: undefined,
733
- subtitleClassName: undefined,
734
- inputClassName: undefined,
735
- invalidInputErrorMessageClassName: undefined,
736
- buttonGroupClassName: undefined,
737
- sendButtonClassName: undefined,
738
- cancelButtonClassName: undefined
739
- }
740
- },
741
- bannerMessageOnError: "Email transcript to <email> failed.",
742
- attachmentMessage: "The following attachment was uploaded during the conversation:"
743
- },
744
- footerProps: {
745
- componentOverrides: {
746
- DownloadTranscriptButton: undefined,
747
- EmailTranscriptButton: undefined,
748
- AudioNotificationButton: undefined
749
- },
750
- controlProps: {
751
- // BUG
752
- id: "oc-lcw-footer",
753
- leftGroup: {
754
- children: []
755
- },
756
- middleGroup: {
757
- children: []
758
- },
759
- rightGroup: {
760
- children: []
761
- },
762
- hideDownloadTranscriptButton: false,
763
- hideEmailTranscriptButton: false,
764
- hideAudioNotificationButton: false,
765
- onDownloadTranscriptClick: () => {},
766
- // Detailed implementation omitted
767
- onEmailTranscriptClick: () => {},
768
- // Detailed implementation omitted
769
- onAudioNotificationClick: () => {},
770
- // Detailed implementation omitted
771
- downloadTranscriptButtonProps: {
772
- id: "oc-lcw-footer-downloadtranscript-button",
773
- type: "icon",
774
- iconName: "Download",
775
- ariaLabel: "Download chat transcript",
776
- isAudioMuted: undefined,
777
- iconSize: undefined,
778
- imageIconProps: undefined,
779
- toggleIconName: undefined,
780
- imageToggleIconProps: undefined,
781
- toggleAriaLabel: undefined,
782
- text: "Download chat transcript",
783
- onClick: undefined,
784
- className: undefined,
785
- disabled: undefined
786
- },
787
- emailTranscriptButtonProps: {
788
- id: "oc-lcw-footer-emailtranscript-button",
789
- type: "icon",
790
- iconName: "Mail",
791
- ariaLabel: "Email Transcript",
792
- isAudioMuted: undefined,
793
- iconSize: undefined,
794
- imageIconProps: undefined,
795
- toggleIconName: undefined,
796
- imageToggleIconProps: undefined,
797
- toggleAriaLabel: undefined,
798
- text: "Email Transcript",
799
- onClick: undefined,
800
- className: undefined,
801
- disabled: undefined
802
- },
803
- audioNotificationButtonProps: {
804
- id: "oc-lcw-footer-audionotification-button",
805
- type: "icon",
806
- ariaLabel: "Turn sound off",
807
- toggleAriaLabel: "Turn sound on",
808
- iconName: "Volume3",
809
- toggleIconName: "Volume0",
810
- isAudioMuted: undefined,
811
- iconSize: undefined,
812
- imageIconProps: undefined,
813
- imageToggleIconProps: undefined,
814
- text: "Audio Notification off",
815
- onClick: undefined,
816
- className: undefined,
817
- disabled: undefined
818
- },
819
- dir: "ltr"
820
- },
821
- styleProps: {
822
- generalStyleProps: {
823
- background: "#fff",
824
- borderRadius: "0 0 4px 4px",
825
- minHeight: "25px",
826
- width: "100%",
827
- minWidth: "250px",
828
- padding: "5px"
829
- },
830
- downloadTranscriptButtonStyleProps: {
831
- icon: {
832
- color: "blue",
833
- fontSize: 16
834
- },
835
- height: "25px",
836
- lineHeight: "25px",
837
- width: "25px"
838
- },
839
- downloadTranscriptButtonHoverStyleProps: {
840
- filter: "brightness(0.8)",
841
- backgroundColor: "#C8C8C8"
842
- },
843
- emailTranscriptButtonStyleProps: {
844
- cicon: {
845
- color: "blue",
846
- fontSize: 16
847
- },
848
- height: "25px",
849
- lineHeight: "25px",
850
- width: "25px"
851
- },
852
- emailTranscriptButtonHoverStyleProps: {
853
- filter: "brightness(0.8)",
854
- backgroundColor: "#C8C8C8"
855
- },
856
- audioNotificationButtonStyleProps: {
857
- icon: {
858
- color: "blue",
859
- fontSize: 16
860
- },
861
- height: "25px",
862
- lineHeight: "25px",
863
- width: "25px"
864
- },
865
- audioNotificationButtonHoverStyleProps: {
866
- filter: "brightness(0.8)",
867
- backgroundColor: "#C8C8C8"
868
- },
869
- footerItemFocusStyleProps: {
870
- border: "2px dotted #000"
871
- }
872
- }
873
- },
874
- headerProps: {
875
- componentOverrides: {
876
- headerIcon: undefined,
877
- headerTitle: undefined,
878
- headerMinimizeButton: undefined,
879
- headerCloseButton: undefined
880
- },
881
- controlProps: {
882
- id: "oc-lcw-header",
883
- leftGroup: {
884
- children: []
885
- },
886
- middleGroup: {
887
- children: []
888
- },
889
- rightGroup: {
890
- children: []
891
- },
892
- hideIcon: false,
893
- hideTitle: false,
894
- hideMinimizeButton: false,
895
- hideCloseButton: false,
896
- onMinimizeClick: () => {},
897
- // Detailed implementation omitted
898
- onCloseClick: () => {},
899
- // Detailed implementation omitted
900
- minimizeButtonProps: {
901
- id: "oc-lcw-header-minimize-button",
902
- type: "icon",
903
- iconName: "ChromeMinimize",
904
- ariaLabel: "Minimize",
905
- imageIconProps: undefined,
906
- text: "Minimize",
907
- onClick: undefined,
908
- className: undefined
909
- },
910
- closeButtonProps: {
911
- id: "oc-lcw-header-close-button",
912
- type: "icon",
913
- iconName: "ChromeClose",
914
- ariaLabel: "Close",
915
- imageIconProps: undefined,
916
- text: "Close",
917
- onClick: undefined,
918
- className: undefined
919
- },
920
- headerIconProps: {
921
- id: "oc-lcw-header-icon",
922
- src: _omnichannelChatComponents.ModernChatIconBase64,
923
- alt: "Chat Icon",
924
- className: undefined
925
- },
926
- headerTitleProps: {
927
- id: "oc-lcw-header-title",
928
- text: "Let's Chat",
929
- className: undefined
930
- },
931
- dir: "ltr"
932
- },
933
- styleProps: {
934
- generalStyleProps: {
935
- background: "#315fa2",
936
- borderRadius: "4px 4px 0 0",
937
- padding: "5px",
938
- minHeight: "50px",
939
- width: "100%",
940
- minWidth: "250px"
941
- },
942
- iconStyleProps: {
943
- height: "30px",
944
- width: "30px",
945
- margin: "5px 10px"
946
- },
947
- titleStyleProps: {
948
- fontSize: 16,
949
- fontFamily: "Segoe UI, Arial, sans-serif",
950
- fontWeight: "450",
951
- color: "#FFFFFF",
952
- padding: "3px 0"
953
- },
954
- minimizeButtonStyleProps: {
955
- color: "#FFFFFF",
956
- margin: "5px 0",
957
- fontSize: "12px"
958
- },
959
- closeButtonStyleProps: {
960
- color: "#FFFFFF",
961
- margin: "5px 0",
962
- fontSize: "12px"
963
- },
964
- closeButtonHoverStyleProps: {
965
- filter: "brightness(0.8)"
966
- },
967
- minimizeButtonHoverStyleProps: {
968
- filter: "brightness(0.8)"
969
- },
970
- headerItemFocusStyleProps: {
971
- border: "2px dotted #000"
972
- }
973
- }
974
- },
975
- loadingPaneProps: {
976
- componentOverrides: {
977
- icon: undefined,
978
- title: undefined,
979
- subtitle: undefined,
980
- spinner: undefined,
981
- spinnerText: undefined
982
- },
983
- controlProps: {
984
- id: "oc-lcw-loading-pane",
985
- role: undefined,
986
- dir: "auto",
987
- hideLoadingPane: false,
988
- hideIcon: false,
989
- hideTitle: false,
990
- titleText: "Welcome to",
991
- hideSubtitle: false,
992
- subtitleText: "live chat support ...",
993
- hideSpinner: false,
994
- spinnerSize: undefined,
995
- hideSpinnerText: false,
996
- spinnerText: "Loading ..."
997
- },
998
- styleProps: {
999
- generalStyleProps: {
1000
- width: "100%",
1001
- height: "100%",
1002
- borderStyle: "solid",
1003
- backgroundColor: "#315fa2",
1004
- borderColor: "#F1F1F1",
1005
- justifyContent: "center",
1006
- alignItems: "center",
1007
- position: "initial",
1008
- left: "0%",
1009
- top: "0%",
1010
- borderRadius: "0 0 4px 4px",
1011
- borderWidth: "0px"
1012
- },
1013
- titleStyleProps: {
1014
- fontFamily: "'Segoe UI',Arial,sans-serif",
1015
- fontWeight: "normal",
1016
- fontSize: "14px",
1017
- color: "#F1F1F1",
1018
- margin: "0px 0px 0px 0px",
1019
- textAlign: "center",
1020
- display: "flex",
1021
- order: 2,
1022
- alignSelf: "auto"
1023
- },
1024
- subtitleStyleProps: {
1025
- fontFamily: "'Segoe UI',Arial,sans-serif",
1026
- fontWeight: "bold",
1027
- fontSize: "18px",
1028
- color: "#F1F1F1",
1029
- margin: "0px 0px 50px 10px",
1030
- textAlign: "center",
1031
- display: "flex",
1032
- order: 3,
1033
- alignSelf: "auto"
1034
- },
1035
- iconStyleProps: {
1036
- borderRadius: "50%",
1037
- backgroundColor: "#F1F1F1",
1038
- boxShadow: "0px 0px 0.5px 7px #3F75AB",
1039
- width: "86px",
1040
- height: "86px",
1041
- margin: "0px 0px 20px 0px",
1042
- display: "flex",
1043
- order: 1,
1044
- alignSelf: "auto",
1045
- overflow: "visible"
1046
- },
1047
- iconImageProps: {
1048
- src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2lpKSI+DQo8cGF0aCBkPSJNMTUuMTk3MSAxNi4yNzI1VjI1Ljg1MjRDMTUuMTk3MSAyNy4zODExIDE1Ljg0MDEgMjcuNTIwMSAxNi45ODMyIDI3LjUyMDFMMjYuNzA4NCAyNy41NjQ5TDMxLjAwMzkgMzIuMzEyM1YyNy41NjQ5SDMxLjg5N0MzMi4xNzQzIDI3LjU2MzcgMzIuNDQ4NyAyNy41MDc3IDMyLjcwNDUgMjcuNDAwMUMzMi45NjAzIDI3LjI5MjQgMzMuMTkyNSAyNy4xMzUzIDMzLjM4NzggMjYuOTM3NUMzMy41ODMxIDI2LjczOTggMzMuNzM3NyAyNi41MDU0IDMzLjg0MjcgMjYuMjQ3N0MzMy45NDc4IDI1Ljk5IDM0LjAwMTMgMjUuNzE0IDM0LjAwMDEgMjUuNDM1NVYxNi4zMDM4QzM0LjAwMTMgMTYuMDI1NCAzMy45NDc4IDE1Ljc0OTQgMzMuODQyNyAxNS40OTE3QzMzLjczNzcgMTUuMjM0IDMzLjU4MzEgMTQuOTk5NiAzMy4zODc4IDE0LjgwMThDMzMuMTkyNSAxNC42MDQxIDMyLjk2MDMgMTQuNDQ2OSAzMi43MDQ1IDE0LjMzOTNDMzIuNDQ4NyAxNC4yMzE2IDMyLjE3NDMgMTQuMTc1NiAzMS44OTcgMTQuMTc0NEwxNy4zMDQ3IDE0LjE0MzFDMTcuMDI2OSAxNC4xNDM3IDE2Ljc1MiAxNC4xOTkyIDE2LjQ5NTcgMTQuMzA2NkMxNi4yMzk0IDE0LjQxNCAxNi4wMDY3IDE0LjU3MTEgMTUuODEwOSAxNC43Njg5QzE1LjYxNTIgMTQuOTY2NyAxNS40NjAyIDE1LjIwMTMgMTUuMzU0OCAxNS40NTkzQzE1LjI0OTUgMTUuNzE3MyAxNS4xOTU5IDE1Ljk5MzYgMTUuMTk3MSAxNi4yNzI1WiIgZmlsbD0iI0Q2RDZENiIvPg0KPC9nPg0KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjFfZGlpKSI+DQo8cGF0aCBkPSJNMjcuODczNSA2LjY5ODg3VjE4Ljg0MDlDMjcuODczNSAyMC43Nzg1IDI3LjA1NzIgMjAuOTU0NiAyNS42MDU4IDIwLjk1NDZMMTMuMjU4IDIxLjAxMTRMNy44MDQxNCAyNy4wMjg1VjIxLjAxMTRINi42NzAyN0M2LjMxODEyIDIxLjAwOTkgNS45Njk3MSAyMC45Mzg5IDUuNjQ0OTMgMjAuODAyNUM1LjMyMDE2IDIwLjY2NjEgNS4wMjUzOCAyMC40NjY4IDQuNzc3NDIgMjAuMjE2MkM0LjUyOTQ2IDE5Ljk2NTYgNC4zMzMxOSAxOS42Njg1IDQuMTk5OCAxOS4zNDE5QzQuMDY2NDIgMTkuMDE1MiAzLjk5ODUzIDE4LjY2NTUgNC4wMDAwMiAxOC4zMTI1VjYuNzM4NjRDMy45OTg1MyA2LjM4NTcxIDQuMDY2NDIgNi4wMzU5NSA0LjE5OTggNS43MDkzMUM0LjMzMzE5IDUuMzgyNjcgNC41Mjk0NiA1LjA4NTU3IDQuNzc3NDIgNC44MzQ5NUM1LjAyNTM4IDQuNTg0MzQgNS4zMjAxNiA0LjM4NTEzIDUuNjQ0OTMgNC4yNDg2OUM1Ljk2OTcxIDQuMTEyMjUgNi4zMTgxMiA0LjA0MTI2IDYuNjcwMjcgNC4wMzk3N0wyNS4xOTc2IDRDMjUuNTUwMiA0LjAwMDc0IDI1Ljg5OTMgNC4wNzExOCAyNi4yMjQ3IDQuMjA3MjlDMjYuNTUwMSA0LjM0MzM5IDI2Ljg0NTYgNC41NDI0OSAyNy4wOTQxIDQuNzkzMThDMjcuMzQyNyA1LjA0Mzg2IDI3LjUzOTUgNS4zNDEyMiAyNy42NzMyIDUuNjY4MjNDMjcuODA3IDUuOTk1MjMgMjcuODc1IDYuMzQ1NDYgMjcuODczNSA2LjY5ODg3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPg0KPC9nPg0KPGRlZnM+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2lpIiB4PSIxNS4xOTcxIiB5PSIxNC4xNDMxIiB3aWR0aD0iMTguODAzMSIgaGVpZ2h0PSIxOC4xNjkzIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC4yIiBkeT0iLTAuMiIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTcgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9InNoYXBlIiByZXN1bHQ9ImVmZmVjdDFfaW5uZXJTaGFkb3ciLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC41IiBkeT0iLTAuNSIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTYgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9ImVmZmVjdDFfaW5uZXJTaGFkb3ciIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPC9maWx0ZXI+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIxX2RpaSIgeD0iMCIgeT0iMCIgd2lkdGg9IjM5Ljg3MzYiIGhlaWdodD0iMzkuMDI4NSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+DQo8ZmVPZmZzZXQgZHg9IjQiIGR5PSI0Ii8+DQo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0Ii8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMiIgZHk9Ii0yIi8+DQo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIi8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMC4xNyAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0ic2hhcGUiIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+DQo8ZmVPZmZzZXQgZHg9Ii0xIiBkeT0iLTEiLz4NCjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiLz4NCjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwLjE2IDAiLz4NCjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJlZmZlY3QyX2lubmVyU2hhZG93IiByZXN1bHQ9ImVmZmVjdDNfaW5uZXJTaGFkb3ciLz4NCjwvZmlsdGVyPg0KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iLTAuMzk1MDAxIiB5MT0iMjMuMTI4MiIgeDI9IjIwLjEwNTgiIHkyPSIzNy44NDc0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQo8c3RvcCBzdG9wLWNvbG9yPSIjRUZFRkVGIi8+DQo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IndoaXRlIi8+DQo8L2xpbmVhckdyYWRpZW50Pg0KPC9kZWZzPg0KPC9zdmc+DQo=",
1049
- imageFit: 0,
1050
- width: "86px",
1051
- height: "86px",
1052
- shouldFadeIn: false,
1053
- shouldStartVisible: true
1054
- },
1055
- spinnerStyleProps: {
1056
- width: "42px",
1057
- height: "42px",
1058
- margin: "0px 0px 0px 0px",
1059
- display: "flex",
1060
- order: 4,
1061
- alignSelf: "auto"
1062
- },
1063
- spinnerTextStyleProps: {
1064
- fontFamily: "'Segoe UI',Arial,sans-serif",
1065
- fontWeight: "normal",
1066
- fontSize: "9px",
1067
- color: "#F1F1F1",
1068
- margin: "0px 0px 0px 5px",
1069
- textAlign: "center",
1070
- order: 5,
1071
- alignSelf: "auto"
1072
- },
1073
- classNames: {
1074
- iconClassName: undefined,
1075
- titleClassName: undefined,
1076
- subtitleClassName: undefined,
1077
- spinnerClassName: undefined,
1078
- spinnerTextClassName: undefined
1079
- }
1080
- }
1081
- },
1082
- outOfOfficeChatButtonProps: {
1083
- // Same interface as chatButtonProps, thus omitting undefined attributes here
1084
- componentOverrides: undefined,
1085
- controlProps: {
1086
- // ...[Existing chat button control props]
1087
- id: "oc-lcw-chat-button",
1088
- titleText: "We're Offline",
1089
- subtitleText: "No agents available",
1090
- onClick: () => {} // Detailed implementation omitted
1091
- },
1092
-
1093
- styleProps: {
1094
- // ...[Existing chat button style props]
1095
- iconStyleProps: {
1096
- backgroundColor: "#000000"
1097
- }
1098
- }
1099
- },
1100
- outOfOfficeHeaderProps: {
1101
- // Same interface as headerProps, thus omitting undefined attributes here
1102
- componentOverrides: undefined,
1103
- controlProps: {
1104
- // ...[Existing chat button control props]
1105
- id: "oc-lcw-header",
1106
- headerTitleProps: {
1107
- text: "We're Offline"
1108
- },
1109
- onMinimizeClick: () => {} // Detailed implementation omitted
1110
- },
1111
-
1112
- styleProps: {
1113
- // ...[Existing chat button style props]
1114
- generalStyleProps: {
1115
- // ...[Existing chat button general style props]
1116
- borderRadius: "0px",
1117
- backgroundColor: "#000000",
1118
- height: "40px"
1119
- },
1120
- titleStyleProps: {
1121
- // ...[Existing chat button title style props]
1122
- margin: "0 0 0 10px",
1123
- color: "#FFFFFF"
1124
- }
1125
- }
1126
- },
1127
- outOfOfficeHoursPaneProps: {
1128
- componentOverrides: {
1129
- title: undefined
1130
- },
1131
- controlProps: {
1132
- id: "oc-lcw-outofofficehours-pane",
1133
- role: undefined,
1134
- dir: "auto",
1135
- hideOOOHPane: false,
1136
- hideTitle: false,
1137
- titleText: "Thanks for contacting us. You have reached us outside of our operating hours. An agent will respond when we open. Please see link https://microsoft.com",
1138
- openLinkInNewTab: true
1139
- },
1140
- styleProps: {
1141
- generalStyleProps: {
1142
- borderStyle: "solid",
1143
- width: "100%",
1144
- height: "100%",
1145
- borderRadius: "0px 0px 4px 4px",
1146
- borderWidth: "3px",
1147
- backgroundColor: "#FFFFFF",
1148
- borderColor: "#F1F1F1",
1149
- position: "absolute",
1150
- justifyContent: "center",
1151
- alignItems: "stretch",
1152
- flexFlow: "column wrap"
1153
- },
1154
- titleStyleProps: {
1155
- fontFamily: "'Segoe UI',Arial,sans-serif",
1156
- fontWeight: "normal",
1157
- fontSize: "14px",
1158
- color: "#000000",
1159
- textAlign: "center",
1160
- alignSelf: "auto"
1161
- },
1162
- classNames: {
1163
- containerClassName: undefined,
1164
- titleClassName: undefined
1165
- }
1166
- }
1167
- },
1168
- postChatLoadingPaneProps: {
1169
- // Same interface as loadingPaneProps, thus omitting undefined attributes here
1170
- componentOverrides: undefined,
1171
- controlProps: {
1172
- // ...[Existing loading pane control props]
1173
- id: "oc-lcw-postchatloading-pane",
1174
- hideIcon: true,
1175
- hideTitle: true,
1176
- hideSpinner: true,
1177
- hideSpinnerText: true,
1178
- subtitleText: "Please take a moment to give us feedback about your chat experience. We are loading the survey for you now."
1179
- },
1180
- styleProps: {
1181
- // ...[Existing loading pane style props]
1182
- generalStyleProps: {
1183
- position: "initial",
1184
- width: "100%",
1185
- height: "100%",
1186
- left: "0%",
1187
- top: "0%",
1188
- borderRadius: "0 0 4px 4px",
1189
- borderWidth: "0px",
1190
- backgroundColor: "#315FA2"
1191
- }
1192
- }
1193
- },
1194
- postChatSurveyPaneProps: {
1195
- controlProps: {
1196
- id: "oc-lcw-postchatsurvey-pane",
1197
- role: undefined,
1198
- title: "Post chat survey pane",
1199
- surveyURL: ""
1200
- },
1201
- styleProps: {
1202
- generalStyleProps: {
1203
- borderStyle: "solid",
1204
- borderRadius: "0 0 4px 4px",
1205
- borderWidth: "3px",
1206
- backgroundColor: "#FFFFFF",
1207
- borderColor: "#F1F1F1",
1208
- position: "initial",
1209
- height: "100%",
1210
- width: "100%",
1211
- left: "0%",
1212
- top: "0%",
1213
- display: "contents"
1214
- }
1215
- },
1216
- isCustomerVoiceSurveyCompact: undefined
1217
- },
1218
- preChatSurveyPaneProps: {
1219
- controlProps: {
1220
- id: "oc-lcw-prechatsurveypane-default",
1221
- dir: "auto",
1222
- hidePreChatSurveyPane: false,
1223
- adaptiveCardHostConfig: "{\"fontFamily\":\"Segoe UI, Helvetica Neue, sans-serif\",\"containerStyles\":{\"default\":{\"foregroundColors\":{\"default\":{\"default\":\"#000000\"}},\"backgroundColor\":\"#FFFFFF\"}},\"actions\":{\"actionsOrientation\":\"Vertical\",\"actionAlignment\":\"stretch\"}}",
1224
- payload: "{\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"type\":\"AdaptiveCard\",\"version\":\"1.1\",\"body\":[{\"type\":\"TextBlock\",\"weight\":\"bolder\",\"text\":\"Please answer below questions.\"},{\"type\":\"Input.Text\",\"id\":\"1e5e4e7a-8f0b-ec11-b6e6-000d3a305d38\",\"label\":\"name pls?\",\"maxLength\":100,\"isRequired\":true,\"errorMessage\":\"Name is required\"},{\"type\":\"Input.Text\",\"id\":\"7f8f5d6d-995e-ec11-8f8f-000d3a31376e\",\"label\":\"multi\\nmulti\\nmulti\",\"style\":\"text\",\"isMultiline\":true,\"maxLength\":250},{\"type\":\"Input.ChoiceSet\",\"id\":\"e4bdf7cb-995e-ec11-8f8f-000d3a31376e\",\"label\":\"options\",\"isMultiSelect\":false,\"value\":\"1\",\"style\":\"compact\",\"choices\":[{\"title\":\"one\",\"value\":\"1\"},{\"title\":\"two\",\"value\":\"2\"},{\"title\":\"three\",\"value\":\"3\"}]},{\"type\":\"Input.Toggle\",\"id\":\"b26011d2-995e-ec11-8f8f-000d3a31376e\",\"title\":\"consent\",\"valueOn\":\"True\",\"valueOff\":\"False\",\"value\":\"false\"},{\"type\":\"TextBlock\",\"isSubtle\":true,\"text\":\"Fields marked with * are mandatory.\",\"wrap\":true}],\"actions\":[{\"type\":\"Action.Submit\",\"title\":\"Submit\",\"data\":{\"Type\":\"InputSubmit\"}}]}",
1225
- onSubmit: function () {} // Detailed implementation omitted
1226
- },
1227
-
1228
- styleProps: {
1229
- generalStyleProps: {
1230
- borderStyle: "solid",
1231
- borderRadius: "4px",
1232
- borderWidth: "0px",
1233
- backgroundColor: "#FFFFFF",
1234
- borderColor: "#F1F1F1",
1235
- overflowY: "auto",
1236
- height: "inherit",
1237
- width: "inherit"
1238
- },
1239
- customButtonStyleProps: {
1240
- backgroundColor: "rgb(49, 95, 162)",
1241
- color: "#FFFFFF",
1242
- fontFamily: "Segoe UI, Arial, sans-serif",
1243
- fontSize: "15px",
1244
- height: "48px"
1245
- },
1246
- adaptiveCardContainerStyleProps: {
1247
- border: "1px solid #ECECEC",
1248
- borderRadius: "4px",
1249
- margin: "3%"
1250
- },
1251
- customTextInputStyleProps: {
1252
- height: "20px"
1253
- },
1254
- customMultilineTextInputStyleProps: {
1255
- height: "52px"
1256
- }
1257
- }
1258
- },
1259
- proactiveChatPaneProps: {
1260
- componentOverrides: {
1261
- title: undefined,
1262
- subtitle: undefined,
1263
- closeButton: undefined,
1264
- bodyTitle: undefined,
1265
- startButton: undefined
1266
- },
1267
- controlProps: {
1268
- id: "oc-lcw-proactivechat",
1269
- dir: "ltr",
1270
- hideProactiveChatPane: false,
1271
- proactiveChatPaneAriaLabel: "Proactive Chat Pane",
1272
- hideTitle: false,
1273
- titleText: "Welcome to",
1274
- hideSubtitle: false,
1275
- subtitleText: "Live chat support!",
1276
- hideCloseButton: false,
1277
- closeButtonProps: {
1278
- id: "oc-lcw-proactivechat-closebutton",
1279
- type: "icon",
1280
- iconName: "ChromeClose",
1281
- ariaLabel: "Close",
1282
- imageIconProps: undefined,
1283
- text: "Close",
1284
- onClick: undefined,
1285
- className: undefined,
1286
- hideButtonTitle: true
1287
- },
1288
- isBodyContainerHorizantal: false,
1289
- hideBodyTitle: false,
1290
- bodyTitleText: "Hi! Have any questions? I am here to help.",
1291
- hideStartButton: false,
1292
- startButtonText: "Chat Now",
1293
- startButtonAriaLabel: "Chat Now",
1294
- onClose: () => {},
1295
- // Detailed implementation omitted
1296
- onStart: () => {} // Detailed implementation omitted
1297
- },
1298
-
1299
- styleProps: {
1300
- generalStyleProps: {
1301
- backgroundColor: "rgb(255, 255, 255)",
1302
- borderRadius: "8px",
1303
- boxShadow: "0 0 4px rgb(102 102 102 / 50%)",
1304
- bottom: "0",
1305
- height: "auto",
1306
- margin: "3px",
1307
- minHeight: "133px",
1308
- position: "absolute",
1309
- right: "0",
1310
- width: "245px",
1311
- zIndex: "9999"
1312
- },
1313
- headerContainerStyleProps: {
1314
- backgroundColor: "rgb(49, 95, 162)",
1315
- backgroundImage: `url(${_omnichannelChatComponents.ProactiveChatBannerBase64})`,
1316
- backgroundPosition: "initial",
1317
- backgroundRepeat: "no-repeat",
1318
- borderTopLeftRadius: "inherit",
1319
- borderTopRightRadius: "inherit",
1320
- height: "90px",
1321
- padding: "10px 16px 10px 16px"
1322
- },
1323
- textContainerStyleProps: {
1324
- color: "rgb(255, 255, 255)",
1325
- fontFamily: "'Segoe UI', Arial, sans-serif",
1326
- fontSize: "14px",
1327
- fontStyle: "normal",
1328
- fontWeight: "400",
1329
- lineHeight: "19px",
1330
- width: "95%"
1331
- },
1332
- titleStyleProps: {
1333
- color: "rgb(255, 255, 255)",
1334
- fontFamily: "'Segoe UI', Arial, sans-serif"
1335
- },
1336
- subtitleStyleProps: {
1337
- color: "rgb(255, 255, 255)",
1338
- fontFamily: "'Segoe UI', Arial, sans-serif",
1339
- fontSize: "18px",
1340
- fontWeight: "600"
1341
- },
1342
- closeButtonStyleProps: {
1343
- backgroundImage: `url(${_omnichannelChatComponents.CloseChatButtonIconBase64})`,
1344
- backgroundPosition: "center",
1345
- backgroundRepeat: "no-repeat",
1346
- color: "#605e5c",
1347
- cursor: "pointer",
1348
- height: "14px",
1349
- lineHeight: "14px",
1350
- textAlign: "center",
1351
- width: "14px",
1352
- zIndex: "inherit"
1353
- },
1354
- closeButtonHoveredStyleProps: {
1355
- backgroundColor: "",
1356
- color: ""
1357
- },
1358
- bodyContainerStyleProps: {},
1359
- bodyTitleStyleProps: {
1360
- color: "rgb(0, 0, 0)",
1361
- display: "inline-block",
1362
- fontFamily: "'Segoe UI', Arial, sans-serif",
1363
- fontSize: "14px",
1364
- lineHeight: "19px",
1365
- padding: "16px",
1366
- overflow: "hidden",
1367
- wordBreak: "break-word"
1368
- },
1369
- startButtonStyleProps: {
1370
- backgroundColor: "rgb(49, 95, 162)",
1371
- borderRadius: "40px",
1372
- color: "rgb(255, 255, 255)",
1373
- cursor: "pointer",
1374
- fontFamily: "'Segoe UI', Arial, sans-serif",
1375
- margin: "20px 16px 20px 16px",
1376
- padding: "6px 23px 6px 23px",
1377
- width: "50%",
1378
- zIndex: "inherit"
1379
- },
1380
- startButtonHoveredStyleProps: {
1381
- backgroundColor: "",
1382
- color: ""
1383
- },
1384
- classNames: {
1385
- containerClassName: undefined,
1386
- headerContainerClassName: undefined,
1387
- textContainerClassName: undefined,
1388
- titleClassName: undefined,
1389
- subtitleClassName: undefined,
1390
- closeButtonClassName: undefined,
1391
- bodyContainerClassName: undefined,
1392
- bodyTitleClassName: undefined,
1393
- startButtonClassName: undefined
1394
- }
1395
- },
1396
- ProactiveChatInviteTimeoutInMs: 60000
1397
- },
1398
- reconnectChatPaneProps: {
1399
- componentOverrides: {
1400
- title: undefined,
1401
- subtitle: undefined,
1402
- icon: undefined,
1403
- continueChatButton: undefined,
1404
- startNewChatButton: undefined
1405
- },
1406
- controlProps: {
1407
- id: "oc-lcw-reconnectchat-pane",
1408
- dir: "ltr",
1409
- hideReconnectChatPane: false,
1410
- reconnectChatPaneAriaLabel: "Reconnect Chat Pane",
1411
- hideTitle: false,
1412
- titleText: "Previous session detected",
1413
- hideSubtitle: false,
1414
- subtitleText: "We have detected a previous chat session. Would you like to continue with your previous session?",
1415
- hideIcon: false,
1416
- iconAriaLabel: "Reconnect Chat Pane Icon",
1417
- isButtonGroupHorizontal: false,
1418
- hideContinueChatButton: false,
1419
- continueChatButtonText: "Continue conversation",
1420
- continueChatButtonAriaLabel: "Continue conversation",
1421
- hideStartNewChatButton: false,
1422
- startNewChatButtonText: "Start new conversation",
1423
- startNewChatButtonAriaLabel: "Start new conversation",
1424
- onContinueChat: () => {},
1425
- // Detailed implementation omitted
1426
- onStartNewChat: () => {},
1427
- // Detailed implementation omitted
1428
- onMinimize: () => {} // Detailed implementation omitted
1429
- },
1430
-
1431
- styleProps: {
1432
- generalStyleProps: {
1433
- backgroundColor: "rgb(255, 255, 255)",
1434
- borderColor: "#E6E6E6",
1435
- borderRadius: "4px",
1436
- borderStyle: "solid",
1437
- borderWidth: "3px",
1438
- padding: "15px",
1439
- height: "100%",
1440
- width: "100%"
1441
- },
1442
- wrapperStyleProps: {
1443
- backgroundColor: "rgb(255, 255, 255)",
1444
- borderColor: "#E6E6E6",
1445
- borderRadius: "0 8px 8px 8px",
1446
- borderStyle: "solid",
1447
- borderWidth: "1px",
1448
- padding: "20px",
1449
- width: "100%"
1450
- },
1451
- titleStyleProps: {
1452
- color: "rgb(0, 0, 0)",
1453
- fontFamily: "'Segoe UI', Arial, sans-serif",
1454
- fontSize: "16px",
1455
- fontWeight: "600",
1456
- lineHeight: "19px"
1457
- },
1458
- subtitleStyleProps: {
1459
- color: "rgb(0, 0, 0)",
1460
- fontFamily: "'Segoe UI', Arial, sans-serif",
1461
- fontSize: "16px",
1462
- fontWeight: "400",
1463
- lineHeight: "19px"
1464
- },
1465
- iconStyleProps: {
1466
- backgroundImage: `url(${_omnichannelChatComponents.ChatReconnectIconBase64})`,
1467
- backgroundPosition: "center",
1468
- backgroundRepeat: "no-repeat",
1469
- backgroundSize: "200px",
1470
- height: "130px",
1471
- margin: "0 auto",
1472
- width: "130px"
1473
- },
1474
- buttonGroupStyleProps: {
1475
- alignItems: "stretch"
1476
- },
1477
- continueChatButtonStyleProps: {
1478
- backgroundColor: "rgb(49, 95, 162)",
1479
- color: "rgb(255, 255, 255)",
1480
- cursor: "pointer",
1481
- fontFamily: "'Segoe UI', Arial, sans-serif",
1482
- fontSize: "16px",
1483
- fontWeight: "600",
1484
- height: "60px",
1485
- marginBottom: "5px",
1486
- padding: "4px 10px 5px 10px"
1487
- },
1488
- continueChatButtonHoveredStyleProps: {
1489
- filter: "brightness(0.8)"
1490
- },
1491
- startNewChatButtonStyleProps: {
1492
- backgroundColor: "rgb(0, 0, 0)",
1493
- color: "rgb(255, 255, 255)",
1494
- cursor: "pointer",
1495
- fontFamily: "'Segoe UI', Arial, sans-serif",
1496
- fontSize: "16px",
1497
- fontWeight: "600",
1498
- height: "60px",
1499
- padding: "4px 10px 5px 10px"
1500
- },
1501
- startNewChatButtonHoveredStyleProps: {
1502
- backgroundColor: "rgb(132, 132, 130)"
1503
- },
1504
- classNames: {
1505
- containerClassName: undefined,
1506
- wrapperClassName: undefined,
1507
- titleClassName: undefined,
1508
- subtitleClassName: undefined,
1509
- iconClassName: undefined,
1510
- buttonGroupClassName: undefined,
1511
- continueChatButtonClassName: undefined,
1512
- startNewChatButtonClassName: undefined
1513
- }
1514
- },
1515
- reconnectId: undefined,
1516
- redirectInSameWindow: undefined
1517
- },
1518
- startChatErrorPaneProps: {
1519
- controlProps: {
1520
- titleText: "We are unable to load chat at this time.",
1521
- subtitleText: "Please try again later."
1522
- }
1523
- },
1524
- styleProps: {
1525
- generalStyles: {
1526
- position: "absolute",
1527
- justifyContent: "center",
1528
- alignItems: "center",
1529
- // Below general style is for chat button only
1530
- boxShadow: "0px 0px 2px rgba(0, 0, 0, 0.16), 0px 4px 8px rgba(0, 0, 0, 0.12)",
1531
- MozBoxShadow: "0px 0px 2px rgba(0, 0, 0, 0.16), 0px 4px 8px rgba(0, 0, 0, 0.12)",
1532
- WebkitBoxShadow: "0px 0px 2px rgba(0, 0, 0, 0.16), 0px 4px 8px rgba(0, 0, 0, 0.12)",
1533
- borderRadius: "4px",
1534
- padding: "0.5"
1535
- },
1536
- className: undefined
1537
- },
1538
- webChatContainerProps: {
1539
- containerStyles: {
1540
- height: "100%",
1541
- width: "100%",
1542
- overflowY: "hidden"
1543
- },
1544
- webChatStyles: {
1545
- // For the full list of WebChat StyleOptions, see https://github.com/microsoft/BotFramework-WebChat/blob/main/packages/api/src/StyleOptions.ts
1546
- avatarSize: 32,
1547
- backgroundColor: "#F7F7F9",
1548
- botAvatarBackgroundColor: "#315FA2",
1549
- botAvatarInitials: "WC",
1550
- bubbleBackground: "#315FA2",
1551
- bubbleBorderRadius: 4,
1552
- bubbleBorderWidth: 0,
1553
- bubbleFromUserBackground: "#FFFFFF",
1554
- bubbleFromUserBorderRadius: 4,
1555
- bubbleFromUserBorderWidth: 1,
1556
- bubbleFromUserTextColor: "Black",
1557
- bubbleImageHeight: 240,
1558
- bubbleMaxWidth: 250,
1559
- bubbleMinHeight: 34,
1560
- bubbleMinWidth: 20,
1561
- bubbleTextColor: "#FFFFFF",
1562
- hideSendBox: false,
1563
- hideUploadButton: true,
1564
- primaryFont: "Segoe UI, Arial, sans-serif",
1565
- rootHeight: "100%",
1566
- rootWidth: "100%",
1567
- sendBoxTextWrap: true,
1568
- sendBoxHeight: 60,
1569
- sendBoxMaxHeight: 96,
1570
- sendBoxBackground: "#FFFFFF",
1571
- showAvatarInGroup: true,
1572
- suggestedActionsStackedHeight: 125,
1573
- suggestedActionsStackedOverflow: "scroll",
1574
- // eslint-disable-line @typescript-eslint/no-explicit-any
1575
- typingAnimationDuration: 3500
1576
- },
1577
- webChatProps: {
1578
- // "core" props: language-neutral, SHOULD work on React Native (if we work on that later)
1579
- activityMiddleware: (0, _activityMiddleware.createActivityMiddleware)(),
1580
- activityStatusMiddleware: _activityStatusMiddleware.activityStatusMiddleware,
1581
- attachmentForScreenReaderMiddleware: undefined,
1582
- attachmentMiddleware: (0, _attachmentMiddleware.default)(true),
1583
- avatarMiddleware: (0, _avatarMiddleware.createAvatarMiddleware)(),
1584
- cardActionMiddleware: undefined,
1585
- children: undefined,
1586
- dir: "ltr",
1587
- disabled: undefined,
1588
- downscaleImageToDataURL: undefined,
1589
- grammars: undefined,
1590
- groupActivitiesMiddleware: _groupActivitiesMiddleware.groupActivitiesMiddleware,
1591
- internalErrorBoxClass: undefined,
1592
- internalRenderErrorBox: undefined,
1593
- locale: "en-US",
1594
- onTelemetry: (0, _WebChatLogger.createWebChatTelemetry)(),
1595
- overrideLocalizedStrings: undefined,
1596
- renderMarkdown: (0, _createMarkdown.createMarkdown)(false, false),
1597
- scrollToEndButtonMiddleware: undefined,
1598
- selectVoice: undefined,
1599
- sendTypingIndicator: undefined,
1600
- store: _WebChatStoreLoader.WebChatStoreLoader.store,
1601
- toastMiddleware: undefined,
1602
- typingIndicatorMiddleware: _typingIndicatorMiddleware.typingIndicatorMiddleware,
1603
- userID: undefined,
1604
- username: undefined,
1605
- // "api" props: these stuff probably only works when in a web browser
1606
- extraStyleSet: undefined,
1607
- nonce: undefined,
1608
- styleSet: undefined,
1609
- suggestedActionsAccessKey: undefined,
1610
- webSpeechPonyfillFactory: undefined,
1611
- // "bundle" props: these stuff are not available if you "decompose" or "recompose" Web Chat.
1612
- // I.e. not using composition mode (or <Composer>).
1613
- className: undefined,
1614
- role: undefined
1615
- },
1616
- directLine: undefined,
1617
- storeMiddlewares: undefined,
1618
- // Additional store middlewares
1619
- renderingMiddlewareProps: {
1620
- timestampDir: "ltr",
1621
- disableActivityMiddleware: false,
1622
- disableAttachmentMiddleware: false,
1623
- disableActivityStatusMiddleware: false,
1624
- disableAvatarMiddleware: false,
1625
- disableGroupActivitiesMiddleware: false,
1626
- disableTypingIndicatorMiddleware: false,
1627
- hideSendboxOnConversationEnd: true,
1628
- userMessageStyleProps: {
1629
- fontSize: "14px"
1630
- },
1631
- systemMessageStyleProps: {
1632
- maxWidth: "100%",
1633
- color: "#605E5C",
1634
- background: "transparent",
1635
- fontSize: "12px",
1636
- borderRadius: 0,
1637
- minHeight: "auto",
1638
- fontFamily: "Segoe UI",
1639
- lineHeight: "16px",
1640
- padding: "0px 10px 0 10px"
1641
- },
1642
- userMessageBoxStyles: {
1643
- maxWidth: "90%"
1644
- },
1645
- systemMessageBoxStyles: {
1646
- maxWidth: "90%"
1647
- },
1648
- typingIndicatorStyleProps: {
1649
- marginLeft: "10px",
1650
- marginBottom: "5px",
1651
- display: "flex",
1652
- transition: "all .5s ease",
1653
- alignItems: "center"
1654
- },
1655
- typingIndicatorBubbleStyleProps: {
1656
- height: "6px",
1657
- width: "6px",
1658
- borderRadius: "6px",
1659
- background: "#315FA2",
1660
- animationDuration: "2s",
1661
- animationName: "bounce",
1662
- animationTimingFunction: "ease",
1663
- animationIterationCount: "infinite",
1664
- marginRight: "2px"
1665
- },
1666
- typingIndicatorMessageStyleProps: {
1667
- fontFamily: "\"Segoe UI\", Arial, sans-serif",
1668
- background: "transparent",
1669
- fontSize: "12px",
1670
- lineHeight: "15px",
1671
- color: "#605e5c",
1672
- marginLeft: "6px"
1673
- },
1674
- avatarStyleProps: {
1675
- width: "32px",
1676
- height: "32px",
1677
- borderRadius: "16px",
1678
- textAlign: "center",
1679
- backgroundColor: "#315FA2"
1680
- },
1681
- avatarTextStyleProps: {
1682
- margin: "0",
1683
- fontFamily: "\"Segoe UI\", Arial, sans-serif",
1684
- fontWeight: 600,
1685
- fontSize: "13px",
1686
- lineHeight: "18px",
1687
- color: "#FFFFFF",
1688
- paddingTop: "7px",
1689
- WebkitUserSelect: "none",
1690
- MozUserSelect: "none",
1691
- userSelect: "none"
1692
- },
1693
- timestampContentStyleProps: {
1694
- color: "#565452",
1695
- fontFamily: "\"Segoe UI\", Arial, sans-serif",
1696
- background: "transparent",
1697
- fontSize: "11px",
1698
- lineHeight: "15px",
1699
- paddingTop: 0
1700
- },
1701
- timestampFailedTextStyleProps: {
1702
- fontFamily: "\"Segoe UI\", Arial, sans-serif",
1703
- background: "transparent",
1704
- fontSize: "11px",
1705
- lineHeight: "15px",
1706
- paddingTop: 0,
1707
- color: "#A80000"
1708
- },
1709
- timestampRetryTextStyleProps: {
1710
- fontFamily: "\"Segoe UI\", Arial, sans-serif",
1711
- background: "transparent",
1712
- fontSize: "11px",
1713
- lineHeight: "15px",
1714
- paddingTop: 0,
1715
- color: "#0063B1",
1716
- cursor: "pointer"
1717
- },
1718
- attachmentProps: {
1719
- webChatAttachmentId: "oc-lcw-webchat-attachment",
1720
- adaptiveCardAttachmentId: "ms_lcw_webchat_adaptive_card",
1721
- enableInlinePlaying: true
1722
- },
1723
- attachmentDividerStyles: {
1724
- margin: "0",
1725
- height: "1px",
1726
- border: "0px",
1727
- backgroundColor: "#E8EAEC"
1728
- },
1729
- attachmentStyles: {
1730
- display: "flex",
1731
- alignItems: "center",
1732
- background: "transparent",
1733
- fontSize: "12px",
1734
- lineHeight: "16px",
1735
- boxSizing: "border-box",
1736
- borderRadius: "2px",
1737
- wordBreak: "break-all"
1738
- },
1739
- attachmentIconStyles: {
1740
- direction: "rtl",
1741
- padding: "0 0 0 8px",
1742
- lineHeight: 0
1743
- },
1744
- attachmentAdaptiveCardStyles: {
1745
- borderStyle: "solid",
1746
- borderColor: "rgb(230, 230, 230)",
1747
- borderWidth: "1px"
1748
- },
1749
- attachmentFileNameStyles: {
1750
- minHeight: "15px",
1751
- marginLeft: "5px",
1752
- marginRight: "5px",
1753
- color: "#000000 !important"
1754
- },
1755
- attachmentDownloadIconStyles: {
1756
- height: "12px",
1757
- width: "12px",
1758
- marginLeft: "auto !important",
1759
- padding: "2px !important",
1760
- fill: "#000000 !important"
1761
- },
1762
- attachmentContentStyles: {
1763
- width: "200px"
1764
- },
1765
- attachmentSizeStyles: {
1766
- display: "none"
1767
- },
1768
- receivedMessageAnchorStyles: {
1769
- color: "white"
1770
- }
1771
- },
1772
- localizedTexts: {
1773
- /*
1774
- MIDDLEWARE_BANNER_FILE parameters:
1775
- {0} = File limit size
1776
- {1} = File extension
1777
- {2} = File name
1778
- */
1779
- MIDDLEWARE_BANNER_FILE_NULL_ERROR: "There was an error uploading the file, please try again.",
1780
- MIDDLEWARE_BANNER_FILE_SIZE_WITHOUT_EXTENSION_ERROR: "File {2} exceeds the allowed limit of {0} MB and please upload the file with an appropriate file extension.",
1781
- MIDDLEWARE_BANNER_FILE_SIZE_EXTENSION_ERROR: "File {2} exceeds the allowed limit of {0} MB and {1} files are not supported.",
1782
- MIDDLEWARE_BANNER_FILE_WITHOUT_EXTENSION: "File upload error. Please upload the file {2} with an appropriate file extension.",
1783
- MIDDLEWARE_BANNER_FILE_EXTENSION_ERROR: "{1} files are not supported.",
1784
- MIDDLEWARE_BANNER_FILE_SIZE_ERROR: "File {2} exceeds the allowed limit of {0} MB.",
1785
- MIDDLEWARE_BANNER_FILE_IS_EMPTY_ERROR: "This file {2} can't be attached because it's empty. Please try again with a different file.",
1786
- MIDDLEWARE_BANNER_ERROR_MESSAGE: "Upload failed, please try again.",
1787
- MIDDLEWARE_BANNER_INTERNET_BACK_ONLINE: "You're back online.",
1788
- MIDDLEWARE_BANNER_NO_INTERNET_CONNECTION: "Unable to connect—please check your internet connection.",
1789
- MIDDLEWARE_MAX_CHARACTER_COUNT_EXCEEDED: "This message is too long. Please shorten your message to avoid sending failure.",
1790
- MIDDLEWARE_TYPING_INDICATOR_ONE: "{0} is typing ...",
1791
- MIDDLEWARE_TYPING_INDICATOR_TWO: "{0} and {1} are typing ...",
1792
- MIDDLEWARE_TYPING_INDICATOR_MULTIPLE: "{0} agents are typing ...",
1793
- MIDDLEWARE_MESSAGE_SENDING: "Sending ...",
1794
- MIDDLEWARE_MESSAGE_DELIVERED: "Sent",
1795
- MIDDLEWARE_MESSAGE_NOT_DELIVERED: "Not Delivered",
1796
- MIDDLEWARE_MESSAGE_RETRY: "Retry",
1797
- PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
1798
- MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external.",
1799
- MIDDLEWARE_BANNER_CHAT_DISCONNECT: "Your conversation has been disconnected. For additional assistance, please start a new chat."
1800
- },
1801
- botMagicCode: {
1802
- disabled: false,
1803
- fwdUrl: ""
1804
- },
1805
- adaptiveCardStyles: {
1806
- background: "white",
1807
- color: "black",
1808
- anchorColor: "blue",
1809
- textWhiteSpace: "normal",
1810
- buttonWhiteSpace: "normal"
1811
- },
1812
- hyperlinkTextOverride: false
1813
- },
1814
- telemetryConfig: undefined,
1815
- getAuthToken: undefined,
1816
- initialCustomContext: undefined
1817
- };
1818
- exports.dummyDefaultProps = dummyDefaultProps;