@microsoft/omnichannel-chat-widget 0.1.0-main.72620c9 → 0.1.0-main.72ced10

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