@microsoft/omnichannel-chat-widget 0.1.0-main.df02f14 → 0.1.0-main.df142b8

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 (287) hide show
  1. package/lib/cjs/assets/Icons.js +4 -2
  2. package/lib/cjs/common/Constants.js +17 -168
  3. package/lib/cjs/common/KeyCodes.js +0 -3
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  7. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  8. package/lib/cjs/common/telemetry/TelemetryConstants.js +28 -23
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +16 -57
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +0 -31
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  14. package/lib/cjs/common/utils.js +18 -105
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +2 -24
  17. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  18. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -32
  19. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  20. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  22. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  23. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  24. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -45
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  26. package/lib/cjs/components/headerstateful/HeaderStateful.js +15 -30
  27. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  28. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +2 -9
  29. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -5
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -11
  31. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +11 -19
  32. package/lib/cjs/components/livechatwidget/common/Deferred.js +3 -10
  33. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  34. package/lib/cjs/components/livechatwidget/common/createAdapter.js +2 -13
  35. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  36. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  37. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +16 -24
  38. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  39. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +62 -38
  40. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  41. package/lib/cjs/components/livechatwidget/common/endChat.js +50 -35
  42. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  43. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  44. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  45. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +20 -54
  46. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +78 -136
  47. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  48. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -11
  49. package/lib/cjs/components/livechatwidget/common/shareObservable.js +4 -8
  50. package/lib/cjs/components/livechatwidget/common/startChat.js +151 -141
  51. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  52. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  53. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  54. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +232 -250
  55. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
  56. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  57. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  58. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  59. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  60. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  61. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  62. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  63. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  64. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +9 -37
  65. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
  66. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  67. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +29 -34
  68. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  69. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  71. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  72. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +2 -17
  73. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  74. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  75. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  76. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -4
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  119. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  120. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  121. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  122. package/lib/cjs/contexts/common/ConversationState.js +0 -1
  123. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -29
  124. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +10 -11
  125. package/lib/cjs/contexts/createReducer.js +154 -108
  126. package/lib/cjs/controller/componentController.js +2 -31
  127. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  128. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  129. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  130. package/lib/cjs/index.js +0 -5
  131. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  132. package/lib/esm/assets/Icons.js +2 -1
  133. package/lib/esm/common/Constants.js +14 -155
  134. package/lib/esm/common/KeyCodes.js +0 -2
  135. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  136. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  137. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  138. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  139. package/lib/esm/common/telemetry/TelemetryConstants.js +32 -20
  140. package/lib/esm/common/telemetry/TelemetryHelper.js +16 -45
  141. package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
  142. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  143. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  144. package/lib/esm/common/utils.js +18 -53
  145. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  146. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
  147. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  148. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -13
  149. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  150. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  151. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  152. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
  153. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  154. package/lib/esm/components/headerstateful/HeaderStateful.js +15 -15
  155. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  156. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +2 -6
  157. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -3
  158. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -8
  159. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +11 -15
  160. package/lib/esm/components/livechatwidget/common/Deferred.js +3 -8
  161. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  162. package/lib/esm/components/livechatwidget/common/createAdapter.js +4 -6
  163. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  164. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  165. package/lib/esm/components/livechatwidget/common/createMarkdown.js +18 -18
  166. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  167. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +64 -25
  168. package/lib/esm/components/livechatwidget/common/endChat.js +52 -20
  169. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  170. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  171. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  172. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +22 -19
  173. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +78 -118
  174. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  175. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
  176. package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
  177. package/lib/esm/components/livechatwidget/common/startChat.js +152 -114
  178. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  179. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  180. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +235 -185
  181. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  182. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  183. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  184. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  185. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  186. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  187. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  188. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  189. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  190. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -21
  191. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
  192. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  193. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +27 -9
  194. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  195. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  196. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  197. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  198. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +2 -13
  199. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  200. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  201. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  202. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -2
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  245. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  246. package/lib/esm/contexts/ChatContextStore.js +2 -1
  247. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  248. package/lib/esm/contexts/common/ConversationState.js +0 -1
  249. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -29
  250. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +10 -7
  251. package/lib/esm/contexts/createReducer.js +154 -105
  252. package/lib/esm/controller/componentController.js +3 -2
  253. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  254. package/lib/esm/hooks/useChatContextStore.js +0 -4
  255. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  256. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  257. package/lib/types/assets/Icons.d.ts +1 -0
  258. package/lib/types/common/Constants.d.ts +12 -0
  259. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  260. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  261. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  262. package/lib/types/common/telemetry/TelemetryConstants.d.ts +16 -5
  263. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  264. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  265. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  266. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -7
  267. package/lib/types/components/livechatwidget/common/startChat.d.ts +3 -2
  268. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -1
  269. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -2
  270. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  271. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  272. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  273. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  274. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  275. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  276. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  277. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  278. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  279. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  280. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  281. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  282. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  283. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  284. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +3 -2
  285. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -28
  286. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  287. package/package.json +3 -3
@@ -1,5 +1,4 @@
1
1
  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; }
2
-
3
2
  import "rxjs/add/operator/share";
4
3
  import "rxjs/add/observable/of";
5
4
  import { ConnectionStatus } from "botframework-directlinejs";
@@ -9,16 +8,12 @@ import { uuidv4 } from "@microsoft/omnichannel-chat-sdk";
9
8
  export default class MockAdapter {
10
9
  constructor() {
11
10
  _defineProperty(this, "activityObserver", void 0);
12
-
13
11
  _defineProperty(this, "activity$", void 0);
14
-
15
12
  _defineProperty(this, "connectionStatus$", new BehaviorSubject(ConnectionStatus.Uninitialized));
16
-
17
13
  this.activity$ = new Observable(observer => {
18
14
  this.activityObserver = observer;
19
15
  Promise.resolve().then(async () => {
20
16
  this.connectionStatus$.next(ConnectionStatus.Online);
21
-
22
17
  try {
23
18
  if (this.connectionStatus$) {
24
19
  this.connectionStatus$.next(ConnectionStatus.Online);
@@ -30,22 +25,20 @@ export default class MockAdapter {
30
25
  });
31
26
  }).share();
32
27
  }
33
-
34
28
  postActivity(activity) {
35
29
  if (activity) {
36
30
  var _activity$text;
37
-
38
31
  let modActivity;
39
32
  let typingActivity;
40
33
  const userId = "userId",
41
- botId = "botId";
42
-
34
+ botId = "botId";
43
35
  if ((_activity$text = activity.text) !== null && _activity$text !== void 0 && _activity$text.startsWith(":")) {
44
36
  var _this$activityObserve, _this$activityObserve2;
45
-
46
- modActivity = { ...activity,
37
+ modActivity = {
38
+ ...activity,
47
39
  id: uuidv4(),
48
- from: { ...activity.from,
40
+ from: {
41
+ ...activity.from,
49
42
  id: botId,
50
43
  name: "Bot",
51
44
  role: "bot"
@@ -62,14 +55,14 @@ export default class MockAdapter {
62
55
  type: "typing"
63
56
  };
64
57
  (_this$activityObserve = this.activityObserver) === null || _this$activityObserve === void 0 ? void 0 : _this$activityObserve.next(modActivity); // mock echo message
65
-
66
58
  (_this$activityObserve2 = this.activityObserver) === null || _this$activityObserve2 === void 0 ? void 0 : _this$activityObserve2.next(typingActivity); // mock typing
67
59
  } else {
68
60
  var _this$activityObserve3;
69
-
70
- modActivity = { ...activity,
61
+ modActivity = {
62
+ ...activity,
71
63
  id: uuidv4(),
72
- from: { ...activity.from,
64
+ from: {
65
+ ...activity.from,
73
66
  id: userId,
74
67
  name: "User",
75
68
  role: "user"
@@ -81,9 +74,7 @@ export default class MockAdapter {
81
74
 
82
75
  return Observable.of(activity.id || "");
83
76
  }
84
-
85
77
  end() {
86
78
  return;
87
79
  }
88
-
89
80
  }
@@ -1,53 +1,42 @@
1
1
  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; }
2
-
3
2
  import MockAdapter from "./mockadapter";
4
3
  export class MockChatSDK {
5
4
  constructor() {
6
5
  _defineProperty(this, "sleep", ms => new Promise(r => setTimeout(r, ms)));
7
-
8
6
  _defineProperty(this, "isMockModeOn", true);
9
7
  }
10
-
11
8
  async startChat() {
12
9
  await this.sleep(1000);
13
10
  }
14
-
15
11
  endChat() {
16
12
  return null;
17
13
  }
18
-
19
14
  getChatToken() {
20
15
  return null;
21
16
  }
22
-
23
17
  createChatAdapter() {
24
18
  return new MockAdapter();
25
- } // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
-
19
+ }
27
20
 
21
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
22
  getPreChatSurvey(parseToJson) {
29
23
  return "";
30
24
  }
31
-
32
25
  getConversationDetails() {
33
26
  return {};
34
27
  }
35
-
36
28
  getCurrentLiveChatContext() {
37
29
  return {
38
30
  chatToken: {},
39
31
  requestId: ""
40
32
  };
41
33
  }
42
-
43
34
  onNewMessage() {
44
35
  return null;
45
36
  }
46
-
47
37
  getChatReconnectContext() {
48
38
  return {
49
39
  reconnectId: "123"
50
40
  };
51
41
  }
52
-
53
42
  }
@@ -6,65 +6,51 @@ export const getUserAgent = () => {
6
6
  if (!userAgent) {
7
7
  userAgent = window.navigator.userAgent;
8
8
  }
9
-
10
9
  return userAgent;
11
10
  };
12
-
13
11
  const userAgentContainsString = searchString => {
14
12
  const userAgent = getUserAgent();
15
13
  return userAgent.indexOf(searchString) > -1;
16
14
  };
17
-
18
15
  const isEdge = () => {
19
16
  return userAgentContainsString(BrowserVendor.EDGE) || userAgentContainsString(BrowserVendor.EDGE_CHROMIUM);
20
17
  };
21
-
22
18
  export const isChromiumEdge = () => {
23
19
  return userAgentContainsString(BrowserVendor.EDGE_CHROMIUM) && !userAgentContainsString(BrowserVendor.EDGE);
24
20
  };
25
-
26
21
  const isOpera = () => {
27
22
  return userAgentContainsString("OPR/");
28
23
  };
29
-
30
24
  export const getBrowserName = () => {
31
25
  if (isOpera()) {
32
26
  return BrowserVendor.OPERA;
33
27
  }
34
-
35
28
  if (isEdge()) {
36
29
  return BrowserVendor.EDGE;
37
30
  }
38
-
39
31
  if (userAgentContainsString(BrowserVendor.CHROME)) {
40
32
  return BrowserVendor.CHROME;
41
33
  }
42
-
43
34
  if (userAgentContainsString(BrowserVendor.FIREFOX)) {
44
35
  return BrowserVendor.FIREFOX;
45
36
  }
46
-
47
37
  if (userAgentContainsString(BrowserVendor.SAFARI)) {
48
38
  return BrowserVendor.SAFARI;
49
39
  }
50
-
51
40
  return BrowserVendor.UNKNOWN;
52
41
  };
53
42
  export const getBrowserVersion = () => {
54
43
  let browserString = getBrowserName();
55
44
  const browserVersion = UNKNOWN_VERSION;
56
45
  let matches;
57
-
58
46
  if (browserString === BrowserVendor.SAFARI) {
59
47
  browserString = "Version";
60
- } // eslint-disable-next-line prefer-const
61
-
48
+ }
62
49
 
50
+ // eslint-disable-next-line prefer-const
63
51
  matches = getUserAgent().match(new RegExp(browserString + "/" + REGEX_VERSION));
64
-
65
52
  if (matches) {
66
53
  return matches[1];
67
54
  }
68
-
69
55
  return browserVersion;
70
56
  };
@@ -52,30 +52,28 @@ const FileAttachmentIconMap = {
52
52
  "zipx": ArchiveIcon,
53
53
  "7z": ArchiveIcon
54
54
  };
55
+
55
56
  /**
56
57
  * Get file attachment icon image depending on extension.
57
58
  *
58
59
  * @param extension File extension
59
60
  */
60
-
61
61
  export const getFileAttachmentIconData = extension => {
62
62
  const key = extension.startsWith(".") ? extension.slice(1) : extension || "";
63
63
  const icon = FileAttachmentIconMap[key.toLowerCase()] || BlankIcon;
64
64
  return icon;
65
- }; // Check if browser supports inline media playing for current media format
65
+ };
66
66
 
67
+ // Check if browser supports inline media playing for current media format
67
68
  export const isInlineMediaSupported = attachmentName => {
68
69
  switch (getBrowserName()) {
69
70
  case BrowserVendor.CHROME:
70
71
  case BrowserVendor.OPERA:
71
72
  return Constants.chromeSupportedInlineMediaRegex.test(attachmentName);
72
-
73
73
  case BrowserVendor.FIREFOX:
74
74
  return Constants.firefoxSupportedInlineMediaRegex.test(attachmentName);
75
-
76
75
  case BrowserVendor.EDGE:
77
76
  return isChromiumEdge() && Constants.chromeSupportedInlineMediaRegex.test(attachmentName);
78
-
79
77
  default:
80
78
  return false;
81
79
  }
@@ -1,18 +1,17 @@
1
1
  export const isMaskingforCustomer = maskingInfo => {
2
2
  var _maskingInfo$setting;
3
-
4
3
  // If the masking info (containing masking setting and masking rules) is missing or empty, return false.
5
4
  // If the masking rules are missing or empty, also return false.
6
5
  if (!maskingInfo || Object.keys(maskingInfo).length == 0 || !maskingInfo.dataMaskingRules || Object.keys(maskingInfo.dataMaskingRules).length == 0) {
7
6
  return false;
8
- } // If the masking rules are provided and;
9
- // If the masking setting is NOT null and masking for customer is NOT null, return the configuration
10
-
7
+ }
11
8
 
9
+ // If the masking rules are provided and;
10
+ // If the masking setting is NOT null and masking for customer is NOT null, return the configuration
12
11
  if ((_maskingInfo$setting = maskingInfo.setting) !== null && _maskingInfo$setting !== void 0 && _maskingInfo$setting.msdyn_maskforcustomer) {
13
12
  return maskingInfo.setting.msdyn_maskforcustomer;
14
- } // 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)
15
-
13
+ }
16
14
 
15
+ // 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)
17
16
  return true;
18
17
  };
@@ -1,5 +1,3 @@
1
1
  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; }
2
-
3
2
  export class BotMagicCodeStore {}
4
-
5
3
  _defineProperty(BotMagicCodeStore, "botOAuthSignInId", "");
@@ -1,5 +1,3 @@
1
1
  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; }
2
-
3
2
  export class WebChatStoreLoader {}
4
-
5
3
  _defineProperty(WebChatStoreLoader, "store", void 0);
@@ -1,5 +1,4 @@
1
1
  export let BrowserVendor;
2
-
3
2
  (function (BrowserVendor) {
4
3
  BrowserVendor["CHROME"] = "Chrome";
5
4
  BrowserVendor["FIREFOX"] = "Firefox";
@@ -1,5 +1,4 @@
1
1
  export let DirectLineActivityType;
2
-
3
2
  (function (DirectLineActivityType) {
4
3
  DirectLineActivityType["Message"] = "message";
5
4
  DirectLineActivityType["Typing"] = "typing";
@@ -1,5 +1,4 @@
1
1
  export let DirectLineSenderRole;
2
-
3
2
  (function (DirectLineSenderRole) {
4
3
  DirectLineSenderRole["User"] = "user";
5
4
  DirectLineSenderRole["Bot"] = "bot";
@@ -1,5 +1,4 @@
1
1
  export let MessageTypes;
2
-
3
2
  (function (MessageTypes) {
4
3
  MessageTypes["User"] = "UserMessage";
5
4
  MessageTypes["Swift"] = "SwiftCard";
@@ -1,5 +1,4 @@
1
1
  export let NotificationLevel;
2
-
3
2
  (function (NotificationLevel) {
4
3
  NotificationLevel["Success"] = "success";
5
4
  NotificationLevel["Info"] = "info";
@@ -1,5 +1,4 @@
1
1
  export let NotificationScenarios;
2
-
3
2
  (function (NotificationScenarios) {
4
3
  NotificationScenarios["Connection"] = "connection";
5
4
  NotificationScenarios["DownloadTranscriptError"] = "download transcript";
@@ -1,5 +1,4 @@
1
1
  export let SendStatus;
2
-
3
2
  (function (SendStatus) {
4
3
  SendStatus["Sending"] = "sending";
5
4
  SendStatus["SendFailed"] = "send failed";
@@ -1,5 +1,4 @@
1
1
  export let WebChatActionType;
2
-
3
2
  (function (WebChatActionType) {
4
3
  WebChatActionType["DIRECT_LINE_CONNECT_FULFILLED"] = "DIRECT_LINE/CONNECT_FULFILLED";
5
4
  WebChatActionType["DIRECT_LINE_CONNECT"] = "DIRECT_LINE/CONNECT";
@@ -1,15 +1,14 @@
1
1
  import { LogLevel, TelemetryEvent } from "../../../../../common/telemetry/TelemetryConstants";
2
- import { TelemetryHelper } from "../../../../../common/telemetry/TelemetryHelper"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ import { TelemetryHelper } from "../../../../../common/telemetry/TelemetryHelper";
3
3
 
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
5
  const FormatEgressTagsMiddleware = () => next => activity => {
5
6
  const activity_instance = JSON.parse(JSON.stringify(activity));
6
-
7
7
  if (activity_instance) {
8
8
  if (activity_instance.channelData && activity_instance.channelData.tags) {
9
9
  const {
10
10
  tags
11
11
  } = activity_instance.channelData;
12
-
13
12
  if (typeof tags === "string") {
14
13
  return next(activity);
15
14
  } else if (tags instanceof Array) {
@@ -28,8 +27,6 @@ const FormatEgressTagsMiddleware = () => next => activity => {
28
27
  }
29
28
  }
30
29
  }
31
-
32
30
  return next(activity_instance);
33
31
  };
34
-
35
32
  export default FormatEgressTagsMiddleware;
@@ -1,13 +1,11 @@
1
1
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
2
  const formatTagsIngressMiddleware = () => next => activity => {
3
3
  const activity_instance = JSON.parse(JSON.stringify(activity));
4
-
5
4
  if (activity_instance) {
6
5
  if (activity_instance.channelData && activity_instance.channelData.tags) {
7
6
  const {
8
7
  tags
9
8
  } = activity_instance.channelData;
10
-
11
9
  if (typeof tags === "string") {
12
10
  try {
13
11
  //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)
@@ -18,8 +16,6 @@ const formatTagsIngressMiddleware = () => next => activity => {
18
16
  }
19
17
  }
20
18
  }
21
-
22
19
  return next(activity_instance);
23
20
  };
24
-
25
21
  export default formatTagsIngressMiddleware;
@@ -6,6 +6,7 @@
6
6
  * 2. Changes the font size of user messages
7
7
  * 3. Decodes certain html characters that came through from chat services
8
8
  ******/
9
+
9
10
  import { LogLevel, TelemetryEvent } from "../../../../../common/telemetry/TelemetryConstants";
10
11
  import { Constants } from "../../../../../common/Constants";
11
12
  import { DirectLineActivityType } from "../../enums/DirectLineActivityType";
@@ -16,15 +17,15 @@ import { TelemetryHelper } from "../../../../../common/telemetry/TelemetryHelper
16
17
  import { defaultSystemMessageStyles } from "./defaultStyles/defaultSystemMessageStyles";
17
18
  import { defaultUserMessageStyles } from "./defaultStyles/defaultUserMessageStyles";
18
19
  import { escapeHtml } from "../../../../../common/utils";
19
- const loggedSystemMessages = new Array(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
+ const loggedSystemMessages = new Array();
20
21
 
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
23
  const handleSystemMessage = (next, args, card, systemMessageStyleProps) => {
22
24
  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;
23
-
24
- const systemMessageStyles = { ...defaultSystemMessageStyles,
25
+ const systemMessageStyles = {
26
+ ...defaultSystemMessageStyles,
25
27
  ...systemMessageStyleProps
26
28
  };
27
-
28
29
  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.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) {
29
30
  TelemetryHelper.logActionEvent(LogLevel.INFO, {
30
31
  Event: TelemetryEvent.AverageWaitTimeMessageRecieved,
@@ -32,7 +33,6 @@ const handleSystemMessage = (next, args, card, systemMessageStyleProps) => {
32
33
  });
33
34
  loggedSystemMessages.push(card.activity.channelData.clientmessageid);
34
35
  }
35
-
36
36
  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.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) {
37
37
  TelemetryHelper.logActionEvent(LogLevel.INFO, {
38
38
  Event: TelemetryEvent.QueuePositionMessageRecieved,
@@ -40,57 +40,49 @@ const handleSystemMessage = (next, args, card, systemMessageStyleProps) => {
40
40
  });
41
41
  loggedSystemMessages.push(card.activity.channelData.clientmessageid);
42
42
  }
43
-
44
43
  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)) {
45
44
  return () => false;
46
- } // eslint-disable-next-line react/display-name, @typescript-eslint/no-explicit-any
47
-
45
+ }
48
46
 
47
+ // eslint-disable-next-line react/display-name, @typescript-eslint/no-explicit-any
49
48
  return () => /*#__PURE__*/React.createElement("div", {
50
49
  key: card.activity.id,
51
50
  style: systemMessageStyles,
52
51
  "aria-hidden": "true"
53
52
  }, card.activity.text);
54
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
-
53
+ };
56
54
 
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
56
  const isTagIncluded = (card, tag) => {
58
57
  return isDataTagsPresent(card) && card.activity.channelData.tags.includes(tag);
59
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
-
58
+ };
61
59
 
60
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
61
  const isDataTagsPresent = card => {
63
62
  return card && card.activity && card.activity.channelData && card.activity.channelData.tags && card.activity.channelData.tags.length > 0;
64
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
-
63
+ };
66
64
 
65
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
66
  export const createActivityMiddleware = (systemMessageStyleProps, userMessageStyleProps) => () => next => function () {
68
67
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
69
68
  args[_key] = arguments[_key];
70
69
  }
71
-
72
70
  const [card] = args;
73
-
74
71
  if (card.activity) {
75
72
  var _card$activity$from;
76
-
77
73
  if (((_card$activity$from = card.activity.from) === null || _card$activity$from === void 0 ? void 0 : _card$activity$from.role) === DirectLineSenderRole.Channel) {
78
74
  var _card$activity$channe3;
79
-
80
75
  if (((_card$activity$channe3 = card.activity.channelData) === null || _card$activity$channe3 === void 0 ? void 0 : _card$activity$channe3.type) === MessageTypes.Thread) {
81
76
  TelemetryHelper.logActionEvent(LogLevel.INFO, {
82
77
  Event: TelemetryEvent.IC3ThreadUpdateEventReceived,
83
78
  Description: "IC3 ThreadUpdateEvent Received"
84
79
  });
85
80
  }
86
-
87
81
  return () => false;
88
82
  }
89
-
90
83
  if (isTagIncluded(card, Constants.hiddenTag)) {
91
84
  return () => false;
92
85
  }
93
-
94
86
  if (isTagIncluded(card, Constants.systemMessageTag)) {
95
87
  return handleSystemMessage(next, args, card, systemMessageStyleProps);
96
88
  } else if (card.activity.text && card.activity.type === DirectLineActivityType.Message) {
@@ -98,11 +90,11 @@ export const createActivityMiddleware = (systemMessageStyleProps, userMessageSty
98
90
  card.activity.text = escapeHtml(card.activity.text);
99
91
  card.activity.channelData.isHtmlEncoded = true;
100
92
  }
101
-
102
- const userMessageStyles = { ...defaultUserMessageStyles,
93
+ const userMessageStyles = {
94
+ ...defaultUserMessageStyles,
103
95
  ...userMessageStyleProps
104
- }; // eslint-disable-next-line react/display-name, @typescript-eslint/no-explicit-any
105
-
96
+ };
97
+ // eslint-disable-next-line react/display-name, @typescript-eslint/no-explicit-any
106
98
  return function () {
107
99
  return /*#__PURE__*/React.createElement("div", {
108
100
  className: card.activity.from.role === DirectLineSenderRole.User ? Constants.sentMessageClassName : Constants.receivedMessageClassName,
@@ -112,6 +104,5 @@ export const createActivityMiddleware = (systemMessageStyleProps, userMessageSty
112
104
  };
113
105
  }
114
106
  }
115
-
116
107
  return next(...args);
117
108
  };
@@ -3,8 +3,9 @@ import { DeliveredTimestamp } from "./timestamps/DeliveredTimestamp";
3
3
  import { NotDeliveredTimestamp } from "./timestamps/NotDeliveredTimestamp";
4
4
  import React from "react";
5
5
  import { SendStatus } from "../../enums/SendStatus";
6
- import { SendingTimestamp } from "./timestamps/SendingTimestamp"; // eslint-disable-next-line @typescript-eslint/no-explicit-any, react/display-name, @typescript-eslint/no-unused-vars
6
+ import { SendingTimestamp } from "./timestamps/SendingTimestamp";
7
7
 
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, react/display-name, @typescript-eslint/no-unused-vars
8
9
  export const activityStatusMiddleware = () => next => args => {
9
10
  const {
10
11
  activity: {
@@ -21,11 +22,10 @@ export const activityStatusMiddleware = () => next => args => {
21
22
  sameTimestampGroup
22
23
  } = args;
23
24
  const current_tags = tags,
24
- current_name = name,
25
- current_role = role,
26
- current_timestamp = timestamp;
25
+ current_name = name,
26
+ current_role = role,
27
+ current_timestamp = timestamp;
27
28
  let sameTimestampGroupTemp = sameTimestampGroup;
28
-
29
29
  if (args[WebChatMiddlewareConstants.nextVisibleActivity]) {
30
30
  const {
31
31
  nextVisibleActivity: {
@@ -34,18 +34,16 @@ export const activityStatusMiddleware = () => next => args => {
34
34
  },
35
35
  timestamp
36
36
  }
37
- } = args; // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
-
37
+ } = args;
38
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
39
39
  const next_name = name,
40
- next_timestamp = timestamp;
40
+ next_timestamp = timestamp;
41
41
  const timestampCurrentInMillisecond = Date.parse(current_timestamp);
42
42
  const timestampNextInMillisecond = Date.parse(next_timestamp);
43
-
44
43
  if (current_name !== next_name || timestampNextInMillisecond - timestampCurrentInMillisecond > WebChatMiddlewareConstants.timeBetweenTimestampGroups) {
45
44
  sameTimestampGroupTemp = false;
46
45
  }
47
46
  }
48
-
49
47
  if (current_tags && current_tags.includes(Constants.systemMessageTag) || sameTimestampGroupTemp && sendState === SendStatus.Sent) {
50
48
  return;
51
49
  } else {
@@ -61,6 +59,8 @@ export const activityStatusMiddleware = () => next => args => {
61
59
  args: args,
62
60
  role: current_role,
63
61
  name: current_name
64
- }));
62
+ }))
63
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
64
+ ;
65
65
  }
66
66
  };