@microsoft/omnichannel-chat-widget 0.1.0-main.07f52ee → 0.1.0-main.0e38a73

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 (347) hide show
  1. package/README.md +35 -11
  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 +31 -150
  5. package/lib/cjs/common/KeyCodes.js +0 -3
  6. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  7. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  8. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  9. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  10. package/lib/cjs/common/telemetry/TelemetryConstants.js +81 -22
  11. package/lib/cjs/common/telemetry/TelemetryHelper.js +26 -54
  12. package/lib/cjs/common/telemetry/TelemetryManager.js +14 -34
  13. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  14. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  15. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
  16. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  17. package/lib/cjs/common/utils.js +80 -80
  18. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
  19. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  20. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  21. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +12 -70
  22. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  23. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  24. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  25. package/lib/cjs/components/footerstateful/FooterStateful.js +14 -46
  26. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  27. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  28. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  29. package/lib/cjs/components/headerstateful/HeaderStateful.js +23 -34
  30. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  31. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
  32. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
  33. package/lib/cjs/{assets/assets.d.js → components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js} +0 -0
  34. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
  35. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
  36. package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
  37. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  38. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  39. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  40. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  41. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -44
  42. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +82 -57
  43. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  44. package/lib/cjs/components/livechatwidget/common/endChat.js +127 -61
  45. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  46. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +8 -17
  47. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  48. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +58 -54
  49. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +131 -56
  50. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +9 -33
  51. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +3 -15
  52. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  53. package/lib/cjs/components/livechatwidget/common/startChat.js +157 -77
  54. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -11
  55. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  56. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +296 -136
  57. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  58. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  59. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
  60. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  61. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  62. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  63. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  64. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  65. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
  66. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +26 -34
  67. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  68. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  69. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  71. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  72. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  73. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  74. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -15
  75. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  76. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +54 -88
  77. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  78. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  79. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +33 -80
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -60
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -19
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  121. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  122. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  123. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  124. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  125. package/lib/cjs/contexts/common/ConversationState.js +4 -3
  126. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +11 -9
  127. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +14 -10
  128. package/lib/cjs/contexts/createReducer.js +150 -107
  129. package/lib/cjs/controller/componentController.js +5 -34
  130. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  131. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  132. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  133. package/lib/cjs/index.js +0 -5
  134. package/lib/cjs/plugins/newMessageEventHandler.js +78 -0
  135. package/lib/esm/assets/Audios.js +1 -0
  136. package/lib/esm/assets/Icons.js +11 -0
  137. package/lib/esm/common/Constants.js +28 -138
  138. package/lib/esm/common/KeyCodes.js +0 -2
  139. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  140. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  141. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  142. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  143. package/lib/esm/common/telemetry/TelemetryConstants.js +80 -17
  144. package/lib/esm/common/telemetry/TelemetryHelper.js +27 -44
  145. package/lib/esm/common/telemetry/TelemetryManager.js +14 -23
  146. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  147. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  148. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
  149. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  150. package/lib/esm/common/utils.js +73 -45
  151. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  152. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  153. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  154. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +13 -46
  155. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  156. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  157. package/lib/esm/components/footerstateful/FooterStateful.js +15 -26
  158. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  159. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  160. package/lib/esm/components/headerstateful/HeaderStateful.js +24 -20
  161. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  162. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  163. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  164. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  165. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  166. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  167. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  168. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  169. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  170. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  171. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  172. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  173. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +83 -46
  174. package/lib/esm/components/livechatwidget/common/endChat.js +131 -50
  175. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  176. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +10 -12
  177. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  178. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +60 -26
  179. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +129 -50
  180. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +9 -23
  181. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -6
  182. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  183. package/lib/esm/components/livechatwidget/common/startChat.js +161 -61
  184. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  185. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  186. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +302 -92
  187. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  188. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  189. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  190. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  191. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  192. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  193. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  194. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  195. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
  196. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +29 -13
  197. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  198. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  199. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  200. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  201. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  202. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  203. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  204. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -11
  205. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  206. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -17
  207. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  208. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  209. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +34 -66
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -14
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  250. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  251. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  252. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  253. package/lib/esm/contexts/ChatContextStore.js +2 -1
  254. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  255. package/lib/esm/contexts/common/ConversationState.js +4 -3
  256. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +11 -9
  257. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +14 -6
  258. package/lib/esm/contexts/createReducer.js +150 -103
  259. package/lib/esm/controller/componentController.js +6 -5
  260. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  261. package/lib/esm/hooks/useChatContextStore.js +0 -4
  262. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  263. package/lib/esm/plugins/newMessageEventHandler.js +71 -0
  264. package/lib/types/assets/Audios.d.ts +1 -0
  265. package/lib/types/assets/Icons.d.ts +11 -0
  266. package/lib/types/common/Constants.d.ts +27 -2
  267. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  268. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  269. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  270. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  271. package/lib/types/common/telemetry/TelemetryConstants.d.ts +55 -4
  272. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  273. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  274. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  275. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  276. package/lib/types/common/utils.d.ts +8 -1
  277. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  278. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  279. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  280. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  281. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  282. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  283. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  284. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  285. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  286. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  287. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  288. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +7 -2
  289. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  290. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  291. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  292. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  293. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  294. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -3
  295. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  296. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  297. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  298. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  299. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
  300. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  301. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  302. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  303. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  304. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  305. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  306. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  307. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  308. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  309. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  310. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  311. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  312. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  313. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  314. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  315. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  316. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  317. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  318. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -2
  319. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +12 -9
  320. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  321. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  322. package/package.json +12 -13
  323. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  324. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  325. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  326. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  327. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  328. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  329. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  330. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  331. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  332. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  333. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  334. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  335. package/lib/esm/assets/assets.d.js +0 -0
  336. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  337. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  338. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  339. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  340. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  341. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  342. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  343. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  344. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  345. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  346. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  347. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -1,5 +1,8 @@
1
1
  /* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
2
+
3
+ import { ChatReconnectIconBase64, CloseChatButtonIconBase64, ModernChatIconBase64, ProactiveChatBannerBase64 } from "@microsoft/omnichannel-chat-components";
2
4
  import MockAdapter from "../../../webchatcontainerstateful/common/mockadapter";
5
+ import { NewMessageNotificationSoundBase64 } from "../../../../assets/Audios";
3
6
  import { WebChatStoreLoader } from "../../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader";
4
7
  import { activityStatusMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware";
5
8
  import { createActivityMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware";
@@ -8,10 +11,12 @@ import { createAvatarMiddleware } from "../../../webchatcontainerstateful/webcha
8
11
  import { createMarkdown } from "../createMarkdown";
9
12
  import { groupActivitiesMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware";
10
13
  import { typingIndicatorMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware";
14
+ import { createWebChatTelemetry } from "../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger";
15
+
11
16
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
17
  export const dummyDefaultProps = {
13
18
  audioNotificationProps: {
14
- audioSrc: "assets/audios/newMessageNotification.mp3"
19
+ audioSrc: NewMessageNotificationSoundBase64
15
20
  },
16
21
  callingContainerProps: {
17
22
  controlProps: {
@@ -163,24 +168,28 @@ export const dummyDefaultProps = {
163
168
  },
164
169
  audioCallButtonStyleProps: {
165
170
  borderRadius: "50%",
166
- color: "#FFFFFF",
167
171
  backgroundColor: "#008000",
168
172
  lineHeight: "40px",
169
173
  height: "40px",
170
174
  width: "40px",
171
- fontSize: 18
175
+ icon: {
176
+ fontSize: 18,
177
+ color: "#FFFFFF"
178
+ }
172
179
  },
173
180
  audioCallButtonHoverStyleProps: {
174
181
  filter: "brightness(0.8)"
175
182
  },
176
183
  videoCallButtonStyleProps: {
177
184
  borderRadius: "50%",
178
- color: "#FFFFFF",
179
185
  backgroundColor: "#008000",
180
186
  lineHeight: "40px",
181
187
  height: "40px",
182
188
  width: "40px",
183
- fontSize: 18
189
+ icon: {
190
+ fontSize: 18,
191
+ color: "#FFFFFF"
192
+ }
184
193
  },
185
194
  videoCallButtonHoverStyleProps: {
186
195
  filter: "brightness(0.8)"
@@ -191,13 +200,15 @@ export const dummyDefaultProps = {
191
200
  },
192
201
  declineCallButtonStyleProps: {
193
202
  borderRadius: "50%",
194
- color: "#FFFFFF",
195
203
  backgroundColor: "#DC0000",
196
204
  lineHeight: "40px",
197
205
  height: "40px",
198
206
  width: "40px",
199
- fontSize: 18,
200
- marginLeft: "5px"
207
+ marginLeft: "5px",
208
+ icon: {
209
+ fontSize: 18,
210
+ color: "#FFFFFF"
211
+ }
201
212
  },
202
213
  incomingCallTitleStyleProps: {
203
214
  margin: "0 5px",
@@ -250,18 +261,6 @@ export const dummyDefaultProps = {
250
261
  width: "50px",
251
262
  fontSize: "18px"
252
263
  },
253
- currentCallTimerStyleProps: {
254
- borderRadius: "2px",
255
- margin: "1px",
256
- color: "#FFFFFF",
257
- paddingTop: "18px",
258
- fontSize: 12,
259
- fontFamily: "Segoe UI, Arial, sans-serif",
260
- backgroundColor: "darkgrey",
261
- height: "45px",
262
- width: "50px",
263
- textAlign: "center"
264
- },
265
264
  videoTileStyleProps: {
266
265
  width: "100%",
267
266
  marginLeft: "auto",
@@ -325,7 +324,10 @@ export const dummyDefaultProps = {
325
324
  hideChatTextContainer: false,
326
325
  hideChatSubtitle: false,
327
326
  hideChatTitle: false,
328
- hideNotificationBubble: true
327
+ hideNotificationBubble: true,
328
+ unreadMessageString: "new messages",
329
+ largeUnreadMessageString: "99+",
330
+ ariaLabelUnreadMessageString: "you have new messages"
329
331
  },
330
332
  styleProps: {
331
333
  generalStyleProps: {
@@ -366,7 +368,7 @@ export const dummyDefaultProps = {
366
368
  margin: "-2px -2px -2px -3px",
367
369
  justifyContent: "center",
368
370
  backgroundSize: "65% 65%",
369
- backgroundImage: "assets/imgs/chat.svg",
371
+ backgroundImage: `url(${ModernChatIconBase64})`,
370
372
  display: "flex",
371
373
  backgroundRepeat: "no-repeat",
372
374
  backgroundPosition: "center"
@@ -471,8 +473,8 @@ export const dummyDefaultProps = {
471
473
  onConfirm: () => {},
472
474
  // Detailed implementation omitted
473
475
  onCancel: () => {} // Detailed implementation omitted
474
-
475
476
  },
477
+
476
478
  styleProps: {
477
479
  generalStyleProps: {
478
480
  backgroundColor: "#FFFFFF",
@@ -777,6 +779,7 @@ export const dummyDefaultProps = {
777
779
  },
778
780
  audioNotificationButtonProps: {
779
781
  id: "oc-lcw-footer-audionotification-button",
782
+ type: "icon",
780
783
  ariaLabel: "Turn sound off",
781
784
  toggleAriaLabel: "Turn sound on",
782
785
  iconName: "Volume3",
@@ -802,8 +805,10 @@ export const dummyDefaultProps = {
802
805
  padding: "0 10px 5px 10px"
803
806
  },
804
807
  downloadTranscriptButtonStyleProps: {
805
- color: "blue",
806
- fontSize: 16,
808
+ icon: {
809
+ color: "blue",
810
+ fontSize: 16
811
+ },
807
812
  height: "25px",
808
813
  lineHeight: "25px",
809
814
  width: "25px"
@@ -813,8 +818,10 @@ export const dummyDefaultProps = {
813
818
  backgroundColor: "#C8C8C8"
814
819
  },
815
820
  emailTranscriptButtonStyleProps: {
816
- color: "blue",
817
- fontSize: 16,
821
+ cicon: {
822
+ color: "blue",
823
+ fontSize: 16
824
+ },
818
825
  height: "25px",
819
826
  lineHeight: "25px",
820
827
  width: "25px"
@@ -824,8 +831,10 @@ export const dummyDefaultProps = {
824
831
  backgroundColor: "#C8C8C8"
825
832
  },
826
833
  audioNotificationButtonStyleProps: {
827
- color: "blue",
828
- fontSize: 16,
834
+ icon: {
835
+ color: "blue",
836
+ fontSize: 16
837
+ },
829
838
  height: "25px",
830
839
  lineHeight: "25px",
831
840
  width: "25px"
@@ -876,7 +885,7 @@ export const dummyDefaultProps = {
876
885
  className: undefined
877
886
  },
878
887
  closeButtonProps: {
879
- id: "oc-lcw-header-minimize-button",
888
+ id: "oc-lcw-header-close-button",
880
889
  type: "icon",
881
890
  iconName: "ChromeClose",
882
891
  ariaLabel: "Close",
@@ -887,7 +896,7 @@ export const dummyDefaultProps = {
887
896
  },
888
897
  headerIconProps: {
889
898
  id: "oc-lcw-header-icon",
890
- src: "assets/imgs/chatIcon.svg",
899
+ src: ModernChatIconBase64,
891
900
  alt: "Chat Icon",
892
901
  className: undefined
893
902
  },
@@ -1012,7 +1021,7 @@ export const dummyDefaultProps = {
1012
1021
  alignSelf: "auto"
1013
1022
  },
1014
1023
  iconImageProps: {
1015
- src: "assets/imgs/chat.svg",
1024
+ src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2lpKSI+DQo8cGF0aCBkPSJNMTUuMTk3MSAxNi4yNzI1VjI1Ljg1MjRDMTUuMTk3MSAyNy4zODExIDE1Ljg0MDEgMjcuNTIwMSAxNi45ODMyIDI3LjUyMDFMMjYuNzA4NCAyNy41NjQ5TDMxLjAwMzkgMzIuMzEyM1YyNy41NjQ5SDMxLjg5N0MzMi4xNzQzIDI3LjU2MzcgMzIuNDQ4NyAyNy41MDc3IDMyLjcwNDUgMjcuNDAwMUMzMi45NjAzIDI3LjI5MjQgMzMuMTkyNSAyNy4xMzUzIDMzLjM4NzggMjYuOTM3NUMzMy41ODMxIDI2LjczOTggMzMuNzM3NyAyNi41MDU0IDMzLjg0MjcgMjYuMjQ3N0MzMy45NDc4IDI1Ljk5IDM0LjAwMTMgMjUuNzE0IDM0LjAwMDEgMjUuNDM1NVYxNi4zMDM4QzM0LjAwMTMgMTYuMDI1NCAzMy45NDc4IDE1Ljc0OTQgMzMuODQyNyAxNS40OTE3QzMzLjczNzcgMTUuMjM0IDMzLjU4MzEgMTQuOTk5NiAzMy4zODc4IDE0LjgwMThDMzMuMTkyNSAxNC42MDQxIDMyLjk2MDMgMTQuNDQ2OSAzMi43MDQ1IDE0LjMzOTNDMzIuNDQ4NyAxNC4yMzE2IDMyLjE3NDMgMTQuMTc1NiAzMS44OTcgMTQuMTc0NEwxNy4zMDQ3IDE0LjE0MzFDMTcuMDI2OSAxNC4xNDM3IDE2Ljc1MiAxNC4xOTkyIDE2LjQ5NTcgMTQuMzA2NkMxNi4yMzk0IDE0LjQxNCAxNi4wMDY3IDE0LjU3MTEgMTUuODEwOSAxNC43Njg5QzE1LjYxNTIgMTQuOTY2NyAxNS40NjAyIDE1LjIwMTMgMTUuMzU0OCAxNS40NTkzQzE1LjI0OTUgMTUuNzE3MyAxNS4xOTU5IDE1Ljk5MzYgMTUuMTk3MSAxNi4yNzI1WiIgZmlsbD0iI0Q2RDZENiIvPg0KPC9nPg0KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjFfZGlpKSI+DQo8cGF0aCBkPSJNMjcuODczNSA2LjY5ODg3VjE4Ljg0MDlDMjcuODczNSAyMC43Nzg1IDI3LjA1NzIgMjAuOTU0NiAyNS42MDU4IDIwLjk1NDZMMTMuMjU4IDIxLjAxMTRMNy44MDQxNCAyNy4wMjg1VjIxLjAxMTRINi42NzAyN0M2LjMxODEyIDIxLjAwOTkgNS45Njk3MSAyMC45Mzg5IDUuNjQ0OTMgMjAuODAyNUM1LjMyMDE2IDIwLjY2NjEgNS4wMjUzOCAyMC40NjY4IDQuNzc3NDIgMjAuMjE2MkM0LjUyOTQ2IDE5Ljk2NTYgNC4zMzMxOSAxOS42Njg1IDQuMTk5OCAxOS4zNDE5QzQuMDY2NDIgMTkuMDE1MiAzLjk5ODUzIDE4LjY2NTUgNC4wMDAwMiAxOC4zMTI1VjYuNzM4NjRDMy45OTg1MyA2LjM4NTcxIDQuMDY2NDIgNi4wMzU5NSA0LjE5OTggNS43MDkzMUM0LjMzMzE5IDUuMzgyNjcgNC41Mjk0NiA1LjA4NTU3IDQuNzc3NDIgNC44MzQ5NUM1LjAyNTM4IDQuNTg0MzQgNS4zMjAxNiA0LjM4NTEzIDUuNjQ0OTMgNC4yNDg2OUM1Ljk2OTcxIDQuMTEyMjUgNi4zMTgxMiA0LjA0MTI2IDYuNjcwMjcgNC4wMzk3N0wyNS4xOTc2IDRDMjUuNTUwMiA0LjAwMDc0IDI1Ljg5OTMgNC4wNzExOCAyNi4yMjQ3IDQuMjA3MjlDMjYuNTUwMSA0LjM0MzM5IDI2Ljg0NTYgNC41NDI0OSAyNy4wOTQxIDQuNzkzMThDMjcuMzQyNyA1LjA0Mzg2IDI3LjUzOTUgNS4zNDEyMiAyNy42NzMyIDUuNjY4MjNDMjcuODA3IDUuOTk1MjMgMjcuODc1IDYuMzQ1NDYgMjcuODczNSA2LjY5ODg3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPg0KPC9nPg0KPGRlZnM+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2lpIiB4PSIxNS4xOTcxIiB5PSIxNC4xNDMxIiB3aWR0aD0iMTguODAzMSIgaGVpZ2h0PSIxOC4xNjkzIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC4yIiBkeT0iLTAuMiIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTcgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9InNoYXBlIiByZXN1bHQ9ImVmZmVjdDFfaW5uZXJTaGFkb3ciLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC41IiBkeT0iLTAuNSIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTYgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9ImVmZmVjdDFfaW5uZXJTaGFkb3ciIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPC9maWx0ZXI+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIxX2RpaSIgeD0iMCIgeT0iMCIgd2lkdGg9IjM5Ljg3MzYiIGhlaWdodD0iMzkuMDI4NSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+DQo8ZmVPZmZzZXQgZHg9IjQiIGR5PSI0Ii8+DQo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0Ii8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMiIgZHk9Ii0yIi8+DQo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIi8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMC4xNyAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0ic2hhcGUiIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+DQo8ZmVPZmZzZXQgZHg9Ii0xIiBkeT0iLTEiLz4NCjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiLz4NCjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwLjE2IDAiLz4NCjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJlZmZlY3QyX2lubmVyU2hhZG93IiByZXN1bHQ9ImVmZmVjdDNfaW5uZXJTaGFkb3ciLz4NCjwvZmlsdGVyPg0KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iLTAuMzk1MDAxIiB5MT0iMjMuMTI4MiIgeDI9IjIwLjEwNTgiIHkyPSIzNy44NDc0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQo8c3RvcCBzdG9wLWNvbG9yPSIjRUZFRkVGIi8+DQo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IndoaXRlIi8+DQo8L2xpbmVhckdyYWRpZW50Pg0KPC9kZWZzPg0KPC9zdmc+DQo=",
1016
1025
  imageFit: 0,
1017
1026
  width: "86px",
1018
1027
  height: "86px",
@@ -1055,8 +1064,8 @@ export const dummyDefaultProps = {
1055
1064
  titleText: "We're Offline",
1056
1065
  subtitleText: "No agents available",
1057
1066
  onClick: () => {} // Detailed implementation omitted
1058
-
1059
1067
  },
1068
+
1060
1069
  styleProps: {
1061
1070
  // ...[Existing chat button style props]
1062
1071
  iconStyleProps: {
@@ -1074,8 +1083,8 @@ export const dummyDefaultProps = {
1074
1083
  text: "We're Offline"
1075
1084
  },
1076
1085
  onMinimizeClick: () => {} // Detailed implementation omitted
1077
-
1078
1086
  },
1087
+
1079
1088
  styleProps: {
1080
1089
  // ...[Existing chat button style props]
1081
1090
  generalStyleProps: {
@@ -1172,7 +1181,8 @@ export const dummyDefaultProps = {
1172
1181
  backgroundColor: "#FFFFFF",
1173
1182
  borderColor: "#F1F1F1"
1174
1183
  }
1175
- }
1184
+ },
1185
+ isCustomerVoiceSurveyCompact: undefined
1176
1186
  },
1177
1187
  proactiveChatPaneProps: {
1178
1188
  componentOverrides: {
@@ -1192,7 +1202,17 @@ export const dummyDefaultProps = {
1192
1202
  hideSubtitle: false,
1193
1203
  subtitleText: "Live chat support!",
1194
1204
  hideCloseButton: false,
1195
- closeButtonAriaLabel: "Close Button",
1205
+ closeButtonProps: {
1206
+ id: "oc-lcw-proactivechat-closebutton",
1207
+ type: "icon",
1208
+ iconName: "ChromeClose",
1209
+ ariaLabel: "Close",
1210
+ imageIconProps: undefined,
1211
+ text: "Close",
1212
+ onClick: undefined,
1213
+ className: undefined,
1214
+ hideButtonTitle: true
1215
+ },
1196
1216
  isBodyContainerHorizantal: false,
1197
1217
  hideBodyTitle: false,
1198
1218
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -1202,8 +1222,8 @@ export const dummyDefaultProps = {
1202
1222
  onClose: () => {},
1203
1223
  // Detailed implementation omitted
1204
1224
  onStart: () => {} // Detailed implementation omitted
1205
-
1206
1225
  },
1226
+
1207
1227
  styleProps: {
1208
1228
  generalStyleProps: {
1209
1229
  backgroundColor: "rgb(255, 255, 255)",
@@ -1220,7 +1240,7 @@ export const dummyDefaultProps = {
1220
1240
  },
1221
1241
  headerContainerStyleProps: {
1222
1242
  backgroundColor: "rgb(49, 95, 162)",
1223
- backgroundImage: "assets/imgs/Proactive_banner.png",
1243
+ backgroundImage: `url(${ProactiveChatBannerBase64})`,
1224
1244
  backgroundPosition: "initial",
1225
1245
  backgroundRepeat: "no-repeat",
1226
1246
  borderTopLeftRadius: "inherit",
@@ -1248,7 +1268,7 @@ export const dummyDefaultProps = {
1248
1268
  fontWeight: "600"
1249
1269
  },
1250
1270
  closeButtonStyleProps: {
1251
- backgroundImage: "assets/imgs/closeChatButton.svg",
1271
+ backgroundImage: `url(${CloseChatButtonIconBase64})`,
1252
1272
  backgroundPosition: "center",
1253
1273
  backgroundRepeat: "no-repeat",
1254
1274
  color: "#605e5c",
@@ -1334,8 +1354,8 @@ export const dummyDefaultProps = {
1334
1354
  onStartNewChat: () => {},
1335
1355
  // Detailed implementation omitted
1336
1356
  onMinimize: () => {} // Detailed implementation omitted
1337
-
1338
1357
  },
1358
+
1339
1359
  styleProps: {
1340
1360
  generalStyleProps: {
1341
1361
  backgroundColor: "rgb(255, 255, 255)",
@@ -1371,7 +1391,7 @@ export const dummyDefaultProps = {
1371
1391
  lineHeight: "19px"
1372
1392
  },
1373
1393
  iconStyleProps: {
1374
- backgroundImage: "assets/imgs//ChatReconnectPopupIcon.png",
1394
+ backgroundImage: `url(${ChatReconnectIconBase64})`,
1375
1395
  backgroundPosition: "center",
1376
1396
  backgroundRepeat: "no-repeat",
1377
1397
  backgroundSize: "200px",
@@ -1420,9 +1440,8 @@ export const dummyDefaultProps = {
1420
1440
  startNewChatButtonClassName: undefined
1421
1441
  }
1422
1442
  },
1423
- authClientFunction: undefined,
1424
- isReconnectEnabled: undefined,
1425
- reconnectId: undefined
1443
+ reconnectId: undefined,
1444
+ redirectInSameWindow: undefined
1426
1445
  },
1427
1446
  styleProps: {
1428
1447
  generalStyles: {
@@ -1494,7 +1513,7 @@ export const dummyDefaultProps = {
1494
1513
  internalErrorBoxClass: undefined,
1495
1514
  internalRenderErrorBox: undefined,
1496
1515
  locale: "en-US",
1497
- onTelemetry: undefined,
1516
+ onTelemetry: createWebChatTelemetry(),
1498
1517
  overrideLocalizedStrings: undefined,
1499
1518
  renderMarkdown: createMarkdown(false, false),
1500
1519
  scrollToEndButtonMiddleware: undefined,
@@ -1542,6 +1561,12 @@ export const dummyDefaultProps = {
1542
1561
  lineHeight: "16px",
1543
1562
  padding: "0px 10px 0 10px"
1544
1563
  },
1564
+ userMessageBoxStyles: {
1565
+ maxWidth: "75%"
1566
+ },
1567
+ systemMessageBoxStyles: {
1568
+ maxWidth: "75%"
1569
+ },
1545
1570
  typingIndicatorStyleProps: {
1546
1571
  marginLeft: "10px",
1547
1572
  marginBottom: "5px",
@@ -1661,6 +1686,9 @@ export const dummyDefaultProps = {
1661
1686
  },
1662
1687
  attachmentSizeStyles: {
1663
1688
  display: "none"
1689
+ },
1690
+ receivedMessageAnchorStyles: {
1691
+ color: "white"
1664
1692
  }
1665
1693
  },
1666
1694
  localizedTexts: {
@@ -1684,7 +1712,16 @@ export const dummyDefaultProps = {
1684
1712
  MIDDLEWARE_MESSAGE_RETRY: "Retry",
1685
1713
  PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
1686
1714
  MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external."
1715
+ },
1716
+ botMagicCode: {
1717
+ disabled: false,
1718
+ fwdUrl: ""
1719
+ },
1720
+ adaptiveCardStyles: {
1721
+ background: "white",
1722
+ color: "black"
1687
1723
  }
1688
1724
  },
1689
- telemetryConfig: undefined
1725
+ telemetryConfig: undefined,
1726
+ getAuthToken: undefined
1690
1727
  };
@@ -1,61 +1,142 @@
1
- import { LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
1
+ import { BroadcastEvent, LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
2
2
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
3
3
  import { ConversationState } from "../../../contexts/common/ConversationState";
4
4
  import { LiveChatWidgetActionType } from "../../../contexts/common/LiveChatWidgetActionType";
5
- import { NotificationHandler } from "../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler";
6
- import { NotificationScenarios } from "../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios";
7
5
  import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
8
6
  import { WebChatStoreLoader } from "../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader";
9
- import { defaultWebChatContainerStatefulProps } from "../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ import { defaultWebChatContainerStatefulProps } from "../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps";
8
+ import { PostChatSurveyMode } from "../../postchatsurveypanestateful/enums/PostChatSurveyMode";
9
+ import { Constants } from "../../../common/Constants";
10
+ import { addDelayInMs, getWidgetEndChatEventName } from "../../../common/utils";
10
11
 
11
- export const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter) => {
12
- try {
13
- var _props$webChatContain;
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ const prepareEndChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state) => {
14
+ var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _conversationDetails;
15
+ 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;
16
+ 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;
14
17
 
15
- TelemetryHelper.logSDKEvent(LogLevel.INFO, {
16
- Event: TelemetryEvent.EndChatSDKCall
17
- });
18
- await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
19
- adapter === null || adapter === void 0 ? void 0 : adapter.end();
20
- setAdapter(undefined);
21
- setWebChatStyles({ ...defaultWebChatContainerStatefulProps.webChatStyles,
22
- ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
23
- });
24
- WebChatStoreLoader.store = null;
25
- dispatch({
26
- type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
27
- payload: ConversationState.Closed
28
- });
29
- dispatch({
30
- type: LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
31
- payload: false
32
- });
33
- dispatch({
34
- type: LiveChatWidgetActionType.SET_RECONNECT_ID,
35
- payload: undefined
36
- });
37
- dispatch({
38
- type: LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
39
- payload: null
40
- });
41
- dispatch({
42
- type: LiveChatWidgetActionType.SET_CHAT_TOKEN,
43
- payload: undefined
44
- });
45
- dispatch({
46
- type: LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
47
- payload: undefined
48
- });
49
- BroadcastService.postMessage({
50
- eventName: "EndChat"
51
- });
52
- } catch (ex) {
53
- TelemetryHelper.logSDKEvent(LogLevel.ERROR, {
54
- Event: TelemetryEvent.EndChatSDKCallFailed,
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ let conversationDetails = undefined;
20
+ try {
21
+ conversationDetails = await chatSDK.getConversationDetails();
22
+ } catch (erorr) {
23
+ TelemetryHelper.logActionEvent(LogLevel.ERROR, {
24
+ Event: TelemetryEvent.GetConversationDetailsException,
55
25
  ExceptionDetails: {
56
- exception: ex
26
+ exception: `Failed to get conversation details: ${erorr}`
57
27
  }
58
28
  });
59
- NotificationHandler.notifyError(NotificationScenarios.Connection, "End Chat Call Failed: " + ex);
60
29
  }
61
- };
30
+ if (isPostChatEnabled === "true" && ((_conversationDetails = conversationDetails) === null || _conversationDetails === void 0 ? void 0 : _conversationDetails.canRenderPostChat) === Constants.truePascal) {
31
+ const skipEndChatSDK = false;
32
+ const skipCloseChat = true;
33
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, false);
34
+ if (postChatSurveyMode === PostChatSurveyMode.Embed) {
35
+ dispatch({
36
+ type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
37
+ payload: ConversationState.PostchatLoading
38
+ });
39
+ await addDelayInMs(Constants.PostChatLoadingDurationInMs);
40
+ const loadPostChatEvent = {
41
+ eventName: BroadcastEvent.LoadPostChatSurvey
42
+ };
43
+ BroadcastService.postMessage(loadPostChatEvent);
44
+ } else if (postChatSurveyMode === PostChatSurveyMode.Link) {
45
+ dispatch({
46
+ type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
47
+ payload: ConversationState.InActive
48
+ });
49
+ }
50
+ return;
51
+ }
52
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
53
+ };
54
+
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
57
+ if (!skipEndChatSDK) {
58
+ try {
59
+ TelemetryHelper.logSDKEvent(LogLevel.INFO, {
60
+ Event: TelemetryEvent.EndChatSDKCall
61
+ });
62
+ await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
63
+ } catch (ex) {
64
+ TelemetryHelper.logSDKEvent(LogLevel.ERROR, {
65
+ Event: TelemetryEvent.EndChatSDKCallFailed,
66
+ ExceptionDetails: {
67
+ exception: ex
68
+ }
69
+ });
70
+ postMessageToOtherTab = false;
71
+ }
72
+ }
73
+
74
+ // Need to clear these states immediately when chat ended from OC.
75
+ dispatch({
76
+ type: LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
77
+ payload: undefined
78
+ });
79
+ dispatch({
80
+ type: LiveChatWidgetActionType.SET_CHAT_TOKEN,
81
+ payload: undefined
82
+ });
83
+ dispatch({
84
+ type: LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
85
+ payload: undefined
86
+ });
87
+ if (!skipCloseChat) {
88
+ try {
89
+ var _props$webChatContain;
90
+ adapter === null || adapter === void 0 ? void 0 : adapter.end();
91
+ setAdapter(undefined);
92
+ setWebChatStyles({
93
+ ...defaultWebChatContainerStatefulProps.webChatStyles,
94
+ ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
95
+ });
96
+ WebChatStoreLoader.store = null;
97
+ dispatch({
98
+ type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
99
+ payload: ConversationState.Closed
100
+ });
101
+ dispatch({
102
+ type: LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
103
+ payload: false
104
+ });
105
+ dispatch({
106
+ type: LiveChatWidgetActionType.SET_RECONNECT_ID,
107
+ payload: undefined
108
+ });
109
+ dispatch({
110
+ type: LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
111
+ payload: null
112
+ });
113
+ dispatch({
114
+ type: LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
115
+ payload: 0
116
+ });
117
+ dispatch({
118
+ type: LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS,
119
+ payload: {
120
+ proactiveChatBodyTitle: "",
121
+ proactiveChatEnablePrechat: false,
122
+ proactiveChatInNewWindow: false
123
+ }
124
+ });
125
+ if (postMessageToOtherTab) {
126
+ var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps;
127
+ const endChatEventName = 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, (props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "");
128
+ BroadcastService.postMessage({
129
+ eventName: endChatEventName
130
+ });
131
+ }
132
+ } catch (error) {
133
+ TelemetryHelper.logActionEvent(LogLevel.ERROR, {
134
+ Event: TelemetryEvent.CloseChatMethodException,
135
+ ExceptionDetails: {
136
+ exception: `Failed to endChat: ${error}`
137
+ }
138
+ });
139
+ }
140
+ }
141
+ };
142
+ export { prepareEndChat, endChat };
@@ -2,7 +2,6 @@ import { shouldShowChatButton, shouldShowProactiveChatPane } from "../../../cont
2
2
  import { defaultLiveChatWidgetGeneralStyles } from "./defaultStyles/defaultLiveChatWidgetGeneralStyles";
3
3
  export const getGeneralStylesForButton = state => {
4
4
  let generalStylesForButton = defaultLiveChatWidgetGeneralStyles;
5
-
6
5
  if (!shouldShowChatButton(state) && !shouldShowProactiveChatPane(state)) {
7
6
  generalStylesForButton = Object.assign({}, defaultLiveChatWidgetGeneralStyles, {
8
7
  boxShadow: "0px 0px 2px rgba(0, 0, 0, 0.16), 0px 4px 8px rgba(0, 0, 0, 0.12)",
@@ -12,6 +11,5 @@ export const getGeneralStylesForButton = state => {
12
11
  padding: "0.5"
13
12
  });
14
13
  }
15
-
16
14
  return generalStylesForButton;
17
15
  };
@@ -1,6 +1,7 @@
1
1
  import { LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
2
- import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
3
3
 
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
5
  export const initCallingSdk = async (chatSDK, setVoiceVideoCallingSDK) => {
5
6
  try {
6
7
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -8,23 +9,20 @@ export const initCallingSdk = async (chatSDK, setVoiceVideoCallingSDK) => {
8
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
10
  const callingSDK = await chatSDK.getVoiceVideoCalling();
10
11
  setVoiceVideoCallingSDK(callingSDK);
11
- TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
12
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
12
13
  Event: TelemetryEvent.CallingSDKLoadSuccess
13
14
  });
14
15
  return true;
15
16
  }
16
-
17
17
  return false;
18
18
  } catch (error) {
19
- if (error !== "Voice and video call is not enabled") {
20
- TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
21
- Event: TelemetryEvent.CallingSDKLoadFailed,
22
- ExceptionDetails: {
23
- exception: error
24
- }
25
- });
26
- }
27
-
19
+ TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
20
+ Event: TelemetryEvent.CallingSDKLoadFailed,
21
+ ExceptionDetails: {
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ exception: error.message
24
+ }
25
+ });
28
26
  return false;
29
27
  }
30
28
  };
@@ -1,14 +1,13 @@
1
1
  import { defaultConfirmationPaneLocalizedTexts } from "../../confirmationpanestateful/common/defaultProps/defaultConfirmationPaneLocalizedTexts";
2
2
  export const initConfirmationPropsComposer = props => {
3
3
  var _props$confirmationPa, _props$footerProps, _props$footerProps$co, _props$footerProps2, _props$footerProps2$c, _props$confirmationPa2;
4
-
5
- const confirmationPanelocalizedTexts = { ...defaultConfirmationPaneLocalizedTexts,
4
+ const confirmationPanelocalizedTexts = {
5
+ ...defaultConfirmationPaneLocalizedTexts,
6
6
  ...(props === null || props === void 0 ? void 0 : (_props$confirmationPa = props.confirmationPaneProps) === null || _props$confirmationPa === void 0 ? void 0 : _props$confirmationPa.confirmationPaneLocalizedTexts)
7
7
  };
8
8
  let confirmationPaneInputs;
9
9
  const emailTranscriptDisabled = ((_props$footerProps = props.footerProps) === null || _props$footerProps === void 0 ? void 0 : (_props$footerProps$co = _props$footerProps.controlProps) === null || _props$footerProps$co === void 0 ? void 0 : _props$footerProps$co.hideEmailTranscriptButton) ?? false;
10
10
  const downloadTranscriptDisabled = ((_props$footerProps2 = props.footerProps) === null || _props$footerProps2 === void 0 ? void 0 : (_props$footerProps2$c = _props$footerProps2.controlProps) === null || _props$footerProps2$c === void 0 ? void 0 : _props$footerProps2$c.hideDownloadTranscriptButton) ?? false;
11
-
12
11
  if (!emailTranscriptDisabled && !downloadTranscriptDisabled) {
13
12
  confirmationPaneInputs = {
14
13
  title: confirmationPanelocalizedTexts.CLOSE_CONFIRMATION_DIALOG_TITLE_FOR_EMAIL_AND_DOWNLOAD_TRANSCRIPT_ENABLED,
@@ -30,8 +29,8 @@ export const initConfirmationPropsComposer = props => {
30
29
  description: confirmationPanelocalizedTexts.CLOSE_CONFIRMATION_DIALOG_DESCRIPTION_DEFAULT
31
30
  };
32
31
  }
33
-
34
- const confirmationPaneProps = { ...props.confirmationPaneProps,
32
+ const confirmationPaneProps = {
33
+ ...props.confirmationPaneProps,
35
34
  controlProps: {
36
35
  titleText: confirmationPaneInputs.title,
37
36
  subtitleText: confirmationPaneInputs.description,