@microsoft/omnichannel-chat-widget 0.1.0-main.edd8c2a → 0.1.0-main.f4c21f0

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 (369) hide show
  1. package/README.md +259 -0
  2. package/lib/cjs/assets/Audios.js +8 -0
  3. package/lib/cjs/assets/Icons.js +30 -0
  4. package/lib/cjs/common/Constants.js +54 -151
  5. package/lib/cjs/common/KeyCodes.js +3 -4
  6. package/lib/cjs/common/contextDataStore/DataStoreManager.js +12 -0
  7. package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
  8. package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -0
  9. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +111 -0
  10. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  11. package/lib/cjs/common/telemetry/TelemetryConstants.js +88 -22
  12. package/lib/cjs/common/telemetry/TelemetryHelper.js +39 -59
  13. package/lib/cjs/common/telemetry/TelemetryManager.js +25 -35
  14. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  15. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  16. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +59 -32
  17. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +9 -14
  18. package/lib/cjs/common/utils.js +80 -80
  19. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
  20. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  21. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  22. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +15 -86
  23. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  24. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +11 -39
  25. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  26. package/lib/cjs/components/footerstateful/FooterStateful.js +14 -46
  27. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  28. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  29. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  30. package/lib/cjs/components/headerstateful/HeaderStateful.js +26 -35
  31. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  32. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +39 -0
  33. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +20 -0
  34. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  35. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
  36. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +64 -0
  37. package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -0
  38. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  39. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  40. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  41. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  42. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -44
  43. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  44. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +146 -68
  45. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +11 -0
  46. package/lib/cjs/components/livechatwidget/common/endChat.js +168 -54
  47. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  48. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +10 -14
  49. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  50. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +51 -54
  51. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +98 -66
  52. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +13 -22
  53. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +18 -29
  54. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  55. package/lib/cjs/components/livechatwidget/common/startChat.js +310 -67
  56. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -11
  57. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  58. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  59. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +370 -160
  60. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +20 -20
  61. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  62. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +9 -14
  63. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
  64. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  65. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  66. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  67. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  68. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  69. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +27 -43
  70. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  71. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +27 -35
  72. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  73. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  74. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  75. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  76. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  77. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  78. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
  79. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +9 -16
  80. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  81. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +56 -88
  82. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  83. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  84. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +12 -0
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +33 -80
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +27 -61
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  121. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  122. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  123. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  124. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  125. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  126. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  127. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  128. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  129. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  130. package/lib/cjs/contexts/common/ConversationState.js +4 -3
  131. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -23
  132. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +21 -12
  133. package/lib/cjs/contexts/createReducer.js +181 -101
  134. package/lib/cjs/controller/componentController.js +5 -34
  135. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  136. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  137. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  138. package/lib/cjs/index.js +0 -5
  139. package/lib/cjs/plugins/newMessageEventHandler.js +82 -0
  140. package/lib/esm/assets/Audios.js +1 -0
  141. package/lib/esm/assets/Icons.js +12 -0
  142. package/lib/esm/common/Constants.js +49 -139
  143. package/lib/esm/common/KeyCodes.js +3 -3
  144. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  145. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  146. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  147. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +104 -0
  148. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  149. package/lib/esm/common/telemetry/TelemetryConstants.js +87 -17
  150. package/lib/esm/common/telemetry/TelemetryHelper.js +40 -49
  151. package/lib/esm/common/telemetry/TelemetryManager.js +24 -27
  152. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  153. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  154. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +62 -23
  155. package/lib/esm/common/telemetry/loggers/consoleLogger.js +9 -10
  156. package/lib/esm/common/utils.js +73 -45
  157. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  158. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  159. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  160. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +16 -62
  161. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +11 -18
  162. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  163. package/lib/esm/components/footerstateful/FooterStateful.js +15 -26
  164. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  165. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  166. package/lib/esm/components/headerstateful/HeaderStateful.js +27 -21
  167. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  168. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
  169. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  170. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  171. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  172. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  173. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
  174. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  175. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  176. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  177. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  178. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  179. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  180. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +148 -58
  181. package/lib/esm/components/livechatwidget/common/disposeTelemetryLoggers.js +4 -0
  182. package/lib/esm/components/livechatwidget/common/endChat.js +171 -42
  183. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  184. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +12 -11
  185. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  186. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +53 -26
  187. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +98 -58
  188. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +13 -11
  189. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +19 -21
  190. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  191. package/lib/esm/components/livechatwidget/common/startChat.js +313 -52
  192. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  193. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  194. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  195. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +371 -114
  196. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +20 -8
  197. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  198. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +9 -4
  199. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  200. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  201. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  202. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  203. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  204. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  205. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +30 -28
  206. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  207. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +30 -14
  208. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  209. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  210. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  211. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  212. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  213. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  214. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  215. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +9 -12
  216. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  217. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +7 -17
  218. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  219. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  220. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +34 -66
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +27 -40
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  250. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  251. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  252. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  253. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
  254. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  255. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  256. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  257. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  258. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  259. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  260. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  261. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  262. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  263. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  264. package/lib/esm/contexts/ChatContextStore.js +2 -1
  265. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  266. package/lib/esm/contexts/common/ConversationState.js +4 -3
  267. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -23
  268. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +21 -8
  269. package/lib/esm/contexts/createReducer.js +181 -97
  270. package/lib/esm/controller/componentController.js +6 -5
  271. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  272. package/lib/esm/hooks/useChatContextStore.js +0 -4
  273. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  274. package/lib/esm/plugins/newMessageEventHandler.js +75 -0
  275. package/lib/types/assets/Audios.d.ts +1 -0
  276. package/lib/types/assets/Icons.d.ts +12 -0
  277. package/lib/types/common/Constants.d.ts +41 -1
  278. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  279. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  280. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  281. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  282. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  283. package/lib/types/common/telemetry/TelemetryConstants.d.ts +62 -4
  284. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  285. package/lib/types/common/telemetry/TelemetryManager.d.ts +1 -0
  286. package/lib/types/common/telemetry/definitions/Contracts.d.ts +7 -4
  287. package/lib/types/common/telemetry/definitions/Payload.d.ts +16 -9
  288. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +1 -0
  289. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +2 -0
  290. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +16 -0
  291. package/lib/types/common/utils.d.ts +8 -1
  292. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  293. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  294. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  295. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  296. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  297. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  298. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  299. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  300. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  301. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  302. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  303. package/lib/types/components/livechatwidget/common/disposeTelemetryLoggers.d.ts +1 -0
  304. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  305. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -4
  306. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  307. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  308. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  309. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  310. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  311. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +4 -1
  312. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +8 -3
  313. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  314. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  315. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  316. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  317. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  318. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  319. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  320. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
  321. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  322. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  323. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  324. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  325. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  326. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  327. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  328. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  329. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  330. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  331. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  332. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  333. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  334. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  335. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  336. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  337. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  338. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  339. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  340. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +8 -3
  341. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -22
  342. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  343. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  344. package/package.json +14 -13
  345. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  346. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  347. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  348. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  349. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  350. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  351. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  352. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  353. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  354. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  355. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  356. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  357. package/lib/esm/assets/assets.d.js +0 -0
  358. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  359. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  360. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  361. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  362. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  363. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  364. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  365. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  366. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  367. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  368. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  369. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -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;
@@ -4,53 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _Constants = require("../../../../../common/Constants");
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _FileAttachmentIconManager = require("../../../common/utils/FileAttachmentIconManager");
13
-
10
+ var _TelemetryConstants = require("../../../../../common/telemetry/TelemetryConstants");
14
11
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
15
-
16
12
  var _WebChatActionType = require("../../enums/WebChatActionType");
17
-
18
13
  var _defaultAtttachmentAdaptiveCardStyles = require("./defaultStyles/defaultAtttachmentAdaptiveCardStyles");
19
-
20
14
  var _defaultAttachmentContentStyles = require("./defaultStyles/defaultAttachmentContentStyles");
21
-
22
15
  var _defaultAttachmentDividerStyles = require("./defaultStyles/defaultAttachmentDividerStyles");
23
-
24
16
  var _defaultAttachmentDownloadIconStyles = require("./defaultStyles/defaultAttachmentDownloadIconStyles");
25
-
26
17
  var _defaultAttachmentFileNameStyles = require("./defaultStyles/defaultAttachmentFileNameStyles");
27
-
28
18
  var _defaultAtttachmentIconStyles = require("./defaultStyles/defaultAtttachmentIconStyles");
29
-
30
19
  var _defaultAttachmentProps = require("../../../common/defaultProps/defaultAttachmentProps");
31
-
32
20
  var _defaultAttachmentSizeStyles = require("./defaultStyles/defaultAttachmentSizeStyles");
33
-
34
21
  var _defaultAtttachmentStyles = require("./defaultStyles/defaultAtttachmentStyles");
35
-
36
22
  var _ = require("../../../../..");
37
-
38
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
-
40
24
  /* eslint-disable @typescript-eslint/no-explicit-any */
41
-
42
25
  /******
43
26
  * AttachmentMiddleware
44
27
  *
45
28
  * Handles attachment downloading.
46
29
  ******/
30
+
47
31
  const AttachmentContent = props => {
48
32
  return /*#__PURE__*/_react.default.createElement("div", {
49
33
  id: props.id,
50
34
  style: props.style
51
35
  }, props.children);
52
36
  };
53
-
54
37
  const AttachmentIcon = props => {
55
38
  return /*#__PURE__*/_react.default.createElement("div", {
56
39
  id: props.id,
@@ -59,10 +42,8 @@ const AttachmentIcon = props => {
59
42
  src: props.src ?? (0, _FileAttachmentIconManager.getFileAttachmentIconData)("txt")
60
43
  }));
61
44
  };
62
-
63
45
  const Attachment = props => {
64
46
  var _state$domainStates$r, _state$domainStates$r2, _state$domainStates$r3, _state$domainStates$r4, _state$domainStates$r5, _state$domainStates$r6, _state$domainStates$r7, _state$domainStates$r8, _state$domainStates$r9;
65
-
66
47
  const {
67
48
  iconData,
68
49
  imageCard,
@@ -71,34 +52,41 @@ const Attachment = props => {
71
52
  } = props;
72
53
  const [state] = (0, _.useChatContextStore)();
73
54
  const attachmentId = ((_state$domainStates$r = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r === void 0 ? void 0 : (_state$domainStates$r2 = _state$domainStates$r.attachmentProps) === null || _state$domainStates$r2 === void 0 ? void 0 : _state$domainStates$r2.webChatAttachmentId) ?? _defaultAttachmentProps.defaultAttachmentProps.webChatAttachmentId;
74
- const attachmentDividerStyles = { ..._defaultAttachmentDividerStyles.defaultAttachmentDividerStyles,
55
+ const attachmentDividerStyles = {
56
+ ..._defaultAttachmentDividerStyles.defaultAttachmentDividerStyles,
75
57
  ...((_state$domainStates$r3 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r3 === void 0 ? void 0 : _state$domainStates$r3.attachmentDividerStyles)
76
58
  };
77
- const attachmentIconStyles = { ..._defaultAtttachmentIconStyles.defaultAttachmentIconStyles,
59
+ const attachmentIconStyles = {
60
+ ..._defaultAtttachmentIconStyles.defaultAttachmentIconStyles,
78
61
  ...((_state$domainStates$r4 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r4 === void 0 ? void 0 : _state$domainStates$r4.attachmentIconStyles)
79
62
  };
80
- const attachmentStyles = { ..._defaultAtttachmentStyles.defaultAttachmentStyles,
63
+ const attachmentStyles = {
64
+ ..._defaultAtttachmentStyles.defaultAttachmentStyles,
81
65
  ...((_state$domainStates$r5 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r5 === void 0 ? void 0 : _state$domainStates$r5.attachmentStyles)
82
66
  };
83
- const attachmentSizeStylesString = Object.entries({ ..._defaultAttachmentSizeStyles.defaultAttachmentSizeStyles,
67
+ const attachmentSizeStylesString = Object.entries({
68
+ ..._defaultAttachmentSizeStyles.defaultAttachmentSizeStyles,
84
69
  ...((_state$domainStates$r6 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r6 === void 0 ? void 0 : _state$domainStates$r6.attachmentSizeStyles)
85
70
  }).map(_ref => {
86
71
  let [k, v] = _ref;
87
72
  return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
88
73
  }).join(";");
89
- const attachmentContentStylesString = Object.entries({ ..._defaultAttachmentContentStyles.defaultAttachmentContentStyles,
74
+ const attachmentContentStylesString = Object.entries({
75
+ ..._defaultAttachmentContentStyles.defaultAttachmentContentStyles,
90
76
  ...((_state$domainStates$r7 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r7 === void 0 ? void 0 : _state$domainStates$r7.attachmentContentStyles)
91
77
  }).map(_ref2 => {
92
78
  let [k, v] = _ref2;
93
79
  return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
94
80
  }).join(";");
95
- const attachmentFileNameStylesString = Object.entries({ ..._defaultAttachmentFileNameStyles.defaultAttachmentFileNameStyles,
81
+ const attachmentFileNameStylesString = Object.entries({
82
+ ..._defaultAttachmentFileNameStyles.defaultAttachmentFileNameStyles,
96
83
  ...((_state$domainStates$r8 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r8 === void 0 ? void 0 : _state$domainStates$r8.attachmentFileNameStyles)
97
84
  }).map(_ref3 => {
98
85
  let [k, v] = _ref3;
99
86
  return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
100
87
  }).join(";");
101
- const attachmentDownloadIconStylesString = Object.entries({ ..._defaultAttachmentDownloadIconStyles.defaultAttachmentDownloadIconStyles,
88
+ const attachmentDownloadIconStylesString = Object.entries({
89
+ ..._defaultAttachmentDownloadIconStyles.defaultAttachmentDownloadIconStyles,
102
90
  ...((_state$domainStates$r9 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r9 === void 0 ? void 0 : _state$domainStates$r9.attachmentDownloadIconStyles)
103
91
  }).map(_ref4 => {
104
92
  let [k, v] = _ref4;
@@ -124,13 +112,12 @@ const Attachment = props => {
124
112
  style: attachmentIconStyles
125
113
  }), textCard && renderer(textCard))));
126
114
  };
115
+
127
116
  /**
128
117
  * Patch card with different attachment data.
129
118
  * @param card
130
119
  * @param newAttachment
131
120
  */
132
-
133
-
134
121
  const patchAttachment = (card, newAttachment) => {
135
122
  const {
136
123
  activity,
@@ -147,7 +134,6 @@ const patchAttachment = (card, newAttachment) => {
147
134
  attachment: patchedAttachment
148
135
  };
149
136
  };
150
-
151
137
  const genPreviewCardWithAttachment = (card, iconData, next) => {
152
138
  const patchedTextCard = patchAttachment(card, {
153
139
  contentType: _Constants.MimeTypes.UnknownFileType,
@@ -160,35 +146,30 @@ const genPreviewCardWithAttachment = (card, iconData, next) => {
160
146
  renderer: next
161
147
  });
162
148
  };
163
-
164
149
  const createAttachmentMiddleware = enableInlinePlaying => {
165
150
  // eslint-disable-next-line react/display-name
166
151
  const attachmentMiddleware = () => next => function () {
167
152
  var _state$domainStates$r10, _state$domainStates$r11, _state$domainStates$r12, _card$activity$channe;
168
-
169
153
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
170
154
  args[_key] = arguments[_key];
171
155
  }
172
-
173
156
  const [card] = args;
174
-
175
157
  if (!(card !== null && card !== void 0 && card.activity)) {
176
158
  return next(...args);
177
159
  }
178
-
179
160
  const {
180
161
  activity: {
181
162
  attachments
182
163
  },
183
164
  attachment
184
- } = card; // No attachment
185
-
165
+ } = card;
166
+ // No attachment
186
167
  if (!attachments || !attachments.length || !attachment) {
187
168
  return next(...args);
188
- } // Check for Adaptive cards
189
- // eslint-disable-next-line prefer-const
190
-
169
+ }
191
170
 
171
+ // Check for Adaptive cards
172
+ // eslint-disable-next-line prefer-const
192
173
  let {
193
174
  content,
194
175
  contentType
@@ -201,7 +182,6 @@ const createAttachmentMiddleware = enableInlinePlaying => {
201
182
  } = content || {
202
183
  type: ""
203
184
  };
204
-
205
185
  if (!type && content && _Constants.Constants.supportedAdaptiveCardContentTypes.indexOf(contentType) >= 0) {
206
186
  try {
207
187
  content = JSON.parse(content);
@@ -209,9 +189,8 @@ const createAttachmentMiddleware = enableInlinePlaying => {
209
189
  card.attachment.content = content;
210
190
  } catch (e) {
211
191
  const errorData = "Unable to parse the adaptive card format";
212
-
213
192
  _omnichannelChatComponents.BroadcastService.postMessage({
214
- eventName: "InvalidAdaptiveCardFormat",
193
+ eventName: _TelemetryConstants.BroadcastEvent.InvalidAdaptiveCardFormat,
215
194
  payload: {
216
195
  Message: errorData,
217
196
  ExceptionDetails: e
@@ -219,45 +198,35 @@ const createAttachmentMiddleware = enableInlinePlaying => {
219
198
  });
220
199
  }
221
200
  }
222
-
223
201
  const [state] = (0, _.useChatContextStore)();
224
202
  const attachmentId = ((_state$domainStates$r10 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r10 === void 0 ? void 0 : (_state$domainStates$r11 = _state$domainStates$r10.attachmentProps) === null || _state$domainStates$r11 === void 0 ? void 0 : _state$domainStates$r11.adaptiveCardAttachmentId) ?? _defaultAttachmentProps.defaultAttachmentProps.adaptiveCardAttachmentId;
225
- const atttachmentAdaptiveCardStyles = { ..._defaultAtttachmentAdaptiveCardStyles.defaultAttachmentAdaptiveCardStyles,
203
+ const atttachmentAdaptiveCardStyles = {
204
+ ..._defaultAtttachmentAdaptiveCardStyles.defaultAttachmentAdaptiveCardStyles,
226
205
  ...((_state$domainStates$r12 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r12 === void 0 ? void 0 : _state$domainStates$r12.attachmentAdaptiveCardStyles)
227
206
  };
228
-
229
207
  if (type === _Constants.WebChatMiddlewareConstants.adaptiveCard || _Constants.Constants.supportedAdaptiveCardContentTypes.indexOf(contentType) >= 0) {
230
208
  return /*#__PURE__*/_react.default.createElement("div", {
231
209
  id: attachmentId,
232
210
  style: atttachmentAdaptiveCardStyles
233
211
  }, next(...args));
234
212
  }
235
-
236
213
  if ((_card$activity$channe = card.activity.channelData) !== null && _card$activity$channe !== void 0 && _card$activity$channe.middlewareData) {
237
214
  attachment.contentUrl = card.activity.channelData.middlewareData[attachment.name];
238
215
  } else if (attachment !== null && attachment !== void 0 && attachment.tempContentUrl) {
239
216
  attachment.contentUrl = attachment.tempContentUrl;
240
217
  }
241
-
242
218
  const fileExtension = attachment.name.substring(attachment.name.lastIndexOf(".") + 1, attachment.name.length) || attachment.name;
243
-
244
219
  const imageExtension = _Constants.Constants.imageRegex.test(attachment.name);
245
-
246
220
  const audioExtension = _Constants.Constants.audioMediaRegex.test(attachment.name);
247
-
248
221
  const videoExtension = _Constants.Constants.videoMediaRegex.test(attachment.name);
249
-
250
222
  const iconData = (0, _FileAttachmentIconManager.getFileAttachmentIconData)(fileExtension);
251
-
252
223
  if (imageExtension) {
253
224
  return genPreviewCardWithAttachment(card, iconData, next);
254
225
  }
255
-
256
226
  if (audioExtension || videoExtension) {
257
227
  if (enableInlinePlaying && card.activity.actionType && card.activity.actionType === _WebChatActionType.WebChatActionType.DIRECT_LINE_INCOMING_ACTIVITY && (0, _FileAttachmentIconManager.isInlineMediaSupported)(attachment.name)) {
258
228
  return genPreviewCardWithAttachment(card, iconData, next);
259
229
  }
260
-
261
230
  return /*#__PURE__*/_react.default.createElement(Attachment, {
262
231
  iconData: iconData,
263
232
  textCard: patchAttachment(card, {
@@ -267,8 +236,8 @@ const createAttachmentMiddleware = enableInlinePlaying => {
267
236
  renderer: next
268
237
  });
269
238
  }
270
-
271
- if (fileExtension === "txt") {
239
+ const isUnknownImageObject = contentType.toLowerCase().includes("image") && !imageExtension;
240
+ if (fileExtension === "txt" || isUnknownImageObject) {
272
241
  return /*#__PURE__*/_react.default.createElement(Attachment, {
273
242
  iconData: iconData,
274
243
  textCard: patchAttachment(card, {
@@ -278,16 +247,13 @@ const createAttachmentMiddleware = enableInlinePlaying => {
278
247
  renderer: next
279
248
  });
280
249
  }
281
-
282
250
  return /*#__PURE__*/_react.default.createElement(Attachment, {
283
251
  iconData: iconData,
284
252
  textCard: card,
285
253
  renderer: next
286
254
  });
287
255
  };
288
-
289
256
  return attachmentMiddleware;
290
257
  };
291
-
292
258
  var _default = createAttachmentMiddleware;
293
259
  exports.default = _default;
@@ -4,31 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createAvatarMiddleware = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _Constants = require("../../../../../common/Constants");
11
-
12
9
  var _defaultAvatarStyles = require("./defaultStyles/defaultAvatarStyles");
13
-
14
10
  var _defaultAvatarTextStyles = require("./defaultStyles/defaultAvatarTextStyles");
15
-
16
11
  var _utils = require("../../../../../common/utils");
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  /******
21
14
  * AvatarMiddleware
22
15
  *
23
16
  * This middleware handles the avatar icon for each non-system message. It does the following processing:
24
17
  * 1. Renders the first two letters of the sender as the profile pic
25
18
  ******/
19
+
26
20
  // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
27
21
  const createAvatarMiddleware = (avatarStyleProps, avatarTextStyleProps) => () => next => function () {
28
22
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29
23
  args[_key] = arguments[_key];
30
24
  }
31
-
32
25
  const [params] = args;
33
26
  const {
34
27
  activity: {
@@ -41,23 +34,22 @@ const createAvatarMiddleware = (avatarStyleProps, avatarTextStyleProps) => () =>
41
34
  },
42
35
  fromUser
43
36
  } = params;
44
-
45
37
  if (fromUser !== false || tags && tags.includes(_Constants.Constants.systemMessageTag)) {
46
38
  return false;
47
39
  }
48
-
49
- const avatarStyles = { ..._defaultAvatarStyles.defaultAvatarStyles,
40
+ const avatarStyles = {
41
+ ..._defaultAvatarStyles.defaultAvatarStyles,
50
42
  ...avatarStyleProps
51
43
  };
52
- const avatarTextStyles = { ..._defaultAvatarTextStyles.defaultAvatarTextStyles,
44
+ const avatarTextStyles = {
45
+ ..._defaultAvatarTextStyles.defaultAvatarTextStyles,
53
46
  ...avatarTextStyleProps
54
- }; // eslint-disable-next-line react/display-name
55
-
47
+ };
48
+ // eslint-disable-next-line react/display-name
56
49
  return () => /*#__PURE__*/_react.default.createElement("div", {
57
50
  style: avatarStyles
58
51
  }, /*#__PURE__*/_react.default.createElement("p", {
59
52
  style: avatarTextStyles
60
53
  }, " ", (0, _utils.getIconText)(name), " "));
61
54
  };
62
-
63
55
  exports.createAvatarMiddleware = createAvatarMiddleware;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createCardActionMiddleware = void 0;
7
+ var _BotMagicCodeStore = require("../../BotMagicCodeStore");
8
+ var CardActionType;
9
+ (function (CardActionType) {
10
+ CardActionType["OpenUrl"] = "openUrl";
11
+ CardActionType["SignIn"] = "signin";
12
+ })(CardActionType || (CardActionType = {}));
13
+ const validCardActionTypes = [CardActionType.OpenUrl, CardActionType.SignIn];
14
+ const botOauthUrlRegex = /[\S]+.botframework.com\/api\/oauth\/signin\?signin=([\S]+)/;
15
+ const createCardActionMiddleware = botMagicCodeConfig => {
16
+ const cardActionMiddleware = () => next => function () {
17
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18
+ args[_key] = arguments[_key];
19
+ }
20
+ // eslint-disable-line @typescript-eslint/no-explicit-any
21
+ const [card] = args;
22
+ if (card.cardAction && validCardActionTypes.indexOf(card.cardAction.type) >= 0 && card.cardAction.value) {
23
+ // Override signin url only if fwdUrl is valid & feature is enabled
24
+ if ((botMagicCodeConfig === null || botMagicCodeConfig === void 0 ? void 0 : botMagicCodeConfig.disabled) === true && botMagicCodeConfig !== null && botMagicCodeConfig !== void 0 && botMagicCodeConfig.fwdUrl) {
25
+ const baseUrl = window.location.origin;
26
+ const result = botOauthUrlRegex.exec(card.cardAction.value);
27
+ if (result) {
28
+ _BotMagicCodeStore.BotMagicCodeStore.botOAuthSignInId = `${result[1]}`;
29
+ }
30
+
31
+ // fwdUrl must be on the same domain as the chat widget
32
+ if (botMagicCodeConfig !== null && botMagicCodeConfig !== void 0 && botMagicCodeConfig.fwdUrl.startsWith(baseUrl)) {
33
+ card.cardAction.value += `&fwdUrl=${botMagicCodeConfig.fwdUrl}`;
34
+ }
35
+ }
36
+ }
37
+ return next(...args);
38
+ };
39
+ return cardActionMiddleware;
40
+ };
41
+ exports.createCardActionMiddleware = createCardActionMiddleware;