@microsoft/omnichannel-chat-widget 0.1.0-main.a27ec4b → 0.1.0-main.a2e5071

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 (264) hide show
  1. package/lib/cjs/common/Constants.js +17 -168
  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 +0 -10
  5. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +4 -16
  6. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +2 -10
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +22 -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 +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/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 +10 -34
  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 +12 -27
  26. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  27. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +2 -9
  28. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -5
  29. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -11
  30. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +11 -19
  31. package/lib/cjs/components/livechatwidget/common/Deferred.js +3 -10
  32. package/lib/cjs/components/livechatwidget/common/authHelper.js +4 -19
  33. package/lib/cjs/components/livechatwidget/common/createAdapter.js +2 -13
  34. package/lib/cjs/components/livechatwidget/common/createFooter.js +0 -10
  35. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -14
  36. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +16 -24
  37. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  38. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +41 -35
  39. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  40. package/lib/cjs/components/livechatwidget/common/endChat.js +30 -33
  41. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  42. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  43. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  44. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +16 -54
  45. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +80 -150
  46. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  47. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -11
  48. package/lib/cjs/components/livechatwidget/common/shareObservable.js +4 -8
  49. package/lib/cjs/components/livechatwidget/common/startChat.js +126 -109
  50. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  51. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  52. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  53. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +201 -256
  54. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  55. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  56. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  57. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  58. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  59. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  60. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  61. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  62. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +9 -37
  63. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
  64. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  65. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +19 -38
  66. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +0 -7
  67. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  68. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  69. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +2 -17
  70. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  71. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  72. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  73. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -4
  74. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  75. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +8 -19
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  114. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  115. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  116. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  117. package/lib/cjs/contexts/common/ConversationState.js +0 -1
  118. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +3 -3
  119. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +2 -11
  120. package/lib/cjs/contexts/createReducer.js +146 -108
  121. package/lib/cjs/controller/componentController.js +2 -31
  122. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  123. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  124. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  125. package/lib/cjs/index.js +0 -5
  126. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  127. package/lib/esm/common/Constants.js +14 -155
  128. package/lib/esm/common/KeyCodes.js +0 -2
  129. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  130. package/lib/esm/common/storage/default/defaultCacheManager.js +0 -3
  131. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +4 -11
  132. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +2 -3
  133. package/lib/esm/common/telemetry/TelemetryConstants.js +26 -20
  134. package/lib/esm/common/telemetry/TelemetryHelper.js +16 -45
  135. package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
  136. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  137. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  138. package/lib/esm/common/utils.js +18 -53
  139. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  140. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
  141. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  142. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -13
  143. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  144. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  145. package/lib/esm/components/footerstateful/FooterStateful.js +12 -15
  146. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
  147. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  148. package/lib/esm/components/headerstateful/HeaderStateful.js +12 -12
  149. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  150. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +2 -6
  151. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -3
  152. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -8
  153. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +11 -15
  154. package/lib/esm/components/livechatwidget/common/Deferred.js +3 -8
  155. package/lib/esm/components/livechatwidget/common/authHelper.js +4 -12
  156. package/lib/esm/components/livechatwidget/common/createAdapter.js +4 -6
  157. package/lib/esm/components/livechatwidget/common/createFooter.js +0 -1
  158. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -5
  159. package/lib/esm/components/livechatwidget/common/createMarkdown.js +18 -18
  160. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  161. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +43 -22
  162. package/lib/esm/components/livechatwidget/common/endChat.js +32 -18
  163. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  164. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  165. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  166. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +18 -19
  167. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +79 -130
  168. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  169. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
  170. package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
  171. package/lib/esm/components/livechatwidget/common/startChat.js +126 -81
  172. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  173. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  174. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +203 -190
  175. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  176. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  177. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  178. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  179. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  180. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  181. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  182. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  183. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -21
  184. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
  185. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  186. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +17 -11
  187. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  188. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  189. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +2 -13
  190. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  191. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  192. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  193. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -2
  194. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  195. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  196. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  197. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  198. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  199. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -11
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  234. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  235. package/lib/esm/contexts/ChatContextStore.js +2 -1
  236. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  237. package/lib/esm/contexts/common/ConversationState.js +0 -1
  238. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +3 -3
  239. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +2 -5
  240. package/lib/esm/contexts/createReducer.js +146 -105
  241. package/lib/esm/controller/componentController.js +3 -2
  242. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  243. package/lib/esm/hooks/useChatContextStore.js +0 -4
  244. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  245. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  246. package/lib/types/common/Constants.d.ts +12 -0
  247. package/lib/types/common/telemetry/TelemetryConstants.d.ts +11 -4
  248. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  249. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  250. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -7
  251. package/lib/types/components/livechatwidget/common/startChat.d.ts +3 -2
  252. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -1
  253. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -2
  254. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  255. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  256. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  257. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  258. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  259. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +2 -0
  260. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  261. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  262. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +2 -2
  263. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +4 -3
  264. package/package.json +3 -3
@@ -3,11 +3,13 @@
3
3
  *
4
4
  * Sanitizes the text.
5
5
  ******/
6
+
6
7
  import DOMPurify from "dompurify";
7
8
  import { LogLevel, TelemetryEvent } from "../../../../../common/telemetry/TelemetryConstants";
8
9
  import { TelemetryHelper } from "../../../../../common/telemetry/TelemetryHelper";
9
- import { WebChatActionType } from "../../enums/WebChatActionType"; // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
10
+ import { WebChatActionType } from "../../enums/WebChatActionType";
10
11
 
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
11
13
  const sanitizationMiddleware = _ref => {
12
14
  let {
13
15
  dispatch
@@ -16,26 +18,24 @@ const sanitizationMiddleware = _ref => {
16
18
  if (action.type === WebChatActionType.WEB_CHAT_SEND_MESSAGE) {
17
19
  try {
18
20
  var _action$payload;
19
-
20
21
  let text = (_action$payload = action.payload) === null || _action$payload === void 0 ? void 0 : _action$payload.text;
21
-
22
22
  if (text) {
23
23
  text = DOMPurify.sanitize(text) ?? " ";
24
24
  }
25
25
  } catch (e) {
26
- const copyDataForTelemetry = { ...action,
27
- payload: { ...action.payload,
26
+ const copyDataForTelemetry = {
27
+ ...action,
28
+ payload: {
29
+ ...action.payload,
28
30
  text: undefined
29
31
  }
30
32
  };
31
33
  let errorMessage = "Failed to apply action: ";
32
-
33
34
  try {
34
35
  errorMessage += JSON.stringify(copyDataForTelemetry);
35
36
  } catch (e) {
36
37
  errorMessage += " (unable to stringify action)";
37
38
  }
38
-
39
39
  TelemetryHelper.logActionEvent(LogLevel.ERROR, {
40
40
  Event: TelemetryEvent.ProcessingSanitizationMiddlewareFailed,
41
41
  ExceptionDetails: {
@@ -45,9 +45,7 @@ const sanitizationMiddleware = _ref => {
45
45
  });
46
46
  }
47
47
  }
48
-
49
48
  return next(action);
50
49
  };
51
50
  };
52
-
53
51
  export default sanitizationMiddleware;
@@ -17,7 +17,6 @@ export class NotificationHandler {
17
17
  NotificationHandler.setFocusOnNotificationCloseButton();
18
18
  }
19
19
  }
20
-
21
20
  static dismissNotification(id) {
22
21
  if (WebChatStoreLoader.store) {
23
22
  WebChatStoreLoader.store.dispatch({
@@ -28,23 +27,18 @@ export class NotificationHandler {
28
27
  });
29
28
  }
30
29
  }
31
-
32
30
  static notifyError(id, message) {
33
31
  this.notify(id, NotificationLevel.Error, message);
34
32
  }
35
-
36
33
  static notifyWarning(id, message) {
37
34
  this.notify(id, NotificationLevel.Warning, message);
38
35
  }
39
-
40
36
  static notifyInfo(id, message) {
41
37
  this.notify(id, NotificationLevel.Info, message);
42
38
  }
43
-
44
39
  static notifySuccess(id, message) {
45
40
  this.notify(id, NotificationLevel.Success, message);
46
41
  }
47
-
48
42
  static notifyWithLevel(id, message, level) {
49
43
  if (!level) {
50
44
  this.notifyInfo(id, message);
@@ -52,30 +46,24 @@ export class NotificationHandler {
52
46
  this.notify(id, level, message);
53
47
  }
54
48
  }
55
- /* Bypass WebChat behavior and focus on banner close button */
56
-
57
49
 
50
+ /* Bypass WebChat behavior and focus on banner close button */
58
51
  static setFocusOnNotificationCloseButton() {
59
52
  const expandButton = document.querySelector(`#${HtmlIdNames.MSLiveChatWidget} .${HtmlClassNames.webChatBannerExpandButton}`);
60
-
61
53
  if (expandButton) {
62
54
  expandButton.focus();
63
55
  return;
64
56
  }
65
-
66
57
  const closeButton = document.querySelector(`#${HtmlIdNames.MSLiveChatWidget} .${HtmlClassNames.webChatBannerCloseButton}`);
67
-
68
58
  if (closeButton) {
69
59
  closeButton.focus();
70
60
  NotificationHandler.registerOnCloseEvent(closeButton);
71
61
  return;
72
62
  }
73
63
  }
74
-
75
64
  static registerOnCloseEvent(button) {
76
65
  button.onclick = () => {
77
66
  setFocusOnSendBox();
78
67
  };
79
68
  }
80
-
81
69
  }
@@ -7,26 +7,21 @@ export function createWebChatTelemetry() {
7
7
  level
8
8
  } = event;
9
9
  const loglevel = level ? level.toUpperCase() : "";
10
-
11
10
  switch (loglevel) {
12
11
  case LogLevel.DEBUG:
13
12
  TelemetryHelper.logWebChatEvent(LogLevel.DEBUG, event);
14
13
  break;
15
-
16
14
  case LogLevel.WARN:
17
15
  TelemetryHelper.logWebChatEvent(LogLevel.WARN, event);
18
16
  break;
19
-
20
17
  case LogLevel.ERROR:
21
18
  TelemetryHelper.logWebChatEvent(LogLevel.ERROR, event);
22
19
  break;
23
-
24
20
  case LogLevel.INFO:
25
21
  default:
26
22
  TelemetryHelper.logWebChatEvent(LogLevel.INFO, event);
27
23
  break;
28
24
  }
29
25
  };
30
-
31
26
  return handleTelemetry;
32
27
  }
@@ -1,3 +1,4 @@
1
- import { createContext } from "react"; // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
1
+ import { createContext } from "react";
2
2
 
3
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
3
4
  export const ChatAdapterStore = /*#__PURE__*/createContext([undefined, adapter => {}]);
@@ -1,3 +1,4 @@
1
- import { createContext } from "react"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
1
+ import { createContext } from "react";
2
2
 
3
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
4
  export const ChatContextStore = /*#__PURE__*/createContext(undefined);
@@ -1,3 +1,4 @@
1
- import { createContext } from "react"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
1
+ import { createContext } from "react";
2
2
 
3
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
4
  export const ChatSDKStore = /*#__PURE__*/createContext(undefined);
@@ -1,5 +1,4 @@
1
1
  export let ConversationState;
2
-
3
2
  (function (ConversationState) {
4
3
  ConversationState[ConversationState["Prechat"] = 0] = "Prechat";
5
4
  ConversationState[ConversationState["Loading"] = 1] = "Loading";
@@ -1,5 +1,4 @@
1
1
  export let LiveChatWidgetActionType;
2
-
3
2
  (function (LiveChatWidgetActionType) {
4
3
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_ELEMENT_ID"] = 0] = "SET_WIDGET_ELEMENT_ID";
5
4
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_RENDERING_MIDDLEWARE_PROPS"] = 1] = "SET_RENDERING_MIDDLEWARE_PROPS";
@@ -7,7 +6,7 @@ export let LiveChatWidgetActionType;
7
6
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_GLOBAL_DIR"] = 3] = "SET_GLOBAL_DIR";
8
7
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_MINIMIZED"] = 4] = "SET_MINIMIZED";
9
8
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CONVERSATION_STATE"] = 5] = "SET_CONVERSATION_STATE";
10
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PREVIOUS_FOCUSED_ELEMENT"] = 6] = "SET_PREVIOUS_FOCUSED_ELEMENT";
9
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PREVIOUS_FOCUSED_ELEMENT_ID"] = 6] = "SET_PREVIOUS_FOCUSED_ELEMENT_ID";
11
10
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_OUTSIDE_OPERATING_HOURS"] = 7] = "SET_OUTSIDE_OPERATING_HOURS";
12
11
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRE_CHAT_SURVEY_RESPONSE"] = 8] = "SET_PRE_CHAT_SURVEY_RESPONSE";
13
12
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CUSTOM_CONTEXT"] = 9] = "SET_CUSTOM_CONTEXT";
@@ -23,7 +22,7 @@ export let LiveChatWidgetActionType;
23
22
  LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_LOCAL_VIDEO"] = 19] = "DISABLE_LOCAL_VIDEO";
24
23
  LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_REMOTE_VIDEO"] = 20] = "DISABLE_REMOTE_VIDEO";
25
24
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CHAT_TOKEN"] = 21] = "SET_CHAT_TOKEN";
26
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SKIP_CHAT_BUTTON_RENDERING"] = 22] = "SET_SKIP_CHAT_BUTTON_RENDERING";
25
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_START_CHAT_BUTTON_DISPLAY"] = 22] = "SET_START_CHAT_BUTTON_DISPLAY";
27
26
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PROACTIVE_CHAT_PARAMS"] = 23] = "SET_PROACTIVE_CHAT_PARAMS";
28
27
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_TELEMETRY_DATA"] = 24] = "SET_TELEMETRY_DATA";
29
28
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_RECONNECT_ID"] = 25] = "SET_RECONNECT_ID";
@@ -35,4 +34,5 @@ export let LiveChatWidgetActionType;
35
34
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_BOT_OAUTH_SIGNIN_ID"] = 31] = "SET_BOT_OAUTH_SIGNIN_ID";
36
35
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_SIZE"] = 32] = "SET_WIDGET_SIZE";
37
36
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_INSTANCE_ID"] = 33] = "SET_WIDGET_INSTANCE_ID";
37
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_LIVE_CHAT_CONFIG"] = 34] = "SET_LIVE_CHAT_CONFIG";
38
38
  })(LiveChatWidgetActionType || (LiveChatWidgetActionType = {}));
@@ -4,14 +4,11 @@ import { getWidgetCacheId, isNullOrUndefined } from "../../common/utils";
4
4
  import { defaultClientDataStoreProvider } from "../../common/storage/default/defaultClientDataStoreProvider";
5
5
  export const getLiveChatWidgetContextInitialState = props => {
6
6
  var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps, _props$webChatContain;
7
-
8
7
  const widgetCacheId = 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$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "");
9
8
  const initialState = defaultClientDataStoreProvider().getData(widgetCacheId, "localStorage");
10
-
11
9
  if (!isNullOrUndefined(initialState)) {
12
10
  return JSON.parse(initialState);
13
11
  }
14
-
15
12
  const LiveChatWidgetContextInitialState = {
16
13
  domainStates: {
17
14
  liveChatConfig: props.chatConfig,
@@ -31,12 +28,12 @@ export const getLiveChatWidgetContextInitialState = props => {
31
28
  appStates: {
32
29
  conversationState: ConversationState.Closed,
33
30
  isMinimized: false,
34
- previousElementOnFocusBeforeModalOpen: null,
31
+ previousElementIdOnFocusBeforeModalOpen: null,
35
32
  outsideOperatingHours: false,
36
33
  preChatResponseEmail: "",
37
34
  isAudioMuted: null,
38
35
  newMessage: false,
39
- skipChatButtonRendering: false,
36
+ hideStartChatButton: false,
40
37
  reconnectId: undefined,
41
38
  proactiveChatStates: {
42
39
  proactiveChatBodyTitle: "",
@@ -1,252 +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
-
238
270
  case LiveChatWidgetActionType.SET_WIDGET_INSTANCE_ID:
239
- return { ...state,
240
- domainStates: { ...state.domainStates,
271
+ return {
272
+ ...state,
273
+ domainStates: {
274
+ ...state.domainStates,
241
275
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
242
276
  widgetInstanceId: action.payload
243
277
  }
244
278
  };
245
-
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
+ };
246
288
  default:
247
289
  return state;
248
290
  }
249
291
  };
250
-
251
292
  return reducer;
252
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;