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

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 (308) hide show
  1. package/README.md +35 -11
  2. package/lib/cjs/common/Constants.js +31 -150
  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 +79 -24
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +26 -54
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +14 -34
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  13. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
  14. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  15. package/lib/cjs/common/utils.js +80 -80
  16. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
  17. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  18. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +12 -70
  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 +12 -44
  23. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  24. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  26. package/lib/cjs/components/headerstateful/HeaderStateful.js +23 -34
  27. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  28. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
  29. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
  32. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
  33. package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
  34. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  35. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  36. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  37. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  38. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -44
  39. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +73 -52
  40. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  41. package/lib/cjs/components/livechatwidget/common/endChat.js +127 -61
  42. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  43. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +8 -17
  44. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  45. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +58 -54
  46. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +131 -56
  47. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +9 -33
  48. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +3 -15
  49. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  50. package/lib/cjs/components/livechatwidget/common/startChat.js +157 -77
  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/livechatwidgetstateful/LiveChatWidgetStateful.js +287 -139
  54. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  55. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  56. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
  57. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  58. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  59. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  60. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  61. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  62. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
  63. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -35
  64. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  65. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  66. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  67. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  68. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  69. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  70. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -15
  71. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  72. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  73. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  74. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  75. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +33 -80
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -60
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -19
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  118. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  119. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  120. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  121. package/lib/cjs/contexts/common/ConversationState.js +4 -3
  122. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +11 -9
  123. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +14 -10
  124. package/lib/cjs/contexts/createReducer.js +150 -107
  125. package/lib/cjs/controller/componentController.js +5 -34
  126. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  127. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  128. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  129. package/lib/cjs/index.js +0 -5
  130. package/lib/cjs/plugins/newMessageEventHandler.js +78 -0
  131. package/lib/esm/common/Constants.js +28 -138
  132. package/lib/esm/common/KeyCodes.js +0 -2
  133. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  134. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  135. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  136. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  137. package/lib/esm/common/telemetry/TelemetryConstants.js +78 -19
  138. package/lib/esm/common/telemetry/TelemetryHelper.js +27 -44
  139. package/lib/esm/common/telemetry/TelemetryManager.js +14 -23
  140. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  141. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  142. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
  143. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  144. package/lib/esm/common/utils.js +73 -45
  145. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  146. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  147. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +13 -46
  148. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  149. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  150. package/lib/esm/components/footerstateful/FooterStateful.js +14 -25
  151. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  152. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  153. package/lib/esm/components/headerstateful/HeaderStateful.js +24 -20
  154. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  155. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  156. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  157. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  158. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  159. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  160. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  161. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  162. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  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 +38 -37
  166. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +75 -40
  167. package/lib/esm/components/livechatwidget/common/endChat.js +131 -50
  168. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  169. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +10 -12
  170. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  171. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +60 -26
  172. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +129 -50
  173. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +9 -23
  174. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -6
  175. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  176. package/lib/esm/components/livechatwidget/common/startChat.js +161 -61
  177. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  178. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +293 -94
  179. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  180. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  181. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  182. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  183. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  184. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  185. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  186. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  187. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
  188. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +24 -12
  189. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  190. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  191. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  192. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  193. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  194. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  195. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -11
  196. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  197. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  198. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  199. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  200. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +34 -66
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -14
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  243. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  244. package/lib/esm/contexts/ChatContextStore.js +2 -1
  245. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  246. package/lib/esm/contexts/common/ConversationState.js +4 -3
  247. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +11 -9
  248. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +14 -6
  249. package/lib/esm/contexts/createReducer.js +150 -103
  250. package/lib/esm/controller/componentController.js +6 -5
  251. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  252. package/lib/esm/hooks/useChatContextStore.js +0 -4
  253. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  254. package/lib/esm/plugins/newMessageEventHandler.js +71 -0
  255. package/lib/types/common/Constants.d.ts +27 -2
  256. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  257. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  258. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  259. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  260. package/lib/types/common/telemetry/TelemetryConstants.d.ts +53 -6
  261. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  262. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  263. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  264. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  265. package/lib/types/common/utils.d.ts +8 -1
  266. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  267. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  268. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  269. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  270. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  271. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  272. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  273. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  274. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  275. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  276. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  277. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +7 -2
  278. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  279. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  280. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  281. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  282. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -3
  283. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  284. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  285. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  286. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
  287. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  288. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  289. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  290. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  291. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  292. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  293. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  294. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  295. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  296. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  297. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  298. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  299. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  300. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  301. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  302. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  303. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  304. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -2
  305. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +12 -9
  306. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  307. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  308. package/package.json +12 -13
@@ -4,46 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.ReconnectChatPaneStateful = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _ConversationState = require("../../contexts/common/ConversationState");
13
-
14
10
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
15
-
16
11
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
17
-
18
12
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
19
-
20
13
  var _utils = require("../../common/utils");
21
-
22
14
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
23
-
24
15
  var _useChatSDKStore = _interopRequireDefault(require("../../hooks/useChatSDKStore"));
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
-
30
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
-
32
19
  const ReconnectChatPaneStateful = props => {
33
- const [state, dispatch] = (0, _useChatContextStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
-
20
+ const [state, dispatch] = (0, _useChatContextStore.default)();
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
22
  const chatSDK = (0, _useChatSDKStore.default)();
36
23
  const {
37
24
  reconnectChatProps,
38
25
  initStartChat
39
26
  } = props;
40
-
41
27
  const startChat = async continueChat => {
42
28
  dispatch({
43
29
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
44
30
  payload: _ConversationState.ConversationState.Loading
45
31
  });
46
-
47
32
  if (continueChat && state.appStates.reconnectId) {
48
33
  const optionalParams = {
49
34
  reconnectId: state.appStates.reconnectId
@@ -52,7 +37,6 @@ const ReconnectChatPaneStateful = props => {
52
37
  } else {
53
38
  const parseToJson = false;
54
39
  const preChatSurveyResponse = await chatSDK.getPreChatSurvey(parseToJson);
55
-
56
40
  if (preChatSurveyResponse) {
57
41
  dispatch({
58
42
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PRE_CHAT_SURVEY_RESPONSE,
@@ -71,7 +55,6 @@ const ReconnectChatPaneStateful = props => {
71
55
  }
72
56
  }
73
57
  };
74
-
75
58
  const controlProps = {
76
59
  id: "lcw-components-reconnect-chat-pane",
77
60
  dir: state.domainStates.globalDir,
@@ -80,7 +63,6 @@ const ReconnectChatPaneStateful = props => {
80
63
  Event: _TelemetryConstants.TelemetryEvent.ReconnectChatContinueConversation,
81
64
  Description: "Reconnect chat continue conversation button clicked."
82
65
  });
83
-
84
66
  startChat(true);
85
67
  },
86
68
  onStartNewChat: () => {
@@ -88,7 +70,6 @@ const ReconnectChatPaneStateful = props => {
88
70
  Event: _TelemetryConstants.TelemetryEvent.ReconnectChatStartNewConversation,
89
71
  Description: "Reconnect chat start new conversation button clicked."
90
72
  });
91
-
92
73
  startChat(false);
93
74
  },
94
75
  onMinimize: () => {
@@ -96,7 +77,6 @@ const ReconnectChatPaneStateful = props => {
96
77
  Event: _TelemetryConstants.TelemetryEvent.ReconnectChatMinimize,
97
78
  Description: "Reconnect chat minimized."
98
79
  });
99
-
100
80
  dispatch({
101
81
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
102
82
  payload: true
@@ -106,7 +86,6 @@ const ReconnectChatPaneStateful = props => {
106
86
  };
107
87
  (0, _react.useEffect)(() => {
108
88
  (0, _utils.setFocusOnElement)(document.getElementById(controlProps.id));
109
-
110
89
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
111
90
  Event: _TelemetryConstants.TelemetryEvent.ReconnectChatPaneLoaded
112
91
  });
@@ -117,7 +96,6 @@ const ReconnectChatPaneStateful = props => {
117
96
  styleProps: reconnectChatProps === null || reconnectChatProps === void 0 ? void 0 : reconnectChatProps.styleProps
118
97
  });
119
98
  };
120
-
121
99
  exports.ReconnectChatPaneStateful = ReconnectChatPaneStateful;
122
100
  var _default = ReconnectChatPaneStateful;
123
101
  exports.default = _default;
@@ -4,43 +4,68 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.WebChatContainerStateful = void 0;
7
-
8
7
  var _react = require("@fluentui/react");
9
-
10
8
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
11
-
12
9
  var _react2 = _interopRequireWildcard(require("react"));
13
-
14
10
  var _botframeworkWebchat = require("botframework-webchat");
15
-
11
+ var _broadcastChannel = require("broadcast-channel");
16
12
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
17
-
18
13
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
19
-
20
14
  var _defaultMiddlewareLocalizedTexts = require("./common/defaultProps/defaultMiddlewareLocalizedTexts");
21
-
22
15
  var _defaultWebChatContainerStatefulProps = require("./common/defaultProps/defaultWebChatContainerStatefulProps");
23
-
24
16
  var _utils = require("../../common/utils");
25
-
26
17
  var _ = require("../..");
27
-
18
+ var _WebChatActionType = require("./webchatcontroller/enums/WebChatActionType");
19
+ var _WebChatStoreLoader = require("./webchatcontroller/WebChatStoreLoader");
20
+ var _Constants = require("../../common/Constants");
21
+ var _BotMagicCodeStore = require("./webchatcontroller/BotMagicCodeStore");
22
+ var _defaultAdaptiveCardStyles = require("./common/defaultStyles/defaultAdaptiveCardStyles");
23
+ var _defaultReceivedMessageAnchorStyles = require("./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles");
24
+ var _defaultUserMessageBoxStyles = require("./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles");
25
+ var _defaultSystemMessageBoxStyles = require("./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles");
28
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
-
30
27
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
-
28
+ const broadcastChannelMessageEvent = "message";
29
+ const postActivity = activity => {
30
+ // eslint-disable-line @typescript-eslint/no-explicit-any
31
+ return {
32
+ type: _WebChatActionType.WebChatActionType.DIRECT_LINE_POST_ACTIVITY,
33
+ meta: {
34
+ method: "keyboard"
35
+ },
36
+ payload: {
37
+ activity: {
38
+ channelData: undefined,
39
+ text: "",
40
+ textFormat: "plain",
41
+ type: _Constants.Constants.message,
42
+ ...activity
43
+ }
44
+ }
45
+ };
46
+ };
47
+ const createMagicCodeSuccessResponse = signin => {
48
+ return {
49
+ signin,
50
+ result: "Success"
51
+ };
52
+ };
32
53
  const WebChatContainerStateful = props => {
54
+ var _props$adaptiveCardSt, _props$renderingMiddl, _props$renderingMiddl2, _props$renderingMiddl3, _props$renderingMiddl4, _props$adaptiveCardSt2, _props$renderingMiddl5, _props$renderingMiddl6, _props$renderingMiddl7, _props$renderingMiddl8;
33
55
  const {
34
56
  BasicWebChat
35
57
  } = _botframeworkWebchat.Components;
36
58
  const [state, dispatch] = (0, _.useChatContextStore)();
59
+ const magicCodeBroadcastChannel = new _broadcastChannel.BroadcastChannel(_Constants.Constants.magicCodeBroadcastChannel);
60
+ const magicCodeResponseBroadcastChannel = new _broadcastChannel.BroadcastChannel(_Constants.Constants.magicCodeResponseBroadcastChannel);
37
61
  const containerStyles = {
38
62
  root: Object.assign({}, _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.containerStyles, props === null || props === void 0 ? void 0 : props.containerStyles, {
39
63
  display: state.appStates.isMinimized ? "none" : ""
40
64
  }) // Use this instead of removing WebChat from the picture so that the activity observer inside the adapter is not invoked
41
-
42
65
  };
43
- const localizedTexts = { ..._defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts,
66
+
67
+ const localizedTexts = {
68
+ ..._defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts,
44
69
  ...(props === null || props === void 0 ? void 0 : props.localizedTexts)
45
70
  };
46
71
  (0, _react2.useEffect)(() => {
@@ -53,16 +78,67 @@ const WebChatContainerStateful = props => {
53
78
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MIDDLEWARE_LOCALIZED_TEXTS,
54
79
  payload: localizedTexts
55
80
  });
56
-
57
81
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
58
82
  Event: _TelemetryConstants.TelemetryEvent.WebChatLoaded
59
83
  });
60
84
  }, []);
85
+ (0, _react2.useEffect)(() => {
86
+ const eventListener = event => {
87
+ // eslint-disable-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-function
88
+ const {
89
+ data
90
+ } = event;
91
+ if (_BotMagicCodeStore.BotMagicCodeStore.botOAuthSignInId === data.signin) {
92
+ const {
93
+ signin,
94
+ code
95
+ } = data;
96
+ const text = `${code}`;
97
+ const action = postActivity({
98
+ text,
99
+ channelData: {
100
+ tags: [_Constants.Constants.hiddenTag]
101
+ }
102
+ });
103
+ _WebChatStoreLoader.WebChatStoreLoader.store.dispatch(action);
104
+ const response = createMagicCodeSuccessResponse(signin);
105
+ magicCodeResponseBroadcastChannel.postMessage(response);
106
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
107
+ Event: _TelemetryConstants.TelemetryEvent.SuppressBotMagicCodeSucceeded
108
+ });
109
+ _BotMagicCodeStore.BotMagicCodeStore.botOAuthSignInId = "";
110
+ magicCodeBroadcastChannel.close();
111
+ magicCodeResponseBroadcastChannel.close();
112
+ } else {
113
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
114
+ Event: _TelemetryConstants.TelemetryEvent.SuppressBotMagicCodeFailed,
115
+ Description: "Signin does not match"
116
+ });
117
+ }
118
+ };
119
+ magicCodeBroadcastChannel.addEventListener(broadcastChannelMessageEvent, eventListener);
120
+ }, []);
61
121
  return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("style", null, `
122
+
123
+ .webchat__bubble__content>div#ms_lcw_webchat_adaptive_card {
124
+ background: ${(props === null || props === void 0 ? void 0 : (_props$adaptiveCardSt = props.adaptiveCardStyles) === null || _props$adaptiveCardSt === void 0 ? void 0 : _props$adaptiveCardSt.background) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.background};
125
+ }
126
+
127
+ .webchat__stacked-layout__content div.webchat__stacked-layout__message-row div.webchat__bubble--from-user {
128
+ max-width: ${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl = props.renderingMiddlewareProps) === null || _props$renderingMiddl === void 0 ? void 0 : (_props$renderingMiddl2 = _props$renderingMiddl.userMessageBoxStyles) === null || _props$renderingMiddl2 === void 0 ? void 0 : _props$renderingMiddl2.maxWidth) ?? (_defaultUserMessageBoxStyles.defaultUserMessageBoxStyles === null || _defaultUserMessageBoxStyles.defaultUserMessageBoxStyles === void 0 ? void 0 : _defaultUserMessageBoxStyles.defaultUserMessageBoxStyles.maxWidth)}
129
+ }
130
+
131
+ .webchat__stacked-layout--show-avatar div.webchat__stacked-layout__content div.webchat__stacked-layout__message-row div.webchat__stacked-layout__message {
132
+ max-width: ${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl3 = props.renderingMiddlewareProps) === null || _props$renderingMiddl3 === void 0 ? void 0 : (_props$renderingMiddl4 = _props$renderingMiddl3.systemMessageBoxStyles) === null || _props$renderingMiddl4 === void 0 ? void 0 : _props$renderingMiddl4.maxWidth) ?? (_defaultSystemMessageBoxStyles.defaultSystemMessageBoxStyles === null || _defaultSystemMessageBoxStyles.defaultSystemMessageBoxStyles === void 0 ? void 0 : _defaultSystemMessageBoxStyles.defaultSystemMessageBoxStyles.maxWidth)}
133
+ }
134
+
135
+ div[class="ac-textBlock"]>p{color:${(props === null || props === void 0 ? void 0 : (_props$adaptiveCardSt2 = props.adaptiveCardStyles) === null || _props$adaptiveCardSt2 === void 0 ? void 0 : _props$adaptiveCardSt2.color) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.color};}
136
+
62
137
  .ms_lcw_webchat_received_message img.webchat__markdown__external-link-icon {
63
138
  background-image : url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIzIDMgMTggMTgiICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik03LjI1MDEgNC41MDAxN0gxMC43NDk1QzExLjE2MzcgNC41MDAxNyAxMS40OTk1IDQuODM1OTYgMTEuNDk5NSA1LjI1MDE3QzExLjQ5OTUgNS42Mjk4NiAxMS4yMTczIDUuOTQzNjYgMTAuODUxMyA1Ljk5MzMyTDEwLjc0OTUgNi4wMDAxN0g3LjI0OTc0QzYuMDcwNzkgNS45OTk2MSA1LjEwMzQ5IDYuOTA2NTYgNS4wMDc4NiA4LjA2MTEyTDUuMDAwMjggOC4yMjAwM0w1LjAwMzEyIDE2Ljc1MDdDNS4wMDM0MyAxNy45NDE1IDUuOTI4ODUgMTguOTE2MSA3LjA5OTY2IDE4Ljk5NDlMNy4yNTM3MSAxOS4wMDAxTDE1Ljc1MTggMTguOTg4NEMxNi45NDE1IDE4Ljk4NjggMTcuOTE0NSAxOC4wNjIgMTcuOTkzNSAxNi44OTIzTDE3Ljk5ODcgMTYuNzM4NFYxMy4yMzIxQzE3Ljk5ODcgMTIuODE3OSAxOC4zMzQ1IDEyLjQ4MjEgMTguNzQ4NyAxMi40ODIxQzE5LjEyODQgMTIuNDgyMSAxOS40NDIyIDEyLjc2NDMgMTkuNDkxOCAxMy4xMzAzTDE5LjQ5ODcgMTMuMjMyMVYxNi43Mzg0QzE5LjQ5ODcgMTguNzQwNyAxNy45MjkzIDIwLjM3NjkgMTUuOTUyOCAyMC40ODI5TDE1Ljc1MzggMjAuNDg4NEw3LjI1ODI3IDIwLjUwMDFMNy4wNTQ5NSAyMC40OTQ5QzUuMTQyMzkgMjAuMzk1NCAzLjYwODk1IDE4Ljg2MjcgMy41MDgzNyAxNi45NTAyTDMuNTAzMTIgMTYuNzUxMUwzLjUwMDg5IDguMjUyN0wzLjUwNTI5IDguMDUwMkMzLjYwNTM5IDYuMTM3NDkgNS4xMzg2NyA0LjYwNDQ5IDcuMDUwOTYgNC41MDUyN0w3LjI1MDEgNC41MDAxN0gxMC43NDk1SDcuMjUwMVpNMTMuNzQ4MSAzLjAwMTQ2TDIwLjMwMTggMy4wMDE5N0wyMC40MDE0IDMuMDE1NzVMMjAuNTAyMiAzLjA0MzkzTDIwLjU1OSAzLjA2ODAzQzIwLjYxMjIgMy4wOTEyMiAyMC42NjM0IDMuMTIxNjMgMjAuNzExMSAzLjE1ODg1TDIwLjc4MDQgMy4yMjE1NkwyMC44NjQxIDMuMzIwMTRMMjAuOTE4MyAzLjQxMDI1TDIwLjk1NyAzLjUwMDU3TDIwLjk3NjIgMy41NjQ3NkwyMC45ODk4IDMuNjI4NjJMMjAuOTk5MiAzLjcyMjgyTDIwLjk5OTcgMTAuMjU1NEMyMC45OTk3IDEwLjY2OTYgMjAuNjYzOSAxMS4wMDU0IDIwLjI0OTcgMTEuMDA1NEMxOS44NyAxMS4wMDU0IDE5LjU1NjIgMTAuNzIzMiAxOS41MDY1IDEwLjM1NzFMMTkuNDk5NyAxMC4yNTU0TDE5LjQ5ODkgNS41NjE0N0wxMi4yNzk3IDEyLjc4NDdDMTIuMDEzNCAxMy4wNTEgMTEuNTk2OCAxMy4wNzUzIDExLjMwMzEgMTIuODU3NUwxMS4yMTkgMTIuNzg0OUMxMC45NTI3IDEyLjUxODcgMTAuOTI4NCAxMi4xMDIxIDExLjE0NjIgMTEuODA4NEwxMS4yMTg4IDExLjcyNDNMMTguNDM2OSA0LjUwMTQ2SDEzLjc0ODFDMTMuMzY4NCA0LjUwMTQ2IDEzLjA1NDYgNC4yMTkzMSAxMy4wMDUgMy44NTMyNEwxMi45OTgxIDMuNzUxNDZDMTIuOTk4MSAzLjM3MTc3IDEzLjI4MDMgMy4wNTc5NyAxMy42NDY0IDMuMDA4MzFMMTMuNzQ4MSAzLjAwMTQ2WiIgZmlsbD0iI0ZGRkZGRiIgLz48L3N2Zz4) !important;
64
139
  height: '.75em';
65
- marginLeft: '.25em';
140
+ marginLeft: '.25em';
141
+ filter:${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl5 = props.renderingMiddlewareProps) === null || _props$renderingMiddl5 === void 0 ? void 0 : (_props$renderingMiddl6 = _props$renderingMiddl5.receivedMessageAnchorStyles) === null || _props$renderingMiddl6 === void 0 ? void 0 : _props$renderingMiddl6.filter) ?? "none"};
66
142
  }
67
143
  pre {
68
144
  white-space: pre-wrap;
@@ -75,12 +151,11 @@ const WebChatContainerStateful = props => {
75
151
  .ms_lcw_webchat_received_message a:visited,
76
152
  .ms_lcw_webchat_received_message a:hover,
77
153
  .ms_lcw_webchat_received_message a:active {
78
- color: white;
154
+ color: ${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl7 = props.renderingMiddlewareProps) === null || _props$renderingMiddl7 === void 0 ? void 0 : (_props$renderingMiddl8 = _props$renderingMiddl7.receivedMessageAnchorStyles) === null || _props$renderingMiddl8 === void 0 ? void 0 : _props$renderingMiddl8.color) ?? (_defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === null || _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === void 0 ? void 0 : _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles.color)};
79
155
  } `), /*#__PURE__*/_react2.default.createElement(_react.Stack, {
80
156
  styles: containerStyles
81
157
  }, /*#__PURE__*/_react2.default.createElement(BasicWebChat, null)));
82
158
  };
83
-
84
159
  exports.WebChatContainerStateful = WebChatContainerStateful;
85
160
  var _default = WebChatContainerStateful;
86
161
  exports.default = _default;
@@ -4,23 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.defaultWebChatContainerStatefulProps = void 0;
7
-
8
7
  var _mockadapter = _interopRequireDefault(require("../mockadapter"));
9
-
10
8
  var _defaultWebChatStatefulContainerStyles = require("../defaultStyles/defaultWebChatStatefulContainerStyles");
11
-
12
9
  var _defaultWebChatStatefulProps = require("./defaultWebChatStatefulProps");
13
-
14
10
  var _defaultWebChatContainerStatefulStyles = require("../defaultStyles/defaultWebChatContainerStatefulStyles");
15
-
11
+ var _defaultAdaptiveCardStyles = require("../defaultStyles/defaultAdaptiveCardStyles");
16
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
13
  const defaultWebChatContainerStatefulProps = {
19
14
  webChatStyles: _defaultWebChatContainerStatefulStyles.defaultWebChatStatefulStyles,
20
15
  webChatProps: _defaultWebChatStatefulProps.defaultWebChatStatefulProps,
21
16
  containerStyles: _defaultWebChatStatefulContainerStyles.defaultWebChatStatefulContainerStyles,
22
17
  disableNewLineMarkdownSupport: false,
23
18
  disableMarkdownMessageFormatting: false,
24
- directLine: new _mockadapter.default()
19
+ directLine: new _mockadapter.default(),
20
+ adaptiveCardStyles: _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles
25
21
  };
26
22
  exports.defaultWebChatContainerStatefulProps = defaultWebChatContainerStatefulProps;
@@ -4,20 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.defaultWebChatStatefulProps = void 0;
7
-
8
7
  var _activityStatusMiddleware = require("../../webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware");
9
-
10
8
  var _groupActivitiesMiddleware = require("../../webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware");
11
-
12
9
  var _typingIndicatorMiddleware = require("../../webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware");
13
-
14
10
  const defaultWebChatStatefulProps = {
15
11
  // activityMiddleware: activityMiddleware, - this is implemented elsewhere and can be customized
16
12
  activityStatusMiddleware: _activityStatusMiddleware.activityStatusMiddleware,
17
13
  // avatarMiddleware: avatarMiddleware, - this is implemented elsewhere and can be customized
18
14
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
15
  groupActivitiesMiddleware: _groupActivitiesMiddleware.groupActivitiesMiddleware,
20
- typingIndicatorMiddleware: _typingIndicatorMiddleware.typingIndicatorMiddleware // attachmentMiddleware: createAttachmentMiddleware(false), - this is implemented elsewhere and can be customized
21
-
16
+ typingIndicatorMiddleware: _typingIndicatorMiddleware.typingIndicatorMiddleware
17
+ // attachmentMiddleware: createAttachmentMiddleware(false), - this is implemented elsewhere and can be customized
22
18
  };
23
19
  exports.defaultWebChatStatefulProps = defaultWebChatStatefulProps;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultAdaptiveCardStyles = void 0;
7
+ const defaultAdaptiveCardStyles = {
8
+ background: "white",
9
+ color: "black"
10
+ };
11
+ exports.defaultAdaptiveCardStyles = defaultAdaptiveCardStyles;
@@ -4,34 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  require("rxjs/add/operator/share");
9
-
10
8
  require("rxjs/add/observable/of");
11
-
12
9
  var _botframeworkDirectlinejs = require("botframework-directlinejs");
13
-
14
10
  var _rxjs = require("rxjs");
15
-
16
11
  var _Observable = require("rxjs/Observable");
17
-
18
12
  var _omnichannelChatSdk = require("@microsoft/omnichannel-chat-sdk");
19
-
20
13
  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; }
21
-
22
14
  class MockAdapter {
23
15
  constructor() {
24
16
  _defineProperty(this, "activityObserver", void 0);
25
-
26
17
  _defineProperty(this, "activity$", void 0);
27
-
28
18
  _defineProperty(this, "connectionStatus$", new _rxjs.BehaviorSubject(_botframeworkDirectlinejs.ConnectionStatus.Uninitialized));
29
-
30
19
  this.activity$ = new _Observable.Observable(observer => {
31
20
  this.activityObserver = observer;
32
21
  Promise.resolve().then(async () => {
33
22
  this.connectionStatus$.next(_botframeworkDirectlinejs.ConnectionStatus.Online);
34
-
35
23
  try {
36
24
  if (this.connectionStatus$) {
37
25
  this.connectionStatus$.next(_botframeworkDirectlinejs.ConnectionStatus.Online);
@@ -43,22 +31,20 @@ class MockAdapter {
43
31
  });
44
32
  }).share();
45
33
  }
46
-
47
34
  postActivity(activity) {
48
35
  if (activity) {
49
36
  var _activity$text;
50
-
51
37
  let modActivity;
52
38
  let typingActivity;
53
39
  const userId = "userId",
54
- botId = "botId";
55
-
40
+ botId = "botId";
56
41
  if ((_activity$text = activity.text) !== null && _activity$text !== void 0 && _activity$text.startsWith(":")) {
57
42
  var _this$activityObserve, _this$activityObserve2;
58
-
59
- modActivity = { ...activity,
43
+ modActivity = {
44
+ ...activity,
60
45
  id: (0, _omnichannelChatSdk.uuidv4)(),
61
- from: { ...activity.from,
46
+ from: {
47
+ ...activity.from,
62
48
  id: botId,
63
49
  name: "Bot",
64
50
  role: "bot"
@@ -75,14 +61,14 @@ class MockAdapter {
75
61
  type: "typing"
76
62
  };
77
63
  (_this$activityObserve = this.activityObserver) === null || _this$activityObserve === void 0 ? void 0 : _this$activityObserve.next(modActivity); // mock echo message
78
-
79
64
  (_this$activityObserve2 = this.activityObserver) === null || _this$activityObserve2 === void 0 ? void 0 : _this$activityObserve2.next(typingActivity); // mock typing
80
65
  } else {
81
66
  var _this$activityObserve3;
82
-
83
- modActivity = { ...activity,
67
+ modActivity = {
68
+ ...activity,
84
69
  id: (0, _omnichannelChatSdk.uuidv4)(),
85
- from: { ...activity.from,
70
+ from: {
71
+ ...activity.from,
86
72
  id: userId,
87
73
  name: "User",
88
74
  role: "user"
@@ -94,11 +80,8 @@ class MockAdapter {
94
80
 
95
81
  return _Observable.Observable.of(activity.id || "");
96
82
  }
97
-
98
83
  end() {
99
84
  return;
100
85
  }
101
-
102
86
  }
103
-
104
87
  exports.default = MockAdapter;
@@ -4,56 +4,47 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.MockChatSDK = void 0;
7
-
8
7
  var _mockadapter = _interopRequireDefault(require("./mockadapter"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  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; }
13
-
14
10
  class MockChatSDK {
15
11
  constructor() {
16
12
  _defineProperty(this, "sleep", ms => new Promise(r => setTimeout(r, ms)));
13
+ _defineProperty(this, "isMockModeOn", true);
17
14
  }
18
-
19
15
  async startChat() {
20
16
  await this.sleep(1000);
21
17
  }
22
-
23
18
  endChat() {
24
19
  return null;
25
20
  }
26
-
21
+ getChatToken() {
22
+ return null;
23
+ }
27
24
  createChatAdapter() {
28
25
  return new _mockadapter.default();
29
- } // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
-
26
+ }
31
27
 
28
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
32
29
  getPreChatSurvey(parseToJson) {
33
30
  return "";
34
31
  }
35
-
36
32
  getConversationDetails() {
37
33
  return {};
38
34
  }
39
-
40
35
  getCurrentLiveChatContext() {
41
36
  return {
42
37
  chatToken: {},
43
38
  requestId: ""
44
39
  };
45
40
  }
46
-
47
41
  onNewMessage() {
48
42
  return null;
49
43
  }
50
-
51
44
  getChatReconnectContext() {
52
45
  return {
53
46
  reconnectId: "123"
54
47
  };
55
48
  }
56
-
57
49
  }
58
-
59
50
  exports.MockChatSDK = MockChatSDK;
@@ -4,85 +4,63 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isChromiumEdge = exports.getUserAgent = exports.getBrowserVersion = exports.getBrowserName = void 0;
7
-
8
7
  var _BrowserVendor = require("../../webchatcontroller/enums/BrowserVendor");
9
-
10
8
  const REGEX_VERSION = "([\\d,.]+)";
11
9
  const UNKNOWN_VERSION = "U";
12
10
  let userAgent = undefined;
13
-
14
11
  const getUserAgent = () => {
15
12
  if (!userAgent) {
16
13
  userAgent = window.navigator.userAgent;
17
14
  }
18
-
19
15
  return userAgent;
20
16
  };
21
-
22
17
  exports.getUserAgent = getUserAgent;
23
-
24
18
  const userAgentContainsString = searchString => {
25
19
  const userAgent = getUserAgent();
26
20
  return userAgent.indexOf(searchString) > -1;
27
21
  };
28
-
29
22
  const isEdge = () => {
30
23
  return userAgentContainsString(_BrowserVendor.BrowserVendor.EDGE) || userAgentContainsString(_BrowserVendor.BrowserVendor.EDGE_CHROMIUM);
31
24
  };
32
-
33
25
  const isChromiumEdge = () => {
34
26
  return userAgentContainsString(_BrowserVendor.BrowserVendor.EDGE_CHROMIUM) && !userAgentContainsString(_BrowserVendor.BrowserVendor.EDGE);
35
27
  };
36
-
37
28
  exports.isChromiumEdge = isChromiumEdge;
38
-
39
29
  const isOpera = () => {
40
30
  return userAgentContainsString("OPR/");
41
31
  };
42
-
43
32
  const getBrowserName = () => {
44
33
  if (isOpera()) {
45
34
  return _BrowserVendor.BrowserVendor.OPERA;
46
35
  }
47
-
48
36
  if (isEdge()) {
49
37
  return _BrowserVendor.BrowserVendor.EDGE;
50
38
  }
51
-
52
39
  if (userAgentContainsString(_BrowserVendor.BrowserVendor.CHROME)) {
53
40
  return _BrowserVendor.BrowserVendor.CHROME;
54
41
  }
55
-
56
42
  if (userAgentContainsString(_BrowserVendor.BrowserVendor.FIREFOX)) {
57
43
  return _BrowserVendor.BrowserVendor.FIREFOX;
58
44
  }
59
-
60
45
  if (userAgentContainsString(_BrowserVendor.BrowserVendor.SAFARI)) {
61
46
  return _BrowserVendor.BrowserVendor.SAFARI;
62
47
  }
63
-
64
48
  return _BrowserVendor.BrowserVendor.UNKNOWN;
65
49
  };
66
-
67
50
  exports.getBrowserName = getBrowserName;
68
-
69
51
  const getBrowserVersion = () => {
70
52
  let browserString = getBrowserName();
71
53
  const browserVersion = UNKNOWN_VERSION;
72
54
  let matches;
73
-
74
55
  if (browserString === _BrowserVendor.BrowserVendor.SAFARI) {
75
56
  browserString = "Version";
76
- } // eslint-disable-next-line prefer-const
77
-
57
+ }
78
58
 
59
+ // eslint-disable-next-line prefer-const
79
60
  matches = getUserAgent().match(new RegExp(browserString + "/" + REGEX_VERSION));
80
-
81
61
  if (matches) {
82
62
  return matches[1];
83
63
  }
84
-
85
64
  return browserVersion;
86
65
  };
87
-
88
66
  exports.getBrowserVersion = getBrowserVersion;
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isInlineMediaSupported = exports.getFileAttachmentIconData = void 0;
7
-
8
7
  var _Icons = require("../../../../assets/Icons");
9
-
10
8
  var _BrowserInfo = require("./BrowserInfo");
11
-
12
9
  var _BrowserVendor = require("../../webchatcontroller/enums/BrowserVendor");
13
-
14
10
  var _Constants = require("../../../../common/Constants");
15
-
16
11
  const FileAttachmentIconMap = {
17
12
  "aac": _Icons.AudioIcon,
18
13
  "aiff": _Icons.AudioIcon,
@@ -63,38 +58,31 @@ const FileAttachmentIconMap = {
63
58
  "zipx": _Icons.ArchiveIcon,
64
59
  "7z": _Icons.ArchiveIcon
65
60
  };
61
+
66
62
  /**
67
63
  * Get file attachment icon image depending on extension.
68
64
  *
69
65
  * @param extension File extension
70
66
  */
71
-
72
67
  const getFileAttachmentIconData = extension => {
73
68
  const key = extension.startsWith(".") ? extension.slice(1) : extension || "";
74
-
75
69
  const icon = FileAttachmentIconMap[key.toLowerCase()] || _Icons.BlankIcon;
76
-
77
70
  return icon;
78
- }; // Check if browser supports inline media playing for current media format
79
-
71
+ };
80
72
 
73
+ // Check if browser supports inline media playing for current media format
81
74
  exports.getFileAttachmentIconData = getFileAttachmentIconData;
82
-
83
75
  const isInlineMediaSupported = attachmentName => {
84
76
  switch ((0, _BrowserInfo.getBrowserName)()) {
85
77
  case _BrowserVendor.BrowserVendor.CHROME:
86
78
  case _BrowserVendor.BrowserVendor.OPERA:
87
79
  return _Constants.Constants.chromeSupportedInlineMediaRegex.test(attachmentName);
88
-
89
80
  case _BrowserVendor.BrowserVendor.FIREFOX:
90
81
  return _Constants.Constants.firefoxSupportedInlineMediaRegex.test(attachmentName);
91
-
92
82
  case _BrowserVendor.BrowserVendor.EDGE:
93
83
  return (0, _BrowserInfo.isChromiumEdge)() && _Constants.Constants.chromeSupportedInlineMediaRegex.test(attachmentName);
94
-
95
84
  default:
96
85
  return false;
97
86
  }
98
87
  };
99
-
100
88
  exports.isInlineMediaSupported = isInlineMediaSupported;