@microsoft/omnichannel-chat-widget 0.1.0-main.b59a07c → 0.1.0-main.bf74329

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 +8 -159
  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 +36 -22
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +14 -57
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +0 -31
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  14. package/lib/cjs/common/utils.js +65 -93
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +6 -44
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +10 -24
  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 +14 -43
  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 +67 -38
  39. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  40. package/lib/cjs/components/livechatwidget/common/endChat.js +53 -46
  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 +32 -53
  45. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +68 -82
  46. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  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 +145 -117
  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 +243 -185
  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 +32 -23
  57. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  58. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  59. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  60. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  61. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +10 -42
  62. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +3 -33
  63. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  64. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  65. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  66. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  67. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  68. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  69. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -16
  70. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  71. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  72. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  73. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  74. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  75. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -37
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -18
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  117. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  118. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  119. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  120. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  121. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +4 -2
  122. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +11 -12
  123. package/lib/cjs/contexts/createReducer.js +145 -100
  124. package/lib/cjs/controller/componentController.js +4 -33
  125. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  126. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  127. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  128. package/lib/cjs/index.js +0 -5
  129. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  130. package/lib/esm/common/Constants.js +8 -147
  131. package/lib/esm/common/KeyCodes.js +0 -2
  132. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  133. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  134. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  135. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  136. package/lib/esm/common/telemetry/TelemetryConstants.js +40 -19
  137. package/lib/esm/common/telemetry/TelemetryHelper.js +14 -45
  138. package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
  139. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  140. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  141. package/lib/esm/common/utils.js +60 -50
  142. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +6 -15
  143. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +12 -10
  144. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +9 -13
  145. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  146. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  147. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  148. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +14 -36
  149. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  150. package/lib/esm/components/headerstateful/HeaderStateful.js +16 -15
  151. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  152. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  153. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  154. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  155. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  156. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  157. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  158. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  159. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  160. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  161. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  162. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  163. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +69 -25
  164. package/lib/esm/components/livechatwidget/common/endChat.js +55 -30
  165. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  166. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  167. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  168. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +35 -22
  169. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +71 -68
  170. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  171. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  172. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  173. package/lib/esm/components/livechatwidget/common/startChat.js +147 -96
  174. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  175. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +247 -128
  176. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  177. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  178. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  179. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  180. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  181. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  182. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  183. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  184. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +13 -26
  185. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +5 -9
  186. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  187. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  188. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  189. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  190. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  191. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  192. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -12
  193. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  194. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  195. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  196. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  197. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  198. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  199. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -13
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  240. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  241. package/lib/esm/contexts/ChatContextStore.js +2 -1
  242. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  243. package/lib/esm/contexts/common/ConversationState.js +3 -3
  244. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +4 -2
  245. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +11 -8
  246. package/lib/esm/contexts/createReducer.js +145 -97
  247. package/lib/esm/controller/componentController.js +5 -4
  248. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  249. package/lib/esm/hooks/useChatContextStore.js +0 -4
  250. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  251. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  252. package/lib/types/common/Constants.d.ts +8 -0
  253. package/lib/types/common/interfaces/IContextDataStore.d.ts +1 -1
  254. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  255. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  256. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  257. package/lib/types/common/telemetry/TelemetryConstants.d.ts +25 -6
  258. package/lib/types/common/utils.d.ts +7 -3
  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/reconnectChatHelper.d.ts +5 -4
  268. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  269. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  270. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  271. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +3 -2
  272. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  273. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  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 +3 -2
  292. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +5 -2
  293. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  294. package/package.json +5 -4
@@ -4,31 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createOnNewAdapterActivityHandler = 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 _Constants = require("../common/Constants");
13
-
14
10
  var _TelemetryHelper = require("../common/telemetry/TelemetryHelper");
15
-
16
11
  const createOnNewAdapterActivityHandler = (chatId, userId) => {
17
12
  const onNewAdapterActivityHandler = activity => {
18
13
  var _activity$channelData, _activity$channelData2, _activity$channelData3;
19
-
20
14
  const isActivityMessage = (activity === null || activity === void 0 ? void 0 : activity.type) === _Constants.Constants.message;
21
- const isNotHistoryMessage = isActivityMessage && !(activity !== null && activity !== void 0 && (_activity$channelData = activity.channelData) !== null && _activity$channelData !== void 0 && (_activity$channelData2 = _activity$channelData.tags) !== null && _activity$channelData2 !== void 0 && _activity$channelData2.includes(_Constants.Constants.historyMessageTag)) && !(activity !== null && activity !== void 0 && (_activity$channelData3 = activity.channelData) !== null && _activity$channelData3 !== void 0 && _activity$channelData3.fromList);
22
-
23
- if (isNotHistoryMessage) {
24
- raiseMessageEvent(activity);
25
- }
15
+ const isHistoryMessage = isActivityMessage && ((activity === null || activity === void 0 ? void 0 : (_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : (_activity$channelData2 = _activity$channelData.tags) === null || _activity$channelData2 === void 0 ? void 0 : _activity$channelData2.includes(_Constants.Constants.historyMessageTag)) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData3 = activity.channelData) === null || _activity$channelData3 === void 0 ? void 0 : _activity$channelData3.fromList));
16
+ raiseMessageEvent(activity, isHistoryMessage);
26
17
  };
27
-
28
- const raiseMessageEvent = activity => {
18
+ const raiseMessageEvent = (activity, isHistoryMessage) => {
29
19
  if ((activity === null || activity === void 0 ? void 0 : activity.type) === _Constants.Constants.message) {
30
20
  var _text, _text2, _activity$channelData4, _activity$from;
31
-
32
21
  const payload = {
33
22
  // To identify hidden contents vs empty content
34
23
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -39,7 +28,6 @@ const createOnNewAdapterActivityHandler = (chatId, userId) => {
39
28
  tags: activity === null || activity === void 0 ? void 0 : (_activity$channelData4 = activity.channelData) === null || _activity$channelData4 === void 0 ? void 0 : _activity$channelData4.tags,
40
29
  messageType: ""
41
30
  };
42
-
43
31
  if ((activity === null || activity === void 0 ? void 0 : (_activity$from = activity.from) === null || _activity$from === void 0 ? void 0 : _activity$from.role) === _Constants.Constants.userMessageTag) {
44
32
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
33
  payload.messageType = _Constants.Constants.userMessageTag;
@@ -47,53 +35,44 @@ const createOnNewAdapterActivityHandler = (chatId, userId) => {
47
35
  eventName: _TelemetryConstants.BroadcastEvent.NewMessageSent,
48
36
  payload: payload
49
37
  };
50
-
51
38
  _omnichannelChatComponents.BroadcastService.postMessage(newMessageSentEvent);
52
-
53
39
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
54
40
  Event: _TelemetryConstants.TelemetryEvent.MessageSent,
55
41
  Description: "New message sent"
56
42
  });
57
43
  } else {
58
44
  var _activity$channelData5, _activity$channelData6;
59
-
60
45
  if (activity !== null && activity !== void 0 && (_activity$channelData5 = activity.channelData) !== null && _activity$channelData5 !== void 0 && (_activity$channelData6 = _activity$channelData5.tags) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.includes(_Constants.Constants.systemMessageTag)) {
61
46
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
47
  payload.messageType = _Constants.Constants.systemMessageTag;
63
48
  } else {
64
49
  var _activity$channelData7, _activity$channelData8, _activity$channelData9;
65
-
66
50
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
- const messageHasNoText = !(activity !== null && activity !== void 0 && activity.text); // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
-
69
- const messageHasNoTags = !(activity !== null && activity !== void 0 && activity.channelData) || !(activity !== null && activity !== void 0 && (_activity$channelData7 = activity.channelData) !== null && _activity$channelData7 !== void 0 && _activity$channelData7.tags) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData8 = activity.channelData) === null || _activity$channelData8 === void 0 ? void 0 : (_activity$channelData9 = _activity$channelData8.tags) === null || _activity$channelData9 === void 0 ? void 0 : _activity$channelData9.length) === 0; // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
-
51
+ const messageHasNoText = !(activity !== null && activity !== void 0 && activity.text);
52
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
+ const messageHasNoTags = !(activity !== null && activity !== void 0 && activity.channelData) || !(activity !== null && activity !== void 0 && (_activity$channelData7 = activity.channelData) !== null && _activity$channelData7 !== void 0 && _activity$channelData7.tags) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData8 = activity.channelData) === null || _activity$channelData8 === void 0 ? void 0 : (_activity$channelData9 = _activity$channelData8.tags) === null || _activity$channelData9 === void 0 ? void 0 : _activity$channelData9.length) === 0;
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
55
  const messageHasNoAttachments = !(activity !== null && activity !== void 0 && activity.attachments) || (activity === null || activity === void 0 ? void 0 : activity.attachments.length) === 0;
72
-
73
56
  if (messageHasNoTags && messageHasNoText && messageHasNoAttachments) {
74
57
  return;
75
58
  }
76
-
77
59
  payload.messageType = _Constants.Constants.userMessageTag;
78
60
  }
79
-
80
61
  const newMessageReceivedEvent = {
81
- eventName: _TelemetryConstants.BroadcastEvent.NewMessageReceived,
62
+ eventName: isHistoryMessage ? _TelemetryConstants.BroadcastEvent.HistoryMessageReceived : _TelemetryConstants.BroadcastEvent.NewMessageReceived,
82
63
  payload: payload
83
64
  };
84
-
85
65
  _omnichannelChatComponents.BroadcastService.postMessage(newMessageReceivedEvent);
86
-
87
- _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
88
- Event: _TelemetryConstants.TelemetryEvent.MessageReceived,
89
- Description: "New message received",
90
- Data: payload
91
- });
66
+ if (!isHistoryMessage) {
67
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
68
+ Event: _TelemetryConstants.TelemetryEvent.MessageReceived,
69
+ Description: "New message received",
70
+ Data: payload
71
+ });
72
+ }
92
73
  }
93
74
  }
94
75
  };
95
-
96
76
  return onNewAdapterActivityHandler;
97
77
  };
98
-
99
78
  exports.createOnNewAdapterActivityHandler = createOnNewAdapterActivityHandler;
@@ -1,305 +1,166 @@
1
1
  var _class;
2
-
3
2
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
-
5
3
  export class Constants {}
6
-
4
+ _defineProperty(Constants, "magicCodeBroadcastChannel", "MagicCodeChannel");
5
+ _defineProperty(Constants, "magicCodeResponseBroadcastChannel", "MagicCodeResponseChannel");
7
6
  _defineProperty(Constants, "systemMessageTag", "system");
8
-
9
7
  _defineProperty(Constants, "userMessageTag", "user");
10
-
11
8
  _defineProperty(Constants, "historyMessageTag", "history");
12
-
13
9
  _defineProperty(Constants, "agentEndConversationMessageTag", "agentendconversation");
14
-
15
10
  _defineProperty(Constants, "supervisorForceCloseMessageTag", "supervisorforceclosedconversation");
16
-
17
11
  _defineProperty(Constants, "receivedMessageClassName", "ms_lcw_webchat_received_message");
18
-
19
12
  _defineProperty(Constants, "sentMessageClassName", "ms_lcw_webchat_sent_message");
20
-
21
13
  _defineProperty(Constants, "webchatChannelId", "webchat");
22
-
23
14
  _defineProperty(Constants, "markdown", "markdown");
24
-
25
15
  _defineProperty(Constants, "actionType", "actionType");
26
-
27
16
  _defineProperty(Constants, "String", "string");
28
-
29
17
  _defineProperty(Constants, "ChatMessagesJson", "chatMessagesJson");
30
-
31
18
  _defineProperty(Constants, "truePascal", "True");
32
-
33
19
  _defineProperty(Constants, "true", "true");
34
-
35
20
  _defineProperty(Constants, "false", "false");
36
-
37
21
  _defineProperty(Constants, "maximumUnreadMessageCount", 99);
38
-
39
22
  _defineProperty(Constants, "channelIdKey", "ChannelId-");
40
-
41
23
  _defineProperty(Constants, "ChannelId", "lcw");
42
-
43
24
  _defineProperty(Constants, "CustomerTag", "FromCustomer");
44
-
45
25
  _defineProperty(Constants, "GifContentType", "image/gif");
46
-
47
26
  _defineProperty(Constants, "video", "video");
48
-
49
27
  _defineProperty(Constants, "audio", "audio");
50
-
51
28
  _defineProperty(Constants, "controlsList", "controlsList");
52
-
53
29
  _defineProperty(Constants, "nodownload", "nodownload");
54
-
55
30
  _defineProperty(Constants, "activity", "activity");
56
-
57
31
  _defineProperty(Constants, "payload", "payload");
58
-
59
32
  _defineProperty(Constants, "text", "text");
60
-
61
33
  _defineProperty(Constants, "blank", "_blank");
62
-
63
34
  _defineProperty(Constants, "visitorIdPrefix", "8:");
64
-
65
35
  _defineProperty(Constants, "left", "left");
66
-
67
36
  _defineProperty(Constants, "queuePositionMessageTag", "queueposition");
68
-
69
37
  _defineProperty(Constants, "averageWaitTimeMessageTag", "averagewaittime");
70
-
71
38
  _defineProperty(Constants, "message", "message");
72
-
39
+ _defineProperty(Constants, "hiddenTag", "Hidden");
40
+ _defineProperty(Constants, "prefixTimestampTag", "ServerMessageTimestamp_");
41
+ _defineProperty(Constants, "acsChannel", "ACS_CHANNEL");
42
+ _defineProperty(Constants, "publicMessageTag", "public");
73
43
  _defineProperty(Constants, "supportedAdaptiveCardContentTypes", ["application/vnd.microsoft.card.adaptive", "application/vnd.microsoft.card.audio", "application/vnd.microsoft.card.hero", "application/vnd.microsoft.card.receipt", "application/vnd.microsoft.card.thumbnail", "application/vnd.microsoft.card.signin", "application/vnd.microsoft.card.oauth"]);
74
-
75
44
  _defineProperty(Constants, "maxUploadFileSize", "500000");
76
-
77
45
  _defineProperty(Constants, "imageRegex", /(\.)(jpeg|jpg|jiff|png|gif|bmp)$/i);
78
-
79
46
  _defineProperty(Constants, "audioMediaRegex", /(\.)(aac|aiff|alac|flac|mp2|mp3|pcm|wav|wma)$/i);
80
-
81
47
  _defineProperty(Constants, "videoMediaRegex", /(\.)(avchd|avi|flv|mpe|mpeg|mpg|mpv|mp4|m4p|m4v|mov|qt|swf|webm|wmv)$/i);
82
-
83
48
  _defineProperty(Constants, "chromeSupportedInlineMediaRegex", /(\.)(aac|mp3|wav|mp4)$/i);
84
-
85
49
  _defineProperty(Constants, "firefoxSupportedInlineMediaRegex", /(\.)(aac|flac|mp3|wav|mp4|mov)$/i);
86
-
87
50
  _defineProperty(Constants, "CallAdded", "callAdded");
88
-
89
51
  _defineProperty(Constants, "LocalVideoStreamAdded", "localVideoStreamAdded");
90
-
91
52
  _defineProperty(Constants, "LocalVideoStreamRemoved", "localVideoStreamRemoved");
92
-
93
53
  _defineProperty(Constants, "RemoteVideoStreamAdded", "remoteVideoStreamAdded");
94
-
95
54
  _defineProperty(Constants, "RemoteVideoStreamRemoved", "remoteVideoStreamRemoved");
96
-
97
55
  _defineProperty(Constants, "CallDisconnected", "callDisconnected");
98
-
99
56
  _defineProperty(Constants, "IncomingCallEnded", "incomingCallEnded");
100
-
101
57
  _defineProperty(Constants, "VoiceVideoInitialize", "voiceVideoInitialize");
102
-
103
58
  _defineProperty(Constants, "VoiceVideoInitializeException", "voiceVideoInitializeOnException");
104
-
105
59
  _defineProperty(Constants, "VoiceVideoLoading", "voiceVideoLoading");
106
-
107
60
  _defineProperty(Constants, "VoiceVideoNotLoaded", "voiceVideoNotLoaded");
108
-
109
61
  _defineProperty(Constants, "VoiceVideoLoadingException", "voiceVideoLoadingOnException");
110
-
111
62
  _defineProperty(Constants, "VoiceVideoAcceptCallException", "voiceVideoAcceptCallOnException");
112
-
113
63
  _defineProperty(Constants, "VoiceVideoAcceptCallWithVideoException", "voiceVideoAcceptCallWithVideoException");
114
-
115
64
  _defineProperty(Constants, "defaultDownloadTranscriptError", "Download transcript failed.");
116
-
117
65
  _defineProperty(Constants, "ProactiveChatInviteTimeoutInMs", 60000);
118
-
119
66
  _defineProperty(Constants, "InputSubmit", "InputSubmit");
120
-
121
67
  _defineProperty(Constants, "ReconnectIdAttributeName", "oc.reconnectid");
122
-
123
68
  _defineProperty(Constants, "LiveChatWidget", "LiveChatWidgetNew");
124
-
125
69
  _defineProperty(Constants, "GuidPattern", "xx-x-4m-ym-xxx");
126
-
127
70
  _defineProperty(Constants, "Default", "default");
128
-
129
71
  _defineProperty(Constants, "Zero", "zero");
130
-
131
72
  _defineProperty(Constants, "Title", "title");
132
-
133
73
  _defineProperty(Constants, "Target", "target");
134
-
135
74
  _defineProperty(Constants, "Blank", "_blank");
136
-
137
75
  _defineProperty(Constants, "TargetRelationship", "rel");
138
-
139
76
  _defineProperty(Constants, "TargetRelationshipAttributes", "noopener noreferrer");
140
-
141
77
  _defineProperty(Constants, "OpenLinkIconCssClass", "webchat__markdown__external-link-icon");
142
-
143
78
  _defineProperty(Constants, "internetConnectionTestUrl", "https://ocsdk-prod.azureedge.net/public/connecttest.txt");
144
-
145
79
  _defineProperty(Constants, "internetConnectionTestUrlText", "Omnichannel Connect Test");
146
-
147
80
  _defineProperty(Constants, "ChatWidgetStateChangedPrefix", "ChatWidgetStateChanged");
148
-
81
+ _defineProperty(Constants, "PostChatLoadingDurationInMs", 2000);
82
+ _defineProperty(Constants, "BrowserUnloadConfirmationMessage", "Do you want to leave chat?");
149
83
  export const Regex = (_class = class Regex {}, _defineProperty(_class, "EmailRegex", "(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])"), _class);
150
84
  export class HtmlIdNames {}
151
-
152
85
  _defineProperty(HtmlIdNames, "MSLiveChatWidget", "MSLiveChatWidget");
153
-
154
86
  export class HtmlClassNames {}
155
-
156
87
  _defineProperty(HtmlClassNames, "webChatBannerCloseButton", "webchat__toast__dismissButton");
157
-
158
88
  _defineProperty(HtmlClassNames, "webChatBannerExpandButton", "webchat__toaster__expandIcon");
159
-
160
89
  export class HtmlElementSelectors {}
161
-
162
90
  _defineProperty(HtmlElementSelectors, "sendBoxSelector", "textarea[data-id=\"webchat-sendbox-input\"]");
163
-
164
91
  export class HtmlAttributeNames {}
165
-
166
92
  _defineProperty(HtmlAttributeNames, "role", "role");
167
-
168
93
  _defineProperty(HtmlAttributeNames, "navigation", "navigation");
169
-
170
94
  _defineProperty(HtmlAttributeNames, "ariaLabel", "aria-label");
171
-
172
95
  _defineProperty(HtmlAttributeNames, "ariaLive", "aria-live");
173
-
174
96
  _defineProperty(HtmlAttributeNames, "ariaDisabled", "aria-disabled");
175
-
176
97
  _defineProperty(HtmlAttributeNames, "form", "form");
177
-
178
98
  _defineProperty(HtmlAttributeNames, "ariaLabelledby", "aria-labelledby");
179
-
180
99
  _defineProperty(HtmlAttributeNames, "tabindex", "tabindex");
181
-
182
100
  _defineProperty(HtmlAttributeNames, "ariaRequired", "aria-required");
183
-
184
101
  _defineProperty(HtmlAttributeNames, "ariaDesribedby", "aria-describedby");
185
-
186
102
  _defineProperty(HtmlAttributeNames, "ariaHidden", "aria-hidden");
187
-
188
103
  _defineProperty(HtmlAttributeNames, "disabled", "disabled");
189
-
190
104
  _defineProperty(HtmlAttributeNames, "hidden", "hidden");
191
-
192
105
  _defineProperty(HtmlAttributeNames, "download", "download");
193
-
194
106
  _defineProperty(HtmlAttributeNames, "href", "href");
195
-
196
107
  _defineProperty(HtmlAttributeNames, "region", "region");
197
-
198
108
  _defineProperty(HtmlAttributeNames, "button", "button");
199
-
200
109
  _defineProperty(HtmlAttributeNames, "input", "Input");
201
-
202
110
  _defineProperty(HtmlAttributeNames, "style", "style");
203
-
204
111
  _defineProperty(HtmlAttributeNames, "head", "head");
205
-
206
112
  _defineProperty(HtmlAttributeNames, "type", "type");
207
-
208
113
  _defineProperty(HtmlAttributeNames, "csstext", "text/css");
209
-
210
114
  _defineProperty(HtmlAttributeNames, "listItem", "LI");
211
-
212
115
  _defineProperty(HtmlAttributeNames, "unorderedList", "UL");
213
-
214
116
  _defineProperty(HtmlAttributeNames, "div", "div");
215
-
216
117
  _defineProperty(HtmlAttributeNames, "aTagName", "a");
217
-
218
118
  _defineProperty(HtmlAttributeNames, "noopenerTag", "noopener");
219
-
220
119
  _defineProperty(HtmlAttributeNames, "noreferrerTag", "noreferrer");
221
-
222
120
  _defineProperty(HtmlAttributeNames, "adaptiveCardClassName", "ac-adaptiveCard");
223
-
224
121
  _defineProperty(HtmlAttributeNames, "adaptiveCardTextBlockClassName", "ac-textBlock");
225
-
226
122
  _defineProperty(HtmlAttributeNames, "adaptiveCardToggleInputClassName", "ac-toggleInput");
227
-
228
123
  export class WebChatMiddlewareConstants {}
229
-
230
124
  _defineProperty(WebChatMiddlewareConstants, "nextVisibleActivity", "nextVisibleActivity");
231
-
232
125
  _defineProperty(WebChatMiddlewareConstants, "timeBetweenTimestampGroups", 300000);
233
-
234
126
  _defineProperty(WebChatMiddlewareConstants, "maxTextLength", 6000);
235
-
236
127
  _defineProperty(WebChatMiddlewareConstants, "adaptiveCard", "AdaptiveCard");
237
-
238
128
  export class MimeTypes {}
239
-
240
129
  _defineProperty(MimeTypes, "UnknownFileType", "application/octet-stream");
241
-
242
130
  export class LocaleConstants {}
243
-
244
131
  _defineProperty(LocaleConstants, "RTL_LOCALES", ["1025", "1037"]);
245
-
246
132
  export let ElementType;
247
-
248
133
  (function (ElementType) {
249
134
  ElementType["CallingContainerSDK"] = "CallingContainerSDK";
250
135
  })(ElementType || (ElementType = {}));
251
-
252
136
  export let ChatSDKError;
253
-
254
137
  (function (ChatSDKError) {
255
138
  ChatSDKError["WidgetUseOutsideOperatingHour"] = "WidgetUseOutsideOperatingHour";
256
139
  })(ChatSDKError || (ChatSDKError = {}));
257
-
258
140
  export let EnvironmentVersion;
259
-
260
141
  (function (EnvironmentVersion) {
261
142
  EnvironmentVersion["prod"] = "prod";
262
143
  EnvironmentVersion["dogfood"] = "df";
263
144
  EnvironmentVersion["int"] = "int";
264
145
  EnvironmentVersion["test"] = "test";
265
146
  })(EnvironmentVersion || (EnvironmentVersion = {}));
266
-
267
147
  export class TranscriptConstants {}
268
-
269
148
  _defineProperty(TranscriptConstants, "ChatTranscriptsBodyColor", "#F5F5F5");
270
-
271
149
  _defineProperty(TranscriptConstants, "TranscriptMessageEmojiMessageType", "http://schema.skype.com/emoji");
272
-
273
150
  _defineProperty(TranscriptConstants, "ChatTranscriptDownloadFile", "ChatTranscripts.html");
274
-
275
151
  _defineProperty(TranscriptConstants, "DefaultFileAttachmentName", "Untitled.txt");
276
-
277
152
  _defineProperty(TranscriptConstants, "CustomerDialogColor", "#E8E8E8");
278
-
279
153
  _defineProperty(TranscriptConstants, "CustomerFontColor", "black");
280
-
281
154
  _defineProperty(TranscriptConstants, "AdaptiveCardType", "adaptivecard");
282
-
283
155
  _defineProperty(TranscriptConstants, "InternalMode", "internal");
284
-
285
156
  _defineProperty(TranscriptConstants, "AgentDialogColor", "#2266E3");
286
-
287
157
  _defineProperty(TranscriptConstants, "AgentFontColor", "white");
288
-
289
158
  export class AriaTelemetryConstants {}
290
-
291
159
  _defineProperty(AriaTelemetryConstants, "GERMANY_ENDPOINT", "https://de.pipe.aria.microsoft.com/Collector/3.0/");
292
-
293
160
  _defineProperty(AriaTelemetryConstants, "GCCH_ENDPOINT", "https://tb.pipe.aria.microsoft.com/Collector/3.0/");
294
-
295
161
  _defineProperty(AriaTelemetryConstants, "DOD_ENDPOINT", "https://pf.pipe.aria.microsoft.com/Collector/3.0");
296
-
297
162
  _defineProperty(AriaTelemetryConstants, "EUROPE_ENDPOINT", "https://eu-mobile.events.data.microsoft.com/Collector/3.0/");
298
-
299
163
  _defineProperty(AriaTelemetryConstants, "MOONCAKE_ENDPOINT", "");
300
-
301
164
  _defineProperty(AriaTelemetryConstants, "Public", "Public");
302
-
303
165
  _defineProperty(AriaTelemetryConstants, "EU", "Europe");
304
-
305
166
  _defineProperty(AriaTelemetryConstants, "lcwEUDomainNames", ["crm4.omnichannelengagementhub.com", "crm12.omnichannelengagementhub.com", "crm16.omnichannelengagementhub.com", "crm17.omnichannelengagementhub.com", "crm19.omnichannelengagementhub.com"]);
@@ -1,5 +1,3 @@
1
1
  var _class;
2
-
3
2
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
-
5
3
  export const KeyCodes = (_class = class KeyCodes {}, _defineProperty(_class, "ENTER", "Enter"), _defineProperty(_class, "TAB", "Tab"), _class);
@@ -1,5 +1,3 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  export class DataStoreManager {}
4
-
5
3
  _defineProperty(DataStoreManager, "clientDataStore", void 0);
@@ -0,0 +1,16 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ import { BroadcastService } from "@microsoft/omnichannel-chat-components";
3
+ import { getWidgetCacheId } from "../../utils";
4
+ import { defaultClientDataStoreProvider } from "./defaultClientDataStoreProvider";
5
+ export class defaultCacheManager {}
6
+ _defineProperty(defaultCacheManager, "InternalCache", {});
7
+ export const registerBroadcastServiceForLocalStorage = (orgid, widgetId, widgetInstanceId) => {
8
+ const widgetCacheId = getWidgetCacheId(orgid, widgetId, widgetInstanceId);
9
+ BroadcastService.getMessageByEventName(widgetCacheId).subscribe(msg => {
10
+ try {
11
+ defaultClientDataStoreProvider().setData(widgetCacheId, JSON.stringify(msg.payload), "localStorage");
12
+ } catch (error) {
13
+ console.error("Error in setting data to localstorage", error);
14
+ }
15
+ });
16
+ };
@@ -0,0 +1,95 @@
1
+ import { inMemoryDataStore } from "./defaultInMemoryDataStore";
2
+ import { TelemetryHelper } from "../../telemetry/TelemetryHelper";
3
+ import { LogLevel, TelemetryEvent } from "../../telemetry/TelemetryConstants";
4
+ export const defaultClientDataStoreProvider = () => {
5
+ const isCookieAllowed = () => {
6
+ try {
7
+ localStorage;
8
+ sessionStorage;
9
+ return true;
10
+ } catch (error) {
11
+ console.error("Third party cookie blocked");
12
+ return false;
13
+ }
14
+ };
15
+ const TtlInMs = 15 * 60 * 1000; // 15 mins
16
+ const dataStoreProvider = {
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+ setData: (key, data, type) => {
19
+ if (isCookieAllowed()) {
20
+ try {
21
+ if (key) {
22
+ const now = new Date();
23
+ const item = {
24
+ data: data,
25
+ expiry: now.getTime() + TtlInMs
26
+ };
27
+ const strItem = JSON.stringify(item);
28
+ if (type === "localStorage") {
29
+ localStorage.setItem(key, strItem);
30
+ } else {
31
+ sessionStorage.setItem(key, strItem);
32
+ }
33
+ }
34
+ } catch (error) {
35
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
36
+ Event: TelemetryEvent.ClientDataStoreProviderFailed,
37
+ ExceptionDetails: error,
38
+ Description: "Unable to store data in localStorage."
39
+ });
40
+ }
41
+ } else {
42
+ const dataToCache = {
43
+ key: key,
44
+ data: data,
45
+ type: type
46
+ };
47
+ parent.postMessage(dataToCache, "*");
48
+ }
49
+ },
50
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
+ getData: (key, type) => {
52
+ if (isCookieAllowed()) {
53
+ let item;
54
+ if (type === "localStorage") {
55
+ item = localStorage.getItem(key);
56
+ } else {
57
+ item = sessionStorage.getItem(key);
58
+ }
59
+ //Return item if not expired
60
+ let itemInJson = undefined;
61
+ if (item !== null) {
62
+ itemInJson = JSON.parse(item);
63
+ const now = new Date();
64
+ // compare the expiry time of the item with the current time
65
+ if (now.getTime() > itemInJson.expiry) {
66
+ // If the item is expired, delete the item from storage
67
+ // and return null
68
+ localStorage.removeItem(key);
69
+ return null;
70
+ }
71
+ return itemInJson.data;
72
+ }
73
+ } else {
74
+ // get data from in memory db when cookie is disabled
75
+ return inMemoryDataStore().getData(key);
76
+ }
77
+ },
78
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
79
+ removeData: (key, type) => {
80
+ if (isCookieAllowed()) {
81
+ if (key) {
82
+ if (type === "localStorage") {
83
+ return localStorage.removeItem(key);
84
+ } else {
85
+ return sessionStorage.removeItem(key);
86
+ }
87
+ }
88
+ } else {
89
+ // get data from in memory db when cookie is disabled
90
+ return inMemoryDataStore().removeData(key);
91
+ }
92
+ }
93
+ };
94
+ return dataStoreProvider;
95
+ };
@@ -0,0 +1,70 @@
1
+ import { LogLevel, TelemetryEvent } from "../../telemetry/TelemetryConstants";
2
+ import { TelemetryHelper } from "../../telemetry/TelemetryHelper";
3
+ import { defaultCacheManager } from "./defaultCacheManager";
4
+ export const defaultInitializeInMemoryDataStore = widgetId => {
5
+ try {
6
+ localStorage;
7
+ } catch (error) {
8
+ // Register below events when localStorage is not accessible
9
+ // Listening to event raised from client browser
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ window.addEventListener("message", function (e) {
12
+ try {
13
+ if (e.data.key) {
14
+ const browserData = e.data;
15
+ if (defaultCacheManager.InternalCache[browserData.key]) {
16
+ delete defaultCacheManager.InternalCache[browserData.key];
17
+ }
18
+ defaultCacheManager.InternalCache[browserData.key] = browserData.data;
19
+ }
20
+ } catch (error) {
21
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
22
+ Event: TelemetryEvent.InMemoryDataStoreFailed,
23
+ ExceptionDetails: error,
24
+ Description: "Unable to register default in-memory cache."
25
+ });
26
+ }
27
+ });
28
+
29
+ // send cache initialize message to client
30
+ if (defaultCacheManager.InternalCache === undefined || {}) {
31
+ parent.postMessage({
32
+ data: "cacheinitialize",
33
+ widgetId: widgetId
34
+ }, "*");
35
+ }
36
+ }
37
+ };
38
+ export const inMemoryDataStore = () => {
39
+ const dataStoreProvider = {
40
+ getData: key => {
41
+ if (defaultCacheManager.InternalCache && defaultCacheManager.InternalCache[key]) {
42
+ return defaultCacheManager.InternalCache[key];
43
+ }
44
+ },
45
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
+ setData: (key, data) => {
47
+ try {
48
+ defaultCacheManager.InternalCache[key] = data;
49
+ } catch (error) {
50
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
51
+ Event: TelemetryEvent.InMemoryDataStoreFailed,
52
+ ExceptionDetails: error,
53
+ Description: "Unable to set data in default in-memory cache."
54
+ });
55
+ }
56
+ },
57
+ removeData: key => {
58
+ try {
59
+ defaultCacheManager.InternalCache[key] = {};
60
+ } catch (error) {
61
+ TelemetryHelper.logConfigDataEvent(LogLevel.ERROR, {
62
+ Event: TelemetryEvent.InMemoryDataStoreFailed,
63
+ ExceptionDetails: error,
64
+ Description: "Unable to remove data from default in-memory cache."
65
+ });
66
+ }
67
+ }
68
+ };
69
+ return dataStoreProvider;
70
+ };