@microsoft/omnichannel-chat-widget 0.1.0-main.106d830 → 0.1.0-main.1e0880a

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 (294) hide show
  1. package/README.md +32 -0
  2. package/lib/cjs/common/Constants.js +9 -160
  3. package/lib/cjs/common/KeyCodes.js +0 -3
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  7. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  8. package/lib/cjs/common/telemetry/TelemetryConstants.js +40 -21
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +14 -57
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +6 -31
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +37 -42
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  14. package/lib/cjs/common/utils.js +71 -84
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +19 -43
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  17. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -32
  18. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  19. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  20. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  21. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  22. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  23. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  24. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  25. package/lib/cjs/components/headerstateful/HeaderStateful.js +16 -30
  26. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  27. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
  28. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
  29. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
  31. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
  32. package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
  33. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  34. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  35. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  36. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  37. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  38. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +69 -50
  39. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  40. package/lib/cjs/components/livechatwidget/common/endChat.js +57 -35
  41. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  42. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  43. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  44. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +36 -53
  45. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +68 -82
  46. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +7 -32
  47. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
  48. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  49. package/lib/cjs/components/livechatwidget/common/startChat.js +167 -100
  50. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  51. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  52. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +263 -160
  53. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  54. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  55. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  56. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +9 -23
  57. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  58. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  59. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
  60. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -33
  61. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  62. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  63. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  64. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  65. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  66. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  67. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -16
  68. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  69. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  70. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  71. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  72. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  73. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  74. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  75. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -37
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -18
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +1 -12
  115. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  116. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  117. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  118. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  119. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +26 -23
  120. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +12 -12
  121. package/lib/cjs/contexts/createReducer.js +150 -97
  122. package/lib/cjs/controller/componentController.js +3 -32
  123. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  124. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  125. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  126. package/lib/cjs/index.js +0 -5
  127. package/lib/cjs/plugins/newMessageEventHandler.js +22 -46
  128. package/lib/esm/common/Constants.js +9 -148
  129. package/lib/esm/common/KeyCodes.js +0 -2
  130. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  131. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  132. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  133. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  134. package/lib/esm/common/telemetry/TelemetryConstants.js +44 -18
  135. package/lib/esm/common/telemetry/TelemetryHelper.js +14 -45
  136. package/lib/esm/common/telemetry/TelemetryManager.js +6 -19
  137. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  138. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +35 -26
  139. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  140. package/lib/esm/common/utils.js +64 -46
  141. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +19 -14
  142. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  143. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +9 -13
  144. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  145. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  146. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  147. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  148. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  149. package/lib/esm/components/headerstateful/HeaderStateful.js +16 -15
  150. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  151. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  152. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  153. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  154. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  155. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  156. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  157. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  158. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  159. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  160. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  161. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  162. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +71 -37
  163. package/lib/esm/components/livechatwidget/common/endChat.js +57 -21
  164. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  165. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  166. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  167. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +39 -22
  168. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +71 -68
  169. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +7 -22
  170. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  171. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  172. package/lib/esm/components/livechatwidget/common/startChat.js +170 -82
  173. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  174. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +267 -109
  175. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  176. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  177. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  178. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +9 -11
  179. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  180. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  181. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
  182. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -9
  183. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  184. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  185. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  186. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  187. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  188. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  189. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -12
  190. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  191. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  192. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  193. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  194. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  195. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  196. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  197. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  198. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  199. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -13
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +1 -5
  237. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  238. package/lib/esm/contexts/ChatContextStore.js +2 -1
  239. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  240. package/lib/esm/contexts/common/ConversationState.js +3 -3
  241. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +26 -23
  242. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +12 -8
  243. package/lib/esm/contexts/createReducer.js +150 -94
  244. package/lib/esm/controller/componentController.js +4 -3
  245. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  246. package/lib/esm/hooks/useChatContextStore.js +0 -4
  247. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  248. package/lib/esm/plugins/newMessageEventHandler.js +22 -35
  249. package/lib/types/common/Constants.d.ts +9 -1
  250. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  251. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  252. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  253. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  254. package/lib/types/common/telemetry/TelemetryConstants.d.ts +30 -5
  255. package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -0
  256. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  257. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  258. package/lib/types/common/utils.d.ts +7 -1
  259. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  260. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  261. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  262. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  263. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  264. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  265. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  266. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  267. package/lib/types/components/livechatwidget/common/endChat.d.ts +1 -1
  268. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -4
  269. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  270. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  271. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  272. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -3
  273. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  274. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  275. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  276. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  277. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  278. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  279. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  280. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  281. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  282. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  283. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  284. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  285. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  286. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  287. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  288. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  289. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  290. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  291. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -2
  292. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +26 -22
  293. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  294. package/package.json +7 -9
@@ -4,107 +4,81 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.initWebChatComposer = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _botframeworkWebchat = require("botframework-webchat");
11
-
12
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
-
14
10
  var _ConversationState = require("../../../contexts/common/ConversationState");
15
-
16
11
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
17
-
18
12
  var _PostChatSurveyMode = require("../../postchatsurveypanestateful/enums/PostChatSurveyMode");
19
-
20
13
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
21
-
22
14
  var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
23
-
24
15
  var _attachmentProcessingMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware"));
25
-
26
16
  var _utils = require("../../../common/utils");
27
-
28
17
  var _channelDataMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware"));
29
-
30
18
  var _activityMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware");
31
-
32
19
  var _attachmentMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware"));
33
-
34
20
  var _attachmentUploadValidatorMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware"));
35
-
36
21
  var _avatarMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware");
37
-
38
22
  var _conversationEndMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware"));
39
-
40
23
  var _dataMaskingMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware"));
41
-
42
24
  var _createMarkdown = require("./createMarkdown");
43
-
44
25
  var _maxMessageSizeValidator = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator"));
45
-
46
26
  var _WebChatLogger = require("../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
47
-
48
27
  var _defaultAttachmentProps = require("../../webchatcontainerstateful/common/defaultProps/defaultAttachmentProps");
49
-
50
28
  var _defaultMiddlewareLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
51
-
52
29
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
53
-
54
30
  var _omnichannelChatSdk = require("@microsoft/omnichannel-chat-sdk");
55
-
56
31
  var _gifUploadMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware"));
57
-
58
32
  var _htmlPlayerMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware"));
59
-
60
33
  var _htmlTextMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware"));
61
-
62
34
  var _preProcessingMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware"));
63
-
64
35
  var _sanitizationMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware"));
65
-
36
+ var _cardActionMiddleware = require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware");
37
+ var _messageTimestampMiddleware = _interopRequireDefault(require("../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware"));
38
+ var _Constants = require("../../../common/Constants");
66
39
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
67
-
68
40
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
41
  const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles) => {
70
- var _props$webChatContain, _props$webChatContain2, _props$webChatContain3, _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _state$domainStates$l8, _state$domainStates$l9, _props$webChatContain7, _props$webChatContain8, _state$domainStates$r, _state$domainStates$r2, _props$webChatContain9, _props$webChatContain10, _state$domainStates$r3, _state$domainStates$r4, _props$webChatContain11, _props$webChatContain12, _defaultWebChatContai, _props$webChatContain13, _props$webChatContain14, _props$webChatContain15, _props$webChatContain16, _state$domainStates$r5, _state$domainStates$r6, _props$webChatContain17, _props$webChatContain18, _defaultWebChatContai2, _props$webChatContain19, _props$webChatContain20, _defaultWebChatContai3, _props$webChatContain21;
71
-
72
- const localizedTexts = { ..._defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts,
42
+ var _props$webChatContain, _props$webChatContain2, _props$webChatContain3, _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _state$domainStates$l8, _state$domainStates$l9, _props$webChatContain7, _props$webChatContain8, _state$domainStates$r, _state$domainStates$r2, _props$webChatContain9, _props$webChatContain10, _state$domainStates$r3, _state$domainStates$r4, _props$webChatContain11, _props$webChatContain12, _defaultWebChatContai, _props$webChatContain13, _props$webChatContain14, _props$webChatContain15, _props$webChatContain16, _state$domainStates$r5, _state$domainStates$r6, _props$webChatContain17, _props$webChatContain18, _defaultWebChatContai2, _props$webChatContain19, _props$webChatContain20, _defaultWebChatContai3, _props$webChatContain21, _props$webChatContain22;
43
+ const localizedTexts = {
44
+ ..._defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts,
73
45
  ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.localizedTexts)
74
46
  };
75
- const disableNewLineMarkdownSupport = ((_props$webChatContain2 = props.webChatContainerProps) === null || _props$webChatContain2 === void 0 ? void 0 : _props$webChatContain2.disableNewLineMarkdownSupport) ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.disableNewLineMarkdownSupport; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
76
-
47
+ const disableNewLineMarkdownSupport = ((_props$webChatContain2 = props.webChatContainerProps) === null || _props$webChatContain2 === void 0 ? void 0 : _props$webChatContain2.disableNewLineMarkdownSupport) ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.disableNewLineMarkdownSupport;
48
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
77
49
  const markdown = (0, _createMarkdown.createMarkdown)(((_props$webChatContain3 = props.webChatContainerProps) === null || _props$webChatContain3 === void 0 ? void 0 : _props$webChatContain3.disableMarkdownMessageFormatting) ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.disableMarkdownMessageFormatting, disableNewLineMarkdownSupport);
78
50
  const isPostChatEnabled = (_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.msdyn_postconversationsurveyenable;
79
- const postChatSurveyMode = (_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : (_state$domainStates$l4 = _state$domainStates$l3.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l4 === void 0 ? void 0 : _state$domainStates$l4.msdyn_postconversationsurveymode; // Initialize Web Chat's redux store
51
+ const postChatSurveyMode = (_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : (_state$domainStates$l4 = _state$domainStates$l3.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l4 === void 0 ? void 0 : _state$domainStates$l4.msdyn_postconversationsurveymode;
80
52
 
53
+ // Initialize Web Chat's redux store
81
54
  let webChatStore = _WebChatStoreLoader.WebChatStoreLoader.store;
82
-
83
55
  if (!webChatStore) {
84
56
  var _state$domainStates$l5, _state$domainStates$l6, _state$domainStates$l7, _props$webChatContain6;
85
-
86
57
  const conversationEndCallback = async () => {
87
58
  var _props$webChatContain4, _props$webChatContain5;
88
-
89
59
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
90
60
  Event: _TelemetryConstants.TelemetryEvent.ConversationEndedThreadEventReceived,
91
61
  Description: "Conversation is ended by agent side or by timeout."
92
62
  });
93
-
94
63
  if ((props === null || props === void 0 ? void 0 : (_props$webChatContain4 = props.webChatContainerProps) === null || _props$webChatContain4 === void 0 ? void 0 : (_props$webChatContain5 = _props$webChatContain4.renderingMiddlewareProps) === null || _props$webChatContain5 === void 0 ? void 0 : _props$webChatContain5.hideSendboxOnConversationEnd) !== false) {
95
64
  setWebChatStyles(styles => {
96
- return { ...styles,
65
+ return {
66
+ ...styles,
97
67
  hideSendBox: true
98
68
  };
99
69
  });
100
70
  }
101
-
102
71
  if (isPostChatEnabled === "true") {
103
72
  if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
73
+ _WebChatStoreLoader.WebChatStoreLoader.store = null;
74
+ dispatch({
75
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
76
+ payload: _ConversationState.ConversationState.PostchatLoading
77
+ });
78
+ await (0, _utils.addDelayInMs)(_Constants.Constants.PostChatLoadingDurationInMs);
104
79
  const loadPostChatEvent = {
105
80
  eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
106
81
  };
107
-
108
82
  _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
109
83
  } else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
110
84
  dispatch({
@@ -113,26 +87,35 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
113
87
  });
114
88
  }
115
89
  } else {
90
+ dispatch({
91
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
92
+ payload: _ConversationState.ConversationState.InActive
93
+ });
116
94
  dispatch({
117
95
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
118
96
  payload: true
119
97
  });
120
98
  }
121
-
122
99
  dispatch({
123
100
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
124
101
  payload: undefined
125
102
  });
103
+ dispatch({
104
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
105
+ payload: undefined
106
+ });
126
107
  };
127
-
128
- webChatStore = (0, _botframeworkWebchat.createStore)({}, //initial state
129
- _preProcessingMiddleware.default, _attachmentProcessingMiddleware.default, (0, _attachmentUploadValidatorMiddleware.default)((_state$domainStates$l5 = state.domainStates.liveChatConfig) === null || _state$domainStates$l5 === void 0 ? void 0 : _state$domainStates$l5.allowedFileExtensions, (_state$domainStates$l6 = state.domainStates.liveChatConfig) === null || _state$domainStates$l6 === void 0 ? void 0 : _state$domainStates$l6.maxUploadFileSize, localizedTexts), _channelDataMiddleware.default, (0, _conversationEndMiddleware.default)(conversationEndCallback), (0, _dataMaskingMiddleware.default)((_state$domainStates$l7 = state.domainStates.liveChatConfig) === null || _state$domainStates$l7 === void 0 ? void 0 : _state$domainStates$l7.DataMaskingInfo), _gifUploadMiddleware.default, _htmlPlayerMiddleware.default, _htmlTextMiddleware.default, (0, _maxMessageSizeValidator.default)(localizedTexts), _sanitizationMiddleware.default, // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
+ webChatStore = (0, _botframeworkWebchat.createStore)({},
109
+ //initial state
110
+ _preProcessingMiddleware.default, _attachmentProcessingMiddleware.default, (0, _attachmentUploadValidatorMiddleware.default)((_state$domainStates$l5 = state.domainStates.liveChatConfig) === null || _state$domainStates$l5 === void 0 ? void 0 : _state$domainStates$l5.allowedFileExtensions, (_state$domainStates$l6 = state.domainStates.liveChatConfig) === null || _state$domainStates$l6 === void 0 ? void 0 : _state$domainStates$l6.maxUploadFileSize, localizedTexts), _channelDataMiddleware.default, (0, _conversationEndMiddleware.default)(conversationEndCallback), (0, _dataMaskingMiddleware.default)((_state$domainStates$l7 = state.domainStates.liveChatConfig) === null || _state$domainStates$l7 === void 0 ? void 0 : _state$domainStates$l7.DataMaskingInfo), _messageTimestampMiddleware.default, _gifUploadMiddleware.default, _htmlPlayerMiddleware.default, _htmlTextMiddleware.default, (0, _maxMessageSizeValidator.default)(localizedTexts), _sanitizationMiddleware.default,
111
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
130
112
  ...(((_props$webChatContain6 = props.webChatContainerProps) === null || _props$webChatContain6 === void 0 ? void 0 : _props$webChatContain6.storeMiddlewares) ?? []));
131
113
  _WebChatStoreLoader.WebChatStoreLoader.store = webChatStore;
132
- } // Initialize the remaining Web Chat props
133
-
114
+ }
134
115
 
135
- const webChatProps = { ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps,
116
+ // Initialize the remaining Web Chat props
117
+ const webChatProps = {
118
+ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps,
136
119
  dir: state.domainStates.globalDir,
137
120
  locale: (0, _utils.changeLanguageCodeFormatForWebChat)((0, _omnichannelChatSdk.getLocaleStringFromId)((_state$domainStates$l8 = state.domainStates.liveChatConfig) === null || _state$domainStates$l8 === void 0 ? void 0 : (_state$domainStates$l9 = _state$domainStates$l8.ChatWidgetLanguage) === null || _state$domainStates$l9 === void 0 ? void 0 : _state$domainStates$l9.msdyn_localeid)),
138
121
  store: webChatStore,
@@ -144,9 +127,9 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
144
127
  groupActivitiesMiddleware: (_props$webChatContain17 = props.webChatContainerProps) !== null && _props$webChatContain17 !== void 0 && (_props$webChatContain18 = _props$webChatContain17.renderingMiddlewareProps) !== null && _props$webChatContain18 !== void 0 && _props$webChatContain18.disableGroupActivitiesMiddleware ? undefined : (_defaultWebChatContai2 = _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps) === null || _defaultWebChatContai2 === void 0 ? void 0 : _defaultWebChatContai2.groupActivitiesMiddleware,
145
128
  typingIndicatorMiddleware: (_props$webChatContain19 = props.webChatContainerProps) !== null && _props$webChatContain19 !== void 0 && (_props$webChatContain20 = _props$webChatContain19.renderingMiddlewareProps) !== null && _props$webChatContain20 !== void 0 && _props$webChatContain20.disableTypingIndicatorMiddleware ? undefined : (_defaultWebChatContai3 = _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatProps) === null || _defaultWebChatContai3 === void 0 ? void 0 : _defaultWebChatContai3.typingIndicatorMiddleware,
146
129
  onTelemetry: (0, _WebChatLogger.createWebChatTelemetry)(),
147
- ...((_props$webChatContain21 = props.webChatContainerProps) === null || _props$webChatContain21 === void 0 ? void 0 : _props$webChatContain21.webChatProps)
130
+ cardActionMiddleware: (0, _cardActionMiddleware.createCardActionMiddleware)(((_props$webChatContain21 = props.webChatContainerProps) === null || _props$webChatContain21 === void 0 ? void 0 : _props$webChatContain21.botMagicCode) || undefined),
131
+ ...((_props$webChatContain22 = props.webChatContainerProps) === null || _props$webChatContain22 === void 0 ? void 0 : _props$webChatContain22.webChatProps)
148
132
  };
149
133
  return webChatProps;
150
134
  };
151
-
152
135
  exports.initWebChatComposer = initWebChatComposer;
@@ -4,96 +4,91 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.startUnauthenticatedReconnectChat = exports.handleUnauthenticatedReconnectChat = exports.handleRedirectUnauthenticatedReconnectChat = exports.getReconnectIdForAuthenticatedChat = exports.getChatReconnectContext = void 0;
7
-
8
7
  require("regenerator-runtime/runtime");
9
-
10
8
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
11
-
12
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
-
14
10
  var _ConversationState = require("../../../contexts/common/ConversationState");
15
-
16
11
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
17
-
18
12
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
19
-
13
+ var _authHelper = require("./authHelper");
20
14
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
- const getChatReconnectContext = async (chatSDK, reconnectId) => {
22
- try {
23
- if (reconnectId) {
24
- const chatReconnectOptionalParams = {
25
- reconnectId: reconnectId
26
- };
27
- return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext(chatReconnectOptionalParams));
28
- } else {
29
- return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext());
30
- }
31
- } catch (ex) {
32
- _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
33
- Event: _TelemetryConstants.TelemetryEvent.GetChatReconnectContextSDKCallFailed,
34
- ExceptionDetails: {
35
- exception: ex
15
+ const getChatReconnectContext = async (chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId) => {
16
+ if (isReconnectEnabled) {
17
+ try {
18
+ if (reconnectId) {
19
+ const chatReconnectOptionalParams = {
20
+ reconnectId: reconnectId
21
+ };
22
+ return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext(chatReconnectOptionalParams));
23
+ } else {
24
+ // set auth token to chat sdk to get reconnectId for auth chat
25
+ await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
26
+ const reconnectChatContext = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext());
27
+ // remove auth token after reconnectId is fetched
28
+ // this will be reset later at start chat
29
+ (0, _authHelper.removeAuthTokenProvider)(chatSDK);
30
+ return reconnectChatContext;
36
31
  }
37
- });
32
+ } catch (ex) {
33
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
34
+ Event: _TelemetryConstants.TelemetryEvent.GetChatReconnectContextSDKCallFailed,
35
+ ExceptionDetails: {
36
+ exception: ex
37
+ }
38
+ });
39
+ }
38
40
  }
39
-
40
41
  return null;
41
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
-
42
+ };
43
43
 
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
45
  exports.getChatReconnectContext = getChatReconnectContext;
45
-
46
46
  const getReconnectIdForAuthenticatedChat = async (props, chatSDK) => {
47
- var _props$reconnectChatP, _props$reconnectChatP2;
48
-
49
- if ((_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.isReconnectEnabled && (_props$reconnectChatP2 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP2 !== void 0 && _props$reconnectChatP2.authClientFunction // TODO: Implement this after storage is in place
50
-
51
- /* && !isLoadWithState() */
52
- ) {
53
- const previousActiveSessionResponse = await getChatReconnectContext(chatSDK);
54
-
47
+ var _props$chatConfig, _props$reconnectChatP;
48
+ let authClientFunction = undefined;
49
+ if ((_props$chatConfig = props.chatConfig) !== null && _props$chatConfig !== void 0 && _props$chatConfig.LiveChatConfigAuthSettings) {
50
+ var _props$chatConfig2, _props$chatConfig2$Li;
51
+ authClientFunction = ((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Li = _props$chatConfig2.LiveChatConfigAuthSettings) === null || _props$chatConfig2$Li === void 0 ? void 0 : _props$chatConfig2$Li.msdyn_javascriptclientfunction) ?? undefined;
52
+ }
53
+ if ((_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.isReconnectEnabled && authClientFunction
54
+ // TODO: Implement this after storage is in place
55
+ /* && !isLoadWithState() */) {
56
+ var _props$reconnectChatP2;
57
+ const previousActiveSessionResponse = await getChatReconnectContext(chatSDK, props.chatConfig, props.getAuthToken, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.isReconnectEnabled);
55
58
  if (previousActiveSessionResponse && previousActiveSessionResponse.reconnectId) {
56
59
  return previousActiveSessionResponse.reconnectId;
57
60
  }
58
61
  }
59
-
60
62
  return undefined;
61
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
-
63
+ };
63
64
 
65
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
64
66
  exports.getReconnectIdForAuthenticatedChat = getReconnectIdForAuthenticatedChat;
65
-
66
- const handleUnauthenticatedReconnectChat = async (chatSDK, dispatch, setAdapter, reconnectId, initStartChat, redirectInSameWindow) => {
67
- const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
68
-
67
+ const handleUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isReconnectEnabled, reconnectId, initStartChat, redirectInSameWindow) => {
68
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
69
69
  if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
70
- await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, dispatch, setAdapter, initStartChat, redirectInSameWindow);
70
+ await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow);
71
71
  } else {
72
- await setReconnectIdAndStartChat(chatSDK, dispatch, setAdapter, reconnectId, initStartChat);
72
+ await setReconnectIdAndStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat);
73
73
  }
74
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
-
74
+ };
76
75
 
76
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
77
77
  exports.handleUnauthenticatedReconnectChat = handleUnauthenticatedReconnectChat;
78
-
79
- const startUnauthenticatedReconnectChat = async (chatSDK, dispatch, setAdapter, reconnectId, initStartChat) => {
80
- const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
81
-
78
+ const startUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isReconnectEnabled, reconnectId, initStartChat) => {
79
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
82
80
  if (!shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
83
- await setReconnectIdAndStartChat(chatSDK, dispatch, setAdapter, reconnectId, initStartChat);
81
+ await setReconnectIdAndStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat);
84
82
  }
85
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
-
83
+ };
87
84
 
85
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
88
86
  exports.startUnauthenticatedReconnectChat = startUnauthenticatedReconnectChat;
89
-
90
- const setReconnectIdAndStartChat = async (chatSDK, dispatch, setAdapter, reconnectId, initStartChat) => {
87
+ const setReconnectIdAndStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat) => {
91
88
  const startUnauthenticatedReconnectChat = {
92
89
  eventName: _TelemetryConstants.BroadcastEvent.StartUnauthenticatedReconnectChat
93
90
  };
94
-
95
91
  _omnichannelChatComponents.BroadcastService.postMessage(startUnauthenticatedReconnectChat);
96
-
97
92
  const optionalParams = {
98
93
  reconnectId: reconnectId
99
94
  };
@@ -105,9 +100,8 @@ const setReconnectIdAndStartChat = async (chatSDK, dispatch, setAdapter, reconne
105
100
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
106
101
  payload: _ConversationState.ConversationState.Loading
107
102
  });
108
- await initStartChat(chatSDK, dispatch, setAdapter, optionalParams);
103
+ await initStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, optionalParams);
109
104
  };
110
-
111
105
  const redirectPage = (redirectURL, redirectInSameWindow) => {
112
106
  const redirectPageRequest = {
113
107
  eventName: _TelemetryConstants.BroadcastEvent.RedirectPageRequest,
@@ -115,30 +109,24 @@ const redirectPage = (redirectURL, redirectInSameWindow) => {
115
109
  redirectURL: redirectURL
116
110
  }
117
111
  };
118
-
119
112
  _omnichannelChatComponents.BroadcastService.postMessage(redirectPageRequest);
120
-
121
113
  if (redirectInSameWindow) {
122
114
  window.location.href = redirectURL;
123
115
  }
124
116
  };
125
-
126
117
  const shouldRedirectOrStartNewChat = reconnectAvailabilityResponse => {
127
118
  return reconnectAvailabilityResponse && !reconnectAvailabilityResponse.reconnectId;
128
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
129
-
119
+ };
130
120
 
131
- const startNewChatEmptyRedirectionUrl = async (chatSDK, dispatch, setAdapter, initStartChat) => {
121
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
122
+ const startNewChatEmptyRedirectionUrl = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat) => {
132
123
  const startUnauthenticatedReconnectChat = {
133
124
  eventName: _TelemetryConstants.BroadcastEvent.StartUnauthenticatedReconnectChat
134
125
  };
135
-
136
- _omnichannelChatComponents.BroadcastService.postMessage(startUnauthenticatedReconnectChat); // Getting PreChat Survey Context
137
-
138
-
126
+ _omnichannelChatComponents.BroadcastService.postMessage(startUnauthenticatedReconnectChat);
127
+ // Getting PreChat Survey Context
139
128
  const parseToJson = false;
140
129
  const preChatSurveyResponse = await chatSDK.getPreChatSurvey(parseToJson);
141
-
142
130
  if (preChatSurveyResponse) {
143
131
  dispatch({
144
132
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PRE_CHAT_SURVEY_RESPONSE,
@@ -153,26 +141,24 @@ const startNewChatEmptyRedirectionUrl = async (chatSDK, dispatch, setAdapter, in
153
141
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
154
142
  payload: _ConversationState.ConversationState.Loading
155
143
  });
156
- await initStartChat(chatSDK, dispatch, setAdapter);
144
+ await initStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter);
157
145
  }
158
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
159
-
160
-
161
- const handleRedirectUnauthenticatedReconnectChat = async (chatSDK, dispatch, setAdapter, initStartChat, reconnectId, redirectInSameWindow) => {
162
- const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
146
+ };
163
147
 
148
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
149
+ const handleRedirectUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, isReconnectEnabled, reconnectId, redirectInSameWindow) => {
150
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
164
151
  if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
165
- await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, dispatch, setAdapter, initStartChat, redirectInSameWindow);
152
+ await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow);
166
153
  }
167
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
168
-
154
+ };
169
155
 
156
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
170
157
  exports.handleRedirectUnauthenticatedReconnectChat = handleRedirectUnauthenticatedReconnectChat;
171
-
172
- const redirectOrStartNewChat = async (reconnectAvailabilityResponse, chatSDK, dispatch, setAdapter, initStartChat, redirectInSameWindow) => {
158
+ const redirectOrStartNewChat = async (reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow) => {
173
159
  if (reconnectAvailabilityResponse.redirectURL) {
174
160
  redirectPage(reconnectAvailabilityResponse.redirectURL, redirectInSameWindow);
175
161
  } else {
176
- await startNewChatEmptyRedirectionUrl(chatSDK, dispatch, setAdapter, initStartChat);
162
+ await startNewChatEmptyRedirectionUrl(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat);
177
163
  }
178
164
  };
@@ -4,58 +4,35 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.registerTelemetryLoggers = void 0;
7
-
8
7
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
9
-
10
8
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
11
-
12
9
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
13
-
14
- var _package = require("@microsoft/omnichannel-chat-components/package.json");
15
-
16
- var _package2 = require("@microsoft/omnichannel-chat-sdk/package.json");
17
-
18
10
  var _defaultAriaConfig = require("../../../common/telemetry/defaultConfigs/defaultAriaConfig");
19
-
20
11
  var _defaultTelemetryInternalData = require("../../../common/telemetry/defaultConfigs/defaultTelemetryInternalData");
21
-
22
12
  var _defaultTelemetryConfiguration = require("../../../common/telemetry/defaultConfigs/defaultTelemetryConfiguration");
23
-
24
13
  const registerTelemetryLoggers = (props, dispatch) => {
25
14
  var _props$liveChatContex, _props$liveChatContex2;
26
-
27
- let widgetPackageInfo;
28
-
29
- try {
30
- widgetPackageInfo = require("@microsoft/omnichannel-chat-widget/package.json");
31
- } catch (error) {
32
- widgetPackageInfo = "0.0.0-0";
33
- }
34
-
35
- const telemetryConfig = { ..._defaultTelemetryConfiguration.defaultTelemetryConfiguration,
15
+ const telemetryConfig = {
16
+ ..._defaultTelemetryConfiguration.defaultTelemetryConfiguration,
36
17
  ...props.telemetryConfig
37
18
  };
38
-
39
19
  if ((_props$liveChatContex = props.liveChatContextFromCache) !== null && _props$liveChatContex !== void 0 && (_props$liveChatContex2 = _props$liveChatContex.domainStates) !== null && _props$liveChatContex2 !== void 0 && _props$liveChatContex2.telemetryInternalData) {
40
20
  var _props$liveChatContex3, _props$liveChatContex4;
41
-
42
21
  _TelemetryManager.TelemetryManager.InternalTelemetryData = (_props$liveChatContex3 = props.liveChatContextFromCache) === null || _props$liveChatContex3 === void 0 ? void 0 : (_props$liveChatContex4 = _props$liveChatContex3.domainStates) === null || _props$liveChatContex4 === void 0 ? void 0 : _props$liveChatContex4.telemetryInternalData;
43
22
  } else {
44
23
  var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$chatSDK3, _props$chatSDK3$omnic;
45
-
46
- let telemetryData = { ..._defaultTelemetryInternalData.defaultInternalTelemetryData,
24
+ let telemetryData = {
25
+ ..._defaultTelemetryInternalData.defaultInternalTelemetryData,
47
26
  telemetryConfig: Object.assign({}, _defaultTelemetryConfiguration.defaultTelemetryConfiguration, telemetryConfig),
48
27
  ariaConfig: Object.assign({}, _defaultAriaConfig.defaultAriaConfig, telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.ariaConfigurations)
49
28
  };
50
-
51
29
  if (props.chatConfig) {
52
30
  telemetryData = _TelemetryHelper.TelemetryHelper.addChatConfigDataToTelemetry(props === null || props === void 0 ? void 0 : props.chatConfig, telemetryData);
53
31
  }
54
-
55
32
  telemetryData = _TelemetryHelper.TelemetryHelper.addWidgetDataToTelemetry(telemetryConfig, telemetryData);
56
- telemetryData.OCChatSDKVersion = _package2.version;
57
- telemetryData.chatComponentVersion = _package.version;
58
- telemetryData.chatWidgetVersion = widgetPackageInfo;
33
+ telemetryData.OCChatSDKVersion = telemetryConfig.OCChatSDKVersion ?? "0.0.0-0";
34
+ telemetryData.chatComponentVersion = telemetryConfig.chatComponentVersion ?? "0.0.0-0";
35
+ telemetryData.chatWidgetVersion = telemetryConfig.chatWidgetVersion ?? "0.0.0-0";
59
36
  telemetryData.orgId = (_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;
60
37
  telemetryData.widgetId = (_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;
61
38
  telemetryData.orgUrl = (_props$chatSDK3 = props.chatSDK) === null || _props$chatSDK3 === void 0 ? void 0 : (_props$chatSDK3$omnic = _props$chatSDK3.omnichannelConfig) === null || _props$chatSDK3$omnic === void 0 ? void 0 : _props$chatSDK3$omnic.orgUrl;
@@ -65,8 +42,6 @@ const registerTelemetryLoggers = (props, dispatch) => {
65
42
  payload: telemetryData
66
43
  });
67
44
  }
68
-
69
45
  (0, _TelemetryManager.RegisterLoggers)();
70
46
  };
71
-
72
47
  exports.registerTelemetryLoggers = registerTelemetryLoggers;
@@ -4,29 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.setPostChatContextAndLoadSurvey = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
-
12
9
  var _ConversationState = require("../../../contexts/common/ConversationState");
13
-
14
10
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
15
-
16
11
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
17
-
18
12
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
13
  const setPostChatContextAndLoadSurvey = async (chatSDK, dispatch, persistedChat) => {
20
14
  try {
21
15
  if (!persistedChat) {
22
16
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
17
  const context = await chatSDK.getPostChatSurveyContext();
24
-
25
18
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
26
19
  Event: _TelemetryConstants.TelemetryEvent.PostChatContextCallSucceed,
27
20
  Description: "Postchat context call succeed."
28
21
  });
29
-
30
22
  dispatch({
31
23
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_POST_CHAT_CONTEXT,
32
24
  payload: context
@@ -39,19 +31,14 @@ const setPostChatContextAndLoadSurvey = async (chatSDK, dispatch, persistedChat)
39
31
  exception: ex
40
32
  }
41
33
  });
42
- } // eslint-disable-next-line @typescript-eslint/no-unused-vars
43
-
34
+ }
44
35
 
36
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
45
37
  _omnichannelChatComponents.BroadcastService.getMessageByEventName("LoadPostChatSurvey").subscribe(msg => {
46
- dispatch({
47
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
48
- payload: _ConversationState.ConversationState.Loading
49
- });
50
38
  dispatch({
51
39
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
52
40
  payload: _ConversationState.ConversationState.Postchat
53
41
  });
54
42
  });
55
43
  };
56
-
57
44
  exports.setPostChatContextAndLoadSurvey = setPostChatContextAndLoadSurvey;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.shareObservable = shareObservable;
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ function shareObservable(observable) {
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ let observers = [];
11
+
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ let subscription;
14
+
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ return new window.Observable(observer => {
17
+ if (!subscription) {
18
+ subscription = observable.subscribe({
19
+ complete() {
20
+ observers.forEach(observer => observer.complete());
21
+ },
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ error(err) {
24
+ observers.forEach(observer => observer.error(err));
25
+ },
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ next(value) {
28
+ observers.forEach(observer => observer.next(value));
29
+ }
30
+ });
31
+ }
32
+ observers.push(observer);
33
+ return () => {
34
+ observers = observers.filter(o => o !== observer);
35
+ if (!observers.length) {
36
+ subscription.unsubscribe();
37
+ subscription = null;
38
+ }
39
+ };
40
+ });
41
+ }