@microsoft/omnichannel-chat-widget 0.1.0-main.86df755 → 0.1.0-main.875499b

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 (249) hide show
  1. package/README.md +259 -0
  2. package/lib/cjs/assets/Audios.js +8 -0
  3. package/lib/cjs/assets/Icons.js +28 -0
  4. package/lib/cjs/common/Constants.js +54 -4
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +14 -0
  6. package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
  7. package/lib/cjs/common/storage/default/defaultCacheManager.js +34 -0
  8. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +114 -0
  9. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +86 -0
  10. package/lib/cjs/common/telemetry/TelemetryConstants.js +74 -4
  11. package/lib/cjs/common/telemetry/TelemetryHelper.js +22 -4
  12. package/lib/cjs/common/telemetry/TelemetryManager.js +28 -9
  13. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  14. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  15. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +66 -20
  16. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +9 -5
  17. package/lib/cjs/common/utils.js +89 -2
  18. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  19. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +28 -5
  20. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +11 -58
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +6 -6
  22. package/lib/cjs/components/footerstateful/FooterStateful.js +9 -18
  23. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +11 -2
  24. package/lib/cjs/components/headerstateful/HeaderStateful.js +23 -13
  25. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +44 -0
  26. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +23 -0
  27. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  28. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +39 -0
  29. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +70 -0
  30. package/lib/cjs/components/livechatwidget/common/Deferred.js +42 -0
  31. package/lib/cjs/components/livechatwidget/common/authHelper.js +65 -0
  32. package/lib/cjs/components/livechatwidget/common/createAdapter.js +13 -1
  33. package/lib/cjs/components/livechatwidget/common/createFooter.js +7 -16
  34. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +12 -0
  35. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +32 -32
  36. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +101 -61
  37. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +14 -0
  38. package/lib/cjs/components/livechatwidget/common/endChat.js +142 -43
  39. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
  40. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +51 -10
  41. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +144 -39
  42. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +11 -7
  43. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +22 -24
  44. package/lib/cjs/components/livechatwidget/common/shareObservable.js +45 -0
  45. package/lib/cjs/components/livechatwidget/common/startChat.js +207 -41
  46. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  47. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +335 -71
  48. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  49. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
  50. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  51. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +6 -4
  52. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  53. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  54. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +27 -5
  55. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  56. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +110 -2
  57. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +4 -1
  58. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  59. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  60. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  61. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  62. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  63. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
  64. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +25 -48
  65. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  66. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  67. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
  68. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
  69. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  70. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  71. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  72. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +117 -0
  73. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  74. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
  75. package/lib/cjs/contexts/common/ConversationState.js +4 -2
  76. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +15 -8
  77. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +23 -7
  78. package/lib/cjs/contexts/createReducer.js +53 -12
  79. package/lib/cjs/controller/componentController.js +5 -5
  80. package/lib/cjs/plugins/newMessageEventHandler.js +99 -0
  81. package/lib/esm/assets/Audios.js +1 -0
  82. package/lib/esm/assets/Icons.js +11 -0
  83. package/lib/esm/common/Constants.js +50 -3
  84. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  85. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  86. package/lib/esm/common/storage/default/defaultCacheManager.js +19 -0
  87. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  88. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +71 -0
  89. package/lib/esm/common/telemetry/TelemetryConstants.js +70 -3
  90. package/lib/esm/common/telemetry/TelemetryHelper.js +22 -5
  91. package/lib/esm/common/telemetry/TelemetryManager.js +22 -9
  92. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  93. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  94. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +69 -18
  95. package/lib/esm/common/telemetry/loggers/consoleLogger.js +9 -5
  96. package/lib/esm/common/utils.js +64 -1
  97. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  98. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +31 -8
  99. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +11 -54
  100. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +6 -6
  101. package/lib/esm/components/footerstateful/FooterStateful.js +9 -18
  102. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +9 -3
  103. package/lib/esm/components/headerstateful/HeaderStateful.js +24 -14
  104. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +34 -0
  105. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +14 -0
  106. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  107. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +29 -0
  108. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +59 -0
  109. package/lib/esm/components/livechatwidget/common/Deferred.js +33 -0
  110. package/lib/esm/components/livechatwidget/common/authHelper.js +50 -0
  111. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -2
  112. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -15
  113. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +8 -0
  114. package/lib/esm/components/livechatwidget/common/createMarkdown.js +32 -31
  115. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +99 -62
  116. package/lib/esm/components/livechatwidget/common/disposeTelemetryLoggers.js +4 -0
  117. package/lib/esm/components/livechatwidget/common/endChat.js +139 -42
  118. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
  119. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +45 -11
  120. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +134 -41
  121. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +10 -3
  122. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +19 -22
  123. package/lib/esm/components/livechatwidget/common/shareObservable.js +38 -0
  124. package/lib/esm/components/livechatwidget/common/startChat.js +195 -39
  125. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  126. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +319 -76
  127. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  128. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
  129. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  130. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +5 -4
  131. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  132. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  133. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +26 -6
  134. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  135. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +97 -2
  136. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  137. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  138. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  139. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  140. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  141. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  142. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  143. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +23 -46
  144. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  145. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  146. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  147. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
  148. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  149. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  150. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  151. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +107 -0
  152. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  153. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
  154. package/lib/esm/contexts/common/ConversationState.js +4 -2
  155. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +15 -8
  156. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +21 -7
  157. package/lib/esm/contexts/createReducer.js +53 -11
  158. package/lib/esm/controller/componentController.js +5 -5
  159. package/lib/esm/plugins/newMessageEventHandler.js +82 -0
  160. package/lib/types/assets/Audios.d.ts +1 -0
  161. package/lib/types/assets/Icons.d.ts +11 -0
  162. package/lib/types/common/Constants.d.ts +27 -1
  163. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  164. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  165. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  166. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  167. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  168. package/lib/types/common/telemetry/TelemetryConstants.d.ts +49 -2
  169. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  170. package/lib/types/common/telemetry/TelemetryManager.d.ts +1 -0
  171. package/lib/types/common/telemetry/definitions/Contracts.d.ts +3 -0
  172. package/lib/types/common/telemetry/definitions/Payload.d.ts +15 -9
  173. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +1 -0
  174. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +2 -0
  175. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +12 -0
  176. package/lib/types/common/utils.d.ts +8 -1
  177. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  178. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  179. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  180. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  181. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  182. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  183. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  184. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  185. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  186. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  187. package/lib/types/components/livechatwidget/common/disposeTelemetryLoggers.d.ts +1 -0
  188. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  189. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  190. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  191. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  192. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  193. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  194. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  195. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  196. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -3
  197. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  198. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  199. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  200. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  201. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  202. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  203. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  204. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  205. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  206. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  207. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  208. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  209. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  210. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  211. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  212. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  213. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  214. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  215. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  216. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  217. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  218. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  219. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  220. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +7 -2
  221. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +16 -9
  222. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  223. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  224. package/package.json +14 -13
  225. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  226. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  227. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  228. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  229. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  230. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  231. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  232. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  233. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  234. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  235. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  236. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  237. package/lib/esm/assets/assets.d.js +0 -0
  238. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  239. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  240. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  241. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  242. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  243. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  244. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  245. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  246. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  247. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  248. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  249. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PauseActivitySubscriber = void 0;
7
+
8
+ var _ActivityStreamHandler = require("../ActivityStreamHandler");
9
+
10
+ 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; }
11
+
12
+ class PauseActivitySubscriber {
13
+ constructor() {
14
+ _defineProperty(this, "observer", void 0);
15
+ }
16
+
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+ async apply(activity) {
19
+ await _ActivityStreamHandler.ActivityStreamHandler.restorePromise;
20
+ return activity;
21
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
22
+
23
+
24
+ applicable(activity) {
25
+ return true;
26
+ } // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+
28
+
29
+ async next(activity) {
30
+ if (this.applicable(activity)) {
31
+ return await this.apply(activity);
32
+ }
33
+
34
+ return activity;
35
+ }
36
+
37
+ }
38
+
39
+ exports.PauseActivitySubscriber = PauseActivitySubscriber;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChatAdapterShim = void 0;
7
+
8
+ var _DefaultActivitySubscriber = require("./ActivitySubscriber/DefaultActivitySubscriber");
9
+
10
+ var _shareObservable = require("./shareObservable");
11
+
12
+ 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
+ class ChatAdapterShim {
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ constructor(chatAdapter) {
20
+ _defineProperty(this, "chatAdapter", void 0);
21
+
22
+ _defineProperty(this, "activityObserver", void 0);
23
+
24
+ _defineProperty(this, "subscribers", void 0);
25
+
26
+ this.subscribers = [];
27
+ this.chatAdapter = { ...chatAdapter,
28
+ activity$: (0, _shareObservable.shareObservable)( // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ new window.Observable(observer => {
30
+ this.activityObserver = observer; // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
+
32
+ const abortController = new window.AbortController();
33
+
34
+ (async () => {
35
+ try {
36
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
+ for await (let activity of chatAdapter.activities({
38
+ signal: abortController.signal
39
+ })) {
40
+ for (const subscriber of [...this.subscribers, new _DefaultActivitySubscriber.DefaultActivitySubscriber()]) {
41
+ subscriber.observer = this.activityObserver;
42
+ activity = await subscriber.next(activity);
43
+
44
+ if (!activity) {
45
+ break;
46
+ }
47
+ }
48
+ }
49
+
50
+ observer.complete();
51
+ } catch (error) {
52
+ observer.error(error);
53
+ }
54
+ })();
55
+
56
+ return () => {
57
+ abortController.abort();
58
+ };
59
+ }))
60
+ };
61
+ } // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
+
63
+
64
+ addSubscriber(subscriber) {
65
+ this.subscribers.push(subscriber);
66
+ }
67
+
68
+ }
69
+
70
+ exports.ChatAdapterShim = ChatAdapterShim;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Deferred = void 0;
7
+
8
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+
10
+ class Deferred {
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ constructor() {
13
+ _defineProperty(this, "_promise", void 0);
14
+
15
+ _defineProperty(this, "_resolve", void 0);
16
+
17
+ _defineProperty(this, "_reject", () => {
18
+ return;
19
+ });
20
+
21
+ _defineProperty(this, "resolve", value => {
22
+ this._resolve(value);
23
+ });
24
+
25
+ _defineProperty(this, "reject", value => {
26
+ this._reject(value);
27
+ });
28
+
29
+ this._promise = new Promise((resolve, reject) => {
30
+ this._resolve = resolve;
31
+ this._reject = reject;
32
+ });
33
+ } // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+
35
+
36
+ get promise() {
37
+ return this._promise;
38
+ }
39
+
40
+ }
41
+
42
+ exports.Deferred = Deferred;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.removeAuthTokenProvider = exports.handleAuthentication = exports.getAuthClientFunction = void 0;
7
+
8
+ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
+
10
+ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
11
+
12
+ var _utils = require("../../../common/utils");
13
+
14
+ const getAuthClientFunction = chatConfig => {
15
+ let authClientFunction = undefined;
16
+
17
+ if (chatConfig !== null && chatConfig !== void 0 && chatConfig.LiveChatConfigAuthSettings) {
18
+ var _chatConfig$LiveChatC;
19
+
20
+ authClientFunction = (chatConfig === null || chatConfig === void 0 ? void 0 : (_chatConfig$LiveChatC = chatConfig.LiveChatConfigAuthSettings) === null || _chatConfig$LiveChatC === void 0 ? void 0 : _chatConfig$LiveChatC.msdyn_javascriptclientfunction) ?? undefined;
21
+ }
22
+
23
+ return authClientFunction;
24
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
+
26
+
27
+ exports.getAuthClientFunction = getAuthClientFunction;
28
+
29
+ const handleAuthentication = async (chatSDK, chatConfig, getAuthToken) => {
30
+ const authClientFunction = getAuthClientFunction(chatConfig);
31
+
32
+ if (getAuthToken && authClientFunction) {
33
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
34
+ Event: _TelemetryConstants.TelemetryEvent.GetAuthTokenCalled
35
+ });
36
+
37
+ const token = await getAuthToken(authClientFunction);
38
+
39
+ if (!(0, _utils.isNullOrEmptyString)(token)) {
40
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
+ chatSDK.setAuthTokenProvider(async () => {
42
+ return token;
43
+ });
44
+ return true;
45
+ } else {
46
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
47
+ Event: _TelemetryConstants.TelemetryEvent.ReceivedNullOrEmptyToken
48
+ });
49
+
50
+ return false;
51
+ }
52
+ }
53
+
54
+ return false;
55
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+
57
+
58
+ exports.handleAuthentication = handleAuthentication;
59
+
60
+ const removeAuthTokenProvider = chatSDK => {
61
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
+ chatSDK.authenticatedUserToken = null;
63
+ };
64
+
65
+ exports.removeAuthTokenProvider = removeAuthTokenProvider;
@@ -13,6 +13,10 @@ var _NotificationScenarios = require("../../webchatcontainerstateful/webchatcont
13
13
 
14
14
  var _defaultMiddlewareLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
15
15
 
16
+ var _ChatAdapterShim = require("./ChatAdapterShim");
17
+
18
+ var _PauseActivitySubscriber = require("./ActivitySubscriber/PauseActivitySubscriber");
19
+
16
20
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
21
  const createAdapter = async chatSDK => {
18
22
  const chatAdapterOptionalParams = {
@@ -34,7 +38,15 @@ const createAdapter = async chatSDK => {
34
38
  }
35
39
  }
36
40
  };
37
- return await chatSDK.createChatAdapter(chatAdapterOptionalParams);
41
+ let adapter = await chatSDK.createChatAdapter(chatAdapterOptionalParams); //so far, there is no need to convert to the shim adapter when using visual tests
42
+
43
+ if (chatSDK.isMockModeOn !== true) {
44
+ adapter = new _ChatAdapterShim.ChatAdapterShim(adapter);
45
+ adapter.addSubscriber(new _PauseActivitySubscriber.PauseActivitySubscriber());
46
+ return adapter.chatAdapter;
47
+ }
48
+
49
+ return adapter;
38
50
  };
39
51
 
40
52
  exports.createAdapter = createAdapter;
@@ -16,26 +16,17 @@ var _componentController = require("../../../controller/componentController");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  const createFooter = (props, state) => {
19
- var _props$footerProps, _props$controlProps, _props$componentOverr, _props$componentOverr2;
20
-
21
- const footerPropsHidden = { ...props.footerProps,
22
- controlProps: { ...((_props$footerProps = props.footerProps) === null || _props$footerProps === void 0 ? void 0 : _props$footerProps.controlProps),
23
- hideDownloadTranscriptButton: true,
24
- hideEmailTranscriptButton: true,
25
- hideAudioNotificationButton: true
26
- }
27
- };
28
- const footer = !((_props$controlProps = props.controlProps) !== null && _props$controlProps !== void 0 && _props$controlProps.hideFooter) && (0, _componentController.shouldShowFooter)(state) ? (0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.footer) || /*#__PURE__*/_react.default.createElement(_FooterStateful.default, {
19
+ var _props$controlProps, _props$componentOverr;
20
+
21
+ const hideFooterDisplay = !((_props$controlProps = props.controlProps) !== null && _props$controlProps !== void 0 && _props$controlProps.hideFooter) && (0, _componentController.shouldShowFooter)(state) ? false : true;
22
+
23
+ const footer = (0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.footer) || /*#__PURE__*/_react.default.createElement(_FooterStateful.default, {
29
24
  footerProps: props.footerProps,
30
25
  downloadTranscriptProps: props.downloadTranscriptProps,
31
26
  audioNotificationProps: props.audioNotificationProps,
32
- hideFooterDisplay: false
33
- }) : (0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr2 = props.componentOverrides) === null || _props$componentOverr2 === void 0 ? void 0 : _props$componentOverr2.footer) || /*#__PURE__*/_react.default.createElement(_FooterStateful.default, {
34
- footerProps: footerPropsHidden,
35
- downloadTranscriptProps: props.downloadTranscriptProps,
36
- audioNotificationProps: props.audioNotificationProps,
37
- hideFooterDisplay: true
27
+ hideFooterDisplay: hideFooterDisplay
38
28
  });
29
+
39
30
  return footer;
40
31
  };
41
32
 
@@ -13,6 +13,10 @@ var _NotificationScenarios = require("../../webchatcontainerstateful/webchatcont
13
13
 
14
14
  var _defaultMiddlewareLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
15
15
 
16
+ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
17
+
18
+ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
19
+
16
20
  const isInternetConnected = async () => {
17
21
  try {
18
22
  const response = await fetch(_Constants.Constants.internetConnectionTestUrl);
@@ -28,8 +32,16 @@ const createInternetConnectionChangeHandler = async () => {
28
32
  const connected = await isInternetConnected();
29
33
 
30
34
  if (!connected) {
35
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.WARN, {
36
+ Event: _TelemetryConstants.TelemetryEvent.NetworkDisconnected
37
+ });
38
+
31
39
  _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.InternetConnection, _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_NO_INTERNET_CONNECTION);
32
40
  } else {
41
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.WARN, {
42
+ Event: _TelemetryConstants.TelemetryEvent.NetworkReconnected
43
+ });
44
+
33
45
  _NotificationHandler.NotificationHandler.notifySuccess(_NotificationScenarios.NotificationScenarios.InternetConnection, _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_INTERNET_BACK_ONLINE);
34
46
  }
35
47
  }; // Checking connection status on online & offline events due to possible false positives
@@ -7,8 +7,6 @@ exports.createMarkdown = void 0;
7
7
 
8
8
  var _markdownIt = _interopRequireDefault(require("markdown-it"));
9
9
 
10
- var _slackMarkdownIt = _interopRequireDefault(require("slack-markdown-it"));
11
-
12
10
  var _markdownItForInline = _interopRequireDefault(require("markdown-it-for-inline"));
13
11
 
14
12
  var _defaultMarkdownLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMarkdownLocalizedTexts");
@@ -26,27 +24,42 @@ const createMarkdown = (disableMarkdownMessageFormatting, disableNewLineMarkdown
26
24
  html: true,
27
25
  linkify: true,
28
26
  breaks: !disableNewLineMarkdownSupport
27
+ }); // ToDo: Commenting below usage of plugin until deferred bug is resolved: https://github.com/mayashavin/markdown-it-slack/issues/1
28
+ // markdown.use(MarkdownSlack);
29
+ } else {
30
+ markdown = new _markdownIt.default(_Constants.Constants.Zero, {
31
+ html: true,
32
+ linkify: true,
33
+ breaks: !disableNewLineMarkdownSupport
29
34
  });
30
- markdown.use(_slackMarkdownIt.default); // Markdown override for open link in new tab
31
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, quotes
35
+ markdown.enable(["entity", // Rule to process html entity - {, ¯, "
36
+ "linkify", // Rule to replace link-like texts with link nodes
37
+ "html_block", // Rule to process html blocks and paragraphs
38
+ "html_inline", // Rule to process html tags
39
+ "newline" // Rule to proceess '\n'
40
+ ]);
41
+ } // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
42
 
33
- markdown.use(_markdownItForInline.default, "url_new_win", "link_open", function (tokens, idx, env) {
34
- const targetAttrIndex = tokens[idx].attrIndex(_Constants.Constants.Target); // Put a transparent pixel instead of the "open in new window" icon, so developers can easily modify the icon in CSS.
35
43
 
36
- const TRANSPARENT_GIF = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
44
+ markdown.use(_markdownItForInline.default, "url_new_win", "link_open", function (tokens, idx, env) {
45
+ const targetAttrIndex = tokens[idx].attrIndex(_Constants.Constants.Target); // Put a transparent pixel instead of the "open in new window" icon, so developers can easily modify the icon in CSS.
37
46
 
38
- if (~targetAttrIndex) {
39
- tokens[idx].attrs[targetAttrIndex][1] = _Constants.Constants.Blank;
40
- } else {
41
- tokens[idx].attrPush([_Constants.Constants.Target, _Constants.Constants.Blank]);
42
- }
47
+ const TRANSPARENT_GIF = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
48
+
49
+ if (~targetAttrIndex) {
50
+ tokens[idx].attrs[targetAttrIndex][1] = _Constants.Constants.Blank;
51
+ } else {
52
+ tokens[idx].attrPush([_Constants.Constants.Target, _Constants.Constants.Blank]);
53
+ }
54
+
55
+ const relAttrIndex = tokens[idx].attrIndex(_Constants.Constants.TargetRelationship);
43
56
 
44
- const relAttrIndex = tokens[idx].attrIndex(_Constants.Constants.TargetRelationship);
57
+ if (~relAttrIndex) {
58
+ tokens[idx].attrs[relAttrIndex][1] = _Constants.Constants.TargetRelationshipAttributes;
59
+ } else {
60
+ tokens[idx].attrPush([_Constants.Constants.TargetRelationship, _Constants.Constants.TargetRelationshipAttributes]);
45
61
 
46
- if (~relAttrIndex) {
47
- tokens[idx].attrs[relAttrIndex][1] = _Constants.Constants.TargetRelationshipAttributes;
48
- } else {
49
- tokens[idx].attrPush([_Constants.Constants.TargetRelationship, _Constants.Constants.TargetRelationshipAttributes]);
62
+ if (!disableMarkdownMessageFormatting) {
50
63
  tokens[idx].attrPush([_Constants.Constants.Title, _defaultMarkdownLocalizedTexts.defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT]); // eslint-disable-next-line quotes
51
64
 
52
65
  const iconTokens = markdown.parseInline(`![${_defaultMarkdownLocalizedTexts.defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT}](${TRANSPARENT_GIF})`, env)[0].children;
@@ -56,21 +69,8 @@ const createMarkdown = (disableMarkdownMessageFormatting, disableNewLineMarkdown
56
69
  tokens.splice(idx + 2, 0, ...iconTokens);
57
70
  }
58
71
  }
59
- });
60
- } else {
61
- markdown = new _markdownIt.default(_Constants.Constants.Zero, {
62
- html: true,
63
- linkify: true,
64
- breaks: !disableNewLineMarkdownSupport
65
- });
66
- markdown.enable(["entity", // Rule to process html entity - {, ¯, "
67
- "linkify", // Rule to replace link-like texts with link nodes
68
- "html_block", // Rule to process html blocks and paragraphs
69
- "html_inline", // Rule to process html tags
70
- "newline" // Rule to proceess '\n'
71
- ]);
72
- }
73
-
72
+ }
73
+ });
74
74
  return markdown;
75
75
  };
76
76