@microsoft/omnichannel-chat-widget 0.1.0-main.86df755 → 0.1.0-main.a7e4e7d

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 (163) hide show
  1. package/README.md +227 -0
  2. package/lib/cjs/assets/Audios.js +8 -0
  3. package/lib/cjs/assets/Icons.js +28 -0
  4. package/lib/cjs/common/Constants.js +38 -4
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +14 -0
  6. package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +42 -3
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +22 -4
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +28 -9
  10. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +48 -15
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +9 -5
  14. package/lib/cjs/common/utils.js +30 -2
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +9 -2
  17. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -54
  18. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  19. package/lib/cjs/components/footerstateful/FooterStateful.js +4 -5
  20. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +1 -1
  21. package/lib/cjs/components/headerstateful/HeaderStateful.js +11 -8
  22. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +3 -4
  23. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +42 -46
  24. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +14 -0
  25. package/lib/cjs/components/livechatwidget/common/endChat.js +116 -49
  26. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
  27. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +33 -9
  28. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +105 -20
  29. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +11 -7
  30. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +26 -24
  31. package/lib/cjs/components/livechatwidget/common/startChat.js +151 -53
  32. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  33. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +131 -32
  34. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  35. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
  36. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  37. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +26 -10
  38. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +10 -4
  39. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  40. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  41. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  42. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +9 -46
  43. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  44. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  45. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
  46. package/lib/cjs/contexts/common/ConversationState.js +3 -2
  47. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +11 -7
  48. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +12 -4
  49. package/lib/cjs/contexts/createReducer.js +35 -10
  50. package/lib/cjs/controller/componentController.js +2 -2
  51. package/lib/cjs/plugins/newMessageEventHandler.js +99 -0
  52. package/lib/esm/assets/Audios.js +1 -0
  53. package/lib/esm/assets/Icons.js +11 -0
  54. package/lib/esm/common/Constants.js +34 -3
  55. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  56. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  57. package/lib/esm/common/telemetry/TelemetryConstants.js +38 -2
  58. package/lib/esm/common/telemetry/TelemetryHelper.js +22 -5
  59. package/lib/esm/common/telemetry/TelemetryManager.js +22 -9
  60. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  61. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  62. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +50 -15
  63. package/lib/esm/common/telemetry/loggers/consoleLogger.js +9 -5
  64. package/lib/esm/common/utils.js +19 -1
  65. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  66. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +10 -2
  67. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -50
  68. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  69. package/lib/esm/components/footerstateful/FooterStateful.js +4 -5
  70. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +1 -1
  71. package/lib/esm/components/headerstateful/HeaderStateful.js +12 -9
  72. package/lib/esm/components/livechatwidget/common/createMarkdown.js +3 -3
  73. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +40 -47
  74. package/lib/esm/components/livechatwidget/common/disposeTelemetryLoggers.js +4 -0
  75. package/lib/esm/components/livechatwidget/common/endChat.js +110 -46
  76. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
  77. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +29 -9
  78. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +94 -20
  79. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +10 -3
  80. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +23 -22
  81. package/lib/esm/components/livechatwidget/common/startChat.js +146 -52
  82. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  83. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +122 -35
  84. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  85. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
  86. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  87. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +25 -10
  88. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +9 -5
  89. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  90. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  91. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  92. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +7 -44
  93. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  94. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  95. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
  96. package/lib/esm/contexts/common/ConversationState.js +3 -2
  97. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +11 -7
  98. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +12 -4
  99. package/lib/esm/contexts/createReducer.js +35 -9
  100. package/lib/esm/controller/componentController.js +2 -2
  101. package/lib/esm/plugins/newMessageEventHandler.js +82 -0
  102. package/lib/types/assets/Audios.d.ts +1 -0
  103. package/lib/types/assets/Icons.d.ts +11 -0
  104. package/lib/types/common/Constants.d.ts +19 -1
  105. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  106. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  107. package/lib/types/common/telemetry/TelemetryConstants.d.ts +27 -1
  108. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  109. package/lib/types/common/telemetry/TelemetryManager.d.ts +1 -0
  110. package/lib/types/common/telemetry/definitions/Contracts.d.ts +3 -0
  111. package/lib/types/common/telemetry/definitions/Payload.d.ts +15 -9
  112. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +1 -0
  113. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +2 -0
  114. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +12 -0
  115. package/lib/types/common/utils.d.ts +3 -0
  116. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  117. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  118. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +4 -1
  119. package/lib/types/components/livechatwidget/common/disposeTelemetryLoggers.d.ts +1 -0
  120. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  121. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -2
  122. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  123. package/lib/types/components/livechatwidget/common/startChat.d.ts +1 -1
  124. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  125. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  126. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +3 -1
  127. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  128. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  129. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -0
  130. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  131. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  132. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  133. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  134. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  135. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -0
  136. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +12 -8
  137. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  138. package/package.json +11 -11
  139. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  140. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  141. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  142. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  143. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  144. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  145. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  146. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  147. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  148. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  149. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  150. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  151. package/lib/esm/assets/assets.d.js +0 -0
  152. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  153. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  154. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  155. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  156. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  157. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  158. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  159. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  160. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  161. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  162. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  163. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -5,8 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.dummyDefaultProps = void 0;
7
7
 
8
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
+
8
10
  var _mockadapter = _interopRequireDefault(require("../../../webchatcontainerstateful/common/mockadapter"));
9
11
 
12
+ var _Audios = require("../../../../assets/Audios");
13
+
10
14
  var _WebChatStoreLoader = require("../../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
11
15
 
12
16
  var _activityStatusMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware");
@@ -23,13 +27,15 @@ var _groupActivitiesMiddleware = require("../../../webchatcontainerstateful/webc
23
27
 
24
28
  var _typingIndicatorMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware");
25
29
 
30
+ var _WebChatLogger = require("../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
31
+
26
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
33
 
28
34
  /* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
29
35
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
36
  const dummyDefaultProps = {
31
37
  audioNotificationProps: {
32
- audioSrc: "assets/audios/newMessageNotification.mp3"
38
+ audioSrc: _Audios.NewMessageNotificationSoundBase64
33
39
  },
34
40
  callingContainerProps: {
35
41
  controlProps: {
@@ -150,7 +156,7 @@ const dummyDefaultProps = {
150
156
  id: "oc-lcw-CurrentCall-timer",
151
157
  showHours: false,
152
158
  timerStyles: {
153
- color: "white",
159
+ color: "#FFFFFF",
154
160
  textAlign: "center",
155
161
  backgroundColor: "#3d3c3c",
156
162
  height: "45px",
@@ -181,8 +187,8 @@ const dummyDefaultProps = {
181
187
  },
182
188
  audioCallButtonStyleProps: {
183
189
  borderRadius: "50%",
184
- color: "white",
185
- backgroundColor: "green",
190
+ color: "#FFFFFF",
191
+ backgroundColor: "#008000",
186
192
  lineHeight: "40px",
187
193
  height: "40px",
188
194
  width: "40px",
@@ -193,8 +199,8 @@ const dummyDefaultProps = {
193
199
  },
194
200
  videoCallButtonStyleProps: {
195
201
  borderRadius: "50%",
196
- color: "white",
197
- backgroundColor: "green",
202
+ color: "#FFFFFF",
203
+ backgroundColor: "#008000",
198
204
  lineHeight: "40px",
199
205
  height: "40px",
200
206
  width: "40px",
@@ -209,8 +215,8 @@ const dummyDefaultProps = {
209
215
  },
210
216
  declineCallButtonStyleProps: {
211
217
  borderRadius: "50%",
212
- color: "white",
213
- backgroundColor: "red",
218
+ color: "#FFFFFF",
219
+ backgroundColor: "#DC0000",
214
220
  lineHeight: "40px",
215
221
  height: "40px",
216
222
  width: "40px",
@@ -219,12 +225,12 @@ const dummyDefaultProps = {
219
225
  },
220
226
  incomingCallTitleStyleProps: {
221
227
  margin: "0 5px",
222
- color: "white",
228
+ color: "#FFFFFF",
223
229
  fontSize: 12,
224
230
  fontFamily: "Segoe UI, Arial, sans-serif"
225
231
  },
226
232
  itemFocusStyleProps: {
227
- outline: "2px solid white"
233
+ outline: "2px solid #FFFFFF"
228
234
  }
229
235
  },
230
236
  currentCallStyleProps: {
@@ -236,7 +242,7 @@ const dummyDefaultProps = {
236
242
  },
237
243
  micButtonStyleProps: {
238
244
  borderRadius: "2px",
239
- color: "white",
245
+ color: "#FFFFFF",
240
246
  backgroundColor: "#3d3c3c",
241
247
  height: "45px",
242
248
  width: "50px",
@@ -247,7 +253,7 @@ const dummyDefaultProps = {
247
253
  },
248
254
  videoOffButtonStyleProps: {
249
255
  borderRadius: "2px",
250
- color: "white",
256
+ color: "#FFFFFF",
251
257
  backgroundColor: "#3d3c3c",
252
258
  height: "45px",
253
259
  width: "50px",
@@ -261,25 +267,13 @@ const dummyDefaultProps = {
261
267
  },
262
268
  endCallButtonStyleProps: {
263
269
  borderRadius: "2px",
264
- color: "white",
265
- backgroundColor: "red",
270
+ color: "#FFFFFF",
271
+ backgroundColor: "#DC0000",
266
272
  lineHeight: "50px",
267
273
  height: "45px",
268
274
  width: "50px",
269
275
  fontSize: "18px"
270
276
  },
271
- currentCallTimerStyleProps: {
272
- borderRadius: "2px",
273
- margin: "1px",
274
- color: "white",
275
- paddingTop: "18px",
276
- fontSize: 12,
277
- fontFamily: "Segoe UI, Arial, sans-serif",
278
- backgroundColor: "darkgrey",
279
- height: "45px",
280
- width: "50px",
281
- textAlign: "center"
282
- },
283
277
  videoTileStyleProps: {
284
278
  width: "100%",
285
279
  marginLeft: "auto",
@@ -384,7 +378,7 @@ const dummyDefaultProps = {
384
378
  margin: "-2px -2px -2px -3px",
385
379
  justifyContent: "center",
386
380
  backgroundSize: "65% 65%",
387
- backgroundImage: "assets/imgs/chat.svg",
381
+ backgroundImage: `url(${_omnichannelChatComponents.ModernChatIconBase64})`,
388
382
  display: "flex",
389
383
  backgroundRepeat: "no-repeat",
390
384
  backgroundPosition: "center"
@@ -493,7 +487,7 @@ const dummyDefaultProps = {
493
487
  },
494
488
  styleProps: {
495
489
  generalStyleProps: {
496
- backgroundColor: "white",
490
+ backgroundColor: "#FFFFFF",
497
491
  borderRadius: "2px",
498
492
  color: "black",
499
493
  fontFamily: "Segoe UI, Arial, sans-serif",
@@ -535,7 +529,7 @@ const dummyDefaultProps = {
535
529
  },
536
530
  confirmButtonStyleProps: {
537
531
  backgroundColor: "rgba(9,72,159,1)",
538
- color: "white",
532
+ color: "#FFFFFF",
539
533
  fontFamily: "Segoe UI, Arial, sans-serif",
540
534
  fontSize: "14px",
541
535
  fontWeight: "500",
@@ -549,7 +543,7 @@ const dummyDefaultProps = {
549
543
  border: "2px dotted #000"
550
544
  },
551
545
  cancelButtonStyleProps: {
552
- backgroundColor: "white",
546
+ backgroundColor: "#FFFFFF",
553
547
  fontFamily: "Segoe UI, Arial, sans-serif",
554
548
  fontSize: "14px",
555
549
  fontWeight: "500",
@@ -905,7 +899,7 @@ const dummyDefaultProps = {
905
899
  },
906
900
  headerIconProps: {
907
901
  id: "oc-lcw-header-icon",
908
- src: "assets/imgs/chatIcon.svg",
902
+ src: _omnichannelChatComponents.ModernChatIconBase64,
909
903
  alt: "Chat Icon",
910
904
  className: undefined
911
905
  },
@@ -934,16 +928,16 @@ const dummyDefaultProps = {
934
928
  fontSize: 16,
935
929
  fontFamily: "Segoe UI, Arial, sans-serif",
936
930
  fontWeight: "450",
937
- color: "white",
931
+ color: "#FFFFFF",
938
932
  padding: "3px 0"
939
933
  },
940
934
  minimizeButtonStyleProps: {
941
- color: "white",
935
+ color: "#FFFFFF",
942
936
  margin: "5px 0",
943
937
  fontSize: "12px"
944
938
  },
945
939
  closeButtonStyleProps: {
946
- color: "white",
940
+ color: "#FFFFFF",
947
941
  margin: "5px 0",
948
942
  fontSize: "12px"
949
943
  },
@@ -1030,7 +1024,7 @@ const dummyDefaultProps = {
1030
1024
  alignSelf: "auto"
1031
1025
  },
1032
1026
  iconImageProps: {
1033
- src: "assets/imgs/chat.svg",
1027
+ src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2lpKSI+DQo8cGF0aCBkPSJNMTUuMTk3MSAxNi4yNzI1VjI1Ljg1MjRDMTUuMTk3MSAyNy4zODExIDE1Ljg0MDEgMjcuNTIwMSAxNi45ODMyIDI3LjUyMDFMMjYuNzA4NCAyNy41NjQ5TDMxLjAwMzkgMzIuMzEyM1YyNy41NjQ5SDMxLjg5N0MzMi4xNzQzIDI3LjU2MzcgMzIuNDQ4NyAyNy41MDc3IDMyLjcwNDUgMjcuNDAwMUMzMi45NjAzIDI3LjI5MjQgMzMuMTkyNSAyNy4xMzUzIDMzLjM4NzggMjYuOTM3NUMzMy41ODMxIDI2LjczOTggMzMuNzM3NyAyNi41MDU0IDMzLjg0MjcgMjYuMjQ3N0MzMy45NDc4IDI1Ljk5IDM0LjAwMTMgMjUuNzE0IDM0LjAwMDEgMjUuNDM1NVYxNi4zMDM4QzM0LjAwMTMgMTYuMDI1NCAzMy45NDc4IDE1Ljc0OTQgMzMuODQyNyAxNS40OTE3QzMzLjczNzcgMTUuMjM0IDMzLjU4MzEgMTQuOTk5NiAzMy4zODc4IDE0LjgwMThDMzMuMTkyNSAxNC42MDQxIDMyLjk2MDMgMTQuNDQ2OSAzMi43MDQ1IDE0LjMzOTNDMzIuNDQ4NyAxNC4yMzE2IDMyLjE3NDMgMTQuMTc1NiAzMS44OTcgMTQuMTc0NEwxNy4zMDQ3IDE0LjE0MzFDMTcuMDI2OSAxNC4xNDM3IDE2Ljc1MiAxNC4xOTkyIDE2LjQ5NTcgMTQuMzA2NkMxNi4yMzk0IDE0LjQxNCAxNi4wMDY3IDE0LjU3MTEgMTUuODEwOSAxNC43Njg5QzE1LjYxNTIgMTQuOTY2NyAxNS40NjAyIDE1LjIwMTMgMTUuMzU0OCAxNS40NTkzQzE1LjI0OTUgMTUuNzE3MyAxNS4xOTU5IDE1Ljk5MzYgMTUuMTk3MSAxNi4yNzI1WiIgZmlsbD0iI0Q2RDZENiIvPg0KPC9nPg0KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjFfZGlpKSI+DQo8cGF0aCBkPSJNMjcuODczNSA2LjY5ODg3VjE4Ljg0MDlDMjcuODczNSAyMC43Nzg1IDI3LjA1NzIgMjAuOTU0NiAyNS42MDU4IDIwLjk1NDZMMTMuMjU4IDIxLjAxMTRMNy44MDQxNCAyNy4wMjg1VjIxLjAxMTRINi42NzAyN0M2LjMxODEyIDIxLjAwOTkgNS45Njk3MSAyMC45Mzg5IDUuNjQ0OTMgMjAuODAyNUM1LjMyMDE2IDIwLjY2NjEgNS4wMjUzOCAyMC40NjY4IDQuNzc3NDIgMjAuMjE2MkM0LjUyOTQ2IDE5Ljk2NTYgNC4zMzMxOSAxOS42Njg1IDQuMTk5OCAxOS4zNDE5QzQuMDY2NDIgMTkuMDE1MiAzLjk5ODUzIDE4LjY2NTUgNC4wMDAwMiAxOC4zMTI1VjYuNzM4NjRDMy45OTg1MyA2LjM4NTcxIDQuMDY2NDIgNi4wMzU5NSA0LjE5OTggNS43MDkzMUM0LjMzMzE5IDUuMzgyNjcgNC41Mjk0NiA1LjA4NTU3IDQuNzc3NDIgNC44MzQ5NUM1LjAyNTM4IDQuNTg0MzQgNS4zMjAxNiA0LjM4NTEzIDUuNjQ0OTMgNC4yNDg2OUM1Ljk2OTcxIDQuMTEyMjUgNi4zMTgxMiA0LjA0MTI2IDYuNjcwMjcgNC4wMzk3N0wyNS4xOTc2IDRDMjUuNTUwMiA0LjAwMDc0IDI1Ljg5OTMgNC4wNzExOCAyNi4yMjQ3IDQuMjA3MjlDMjYuNTUwMSA0LjM0MzM5IDI2Ljg0NTYgNC41NDI0OSAyNy4wOTQxIDQuNzkzMThDMjcuMzQyNyA1LjA0Mzg2IDI3LjUzOTUgNS4zNDEyMiAyNy42NzMyIDUuNjY4MjNDMjcuODA3IDUuOTk1MjMgMjcuODc1IDYuMzQ1NDYgMjcuODczNSA2LjY5ODg3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPg0KPC9nPg0KPGRlZnM+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2lpIiB4PSIxNS4xOTcxIiB5PSIxNC4xNDMxIiB3aWR0aD0iMTguODAzMSIgaGVpZ2h0PSIxOC4xNjkzIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC4yIiBkeT0iLTAuMiIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTcgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9InNoYXBlIiByZXN1bHQ9ImVmZmVjdDFfaW5uZXJTaGFkb3ciLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC41IiBkeT0iLTAuNSIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTYgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9ImVmZmVjdDFfaW5uZXJTaGFkb3ciIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPC9maWx0ZXI+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIxX2RpaSIgeD0iMCIgeT0iMCIgd2lkdGg9IjM5Ljg3MzYiIGhlaWdodD0iMzkuMDI4NSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+DQo8ZmVPZmZzZXQgZHg9IjQiIGR5PSI0Ii8+DQo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0Ii8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMiIgZHk9Ii0yIi8+DQo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIi8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMC4xNyAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0ic2hhcGUiIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+DQo8ZmVPZmZzZXQgZHg9Ii0xIiBkeT0iLTEiLz4NCjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiLz4NCjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwLjE2IDAiLz4NCjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJlZmZlY3QyX2lubmVyU2hhZG93IiByZXN1bHQ9ImVmZmVjdDNfaW5uZXJTaGFkb3ciLz4NCjwvZmlsdGVyPg0KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iLTAuMzk1MDAxIiB5MT0iMjMuMTI4MiIgeDI9IjIwLjEwNTgiIHkyPSIzNy44NDc0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQo8c3RvcCBzdG9wLWNvbG9yPSIjRUZFRkVGIi8+DQo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IndoaXRlIi8+DQo8L2xpbmVhckdyYWRpZW50Pg0KPC9kZWZzPg0KPC9zdmc+DQo=",
1034
1028
  imageFit: 0,
1035
1029
  width: "86px",
1036
1030
  height: "86px",
@@ -1105,7 +1099,7 @@ const dummyDefaultProps = {
1105
1099
  titleStyleProps: {
1106
1100
  // ...[Existing chat button title style props]
1107
1101
  margin: "0 0 0 10px",
1108
- color: "White"
1102
+ color: "#FFFFFF"
1109
1103
  }
1110
1104
  }
1111
1105
  },
@@ -1238,7 +1232,7 @@ const dummyDefaultProps = {
1238
1232
  },
1239
1233
  headerContainerStyleProps: {
1240
1234
  backgroundColor: "rgb(49, 95, 162)",
1241
- backgroundImage: "assets/imgs/Proactive_banner.png",
1235
+ backgroundImage: `url(${_omnichannelChatComponents.ProactiveChatBannerBase64})`,
1242
1236
  backgroundPosition: "initial",
1243
1237
  backgroundRepeat: "no-repeat",
1244
1238
  borderTopLeftRadius: "inherit",
@@ -1266,7 +1260,7 @@ const dummyDefaultProps = {
1266
1260
  fontWeight: "600"
1267
1261
  },
1268
1262
  closeButtonStyleProps: {
1269
- backgroundImage: "assets/imgs/closeChatButton.svg",
1263
+ backgroundImage: `url(${_omnichannelChatComponents.CloseChatButtonIconBase64})`,
1270
1264
  backgroundPosition: "center",
1271
1265
  backgroundRepeat: "no-repeat",
1272
1266
  color: "#605e5c",
@@ -1389,7 +1383,7 @@ const dummyDefaultProps = {
1389
1383
  lineHeight: "19px"
1390
1384
  },
1391
1385
  iconStyleProps: {
1392
- backgroundImage: "assets/imgs//ChatReconnectPopupIcon.png",
1386
+ backgroundImage: `url(${_omnichannelChatComponents.ChatReconnectIconBase64})`,
1393
1387
  backgroundPosition: "center",
1394
1388
  backgroundRepeat: "no-repeat",
1395
1389
  backgroundSize: "200px",
@@ -1440,7 +1434,8 @@ const dummyDefaultProps = {
1440
1434
  },
1441
1435
  authClientFunction: undefined,
1442
1436
  isReconnectEnabled: undefined,
1443
- reconnectId: undefined
1437
+ reconnectId: undefined,
1438
+ redirectInSameWindow: undefined
1444
1439
  },
1445
1440
  styleProps: {
1446
1441
  generalStyles: {
@@ -1471,7 +1466,7 @@ const dummyDefaultProps = {
1471
1466
  bubbleBackground: "#315FA2",
1472
1467
  bubbleBorderRadius: 4,
1473
1468
  bubbleBorderWidth: 0,
1474
- bubbleFromUserBackground: "White",
1469
+ bubbleFromUserBackground: "#FFFFFF",
1475
1470
  bubbleFromUserBorderRadius: 4,
1476
1471
  bubbleFromUserBorderWidth: 1,
1477
1472
  bubbleFromUserTextColor: "Black",
@@ -1479,7 +1474,7 @@ const dummyDefaultProps = {
1479
1474
  bubbleMaxWidth: 250,
1480
1475
  bubbleMinHeight: 34,
1481
1476
  bubbleMinWidth: 20,
1482
- bubbleTextColor: "White",
1477
+ bubbleTextColor: "#FFFFFF",
1483
1478
  hideSendBox: false,
1484
1479
  hideUploadButton: true,
1485
1480
  primaryFont: "Segoe UI, Arial, sans-serif",
@@ -1488,7 +1483,7 @@ const dummyDefaultProps = {
1488
1483
  sendBoxTextWrap: true,
1489
1484
  sendBoxHeight: 60,
1490
1485
  sendBoxMaxHeight: 96,
1491
- sendBoxBackground: "White",
1486
+ sendBoxBackground: "#FFFFFF",
1492
1487
  showAvatarInGroup: true,
1493
1488
  suggestedActionsStackedHeight: 125,
1494
1489
  suggestedActionsStackedOverflow: "scroll",
@@ -1512,7 +1507,7 @@ const dummyDefaultProps = {
1512
1507
  internalErrorBoxClass: undefined,
1513
1508
  internalRenderErrorBox: undefined,
1514
1509
  locale: "en-US",
1515
- onTelemetry: undefined,
1510
+ onTelemetry: (0, _WebChatLogger.createWebChatTelemetry)(),
1516
1511
  overrideLocalizedStrings: undefined,
1517
1512
  renderMarkdown: (0, _createMarkdown.createMarkdown)(false, false),
1518
1513
  scrollToEndButtonMiddleware: undefined,
@@ -1599,7 +1594,7 @@ const dummyDefaultProps = {
1599
1594
  fontWeight: 600,
1600
1595
  fontSize: "13px",
1601
1596
  lineHeight: "18px",
1602
- color: "white",
1597
+ color: "#FFFFFF",
1603
1598
  paddingTop: "7px",
1604
1599
  WebkitUserSelect: "none",
1605
1600
  MozUserSelect: "none",
@@ -1703,6 +1698,7 @@ const dummyDefaultProps = {
1703
1698
  PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
1704
1699
  MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external."
1705
1700
  }
1706
- }
1701
+ },
1702
+ telemetryConfig: undefined
1707
1703
  };
1708
1704
  exports.dummyDefaultProps = dummyDefaultProps;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.disposeTelemetryLoggers = void 0;
7
+
8
+ var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
9
+
10
+ const disposeTelemetryLoggers = () => {
11
+ (0, _TelemetryManager.disposeLoggers)();
12
+ };
13
+
14
+ exports.disposeTelemetryLoggers = disposeTelemetryLoggers;
@@ -3,71 +3,138 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.endChat = void 0;
6
+ exports.prepareEndChat = exports.endChat = void 0;
7
7
 
8
8
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
9
 
10
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
+
10
12
  var _ConversationState = require("../../../contexts/common/ConversationState");
11
13
 
12
14
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
13
15
 
14
- var _NotificationHandler = require("../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
15
-
16
- var _NotificationScenarios = require("../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
17
-
18
16
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
19
17
 
20
18
  var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
21
19
 
22
20
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
23
21
 
24
- var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
22
+ var _PostChatSurveyMode = require("../../postchatsurveypanestateful/enums/PostChatSurveyMode");
23
+
24
+ var _Constants = require("../../../common/Constants");
25
+
26
+ var _utils = require("../../../common/utils");
25
27
 
26
28
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter) => {
28
- try {
29
- var _props$webChatContain;
30
-
31
- _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.INFO, {
32
- Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCall
33
- });
34
-
35
- await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
36
- adapter === null || adapter === void 0 ? void 0 : adapter.end();
37
- setAdapter(undefined);
38
- setWebChatStyles({ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
39
- ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
40
- });
41
- _WebChatStoreLoader.WebChatStoreLoader.store = null;
42
- dispatch({
43
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
44
- payload: _ConversationState.ConversationState.Closed
45
- });
46
- dispatch({
47
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
48
- payload: undefined
49
- });
50
- dispatch({
51
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
52
- payload: null
53
- });
54
- dispatch({
55
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
56
- payload: undefined
57
- });
58
-
59
- _omnichannelChatComponents.BroadcastService.postMessage({
60
- eventName: "EndChat"
61
- });
62
- } catch (ex) {
63
- _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
64
- Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCallFailed,
65
- ExceptionDetails: {
66
- exception: ex
67
- }
68
- });
29
+ const prepareEndChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state) => {
30
+ var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4;
31
+
32
+ const isPostChatEnabled = (_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.msdyn_postconversationsurveyenable;
33
+ const postChatSurveyMode = (_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : (_state$domainStates$l4 = _state$domainStates$l3.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l4 === void 0 ? void 0 : _state$domainStates$l4.msdyn_postconversationsurveymode;
34
+ const conversationDetails = await chatSDK.getConversationDetails();
35
+
36
+ if (isPostChatEnabled === "true" && (conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.canRenderPostChat) === _Constants.Constants.truePascal) {
37
+ const skipEndChatSDK = false;
38
+ const skipCloseChat = true;
39
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, true);
40
+
41
+ if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
42
+ const loadPostChatEvent = {
43
+ eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
44
+ };
45
+
46
+ _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
47
+ } else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
48
+ dispatch({
49
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
50
+ payload: _ConversationState.ConversationState.InActive
51
+ });
52
+ }
53
+ } else {
54
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
55
+ }
56
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
+
58
+
59
+ exports.prepareEndChat = prepareEndChat;
60
+
61
+ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
62
+ if (!skipEndChatSDK) {
63
+ try {
64
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
65
+ Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCall
66
+ });
67
+
68
+ await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat()); // Need to clear these states immediately when chat ended from OC.
69
+
70
+ dispatch({
71
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
72
+ payload: undefined
73
+ });
74
+ dispatch({
75
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
76
+ payload: undefined
77
+ });
78
+ } catch (ex) {
79
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
80
+ Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCallFailed,
81
+ ExceptionDetails: {
82
+ exception: ex
83
+ }
84
+ });
85
+
86
+ postMessageToOtherTab = false;
87
+ }
88
+ }
69
89
 
70
- _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.Connection, "End Chat Call Failed: " + ex);
90
+ if (!skipCloseChat) {
91
+ try {
92
+ var _props$webChatContain;
93
+
94
+ adapter === null || adapter === void 0 ? void 0 : adapter.end();
95
+ setAdapter(undefined);
96
+ setWebChatStyles({ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
97
+ ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
98
+ });
99
+ _WebChatStoreLoader.WebChatStoreLoader.store = null;
100
+ dispatch({
101
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
102
+ payload: _ConversationState.ConversationState.Closed
103
+ });
104
+ dispatch({
105
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
106
+ payload: false
107
+ });
108
+ dispatch({
109
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
110
+ payload: undefined
111
+ });
112
+ dispatch({
113
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
114
+ payload: null
115
+ });
116
+
117
+ _omnichannelChatComponents.BroadcastService.postMessage({
118
+ eventName: _TelemetryConstants.BroadcastEvent.EndChat
119
+ });
120
+
121
+ if (postMessageToOtherTab) {
122
+ var _chatSDK$omnichannelC, _chatSDK$omnichannelC2;
123
+
124
+ const endChatEventName = (0, _utils.getWidgetEndChatEventName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.widgetId);
125
+
126
+ _omnichannelChatComponents.BroadcastService.postMessage({
127
+ eventName: endChatEventName
128
+ });
129
+ }
130
+ } catch (error) {
131
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
132
+ Event: _TelemetryConstants.TelemetryEvent.CloseChatMethodException,
133
+ ExceptionDetails: {
134
+ exception: `Failed to endChat: ${error}`
135
+ }
136
+ });
137
+ }
71
138
  }
72
139
  };
73
140
 
@@ -17,6 +17,11 @@ const initCallingSdk = async (chatSDK, setVoiceVideoCallingSDK) => {
17
17
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
18
  const callingSDK = await chatSDK.getVoiceVideoCalling();
19
19
  setVoiceVideoCallingSDK(callingSDK);
20
+
21
+ _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
22
+ Event: _TelemetryConstants.TelemetryEvent.CallingSDKLoadSuccess
23
+ });
24
+
20
25
  return true;
21
26
  }
22
27
 
@@ -5,14 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.initWebChatComposer = void 0;
7
7
 
8
+ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
+
8
10
  var _botframeworkWebchat = require("botframework-webchat");
9
11
 
12
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
+
10
14
  var _ConversationState = require("../../../contexts/common/ConversationState");
11
15
 
12
16
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
13
17
 
14
18
  var _PostChatSurveyMode = require("../../postchatsurveypanestateful/enums/PostChatSurveyMode");
15
19
 
20
+ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
21
+
16
22
  var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
17
23
 
18
24
  var _attachmentProcessingMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware"));
@@ -37,6 +43,8 @@ var _createMarkdown = require("./createMarkdown");
37
43
 
38
44
  var _maxMessageSizeValidator = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator"));
39
45
 
46
+ var _WebChatLogger = require("../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
47
+
40
48
  var _defaultAttachmentProps = require("../../webchatcontainerstateful/common/defaultProps/defaultAttachmentProps");
41
49
 
42
50
  var _defaultMiddlewareLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
@@ -55,8 +63,6 @@ var _preProcessingMiddleware = _interopRequireDefault(require("../../webchatcont
55
63
 
56
64
  var _sanitizationMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware"));
57
65
 
58
- var _setPostChatContextAndLoadSurvey = require("./setPostChatContextAndLoadSurvey");
59
-
60
66
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
61
67
 
62
68
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -80,6 +86,11 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
80
86
  const conversationEndCallback = async () => {
81
87
  var _props$webChatContain4, _props$webChatContain5;
82
88
 
89
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
90
+ Event: _TelemetryConstants.TelemetryEvent.ConversationEndedThreadEventReceived,
91
+ Description: "Conversation is ended by agent side or by timeout."
92
+ });
93
+
83
94
  if ((props === null || props === void 0 ? void 0 : (_props$webChatContain4 = props.webChatContainerProps) === null || _props$webChatContain4 === void 0 ? void 0 : (_props$webChatContain5 = _props$webChatContain4.renderingMiddlewareProps) === null || _props$webChatContain5 === void 0 ? void 0 : _props$webChatContain5.hideSendboxOnConversationEnd) !== false) {
84
95
  setWebChatStyles(styles => {
85
96
  return { ...styles,
@@ -88,22 +99,34 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
88
99
  });
89
100
  }
90
101
 
91
- if (isPostChatEnabled === "true" && postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
102
+ if (isPostChatEnabled === "true") {
103
+ if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
104
+ const loadPostChatEvent = {
105
+ eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
106
+ };
107
+
108
+ _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
109
+ } else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
110
+ dispatch({
111
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
112
+ payload: _ConversationState.ConversationState.InActive
113
+ });
114
+ }
115
+ } else {
92
116
  dispatch({
93
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOULD_SHOW_POST_CHAT,
117
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
94
118
  payload: true
95
119
  });
96
- dispatch({
97
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
98
- payload: _ConversationState.ConversationState.Loading
99
- });
100
- await (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch, true);
101
120
  }
102
121
 
103
122
  dispatch({
104
123
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
105
124
  payload: undefined
106
125
  });
126
+ dispatch({
127
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
128
+ payload: undefined
129
+ });
107
130
  };
108
131
 
109
132
  webChatStore = (0, _botframeworkWebchat.createStore)({}, //initial state
@@ -124,6 +147,7 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
124
147
  avatarMiddleware: (_props$webChatContain15 = props.webChatContainerProps) !== null && _props$webChatContain15 !== void 0 && (_props$webChatContain16 = _props$webChatContain15.renderingMiddlewareProps) !== null && _props$webChatContain16 !== void 0 && _props$webChatContain16.disableAvatarMiddleware ? undefined : (0, _avatarMiddleware.createAvatarMiddleware)((_state$domainStates$r5 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r5 === void 0 ? void 0 : _state$domainStates$r5.avatarStyleProps, (_state$domainStates$r6 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r6 === void 0 ? void 0 : _state$domainStates$r6.avatarTextStyleProps),
125
148
  groupActivitiesMiddleware: (_props$webChatContain17 = props.webChatContainerProps) !== null && _props$webChatContain17 !== void 0 && (_props$webChatContain18 = _props$webChatContain17.renderingMiddlewareProps) !== null && _props$webChatContain18 !== void 0 && _props$webChatContain18.disableGroupActivitiesMiddleware ? undefined : (_defaultWebChatContai2 = _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps) === null || _defaultWebChatContai2 === void 0 ? void 0 : _defaultWebChatContai2.groupActivitiesMiddleware,
126
149
  typingIndicatorMiddleware: (_props$webChatContain19 = props.webChatContainerProps) !== null && _props$webChatContain19 !== void 0 && (_props$webChatContain20 = _props$webChatContain19.renderingMiddlewareProps) !== null && _props$webChatContain20 !== void 0 && _props$webChatContain20.disableTypingIndicatorMiddleware ? undefined : (_defaultWebChatContai3 = _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps) === null || _defaultWebChatContai3 === void 0 ? void 0 : _defaultWebChatContai3.typingIndicatorMiddleware,
150
+ onTelemetry: (0, _WebChatLogger.createWebChatTelemetry)(),
127
151
  ...((_props$webChatContain21 = props.webChatContainerProps) === null || _props$webChatContain21 === void 0 ? void 0 : _props$webChatContain21.webChatProps)
128
152
  };
129
153
  return webChatProps;