@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
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.prepareStartChat = exports.initStartChat = void 0;
7
-
8
- var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
6
+ exports.setPreChatAndInitiateChat = exports.prepareStartChat = exports.initStartChat = void 0;
9
7
 
10
8
  var _Constants = require("../../../common/Constants");
11
9
 
10
+ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
11
+
12
12
  var _ConversationState = require("../../../contexts/common/ConversationState");
13
13
 
14
14
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
@@ -23,20 +23,46 @@ var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
23
23
 
24
24
  var _createAdapter = require("./createAdapter");
25
25
 
26
+ var _newMessageEventHandler = require("../../../plugins/newMessageEventHandler");
27
+
26
28
  var _utils = require("../../../common/utils");
27
29
 
28
30
  var _reconnectChatHelper = require("./reconnectChatHelper");
29
31
 
32
+ var _setPostChatContextAndLoadSurvey = require("./setPostChatContextAndLoadSurvey");
33
+
30
34
  var _updateSessionDataForTelemetry = require("./updateSessionDataForTelemetry");
31
35
 
32
- var _setPostChatContextAndLoadSurvey = require("./setPostChatContextAndLoadSurvey");
36
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
37
+
38
+ var _ActivityStreamHandler = require("./ActivityStreamHandler");
39
+
40
+ var _authHelper = require("./authHelper");
33
41
 
34
42
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
+ let optionalParams = {}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
+
45
+ let widgetInstanceId; // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
+
35
47
  const prepareStartChat = async (props, chatSDK, state, dispatch, setAdapter) => {
36
- // Getting PreChat Survey Context
37
- const parseToJson = false;
38
- const preChatSurveyResponse = await chatSDK.getPreChatSurvey(parseToJson);
39
- const showPrechat = state.appStates.conversationState === _ConversationState.ConversationState.ProactiveChat ? preChatSurveyResponse && state.appStates.proactiveChatStates.proactiveChatEnablePrechat : preChatSurveyResponse; // Getting reconnectId for authenticated chat
48
+ var _props$controlProps, _props$reconnectChatP;
49
+
50
+ optionalParams = {}; //Resetting to ensure no stale values
51
+
52
+ widgetInstanceId = props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId; // Can connect to existing chat session
53
+
54
+ if (await canConnectToExistingChat(props, chatSDK, state, dispatch, setAdapter)) {
55
+ return;
56
+ } // Redirecting if unauthenticated reconnect chat expired
57
+
58
+
59
+ if ((_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
60
+ var _props$reconnectChatP2, _props$reconnectChatP3, _props$reconnectChatP4;
61
+
62
+ await (0, _reconnectChatHelper.handleRedirectUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, initStartChat, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.isReconnectEnabled, (_props$reconnectChatP3 = props.reconnectChatPaneProps) === null || _props$reconnectChatP3 === void 0 ? void 0 : _props$reconnectChatP3.reconnectId, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.redirectInSameWindow);
63
+ return;
64
+ } // Getting reconnectId for authenticated chat
65
+
40
66
 
41
67
  const reconnectId = await (0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK);
42
68
 
@@ -49,7 +75,26 @@ const prepareStartChat = async (props, chatSDK, state, dispatch, setAdapter) =>
49
75
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
50
76
  payload: _ConversationState.ConversationState.ReconnectChat
51
77
  });
52
- } else if (showPrechat) {
78
+ return;
79
+ } // Setting Proactive chat settings
80
+
81
+
82
+ const isProactiveChat = state.appStates.conversationState === _ConversationState.ConversationState.ProactiveChat;
83
+ const isPreChatEnabledInProactiveChat = state.appStates.proactiveChatStates.proactiveChatEnablePrechat; //Setting PreChat and intiate chat
84
+
85
+ setPreChatAndInitiateChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, isProactiveChat, isPreChatEnabledInProactiveChat);
86
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
87
+
88
+
89
+ exports.prepareStartChat = prepareStartChat;
90
+
91
+ const setPreChatAndInitiateChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isProactiveChat, proactiveChatEnablePrechatState) => {
92
+ // Getting prechat Survey Context
93
+ const parseToJson = false;
94
+ const preChatSurveyResponse = await chatSDK.getPreChatSurvey(parseToJson);
95
+ const showPrechat = isProactiveChat ? preChatSurveyResponse && proactiveChatEnablePrechatState : preChatSurveyResponse;
96
+
97
+ if (showPrechat) {
53
98
  dispatch({
54
99
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PRE_CHAT_SURVEY_RESPONSE,
55
100
  payload: preChatSurveyResponse
@@ -58,57 +103,118 @@ const prepareStartChat = async (props, chatSDK, state, dispatch, setAdapter) =>
58
103
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
59
104
  payload: _ConversationState.ConversationState.Prechat
60
105
  });
61
- } else {
62
- dispatch({
63
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
64
- payload: _ConversationState.ConversationState.Loading
65
- });
66
- await initStartChat(chatSDK, dispatch, setAdapter);
67
- }
106
+ return;
107
+ } //Initiate start chat
108
+
109
+
110
+ dispatch({
111
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
112
+ payload: _ConversationState.ConversationState.Loading
113
+ });
114
+ await initStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter);
68
115
  }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
116
 
70
117
 
71
- exports.prepareStartChat = prepareStartChat;
118
+ exports.setPreChatAndInitiateChat = setPreChatAndInitiateChat;
72
119
 
73
- const initStartChat = async (chatSDK, dispatch, setAdapter, params) => {
120
+ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, params, persistedState) => {
74
121
  try {
75
- var _TelemetryTimers$Widg;
122
+ var _newAdapter$activity$, _TelemetryTimers$Widg;
76
123
 
77
- try {
78
- _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.INFO, {
79
- Event: _TelemetryConstants.TelemetryEvent.StartChatSDKCall
124
+ const authClientFunction = (0, _authHelper.getAuthClientFunction)(chatConfig);
125
+
126
+ if (getAuthToken && authClientFunction) {
127
+ // set auth token to chat sdk before start chat
128
+ const authSuccess = await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
129
+
130
+ if (!authSuccess) {
131
+ return;
132
+ }
133
+ }
134
+
135
+ let isStartChatSuccessful = false; //Check if chat retrieved from cache
136
+
137
+ if (persistedState || params !== null && params !== void 0 && params.liveChatContext) {
138
+ var _persistedState$domai, _persistedState$domai2, _persistedState$domai3, _persistedState$domai4, _persistedState$domai5;
139
+
140
+ _omnichannelChatComponents.BroadcastService.postMessage({
141
+ eventName: _TelemetryConstants.BroadcastEvent.ChatRetrievedFromCache,
142
+ payload: {
143
+ chatId: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai = persistedState.domainStates) === null || _persistedState$domai === void 0 ? void 0 : (_persistedState$domai2 = _persistedState$domai.liveChatContext) === null || _persistedState$domai2 === void 0 ? void 0 : (_persistedState$domai3 = _persistedState$domai2.chatToken) === null || _persistedState$domai3 === void 0 ? void 0 : _persistedState$domai3.chatId,
144
+ requestId: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai4 = persistedState.domainStates) === null || _persistedState$domai4 === void 0 ? void 0 : (_persistedState$domai5 = _persistedState$domai4.liveChatContext) === null || _persistedState$domai5 === void 0 ? void 0 : _persistedState$domai5.requestId
145
+ }
80
146
  });
147
+ }
81
148
 
82
- await chatSDK.startChat(params);
149
+ try {
150
+ //Start widget load timer
83
151
  _TelemetryManager.TelemetryTimers.WidgetLoadTimer = (0, _utils.createTimer)();
152
+
153
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
154
+ Event: _TelemetryConstants.TelemetryEvent.StartChatSDKCall
155
+ }); // Set custom context params
156
+
157
+
158
+ setCustomContextParams(chatSDK);
159
+ optionalParams = Object.assign({}, params, optionalParams);
160
+ await chatSDK.startChat(optionalParams);
161
+ isStartChatSuccessful = true;
84
162
  } catch (error) {
85
- _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.ERROR, {
163
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
86
164
  Event: _TelemetryConstants.TelemetryEvent.StartChatMethodException,
87
165
  ExceptionDetails: {
88
166
  exception: `Failed to setup startChat: ${error}`
89
167
  }
90
168
  });
91
- }
92
169
 
93
- const newAdapter = await (0, _createAdapter.createAdapter)(chatSDK);
94
- setAdapter(newAdapter); // eslint-disable-next-line @typescript-eslint/no-explicit-any
170
+ isStartChatSuccessful = false; // Resetting the widget state to Closed, for recent introduction of OC rate limiting(429 Error)
171
+ // TODO : How to diplay a proper UI message to customer to try after sometime at this point - cool down scenario
95
172
 
96
- if (chatSDK !== null && chatSDK !== void 0 && chatSDK.getVoiceVideoCalling) {
97
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
- const chatToken = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatToken());
99
173
  dispatch({
100
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
101
- payload: chatToken
174
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
175
+ payload: _ConversationState.ConversationState.Closed
102
176
  });
103
- }
177
+ return;
178
+ } // New adapter creation
104
179
 
105
- await (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch, false);
106
- await (0, _updateSessionDataForTelemetry.updateSessionDataForTelemetry)(chatSDK, dispatch); // Set app state to Active
107
180
 
181
+ const newAdapter = await (0, _createAdapter.createAdapter)(chatSDK);
182
+ setAdapter(newAdapter);
183
+ const chatToken = await chatSDK.getChatToken();
108
184
  dispatch({
109
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
110
- payload: _ConversationState.ConversationState.Active
185
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
186
+ payload: chatToken
111
187
  });
188
+ newAdapter === null || newAdapter === void 0 ? void 0 : (_newAdapter$activity$ = newAdapter.activity$) === null || _newAdapter$activity$ === void 0 ? void 0 : _newAdapter$activity$.subscribe((0, _newMessageEventHandler.createOnNewAdapterActivityHandler)(chatToken === null || chatToken === void 0 ? void 0 : chatToken.chatId, chatToken === null || chatToken === void 0 ? void 0 : chatToken.visitorId));
189
+
190
+ if (persistedState) {
191
+ dispatch({
192
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_STATE,
193
+ payload: persistedState
194
+ });
195
+ await (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch, true);
196
+ return;
197
+ } // eslint-disable-next-line @typescript-eslint/no-explicit-any
198
+
199
+
200
+ const liveChatContext = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getCurrentLiveChatContext());
201
+ dispatch({
202
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
203
+ payload: liveChatContext
204
+ }); // Set post chat context in state, no survey load
205
+
206
+ await (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch); // Updating chat session detail for telemetry
207
+
208
+ await (0, _updateSessionDataForTelemetry.updateSessionDataForTelemetry)(chatSDK, dispatch); // Set app state to Active
209
+
210
+ if (isStartChatSuccessful) {
211
+ _ActivityStreamHandler.ActivityStreamHandler.uncork();
212
+
213
+ dispatch({
214
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
215
+ payload: _ConversationState.ConversationState.Active
216
+ });
217
+ }
112
218
 
113
219
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
114
220
  Event: _TelemetryConstants.TelemetryEvent.WidgetLoadComplete,
@@ -117,9 +223,9 @@ const initStartChat = async (chatSDK, dispatch, setAdapter, params) => {
117
223
  });
118
224
  } catch (ex) {
119
225
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.ERROR, {
120
- Event: _TelemetryConstants.TelemetryEvent.StartChatFailed,
226
+ Event: _TelemetryConstants.TelemetryEvent.WidgetLoadFailed,
121
227
  ExceptionDetails: {
122
- Exception: `Start Chat Failed: ${ex}`
228
+ Exception: `Widget load Failed: ${ex}`
123
229
  }
124
230
  });
125
231
 
@@ -136,7 +242,67 @@ const initStartChat = async (chatSDK, dispatch, setAdapter, params) => {
136
242
  payload: _ConversationState.ConversationState.OutOfOffice
137
243
  });
138
244
  }
245
+ } finally {
246
+ optionalParams = {};
247
+ widgetInstanceId = "";
248
+ }
249
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
250
+
251
+
252
+ exports.initStartChat = initStartChat;
253
+
254
+ const canConnectToExistingChat = async (props, chatSDK, state, dispatch, setAdapter) => {
255
+ var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps2, _persistedState$domai6, _persistedState$appSt;
256
+
257
+ // By pass this function in case of popout chat
258
+ if (state.appStates.skipChatButtonRendering === true) {
259
+ return false;
260
+ }
261
+
262
+ const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.widgetInstanceId) ?? ""); //Connect to only active chat session
263
+
264
+ if (persistedState && !(0, _utils.isUndefinedOrEmpty)(persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai6 = persistedState.domainStates) === null || _persistedState$domai6 === void 0 ? void 0 : _persistedState$domai6.liveChatContext) && (persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$appSt = persistedState.appStates) === null || _persistedState$appSt === void 0 ? void 0 : _persistedState$appSt.conversationState) === _ConversationState.ConversationState.Active) {
265
+ var _persistedState$domai7;
266
+
267
+ dispatch({
268
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
269
+ payload: _ConversationState.ConversationState.Loading
270
+ });
271
+ const optionalParams = {
272
+ liveChatContext: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai7 = persistedState.domainStates) === null || _persistedState$domai7 === void 0 ? void 0 : _persistedState$domai7.liveChatContext
273
+ };
274
+ await initStartChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams, persistedState);
275
+ return true;
276
+ } else {
277
+ return false;
139
278
  }
140
- };
279
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
280
+
141
281
 
142
- exports.initStartChat = initStartChat;
282
+ const setCustomContextParams = chatSDK => {
283
+ var _chatSDK$omnichannelC3, _chatSDK$omnichannelC4, _persistedState$domai8;
284
+
285
+ // Add custom context only for unauthenticated chat
286
+ const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC3 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC3 === void 0 ? void 0 : _chatSDK$omnichannelC3.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC4 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC4 === void 0 ? void 0 : _chatSDK$omnichannelC4.widgetId, widgetInstanceId ?? "");
287
+
288
+ if (!(0, _utils.isUndefinedOrEmpty)(persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai8 = persistedState.domainStates) === null || _persistedState$domai8 === void 0 ? void 0 : _persistedState$domai8.customContext)) {
289
+ var _persistedState$domai9, _persistedState$domai10;
290
+
291
+ if (persistedState !== null && persistedState !== void 0 && (_persistedState$domai9 = persistedState.domainStates.liveChatConfig) !== null && _persistedState$domai9 !== void 0 && _persistedState$domai9.LiveChatConfigAuthSettings) {
292
+ const errorMessage = "Use of custom context with authenticated chat is deprecated. The chat would not go through.";
293
+
294
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.WARN, {
295
+ Event: _TelemetryConstants.TelemetryEvent.StartChatMethodException,
296
+ ExceptionDetails: {
297
+ exception: errorMessage
298
+ }
299
+ });
300
+
301
+ throw new Error(errorMessage);
302
+ }
303
+
304
+ optionalParams = Object.assign({}, optionalParams, {
305
+ customContext: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai10 = persistedState.domainStates) === null || _persistedState$domai10 === void 0 ? void 0 : _persistedState$domai10.customContext
306
+ });
307
+ }
308
+ };
@@ -16,12 +16,12 @@ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
16
16
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
17
17
 
18
18
  // Defines startProactiveChat callback
19
- const startProactiveChat = (dispatch, bodyTitle, showPrechat, inNewWindow) => {
19
+ const startProactiveChat = (dispatch, notificationConfig, enablePreChat, inNewWindow) => {
20
20
  dispatch({
21
21
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS,
22
22
  payload: {
23
- proactiveChatBodyTitle: bodyTitle ?? "",
24
- proactiveChatEnablePrechat: showPrechat ?? false,
23
+ proactiveChatBodyTitle: notificationConfig && notificationConfig.message ? notificationConfig.message : "",
24
+ proactiveChatEnablePrechat: enablePreChat ?? false,
25
25
  proactiveChatInNewWindow: inNewWindow ?? false
26
26
  }
27
27
  });