@microsoft/omnichannel-chat-widget 0.1.0-main.47ede4d → 0.1.0-main.4e35349

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