@microsoft/omnichannel-chat-widget 0.1.0-main.a60f242 → 0.1.0-main.a7ac5de

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 (300) hide show
  1. package/lib/cjs/common/Constants.js +18 -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 +30 -23
  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 +34 -108
  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/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  17. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -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 +7 -45
  24. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  25. package/lib/cjs/components/headerstateful/HeaderStateful.js +14 -28
  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/defaultScrollBarProps.js +14 -0
  39. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +64 -40
  40. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  41. package/lib/cjs/components/livechatwidget/common/endChat.js +53 -38
  42. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  43. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  44. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  45. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +21 -56
  46. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +78 -128
  47. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  48. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -11
  49. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  50. package/lib/cjs/components/livechatwidget/common/startChat.js +157 -107
  51. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  52. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  53. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  54. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +257 -230
  55. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  56. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  57. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  58. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  59. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  60. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  61. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  62. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  63. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +10 -38
  64. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
  65. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  66. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +29 -34
  67. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  68. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  69. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  70. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  71. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -16
  72. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  73. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  74. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  75. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -4
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  118. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  119. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  120. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  121. package/lib/cjs/contexts/common/ConversationState.js +0 -1
  122. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +4 -3
  123. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +11 -12
  124. package/lib/cjs/contexts/createReducer.js +151 -105
  125. package/lib/cjs/controller/componentController.js +2 -31
  126. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  127. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  128. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  129. package/lib/cjs/index.js +0 -5
  130. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  131. package/lib/esm/common/Constants.js +15 -154
  132. package/lib/esm/common/KeyCodes.js +0 -2
  133. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  134. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  135. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  136. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  137. package/lib/esm/common/telemetry/TelemetryConstants.js +34 -20
  138. package/lib/esm/common/telemetry/TelemetryHelper.js +16 -45
  139. package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
  140. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  141. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  142. package/lib/esm/common/utils.js +31 -57
  143. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  144. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
  145. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  146. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -13
  147. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  148. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  149. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  150. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
  151. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  152. package/lib/esm/components/headerstateful/HeaderStateful.js +14 -13
  153. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  154. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  155. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  156. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  157. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  158. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  159. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  160. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  161. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  162. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  163. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  164. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  165. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  166. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +66 -27
  167. package/lib/esm/components/livechatwidget/common/endChat.js +55 -23
  168. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  169. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  170. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  171. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +23 -21
  172. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +78 -110
  173. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  174. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
  175. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  176. package/lib/esm/components/livechatwidget/common/startChat.js +158 -85
  177. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  178. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  179. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +261 -169
  180. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  181. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  182. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  183. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  184. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  185. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  186. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  187. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  188. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +12 -22
  189. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
  190. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  191. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +27 -9
  192. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  193. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  194. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  195. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  196. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -12
  197. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  198. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  199. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  200. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -2
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  243. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  244. package/lib/esm/contexts/ChatContextStore.js +2 -1
  245. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  246. package/lib/esm/contexts/common/ConversationState.js +0 -1
  247. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +4 -3
  248. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +11 -8
  249. package/lib/esm/contexts/createReducer.js +151 -102
  250. package/lib/esm/controller/componentController.js +3 -2
  251. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  252. package/lib/esm/hooks/useChatContextStore.js +0 -4
  253. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  254. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  255. package/lib/types/common/Constants.d.ts +13 -0
  256. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  257. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  258. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  259. package/lib/types/common/telemetry/TelemetryConstants.d.ts +18 -5
  260. package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -1
  261. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  262. package/lib/types/common/utils.d.ts +5 -4
  263. package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.d.ts +1 -1
  264. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  265. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  266. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  267. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  268. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  269. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  270. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  271. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  272. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  273. package/lib/types/components/livechatwidget/common/endChat.d.ts +1 -1
  274. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -7
  275. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  276. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  277. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -3
  278. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +1 -1
  279. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -1
  280. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -2
  281. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  282. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  283. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  284. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  285. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -2
  286. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  287. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  288. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  289. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  290. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  291. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +1 -1
  292. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  293. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.d.ts +1 -1
  294. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  295. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  296. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  297. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +3 -2
  298. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +5 -3
  299. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  300. package/package.json +5 -4
@@ -1,244 +1,293 @@
1
1
  /* eslint-disable indent */
2
+
2
3
  import { LiveChatWidgetActionType } from "./common/LiveChatWidgetActionType";
3
4
  export const createReducer = () => {
4
5
  const reducer = (state, action) => {
5
6
  var _action$payload, _action$payload2, _action$payload3;
6
-
7
7
  switch (action.type) {
8
8
  case LiveChatWidgetActionType.SET_WIDGET_ELEMENT_ID:
9
- return { ...state,
10
- domainStates: { ...state.domainStates,
9
+ return {
10
+ ...state,
11
+ domainStates: {
12
+ ...state.domainStates,
11
13
  widgetElementId: action.payload
12
14
  }
13
15
  };
14
-
15
16
  case LiveChatWidgetActionType.SET_RENDERING_MIDDLEWARE_PROPS:
16
- return { ...state,
17
- domainStates: { ...state.domainStates,
17
+ return {
18
+ ...state,
19
+ domainStates: {
20
+ ...state.domainStates,
18
21
  renderingMiddlewareProps: action.payload
19
22
  }
20
23
  };
21
-
22
24
  case LiveChatWidgetActionType.SET_MIDDLEWARE_LOCALIZED_TEXTS:
23
- return { ...state,
24
- domainStates: { ...state.domainStates,
25
+ return {
26
+ ...state,
27
+ domainStates: {
28
+ ...state.domainStates,
25
29
  middlewareLocalizedTexts: action.payload
26
30
  }
27
31
  };
28
-
29
32
  case LiveChatWidgetActionType.SET_GLOBAL_DIR:
30
- return { ...state,
31
- domainStates: { ...state.domainStates,
33
+ return {
34
+ ...state,
35
+ domainStates: {
36
+ ...state.domainStates,
32
37
  globalDir: action.payload === "ltr" || action.payload === "rtl" ? action.payload : "ltr"
33
38
  }
34
39
  };
35
-
36
40
  case LiveChatWidgetActionType.SET_MINIMIZED:
37
- return { ...state,
38
- appStates: { ...state.appStates,
41
+ return {
42
+ ...state,
43
+ appStates: {
44
+ ...state.appStates,
39
45
  isMinimized: action.payload
40
46
  }
41
47
  };
42
-
43
48
  case LiveChatWidgetActionType.SET_CONVERSATION_STATE:
44
- return { ...state,
45
- appStates: { ...state.appStates,
49
+ return {
50
+ ...state,
51
+ appStates: {
52
+ ...state.appStates,
46
53
  conversationState: action.payload
47
54
  }
48
55
  };
49
-
50
56
  case LiveChatWidgetActionType.SET_OUTSIDE_OPERATING_HOURS:
51
- return { ...state,
52
- appStates: { ...state.appStates,
57
+ return {
58
+ ...state,
59
+ appStates: {
60
+ ...state.appStates,
53
61
  outsideOperatingHours: action.payload
54
62
  }
55
63
  };
56
-
57
64
  case LiveChatWidgetActionType.SET_PRE_CHAT_SURVEY_RESPONSE:
58
- return { ...state,
59
- domainStates: { ...state.domainStates,
65
+ return {
66
+ ...state,
67
+ domainStates: {
68
+ ...state.domainStates,
60
69
  preChatSurveyResponse: action.payload
61
70
  }
62
71
  };
63
-
64
72
  case LiveChatWidgetActionType.SET_CUSTOM_CONTEXT:
65
- return { ...state,
66
- domainStates: { ...state.domainStates,
73
+ return {
74
+ ...state,
75
+ domainStates: {
76
+ ...state.domainStates,
67
77
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
78
  customContext: action.payload
69
79
  }
70
80
  };
71
-
72
- case LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT:
73
- return { ...state,
74
- appStates: { ...state.appStates,
75
- previousElementOnFocusBeforeModalOpen: action.payload
81
+ case LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT_ID:
82
+ return {
83
+ ...state,
84
+ appStates: {
85
+ ...state.appStates,
86
+ previousElementIdOnFocusBeforeModalOpen: action.payload
76
87
  }
77
88
  };
78
-
79
89
  case LiveChatWidgetActionType.SET_SHOW_CONFIRMATION:
80
- return { ...state,
81
- uiStates: { ...state.uiStates,
90
+ return {
91
+ ...state,
92
+ uiStates: {
93
+ ...state.uiStates,
82
94
  showConfirmationPane: action.payload
83
95
  }
84
96
  };
85
-
86
97
  case LiveChatWidgetActionType.SET_POST_CHAT_CONTEXT:
87
- return { ...state,
88
- domainStates: { ...state.domainStates,
98
+ return {
99
+ ...state,
100
+ domainStates: {
101
+ ...state.domainStates,
89
102
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
103
  postChatContext: action.payload
91
104
  }
92
105
  };
93
-
94
106
  case LiveChatWidgetActionType.SHOW_CALLING_CONTAINER:
95
- return { ...state,
96
- uiStates: { ...state.uiStates,
107
+ return {
108
+ ...state,
109
+ uiStates: {
110
+ ...state.uiStates,
97
111
  showCallingPopup: action.payload
98
112
  }
99
113
  };
100
-
101
114
  case LiveChatWidgetActionType.SET_INCOMING_CALL:
102
- return { ...state,
103
- uiStates: { ...state.uiStates,
115
+ return {
116
+ ...state,
117
+ uiStates: {
118
+ ...state.uiStates,
104
119
  isIncomingCall: action.payload
105
120
  }
106
121
  };
107
-
108
122
  case LiveChatWidgetActionType.SET_FOCUS_CHAT_BUTTON:
109
- return { ...state,
110
- uiStates: { ...state.uiStates,
123
+ return {
124
+ ...state,
125
+ uiStates: {
126
+ ...state.uiStates,
111
127
  focusChatButton: action.payload
112
128
  }
113
129
  };
114
-
115
130
  case LiveChatWidgetActionType.DISABLE_VIDEO_CALL:
116
- return { ...state,
117
- uiStates: { ...state.uiStates,
131
+ return {
132
+ ...state,
133
+ uiStates: {
134
+ ...state.uiStates,
118
135
  disableVideoCall: action.payload
119
136
  }
120
137
  };
121
-
122
138
  case LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO:
123
- return { ...state,
124
- uiStates: { ...state.uiStates,
139
+ return {
140
+ ...state,
141
+ uiStates: {
142
+ ...state.uiStates,
125
143
  disableSelfVideo: action.payload
126
144
  }
127
145
  };
128
-
129
146
  case LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO:
130
- return { ...state,
131
- uiStates: { ...state.uiStates,
147
+ return {
148
+ ...state,
149
+ uiStates: {
150
+ ...state.uiStates,
132
151
  disableRemoteVideo: action.payload
133
152
  }
134
153
  };
135
-
136
154
  case LiveChatWidgetActionType.SET_CHAT_TOKEN:
137
- return { ...state,
138
- domainStates: { ...state.domainStates,
155
+ return {
156
+ ...state,
157
+ domainStates: {
158
+ ...state.domainStates,
139
159
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
140
160
  chatToken: action.payload
141
161
  }
142
162
  };
143
-
144
163
  case LiveChatWidgetActionType.SET_SHOW_EMAIL_TRANSCRIPT_PANE:
145
- return { ...state,
146
- uiStates: { ...state.uiStates,
164
+ return {
165
+ ...state,
166
+ uiStates: {
167
+ ...state.uiStates,
147
168
  showEmailTranscriptPane: action.payload
148
169
  }
149
170
  };
150
-
151
171
  case LiveChatWidgetActionType.SET_PRECHAT_RESPONSE_EMAIL:
152
- return { ...state,
153
- appStates: { ...state.appStates,
172
+ return {
173
+ ...state,
174
+ appStates: {
175
+ ...state.appStates,
154
176
  preChatResponseEmail: action.payload
155
177
  }
156
178
  };
157
-
158
179
  case LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION:
159
- return { ...state,
160
- appStates: { ...state.appStates,
180
+ return {
181
+ ...state,
182
+ appStates: {
183
+ ...state.appStates,
161
184
  isAudioMuted: action.payload
162
185
  }
163
186
  };
164
-
165
187
  case LiveChatWidgetActionType.SET_E2VV_ENABLED:
166
- return { ...state,
167
- appStates: { ...state.appStates,
188
+ return {
189
+ ...state,
190
+ appStates: {
191
+ ...state.appStates,
168
192
  e2vvEnabled: action.payload
169
193
  }
170
194
  };
171
-
172
- case LiveChatWidgetActionType.SET_SKIP_CHAT_BUTTON_RENDERING:
173
- return { ...state,
174
- appStates: { ...state.appStates,
175
- skipChatButtonRendering: action.payload
195
+ case LiveChatWidgetActionType.SET_START_CHAT_BUTTON_DISPLAY:
196
+ return {
197
+ ...state,
198
+ appStates: {
199
+ ...state.appStates,
200
+ hideStartChatButton: action.payload
176
201
  }
177
202
  };
178
-
179
203
  case LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS:
180
- return { ...state,
181
- appStates: { ...state.appStates,
182
- proactiveChatStates: { ...state.appStates.proactiveChatStates,
204
+ return {
205
+ ...state,
206
+ appStates: {
207
+ ...state.appStates,
208
+ proactiveChatStates: {
209
+ ...state.appStates.proactiveChatStates,
183
210
  proactiveChatBodyTitle: (_action$payload = action.payload) === null || _action$payload === void 0 ? void 0 : _action$payload.proactiveChatBodyTitle,
184
211
  proactiveChatEnablePrechat: (_action$payload2 = action.payload) === null || _action$payload2 === void 0 ? void 0 : _action$payload2.proactiveChatEnablePrechat,
185
212
  proactiveChatInNewWindow: (_action$payload3 = action.payload) === null || _action$payload3 === void 0 ? void 0 : _action$payload3.proactiveChatInNewWindow
186
213
  }
187
214
  }
188
215
  };
189
-
190
216
  case LiveChatWidgetActionType.SET_TELEMETRY_DATA:
191
- return { ...state,
192
- domainStates: { ...state.domainStates,
217
+ return {
218
+ ...state,
219
+ domainStates: {
220
+ ...state.domainStates,
193
221
  telemetryInternalData: action.payload
194
222
  }
195
223
  };
196
-
197
224
  case LiveChatWidgetActionType.SET_RECONNECT_ID:
198
- return { ...state,
199
- appStates: { ...state.appStates,
225
+ return {
226
+ ...state,
227
+ appStates: {
228
+ ...state.appStates,
200
229
  reconnectId: action.payload
201
230
  }
202
231
  };
203
-
204
232
  case LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT:
205
- return { ...state,
206
- appStates: { ...state.appStates,
233
+ return {
234
+ ...state,
235
+ appStates: {
236
+ ...state.appStates,
207
237
  unreadMessageCount: action.payload
208
238
  }
209
239
  };
210
-
211
240
  case LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT:
212
- return { ...state,
213
- domainStates: { ...state.domainStates,
241
+ return {
242
+ ...state,
243
+ domainStates: {
244
+ ...state.domainStates,
214
245
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
215
246
  liveChatContext: action.payload
216
247
  }
217
248
  };
218
-
219
249
  case LiveChatWidgetActionType.SET_WIDGET_STATE:
220
- return { ...action.payload
250
+ return {
251
+ ...action.payload
221
252
  };
222
-
223
253
  case LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT:
224
- return { ...state,
225
- appStates: { ...state.appStates,
254
+ return {
255
+ ...state,
256
+ appStates: {
257
+ ...state.appStates,
226
258
  conversationEndedByAgent: action.payload
227
259
  }
228
260
  };
229
-
230
261
  case LiveChatWidgetActionType.SET_WIDGET_SIZE:
231
- return { ...state,
232
- domainStates: { ...state.domainStates,
262
+ return {
263
+ ...state,
264
+ domainStates: {
265
+ ...state.domainStates,
233
266
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
234
267
  widgetSize: action.payload
235
268
  }
236
269
  };
237
-
270
+ case LiveChatWidgetActionType.SET_WIDGET_INSTANCE_ID:
271
+ return {
272
+ ...state,
273
+ domainStates: {
274
+ ...state.domainStates,
275
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
276
+ widgetInstanceId: action.payload
277
+ }
278
+ };
279
+ case LiveChatWidgetActionType.SET_LIVE_CHAT_CONFIG:
280
+ return {
281
+ ...state,
282
+ domainStates: {
283
+ ...state.domainStates,
284
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
285
+ liveChatConfig: action.payload
286
+ }
287
+ };
238
288
  default:
239
289
  return state;
240
290
  }
241
291
  };
242
-
243
292
  return reducer;
244
293
  };
@@ -1,7 +1,8 @@
1
1
  import { ConversationState } from "../contexts/common/ConversationState";
2
2
  export const shouldShowChatButton = state => {
3
- return (state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed) && state.appStates.skipChatButtonRendering == false; // Do not show chat button in case of popout
3
+ return (state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed) && state.appStates.hideStartChatButton === false; // Do not show chat button in case of popout
4
4
  };
5
+
5
6
  export const shouldShowProactiveChatPane = state => {
6
7
  return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.ProactiveChat;
7
8
  };
@@ -9,7 +10,7 @@ export const shouldShowHeader = state => {
9
10
  return !state.appStates.isMinimized && state.appStates.conversationState !== ConversationState.Closed && state.appStates.conversationState !== ConversationState.ProactiveChat;
10
11
  };
11
12
  export const shouldShowFooter = state => {
12
- return !state.appStates.isMinimized && (state.appStates.conversationState === ConversationState.Active || state.appStates.conversationState === ConversationState.InActive);
13
+ return !state.appStates.isMinimized && (state.appStates.conversationState === ConversationState.Active || state.appStates.conversationState === ConversationState.InActive || state.appStates.conversationState === ConversationState.Postchat);
13
14
  };
14
15
  export const shouldShowEmailTranscriptPane = state => {
15
16
  return state.uiStates.showEmailTranscriptPane;
@@ -1,15 +1,11 @@
1
1
  import { ChatAdapterStore } from "../contexts/ChatAdapterStore";
2
2
  import { useContext } from "react";
3
-
4
3
  const useChatAdapterStore = () => {
5
4
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
5
  const adapter = useContext(ChatAdapterStore);
7
-
8
6
  if (!adapter) {
9
7
  throw new Error("This hook can only be used on component that is descendants of <ChatAdapterStore.Provider>");
10
8
  }
11
-
12
9
  return adapter;
13
10
  };
14
-
15
11
  export default useChatAdapterStore;
@@ -1,14 +1,10 @@
1
1
  import { useContext } from "react";
2
2
  import { ChatContextStore } from "../contexts/ChatContextStore";
3
-
4
3
  const useChatContextStore = () => {
5
4
  const context = useContext(ChatContextStore);
6
-
7
5
  if (!context) {
8
6
  throw new Error("This hook can only be used on component that is descendants of <ChatContextStore.Provider>");
9
7
  }
10
-
11
8
  return context;
12
9
  };
13
-
14
10
  export default useChatContextStore;
@@ -1,14 +1,10 @@
1
1
  import { ChatSDKStore } from "../contexts/ChatSDKStore";
2
2
  import { useContext } from "react";
3
-
4
3
  const useChatSDKStore = () => {
5
4
  const sdk = useContext(ChatSDKStore);
6
-
7
5
  if (!sdk) {
8
6
  throw new Error("This hook is not called on component that is descendants of <ChatSDKStore.Provider>, or ChatSDK is not passed into LiveChatWidget component.");
9
7
  }
10
-
11
8
  return sdk;
12
9
  };
13
-
14
10
  export default useChatSDKStore;
@@ -5,19 +5,13 @@ import { TelemetryHelper } from "../common/telemetry/TelemetryHelper";
5
5
  export const createOnNewAdapterActivityHandler = (chatId, userId) => {
6
6
  const onNewAdapterActivityHandler = activity => {
7
7
  var _activity$channelData, _activity$channelData2, _activity$channelData3;
8
-
9
8
  const isActivityMessage = (activity === null || activity === void 0 ? void 0 : activity.type) === Constants.message;
10
- const isNotHistoryMessage = isActivityMessage && !(activity !== null && activity !== void 0 && (_activity$channelData = activity.channelData) !== null && _activity$channelData !== void 0 && (_activity$channelData2 = _activity$channelData.tags) !== null && _activity$channelData2 !== void 0 && _activity$channelData2.includes(Constants.historyMessageTag)) && !(activity !== null && activity !== void 0 && (_activity$channelData3 = activity.channelData) !== null && _activity$channelData3 !== void 0 && _activity$channelData3.fromList);
11
-
12
- if (isNotHistoryMessage) {
13
- raiseMessageEvent(activity);
14
- }
9
+ const isHistoryMessage = isActivityMessage && ((activity === null || activity === void 0 ? void 0 : (_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : (_activity$channelData2 = _activity$channelData.tags) === null || _activity$channelData2 === void 0 ? void 0 : _activity$channelData2.includes(Constants.historyMessageTag)) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData3 = activity.channelData) === null || _activity$channelData3 === void 0 ? void 0 : _activity$channelData3.fromList));
10
+ raiseMessageEvent(activity, isHistoryMessage);
15
11
  };
16
-
17
- const raiseMessageEvent = activity => {
12
+ const raiseMessageEvent = (activity, isHistoryMessage) => {
18
13
  if ((activity === null || activity === void 0 ? void 0 : activity.type) === Constants.message) {
19
14
  var _text, _text2, _activity$channelData4, _activity$from;
20
-
21
15
  const payload = {
22
16
  // To identify hidden contents vs empty content
23
17
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -28,7 +22,6 @@ export const createOnNewAdapterActivityHandler = (chatId, userId) => {
28
22
  tags: activity === null || activity === void 0 ? void 0 : (_activity$channelData4 = activity.channelData) === null || _activity$channelData4 === void 0 ? void 0 : _activity$channelData4.tags,
29
23
  messageType: ""
30
24
  };
31
-
32
25
  if ((activity === null || activity === void 0 ? void 0 : (_activity$from = activity.from) === null || _activity$from === void 0 ? void 0 : _activity$from.role) === Constants.userMessageTag) {
33
26
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
27
  payload.messageType = Constants.userMessageTag;
@@ -43,40 +36,36 @@ export const createOnNewAdapterActivityHandler = (chatId, userId) => {
43
36
  });
44
37
  } else {
45
38
  var _activity$channelData5, _activity$channelData6;
46
-
47
39
  if (activity !== null && activity !== void 0 && (_activity$channelData5 = activity.channelData) !== null && _activity$channelData5 !== void 0 && (_activity$channelData6 = _activity$channelData5.tags) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.includes(Constants.systemMessageTag)) {
48
40
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
41
  payload.messageType = Constants.systemMessageTag;
50
42
  } else {
51
43
  var _activity$channelData7, _activity$channelData8, _activity$channelData9;
52
-
53
44
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
- const messageHasNoText = !(activity !== null && activity !== void 0 && activity.text); // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
-
56
- const messageHasNoTags = !(activity !== null && activity !== void 0 && activity.channelData) || !(activity !== null && activity !== void 0 && (_activity$channelData7 = activity.channelData) !== null && _activity$channelData7 !== void 0 && _activity$channelData7.tags) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData8 = activity.channelData) === null || _activity$channelData8 === void 0 ? void 0 : (_activity$channelData9 = _activity$channelData8.tags) === null || _activity$channelData9 === void 0 ? void 0 : _activity$channelData9.length) === 0; // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
-
45
+ const messageHasNoText = !(activity !== null && activity !== void 0 && activity.text);
46
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
+ const messageHasNoTags = !(activity !== null && activity !== void 0 && activity.channelData) || !(activity !== null && activity !== void 0 && (_activity$channelData7 = activity.channelData) !== null && _activity$channelData7 !== void 0 && _activity$channelData7.tags) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData8 = activity.channelData) === null || _activity$channelData8 === void 0 ? void 0 : (_activity$channelData9 = _activity$channelData8.tags) === null || _activity$channelData9 === void 0 ? void 0 : _activity$channelData9.length) === 0;
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
49
  const messageHasNoAttachments = !(activity !== null && activity !== void 0 && activity.attachments) || (activity === null || activity === void 0 ? void 0 : activity.attachments.length) === 0;
59
-
60
50
  if (messageHasNoTags && messageHasNoText && messageHasNoAttachments) {
61
51
  return;
62
52
  }
63
-
64
53
  payload.messageType = Constants.userMessageTag;
65
54
  }
66
-
67
55
  const newMessageReceivedEvent = {
68
- eventName: BroadcastEvent.NewMessageReceived,
56
+ eventName: isHistoryMessage ? BroadcastEvent.HistoryMessageReceived : BroadcastEvent.NewMessageReceived,
69
57
  payload: payload
70
58
  };
71
59
  BroadcastService.postMessage(newMessageReceivedEvent);
72
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
73
- Event: TelemetryEvent.MessageReceived,
74
- Description: "New message received",
75
- Data: payload
76
- });
60
+ if (!isHistoryMessage) {
61
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
62
+ Event: TelemetryEvent.MessageReceived,
63
+ Description: "New message received",
64
+ Data: payload
65
+ });
66
+ }
77
67
  }
78
68
  }
79
69
  };
80
-
81
70
  return onNewAdapterActivityHandler;
82
71
  };
@@ -77,6 +77,7 @@ export declare class Constants {
77
77
  static readonly internetConnectionTestUrlText = "Omnichannel Connect Test";
78
78
  static readonly ChatWidgetStateChangedPrefix = "ChatWidgetStateChanged";
79
79
  static readonly PostChatLoadingDurationInMs = 2000;
80
+ static readonly BrowserUnloadConfirmationMessage = "Do you want to leave chat?";
80
81
  }
81
82
  export declare const Regex: {
82
83
  new (): {};
@@ -149,6 +150,18 @@ export declare enum EnvironmentVersion {
149
150
  int = "int",
150
151
  test = "test"
151
152
  }
153
+ export declare enum E2VVOptions {
154
+ NoCalling = "192350000",
155
+ VideoAndVoiceCalling = "192350001",
156
+ VoiceOnly = "192350002"
157
+ }
158
+ export declare enum LiveWorkItemState {
159
+ Active = "Active",
160
+ Closed = "Closed",
161
+ Open = "Open",
162
+ Waiting = "Waiting",
163
+ WrapUp = "WrapUp"
164
+ }
152
165
  export declare class TranscriptConstants {
153
166
  static readonly ChatTranscriptsBodyColor = "#F5F5F5";
154
167
  static readonly TranscriptMessageEmojiMessageType = "http://schema.skype.com/emoji";
@@ -0,0 +1,4 @@
1
+ export declare class defaultCacheManager {
2
+ static InternalCache: any;
3
+ }
4
+ export declare const registerBroadcastServiceForLocalStorage: (orgid: string, widgetId: string, widgetInstanceId: string) => void;
@@ -0,0 +1,2 @@
1
+ import { IContextDataStore } from "../../interfaces/IContextDataStore";
2
+ export declare const defaultClientDataStoreProvider: () => IContextDataStore;
@@ -0,0 +1,6 @@
1
+ export declare const defaultInitializeInMemoryDataStore: (widgetId: string) => void;
2
+ export declare const inMemoryDataStore: () => {
3
+ getData: (key: string) => any;
4
+ setData: (key: any, data: any) => void;
5
+ removeData: (key: string) => void;
6
+ };
@@ -30,9 +30,9 @@ export declare enum BroadcastEvent {
30
30
  InvalidAdaptiveCardFormat = "InvalidAdaptiveCardFormat",
31
31
  NewMessageSent = "NewMessageSent",
32
32
  NewMessageReceived = "NewMessageReceived",
33
+ HistoryMessageReceived = "HistoryMessageReceived",
33
34
  RedirectPageRequest = "RedirectPageRequest",
34
35
  StartChat = "StartChat",
35
- StartChatSkippingChatButtonRendering = "StartChatSkippingChatButtonRendering",
36
36
  StartUnauthenticatedReconnectChat = "StartUnauthenticatedReconnectChat",
37
37
  InitiateEndChat = "InitiateEndChat",
38
38
  SetCustomContext = "SetCustomContext",
@@ -41,7 +41,8 @@ export declare enum BroadcastEvent {
41
41
  ChatInitiated = "ChatInitiated",
42
42
  CloseChat = "CloseChat",
43
43
  InitiateEndChatOnBrowserUnload = "InitiateEndChatOnBrowserUnload",
44
- ClosePopoutWindow = "ClosePopoutWindow"
44
+ ClosePopoutWindow = "ClosePopoutWindow",
45
+ RaiseErrorEvent = "RaiseErrorEvent"
45
46
  }
46
47
  export declare enum TelemetryEvent {
47
48
  CallAdded = "CallAdded",
@@ -52,8 +53,8 @@ export declare enum TelemetryEvent {
52
53
  CallDisconnected = "CallDisconnected",
53
54
  CallDisconnectedException = "CallDisconnectedException",
54
55
  IncomingCallEnded = "incomingCallEnded",
55
- VoiceVideoInitialize = "VoiceVideoInitialize",
56
- VoiceVideoInitializeException = "VoiceVideoInitializeException",
56
+ VoiceVideoSdkInitialize = "VoiceVideoSdkInitialize",
57
+ VoiceVideoSdkInitializeException = "VoiceVideoSdkInitializeException",
57
58
  VoiceVideoLoading = "VoiceVideoLoading",
58
59
  VoiceVideoNotLoaded = "VoiceVideoNotLoaded",
59
60
  VoiceVideoLoadingException = "VoiceVideoLoadingException",
@@ -79,9 +80,12 @@ export declare enum TelemetryEvent {
79
80
  PostChatContextCallSucceed = "PostChatContextCallSucceed",
80
81
  PostChatContextCallFailed = "PostChatContextCallFailed",
81
82
  ParseAdaptiveCardFailed = "ParseAdaptiveCardFailed",
83
+ ClientDataStoreProviderFailed = "ClientDataStoreProviderFailed",
84
+ InMemoryDataStoreFailed = "InMemoryDataStoreFailed",
82
85
  WebChatLoaded = "WebChatLoaded",
83
86
  LCWChatButtonClicked = "LCWChatButtonClicked",
84
87
  LCWChatButtonShow = "LCWChatButtonShow",
88
+ WidgetLoadStarted = "WidgetLoadStarted",
85
89
  WidgetLoadComplete = "WidgetLoadComplete",
86
90
  WidgetLoadFailed = "WidgetLoadFailed",
87
91
  StartChatMethodException = "StartChatMethodException",
@@ -121,12 +125,19 @@ export declare enum TelemetryEvent {
121
125
  SuppressBotMagicCodeFailed = "SuppressBotMagicCodeFailed",
122
126
  GetConversationDetailsException = "GetConversationDetailsException",
123
127
  BrowserUnloadEventStarted = "BrowserUnloadEventStarted",
128
+ GetAuthTokenCalled = "GetAuthTokenCalled",
129
+ GetAuthTokenFailed = "GetAuthTokenFailed",
130
+ ReceivedNullOrEmptyToken = "ReceivedNullOrEmptyToken",
131
+ CustomerVoiceResponsePageLoaded = "CustomerVoiceResponsePageLoaded",
132
+ CustomerVoiceFormResponseSubmitted = "CustomerVoiceFormResponseSubmitted",
133
+ CustomerVoiceFormResponseError = "CustomerVoiceFormResponseError",
124
134
  ProcessingHTMLTextMiddlewareFailed = "ProcessingHTMLTextMiddlewareFailed",
125
135
  ProcessingSanitizationMiddlewareFailed = "ProcessingSanitizationMiddlewareFailed",
126
136
  FormatTagsMiddlewareJSONStringifyFailed = "FormatTagsMiddlewareJSONStringifyFailed",
127
137
  QueuePositionMessageRecieved = "QueuePositionMessageRecieved",
128
138
  AverageWaitTimeMessageRecieved = "AverageWaitTimeMessageRecieved",
129
139
  DataMaskingRuleApplied = "DataMaskingRuleApplied",
140
+ DataMaskingRuleApplyFailed = "DataMaskingRuleApplyFailed",
130
141
  IC3ClientEvent = "IC3ClientEvent",
131
142
  ConversationEndedThreadEventReceived = "ConversationEndedThreadEventReceived",
132
143
  InvalidConfiguration = "InvalidConfiguration",
@@ -146,7 +157,9 @@ export declare enum TelemetryEvent {
146
157
  ReconnectChatMinimize = "ReconnectChatMinimize",
147
158
  MessageSent = "MessageSent",
148
159
  MessageReceived = "MessageReceived",
149
- CustomContextReceived = "CustomContextReceived"
160
+ CustomContextReceived = "CustomContextReceived",
161
+ NetworkDisconnected = "NetworkDisconnected",
162
+ NetworkReconnected = "NetworkReconnected"
150
163
  }
151
164
  export interface TelemetryInput {
152
165
  scenarioType: ScenarioType;