@microsoft/omnichannel-chat-widget 0.1.0-main.e67738e → 0.1.0-main.ec08ec5

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 (262) hide show
  1. package/lib/cjs/common/Constants.js +0 -167
  2. package/lib/cjs/common/KeyCodes.js +0 -3
  3. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  4. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  5. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  6. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +21 -22
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +16 -57
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +0 -31
  10. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  11. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  12. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  13. package/lib/cjs/common/utils.js +18 -105
  14. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
  15. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +2 -24
  16. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -32
  17. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  18. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  19. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  20. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  21. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  22. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -45
  23. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  24. package/lib/cjs/components/headerstateful/HeaderStateful.js +12 -27
  25. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  26. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +2 -9
  27. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -5
  28. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -11
  29. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +11 -19
  30. package/lib/cjs/components/livechatwidget/common/Deferred.js +3 -10
  31. package/lib/cjs/components/livechatwidget/common/authHelper.js +13 -15
  32. package/lib/cjs/components/livechatwidget/common/createAdapter.js +2 -13
  33. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  34. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -14
  35. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +16 -24
  36. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +55 -36
  37. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  38. package/lib/cjs/components/livechatwidget/common/endChat.js +8 -33
  39. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  40. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  41. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  42. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +16 -54
  43. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +36 -66
  44. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  45. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -11
  46. package/lib/cjs/components/livechatwidget/common/shareObservable.js +4 -8
  47. package/lib/cjs/components/livechatwidget/common/startChat.js +55 -86
  48. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  49. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  50. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +125 -196
  51. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  52. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  53. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  54. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  55. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  56. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  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 +8 -36
  60. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
  61. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  62. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +21 -37
  63. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +0 -7
  64. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  65. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  66. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +2 -17
  67. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  68. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  69. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  70. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -4
  71. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  72. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  73. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  74. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  75. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -19
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  112. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  113. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  114. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  115. package/lib/cjs/contexts/common/ConversationState.js +0 -1
  116. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +1 -2
  117. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +8 -10
  118. package/lib/cjs/contexts/createReducer.js +135 -106
  119. package/lib/cjs/controller/componentController.js +1 -30
  120. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  121. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  122. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  123. package/lib/cjs/index.js +0 -5
  124. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  125. package/lib/esm/common/Constants.js +0 -155
  126. package/lib/esm/common/KeyCodes.js +0 -2
  127. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  128. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  129. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  130. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  131. package/lib/esm/common/telemetry/TelemetryConstants.js +25 -19
  132. package/lib/esm/common/telemetry/TelemetryHelper.js +16 -45
  133. package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
  134. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  135. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  136. package/lib/esm/common/utils.js +18 -53
  137. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  138. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
  139. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -13
  140. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  141. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  142. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  143. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
  144. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  145. package/lib/esm/components/headerstateful/HeaderStateful.js +12 -12
  146. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  147. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +2 -6
  148. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -3
  149. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -8
  150. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +11 -15
  151. package/lib/esm/components/livechatwidget/common/Deferred.js +3 -8
  152. package/lib/esm/components/livechatwidget/common/authHelper.js +13 -10
  153. package/lib/esm/components/livechatwidget/common/createAdapter.js +4 -6
  154. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  155. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -5
  156. package/lib/esm/components/livechatwidget/common/createMarkdown.js +18 -18
  157. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +57 -23
  158. package/lib/esm/components/livechatwidget/common/endChat.js +10 -18
  159. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  160. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  161. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  162. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +18 -19
  163. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +37 -51
  164. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  165. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
  166. package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
  167. package/lib/esm/components/livechatwidget/common/startChat.js +57 -59
  168. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  169. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +126 -129
  170. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  171. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  172. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  173. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  174. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  175. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  176. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  177. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  178. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +10 -20
  179. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
  180. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  181. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +19 -11
  182. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  183. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  184. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +2 -13
  185. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  186. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  187. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  188. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -2
  189. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  190. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  191. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  192. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  193. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  194. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  195. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  196. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  197. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  198. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  199. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -14
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  230. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  231. package/lib/esm/contexts/ChatContextStore.js +2 -1
  232. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  233. package/lib/esm/contexts/common/ConversationState.js +0 -1
  234. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +1 -2
  235. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +8 -6
  236. package/lib/esm/contexts/createReducer.js +135 -103
  237. package/lib/esm/controller/componentController.js +2 -1
  238. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  239. package/lib/esm/hooks/useChatContextStore.js +0 -4
  240. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  241. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  242. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  243. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  244. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  245. package/lib/types/common/telemetry/TelemetryConstants.d.ts +9 -2
  246. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  247. package/lib/types/components/livechatwidget/common/authHelper.d.ts +3 -2
  248. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -5
  249. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -2
  250. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  251. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  252. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  253. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  254. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  255. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  256. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  257. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  258. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  259. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -1
  260. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +1 -1
  261. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  262. package/package.json +3 -3
@@ -4,121 +4,74 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.LiveChatWidgetStateful = 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 _react = require("@fluentui/react");
13
-
14
10
  var _react2 = _interopRequireWildcard(require("react"));
15
-
16
11
  var _utils = require("../../../common/utils");
17
-
18
12
  var _reconnectChatHelper = require("../common/reconnectChatHelper");
19
-
20
13
  var _startChat = require("../common/startChat");
21
-
22
14
  var _componentController = require("../../../controller/componentController");
23
-
24
15
  var _CallingContainerStateful = _interopRequireDefault(require("../../callingcontainerstateful/CallingContainerStateful"));
25
-
26
16
  var _ChatButtonStateful = _interopRequireDefault(require("../../chatbuttonstateful/ChatButtonStateful"));
27
-
28
17
  var _botframeworkWebchat = require("botframework-webchat");
29
-
30
18
  var _ConfirmationPaneStateful = _interopRequireDefault(require("../../confirmationpanestateful/ConfirmationPaneStateful"));
31
-
32
19
  var _ConversationState = require("../../../contexts/common/ConversationState");
33
-
34
20
  var _DataStoreManager = require("../../../common/contextDataStore/DataStoreManager");
35
-
36
21
  var _EmailTranscriptPaneStateful = _interopRequireDefault(require("../../emailtranscriptpanestateful/EmailTranscriptPaneStateful"));
37
-
38
22
  var _HeaderStateful = _interopRequireDefault(require("../../headerstateful/HeaderStateful"));
39
-
40
23
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
41
-
42
24
  var _LoadingPaneStateful = _interopRequireDefault(require("../../loadingpanestateful/LoadingPaneStateful"));
43
-
44
25
  var _OOOHPaneStateful = _interopRequireDefault(require("../../ooohpanestateful/OOOHPaneStateful"));
45
-
46
26
  var _PostChatLoadingPaneStateful = _interopRequireDefault(require("../../postchatloadingpanestateful/PostChatLoadingPaneStateful"));
47
-
48
27
  var _PostChatSurveyPaneStateful = _interopRequireDefault(require("../../postchatsurveypanestateful/PostChatSurveyPaneStateful"));
49
-
50
28
  var _PreChatSurveyPaneStateful = _interopRequireDefault(require("../../prechatsurveypanestateful/PreChatSurveyPaneStateful"));
51
-
52
29
  var _ProactiveChatPaneStateful = _interopRequireDefault(require("../../proactivechatpanestateful/ProactiveChatPaneStateful"));
53
-
54
30
  var _ReconnectChatPaneStateful = _interopRequireDefault(require("../../reconnectchatpanestateful/ReconnectChatPaneStateful"));
55
-
56
31
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
57
-
58
32
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
59
-
60
33
  var _WebChatContainerStateful = _interopRequireDefault(require("../../webchatcontainerstateful/WebChatContainerStateful"));
61
-
62
34
  var _createFooter = require("../common/createFooter");
63
-
64
35
  var _createInternetConnectionChangeHandler = require("../common/createInternetConnectionChangeHandler");
65
-
66
36
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
67
-
68
37
  var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
69
-
70
38
  var _endChat = require("../common/endChat");
71
-
72
39
  var _getGeneralStylesForButton = require("../common/getGeneralStylesForButton");
73
-
74
40
  var _initCallingSdk = require("../common/initCallingSdk");
75
-
76
41
  var _initConfirmationPropsComposer = require("../common/initConfirmationPropsComposer");
77
-
78
42
  var _initWebChatComposer = require("../common/initWebChatComposer");
79
-
80
43
  var _registerTelemetryLoggers = require("../common/registerTelemetryLoggers");
81
-
82
44
  var _setPostChatContextAndLoadSurvey = require("../common/setPostChatContextAndLoadSurvey");
83
-
84
45
  var _startProactiveChat = require("../common/startProactiveChat");
85
-
86
46
  var _useChatAdapterStore = _interopRequireDefault(require("../../../hooks/useChatAdapterStore"));
87
-
88
47
  var _useChatContextStore = _interopRequireDefault(require("../../../hooks/useChatContextStore"));
89
-
90
48
  var _useChatSDKStore = _interopRequireDefault(require("../../../hooks/useChatSDKStore"));
91
-
92
49
  var _ActivityStreamHandler = require("../common/ActivityStreamHandler");
93
-
94
- var _Constants = require("../../../common/Constants");
95
-
50
+ var _defaultCacheManager = require("../../../common/storage/default/defaultCacheManager");
51
+ var _defaultClientDataStoreProvider = require("../../../common/storage/default/defaultClientDataStoreProvider");
96
52
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
97
-
98
53
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
99
-
100
54
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
101
-
102
55
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
103
-
104
56
  const LiveChatWidgetStateful = props => {
105
57
  var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps14, _props$controlProps15, _props$componentOverr, _props$controlProps16, _props$componentOverr2, _props$controlProps17, _props$componentOverr3, _props$controlProps18, _props$componentOverr4, _props$controlProps19, _props$componentOverr5, _props$controlProps20, _props$componentOverr6, _props$controlProps21, _props$componentOverr7, _props$controlProps22, _props$controlProps23, _props$componentOverr8, _props$controlProps24, _props$componentOverr9, _props$controlProps25, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
106
-
107
- const [state, dispatch] = (0, _useChatContextStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
-
58
+ const [state, dispatch] = (0, _useChatContextStore.default)();
59
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
109
60
  const [adapter, setAdapter] = (0, _useChatAdapterStore.default)();
110
- const [webChatStyles, setWebChatStyles] = (0, _react2.useState)({ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
61
+ const [webChatStyles, setWebChatStyles] = (0, _react2.useState)({
62
+ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
111
63
  ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
112
- }); // eslint-disable-next-line @typescript-eslint/no-explicit-any
113
-
114
- const chatSDK = (0, _useChatSDKStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
115
-
64
+ });
65
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
+ const chatSDK = (0, _useChatSDKStore.default)();
67
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
68
  const [voiceVideoCallingSDK, setVoiceVideoCallingSDK] = (0, _react2.useState)(undefined);
117
69
  const {
118
70
  Composer
119
71
  } = _botframeworkWebchat.Components;
120
- const canStartProactiveChat = (0, _react2.useRef)(true); // Process general styles
72
+ const canStartProactiveChat = (0, _react2.useRef)(true);
121
73
 
74
+ // Process general styles
122
75
  const generalStyles = {
123
76
  root: Object.assign({}, (0, _getGeneralStylesForButton.getGeneralStylesForButton)(state), (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyles)
124
77
  };
@@ -128,83 +81,80 @@ const LiveChatWidgetStateful = props => {
128
81
  const widgetElementId = ((_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.id) || "oc-lcw";
129
82
  const currentMessageCountRef = (0, _react2.useRef)(0);
130
83
  let widgetStateEventName = "";
131
-
132
84
  const initiateEndChatOnBrowserUnload = () => {
133
85
  var _DataStoreManager$cli;
134
-
135
86
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
136
87
  Event: _TelemetryConstants.TelemetryEvent.BrowserUnloadEventStarted,
137
88
  Description: "Browser unload event received."
138
89
  });
90
+ (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, false);
91
+ // Clean local storage
92
+ (_DataStoreManager$cli = _DataStoreManager.DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.removeData(widgetStateEventName, "localStorage");
139
93
 
140
- (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, false); // Clean local storage
141
-
142
- (_DataStoreManager$cli = _DataStoreManager.DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.removeData(widgetStateEventName, "localStorage"); //Dispose calling instance
143
-
94
+ //Dispose calling instance
144
95
  if (voiceVideoCallingSDK) {
145
96
  voiceVideoCallingSDK === null || voiceVideoCallingSDK === void 0 ? void 0 : voiceVideoCallingSDK.close();
146
- } //Message for clearing window[popouTab]
147
-
148
-
97
+ }
98
+ //Message for clearing window[popouTab]
149
99
  _omnichannelChatComponents.BroadcastService.postMessage({
150
100
  eventName: _TelemetryConstants.BroadcastEvent.ClosePopoutWindow
151
101
  });
152
102
  };
153
-
154
103
  (0, _react2.useEffect)(() => {
155
- var _props$controlProps3, _props$controlProps4, _props$controlProps5, _props$controlProps7, _props$chatConfig, _props$chatConfig$Cha, _props$controlProps8, _props$reconnectChatP, _props$chatConfig2, _props$chatConfig2$Li, _props$reconnectChatP4;
156
-
104
+ var _props$controlProps4, _props$controlProps5, _props$controlProps6, _props$controlProps8, _props$chatConfig, _props$chatConfig$Cha, _props$controlProps9, _props$reconnectChatP, _props$chatConfig2, _props$chatConfig2$Li, _state$domainStates;
105
+ // Add default localStorage support for widget
106
+ if (props.contextDataStore === undefined) {
107
+ var _chatSDK$omnichannelC2, _chatSDK$omnichannelC3, _props$controlProps3;
108
+ (0, _defaultCacheManager.registerBroadcastServiceForLocalStorage)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC3 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC3 === void 0 ? void 0 : _chatSDK$omnichannelC3.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : _props$controlProps3.widgetInstanceId) ?? "");
109
+ _DataStoreManager.DataStoreManager.clientDataStore = (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)();
110
+ } else {
111
+ _DataStoreManager.DataStoreManager.clientDataStore = props.contextDataStore;
112
+ }
157
113
  (0, _registerTelemetryLoggers.registerTelemetryLoggers)(props, dispatch);
158
114
  (0, _createInternetConnectionChangeHandler.createInternetConnectionChangeHandler)();
159
- _DataStoreManager.DataStoreManager.clientDataStore = props.contextDataStore ?? undefined;
160
115
  dispatch({
161
116
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_ELEMENT_ID,
162
117
  payload: widgetElementId
163
118
  });
164
119
  dispatch({
165
120
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SKIP_CHAT_BUTTON_RENDERING,
166
- payload: ((_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : _props$controlProps3.skipChatButtonRendering) || false
121
+ payload: ((_props$controlProps4 = props.controlProps) === null || _props$controlProps4 === void 0 ? void 0 : _props$controlProps4.skipChatButtonRendering) || false
167
122
  });
168
123
  dispatch({
169
124
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_E2VV_ENABLED,
170
125
  payload: false
171
126
  });
172
-
173
- if ((_props$controlProps4 = props.controlProps) !== null && _props$controlProps4 !== void 0 && _props$controlProps4.widgetInstanceId && !(0, _utils.isNullOrEmptyString)((_props$controlProps5 = props.controlProps) === null || _props$controlProps5 === void 0 ? void 0 : _props$controlProps5.widgetInstanceId)) {
174
- var _props$controlProps6;
175
-
127
+ if ((_props$controlProps5 = props.controlProps) !== null && _props$controlProps5 !== void 0 && _props$controlProps5.widgetInstanceId && !(0, _utils.isNullOrEmptyString)((_props$controlProps6 = props.controlProps) === null || _props$controlProps6 === void 0 ? void 0 : _props$controlProps6.widgetInstanceId)) {
128
+ var _props$controlProps7;
176
129
  dispatch({
177
130
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_INSTANCE_ID,
178
- payload: (_props$controlProps6 = props.controlProps) === null || _props$controlProps6 === void 0 ? void 0 : _props$controlProps6.widgetInstanceId
131
+ payload: (_props$controlProps7 = props.controlProps) === null || _props$controlProps7 === void 0 ? void 0 : _props$controlProps7.widgetInstanceId
179
132
  });
180
133
  }
181
-
182
134
  (0, _initCallingSdk.initCallingSdk)(chatSDK, setVoiceVideoCallingSDK).then(sdkCreated => {
183
135
  sdkCreated && dispatch({
184
136
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_E2VV_ENABLED,
185
137
  payload: true
186
138
  });
187
- }); // Initialize global dir
139
+ });
188
140
 
189
- const globalDir = ((_props$controlProps7 = props.controlProps) === null || _props$controlProps7 === void 0 ? void 0 : _props$controlProps7.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig = props.chatConfig) === null || _props$chatConfig === void 0 ? void 0 : (_props$chatConfig$Cha = _props$chatConfig.ChatWidgetLanguage) === null || _props$chatConfig$Cha === void 0 ? void 0 : _props$chatConfig$Cha.msdyn_localeid);
141
+ // Initialize global dir
142
+ const globalDir = ((_props$controlProps8 = props.controlProps) === null || _props$controlProps8 === void 0 ? void 0 : _props$controlProps8.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig = props.chatConfig) === null || _props$chatConfig === void 0 ? void 0 : (_props$chatConfig$Cha = _props$chatConfig.ChatWidgetLanguage) === null || _props$chatConfig$Cha === void 0 ? void 0 : _props$chatConfig$Cha.msdyn_localeid);
190
143
  dispatch({
191
144
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_GLOBAL_DIR,
192
145
  payload: globalDir
193
146
  });
194
-
195
- if (!((_props$controlProps8 = props.controlProps) !== null && _props$controlProps8 !== void 0 && _props$controlProps8.skipChatButtonRendering) && (_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
196
- var _props$reconnectChatP2, _props$reconnectChatP3;
197
-
198
- (0, _reconnectChatHelper.startUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.isReconnectEnabled, (_props$reconnectChatP3 = props.reconnectChatPaneProps) === null || _props$reconnectChatP3 === void 0 ? void 0 : _props$reconnectChatP3.reconnectId, _startChat.initStartChat);
147
+ if (!((_props$controlProps9 = props.controlProps) !== null && _props$controlProps9 !== void 0 && _props$controlProps9.skipChatButtonRendering) && (_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
148
+ var _props$reconnectChatP2;
149
+ (0, _reconnectChatHelper.startUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.reconnectId, _startChat.initStartChat);
199
150
  return;
200
- } // Checks if reconnectId is present for auth chat. If it is present, then it shows reconnect chat pane,
151
+ }
152
+
153
+ // Checks if reconnectId is present for auth chat. If it is present, then it shows reconnect chat pane,
201
154
  // where customer can choose to continue previous conversation or start new conversation
202
155
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
203
-
204
-
205
156
  const isAuthenticationSettingsEnabled = (_props$chatConfig2 = props.chatConfig) !== null && _props$chatConfig2 !== void 0 && (_props$chatConfig2$Li = _props$chatConfig2.LiveChatConfigAuthSettings) !== null && _props$chatConfig2$Li !== void 0 && _props$chatConfig2$Li.msdyn_javascriptclientfunction ? true : false;
206
-
207
- if (!state.appStates.skipChatButtonRendering && state.appStates.conversationState === _ConversationState.ConversationState.Active && isAuthenticationSettingsEnabled === true && (_props$reconnectChatP4 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP4 !== void 0 && _props$reconnectChatP4.isReconnectEnabled) {
157
+ if (!state.appStates.skipChatButtonRendering && state.appStates.conversationState === _ConversationState.ConversationState.Active && isAuthenticationSettingsEnabled === true && (0, _reconnectChatHelper.isReconnectEnabled)(props.chatConfig)) {
208
158
  (0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK).then(authReconnectId => {
209
159
  if (authReconnectId && !state.appStates.reconnectId) {
210
160
  dispatch({
@@ -218,42 +168,33 @@ const LiveChatWidgetStateful = props => {
218
168
  }
219
169
  });
220
170
  return;
221
- } // Check if auth settings enabled, do not connect to existing chat from cache during refresh/re-load
222
-
223
-
224
- if (isAuthenticationSettingsEnabled === false) {
225
- var _state$domainStates;
226
-
227
- if (!(0, _utils.isUndefinedOrEmpty)((_state$domainStates = state.domainStates) === null || _state$domainStates === void 0 ? void 0 : _state$domainStates.liveChatContext) && state.appStates.conversationState === _ConversationState.ConversationState.Active) {
228
- var _state$domainStates2;
229
-
230
- const optionalParams = {
231
- liveChatContext: (_state$domainStates2 = state.domainStates) === null || _state$domainStates2 === void 0 ? void 0 : _state$domainStates2.liveChatContext
232
- };
233
- (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams);
234
- return;
235
- }
236
- } // All other case should show start chat button, skipChatButtonRendering will take care of it own
237
-
171
+ }
172
+ if (!state.appStates.skipChatButtonRendering && !(0, _utils.isUndefinedOrEmpty)((_state$domainStates = state.domainStates) === null || _state$domainStates === void 0 ? void 0 : _state$domainStates.liveChatContext) && state.appStates.conversationState === _ConversationState.ConversationState.Active) {
173
+ var _state$domainStates2;
174
+ const optionalParams = {
175
+ liveChatContext: (_state$domainStates2 = state.domainStates) === null || _state$domainStates2 === void 0 ? void 0 : _state$domainStates2.liveChatContext
176
+ };
177
+ (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams);
178
+ return;
179
+ }
238
180
 
181
+ // All other case should show start chat button, skipChatButtonRendering will take care of it own
239
182
  dispatch({
240
183
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
241
184
  payload: _ConversationState.ConversationState.Closed
242
185
  });
243
- }, []); // useEffect for when skip chat button rendering
186
+ }, []);
244
187
 
188
+ // useEffect for when skip chat button rendering
245
189
  (0, _react2.useEffect)(() => {
246
190
  if (state.appStates.skipChatButtonRendering) {
247
- var _props$reconnectChatP5;
248
-
191
+ var _props$reconnectChatP3;
249
192
  _omnichannelChatComponents.BroadcastService.postMessage({
250
193
  eventName: _TelemetryConstants.BroadcastEvent.ChatInitiated
251
194
  });
252
-
253
- if ((_props$reconnectChatP5 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP5 !== void 0 && _props$reconnectChatP5.reconnectId && !state.appStates.reconnectId) {
254
- var _props$reconnectChatP6, _props$reconnectChatP7, _props$reconnectChatP8;
255
-
256
- (0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP6 = props.reconnectChatPaneProps) === null || _props$reconnectChatP6 === void 0 ? void 0 : _props$reconnectChatP6.isReconnectEnabled, (_props$reconnectChatP7 = props.reconnectChatPaneProps) === null || _props$reconnectChatP7 === void 0 ? void 0 : _props$reconnectChatP7.reconnectId, _startChat.initStartChat, (_props$reconnectChatP8 = props.reconnectChatPaneProps) === null || _props$reconnectChatP8 === void 0 ? void 0 : _props$reconnectChatP8.redirectInSameWindow);
195
+ if ((_props$reconnectChatP3 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP3 !== void 0 && _props$reconnectChatP3.reconnectId && !state.appStates.reconnectId) {
196
+ var _props$reconnectChatP4, _props$reconnectChatP5;
197
+ (0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.reconnectId, _startChat.initStartChat, (_props$reconnectChatP5 = props.reconnectChatPaneProps) === null || _props$reconnectChatP5 === void 0 ? void 0 : _props$reconnectChatP5.redirectInSameWindow);
257
198
  } else {
258
199
  (0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK).then(authReconnectId => {
259
200
  if (authReconnectId && !state.appStates.reconnectId) {
@@ -266,44 +207,47 @@ const LiveChatWidgetStateful = props => {
266
207
  payload: _ConversationState.ConversationState.ReconnectChat
267
208
  });
268
209
  } else {
210
+ var _state$domainStates3;
269
211
  const chatStartedSkippingChatButtonRendering = {
270
212
  eventName: _TelemetryConstants.BroadcastEvent.StartChatSkippingChatButtonRendering
271
213
  };
272
-
273
214
  _omnichannelChatComponents.BroadcastService.postMessage(chatStartedSkippingChatButtonRendering);
274
-
275
- (0, _startChat.setPreChatAndInitiateChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter);
215
+ if (!(0, _utils.isUndefinedOrEmpty)((_state$domainStates3 = state.domainStates) === null || _state$domainStates3 === void 0 ? void 0 : _state$domainStates3.liveChatContext) && state.appStates.conversationState === _ConversationState.ConversationState.Active) {
216
+ var _state$domainStates4;
217
+ const optionalParams = {
218
+ liveChatContext: (_state$domainStates4 = state.domainStates) === null || _state$domainStates4 === void 0 ? void 0 : _state$domainStates4.liveChatContext
219
+ };
220
+ (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams);
221
+ } else {
222
+ (0, _startChat.setPreChatAndInitiateChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter);
223
+ }
276
224
  }
277
225
  });
278
226
  }
279
227
  }
280
- }, [state.appStates.skipChatButtonRendering]); // useEffect for when skip chat button rendering
228
+ }, [state.appStates.skipChatButtonRendering]);
281
229
 
230
+ // useEffect for when skip chat button rendering
282
231
  (0, _react2.useEffect)(() => {
283
- var _chatSDK$omnichannelC6, _chatSDK$omnichannelC7, _props$controlProps11;
284
-
232
+ var _chatSDK$omnichannelC8, _chatSDK$omnichannelC9, _props$controlProps12;
285
233
  // Add the custom context on receiving the SetCustomContext event
286
234
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.SetCustomContext).subscribe(msg => {
287
235
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
288
236
  Event: _TelemetryConstants.TelemetryEvent.CustomContextReceived,
289
237
  Description: "CustomContext received."
290
238
  });
291
-
292
239
  dispatch({
293
240
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
294
241
  payload: msg === null || msg === void 0 ? void 0 : msg.payload
295
242
  });
296
243
  });
297
-
298
244
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.StartProactiveChat).subscribe(msg => {
299
245
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
300
246
  Event: _TelemetryConstants.TelemetryEvent.StartProactiveChatEventReceived,
301
247
  Description: "Start proactive chat event received."
302
248
  });
303
-
304
249
  if (canStartProactiveChat.current === true) {
305
250
  var _msg$payload, _msg$payload2, _msg$payload3;
306
-
307
251
  (0, _startProactiveChat.startProactiveChat)(dispatch, msg === null || msg === void 0 ? void 0 : (_msg$payload = msg.payload) === null || _msg$payload === void 0 ? void 0 : _msg$payload.notificationConfig, msg === null || msg === void 0 ? void 0 : (_msg$payload2 = msg.payload) === null || _msg$payload2 === void 0 ? void 0 : _msg$payload2.enablePreChat, msg === null || msg === void 0 ? void 0 : (_msg$payload3 = msg.payload) === null || _msg$payload3 === void 0 ? void 0 : _msg$payload3.inNewWindow);
308
252
  } else {
309
253
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
@@ -311,48 +255,43 @@ const LiveChatWidgetStateful = props => {
311
255
  Description: "Start proactive chat method called, when chat was already triggered."
312
256
  });
313
257
  }
314
- }); // Start chat from SDK Event
315
-
258
+ });
316
259
 
260
+ // Start chat from SDK Event
317
261
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.StartChat).subscribe(() => {
318
- var _chatSDK$omnichannelC2, _chatSDK$omnichannelC3, _props$controlProps9;
319
-
262
+ var _chatSDK$omnichannelC4, _chatSDK$omnichannelC5, _props$controlProps10;
320
263
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
321
264
  Event: _TelemetryConstants.TelemetryEvent.StartChatEventRecevied,
322
265
  Description: "Start chat event received."
323
266
  });
267
+ const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC4 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC4 === void 0 ? void 0 : _chatSDK$omnichannelC4.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC5 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC5 === void 0 ? void 0 : _chatSDK$omnichannelC5.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps10 = props.controlProps) === null || _props$controlProps10 === void 0 ? void 0 : _props$controlProps10.widgetInstanceId) ?? "");
324
268
 
325
- const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC3 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC3 === void 0 ? void 0 : _chatSDK$omnichannelC3.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.widgetInstanceId) ?? ""); // Chat not found in cache
326
-
269
+ // Chat not found in cache
327
270
  if (persistedState === undefined) {
328
271
  _omnichannelChatComponents.BroadcastService.postMessage({
329
272
  eventName: _TelemetryConstants.BroadcastEvent.ChatInitiated
330
273
  });
331
-
332
274
  (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
333
275
  return;
334
- } // Chat exist in cache
335
-
276
+ }
336
277
 
278
+ // Chat exist in cache
337
279
  if (persistedState) {
338
280
  var _persistedState$domai, _persistedState$domai2, _persistedState$domai3, _persistedState$domai4;
339
-
340
281
  // Only initiate new chat if widget state in cache in one of the followings
341
282
  if (persistedState.appStates.conversationState === _ConversationState.ConversationState.Closed || persistedState.appStates.conversationState === _ConversationState.ConversationState.InActive || persistedState.appStates.conversationState === _ConversationState.ConversationState.Postchat) {
342
283
  _omnichannelChatComponents.BroadcastService.postMessage({
343
284
  eventName: _TelemetryConstants.BroadcastEvent.ChatInitiated
344
285
  });
345
-
346
286
  (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
347
287
  return;
348
- } // If minimized, maximize the chat
349
-
288
+ }
350
289
 
290
+ // If minimized, maximize the chat
351
291
  dispatch({
352
292
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
353
293
  payload: false
354
294
  });
355
-
356
295
  _omnichannelChatComponents.BroadcastService.postMessage({
357
296
  eventName: _TelemetryConstants.BroadcastEvent.MaximizeChat,
358
297
  payload: {
@@ -361,16 +300,14 @@ const LiveChatWidgetStateful = props => {
361
300
  }
362
301
  });
363
302
  }
364
- }); // End chat
365
-
303
+ });
366
304
 
305
+ // End chat
367
306
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.InitiateEndChat).subscribe(async () => {
368
307
  if (state.appStates.skipChatButtonRendering !== true) {
369
- var _chatSDK$omnichannelC4, _chatSDK$omnichannelC5, _props$controlProps10;
370
-
308
+ var _chatSDK$omnichannelC6, _chatSDK$omnichannelC7, _props$controlProps11;
371
309
  // This is to ensure to get latest state from cache in multitab
372
- const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC4 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC4 === void 0 ? void 0 : _chatSDK$omnichannelC4.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC5 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC5 === void 0 ? void 0 : _chatSDK$omnichannelC5.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps10 = props.controlProps) === null || _props$controlProps10 === void 0 ? void 0 : _props$controlProps10.widgetInstanceId) ?? "");
373
-
310
+ const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC6 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC6 === void 0 ? void 0 : _chatSDK$omnichannelC6.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC7 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC7 === void 0 ? void 0 : _chatSDK$omnichannelC7.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps11 = props.controlProps) === null || _props$controlProps11 === void 0 ? void 0 : _props$controlProps11.widgetInstanceId) ?? "");
374
311
  if (persistedState && persistedState.appStates.conversationState === _ConversationState.ConversationState.Active) {
375
312
  (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
376
313
  } else {
@@ -379,38 +316,35 @@ const LiveChatWidgetStateful = props => {
379
316
  (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat);
380
317
  }
381
318
  }
382
-
383
319
  _omnichannelChatComponents.BroadcastService.postMessage({
384
320
  eventName: _TelemetryConstants.BroadcastEvent.CloseChat
385
321
  });
386
- }); // End chat on browser unload
387
-
322
+ });
388
323
 
324
+ // End chat on browser unload
389
325
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.InitiateEndChatOnBrowserUnload).subscribe(() => {
390
326
  initiateEndChatOnBrowserUnload();
391
- }); // Listen to end chat event from other tabs
392
-
393
-
394
- const endChatEventName = (0, _utils.getWidgetEndChatEventName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC6 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC6 === void 0 ? void 0 : _chatSDK$omnichannelC6.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC7 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC7 === void 0 ? void 0 : _chatSDK$omnichannelC7.widgetId, ((_props$controlProps11 = props.controlProps) === null || _props$controlProps11 === void 0 ? void 0 : _props$controlProps11.widgetInstanceId) ?? "");
327
+ });
395
328
 
329
+ // Listen to end chat event from other tabs
330
+ const endChatEventName = (0, _utils.getWidgetEndChatEventName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC8 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC8 === void 0 ? void 0 : _chatSDK$omnichannelC8.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC9 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC9 === void 0 ? void 0 : _chatSDK$omnichannelC9.widgetId, ((_props$controlProps12 = props.controlProps) === null || _props$controlProps12 === void 0 ? void 0 : _props$controlProps12.widgetInstanceId) ?? "");
396
331
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(endChatEventName).subscribe(async () => {
397
332
  (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, false);
398
333
  return;
399
- }); // When conversation ended by agent
400
-
334
+ });
401
335
 
336
+ // When conversation ended by agent
402
337
  if (state.appStates.conversationEndedByAgent) {
403
338
  (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter);
404
- } //Listen to WidgetSize, used for minimize to maximize
405
-
339
+ }
406
340
 
341
+ //Listen to WidgetSize, used for minimize to maximize
407
342
  _omnichannelChatComponents.BroadcastService.getMessageByEventName("WidgetSize").subscribe(msg => {
408
343
  dispatch({
409
344
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_SIZE,
410
345
  payload: msg === null || msg === void 0 ? void 0 : msg.payload
411
346
  });
412
347
  });
413
-
414
348
  return () => {
415
349
  (0, _disposeTelemetryLoggers.disposeTelemetryLoggers)();
416
350
  };
@@ -424,8 +358,9 @@ const LiveChatWidgetStateful = props => {
424
358
  dispatch({
425
359
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
426
360
  payload: currentMessageCountRef.current + 1
427
- }); // New message notification
361
+ });
428
362
 
363
+ // New message notification
429
364
  _omnichannelChatComponents.BroadcastService.postMessage({
430
365
  eventName: _TelemetryConstants.BroadcastEvent.NewMessageNotification
431
366
  });
@@ -434,15 +369,15 @@ const LiveChatWidgetStateful = props => {
434
369
  }, [state.appStates.conversationState]);
435
370
  (0, _react2.useEffect)(() => {
436
371
  canStartProactiveChat.current = state.appStates.conversationState === _ConversationState.ConversationState.Closed && !state.appStates.proactiveChatStates.proactiveChatInNewWindow;
437
- }, [state.appStates.conversationState, state.appStates.proactiveChatStates.proactiveChatInNewWindow]); // Reset the UnreadMessageCount when minimized is toggled and broadcast it.
372
+ }, [state.appStates.conversationState, state.appStates.proactiveChatStates.proactiveChatInNewWindow]);
438
373
 
374
+ // Reset the UnreadMessageCount when minimized is toggled and broadcast it.
439
375
  (0, _react2.useEffect)(() => {
440
376
  if (state.appStates.isMinimized) {
441
377
  _ActivityStreamHandler.ActivityStreamHandler.cork();
442
378
  } else {
443
379
  setTimeout(() => _ActivityStreamHandler.ActivityStreamHandler.uncork(), 500);
444
380
  }
445
-
446
381
  currentMessageCountRef.current = -1;
447
382
  dispatch({
448
383
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
@@ -453,10 +388,10 @@ const LiveChatWidgetStateful = props => {
453
388
  eventName: _TelemetryConstants.BroadcastEvent.UnreadMessageCount,
454
389
  payload: 0
455
390
  };
456
-
457
391
  _omnichannelChatComponents.BroadcastService.postMessage(customEvent);
458
- }, [state.appStates.isMinimized]); // Broadcast the UnreadMessageCount state on any change.
392
+ }, [state.appStates.isMinimized]);
459
393
 
394
+ // Broadcast the UnreadMessageCount state on any change.
460
395
  (0, _react2.useEffect)(() => {
461
396
  if (state.appStates.isMinimized === true && state.appStates.unreadMessageCount > 0) {
462
397
  const customEvent = {
@@ -464,60 +399,55 @@ const LiveChatWidgetStateful = props => {
464
399
  eventName: _TelemetryConstants.BroadcastEvent.UnreadMessageCount,
465
400
  payload: `${state.appStates.unreadMessageCount}`
466
401
  };
467
-
468
402
  _omnichannelChatComponents.BroadcastService.postMessage(customEvent);
469
403
  }
470
404
  }, [state.appStates.unreadMessageCount]);
471
405
  (0, _react2.useEffect)(() => {
472
406
  var _props$webChatContain2;
473
-
474
- setWebChatStyles({ ...webChatStyles,
407
+ setWebChatStyles({
408
+ ...webChatStyles,
475
409
  ...((_props$webChatContain2 = props.webChatContainerProps) === null || _props$webChatContain2 === void 0 ? void 0 : _props$webChatContain2.webChatStyles)
476
410
  });
477
- }, [(_props$webChatContain3 = props.webChatContainerProps) === null || _props$webChatContain3 === void 0 ? void 0 : _props$webChatContain3.webChatStyles]); // Publish chat widget state
411
+ }, [(_props$webChatContain3 = props.webChatContainerProps) === null || _props$webChatContain3 === void 0 ? void 0 : _props$webChatContain3.webChatStyles]);
478
412
 
413
+ // Publish chat widget state
479
414
  (0, _react2.useEffect)(() => {
480
- var _props$controlProps12, _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps13;
481
-
415
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps13;
482
416
  // Only activate these windows events when conversation state is active and chat widget is in popout mode
483
417
  // Ghost chat scenarios
484
- if (state.appStates.conversationState === _ConversationState.ConversationState.Active && ((_props$controlProps12 = props.controlProps) === null || _props$controlProps12 === void 0 ? void 0 : _props$controlProps12.skipChatButtonRendering) === true) {
485
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
486
- window.onbeforeunload = function () {
487
- const prompt = _Constants.Constants.BrowserUnloadConfirmationMessage;
488
- return prompt;
489
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
490
-
491
-
492
- window.onunload = function () {
493
- initiateEndChatOnBrowserUnload();
494
- };
495
- }
418
+ /* COMMENTING THIS CODE FOR PARITY WITH OLD LCW
419
+ if (state.appStates.conversationState === ConversationState.Active &&
420
+ props.controlProps?.skipChatButtonRendering === true) {
421
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
422
+
423
+ window.onbeforeunload = function () {
424
+ const prompt = Constants.BrowserUnloadConfirmationMessage;
425
+ return prompt;
426
+ };
427
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
428
+ window.onunload = function () {
429
+ initiateEndChatOnBrowserUnload();
430
+ };
431
+ }*/
496
432
 
497
433
  widgetStateEventName = (0, _utils.getWidgetCacheId)(props === null || props === void 0 ? void 0 : (_props$chatSDK = props.chatSDK) === null || _props$chatSDK === void 0 ? void 0 : (_props$chatSDK$omnich = _props$chatSDK.omnichannelConfig) === null || _props$chatSDK$omnich === void 0 ? void 0 : _props$chatSDK$omnich.orgId, props === null || props === void 0 ? void 0 : (_props$chatSDK2 = props.chatSDK) === null || _props$chatSDK2 === void 0 ? void 0 : (_props$chatSDK2$omnic = _props$chatSDK2.omnichannelConfig) === null || _props$chatSDK2$omnic === void 0 ? void 0 : _props$chatSDK2$omnic.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps13 = props.controlProps) === null || _props$controlProps13 === void 0 ? void 0 : _props$controlProps13.widgetInstanceId) ?? "");
498
434
  const chatWidgetStateChangeEvent = {
499
435
  eventName: widgetStateEventName,
500
- payload: { ...state
436
+ payload: {
437
+ ...state
501
438
  }
502
439
  };
503
-
504
440
  _omnichannelChatComponents.BroadcastService.postMessage(chatWidgetStateChangeEvent);
505
441
  }, [state]);
506
442
  const webChatProps = (0, _initWebChatComposer.initWebChatComposer)(props, chatSDK, state, dispatch, setWebChatStyles);
507
-
508
- const setPostChatContextRelay = () => (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch); // eslint-disable-next-line @typescript-eslint/no-explicit-any
509
-
510
-
511
- const endChatRelay = (adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab); // eslint-disable-next-line @typescript-eslint/no-explicit-any
512
-
513
-
443
+ const setPostChatContextRelay = () => (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch);
444
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
445
+ const endChatRelay = (adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab);
446
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
514
447
  const prepareEndChatRelay = (adapter, state) => (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
515
-
516
- const prepareStartChatRelay = () => (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter); // eslint-disable-next-line @typescript-eslint/no-explicit-any
517
-
518
-
448
+ const prepareStartChatRelay = () => (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
449
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
519
450
  const initStartChatRelay = (optionalParams, persistedState) => (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams, persistedState);
520
-
521
451
  const confirmationPaneProps = (0, _initConfirmationPropsComposer.initConfirmationPropsComposer)(props);
522
452
  return /*#__PURE__*/_react2.default.createElement(Composer, _extends({}, webChatProps, {
523
453
  styleOptions: webChatStyles,
@@ -550,7 +480,6 @@ const LiveChatWidgetStateful = props => {
550
480
  prepareEndChat: prepareEndChatRelay
551
481
  }))), !((_props$controlProps25 = props.controlProps) !== null && _props$controlProps25 !== void 0 && _props$controlProps25.hidePostChatLoadingPane) && (0, _componentController.shouldShowPostChatLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr10 = props.componentOverrides) === null || _props$componentOverr10 === void 0 ? void 0 : _props$componentOverr10.postChatLoadingPane) || /*#__PURE__*/_react2.default.createElement(_PostChatLoadingPaneStateful.default, props.postChatLoadingPaneProps)), (0, _componentController.shouldShowPostChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr11 = props.componentOverrides) === null || _props$componentOverr11 === void 0 ? void 0 : _props$componentOverr11.postChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PostChatSurveyPaneStateful.default, _extends({}, props.postChatSurveyPaneProps, props.chatSDK))), (0, _createFooter.createFooter)(props, state), (0, _componentController.shouldShowEmailTranscriptPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr12 = props.componentOverrides) === null || _props$componentOverr12 === void 0 ? void 0 : _props$componentOverr12.emailTranscriptPane) || /*#__PURE__*/_react2.default.createElement(_EmailTranscriptPaneStateful.default, props.emailTranscriptPane))));
552
482
  };
553
-
554
483
  exports.LiveChatWidgetStateful = LiveChatWidgetStateful;
555
484
  var _default = LiveChatWidgetStateful;
556
485
  exports.default = _default;