@microsoft/omnichannel-chat-widget 0.1.0-main.e67738e → 0.1.0-main.ec08ec5

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 (262) hide show
  1. package/lib/cjs/common/Constants.js +0 -167
  2. package/lib/cjs/common/KeyCodes.js +0 -3
  3. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  4. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  5. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  6. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +21 -22
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +16 -57
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +0 -31
  10. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  11. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  12. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  13. package/lib/cjs/common/utils.js +18 -105
  14. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
  15. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +2 -24
  16. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -32
  17. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  18. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  19. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  20. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  21. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  22. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -45
  23. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  24. package/lib/cjs/components/headerstateful/HeaderStateful.js +12 -27
  25. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  26. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +2 -9
  27. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -5
  28. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -11
  29. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +11 -19
  30. package/lib/cjs/components/livechatwidget/common/Deferred.js +3 -10
  31. package/lib/cjs/components/livechatwidget/common/authHelper.js +13 -15
  32. package/lib/cjs/components/livechatwidget/common/createAdapter.js +2 -13
  33. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  34. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -14
  35. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +16 -24
  36. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +55 -36
  37. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  38. package/lib/cjs/components/livechatwidget/common/endChat.js +8 -33
  39. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  40. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  41. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  42. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +16 -54
  43. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +36 -66
  44. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  45. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -11
  46. package/lib/cjs/components/livechatwidget/common/shareObservable.js +4 -8
  47. package/lib/cjs/components/livechatwidget/common/startChat.js +55 -86
  48. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  49. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  50. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +125 -196
  51. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  52. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  53. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  54. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  55. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  56. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  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 +8 -36
  60. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
  61. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  62. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +21 -37
  63. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +0 -7
  64. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  65. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  66. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +2 -17
  67. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  68. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  69. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  70. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -4
  71. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  72. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  73. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  74. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  75. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -19
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  112. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  113. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  114. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  115. package/lib/cjs/contexts/common/ConversationState.js +0 -1
  116. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +1 -2
  117. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +8 -10
  118. package/lib/cjs/contexts/createReducer.js +135 -106
  119. package/lib/cjs/controller/componentController.js +1 -30
  120. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  121. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  122. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  123. package/lib/cjs/index.js +0 -5
  124. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  125. package/lib/esm/common/Constants.js +0 -155
  126. package/lib/esm/common/KeyCodes.js +0 -2
  127. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  128. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  129. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  130. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  131. package/lib/esm/common/telemetry/TelemetryConstants.js +25 -19
  132. package/lib/esm/common/telemetry/TelemetryHelper.js +16 -45
  133. package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
  134. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  135. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  136. package/lib/esm/common/utils.js +18 -53
  137. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  138. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
  139. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -13
  140. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  141. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  142. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  143. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
  144. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  145. package/lib/esm/components/headerstateful/HeaderStateful.js +12 -12
  146. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  147. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +2 -6
  148. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -3
  149. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +4 -8
  150. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +11 -15
  151. package/lib/esm/components/livechatwidget/common/Deferred.js +3 -8
  152. package/lib/esm/components/livechatwidget/common/authHelper.js +13 -10
  153. package/lib/esm/components/livechatwidget/common/createAdapter.js +4 -6
  154. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  155. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -5
  156. package/lib/esm/components/livechatwidget/common/createMarkdown.js +18 -18
  157. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +57 -23
  158. package/lib/esm/components/livechatwidget/common/endChat.js +10 -18
  159. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  160. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  161. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  162. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +18 -19
  163. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +37 -51
  164. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  165. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
  166. package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
  167. package/lib/esm/components/livechatwidget/common/startChat.js +57 -59
  168. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  169. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +126 -129
  170. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  171. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  172. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  173. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  174. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  175. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  176. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  177. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  178. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +10 -20
  179. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
  180. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  181. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +19 -11
  182. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  183. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  184. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +2 -13
  185. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  186. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  187. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  188. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -2
  189. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  190. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  191. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  192. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  193. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  194. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  195. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  196. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  197. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  198. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  199. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -14
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  230. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  231. package/lib/esm/contexts/ChatContextStore.js +2 -1
  232. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  233. package/lib/esm/contexts/common/ConversationState.js +0 -1
  234. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +1 -2
  235. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +8 -6
  236. package/lib/esm/contexts/createReducer.js +135 -103
  237. package/lib/esm/controller/componentController.js +2 -1
  238. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  239. package/lib/esm/hooks/useChatContextStore.js +0 -4
  240. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  241. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  242. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  243. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  244. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  245. package/lib/types/common/telemetry/TelemetryConstants.d.ts +9 -2
  246. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  247. package/lib/types/components/livechatwidget/common/authHelper.d.ts +3 -2
  248. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -5
  249. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -2
  250. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  251. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  252. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  253. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  254. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  255. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  256. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  257. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  258. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  259. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -1
  260. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +1 -1
  261. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  262. package/package.json +3 -3
@@ -1,321 +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
-
7
4
  _defineProperty(Constants, "magicCodeBroadcastChannel", "MagicCodeChannel");
8
-
9
5
  _defineProperty(Constants, "magicCodeResponseBroadcastChannel", "MagicCodeResponseChannel");
10
-
11
6
  _defineProperty(Constants, "systemMessageTag", "system");
12
-
13
7
  _defineProperty(Constants, "userMessageTag", "user");
14
-
15
8
  _defineProperty(Constants, "historyMessageTag", "history");
16
-
17
9
  _defineProperty(Constants, "agentEndConversationMessageTag", "agentendconversation");
18
-
19
10
  _defineProperty(Constants, "supervisorForceCloseMessageTag", "supervisorforceclosedconversation");
20
-
21
11
  _defineProperty(Constants, "receivedMessageClassName", "ms_lcw_webchat_received_message");
22
-
23
12
  _defineProperty(Constants, "sentMessageClassName", "ms_lcw_webchat_sent_message");
24
-
25
13
  _defineProperty(Constants, "webchatChannelId", "webchat");
26
-
27
14
  _defineProperty(Constants, "markdown", "markdown");
28
-
29
15
  _defineProperty(Constants, "actionType", "actionType");
30
-
31
16
  _defineProperty(Constants, "String", "string");
32
-
33
17
  _defineProperty(Constants, "ChatMessagesJson", "chatMessagesJson");
34
-
35
18
  _defineProperty(Constants, "truePascal", "True");
36
-
37
19
  _defineProperty(Constants, "true", "true");
38
-
39
20
  _defineProperty(Constants, "false", "false");
40
-
41
21
  _defineProperty(Constants, "maximumUnreadMessageCount", 99);
42
-
43
22
  _defineProperty(Constants, "channelIdKey", "ChannelId-");
44
-
45
23
  _defineProperty(Constants, "ChannelId", "lcw");
46
-
47
24
  _defineProperty(Constants, "CustomerTag", "FromCustomer");
48
-
49
25
  _defineProperty(Constants, "GifContentType", "image/gif");
50
-
51
26
  _defineProperty(Constants, "video", "video");
52
-
53
27
  _defineProperty(Constants, "audio", "audio");
54
-
55
28
  _defineProperty(Constants, "controlsList", "controlsList");
56
-
57
29
  _defineProperty(Constants, "nodownload", "nodownload");
58
-
59
30
  _defineProperty(Constants, "activity", "activity");
60
-
61
31
  _defineProperty(Constants, "payload", "payload");
62
-
63
32
  _defineProperty(Constants, "text", "text");
64
-
65
33
  _defineProperty(Constants, "blank", "_blank");
66
-
67
34
  _defineProperty(Constants, "visitorIdPrefix", "8:");
68
-
69
35
  _defineProperty(Constants, "left", "left");
70
-
71
36
  _defineProperty(Constants, "queuePositionMessageTag", "queueposition");
72
-
73
37
  _defineProperty(Constants, "averageWaitTimeMessageTag", "averagewaittime");
74
-
75
38
  _defineProperty(Constants, "message", "message");
76
-
77
39
  _defineProperty(Constants, "hiddenTag", "Hidden");
78
-
79
40
  _defineProperty(Constants, "prefixTimestampTag", "ServerMessageTimestamp_");
80
-
81
41
  _defineProperty(Constants, "acsChannel", "ACS_CHANNEL");
82
-
83
42
  _defineProperty(Constants, "publicMessageTag", "public");
84
-
85
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"]);
86
-
87
44
  _defineProperty(Constants, "maxUploadFileSize", "500000");
88
-
89
45
  _defineProperty(Constants, "imageRegex", /(\.)(jpeg|jpg|jiff|png|gif|bmp)$/i);
90
-
91
46
  _defineProperty(Constants, "audioMediaRegex", /(\.)(aac|aiff|alac|flac|mp2|mp3|pcm|wav|wma)$/i);
92
-
93
47
  _defineProperty(Constants, "videoMediaRegex", /(\.)(avchd|avi|flv|mpe|mpeg|mpg|mpv|mp4|m4p|m4v|mov|qt|swf|webm|wmv)$/i);
94
-
95
48
  _defineProperty(Constants, "chromeSupportedInlineMediaRegex", /(\.)(aac|mp3|wav|mp4)$/i);
96
-
97
49
  _defineProperty(Constants, "firefoxSupportedInlineMediaRegex", /(\.)(aac|flac|mp3|wav|mp4|mov)$/i);
98
-
99
50
  _defineProperty(Constants, "CallAdded", "callAdded");
100
-
101
51
  _defineProperty(Constants, "LocalVideoStreamAdded", "localVideoStreamAdded");
102
-
103
52
  _defineProperty(Constants, "LocalVideoStreamRemoved", "localVideoStreamRemoved");
104
-
105
53
  _defineProperty(Constants, "RemoteVideoStreamAdded", "remoteVideoStreamAdded");
106
-
107
54
  _defineProperty(Constants, "RemoteVideoStreamRemoved", "remoteVideoStreamRemoved");
108
-
109
55
  _defineProperty(Constants, "CallDisconnected", "callDisconnected");
110
-
111
56
  _defineProperty(Constants, "IncomingCallEnded", "incomingCallEnded");
112
-
113
57
  _defineProperty(Constants, "VoiceVideoInitialize", "voiceVideoInitialize");
114
-
115
58
  _defineProperty(Constants, "VoiceVideoInitializeException", "voiceVideoInitializeOnException");
116
-
117
59
  _defineProperty(Constants, "VoiceVideoLoading", "voiceVideoLoading");
118
-
119
60
  _defineProperty(Constants, "VoiceVideoNotLoaded", "voiceVideoNotLoaded");
120
-
121
61
  _defineProperty(Constants, "VoiceVideoLoadingException", "voiceVideoLoadingOnException");
122
-
123
62
  _defineProperty(Constants, "VoiceVideoAcceptCallException", "voiceVideoAcceptCallOnException");
124
-
125
63
  _defineProperty(Constants, "VoiceVideoAcceptCallWithVideoException", "voiceVideoAcceptCallWithVideoException");
126
-
127
64
  _defineProperty(Constants, "defaultDownloadTranscriptError", "Download transcript failed.");
128
-
129
65
  _defineProperty(Constants, "ProactiveChatInviteTimeoutInMs", 60000);
130
-
131
66
  _defineProperty(Constants, "InputSubmit", "InputSubmit");
132
-
133
67
  _defineProperty(Constants, "ReconnectIdAttributeName", "oc.reconnectid");
134
-
135
68
  _defineProperty(Constants, "LiveChatWidget", "LiveChatWidgetNew");
136
-
137
69
  _defineProperty(Constants, "GuidPattern", "xx-x-4m-ym-xxx");
138
-
139
70
  _defineProperty(Constants, "Default", "default");
140
-
141
71
  _defineProperty(Constants, "Zero", "zero");
142
-
143
72
  _defineProperty(Constants, "Title", "title");
144
-
145
73
  _defineProperty(Constants, "Target", "target");
146
-
147
74
  _defineProperty(Constants, "Blank", "_blank");
148
-
149
75
  _defineProperty(Constants, "TargetRelationship", "rel");
150
-
151
76
  _defineProperty(Constants, "TargetRelationshipAttributes", "noopener noreferrer");
152
-
153
77
  _defineProperty(Constants, "OpenLinkIconCssClass", "webchat__markdown__external-link-icon");
154
-
155
78
  _defineProperty(Constants, "internetConnectionTestUrl", "https://ocsdk-prod.azureedge.net/public/connecttest.txt");
156
-
157
79
  _defineProperty(Constants, "internetConnectionTestUrlText", "Omnichannel Connect Test");
158
-
159
80
  _defineProperty(Constants, "ChatWidgetStateChangedPrefix", "ChatWidgetStateChanged");
160
-
161
81
  _defineProperty(Constants, "PostChatLoadingDurationInMs", 2000);
162
-
163
82
  _defineProperty(Constants, "BrowserUnloadConfirmationMessage", "Do you want to leave chat?");
164
-
165
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);
166
84
  export class HtmlIdNames {}
167
-
168
85
  _defineProperty(HtmlIdNames, "MSLiveChatWidget", "MSLiveChatWidget");
169
-
170
86
  export class HtmlClassNames {}
171
-
172
87
  _defineProperty(HtmlClassNames, "webChatBannerCloseButton", "webchat__toast__dismissButton");
173
-
174
88
  _defineProperty(HtmlClassNames, "webChatBannerExpandButton", "webchat__toaster__expandIcon");
175
-
176
89
  export class HtmlElementSelectors {}
177
-
178
90
  _defineProperty(HtmlElementSelectors, "sendBoxSelector", "textarea[data-id=\"webchat-sendbox-input\"]");
179
-
180
91
  export class HtmlAttributeNames {}
181
-
182
92
  _defineProperty(HtmlAttributeNames, "role", "role");
183
-
184
93
  _defineProperty(HtmlAttributeNames, "navigation", "navigation");
185
-
186
94
  _defineProperty(HtmlAttributeNames, "ariaLabel", "aria-label");
187
-
188
95
  _defineProperty(HtmlAttributeNames, "ariaLive", "aria-live");
189
-
190
96
  _defineProperty(HtmlAttributeNames, "ariaDisabled", "aria-disabled");
191
-
192
97
  _defineProperty(HtmlAttributeNames, "form", "form");
193
-
194
98
  _defineProperty(HtmlAttributeNames, "ariaLabelledby", "aria-labelledby");
195
-
196
99
  _defineProperty(HtmlAttributeNames, "tabindex", "tabindex");
197
-
198
100
  _defineProperty(HtmlAttributeNames, "ariaRequired", "aria-required");
199
-
200
101
  _defineProperty(HtmlAttributeNames, "ariaDesribedby", "aria-describedby");
201
-
202
102
  _defineProperty(HtmlAttributeNames, "ariaHidden", "aria-hidden");
203
-
204
103
  _defineProperty(HtmlAttributeNames, "disabled", "disabled");
205
-
206
104
  _defineProperty(HtmlAttributeNames, "hidden", "hidden");
207
-
208
105
  _defineProperty(HtmlAttributeNames, "download", "download");
209
-
210
106
  _defineProperty(HtmlAttributeNames, "href", "href");
211
-
212
107
  _defineProperty(HtmlAttributeNames, "region", "region");
213
-
214
108
  _defineProperty(HtmlAttributeNames, "button", "button");
215
-
216
109
  _defineProperty(HtmlAttributeNames, "input", "Input");
217
-
218
110
  _defineProperty(HtmlAttributeNames, "style", "style");
219
-
220
111
  _defineProperty(HtmlAttributeNames, "head", "head");
221
-
222
112
  _defineProperty(HtmlAttributeNames, "type", "type");
223
-
224
113
  _defineProperty(HtmlAttributeNames, "csstext", "text/css");
225
-
226
114
  _defineProperty(HtmlAttributeNames, "listItem", "LI");
227
-
228
115
  _defineProperty(HtmlAttributeNames, "unorderedList", "UL");
229
-
230
116
  _defineProperty(HtmlAttributeNames, "div", "div");
231
-
232
117
  _defineProperty(HtmlAttributeNames, "aTagName", "a");
233
-
234
118
  _defineProperty(HtmlAttributeNames, "noopenerTag", "noopener");
235
-
236
119
  _defineProperty(HtmlAttributeNames, "noreferrerTag", "noreferrer");
237
-
238
120
  _defineProperty(HtmlAttributeNames, "adaptiveCardClassName", "ac-adaptiveCard");
239
-
240
121
  _defineProperty(HtmlAttributeNames, "adaptiveCardTextBlockClassName", "ac-textBlock");
241
-
242
122
  _defineProperty(HtmlAttributeNames, "adaptiveCardToggleInputClassName", "ac-toggleInput");
243
-
244
123
  export class WebChatMiddlewareConstants {}
245
-
246
124
  _defineProperty(WebChatMiddlewareConstants, "nextVisibleActivity", "nextVisibleActivity");
247
-
248
125
  _defineProperty(WebChatMiddlewareConstants, "timeBetweenTimestampGroups", 300000);
249
-
250
126
  _defineProperty(WebChatMiddlewareConstants, "maxTextLength", 6000);
251
-
252
127
  _defineProperty(WebChatMiddlewareConstants, "adaptiveCard", "AdaptiveCard");
253
-
254
128
  export class MimeTypes {}
255
-
256
129
  _defineProperty(MimeTypes, "UnknownFileType", "application/octet-stream");
257
-
258
130
  export class LocaleConstants {}
259
-
260
131
  _defineProperty(LocaleConstants, "RTL_LOCALES", ["1025", "1037"]);
261
-
262
132
  export let ElementType;
263
-
264
133
  (function (ElementType) {
265
134
  ElementType["CallingContainerSDK"] = "CallingContainerSDK";
266
135
  })(ElementType || (ElementType = {}));
267
-
268
136
  export let ChatSDKError;
269
-
270
137
  (function (ChatSDKError) {
271
138
  ChatSDKError["WidgetUseOutsideOperatingHour"] = "WidgetUseOutsideOperatingHour";
272
139
  })(ChatSDKError || (ChatSDKError = {}));
273
-
274
140
  export let EnvironmentVersion;
275
-
276
141
  (function (EnvironmentVersion) {
277
142
  EnvironmentVersion["prod"] = "prod";
278
143
  EnvironmentVersion["dogfood"] = "df";
279
144
  EnvironmentVersion["int"] = "int";
280
145
  EnvironmentVersion["test"] = "test";
281
146
  })(EnvironmentVersion || (EnvironmentVersion = {}));
282
-
283
147
  export class TranscriptConstants {}
284
-
285
148
  _defineProperty(TranscriptConstants, "ChatTranscriptsBodyColor", "#F5F5F5");
286
-
287
149
  _defineProperty(TranscriptConstants, "TranscriptMessageEmojiMessageType", "http://schema.skype.com/emoji");
288
-
289
150
  _defineProperty(TranscriptConstants, "ChatTranscriptDownloadFile", "ChatTranscripts.html");
290
-
291
151
  _defineProperty(TranscriptConstants, "DefaultFileAttachmentName", "Untitled.txt");
292
-
293
152
  _defineProperty(TranscriptConstants, "CustomerDialogColor", "#E8E8E8");
294
-
295
153
  _defineProperty(TranscriptConstants, "CustomerFontColor", "black");
296
-
297
154
  _defineProperty(TranscriptConstants, "AdaptiveCardType", "adaptivecard");
298
-
299
155
  _defineProperty(TranscriptConstants, "InternalMode", "internal");
300
-
301
156
  _defineProperty(TranscriptConstants, "AgentDialogColor", "#2266E3");
302
-
303
157
  _defineProperty(TranscriptConstants, "AgentFontColor", "white");
304
-
305
158
  export class AriaTelemetryConstants {}
306
-
307
159
  _defineProperty(AriaTelemetryConstants, "GERMANY_ENDPOINT", "https://de.pipe.aria.microsoft.com/Collector/3.0/");
308
-
309
160
  _defineProperty(AriaTelemetryConstants, "GCCH_ENDPOINT", "https://tb.pipe.aria.microsoft.com/Collector/3.0/");
310
-
311
161
  _defineProperty(AriaTelemetryConstants, "DOD_ENDPOINT", "https://pf.pipe.aria.microsoft.com/Collector/3.0");
312
-
313
162
  _defineProperty(AriaTelemetryConstants, "EUROPE_ENDPOINT", "https://eu-mobile.events.data.microsoft.com/Collector/3.0/");
314
-
315
163
  _defineProperty(AriaTelemetryConstants, "MOONCAKE_ENDPOINT", "");
316
-
317
164
  _defineProperty(AriaTelemetryConstants, "Public", "Public");
318
-
319
165
  _defineProperty(AriaTelemetryConstants, "EU", "Europe");
320
-
321
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
+ };
@@ -1,5 +1,4 @@
1
1
  export let ScenarioType;
2
-
3
2
  (function (ScenarioType) {
4
3
  ScenarioType["CONFIG_VALIDATION"] = "LCW_ConfigValidationEvents";
5
4
  ScenarioType["LOAD"] = "LCW_LoadEvents";
@@ -12,18 +11,18 @@ export let ScenarioType;
12
11
  ScenarioType["UNDEFINED"] = "LCW_Undefined";
13
12
  ScenarioType["ACS_ADAPTER"] = "LCW_ACSAdapterEvents";
14
13
  })(ScenarioType || (ScenarioType = {}));
14
+ export let LogLevel;
15
15
 
16
- export let LogLevel; // Events used in certain functionalities that are not being logged
17
-
16
+ // Events used in certain functionalities that are not being logged
18
17
  (function (LogLevel) {
19
18
  LogLevel["INFO"] = "INFO";
20
19
  LogLevel["DEBUG"] = "DEBUG";
21
20
  LogLevel["WARN"] = "WARN";
22
21
  LogLevel["ERROR"] = "ERROR";
23
22
  })(LogLevel || (LogLevel = {}));
23
+ export let BroadcastEvent;
24
24
 
25
- export let BroadcastEvent; // Events being logged
26
-
25
+ // Events being logged
27
26
  (function (BroadcastEvent) {
28
27
  BroadcastEvent["LoadPostChatSurvey"] = "LoadPostChatSurvey";
29
28
  BroadcastEvent["ChatEnded"] = "ChatEnded";
@@ -37,6 +36,7 @@ export let BroadcastEvent; // Events being logged
37
36
  BroadcastEvent["InvalidAdaptiveCardFormat"] = "InvalidAdaptiveCardFormat";
38
37
  BroadcastEvent["NewMessageSent"] = "NewMessageSent";
39
38
  BroadcastEvent["NewMessageReceived"] = "NewMessageReceived";
39
+ BroadcastEvent["HistoryMessageReceived"] = "HistoryMessageReceived";
40
40
  BroadcastEvent["RedirectPageRequest"] = "RedirectPageRequest";
41
41
  BroadcastEvent["StartChat"] = "StartChat";
42
42
  BroadcastEvent["StartChatSkippingChatButtonRendering"] = "StartChatSkippingChatButtonRendering";
@@ -50,9 +50,7 @@ export let BroadcastEvent; // Events being logged
50
50
  BroadcastEvent["InitiateEndChatOnBrowserUnload"] = "InitiateEndChatOnBrowserUnload";
51
51
  BroadcastEvent["ClosePopoutWindow"] = "ClosePopoutWindow";
52
52
  })(BroadcastEvent || (BroadcastEvent = {}));
53
-
54
53
  export let TelemetryEvent;
55
-
56
54
  (function (TelemetryEvent) {
57
55
  TelemetryEvent["CallAdded"] = "CallAdded";
58
56
  TelemetryEvent["LocalVideoStreamAdded"] = "LocalVideoStreamAdded";
@@ -62,8 +60,8 @@ export let TelemetryEvent;
62
60
  TelemetryEvent["CallDisconnected"] = "CallDisconnected";
63
61
  TelemetryEvent["CallDisconnectedException"] = "CallDisconnectedException";
64
62
  TelemetryEvent["IncomingCallEnded"] = "incomingCallEnded";
65
- TelemetryEvent["VoiceVideoInitialize"] = "VoiceVideoInitialize";
66
- TelemetryEvent["VoiceVideoInitializeException"] = "VoiceVideoInitializeException";
63
+ TelemetryEvent["VoiceVideoSdkInitialize"] = "VoiceVideoSdkInitialize";
64
+ TelemetryEvent["VoiceVideoSdkInitializeException"] = "VoiceVideoSdkInitializeException";
67
65
  TelemetryEvent["VoiceVideoLoading"] = "VoiceVideoLoading";
68
66
  TelemetryEvent["VoiceVideoNotLoaded"] = "VoiceVideoNotLoaded";
69
67
  TelemetryEvent["VoiceVideoLoadingException"] = "VoiceVideoLoadingException";
@@ -89,6 +87,8 @@ export let TelemetryEvent;
89
87
  TelemetryEvent["PostChatContextCallSucceed"] = "PostChatContextCallSucceed";
90
88
  TelemetryEvent["PostChatContextCallFailed"] = "PostChatContextCallFailed";
91
89
  TelemetryEvent["ParseAdaptiveCardFailed"] = "ParseAdaptiveCardFailed";
90
+ TelemetryEvent["ClientDataStoreProviderFailed"] = "ClientDataStoreProviderFailed";
91
+ TelemetryEvent["InMemoryDataStoreFailed"] = "InMemoryDataStoreFailed";
92
92
  TelemetryEvent["WebChatLoaded"] = "WebChatLoaded";
93
93
  TelemetryEvent["LCWChatButtonClicked"] = "LCWChatButtonClicked";
94
94
  TelemetryEvent["LCWChatButtonShow"] = "LCWChatButtonShow";
@@ -133,12 +133,16 @@ export let TelemetryEvent;
133
133
  TelemetryEvent["BrowserUnloadEventStarted"] = "BrowserUnloadEventStarted";
134
134
  TelemetryEvent["GetAuthTokenCalled"] = "GetAuthTokenCalled";
135
135
  TelemetryEvent["ReceivedNullOrEmptyToken"] = "ReceivedNullOrEmptyToken";
136
+ TelemetryEvent["CustomerVoiceResponsePageLoaded"] = "CustomerVoiceResponsePageLoaded";
137
+ TelemetryEvent["CustomerVoiceFormResponseSubmitted"] = "CustomerVoiceFormResponseSubmitted";
138
+ TelemetryEvent["CustomerVoiceFormResponseError"] = "CustomerVoiceFormResponseError";
136
139
  TelemetryEvent["ProcessingHTMLTextMiddlewareFailed"] = "ProcessingHTMLTextMiddlewareFailed";
137
140
  TelemetryEvent["ProcessingSanitizationMiddlewareFailed"] = "ProcessingSanitizationMiddlewareFailed";
138
141
  TelemetryEvent["FormatTagsMiddlewareJSONStringifyFailed"] = "FormatTagsMiddlewareJSONStringifyFailed";
139
142
  TelemetryEvent["QueuePositionMessageRecieved"] = "QueuePositionMessageRecieved";
140
143
  TelemetryEvent["AverageWaitTimeMessageRecieved"] = "AverageWaitTimeMessageRecieved";
141
144
  TelemetryEvent["DataMaskingRuleApplied"] = "DataMaskingRuleApplied";
145
+ TelemetryEvent["DataMaskingRuleApplyFailed"] = "DataMaskingRuleApplyFailed";
142
146
  TelemetryEvent["IC3ClientEvent"] = "IC3ClientEvent";
143
147
  TelemetryEvent["ConversationEndedThreadEventReceived"] = "ConversationEndedThreadEventReceived";
144
148
  TelemetryEvent["InvalidConfiguration"] = "InvalidConfiguration";
@@ -162,13 +166,15 @@ export let TelemetryEvent;
162
166
  TelemetryEvent["NetworkDisconnected"] = "NetworkDisconnected";
163
167
  TelemetryEvent["NetworkReconnected"] = "NetworkReconnected";
164
168
  })(TelemetryEvent || (TelemetryEvent = {}));
165
-
166
169
  export class TelemetryConstants {
167
170
  static map(eventTypeOrScenarioType) {
168
171
  switch (eventTypeOrScenarioType) {
169
172
  case TelemetryEvent.ParseAdaptiveCardFailed:
173
+ case TelemetryEvent.ReceivedNullOrEmptyToken:
174
+ case TelemetryEvent.GetAuthTokenCalled:
175
+ case TelemetryEvent.SuppressBotMagicCodeSucceeded:
176
+ case TelemetryEvent.SuppressBotMagicCodeFailed:
170
177
  return ScenarioType.CONFIG_VALIDATION;
171
-
172
178
  case TelemetryEvent.WebChatLoaded:
173
179
  case TelemetryEvent.WidgetLoadComplete:
174
180
  case TelemetryEvent.WidgetLoadFailed:
@@ -183,7 +189,6 @@ export class TelemetryConstants {
183
189
  case TelemetryEvent.ConfirmationPaneLoaded:
184
190
  case TelemetryEvent.ProactiveChatPaneLoaded:
185
191
  return ScenarioType.LOAD;
186
-
187
192
  case TelemetryEvent.PrechatSubmitted:
188
193
  case TelemetryEvent.LCWChatButtonClicked:
189
194
  case TelemetryEvent.ProactiveChatAccepted:
@@ -209,8 +214,12 @@ export class TelemetryConstants {
209
214
  case TelemetryEvent.BrowserUnloadEventStarted:
210
215
  case TelemetryEvent.NetworkDisconnected:
211
216
  case TelemetryEvent.NetworkReconnected:
217
+ case TelemetryEvent.AudioToggleButtonClicked:
218
+ case TelemetryEvent.EmailTranscriptCancelButtonClicked:
219
+ case TelemetryEvent.CustomerVoiceResponsePageLoaded:
220
+ case TelemetryEvent.CustomerVoiceFormResponseSubmitted:
221
+ case TelemetryEvent.CustomerVoiceFormResponseError:
212
222
  return ScenarioType.ACTIONS;
213
-
214
223
  case TelemetryEvent.StartChatSDKCall:
215
224
  case TelemetryEvent.StartChatEventRecevied:
216
225
  case TelemetryEvent.StartChatMethodException:
@@ -225,8 +234,8 @@ export class TelemetryConstants {
225
234
  case TelemetryEvent.EndChatSDKCallFailed:
226
235
  case TelemetryEvent.PostChatContextCallFailed:
227
236
  case TelemetryEvent.PostChatContextCallSucceed:
237
+ case TelemetryEvent.GetConversationDetailsException:
228
238
  return ScenarioType.SDK;
229
-
230
239
  case TelemetryEvent.VideoCallAcceptButtonClick:
231
240
  case TelemetryEvent.CallAdded:
232
241
  case TelemetryEvent.LocalVideoStreamAdded:
@@ -236,8 +245,8 @@ export class TelemetryConstants {
236
245
  case TelemetryEvent.CallDisconnected:
237
246
  case TelemetryEvent.CallDisconnectedException:
238
247
  case TelemetryEvent.IncomingCallEnded:
239
- case TelemetryEvent.VoiceVideoInitialize:
240
- case TelemetryEvent.VoiceVideoInitializeException:
248
+ case TelemetryEvent.VoiceVideoSdkInitialize:
249
+ case TelemetryEvent.VoiceVideoSdkInitializeException:
241
250
  case TelemetryEvent.VoiceVideoLoading:
242
251
  case TelemetryEvent.VoiceVideoNotLoaded:
243
252
  case TelemetryEvent.VoiceVideoLoadingException:
@@ -257,14 +266,11 @@ export class TelemetryConstants {
257
266
  case TelemetryEvent.CallingSDKLoadSuccess:
258
267
  case TelemetryEvent.CallingSDKLoadFailed:
259
268
  return ScenarioType.CALLING;
260
-
261
269
  default:
262
270
  return ScenarioType.ACTIONS;
263
271
  }
264
272
  }
265
-
266
273
  static mapEventToScenario(eventTypeOrScenarioType) {
267
274
  return TelemetryConstants.map(eventTypeOrScenarioType);
268
275
  }
269
-
270
276
  }