@microsoft/omnichannel-chat-widget 0.1.0-main.861673e → 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 (242) 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 -5
  11. package/lib/cjs/common/telemetry/TelemetryHelper.js +13 -0
  12. package/lib/cjs/common/telemetry/TelemetryManager.js +17 -6
  13. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  14. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  15. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +54 -21
  16. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -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 +20 -4
  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 +79 -40
  37. package/lib/cjs/components/livechatwidget/common/endChat.js +142 -47
  38. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
  39. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +48 -12
  40. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +144 -39
  41. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +11 -5
  42. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +22 -24
  43. package/lib/cjs/components/livechatwidget/common/shareObservable.js +45 -0
  44. package/lib/cjs/components/livechatwidget/common/startChat.js +207 -41
  45. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  46. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +331 -77
  47. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  48. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
  49. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  50. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +6 -4
  51. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  52. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  53. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +27 -5
  54. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  55. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +110 -2
  56. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +4 -1
  57. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  58. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  59. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  60. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  61. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  62. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
  63. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +25 -48
  64. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  65. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  66. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
  67. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
  68. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  69. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  70. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  71. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +117 -0
  72. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  73. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
  74. package/lib/cjs/contexts/common/ConversationState.js +4 -2
  75. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +13 -8
  76. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +19 -5
  77. package/lib/cjs/contexts/createReducer.js +39 -12
  78. package/lib/cjs/controller/componentController.js +5 -5
  79. package/lib/cjs/plugins/newMessageEventHandler.js +99 -0
  80. package/lib/esm/assets/Audios.js +1 -0
  81. package/lib/esm/assets/Icons.js +11 -0
  82. package/lib/esm/common/Constants.js +50 -3
  83. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  84. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  85. package/lib/esm/common/storage/default/defaultCacheManager.js +19 -0
  86. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  87. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +71 -0
  88. package/lib/esm/common/telemetry/TelemetryConstants.js +70 -4
  89. package/lib/esm/common/telemetry/TelemetryHelper.js +13 -1
  90. package/lib/esm/common/telemetry/TelemetryManager.js +15 -6
  91. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  92. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  93. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +55 -17
  94. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -5
  95. package/lib/esm/common/utils.js +64 -1
  96. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  97. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +22 -7
  98. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +11 -54
  99. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +6 -6
  100. package/lib/esm/components/footerstateful/FooterStateful.js +9 -18
  101. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +9 -3
  102. package/lib/esm/components/headerstateful/HeaderStateful.js +24 -14
  103. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +34 -0
  104. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +14 -0
  105. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  106. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +29 -0
  107. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +59 -0
  108. package/lib/esm/components/livechatwidget/common/Deferred.js +33 -0
  109. package/lib/esm/components/livechatwidget/common/authHelper.js +50 -0
  110. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -2
  111. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -15
  112. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +8 -0
  113. package/lib/esm/components/livechatwidget/common/createMarkdown.js +32 -31
  114. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +77 -41
  115. package/lib/esm/components/livechatwidget/common/endChat.js +139 -46
  116. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
  117. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +42 -13
  118. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +134 -41
  119. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +10 -4
  120. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +19 -22
  121. package/lib/esm/components/livechatwidget/common/shareObservable.js +38 -0
  122. package/lib/esm/components/livechatwidget/common/startChat.js +195 -39
  123. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  124. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +318 -82
  125. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  126. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
  127. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  128. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +5 -4
  129. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  130. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  131. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +26 -6
  132. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  133. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +97 -2
  134. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  135. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  136. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  137. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  138. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  139. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  140. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  141. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +23 -46
  142. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  143. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  144. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  145. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
  146. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  147. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  148. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  149. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +107 -0
  150. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  151. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
  152. package/lib/esm/contexts/common/ConversationState.js +4 -2
  153. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +13 -8
  154. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +17 -5
  155. package/lib/esm/contexts/createReducer.js +39 -11
  156. package/lib/esm/controller/componentController.js +5 -5
  157. package/lib/esm/plugins/newMessageEventHandler.js +82 -0
  158. package/lib/types/assets/Audios.d.ts +1 -0
  159. package/lib/types/assets/Icons.d.ts +11 -0
  160. package/lib/types/common/Constants.d.ts +27 -1
  161. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  162. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  163. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  164. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  165. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  166. package/lib/types/common/telemetry/TelemetryConstants.d.ts +48 -2
  167. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  168. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  169. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  170. package/lib/types/common/utils.d.ts +8 -1
  171. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  172. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  173. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  174. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  175. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  176. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  177. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  178. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  179. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  180. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  181. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  182. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  183. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  184. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  185. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  186. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  187. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  188. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  189. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -2
  190. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  191. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  192. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  193. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  194. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  195. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  196. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  197. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  198. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  199. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  200. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  201. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  202. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  203. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  204. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  205. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  206. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  207. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  208. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  209. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  210. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  211. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  212. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  213. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +5 -2
  214. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +14 -9
  215. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  216. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  217. package/package.json +14 -13
  218. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  219. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  220. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  221. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  222. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  223. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  224. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  225. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  226. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  227. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  228. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  229. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  230. package/lib/esm/assets/assets.d.js +0 -0
  231. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  232. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  233. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  234. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  235. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  236. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  237. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  238. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  239. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  240. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  241. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  242. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -0,0 +1,94 @@
1
+ import "@testing-library/jest-dom/extend-expect";
2
+ import { createCardActionMiddleware } from "./cardActionMiddleware";
3
+ describe("cardActionMiddleware test", () => {
4
+ it("createCardActionMiddleware() with undefined botMagicCodeConfig should not change the sign in card url", () => {
5
+ const next = args => args; // eslint-disable-line @typescript-eslint/no-explicit-any
6
+
7
+
8
+ const signInUrl = "https://token.botframework.com/api/oauth/signin?signin=[signin]";
9
+ const args = {
10
+ cardAction: {
11
+ type: "signin",
12
+ value: signInUrl
13
+ }
14
+ };
15
+ const results = createCardActionMiddleware(undefined)()(next)(args);
16
+ expect(signInUrl).toEqual(results.cardAction.value);
17
+ });
18
+ it("createCardActionMiddleware() with botMagicCode enabled should not change the sign in card url", () => {
19
+ const botMagicCodeConfig = {
20
+ disabled: false
21
+ };
22
+
23
+ const next = args => args; // eslint-disable-line @typescript-eslint/no-explicit-any
24
+
25
+
26
+ const signInUrl = "https://token.botframework.com/api/oauth/signin?signin=[signin]";
27
+ const args = {
28
+ cardAction: {
29
+ type: "signin",
30
+ value: signInUrl
31
+ }
32
+ };
33
+ const results = createCardActionMiddleware(botMagicCodeConfig)()(next)(args);
34
+ expect(args.cardAction.value).toEqual(results.cardAction.value);
35
+ });
36
+ it("createCardActionMiddleware() with botMagicCode disabled & no fwdUrl should not change the sign in card url", () => {
37
+ const botMagicCodeConfig = {
38
+ disabled: true
39
+ };
40
+
41
+ const next = args => args; // eslint-disable-line @typescript-eslint/no-explicit-any
42
+
43
+
44
+ const signInUrl = "https://token.botframework.com/api/oauth/signin?signin=[signin]";
45
+ const args = {
46
+ cardAction: {
47
+ type: "signin",
48
+ value: signInUrl
49
+ }
50
+ };
51
+ const results = createCardActionMiddleware(botMagicCodeConfig)()(next)(args);
52
+ expect(args.cardAction.value).toEqual(results.cardAction.value);
53
+ });
54
+ it("createCardActionMiddleware() with botMagicCode disabled & fwdUrl should append the fwdUrl in the sign in card url", () => {
55
+ const botMagicCodeConfig = {
56
+ disabled: true,
57
+ fwdUrl: "http://localhost/forwarder.html"
58
+ };
59
+
60
+ const next = args => args; // eslint-disable-line @typescript-eslint/no-explicit-any
61
+
62
+
63
+ const signInUrl = "https://token.botframework.com/api/oauth/signin?signin=[signin]";
64
+ const args = {
65
+ cardAction: {
66
+ type: "signin",
67
+ value: signInUrl
68
+ }
69
+ };
70
+ const results = createCardActionMiddleware(botMagicCodeConfig)()(next)(args);
71
+ expect(signInUrl === results.cardAction.value).toBe(false);
72
+ expect(results.cardAction.value === `${signInUrl}&fwdUrl=${botMagicCodeConfig.fwdUrl}`).toBe(true);
73
+ });
74
+ it("createCardActionMiddleware() should not append fwdUrl if fwdUrl & sign in card url are not in the same domain", () => {
75
+ const botMagicCodeConfig = {
76
+ disabled: true,
77
+ fwdUrl: "https://localhost/forwarder.html"
78
+ };
79
+
80
+ const next = args => args; // eslint-disable-line @typescript-eslint/no-explicit-any
81
+
82
+
83
+ const signInUrl = "https://token.botframework.com/api/oauth/signin?signin=[signin]";
84
+ const args = {
85
+ cardAction: {
86
+ type: "signin",
87
+ value: signInUrl
88
+ }
89
+ };
90
+ const results = createCardActionMiddleware(botMagicCodeConfig)()(next)(args);
91
+ expect(signInUrl === results.cardAction.value).toBe(true);
92
+ expect(results.cardAction.value === `${signInUrl}&fwdUrl=${botMagicCodeConfig.fwdUrl}`).toBe(false);
93
+ });
94
+ });
@@ -0,0 +1,107 @@
1
+ import { WebChatActionType } from "../../enums/WebChatActionType";
2
+ import { Constants } from "../../../../../common/Constants"; // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
3
+
4
+ const createMessageTimeStampMiddleware = _ref => {
5
+ let {
6
+ dispatch
7
+ } = _ref;
8
+ return next => action => {
9
+ if (isApplicable(action)) {
10
+ return next(evaluateTagsAndOverrideTimeStamp(action));
11
+ }
12
+
13
+ return next(action);
14
+ };
15
+ };
16
+
17
+ const isApplicable = action => {
18
+ return action.type === WebChatActionType.DIRECT_LINE_INCOMING_ACTIVITY && isPVAConversation(action) && isPayloadValid(action) && isValidChannel(action);
19
+ };
20
+
21
+ const isPayloadValid = action => {
22
+ var _action$payload;
23
+
24
+ return action === null || action === void 0 ? void 0 : (_action$payload = action.payload) === null || _action$payload === void 0 ? void 0 : _action$payload.activity;
25
+ };
26
+
27
+ const isValidChannel = action => {
28
+ var _action$payload2, _action$payload2$acti;
29
+
30
+ return (action === null || action === void 0 ? void 0 : (_action$payload2 = action.payload) === null || _action$payload2 === void 0 ? void 0 : (_action$payload2$acti = _action$payload2.activity) === null || _action$payload2$acti === void 0 ? void 0 : _action$payload2$acti.channelId) === Constants.acsChannel;
31
+ };
32
+
33
+ const isPVAConversation = action => {
34
+ return !isTagIncluded(action, Constants.systemMessageTag) && !isTagIncluded(action, Constants.publicMessageTag) && !isRoleUserOn(action);
35
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+
37
+
38
+ const isTagIncluded = (action, tag) => {
39
+ return isDataTagsPresent(action) && action.payload.activity.channelData.tags.includes(tag);
40
+ };
41
+
42
+ const isRoleUserOn = action => {
43
+ var _action$payload3, _action$payload3$acti, _action$payload3$acti2;
44
+
45
+ return (action === null || action === void 0 ? void 0 : (_action$payload3 = action.payload) === null || _action$payload3 === void 0 ? void 0 : (_action$payload3$acti = _action$payload3.activity) === null || _action$payload3$acti === void 0 ? void 0 : (_action$payload3$acti2 = _action$payload3$acti.from) === null || _action$payload3$acti2 === void 0 ? void 0 : _action$payload3$acti2.role) === Constants.userMessageTag;
46
+ };
47
+
48
+ const overrideTimeStamp = (timestampOriginal, timeStampNew) => {
49
+ return isTimestampValid(timeStampNew) ? timeStampNew : timestampOriginal;
50
+ };
51
+
52
+ const isTimestampValid = timeStamp => {
53
+ const regex = /(\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])(T)(\d{2})(:{1})(\d{2})(:{1})(\d{2})(.\d+)([Z]{1}))/;
54
+ return regex.test(timeStamp);
55
+ };
56
+
57
+ const isDataTagsPresent = action => {
58
+ var _action$payload4, _action$payload4$acti, _action$payload4$acti2;
59
+
60
+ return (action === null || action === void 0 ? void 0 : (_action$payload4 = action.payload) === null || _action$payload4 === void 0 ? void 0 : (_action$payload4$acti = _action$payload4.activity) === null || _action$payload4$acti === void 0 ? void 0 : (_action$payload4$acti2 = _action$payload4$acti.channelData) === null || _action$payload4$acti2 === void 0 ? void 0 : _action$payload4$acti2.tags) && action.payload.activity.channelData.tags.length > 0;
61
+ };
62
+
63
+ const evaluateTagsAndOverrideTimeStamp = action => {
64
+ const tagValue = tagLookup(action, Constants.prefixTimestampTag);
65
+
66
+ if (tagValue) {
67
+ const newTimestamp = extractTimeStamp(tagValue);
68
+ action.payload.activity.timestamp = overrideTimeStamp(action.payload.activity.timestamp, newTimestamp);
69
+ }
70
+
71
+ return action;
72
+ };
73
+
74
+ const extractTimeStamp = timeStamp => {
75
+ if (timeStamp && timeStamp.length > 0) {
76
+ const ts = timeStamp.split(Constants.prefixTimestampTag);
77
+
78
+ if (ts && ts.length > 1) {
79
+ return ts[1];
80
+ }
81
+ }
82
+
83
+ return timeStamp;
84
+ };
85
+
86
+ const tagLookup = (action, tag) => {
87
+ if (!isDataTagsPresent(action)) {
88
+ return null;
89
+ }
90
+
91
+ const tags = action.payload.activity.channelData.tags;
92
+ let value;
93
+
94
+ if (tags && tags.length > 0) {
95
+ for (let i = 0; i < tags.length; i++) {
96
+ value = tags[i];
97
+
98
+ if (value && value.indexOf(tag) > -1) {
99
+ return value;
100
+ }
101
+ }
102
+ }
103
+
104
+ return null;
105
+ };
106
+
107
+ export default createMessageTimeStampMiddleware;
@@ -17,22 +17,22 @@ const createConversationEndMiddleware = conversationEndCallback => _ref => {
17
17
  var _action$payload;
18
18
 
19
19
  if ((action === null || action === void 0 ? void 0 : action.type) == WebChatActionType.DIRECT_LINE_INCOMING_ACTIVITY && (_action$payload = action.payload) !== null && _action$payload !== void 0 && _action$payload.activity) {
20
- var _activity$from, _activity$from2, _activity$channelData5, _activity$channelData6;
20
+ var _activity$from, _activity$from2, _activity$channelData7, _activity$channelData8;
21
21
 
22
22
  const activity = action.payload.activity;
23
23
 
24
24
  if (((_activity$from = activity.from) === null || _activity$from === void 0 ? void 0 : _activity$from.role) === DirectLineSenderRole.Bot && activity.channelId === "ACS_CHANNEL") {
25
- var _activity$channelData, _activity$channelData2, _activity$channelData3, _activity$channelData4;
25
+ var _activity$channelData, _activity$channelData2, _activity$channelData3, _activity$channelData4, _activity$channelData5, _activity$channelData6;
26
26
 
27
27
  // ACS
28
- if ((_activity$channelData = activity.channelData) !== null && _activity$channelData !== void 0 && (_activity$channelData2 = _activity$channelData.tags) !== null && _activity$channelData2 !== void 0 && _activity$channelData2.includes(Constants.systemMessageTag) && (_activity$channelData3 = activity.channelData) !== null && _activity$channelData3 !== void 0 && (_activity$channelData4 = _activity$channelData3.tags) !== null && _activity$channelData4 !== void 0 && _activity$channelData4.includes(Constants.agentEndConversationMessageTag)) {
28
+ if ((_activity$channelData = activity.channelData) !== null && _activity$channelData !== void 0 && (_activity$channelData2 = _activity$channelData.tags) !== null && _activity$channelData2 !== void 0 && _activity$channelData2.includes(Constants.systemMessageTag) && ((_activity$channelData3 = activity.channelData) !== null && _activity$channelData3 !== void 0 && (_activity$channelData4 = _activity$channelData3.tags) !== null && _activity$channelData4 !== void 0 && _activity$channelData4.includes(Constants.agentEndConversationMessageTag) || (_activity$channelData5 = activity.channelData) !== null && _activity$channelData5 !== void 0 && (_activity$channelData6 = _activity$channelData5.tags) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.includes(Constants.supervisorForceCloseMessageTag))) {
29
29
  conversationEndCallback();
30
30
  }
31
- } else if (((_activity$from2 = activity.from) === null || _activity$from2 === void 0 ? void 0 : _activity$from2.role) === DirectLineSenderRole.Channel && ((_activity$channelData5 = activity.channelData) === null || _activity$channelData5 === void 0 ? void 0 : _activity$channelData5.type) === MessageTypes.Thread && (_activity$channelData6 = activity.channelData) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.properties) {
32
- var _activity$channelData7, _activity$channelData8, _activity$channelData9, _activity$channelData10;
31
+ } else if (((_activity$from2 = activity.from) === null || _activity$from2 === void 0 ? void 0 : _activity$from2.role) === DirectLineSenderRole.Channel && ((_activity$channelData7 = activity.channelData) === null || _activity$channelData7 === void 0 ? void 0 : _activity$channelData7.type) === MessageTypes.Thread && (_activity$channelData8 = activity.channelData) !== null && _activity$channelData8 !== void 0 && _activity$channelData8.properties) {
32
+ var _activity$channelData9, _activity$channelData10, _activity$channelData11, _activity$channelData12;
33
33
 
34
34
  // IC3
35
- if (((_activity$channelData7 = activity.channelData) === null || _activity$channelData7 === void 0 ? void 0 : (_activity$channelData8 = _activity$channelData7.properties) === null || _activity$channelData8 === void 0 ? void 0 : _activity$channelData8.isdeleted) === Constants.truePascal || !((_activity$channelData9 = activity.channelData) !== null && _activity$channelData9 !== void 0 && (_activity$channelData10 = _activity$channelData9.properties) !== null && _activity$channelData10 !== void 0 && _activity$channelData10.containsExternalEntitiesListeningAll)) {
35
+ if (((_activity$channelData9 = activity.channelData) === null || _activity$channelData9 === void 0 ? void 0 : (_activity$channelData10 = _activity$channelData9.properties) === null || _activity$channelData10 === void 0 ? void 0 : _activity$channelData10.isdeleted) === Constants.truePascal || !((_activity$channelData11 = activity.channelData) !== null && _activity$channelData11 !== void 0 && (_activity$channelData12 = _activity$channelData11.properties) !== null && _activity$channelData12 !== void 0 && _activity$channelData12.containsExternalEntitiesListeningAll)) {
36
36
  conversationEndCallback();
37
37
  }
38
38
  }
@@ -0,0 +1,32 @@
1
+ import { LogLevel } from "../../../../common/telemetry/TelemetryConstants";
2
+ import { TelemetryHelper } from "../../../../common/telemetry/TelemetryHelper";
3
+ export function createWebChatTelemetry() {
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
+ const handleTelemetry = event => {
6
+ const {
7
+ level
8
+ } = event;
9
+ const loglevel = level ? level.toUpperCase() : "";
10
+
11
+ switch (loglevel) {
12
+ case LogLevel.DEBUG:
13
+ TelemetryHelper.logWebChatEvent(LogLevel.DEBUG, event);
14
+ break;
15
+
16
+ case LogLevel.WARN:
17
+ TelemetryHelper.logWebChatEvent(LogLevel.WARN, event);
18
+ break;
19
+
20
+ case LogLevel.ERROR:
21
+ TelemetryHelper.logWebChatEvent(LogLevel.ERROR, event);
22
+ break;
23
+
24
+ case LogLevel.INFO:
25
+ default:
26
+ TelemetryHelper.logWebChatEvent(LogLevel.INFO, event);
27
+ break;
28
+ }
29
+ };
30
+
31
+ return handleTelemetry;
32
+ }
@@ -7,6 +7,8 @@ export let ConversationState;
7
7
  ConversationState[ConversationState["OutOfOffice"] = 3] = "OutOfOffice";
8
8
  ConversationState[ConversationState["ProactiveChat"] = 4] = "ProactiveChat";
9
9
  ConversationState[ConversationState["Active"] = 5] = "Active";
10
- ConversationState[ConversationState["Postchat"] = 6] = "Postchat";
11
- ConversationState[ConversationState["Closed"] = 7] = "Closed";
10
+ ConversationState[ConversationState["InActive"] = 6] = "InActive";
11
+ ConversationState[ConversationState["PostchatLoading"] = 7] = "PostchatLoading";
12
+ ConversationState[ConversationState["Postchat"] = 8] = "Postchat";
13
+ ConversationState[ConversationState["Closed"] = 9] = "Closed";
12
14
  })(ConversationState || (ConversationState = {}));
@@ -7,16 +7,16 @@ export let LiveChatWidgetActionType;
7
7
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_GLOBAL_DIR"] = 3] = "SET_GLOBAL_DIR";
8
8
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_MINIMIZED"] = 4] = "SET_MINIMIZED";
9
9
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CONVERSATION_STATE"] = 5] = "SET_CONVERSATION_STATE";
10
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PREVIOUS_FOCUSED_ELEMENT"] = 6] = "SET_PREVIOUS_FOCUSED_ELEMENT";
10
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PREVIOUS_FOCUSED_ELEMENT_ID"] = 6] = "SET_PREVIOUS_FOCUSED_ELEMENT_ID";
11
11
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_OUTSIDE_OPERATING_HOURS"] = 7] = "SET_OUTSIDE_OPERATING_HOURS";
12
12
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRE_CHAT_SURVEY_RESPONSE"] = 8] = "SET_PRE_CHAT_SURVEY_RESPONSE";
13
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_CONFIRMATION"] = 9] = "SET_SHOW_CONFIRMATION";
14
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_EMAIL_TRANSCRIPT_PANE"] = 10] = "SET_SHOW_EMAIL_TRANSCRIPT_PANE";
15
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRECHAT_RESPONSE_EMAIL"] = 11] = "SET_PRECHAT_RESPONSE_EMAIL";
16
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_AUDIO_NOTIFICATION"] = 12] = "SET_AUDIO_NOTIFICATION";
17
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_E2VV_ENABLED"] = 13] = "SET_E2VV_ENABLED";
18
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_POST_CHAT_CONTEXT"] = 14] = "SET_POST_CHAT_CONTEXT";
19
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOULD_SHOW_POST_CHAT"] = 15] = "SET_SHOULD_SHOW_POST_CHAT";
13
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CUSTOM_CONTEXT"] = 9] = "SET_CUSTOM_CONTEXT";
14
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_CONFIRMATION"] = 10] = "SET_SHOW_CONFIRMATION";
15
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_EMAIL_TRANSCRIPT_PANE"] = 11] = "SET_SHOW_EMAIL_TRANSCRIPT_PANE";
16
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRECHAT_RESPONSE_EMAIL"] = 12] = "SET_PRECHAT_RESPONSE_EMAIL";
17
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_AUDIO_NOTIFICATION"] = 13] = "SET_AUDIO_NOTIFICATION";
18
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_E2VV_ENABLED"] = 14] = "SET_E2VV_ENABLED";
19
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_POST_CHAT_CONTEXT"] = 15] = "SET_POST_CHAT_CONTEXT";
20
20
  LiveChatWidgetActionType[LiveChatWidgetActionType["SHOW_CALLING_CONTAINER"] = 16] = "SHOW_CALLING_CONTAINER";
21
21
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_INCOMING_CALL"] = 17] = "SET_INCOMING_CALL";
22
22
  LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_VIDEO_CALL"] = 18] = "DISABLE_VIDEO_CALL";
@@ -30,4 +30,9 @@ export let LiveChatWidgetActionType;
30
30
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_UNREAD_MESSAGE_COUNT"] = 26] = "SET_UNREAD_MESSAGE_COUNT";
31
31
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_FOCUS_CHAT_BUTTON"] = 27] = "SET_FOCUS_CHAT_BUTTON";
32
32
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CONVERSATION_ENDED_BY_AGENT"] = 28] = "SET_CONVERSATION_ENDED_BY_AGENT";
33
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_STATE"] = 29] = "SET_WIDGET_STATE";
34
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_LIVE_CHAT_CONTEXT"] = 30] = "SET_LIVE_CHAT_CONTEXT";
35
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_BOT_OAUTH_SIGNIN_ID"] = 31] = "SET_BOT_OAUTH_SIGNIN_ID";
36
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_SIZE"] = 32] = "SET_WIDGET_SIZE";
37
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_INSTANCE_ID"] = 33] = "SET_WIDGET_INSTANCE_ID";
33
38
  })(LiveChatWidgetActionType || (LiveChatWidgetActionType = {}));
@@ -1,7 +1,16 @@
1
1
  import { ConversationState } from "./ConversationState";
2
2
  import { defaultMiddlewareLocalizedTexts } from "../../components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts";
3
+ import { getWidgetCacheId, isNullOrUndefined } from "../../common/utils";
4
+ import { defaultClientDataStoreProvider } from "../../common/storage/default/defaultClientDataStoreProvider";
3
5
  export const getLiveChatWidgetContextInitialState = props => {
4
- var _props$webChatContain;
6
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps, _props$webChatContain;
7
+
8
+ const widgetCacheId = getWidgetCacheId(props === null || props === void 0 ? void 0 : (_props$chatSDK = props.chatSDK) === null || _props$chatSDK === void 0 ? void 0 : (_props$chatSDK$omnich = _props$chatSDK.omnichannelConfig) === null || _props$chatSDK$omnich === void 0 ? void 0 : _props$chatSDK$omnich.orgId, props === null || props === void 0 ? void 0 : (_props$chatSDK2 = props.chatSDK) === null || _props$chatSDK2 === void 0 ? void 0 : (_props$chatSDK2$omnic = _props$chatSDK2.omnichannelConfig) === null || _props$chatSDK2$omnic === void 0 ? void 0 : _props$chatSDK2$omnic.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "");
9
+ const initialState = defaultClientDataStoreProvider().getData(widgetCacheId, "localStorage");
10
+
11
+ if (!isNullOrUndefined(initialState)) {
12
+ return JSON.parse(initialState);
13
+ }
5
14
 
6
15
  const LiveChatWidgetContextInitialState = {
7
16
  domainStates: {
@@ -13,14 +22,17 @@ export const getLiveChatWidgetContextInitialState = props => {
13
22
  chatToken: undefined,
14
23
  postChatContext: undefined,
15
24
  telemetryInternalData: {},
16
- globalDir: "ltr"
25
+ globalDir: "ltr",
26
+ liveChatContext: undefined,
27
+ customContext: undefined,
28
+ widgetSize: undefined,
29
+ widgetInstanceId: ""
17
30
  },
18
31
  appStates: {
19
32
  conversationState: ConversationState.Closed,
20
33
  isMinimized: false,
21
- previousElementOnFocusBeforeModalOpen: null,
34
+ previousElementIdOnFocusBeforeModalOpen: null,
22
35
  outsideOperatingHours: false,
23
- shouldShowPostChat: false,
24
36
  preChatResponseEmail: "",
25
37
  isAudioMuted: null,
26
38
  newMessage: false,
@@ -46,5 +58,5 @@ export const getLiveChatWidgetContextInitialState = props => {
46
58
  focusChatButton: false
47
59
  }
48
60
  };
49
- return props.liveChatContextFromCache ?? LiveChatWidgetContextInitialState;
61
+ return LiveChatWidgetContextInitialState;
50
62
  };
@@ -1,6 +1,5 @@
1
1
  /* eslint-disable indent */
2
2
  import { LiveChatWidgetActionType } from "./common/LiveChatWidgetActionType";
3
- import { TelemetryManager } from "../common/telemetry/TelemetryManager";
4
3
  export const createReducer = () => {
5
4
  const reducer = (state, action) => {
6
5
  var _action$payload, _action$payload2, _action$payload3;
@@ -62,10 +61,18 @@ export const createReducer = () => {
62
61
  }
63
62
  };
64
63
 
65
- case LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT:
64
+ case LiveChatWidgetActionType.SET_CUSTOM_CONTEXT:
65
+ return { ...state,
66
+ domainStates: { ...state.domainStates,
67
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
+ customContext: action.payload
69
+ }
70
+ };
71
+
72
+ case LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT_ID:
66
73
  return { ...state,
67
74
  appStates: { ...state.appStates,
68
- previousElementOnFocusBeforeModalOpen: action.payload
75
+ previousElementIdOnFocusBeforeModalOpen: action.payload
69
76
  }
70
77
  };
71
78
 
@@ -84,13 +91,6 @@ export const createReducer = () => {
84
91
  }
85
92
  };
86
93
 
87
- case LiveChatWidgetActionType.SET_SHOULD_SHOW_POST_CHAT:
88
- return { ...state,
89
- appStates: { ...state.appStates,
90
- shouldShowPostChat: action.payload
91
- }
92
- };
93
-
94
94
  case LiveChatWidgetActionType.SHOW_CALLING_CONTAINER:
95
95
  return { ...state,
96
96
  uiStates: { ...state.uiStates,
@@ -136,6 +136,7 @@ export const createReducer = () => {
136
136
  case LiveChatWidgetActionType.SET_CHAT_TOKEN:
137
137
  return { ...state,
138
138
  domainStates: { ...state.domainStates,
139
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
139
140
  chatToken: action.payload
140
141
  }
141
142
  };
@@ -187,7 +188,6 @@ export const createReducer = () => {
187
188
  };
188
189
 
189
190
  case LiveChatWidgetActionType.SET_TELEMETRY_DATA:
190
- TelemetryManager.InternalTelemetryData = action.payload;
191
191
  return { ...state,
192
192
  domainStates: { ...state.domainStates,
193
193
  telemetryInternalData: action.payload
@@ -208,6 +208,18 @@ export const createReducer = () => {
208
208
  }
209
209
  };
210
210
 
211
+ case LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT:
212
+ return { ...state,
213
+ domainStates: { ...state.domainStates,
214
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
215
+ liveChatContext: action.payload
216
+ }
217
+ };
218
+
219
+ case LiveChatWidgetActionType.SET_WIDGET_STATE:
220
+ return { ...action.payload
221
+ };
222
+
211
223
  case LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT:
212
224
  return { ...state,
213
225
  appStates: { ...state.appStates,
@@ -215,6 +227,22 @@ export const createReducer = () => {
215
227
  }
216
228
  };
217
229
 
230
+ case LiveChatWidgetActionType.SET_WIDGET_SIZE:
231
+ return { ...state,
232
+ domainStates: { ...state.domainStates,
233
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
234
+ widgetSize: action.payload
235
+ }
236
+ };
237
+
238
+ case LiveChatWidgetActionType.SET_WIDGET_INSTANCE_ID:
239
+ return { ...state,
240
+ domainStates: { ...state.domainStates,
241
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
242
+ widgetInstanceId: action.payload
243
+ }
244
+ };
245
+
218
246
  default:
219
247
  return state;
220
248
  }
@@ -1,6 +1,6 @@
1
1
  import { ConversationState } from "../contexts/common/ConversationState";
2
2
  export const shouldShowChatButton = state => {
3
- return state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed;
3
+ return (state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed) && state.appStates.skipChatButtonRendering == false; // Do not show chat button in case of popout
4
4
  };
5
5
  export const shouldShowProactiveChatPane = state => {
6
6
  return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.ProactiveChat;
@@ -9,22 +9,22 @@ export const shouldShowHeader = state => {
9
9
  return !state.appStates.isMinimized && state.appStates.conversationState !== ConversationState.Closed && state.appStates.conversationState !== ConversationState.ProactiveChat;
10
10
  };
11
11
  export const shouldShowFooter = state => {
12
- return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.Active;
12
+ return !state.appStates.isMinimized && (state.appStates.conversationState === ConversationState.Active || state.appStates.conversationState === ConversationState.InActive);
13
13
  };
14
14
  export const shouldShowEmailTranscriptPane = state => {
15
15
  return state.uiStates.showEmailTranscriptPane;
16
16
  };
17
17
  export const shouldShowWebChatContainer = state => {
18
- return state.appStates.conversationState === ConversationState.Active;
18
+ return state.appStates.conversationState === ConversationState.Active || state.appStates.conversationState === ConversationState.InActive;
19
19
  };
20
20
  export const shouldShowLoadingPane = state => {
21
- return !state.appStates.isMinimized && !state.appStates.shouldShowPostChat && state.appStates.conversationState === ConversationState.Loading;
21
+ return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.Loading;
22
22
  };
23
23
  export const shouldShowReconnectChatPane = state => {
24
24
  return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.ReconnectChat;
25
25
  };
26
26
  export const shouldShowPostChatLoadingPane = state => {
27
- return !state.appStates.isMinimized && state.appStates.shouldShowPostChat && state.appStates.conversationState === ConversationState.Loading;
27
+ return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.PostchatLoading;
28
28
  };
29
29
  export const shouldShowOutOfOfficeHoursPane = state => {
30
30
  return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.OutOfOffice;
@@ -0,0 +1,82 @@
1
+ import { BroadcastEvent, LogLevel, TelemetryEvent } from "../common/telemetry/TelemetryConstants";
2
+ import { BroadcastService } from "@microsoft/omnichannel-chat-components";
3
+ import { Constants } from "../common/Constants";
4
+ import { TelemetryHelper } from "../common/telemetry/TelemetryHelper";
5
+ export const createOnNewAdapterActivityHandler = (chatId, userId) => {
6
+ const onNewAdapterActivityHandler = activity => {
7
+ var _activity$channelData, _activity$channelData2, _activity$channelData3;
8
+
9
+ const isActivityMessage = (activity === null || activity === void 0 ? void 0 : activity.type) === Constants.message;
10
+ const isNotHistoryMessage = isActivityMessage && !(activity !== null && activity !== void 0 && (_activity$channelData = activity.channelData) !== null && _activity$channelData !== void 0 && (_activity$channelData2 = _activity$channelData.tags) !== null && _activity$channelData2 !== void 0 && _activity$channelData2.includes(Constants.historyMessageTag)) && !(activity !== null && activity !== void 0 && (_activity$channelData3 = activity.channelData) !== null && _activity$channelData3 !== void 0 && _activity$channelData3.fromList);
11
+
12
+ if (isNotHistoryMessage) {
13
+ raiseMessageEvent(activity);
14
+ }
15
+ };
16
+
17
+ const raiseMessageEvent = activity => {
18
+ if ((activity === null || activity === void 0 ? void 0 : activity.type) === Constants.message) {
19
+ var _text, _text2, _activity$channelData4, _activity$from;
20
+
21
+ const payload = {
22
+ // To identify hidden contents vs empty content
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ text: (activity === null || activity === void 0 ? void 0 : (_text = activity.text) === null || _text === void 0 ? void 0 : _text.length) >= 1 ? `*contents hidden (${activity === null || activity === void 0 ? void 0 : (_text2 = activity.text) === null || _text2 === void 0 ? void 0 : _text2.length} chars)*` : "",
25
+ type: activity === null || activity === void 0 ? void 0 : activity.type,
26
+ timestamp: activity === null || activity === void 0 ? void 0 : activity.timestamp,
27
+ userId: userId,
28
+ tags: activity === null || activity === void 0 ? void 0 : (_activity$channelData4 = activity.channelData) === null || _activity$channelData4 === void 0 ? void 0 : _activity$channelData4.tags,
29
+ messageType: ""
30
+ };
31
+
32
+ if ((activity === null || activity === void 0 ? void 0 : (_activity$from = activity.from) === null || _activity$from === void 0 ? void 0 : _activity$from.role) === Constants.userMessageTag) {
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ payload.messageType = Constants.userMessageTag;
35
+ const newMessageSentEvent = {
36
+ eventName: BroadcastEvent.NewMessageSent,
37
+ payload: payload
38
+ };
39
+ BroadcastService.postMessage(newMessageSentEvent);
40
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
41
+ Event: TelemetryEvent.MessageSent,
42
+ Description: "New message sent"
43
+ });
44
+ } else {
45
+ var _activity$channelData5, _activity$channelData6;
46
+
47
+ if (activity !== null && activity !== void 0 && (_activity$channelData5 = activity.channelData) !== null && _activity$channelData5 !== void 0 && (_activity$channelData6 = _activity$channelData5.tags) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.includes(Constants.systemMessageTag)) {
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ payload.messageType = Constants.systemMessageTag;
50
+ } else {
51
+ var _activity$channelData7, _activity$channelData8, _activity$channelData9;
52
+
53
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+ const messageHasNoText = !(activity !== null && activity !== void 0 && activity.text); // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+
56
+ const messageHasNoTags = !(activity !== null && activity !== void 0 && activity.channelData) || !(activity !== null && activity !== void 0 && (_activity$channelData7 = activity.channelData) !== null && _activity$channelData7 !== void 0 && _activity$channelData7.tags) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData8 = activity.channelData) === null || _activity$channelData8 === void 0 ? void 0 : (_activity$channelData9 = _activity$channelData8.tags) === null || _activity$channelData9 === void 0 ? void 0 : _activity$channelData9.length) === 0; // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
+
58
+ const messageHasNoAttachments = !(activity !== null && activity !== void 0 && activity.attachments) || (activity === null || activity === void 0 ? void 0 : activity.attachments.length) === 0;
59
+
60
+ if (messageHasNoTags && messageHasNoText && messageHasNoAttachments) {
61
+ return;
62
+ }
63
+
64
+ payload.messageType = Constants.userMessageTag;
65
+ }
66
+
67
+ const newMessageReceivedEvent = {
68
+ eventName: BroadcastEvent.NewMessageReceived,
69
+ payload: payload
70
+ };
71
+ BroadcastService.postMessage(newMessageReceivedEvent);
72
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
73
+ Event: TelemetryEvent.MessageReceived,
74
+ Description: "New message received",
75
+ Data: payload
76
+ });
77
+ }
78
+ }
79
+ };
80
+
81
+ return onNewAdapterActivityHandler;
82
+ };
@@ -0,0 +1 @@
1
+ export declare const NewMessageNotificationSoundBase64: string;
@@ -0,0 +1,11 @@
1
+ export declare const ArchiveIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDQ4IDIwNDgiIHdpZHRoPSIxMnB4IiBoZWlnaHQ9IjEycHgiPg0KPHBhdGggZD0iTTE3OTIgMHEyNyAwIDUwIDEwdDQwIDI3IDI4IDQxIDEwIDUwdjQ4MHEwIDQ1LTkgNzd0LTI0IDU4LTMxIDQ2LTMxIDQwLTIzIDQ0LTEwIDU1djk5MnEwIDI3LTEwIDUwdC0yNyA0MC00MSAyOC01MCAxMEgyNTZWMGgxNTM2ek02NDAgMTI4djM4NGgyNTZWMTI4SDY0MHptMTAyNCA4MDBxMC0zMS05LTU0dC0yNC00NC0zMS00MS0zMS00NS0yMy01OC0xMC03OFYxMjhoLTUxMnY1MTJINzY4djEyOEg2NDBWNjQwSDUxMlYxMjhIMzg0djE3OTJoMzg0di0xMjhoMTI4djEyOGg3NjhWOTI4em0xMjgtODAwaC0xMjh2NDgwcTAgMjQgNCA0MnQxMyAzMyAyMCAyOSAyNyAzMnExNS0xNyAyNi0zMXQyMC0zMCAxMy0zMyA1LTQyVjEyOHpNNjQwIDg5NmgxMjh2MTI4SDY0MFY4OTZ6bTAgMjU2aDEyOHYxMjhINjQwdi0xMjh6bTAgMjU2aDEyOHYxMjhINjQwdi0xMjh6bTEyOCAyNTZ2MTI4SDY0MHYtMTI4aDEyOHptMC03NjhWNzY4aDEyOHYxMjhINzY4em0wIDI1NnYtMTI4aDEyOHYxMjhINzY4em0wIDI1NnYtMTI4aDEyOHYxMjhINzY4em0wIDI1NnYtMTI4aDEyOHYxMjhINzY4eiIgLz4NCjwvc3ZnPg==";
2
+ export declare const AudioIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0xNzkyIDE0MDhxMCA2Mi0yOSAxMDl0LTc2IDgwLTEwNCA1MC0xMTEgMTdxLTU0IDAtMTExLTE3dC0xMDMtNDktNzYtODAtMzAtMTEwcTAtNjEgMjktMTA5dDc2LTgwIDEwNC01MCAxMTEtMTdxNTEgMCAxMDAgMTJ0OTIgMzlWMjI2TDc2OCA0NTB2MTIxNHEwIDYyLTI5IDEwOXQtNzYgODAtMTA0IDUwLTExMSAxN3EtNTQgMC0xMTEtMTd0LTEwMy00OS03Ni04MC0zMC0xMTBxMC02MSAyOS0xMDl0NzYtODAgMTA0LTUwIDExMS0xN3E1MSAwIDEwMCAxMnQ5MiAzOVYzNTBMMTc5MiA2MnYxMzQ2eiIgLz4NCjwvc3ZnPg==";
3
+ export declare const BlankIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik01NDkgMGgxMjQzdjE3NTVsLTI5MyAyOTNIMjU2VjI5M0w1NDkgMHptMTExNSAxNzAxVjEyOEg2MDNMMzg0IDM0N3YxNTczaDEwNjFsMjE5LTIxOXoiIC8+DQo8L3N2Zz4=";
4
+ export declare const ExcelIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNMjYxIDE0MjRoMTg5cTItNCAxMi0yM3QyNS00NSAyOS01NSAyOS01MyAyMy00MSAxMC0xN3EyNyA1OSA2MCAxMTh0NjUgMTE2aDE4N2wtMjA5LTMzOSAyMDUtMzMzSDcwN3EtMzEgNTctNjAgMTE0dC02MyAxMTJxLTI5LTU3LTU3LTExM3QtNTctMTEzSDI3OWwxOTkgMzM1LTIxNyAzMzd6bTM3OSA0OTZoMTI4MFY1MTJoLTI1NnEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTBWMTI4SDY0MHYzODRoMzk3cTI0IDAgNDQgOXQzNyAyNSAyNSAzNiA5IDQ1djkyMnEwIDI0LTkgNDR0LTI1IDM3LTM2IDI1LTQ1IDlINjQwdjI1NnptNjQwLTEwMjRWNzY4aDUxMnYxMjhoLTUxMnptMCAyNTZ2LTEyOGg1MTJ2MTI4aC01MTJ6bTAgMjU2di0xMjhoNTEydjEyOGgtNTEyeiIgLz4NCjwvc3ZnPg==";
5
+ export declare const ImageIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yNTYgMTkyMGgxNTM2djEyOEgxMjhWMGgxMTE1bDU0OSA1NDl2OTFoLTY0MFYxMjhIMjU2djE3OTJ6TTEyODAgNTEyaDI5M2wtMjkzLTI5M3YyOTN6bTc2OCAyNTZ2MTAyNEg2NDBWNzY4aDE0MDh6TTc2OCA4OTZ2NDIxbDMyMC0zMTkgNDE2IDQxNiAxNjAtMTYwIDI1NiAyNTZWODk2SDc2OHptOTg3IDc2OGgxMzlsLTIzMC0yMzAtNjkgNzAgMTYwIDE2MHptLTk4NyAwaDgwNWwtNDg1LTQ4Ni0zMjAgMzIxdjE2NXptOTYwLTUxMnEtMjYgMC00NS0xOXQtMTktNDVxMC0yNiAxOS00NXQ0NS0xOXEyNiAwIDQ1IDE5dDE5IDQ1cTAgMjYtMTkgNDV0LTQ1IDE5eiIgLz4NCjwvc3ZnPg==";
6
+ export declare const OneNoteIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0xOTYzIDEyOHEzNSAwIDYwIDI1dDI1IDYwdjE2MjJxMCAzNS0yNSA2MHQtNjAgMjVINTk3cS0zNSAwLTYwLTI1dC0yNS02MHYtMjk5SDg1cS0zNSAwLTYwLTI1dC0yNS02MFY1OTdxMC0zNSAyNS02MHQ2MC0yNWg0MjdWMjEzcTAtMzUgMjUtNjB0NjAtMjVoMTM2NnpNMzg5IDkzOWwyNDIgNDIwaDE1MlY2ODlINjM1djQyOUw0MDIgNjg5SDI0MXY2NzBoMTQ4VjkzOXptMTUzMSA4NTN2LTI1NmgtMjU2djI1NmgyNTZ6bTAtMzg0di0yNTZoLTI1NnYyNTZoMjU2em0wLTM4NFY3NjhoLTI1NnYyNTZoMjU2em0wLTM4NFYyNTZINjQwdjI1NmgyOTlxMzUgMCA2MCAyNXQyNSA2MHY4NTRxMCAzNS0yNSA2MHQtNjAgMjVINjQwdjI1Nmg4OTZWNjQwaDM4NHoiIC8+DQo8L3N2Zz4=";
7
+ export declare const PDFIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0xOTIwIDE2NjRoLTEyOHYzODRIMTI4di0zODRIMFY2NDBoMTI4VjBoMTI0M2w0MjEgNDIxdjIxOWgxMjh2MTAyNHpNMTQwOCAzODRoMTY1bC0xNjUtMTY1djE2NXpNMjU2IDY0MGgxNDA4VjUxMmgtMzg0VjEyOEgyNTZ2NTEyem0xNDA4IDEwMjRIMjU2djI1NmgxNDA4di0yNTZ6bTEyOC04OTZIMTI4djc2OGgxNjY0Vjc2OHpNNDQ4IDg5NnE0MCAwIDc1IDE1dDYxIDQxIDQxIDYxIDE1IDc1cTAgNDAtMTUgNzV0LTQxIDYxLTYxIDQxLTc1IDE1aC02NHYxMjhIMjU2Vjg5NmgxOTJ6bTAgMjU2cTI2IDAgNDUtMTl0MTktNDVxMC0yNi0xOS00NXQtNDUtMTloLTY0djEyOGg2NHptNDQ4LTI1NnE1MyAwIDk5IDIwdDgyIDU1IDU1IDgxIDIwIDEwMHEwIDUzLTIwIDk5dC01NSA4Mi04MSA1NS0xMDAgMjBINzY4Vjg5NmgxMjh6bTAgMzg0cTI3IDAgNTAtMTB0NDAtMjcgMjgtNDEgMTAtNTBxMC0yNy0xMC01MHQtMjctNDAtNDEtMjgtNTAtMTB2MjU2em0zODQtMzg0aDMyMHYxMjhoLTE5MnYxMjhoMTkydjEyOGgtMTkydjEyOGgtMTI4Vjg5NnoiIC8+DQo8L3N2Zz4=";
8
+ export declare const PowerpointIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNMzY4IDc1MnY2NzJoMTUwdi0yMjZoMTAwcTUyIDAgOTctMTV0NzgtNDYgNTMtNzIgMjAtOTdxMC01Ni0xNy05N3QtNTAtNjctNzYtMzktOTctMTNIMzY4em0xNTUyIDExNjhWNTEyaC0yNTZxLTI3IDAtNTAtMTB0LTQwLTI3LTI4LTQxLTEwLTUwVjEyOEg2NDB2Mzg0aDM5N3EyNCAwIDQ0IDl0MzcgMjUgMjUgMzYgOSA0NXY5MjJxMCAyNC05IDQ0dC0yNSAzNy0zNiAyNS00NSA5SDY0MHYyNTZoMTI4MHpNMTUzNiA2NDBxNzkgMCAxNDkgMzB0MTIyIDgyIDgzIDEyMyAzMCAxNDloLTM4NFY2NDB6bS0xMjggMTI4djM4NGgzODRxMCA4MC0zMCAxNDl0LTgyIDEyMi0xMjMgODMtMTQ5IDMwcS0zMyAwLTY1LTZ0LTYzLTE4Vjc5MnEzMS0xMSA2My0xN3Q2NS03em0tODA0IDMwMGgtODZWODgzaDkwcTQ3IDAgNzQgMjB0MjcgNzBxMCA1Mi0yOCA3M3QtNzcgMjJ6IiAvPg0KPC9zdmc+";
9
+ export declare const VideoIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0wIDI1NmgyMDQ4djE0MDhIMFYyNTZ6bTI1NiAxMjgwdi0xMjhIMTI4djEyOGgxMjh6bTAtMjU2di0xMjhIMTI4djEyOGgxMjh6bTAtMjU2Vjg5NkgxMjh2MTI4aDEyOHptMC0yNTZWNjQwSDEyOHYxMjhoMTI4em0wLTI1NlYzODRIMTI4djEyOGgxMjh6bTE0MDggNzg2VjM4NEgzODR2ODIzbDQxMS01NDkgNzQxIDg3OC0zMjktNTU4IDEzNy0xMzcgMzIwIDQ1N3ptMjU2IDIzOHYtMTI4aC0xMjh2MTI4aDEyOHptMC0yNTZ2LTEyOGgtMTI4djEyOGgxMjh6bTAtMjU2Vjg5NmgtMTI4djEyOGgxMjh6bTAtMjU2VjY0MGgtMTI4djEyOGgxMjh6bTAtMjU2VjM4NGgtMTI4djEyOGgxMjh6IiAvPg0KPC9zdmc+";
10
+ export declare const VisioIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNNDkzIDE0MjRoMTYzbDI1NS02NzJINzQ1bC0xNDcgNDI3cS01IDE2LTEwIDMxdC0xMSAzMXEtNDEtMTIzLTgyLTI0NHQtODQtMjQ1SDI0MWwyNDggNjYyIDQgMTB6bTE0NyA0OTZoMTI4MFY1MTJoLTI1NnEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTBWMTI4SDY0MHYzODRoMzk3cTI0IDAgNDQgOXQzNyAyNSAyNSAzNiA5IDQ1djkyMnEwIDI0LTkgNDR0LTI1IDM3LTM2IDI1LTQ1IDlINjQwdjI1NnptOTYwLTEyODBsMTkyIDE5Mi0xMjggMTI4djQ0OGgtMjU2djEyOGgtMTI4di0zODRoMTI4djEyOGgxMjhWOTYwbC0xMjgtMTI4IDE5Mi0xOTJ6IiAvPg0KPC9zdmc+";
11
+ export declare const WordIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNMzIwIDE0MjRoMTYxcTItOCA5LTQzdDE4LTgzIDIxLTEwMyAyMi0xMDEgMTYtNzYgOC0zMWw3IDMwcTcgMzAgMTcgNzd0MjMgMTAwIDIzIDEwMyAxOSA4NCAxMCA0M2gxNjBsMTQ4LTY3Mkg4MzRsLTgwIDQzOC0xMDAtNDM4SDUwMmwtOTYgNDQwLTg2LTQ0MEgxNzBsMTUwIDY3MnptMzIwIDQ5NmgxMjgwVjUxMmgtMjU2cS0yNyAwLTUwLTEwdC00MC0yNy0yOC00MS0xMC01MFYxMjhINjQwdjM4NGgzOTdxMjQgMCA0NCA5dDM3IDI1IDI1IDM2IDkgNDV2OTIycTAgMjQtOSA0NHQtMjUgMzctMzYgMjUtNDUgOUg2NDB2MjU2em02NDAtMTAyNFY3NjhoNTEydjEyOGgtNTEyem0wIDI1NnYtMTI4aDUxMnYxMjhoLTUxMnptMCAyNTZ2LTEyOGg1MTJ2MTI4aC01MTJ6IiAvPg0KPC9zdmc+";