@microsoft/omnichannel-chat-widget 0.1.0-main.106d830 → 0.1.0-main.1e0880a

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 (294) hide show
  1. package/README.md +32 -0
  2. package/lib/cjs/common/Constants.js +9 -160
  3. package/lib/cjs/common/KeyCodes.js +0 -3
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  7. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  8. package/lib/cjs/common/telemetry/TelemetryConstants.js +40 -21
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +14 -57
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +6 -31
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +37 -42
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  14. package/lib/cjs/common/utils.js +71 -84
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +19 -43
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  17. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -32
  18. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  19. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  20. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  21. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  22. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  23. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  24. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  25. package/lib/cjs/components/headerstateful/HeaderStateful.js +16 -30
  26. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  27. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
  28. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
  29. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
  31. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
  32. package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
  33. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  34. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  35. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  36. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  37. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  38. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +69 -50
  39. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  40. package/lib/cjs/components/livechatwidget/common/endChat.js +57 -35
  41. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  42. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  43. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  44. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +36 -53
  45. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +68 -82
  46. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +7 -32
  47. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
  48. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  49. package/lib/cjs/components/livechatwidget/common/startChat.js +167 -100
  50. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  51. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  52. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +263 -160
  53. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  54. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  55. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  56. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +9 -23
  57. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  58. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  59. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
  60. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -33
  61. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  62. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  63. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  64. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  65. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  66. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  67. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -16
  68. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  69. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  70. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  71. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  72. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  73. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  74. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  75. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -37
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -18
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +1 -12
  115. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  116. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  117. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  118. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  119. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +26 -23
  120. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +12 -12
  121. package/lib/cjs/contexts/createReducer.js +150 -97
  122. package/lib/cjs/controller/componentController.js +3 -32
  123. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  124. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  125. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  126. package/lib/cjs/index.js +0 -5
  127. package/lib/cjs/plugins/newMessageEventHandler.js +22 -46
  128. package/lib/esm/common/Constants.js +9 -148
  129. package/lib/esm/common/KeyCodes.js +0 -2
  130. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  131. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  132. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  133. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  134. package/lib/esm/common/telemetry/TelemetryConstants.js +44 -18
  135. package/lib/esm/common/telemetry/TelemetryHelper.js +14 -45
  136. package/lib/esm/common/telemetry/TelemetryManager.js +6 -19
  137. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  138. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +35 -26
  139. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  140. package/lib/esm/common/utils.js +64 -46
  141. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +19 -14
  142. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  143. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +9 -13
  144. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  145. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  146. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  147. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  148. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  149. package/lib/esm/components/headerstateful/HeaderStateful.js +16 -15
  150. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  151. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  152. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  153. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  154. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  155. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  156. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  157. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  158. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  159. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  160. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  161. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  162. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +71 -37
  163. package/lib/esm/components/livechatwidget/common/endChat.js +57 -21
  164. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  165. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  166. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  167. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +39 -22
  168. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +71 -68
  169. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +7 -22
  170. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  171. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  172. package/lib/esm/components/livechatwidget/common/startChat.js +170 -82
  173. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  174. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +267 -109
  175. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  176. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  177. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  178. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +9 -11
  179. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  180. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  181. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
  182. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -9
  183. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  184. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  185. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  186. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  187. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  188. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  189. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -12
  190. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  191. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  192. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  193. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  194. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  195. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  196. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  197. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  198. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  199. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -13
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +1 -5
  237. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  238. package/lib/esm/contexts/ChatContextStore.js +2 -1
  239. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  240. package/lib/esm/contexts/common/ConversationState.js +3 -3
  241. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +26 -23
  242. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +12 -8
  243. package/lib/esm/contexts/createReducer.js +150 -94
  244. package/lib/esm/controller/componentController.js +4 -3
  245. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  246. package/lib/esm/hooks/useChatContextStore.js +0 -4
  247. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  248. package/lib/esm/plugins/newMessageEventHandler.js +22 -35
  249. package/lib/types/common/Constants.d.ts +9 -1
  250. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  251. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  252. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  253. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  254. package/lib/types/common/telemetry/TelemetryConstants.d.ts +30 -5
  255. package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -0
  256. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  257. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  258. package/lib/types/common/utils.d.ts +7 -1
  259. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  260. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  261. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  262. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  263. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  264. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  265. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  266. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  267. package/lib/types/components/livechatwidget/common/endChat.d.ts +1 -1
  268. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -4
  269. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  270. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  271. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  272. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -3
  273. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  274. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  275. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  276. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  277. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  278. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  279. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  280. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  281. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  282. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  283. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  284. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  285. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  286. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  287. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  288. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  289. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  290. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  291. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -2
  292. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +26 -22
  293. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  294. package/package.json +7 -9
@@ -4,34 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.dummyDefaultProps = void 0;
7
-
8
7
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
-
10
8
  var _mockadapter = _interopRequireDefault(require("../../../webchatcontainerstateful/common/mockadapter"));
11
-
12
9
  var _Audios = require("../../../../assets/Audios");
13
-
14
10
  var _WebChatStoreLoader = require("../../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
15
-
16
11
  var _activityStatusMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware");
17
-
18
12
  var _activityMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware");
19
-
20
13
  var _attachmentMiddleware = _interopRequireDefault(require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware"));
21
-
22
14
  var _avatarMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware");
23
-
24
15
  var _createMarkdown = require("../createMarkdown");
25
-
26
16
  var _groupActivitiesMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware");
27
-
28
17
  var _typingIndicatorMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware");
29
-
30
18
  var _WebChatLogger = require("../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
31
-
32
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
-
34
20
  /* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
21
+
35
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
36
23
  const dummyDefaultProps = {
37
24
  audioNotificationProps: {
@@ -187,24 +174,28 @@ const dummyDefaultProps = {
187
174
  },
188
175
  audioCallButtonStyleProps: {
189
176
  borderRadius: "50%",
190
- color: "#FFFFFF",
191
177
  backgroundColor: "#008000",
192
178
  lineHeight: "40px",
193
179
  height: "40px",
194
180
  width: "40px",
195
- fontSize: 18
181
+ icon: {
182
+ fontSize: 18,
183
+ color: "#FFFFFF"
184
+ }
196
185
  },
197
186
  audioCallButtonHoverStyleProps: {
198
187
  filter: "brightness(0.8)"
199
188
  },
200
189
  videoCallButtonStyleProps: {
201
190
  borderRadius: "50%",
202
- color: "#FFFFFF",
203
191
  backgroundColor: "#008000",
204
192
  lineHeight: "40px",
205
193
  height: "40px",
206
194
  width: "40px",
207
- fontSize: 18
195
+ icon: {
196
+ fontSize: 18,
197
+ color: "#FFFFFF"
198
+ }
208
199
  },
209
200
  videoCallButtonHoverStyleProps: {
210
201
  filter: "brightness(0.8)"
@@ -215,13 +206,15 @@ const dummyDefaultProps = {
215
206
  },
216
207
  declineCallButtonStyleProps: {
217
208
  borderRadius: "50%",
218
- color: "#FFFFFF",
219
209
  backgroundColor: "#DC0000",
220
210
  lineHeight: "40px",
221
211
  height: "40px",
222
212
  width: "40px",
223
- fontSize: 18,
224
- marginLeft: "5px"
213
+ marginLeft: "5px",
214
+ icon: {
215
+ fontSize: 18,
216
+ color: "#FFFFFF"
217
+ }
225
218
  },
226
219
  incomingCallTitleStyleProps: {
227
220
  margin: "0 5px",
@@ -274,18 +267,6 @@ const dummyDefaultProps = {
274
267
  width: "50px",
275
268
  fontSize: "18px"
276
269
  },
277
- currentCallTimerStyleProps: {
278
- borderRadius: "2px",
279
- margin: "1px",
280
- color: "#FFFFFF",
281
- paddingTop: "18px",
282
- fontSize: 12,
283
- fontFamily: "Segoe UI, Arial, sans-serif",
284
- backgroundColor: "darkgrey",
285
- height: "45px",
286
- width: "50px",
287
- textAlign: "center"
288
- },
289
270
  videoTileStyleProps: {
290
271
  width: "100%",
291
272
  marginLeft: "auto",
@@ -349,7 +330,10 @@ const dummyDefaultProps = {
349
330
  hideChatTextContainer: false,
350
331
  hideChatSubtitle: false,
351
332
  hideChatTitle: false,
352
- hideNotificationBubble: true
333
+ hideNotificationBubble: true,
334
+ unreadMessageString: "new messages",
335
+ largeUnreadMessageString: "99+",
336
+ ariaLabelUnreadMessageString: "you have new messages"
353
337
  },
354
338
  styleProps: {
355
339
  generalStyleProps: {
@@ -495,8 +479,8 @@ const dummyDefaultProps = {
495
479
  onConfirm: () => {},
496
480
  // Detailed implementation omitted
497
481
  onCancel: () => {} // Detailed implementation omitted
498
-
499
482
  },
483
+
500
484
  styleProps: {
501
485
  generalStyleProps: {
502
486
  backgroundColor: "#FFFFFF",
@@ -801,6 +785,7 @@ const dummyDefaultProps = {
801
785
  },
802
786
  audioNotificationButtonProps: {
803
787
  id: "oc-lcw-footer-audionotification-button",
788
+ type: "icon",
804
789
  ariaLabel: "Turn sound off",
805
790
  toggleAriaLabel: "Turn sound on",
806
791
  iconName: "Volume3",
@@ -826,8 +811,10 @@ const dummyDefaultProps = {
826
811
  padding: "0 10px 5px 10px"
827
812
  },
828
813
  downloadTranscriptButtonStyleProps: {
829
- color: "blue",
830
- fontSize: 16,
814
+ icon: {
815
+ color: "blue",
816
+ fontSize: 16
817
+ },
831
818
  height: "25px",
832
819
  lineHeight: "25px",
833
820
  width: "25px"
@@ -837,8 +824,10 @@ const dummyDefaultProps = {
837
824
  backgroundColor: "#C8C8C8"
838
825
  },
839
826
  emailTranscriptButtonStyleProps: {
840
- color: "blue",
841
- fontSize: 16,
827
+ cicon: {
828
+ color: "blue",
829
+ fontSize: 16
830
+ },
842
831
  height: "25px",
843
832
  lineHeight: "25px",
844
833
  width: "25px"
@@ -848,8 +837,10 @@ const dummyDefaultProps = {
848
837
  backgroundColor: "#C8C8C8"
849
838
  },
850
839
  audioNotificationButtonStyleProps: {
851
- color: "blue",
852
- fontSize: 16,
840
+ icon: {
841
+ color: "blue",
842
+ fontSize: 16
843
+ },
853
844
  height: "25px",
854
845
  lineHeight: "25px",
855
846
  width: "25px"
@@ -900,7 +891,7 @@ const dummyDefaultProps = {
900
891
  className: undefined
901
892
  },
902
893
  closeButtonProps: {
903
- id: "oc-lcw-header-minimize-button",
894
+ id: "oc-lcw-header-close-button",
904
895
  type: "icon",
905
896
  iconName: "ChromeClose",
906
897
  ariaLabel: "Close",
@@ -1079,8 +1070,8 @@ const dummyDefaultProps = {
1079
1070
  titleText: "We're Offline",
1080
1071
  subtitleText: "No agents available",
1081
1072
  onClick: () => {} // Detailed implementation omitted
1082
-
1083
1073
  },
1074
+
1084
1075
  styleProps: {
1085
1076
  // ...[Existing chat button style props]
1086
1077
  iconStyleProps: {
@@ -1098,8 +1089,8 @@ const dummyDefaultProps = {
1098
1089
  text: "We're Offline"
1099
1090
  },
1100
1091
  onMinimizeClick: () => {} // Detailed implementation omitted
1101
-
1102
1092
  },
1093
+
1103
1094
  styleProps: {
1104
1095
  // ...[Existing chat button style props]
1105
1096
  generalStyleProps: {
@@ -1196,7 +1187,8 @@ const dummyDefaultProps = {
1196
1187
  backgroundColor: "#FFFFFF",
1197
1188
  borderColor: "#F1F1F1"
1198
1189
  }
1199
- }
1190
+ },
1191
+ isCustomerVoiceSurveyCompact: undefined
1200
1192
  },
1201
1193
  proactiveChatPaneProps: {
1202
1194
  componentOverrides: {
@@ -1216,7 +1208,17 @@ const dummyDefaultProps = {
1216
1208
  hideSubtitle: false,
1217
1209
  subtitleText: "Live chat support!",
1218
1210
  hideCloseButton: false,
1219
- closeButtonAriaLabel: "Close Button",
1211
+ closeButtonProps: {
1212
+ id: "oc-lcw-proactivechat-closebutton",
1213
+ type: "icon",
1214
+ iconName: "ChromeClose",
1215
+ ariaLabel: "Close",
1216
+ imageIconProps: undefined,
1217
+ text: "Close",
1218
+ onClick: undefined,
1219
+ className: undefined,
1220
+ hideButtonTitle: true
1221
+ },
1220
1222
  isBodyContainerHorizantal: false,
1221
1223
  hideBodyTitle: false,
1222
1224
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -1226,8 +1228,8 @@ const dummyDefaultProps = {
1226
1228
  onClose: () => {},
1227
1229
  // Detailed implementation omitted
1228
1230
  onStart: () => {} // Detailed implementation omitted
1229
-
1230
1231
  },
1232
+
1231
1233
  styleProps: {
1232
1234
  generalStyleProps: {
1233
1235
  backgroundColor: "rgb(255, 255, 255)",
@@ -1358,8 +1360,8 @@ const dummyDefaultProps = {
1358
1360
  onStartNewChat: () => {},
1359
1361
  // Detailed implementation omitted
1360
1362
  onMinimize: () => {} // Detailed implementation omitted
1361
-
1362
1363
  },
1364
+
1363
1365
  styleProps: {
1364
1366
  generalStyleProps: {
1365
1367
  backgroundColor: "rgb(255, 255, 255)",
@@ -1444,7 +1446,6 @@ const dummyDefaultProps = {
1444
1446
  startNewChatButtonClassName: undefined
1445
1447
  }
1446
1448
  },
1447
- authClientFunction: undefined,
1448
1449
  isReconnectEnabled: undefined,
1449
1450
  reconnectId: undefined,
1450
1451
  redirectInSameWindow: undefined
@@ -1567,6 +1568,12 @@ const dummyDefaultProps = {
1567
1568
  lineHeight: "16px",
1568
1569
  padding: "0px 10px 0 10px"
1569
1570
  },
1571
+ userMessageBoxStyles: {
1572
+ maxWidth: "75%"
1573
+ },
1574
+ systemMessageBoxStyles: {
1575
+ maxWidth: "75%"
1576
+ },
1570
1577
  typingIndicatorStyleProps: {
1571
1578
  marginLeft: "10px",
1572
1579
  marginBottom: "5px",
@@ -1686,6 +1693,9 @@ const dummyDefaultProps = {
1686
1693
  },
1687
1694
  attachmentSizeStyles: {
1688
1695
  display: "none"
1696
+ },
1697
+ receivedMessageAnchorStyles: {
1698
+ color: "white"
1689
1699
  }
1690
1700
  },
1691
1701
  localizedTexts: {
@@ -1709,8 +1719,17 @@ const dummyDefaultProps = {
1709
1719
  MIDDLEWARE_MESSAGE_RETRY: "Retry",
1710
1720
  PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
1711
1721
  MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external."
1722
+ },
1723
+ botMagicCode: {
1724
+ disabled: false,
1725
+ fwdUrl: ""
1726
+ },
1727
+ adaptiveCardStyles: {
1728
+ background: "white",
1729
+ color: "black"
1712
1730
  }
1713
1731
  },
1714
- telemetryConfig: undefined
1732
+ telemetryConfig: undefined,
1733
+ getAuthToken: undefined
1715
1734
  };
1716
1735
  exports.dummyDefaultProps = dummyDefaultProps;
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.disposeTelemetryLoggers = void 0;
7
-
8
7
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
9
-
10
8
  const disposeTelemetryLoggers = () => {
11
9
  (0, _TelemetryManager.disposeLoggers)();
12
10
  };
13
-
14
11
  exports.disposeTelemetryLoggers = disposeTelemetryLoggers;
@@ -4,43 +4,47 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.prepareEndChat = exports.endChat = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
-
12
9
  var _ConversationState = require("../../../contexts/common/ConversationState");
13
-
14
10
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
15
-
16
11
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
17
-
18
12
  var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
19
-
20
13
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
21
-
22
14
  var _PostChatSurveyMode = require("../../postchatsurveypanestateful/enums/PostChatSurveyMode");
23
-
24
15
  var _Constants = require("../../../common/Constants");
25
-
16
+ var _utils = require("../../../common/utils");
26
17
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
18
  const prepareEndChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state) => {
28
- var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4;
29
-
19
+ var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _conversationDetails;
30
20
  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;
31
21
  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;
32
- const conversationDetails = await chatSDK.getConversationDetails();
33
22
 
34
- if (isPostChatEnabled === "true" && (conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.canRenderPostChat) === _Constants.Constants.truePascal) {
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ let conversationDetails = undefined;
25
+ try {
26
+ conversationDetails = await chatSDK.getConversationDetails();
27
+ } catch (erorr) {
28
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
29
+ Event: _TelemetryConstants.TelemetryEvent.GetConversationDetailsException,
30
+ ExceptionDetails: {
31
+ exception: `Failed to get conversation details: ${erorr}`
32
+ }
33
+ });
34
+ }
35
+ if (isPostChatEnabled === "true" && ((_conversationDetails = conversationDetails) === null || _conversationDetails === void 0 ? void 0 : _conversationDetails.canRenderPostChat) === _Constants.Constants.truePascal) {
35
36
  const skipEndChatSDK = false;
36
37
  const skipCloseChat = true;
37
- await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat);
38
-
38
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, false);
39
39
  if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
40
+ dispatch({
41
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
42
+ payload: _ConversationState.ConversationState.PostchatLoading
43
+ });
44
+ await (0, _utils.addDelayInMs)(_Constants.Constants.PostChatLoadingDurationInMs);
40
45
  const loadPostChatEvent = {
41
46
  eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
42
47
  };
43
-
44
48
  _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
45
49
  } else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
46
50
  dispatch({
@@ -48,21 +52,19 @@ const prepareEndChat = async (props, chatSDK, setAdapter, setWebChatStyles, disp
48
52
  payload: _ConversationState.ConversationState.InActive
49
53
  });
50
54
  }
51
- } else {
52
- await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter);
55
+ return;
53
56
  }
54
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
-
57
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
58
+ };
56
59
 
60
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
61
  exports.prepareEndChat = prepareEndChat;
58
-
59
- const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat) => {
62
+ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
60
63
  if (!skipEndChatSDK) {
61
64
  try {
62
65
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
63
66
  Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCall
64
67
  });
65
-
66
68
  await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
67
69
  } catch (ex) {
68
70
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
@@ -71,16 +73,30 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
71
73
  exception: ex
72
74
  }
73
75
  });
76
+ postMessageToOtherTab = false;
74
77
  }
75
78
  }
76
79
 
80
+ // Need to clear these states immediately when chat ended from OC.
81
+ dispatch({
82
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
83
+ payload: undefined
84
+ });
85
+ dispatch({
86
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
87
+ payload: undefined
88
+ });
89
+ dispatch({
90
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
91
+ payload: undefined
92
+ });
77
93
  if (!skipCloseChat) {
78
94
  try {
79
95
  var _props$webChatContain;
80
-
81
96
  adapter === null || adapter === void 0 ? void 0 : adapter.end();
82
97
  setAdapter(undefined);
83
- setWebChatStyles({ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
98
+ setWebChatStyles({
99
+ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
84
100
  ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
85
101
  });
86
102
  _WebChatStoreLoader.WebChatStoreLoader.store = null;
@@ -101,17 +117,24 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
101
117
  payload: null
102
118
  });
103
119
  dispatch({
104
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
105
- payload: undefined
120
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
121
+ payload: 0
106
122
  });
107
123
  dispatch({
108
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
109
- payload: undefined
110
- });
111
-
112
- _omnichannelChatComponents.BroadcastService.postMessage({
113
- eventName: _TelemetryConstants.BroadcastEvent.EndChat
124
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS,
125
+ payload: {
126
+ proactiveChatBodyTitle: "",
127
+ proactiveChatEnablePrechat: false,
128
+ proactiveChatInNewWindow: false
129
+ }
114
130
  });
131
+ if (postMessageToOtherTab) {
132
+ var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps;
133
+ 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, (props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "");
134
+ _omnichannelChatComponents.BroadcastService.postMessage({
135
+ eventName: endChatEventName
136
+ });
137
+ }
115
138
  } catch (error) {
116
139
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
117
140
  Event: _TelemetryConstants.TelemetryEvent.CloseChatMethodException,
@@ -122,5 +145,4 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
122
145
  }
123
146
  }
124
147
  };
125
-
126
148
  exports.endChat = endChat;
@@ -4,14 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getGeneralStylesForButton = void 0;
7
-
8
7
  var _componentController = require("../../../controller/componentController");
9
-
10
8
  var _defaultLiveChatWidgetGeneralStyles = require("./defaultStyles/defaultLiveChatWidgetGeneralStyles");
11
-
12
9
  const getGeneralStylesForButton = state => {
13
10
  let generalStylesForButton = _defaultLiveChatWidgetGeneralStyles.defaultLiveChatWidgetGeneralStyles;
14
-
15
11
  if (!(0, _componentController.shouldShowChatButton)(state) && !(0, _componentController.shouldShowProactiveChatPane)(state)) {
16
12
  generalStylesForButton = Object.assign({}, _defaultLiveChatWidgetGeneralStyles.defaultLiveChatWidgetGeneralStyles, {
17
13
  boxShadow: "0px 0px 2px rgba(0, 0, 0, 0.16), 0px 4px 8px rgba(0, 0, 0, 0.12)",
@@ -21,8 +17,6 @@ const getGeneralStylesForButton = state => {
21
17
  padding: "0.5"
22
18
  });
23
19
  }
24
-
25
20
  return generalStylesForButton;
26
21
  };
27
-
28
22
  exports.getGeneralStylesForButton = getGeneralStylesForButton;
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.initCallingSdk = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
11
-
12
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
10
  const initCallingSdk = async (chatSDK, setVoiceVideoCallingSDK) => {
14
11
  try {
@@ -17,27 +14,21 @@ const initCallingSdk = async (chatSDK, setVoiceVideoCallingSDK) => {
17
14
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
15
  const callingSDK = await chatSDK.getVoiceVideoCalling();
19
16
  setVoiceVideoCallingSDK(callingSDK);
20
-
21
17
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
22
18
  Event: _TelemetryConstants.TelemetryEvent.CallingSDKLoadSuccess
23
19
  });
24
-
25
20
  return true;
26
21
  }
27
-
28
22
  return false;
29
23
  } catch (error) {
30
- if (error !== "Voice and video call is not enabled") {
31
- _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.ERROR, {
32
- Event: _TelemetryConstants.TelemetryEvent.CallingSDKLoadFailed,
33
- ExceptionDetails: {
34
- exception: error
35
- }
36
- });
37
- }
38
-
24
+ _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.ERROR, {
25
+ Event: _TelemetryConstants.TelemetryEvent.CallingSDKLoadFailed,
26
+ ExceptionDetails: {
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ exception: error.message
29
+ }
30
+ });
39
31
  return false;
40
32
  }
41
33
  };
42
-
43
34
  exports.initCallingSdk = initCallingSdk;
@@ -4,19 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.initConfirmationPropsComposer = void 0;
7
-
8
7
  var _defaultConfirmationPaneLocalizedTexts = require("../../confirmationpanestateful/common/defaultProps/defaultConfirmationPaneLocalizedTexts");
9
-
10
8
  const initConfirmationPropsComposer = props => {
11
9
  var _props$confirmationPa, _props$footerProps, _props$footerProps$co, _props$footerProps2, _props$footerProps2$c, _props$confirmationPa2;
12
-
13
- const confirmationPanelocalizedTexts = { ..._defaultConfirmationPaneLocalizedTexts.defaultConfirmationPaneLocalizedTexts,
10
+ const confirmationPanelocalizedTexts = {
11
+ ..._defaultConfirmationPaneLocalizedTexts.defaultConfirmationPaneLocalizedTexts,
14
12
  ...(props === null || props === void 0 ? void 0 : (_props$confirmationPa = props.confirmationPaneProps) === null || _props$confirmationPa === void 0 ? void 0 : _props$confirmationPa.confirmationPaneLocalizedTexts)
15
13
  };
16
14
  let confirmationPaneInputs;
17
15
  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;
18
16
  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;
19
-
20
17
  if (!emailTranscriptDisabled && !downloadTranscriptDisabled) {
21
18
  confirmationPaneInputs = {
22
19
  title: confirmationPanelocalizedTexts.CLOSE_CONFIRMATION_DIALOG_TITLE_FOR_EMAIL_AND_DOWNLOAD_TRANSCRIPT_ENABLED,
@@ -38,8 +35,8 @@ const initConfirmationPropsComposer = props => {
38
35
  description: confirmationPanelocalizedTexts.CLOSE_CONFIRMATION_DIALOG_DESCRIPTION_DEFAULT
39
36
  };
40
37
  }
41
-
42
- const confirmationPaneProps = { ...props.confirmationPaneProps,
38
+ const confirmationPaneProps = {
39
+ ...props.confirmationPaneProps,
43
40
  controlProps: {
44
41
  titleText: confirmationPaneInputs.title,
45
42
  subtitleText: confirmationPaneInputs.description,
@@ -48,5 +45,4 @@ const initConfirmationPropsComposer = props => {
48
45
  };
49
46
  return confirmationPaneProps;
50
47
  };
51
-
52
48
  exports.initConfirmationPropsComposer = initConfirmationPropsComposer;