@microsoft/omnichannel-chat-widget 0.1.0-main.eb80fb1 → 0.1.0-main.ebfc563

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 (325) hide show
  1. package/README.md +35 -11
  2. package/lib/cjs/assets/Icons.js +4 -2
  3. package/lib/cjs/common/Constants.js +54 -153
  4. package/lib/cjs/common/KeyCodes.js +3 -4
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -5
  6. package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -0
  7. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +111 -0
  8. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  9. package/lib/cjs/common/telemetry/TelemetryConstants.js +85 -24
  10. package/lib/cjs/common/telemetry/TelemetryHelper.js +31 -56
  11. package/lib/cjs/common/telemetry/TelemetryManager.js +17 -35
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  13. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  14. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
  15. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  16. package/lib/cjs/common/utils.js +80 -80
  17. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
  18. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  19. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  20. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +13 -71
  21. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  22. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -37
  23. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  24. package/lib/cjs/components/footerstateful/FooterStateful.js +12 -44
  25. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  26. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  27. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  28. package/lib/cjs/components/headerstateful/HeaderStateful.js +26 -35
  29. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  30. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +39 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +20 -0
  32. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  33. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
  34. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +64 -0
  35. package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -0
  36. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  37. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  38. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  39. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  40. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -44
  41. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  42. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +132 -61
  43. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  44. package/lib/cjs/components/livechatwidget/common/endChat.js +167 -61
  45. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  46. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +8 -17
  47. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  48. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +50 -52
  49. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +98 -66
  50. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +9 -33
  51. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +3 -15
  52. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  53. package/lib/cjs/components/livechatwidget/common/startChat.js +287 -90
  54. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  55. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  56. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  57. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +354 -170
  58. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
  59. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  60. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  61. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
  62. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  63. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  64. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  65. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  66. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  67. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +12 -45
  68. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  69. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -35
  70. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  71. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  72. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  73. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  74. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  75. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
  76. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +9 -16
  77. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  78. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -15
  79. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  80. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  81. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +12 -0
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +33 -80
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +27 -61
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  121. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  122. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  123. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  124. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  125. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  126. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  127. package/lib/cjs/contexts/common/ConversationState.js +4 -3
  128. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -26
  129. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +18 -11
  130. package/lib/cjs/contexts/createReducer.js +169 -109
  131. package/lib/cjs/controller/componentController.js +5 -34
  132. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  133. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  134. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  135. package/lib/cjs/index.js +0 -5
  136. package/lib/cjs/plugins/newMessageEventHandler.js +82 -0
  137. package/lib/esm/assets/Icons.js +2 -1
  138. package/lib/esm/common/Constants.js +49 -141
  139. package/lib/esm/common/KeyCodes.js +3 -3
  140. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
  141. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  142. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +104 -0
  143. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  144. package/lib/esm/common/telemetry/TelemetryConstants.js +84 -19
  145. package/lib/esm/common/telemetry/TelemetryHelper.js +32 -46
  146. package/lib/esm/common/telemetry/TelemetryManager.js +17 -24
  147. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  148. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  149. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
  150. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  151. package/lib/esm/common/utils.js +73 -45
  152. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  153. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  154. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  155. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +14 -47
  156. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -16
  157. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  158. package/lib/esm/components/footerstateful/FooterStateful.js +14 -25
  159. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  160. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  161. package/lib/esm/components/headerstateful/HeaderStateful.js +27 -21
  162. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  163. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
  164. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  165. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  166. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  167. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  168. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
  169. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  170. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  171. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  172. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  173. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  174. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  175. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +134 -49
  176. package/lib/esm/components/livechatwidget/common/endChat.js +171 -50
  177. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  178. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +10 -12
  179. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  180. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +52 -24
  181. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +98 -58
  182. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +9 -23
  183. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -6
  184. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  185. package/lib/esm/components/livechatwidget/common/startChat.js +287 -71
  186. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  187. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  188. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +357 -122
  189. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  190. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  191. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  192. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  193. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  194. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  195. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  196. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  197. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  198. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +16 -30
  199. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  200. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +24 -12
  201. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  202. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  203. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  204. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  205. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  206. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  207. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +9 -12
  208. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  209. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
  210. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  211. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  212. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +34 -66
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +27 -40
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  250. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  251. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  252. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  253. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  254. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  255. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  256. package/lib/esm/contexts/ChatContextStore.js +2 -1
  257. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  258. package/lib/esm/contexts/common/ConversationState.js +4 -3
  259. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -26
  260. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +18 -7
  261. package/lib/esm/contexts/createReducer.js +169 -105
  262. package/lib/esm/controller/componentController.js +6 -5
  263. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  264. package/lib/esm/hooks/useChatContextStore.js +0 -4
  265. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  266. package/lib/esm/plugins/newMessageEventHandler.js +75 -0
  267. package/lib/types/assets/Icons.d.ts +1 -0
  268. package/lib/types/common/Constants.d.ts +41 -2
  269. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  270. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  271. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  272. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  273. package/lib/types/common/telemetry/TelemetryConstants.d.ts +59 -6
  274. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  275. package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
  276. package/lib/types/common/telemetry/definitions/Payload.d.ts +13 -9
  277. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +7 -3
  278. package/lib/types/common/utils.d.ts +8 -1
  279. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  280. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  281. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  282. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  283. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  284. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  285. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  286. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  287. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  288. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  289. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  290. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  291. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -4
  292. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  293. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  294. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  295. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +4 -1
  296. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -3
  297. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  298. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  299. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  300. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  301. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  302. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
  303. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  304. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  305. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  306. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  307. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  308. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  309. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  310. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  311. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  312. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  313. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  314. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  315. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  316. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  317. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  318. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  319. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  320. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  321. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +6 -3
  322. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -25
  323. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  324. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  325. package/package.json +12 -13
@@ -4,85 +4,63 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isChromiumEdge = exports.getUserAgent = exports.getBrowserVersion = exports.getBrowserName = void 0;
7
-
8
7
  var _BrowserVendor = require("../../webchatcontroller/enums/BrowserVendor");
9
-
10
8
  const REGEX_VERSION = "([\\d,.]+)";
11
9
  const UNKNOWN_VERSION = "U";
12
10
  let userAgent = undefined;
13
-
14
11
  const getUserAgent = () => {
15
12
  if (!userAgent) {
16
13
  userAgent = window.navigator.userAgent;
17
14
  }
18
-
19
15
  return userAgent;
20
16
  };
21
-
22
17
  exports.getUserAgent = getUserAgent;
23
-
24
18
  const userAgentContainsString = searchString => {
25
19
  const userAgent = getUserAgent();
26
20
  return userAgent.indexOf(searchString) > -1;
27
21
  };
28
-
29
22
  const isEdge = () => {
30
23
  return userAgentContainsString(_BrowserVendor.BrowserVendor.EDGE) || userAgentContainsString(_BrowserVendor.BrowserVendor.EDGE_CHROMIUM);
31
24
  };
32
-
33
25
  const isChromiumEdge = () => {
34
26
  return userAgentContainsString(_BrowserVendor.BrowserVendor.EDGE_CHROMIUM) && !userAgentContainsString(_BrowserVendor.BrowserVendor.EDGE);
35
27
  };
36
-
37
28
  exports.isChromiumEdge = isChromiumEdge;
38
-
39
29
  const isOpera = () => {
40
30
  return userAgentContainsString("OPR/");
41
31
  };
42
-
43
32
  const getBrowserName = () => {
44
33
  if (isOpera()) {
45
34
  return _BrowserVendor.BrowserVendor.OPERA;
46
35
  }
47
-
48
36
  if (isEdge()) {
49
37
  return _BrowserVendor.BrowserVendor.EDGE;
50
38
  }
51
-
52
39
  if (userAgentContainsString(_BrowserVendor.BrowserVendor.CHROME)) {
53
40
  return _BrowserVendor.BrowserVendor.CHROME;
54
41
  }
55
-
56
42
  if (userAgentContainsString(_BrowserVendor.BrowserVendor.FIREFOX)) {
57
43
  return _BrowserVendor.BrowserVendor.FIREFOX;
58
44
  }
59
-
60
45
  if (userAgentContainsString(_BrowserVendor.BrowserVendor.SAFARI)) {
61
46
  return _BrowserVendor.BrowserVendor.SAFARI;
62
47
  }
63
-
64
48
  return _BrowserVendor.BrowserVendor.UNKNOWN;
65
49
  };
66
-
67
50
  exports.getBrowserName = getBrowserName;
68
-
69
51
  const getBrowserVersion = () => {
70
52
  let browserString = getBrowserName();
71
53
  const browserVersion = UNKNOWN_VERSION;
72
54
  let matches;
73
-
74
55
  if (browserString === _BrowserVendor.BrowserVendor.SAFARI) {
75
56
  browserString = "Version";
76
- } // eslint-disable-next-line prefer-const
77
-
57
+ }
78
58
 
59
+ // eslint-disable-next-line prefer-const
79
60
  matches = getUserAgent().match(new RegExp(browserString + "/" + REGEX_VERSION));
80
-
81
61
  if (matches) {
82
62
  return matches[1];
83
63
  }
84
-
85
64
  return browserVersion;
86
65
  };
87
-
88
66
  exports.getBrowserVersion = getBrowserVersion;
@@ -4,19 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isInlineMediaSupported = exports.getFileAttachmentIconData = void 0;
7
-
8
7
  var _Icons = require("../../../../assets/Icons");
9
-
10
8
  var _BrowserInfo = require("./BrowserInfo");
11
-
12
9
  var _BrowserVendor = require("../../webchatcontroller/enums/BrowserVendor");
13
-
14
10
  var _Constants = require("../../../../common/Constants");
15
-
16
11
  const FileAttachmentIconMap = {
17
12
  "aac": _Icons.AudioIcon,
18
13
  "aiff": _Icons.AudioIcon,
19
14
  "alac": _Icons.AudioIcon,
15
+ "amr": _Icons.AudioIcon,
20
16
  "avchd": _Icons.VideoIcon,
21
17
  "avi": _Icons.VideoIcon,
22
18
  "bmp": _Icons.ImageIcon,
@@ -55,6 +51,7 @@ const FileAttachmentIconMap = {
55
51
  "vsdx": _Icons.VisioIcon,
56
52
  "wav": _Icons.AudioIcon,
57
53
  "webm": _Icons.VideoIcon,
54
+ "webp": _Icons.ImageIcon,
58
55
  "wma": _Icons.AudioIcon,
59
56
  "wmv": _Icons.VideoIcon,
60
57
  "xls": _Icons.ExcelIcon,
@@ -63,38 +60,31 @@ const FileAttachmentIconMap = {
63
60
  "zipx": _Icons.ArchiveIcon,
64
61
  "7z": _Icons.ArchiveIcon
65
62
  };
63
+
66
64
  /**
67
65
  * Get file attachment icon image depending on extension.
68
66
  *
69
67
  * @param extension File extension
70
68
  */
71
-
72
69
  const getFileAttachmentIconData = extension => {
73
70
  const key = extension.startsWith(".") ? extension.slice(1) : extension || "";
74
-
75
71
  const icon = FileAttachmentIconMap[key.toLowerCase()] || _Icons.BlankIcon;
76
-
77
72
  return icon;
78
- }; // Check if browser supports inline media playing for current media format
79
-
73
+ };
80
74
 
75
+ // Check if browser supports inline media playing for current media format
81
76
  exports.getFileAttachmentIconData = getFileAttachmentIconData;
82
-
83
77
  const isInlineMediaSupported = attachmentName => {
84
78
  switch ((0, _BrowserInfo.getBrowserName)()) {
85
79
  case _BrowserVendor.BrowserVendor.CHROME:
86
80
  case _BrowserVendor.BrowserVendor.OPERA:
87
81
  return _Constants.Constants.chromeSupportedInlineMediaRegex.test(attachmentName);
88
-
89
82
  case _BrowserVendor.BrowserVendor.FIREFOX:
90
83
  return _Constants.Constants.firefoxSupportedInlineMediaRegex.test(attachmentName);
91
-
92
84
  case _BrowserVendor.BrowserVendor.EDGE:
93
85
  return (0, _BrowserInfo.isChromiumEdge)() && _Constants.Constants.chromeSupportedInlineMediaRegex.test(attachmentName);
94
-
95
86
  default:
96
87
  return false;
97
88
  }
98
89
  };
99
-
100
90
  exports.isInlineMediaSupported = isInlineMediaSupported;
@@ -4,24 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isMaskingforCustomer = void 0;
7
-
8
7
  const isMaskingforCustomer = maskingInfo => {
9
8
  var _maskingInfo$setting;
10
-
11
9
  // If the masking info (containing masking setting and masking rules) is missing or empty, return false.
12
10
  // If the masking rules are missing or empty, also return false.
13
11
  if (!maskingInfo || Object.keys(maskingInfo).length == 0 || !maskingInfo.dataMaskingRules || Object.keys(maskingInfo.dataMaskingRules).length == 0) {
14
12
  return false;
15
- } // If the masking rules are provided and;
16
- // If the masking setting is NOT null and masking for customer is NOT null, return the configuration
17
-
13
+ }
18
14
 
15
+ // If the masking rules are provided and;
16
+ // If the masking setting is NOT null and masking for customer is NOT null, return the configuration
19
17
  if ((_maskingInfo$setting = maskingInfo.setting) !== null && _maskingInfo$setting !== void 0 && _maskingInfo$setting.msdyn_maskforcustomer) {
20
18
  return maskingInfo.setting.msdyn_maskforcustomer;
21
- } // In all other cases, even if masking setting is missing, return true to apply the masking for backward compatibility (i.e. in old versions, OC does not have masking info settings)
22
-
19
+ }
23
20
 
21
+ // In all other cases, even if masking setting is missing, return true to apply the masking for backward compatibility (i.e. in old versions, OC does not have masking info settings)
24
22
  return true;
25
23
  };
26
-
27
24
  exports.isMaskingforCustomer = isMaskingforCustomer;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BotMagicCodeStore = void 0;
7
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
9
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10
+ class BotMagicCodeStore {}
11
+ exports.BotMagicCodeStore = BotMagicCodeStore;
12
+ _defineProperty(BotMagicCodeStore, "botOAuthSignInId", "");
@@ -4,11 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.WebChatStoreLoader = void 0;
7
-
8
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
-
7
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
9
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10
10
  class WebChatStoreLoader {}
11
-
12
11
  exports.WebChatStoreLoader = WebChatStoreLoader;
13
-
14
12
  _defineProperty(WebChatStoreLoader, "store", void 0);
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.BrowserVendor = void 0;
7
7
  let BrowserVendor;
8
8
  exports.BrowserVendor = BrowserVendor;
9
-
10
9
  (function (BrowserVendor) {
11
10
  BrowserVendor["CHROME"] = "Chrome";
12
11
  BrowserVendor["FIREFOX"] = "Firefox";
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.DirectLineActivityType = void 0;
7
7
  let DirectLineActivityType;
8
8
  exports.DirectLineActivityType = DirectLineActivityType;
9
-
10
9
  (function (DirectLineActivityType) {
11
10
  DirectLineActivityType["Message"] = "message";
12
11
  DirectLineActivityType["Typing"] = "typing";
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.DirectLineSenderRole = void 0;
7
7
  let DirectLineSenderRole;
8
8
  exports.DirectLineSenderRole = DirectLineSenderRole;
9
-
10
9
  (function (DirectLineSenderRole) {
11
10
  DirectLineSenderRole["User"] = "user";
12
11
  DirectLineSenderRole["Bot"] = "bot";
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.MessageTypes = void 0;
7
7
  let MessageTypes;
8
8
  exports.MessageTypes = MessageTypes;
9
-
10
9
  (function (MessageTypes) {
11
10
  MessageTypes["User"] = "UserMessage";
12
11
  MessageTypes["Swift"] = "SwiftCard";
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.NotificationLevel = void 0;
7
7
  let NotificationLevel;
8
8
  exports.NotificationLevel = NotificationLevel;
9
-
10
9
  (function (NotificationLevel) {
11
10
  NotificationLevel["Success"] = "success";
12
11
  NotificationLevel["Info"] = "info";
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.NotificationScenarios = void 0;
7
7
  let NotificationScenarios;
8
8
  exports.NotificationScenarios = NotificationScenarios;
9
-
10
9
  (function (NotificationScenarios) {
11
10
  NotificationScenarios["Connection"] = "connection";
12
11
  NotificationScenarios["DownloadTranscriptError"] = "download transcript";
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.SendStatus = void 0;
7
7
  let SendStatus;
8
8
  exports.SendStatus = SendStatus;
9
-
10
9
  (function (SendStatus) {
11
10
  SendStatus["Sending"] = "sending";
12
11
  SendStatus["SendFailed"] = "send failed";
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.WebChatActionType = void 0;
7
7
  let WebChatActionType;
8
8
  exports.WebChatActionType = WebChatActionType;
9
-
10
9
  (function (WebChatActionType) {
11
10
  WebChatActionType["DIRECT_LINE_CONNECT_FULFILLED"] = "DIRECT_LINE/CONNECT_FULFILLED";
12
11
  WebChatActionType["DIRECT_LINE_CONNECT"] = "DIRECT_LINE/CONNECT";
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../../../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _TelemetryHelper = require("../../../../../common/telemetry/TelemetryHelper");
11
-
12
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
10
  const FormatEgressTagsMiddleware = () => next => activity => {
14
11
  const activity_instance = JSON.parse(JSON.stringify(activity));
15
-
16
12
  if (activity_instance) {
17
13
  if (activity_instance.channelData && activity_instance.channelData.tags) {
18
14
  const {
19
15
  tags
20
16
  } = activity_instance.channelData;
21
-
22
17
  if (typeof tags === "string") {
23
18
  return next(activity);
24
19
  } else if (tags instanceof Array) {
@@ -37,9 +32,7 @@ const FormatEgressTagsMiddleware = () => next => activity => {
37
32
  }
38
33
  }
39
34
  }
40
-
41
35
  return next(activity_instance);
42
36
  };
43
-
44
37
  var _default = FormatEgressTagsMiddleware;
45
38
  exports.default = _default;
@@ -4,17 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
8
  const formatTagsIngressMiddleware = () => next => activity => {
10
9
  const activity_instance = JSON.parse(JSON.stringify(activity));
11
-
12
10
  if (activity_instance) {
13
11
  if (activity_instance.channelData && activity_instance.channelData.tags) {
14
12
  const {
15
13
  tags
16
14
  } = activity_instance.channelData;
17
-
18
15
  if (typeof tags === "string") {
19
16
  try {
20
17
  //If it is json format, parse the tags. Catch block will convert string to array.(We do not need to log anything since its not an error)
@@ -25,9 +22,7 @@ const formatTagsIngressMiddleware = () => next => activity => {
25
22
  }
26
23
  }
27
24
  }
28
-
29
25
  return next(activity_instance);
30
26
  };
31
-
32
27
  var _default = formatTagsIngressMiddleware;
33
28
  exports.default = _default;
@@ -4,29 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createActivityMiddleware = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
7
+ var _TelemetryConstants = require("../../../../../common/telemetry/TelemetryConstants");
10
8
  var _Constants = require("../../../../../common/Constants");
11
-
12
9
  var _DirectLineActivityType = require("../../enums/DirectLineActivityType");
13
-
14
10
  var _DirectLineSenderRole = require("../../enums/DirectLineSenderRole");
15
-
16
11
  var _MessageType = require("../../enums/MessageType");
17
-
12
+ var _react = _interopRequireDefault(require("react"));
13
+ var _TelemetryHelper = require("../../../../../common/telemetry/TelemetryHelper");
18
14
  var _defaultSystemMessageStyles = require("./defaultStyles/defaultSystemMessageStyles");
19
-
20
15
  var _defaultUserMessageStyles = require("./defaultStyles/defaultUserMessageStyles");
21
-
22
16
  var _utils = require("../../../../../common/utils");
23
-
24
- var _TelemetryHelper = require("../../../../../common/telemetry/TelemetryHelper");
25
-
26
- var _TelemetryConstants = require("../../../../../common/telemetry/TelemetryConstants");
27
-
28
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
-
30
18
  /******
31
19
  * ActivityMiddleware
32
20
  *
@@ -34,119 +22,86 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
34
22
  * 1. Renders system messages differently, according to Microsoft LiveChatWidget styles
35
23
  * 2. Changes the font size of user messages
36
24
  * 3. Decodes certain html characters that came through from chat services
37
- * 4. Triggers end conversation sequence when the chat thread is deleted
38
25
  ******/
39
- const loggedSystemMessages = new Array(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
-
41
- const handleThreadUpdate = channelData => {
42
- var _channelData$properti, _channelData$properti2;
43
-
44
- _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
45
- Event: _TelemetryConstants.TelemetryEvent.IC3ThreadUpdateEventReceived,
46
- Description: "IC3 ThreadUpdateEvent Received"
47
- });
48
-
49
- const postConversationEndedAction = () => {
50
- _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
51
- Event: _TelemetryConstants.TelemetryEvent.ConversationEndedThreadEventReceived,
52
- Description: "Conversation is ended by agent side or by timeout."
53
- });
54
- }; // If the Thread is deleted, then display post conversation survey if enabled.
55
-
56
-
57
- const isThreadDeleted = (channelData === null || channelData === void 0 ? void 0 : (_channelData$properti = channelData.properties) === null || _channelData$properti === void 0 ? void 0 : (_channelData$properti2 = _channelData$properti.isdeleted) === null || _channelData$properti2 === void 0 ? void 0 : _channelData$properti2.toLowerCase()) === _Constants.Constants.true;
58
-
59
- if (isThreadDeleted) {
60
- postConversationEndedAction();
61
- return;
62
- } //check if customer is still in the thread
63
-
64
-
65
- if (channelData.members && channelData.members.length > 0) {
66
- for (let i = 0; i < channelData.members.length; i++) {
67
- const id = channelData.members[i].id;
68
- const tag = channelData.members[i].tag; // In case of ACS customer is not removed from thread and has "left" tag
69
-
70
- if (id.startsWith(_Constants.Constants.visitorIdPrefix) && tag !== _Constants.Constants.left) {
71
- return;
72
- }
73
- }
74
- }
75
-
76
- postConversationEndedAction();
77
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
26
 
27
+ const loggedSystemMessages = new Array();
79
28
 
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
30
  const handleSystemMessage = (next, args, card, systemMessageStyleProps) => {
81
31
  var _card$activity, _card$activity$channe, _card$activity$channe2, _card$activity2, _card$activity2$chann, _card$activity3, _card$activity3$chann, _card$activity3$chann2, _card$activity4, _card$activity4$chann, _card$activity5, _card$activity5$chann, _card$nextVisibleActi, _card$nextVisibleActi2, _card$activity6, _card$activity6$chann, _card$activity7, _card$nextVisibleActi3, _card$activity8;
82
-
83
- const systemMessageStyles = { ..._defaultSystemMessageStyles.defaultSystemMessageStyles,
32
+ const systemMessageStyles = {
33
+ ..._defaultSystemMessageStyles.defaultSystemMessageStyles,
84
34
  ...systemMessageStyleProps
85
35
  };
86
-
87
36
  if ((_card$activity = card.activity) !== null && _card$activity !== void 0 && (_card$activity$channe = _card$activity.channelData) !== null && _card$activity$channe !== void 0 && (_card$activity$channe2 = _card$activity$channe.tags) !== null && _card$activity$channe2 !== void 0 && _card$activity$channe2.includes(_Constants.Constants.averageWaitTimeMessageTag) && loggedSystemMessages.indexOf((_card$activity2 = card.activity) === null || _card$activity2 === void 0 ? void 0 : (_card$activity2$chann = _card$activity2.channelData) === null || _card$activity2$chann === void 0 ? void 0 : _card$activity2$chann.clientmessageid) < 0) {
88
37
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
89
38
  Event: _TelemetryConstants.TelemetryEvent.AverageWaitTimeMessageRecieved,
90
39
  Description: "Average wait time message was received"
91
40
  });
92
-
93
41
  loggedSystemMessages.push(card.activity.channelData.clientmessageid);
94
42
  }
95
-
96
43
  if ((_card$activity3 = card.activity) !== null && _card$activity3 !== void 0 && (_card$activity3$chann = _card$activity3.channelData) !== null && _card$activity3$chann !== void 0 && (_card$activity3$chann2 = _card$activity3$chann.tags) !== null && _card$activity3$chann2 !== void 0 && _card$activity3$chann2.includes(_Constants.Constants.queuePositionMessageTag) && loggedSystemMessages.indexOf((_card$activity4 = card.activity) === null || _card$activity4 === void 0 ? void 0 : (_card$activity4$chann = _card$activity4.channelData) === null || _card$activity4$chann === void 0 ? void 0 : _card$activity4$chann.clientmessageid) < 0) {
97
44
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
98
45
  Event: _TelemetryConstants.TelemetryEvent.QueuePositionMessageRecieved,
99
46
  Description: "Queue position message was received"
100
47
  });
101
-
102
48
  loggedSystemMessages.push(card.activity.channelData.clientmessageid);
103
49
  }
104
-
105
50
  if ((_card$activity5 = card.activity) !== null && _card$activity5 !== void 0 && (_card$activity5$chann = _card$activity5.channelData) !== null && _card$activity5$chann !== void 0 && _card$activity5$chann.clientmessageid && ((_card$nextVisibleActi = card.nextVisibleActivity) === null || _card$nextVisibleActi === void 0 ? void 0 : (_card$nextVisibleActi2 = _card$nextVisibleActi.channelData) === null || _card$nextVisibleActi2 === void 0 ? void 0 : _card$nextVisibleActi2.clientmessageid) === ((_card$activity6 = card.activity) === null || _card$activity6 === void 0 ? void 0 : (_card$activity6$chann = _card$activity6.channelData) === null || _card$activity6$chann === void 0 ? void 0 : _card$activity6$chann.clientmessageid) || (_card$activity7 = card.activity) !== null && _card$activity7 !== void 0 && _card$activity7.messageid && ((_card$nextVisibleActi3 = card.nextVisibleActivity) === null || _card$nextVisibleActi3 === void 0 ? void 0 : _card$nextVisibleActi3.messageid) === ((_card$activity8 = card.activity) === null || _card$activity8 === void 0 ? void 0 : _card$activity8.messageid)) {
106
51
  return () => false;
107
- } // eslint-disable-next-line react/display-name, @typescript-eslint/no-explicit-any
108
-
52
+ }
109
53
 
54
+ // eslint-disable-next-line react/display-name, @typescript-eslint/no-explicit-any
110
55
  return () => /*#__PURE__*/_react.default.createElement("div", {
111
56
  key: card.activity.id,
112
57
  style: systemMessageStyles,
113
58
  "aria-hidden": "true"
114
59
  }, card.activity.text);
115
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
+ };
116
61
 
62
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
+ const isTagIncluded = (card, tag) => {
64
+ return isDataTagsPresent(card) && card.activity.channelData.tags.includes(tag);
65
+ };
117
66
 
67
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
+ const isDataTagsPresent = card => {
69
+ return card && card.activity && card.activity.channelData && card.activity.channelData.tags && card.activity.channelData.tags.length > 0;
70
+ };
71
+
72
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
73
  const createActivityMiddleware = (systemMessageStyleProps, userMessageStyleProps) => () => next => function () {
119
74
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
120
75
  args[_key] = arguments[_key];
121
76
  }
122
-
123
77
  const [card] = args;
124
-
125
78
  if (card.activity) {
126
- var _card$activity$from, _card$activity$channe4, _card$activity$channe5;
127
-
79
+ var _card$activity$from;
128
80
  if (((_card$activity$from = card.activity.from) === null || _card$activity$from === void 0 ? void 0 : _card$activity$from.role) === _DirectLineSenderRole.DirectLineSenderRole.Channel) {
129
81
  var _card$activity$channe3;
130
-
131
82
  if (((_card$activity$channe3 = card.activity.channelData) === null || _card$activity$channe3 === void 0 ? void 0 : _card$activity$channe3.type) === _MessageType.MessageTypes.Thread) {
132
- handleThreadUpdate(card.activity.channelData);
83
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
84
+ Event: _TelemetryConstants.TelemetryEvent.IC3ThreadUpdateEventReceived,
85
+ Description: "IC3 ThreadUpdateEvent Received"
86
+ });
133
87
  }
134
-
135
88
  return () => false;
136
89
  }
137
-
138
- if ((_card$activity$channe4 = card.activity.channelData) !== null && _card$activity$channe4 !== void 0 && (_card$activity$channe5 = _card$activity$channe4.tags) !== null && _card$activity$channe5 !== void 0 && _card$activity$channe5.includes(_Constants.Constants.systemMessageTag)) {
90
+ if (isTagIncluded(card, _Constants.Constants.hiddenTag)) {
91
+ return () => false;
92
+ }
93
+ if (isTagIncluded(card, _Constants.Constants.systemMessageTag)) {
139
94
  return handleSystemMessage(next, args, card, systemMessageStyleProps);
140
95
  } else if (card.activity.text && card.activity.type === _DirectLineActivityType.DirectLineActivityType.Message) {
141
96
  if (!card.activity.channelData.isHtmlEncoded && card.activity.channelId === _Constants.Constants.webchatChannelId) {
142
97
  card.activity.text = (0, _utils.escapeHtml)(card.activity.text);
143
98
  card.activity.channelData.isHtmlEncoded = true;
144
99
  }
145
-
146
- const userMessageStyles = { ..._defaultUserMessageStyles.defaultUserMessageStyles,
100
+ const userMessageStyles = {
101
+ ..._defaultUserMessageStyles.defaultUserMessageStyles,
147
102
  ...userMessageStyleProps
148
- }; // eslint-disable-next-line react/display-name, @typescript-eslint/no-explicit-any
149
-
103
+ };
104
+ // eslint-disable-next-line react/display-name, @typescript-eslint/no-explicit-any
150
105
  return function () {
151
106
  return /*#__PURE__*/_react.default.createElement("div", {
152
107
  className: card.activity.from.role === _DirectLineSenderRole.DirectLineSenderRole.User ? _Constants.Constants.sentMessageClassName : _Constants.Constants.receivedMessageClassName,
@@ -156,8 +111,6 @@ const createActivityMiddleware = (systemMessageStyleProps, userMessageStyleProps
156
111
  };
157
112
  }
158
113
  }
159
-
160
114
  return next(...args);
161
115
  };
162
-
163
116
  exports.createActivityMiddleware = createActivityMiddleware;
@@ -4,21 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.activityStatusMiddleware = void 0;
7
-
8
7
  var _Constants = require("../../../../../common/Constants");
9
-
10
8
  var _DeliveredTimestamp = require("./timestamps/DeliveredTimestamp");
11
-
12
9
  var _NotDeliveredTimestamp = require("./timestamps/NotDeliveredTimestamp");
13
-
14
10
  var _react = _interopRequireDefault(require("react"));
15
-
16
11
  var _SendStatus = require("../../enums/SendStatus");
17
-
18
12
  var _SendingTimestamp = require("./timestamps/SendingTimestamp");
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
14
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, react/display-name, @typescript-eslint/no-unused-vars
23
15
  const activityStatusMiddleware = () => next => args => {
24
16
  const {
@@ -36,11 +28,10 @@ const activityStatusMiddleware = () => next => args => {
36
28
  sameTimestampGroup
37
29
  } = args;
38
30
  const current_tags = tags,
39
- current_name = name,
40
- current_role = role,
41
- current_timestamp = timestamp;
31
+ current_name = name,
32
+ current_role = role,
33
+ current_timestamp = timestamp;
42
34
  let sameTimestampGroupTemp = sameTimestampGroup;
43
-
44
35
  if (args[_Constants.WebChatMiddlewareConstants.nextVisibleActivity]) {
45
36
  const {
46
37
  nextVisibleActivity: {
@@ -49,18 +40,16 @@ const activityStatusMiddleware = () => next => args => {
49
40
  },
50
41
  timestamp
51
42
  }
52
- } = args; // eslint-disable-next-line @typescript-eslint/no-unused-vars
53
-
43
+ } = args;
44
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
54
45
  const next_name = name,
55
- next_timestamp = timestamp;
46
+ next_timestamp = timestamp;
56
47
  const timestampCurrentInMillisecond = Date.parse(current_timestamp);
57
48
  const timestampNextInMillisecond = Date.parse(next_timestamp);
58
-
59
49
  if (current_name !== next_name || timestampNextInMillisecond - timestampCurrentInMillisecond > _Constants.WebChatMiddlewareConstants.timeBetweenTimestampGroups) {
60
50
  sameTimestampGroupTemp = false;
61
51
  }
62
52
  }
63
-
64
53
  if (current_tags && current_tags.includes(_Constants.Constants.systemMessageTag) || sameTimestampGroupTemp && sendState === _SendStatus.SendStatus.Sent) {
65
54
  return;
66
55
  } else {
@@ -68,16 +57,15 @@ const activityStatusMiddleware = () => next => args => {
68
57
  style: {
69
58
  padding: "2px"
70
59
  }
71
- }, sendState === _SendStatus.SendStatus.Sending && /*#__PURE__*/_react.default.createElement(_SendingTimestamp.SendingTimestamp, {
72
- args: args
73
- }), sendState === _SendStatus.SendStatus.SendFailed && /*#__PURE__*/_react.default.createElement(_NotDeliveredTimestamp.NotDeliveredTimestamp, {
60
+ }, sendState === _SendStatus.SendStatus.Sending && /*#__PURE__*/_react.default.createElement(_SendingTimestamp.SendingTimestamp, null), sendState === _SendStatus.SendStatus.SendFailed && /*#__PURE__*/_react.default.createElement(_NotDeliveredTimestamp.NotDeliveredTimestamp, {
74
61
  args: args
75
62
  }), sendState === _SendStatus.SendStatus.Sent && /*#__PURE__*/_react.default.createElement(_DeliveredTimestamp.DeliveredTimestamp, {
76
63
  args: args,
77
64
  role: current_role,
78
65
  name: current_name
79
- }));
66
+ }))
67
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
+ ;
80
69
  }
81
70
  };
82
-
83
71
  exports.activityStatusMiddleware = activityStatusMiddleware;