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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +259 -0
  2. package/lib/cjs/assets/Audios.js +8 -0
  3. package/lib/cjs/assets/Icons.js +28 -0
  4. package/lib/cjs/common/Constants.js +31 -148
  5. package/lib/cjs/common/KeyCodes.js +0 -3
  6. package/lib/cjs/common/contextDataStore/DataStoreManager.js +10 -0
  7. package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
  8. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  9. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  10. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  11. package/lib/cjs/common/telemetry/TelemetryConstants.js +71 -18
  12. package/lib/cjs/common/telemetry/TelemetryHelper.js +32 -57
  13. package/lib/cjs/common/telemetry/TelemetryManager.js +22 -34
  14. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  15. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  16. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +59 -32
  17. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +9 -14
  18. package/lib/cjs/common/utils.js +80 -80
  19. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +19 -43
  20. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  21. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +14 -85
  22. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  23. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +10 -38
  24. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  25. package/lib/cjs/components/footerstateful/FooterStateful.js +14 -46
  26. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  27. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  28. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  29. package/lib/cjs/components/headerstateful/HeaderStateful.js +23 -34
  30. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  31. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
  32. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
  33. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  34. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
  35. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
  36. package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
  37. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  38. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  39. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  40. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  41. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -44
  42. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +104 -77
  43. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +11 -0
  44. package/lib/cjs/components/livechatwidget/common/endChat.js +128 -54
  45. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  46. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +10 -14
  47. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  48. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +58 -55
  49. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +128 -57
  50. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +13 -22
  51. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +18 -29
  52. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  53. package/lib/cjs/components/livechatwidget/common/startChat.js +182 -56
  54. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -11
  55. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  56. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +308 -134
  57. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +5 -18
  58. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +9 -14
  59. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
  60. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +9 -23
  61. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  62. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  63. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +26 -42
  64. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +27 -35
  65. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  66. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
  67. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  68. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  69. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  71. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  72. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -15
  73. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  74. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +54 -88
  75. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  76. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  77. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +33 -80
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -60
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -18
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  120. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  121. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  122. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  123. package/lib/cjs/contexts/common/ConversationState.js +4 -3
  124. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +14 -9
  125. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +17 -11
  126. package/lib/cjs/contexts/createReducer.js +162 -99
  127. package/lib/cjs/controller/componentController.js +5 -34
  128. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  129. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  130. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  131. package/lib/cjs/index.js +0 -5
  132. package/lib/cjs/plugins/newMessageEventHandler.js +78 -0
  133. package/lib/esm/assets/Audios.js +1 -0
  134. package/lib/esm/assets/Icons.js +11 -0
  135. package/lib/esm/common/Constants.js +28 -136
  136. package/lib/esm/common/KeyCodes.js +0 -2
  137. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -0
  138. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  139. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  140. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  141. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  142. package/lib/esm/common/telemetry/TelemetryConstants.js +70 -13
  143. package/lib/esm/common/telemetry/TelemetryHelper.js +33 -47
  144. package/lib/esm/common/telemetry/TelemetryManager.js +21 -26
  145. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  146. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  147. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +62 -23
  148. package/lib/esm/common/telemetry/loggers/consoleLogger.js +9 -10
  149. package/lib/esm/common/utils.js +73 -45
  150. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +19 -14
  151. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  152. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +15 -61
  153. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +10 -17
  154. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  155. package/lib/esm/components/footerstateful/FooterStateful.js +15 -26
  156. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  157. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  158. package/lib/esm/components/headerstateful/HeaderStateful.js +24 -20
  159. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  160. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  161. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  162. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  163. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  164. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  165. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  166. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  167. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  168. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  169. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  170. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  171. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +106 -67
  172. package/lib/esm/components/livechatwidget/common/disposeTelemetryLoggers.js +4 -0
  173. package/lib/esm/components/livechatwidget/common/endChat.js +131 -42
  174. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  175. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +12 -11
  176. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  177. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +60 -27
  178. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +127 -50
  179. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +13 -11
  180. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +19 -21
  181. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  182. package/lib/esm/components/livechatwidget/common/startChat.js +185 -40
  183. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  184. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  185. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +312 -91
  186. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +5 -6
  187. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +9 -4
  188. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  189. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +9 -11
  190. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  191. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  192. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +29 -27
  193. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +30 -14
  194. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  195. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
  196. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  197. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  198. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  199. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  200. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  201. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -11
  202. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  203. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -17
  204. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  205. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  206. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +34 -66
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +5 -13
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  249. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  250. package/lib/esm/contexts/ChatContextStore.js +2 -1
  251. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  252. package/lib/esm/contexts/common/ConversationState.js +4 -3
  253. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +14 -9
  254. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +17 -7
  255. package/lib/esm/contexts/createReducer.js +162 -95
  256. package/lib/esm/controller/componentController.js +6 -5
  257. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  258. package/lib/esm/hooks/useChatContextStore.js +0 -4
  259. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  260. package/lib/esm/plugins/newMessageEventHandler.js +71 -0
  261. package/lib/types/assets/Audios.d.ts +1 -0
  262. package/lib/types/assets/Icons.d.ts +11 -0
  263. package/lib/types/common/Constants.d.ts +27 -1
  264. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  265. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  266. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  267. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  268. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  269. package/lib/types/common/telemetry/TelemetryConstants.d.ts +50 -2
  270. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  271. package/lib/types/common/telemetry/TelemetryManager.d.ts +1 -0
  272. package/lib/types/common/telemetry/definitions/Contracts.d.ts +3 -0
  273. package/lib/types/common/telemetry/definitions/Payload.d.ts +15 -9
  274. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +1 -0
  275. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +2 -0
  276. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +12 -0
  277. package/lib/types/common/utils.d.ts +8 -1
  278. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  279. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  280. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  281. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  282. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  283. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  284. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  285. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  286. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  287. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  288. package/lib/types/components/livechatwidget/common/disposeTelemetryLoggers.d.ts +1 -0
  289. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  290. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  291. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  292. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  293. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  294. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  295. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  296. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  297. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -3
  298. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  299. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  300. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  301. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  302. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  303. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  304. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  305. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  306. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  307. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  308. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  309. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  310. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  311. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  312. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  313. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  314. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  315. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  316. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  317. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  318. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  319. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  320. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  321. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +6 -2
  322. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +15 -9
  323. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  324. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  325. package/package.json +14 -13
  326. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  327. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  328. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  329. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  330. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  331. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  332. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  333. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  334. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  335. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  336. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  337. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  338. package/lib/esm/assets/assets.d.js +0 -0
  339. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  340. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  341. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  342. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  343. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  344. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  345. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  346. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  347. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  348. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  349. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  350. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -1,5 +1,8 @@
1
1
  /* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
2
+
3
+ import { ChatReconnectIconBase64, CloseChatButtonIconBase64, ModernChatIconBase64, ProactiveChatBannerBase64 } from "@microsoft/omnichannel-chat-components";
2
4
  import MockAdapter from "../../../webchatcontainerstateful/common/mockadapter";
5
+ import { NewMessageNotificationSoundBase64 } from "../../../../assets/Audios";
3
6
  import { WebChatStoreLoader } from "../../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader";
4
7
  import { activityStatusMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware";
5
8
  import { createActivityMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware";
@@ -7,11 +10,13 @@ import createAttachmentMiddleware from "../../../webchatcontainerstateful/webcha
7
10
  import { createAvatarMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware";
8
11
  import { createMarkdown } from "../createMarkdown";
9
12
  import { groupActivitiesMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware";
10
- import { typingIndicatorMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware"; // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
+ import { typingIndicatorMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware";
14
+ import { createWebChatTelemetry } from "../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger";
11
15
 
16
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
17
  export const dummyDefaultProps = {
13
18
  audioNotificationProps: {
14
- audioSrc: "assets/audios/newMessageNotification.mp3"
19
+ audioSrc: NewMessageNotificationSoundBase64
15
20
  },
16
21
  callingContainerProps: {
17
22
  controlProps: {
@@ -132,7 +137,7 @@ export const dummyDefaultProps = {
132
137
  id: "oc-lcw-CurrentCall-timer",
133
138
  showHours: false,
134
139
  timerStyles: {
135
- color: "white",
140
+ color: "#FFFFFF",
136
141
  textAlign: "center",
137
142
  backgroundColor: "#3d3c3c",
138
143
  height: "45px",
@@ -163,24 +168,28 @@ export const dummyDefaultProps = {
163
168
  },
164
169
  audioCallButtonStyleProps: {
165
170
  borderRadius: "50%",
166
- color: "white",
167
- backgroundColor: "green",
171
+ backgroundColor: "#008000",
168
172
  lineHeight: "40px",
169
173
  height: "40px",
170
174
  width: "40px",
171
- fontSize: 18
175
+ icon: {
176
+ fontSize: 18,
177
+ color: "#FFFFFF"
178
+ }
172
179
  },
173
180
  audioCallButtonHoverStyleProps: {
174
181
  filter: "brightness(0.8)"
175
182
  },
176
183
  videoCallButtonStyleProps: {
177
184
  borderRadius: "50%",
178
- color: "white",
179
- backgroundColor: "green",
185
+ backgroundColor: "#008000",
180
186
  lineHeight: "40px",
181
187
  height: "40px",
182
188
  width: "40px",
183
- fontSize: 18
189
+ icon: {
190
+ fontSize: 18,
191
+ color: "#FFFFFF"
192
+ }
184
193
  },
185
194
  videoCallButtonHoverStyleProps: {
186
195
  filter: "brightness(0.8)"
@@ -191,22 +200,24 @@ export const dummyDefaultProps = {
191
200
  },
192
201
  declineCallButtonStyleProps: {
193
202
  borderRadius: "50%",
194
- color: "white",
195
- backgroundColor: "red",
203
+ backgroundColor: "#DC0000",
196
204
  lineHeight: "40px",
197
205
  height: "40px",
198
206
  width: "40px",
199
- fontSize: 18,
200
- marginLeft: "5px"
207
+ marginLeft: "5px",
208
+ icon: {
209
+ fontSize: 18,
210
+ color: "#FFFFFF"
211
+ }
201
212
  },
202
213
  incomingCallTitleStyleProps: {
203
214
  margin: "0 5px",
204
- color: "white",
215
+ color: "#FFFFFF",
205
216
  fontSize: 12,
206
217
  fontFamily: "Segoe UI, Arial, sans-serif"
207
218
  },
208
219
  itemFocusStyleProps: {
209
- outline: "2px solid white"
220
+ outline: "2px solid #FFFFFF"
210
221
  }
211
222
  },
212
223
  currentCallStyleProps: {
@@ -218,7 +229,7 @@ export const dummyDefaultProps = {
218
229
  },
219
230
  micButtonStyleProps: {
220
231
  borderRadius: "2px",
221
- color: "white",
232
+ color: "#FFFFFF",
222
233
  backgroundColor: "#3d3c3c",
223
234
  height: "45px",
224
235
  width: "50px",
@@ -229,7 +240,7 @@ export const dummyDefaultProps = {
229
240
  },
230
241
  videoOffButtonStyleProps: {
231
242
  borderRadius: "2px",
232
- color: "white",
243
+ color: "#FFFFFF",
233
244
  backgroundColor: "#3d3c3c",
234
245
  height: "45px",
235
246
  width: "50px",
@@ -243,25 +254,13 @@ export const dummyDefaultProps = {
243
254
  },
244
255
  endCallButtonStyleProps: {
245
256
  borderRadius: "2px",
246
- color: "white",
247
- backgroundColor: "red",
257
+ color: "#FFFFFF",
258
+ backgroundColor: "#DC0000",
248
259
  lineHeight: "50px",
249
260
  height: "45px",
250
261
  width: "50px",
251
262
  fontSize: "18px"
252
263
  },
253
- currentCallTimerStyleProps: {
254
- borderRadius: "2px",
255
- margin: "1px",
256
- color: "white",
257
- paddingTop: "18px",
258
- fontSize: 12,
259
- fontFamily: "Segoe UI, Arial, sans-serif",
260
- backgroundColor: "darkgrey",
261
- height: "45px",
262
- width: "50px",
263
- textAlign: "center"
264
- },
265
264
  videoTileStyleProps: {
266
265
  width: "100%",
267
266
  marginLeft: "auto",
@@ -325,7 +324,10 @@ export const dummyDefaultProps = {
325
324
  hideChatTextContainer: false,
326
325
  hideChatSubtitle: false,
327
326
  hideChatTitle: false,
328
- hideNotificationBubble: true
327
+ hideNotificationBubble: true,
328
+ unreadMessageString: "new messages",
329
+ largeUnreadMessageString: "99+",
330
+ ariaLabelUnreadMessageString: "you have new messages"
329
331
  },
330
332
  styleProps: {
331
333
  generalStyleProps: {
@@ -366,7 +368,7 @@ export const dummyDefaultProps = {
366
368
  margin: "-2px -2px -2px -3px",
367
369
  justifyContent: "center",
368
370
  backgroundSize: "65% 65%",
369
- backgroundImage: "assets/imgs/chat.svg",
371
+ backgroundImage: `url(${ModernChatIconBase64})`,
370
372
  display: "flex",
371
373
  backgroundRepeat: "no-repeat",
372
374
  backgroundPosition: "center"
@@ -471,11 +473,11 @@ export const dummyDefaultProps = {
471
473
  onConfirm: () => {},
472
474
  // Detailed implementation omitted
473
475
  onCancel: () => {} // Detailed implementation omitted
474
-
475
476
  },
477
+
476
478
  styleProps: {
477
479
  generalStyleProps: {
478
- backgroundColor: "white",
480
+ backgroundColor: "#FFFFFF",
479
481
  borderRadius: "2px",
480
482
  color: "black",
481
483
  fontFamily: "Segoe UI, Arial, sans-serif",
@@ -517,7 +519,7 @@ export const dummyDefaultProps = {
517
519
  },
518
520
  confirmButtonStyleProps: {
519
521
  backgroundColor: "rgba(9,72,159,1)",
520
- color: "white",
522
+ color: "#FFFFFF",
521
523
  fontFamily: "Segoe UI, Arial, sans-serif",
522
524
  fontSize: "14px",
523
525
  fontWeight: "500",
@@ -531,7 +533,7 @@ export const dummyDefaultProps = {
531
533
  border: "2px dotted #000"
532
534
  },
533
535
  cancelButtonStyleProps: {
534
- backgroundColor: "white",
536
+ backgroundColor: "#FFFFFF",
535
537
  fontFamily: "Segoe UI, Arial, sans-serif",
536
538
  fontSize: "14px",
537
539
  fontWeight: "500",
@@ -777,6 +779,7 @@ export const dummyDefaultProps = {
777
779
  },
778
780
  audioNotificationButtonProps: {
779
781
  id: "oc-lcw-footer-audionotification-button",
782
+ type: "icon",
780
783
  ariaLabel: "Turn sound off",
781
784
  toggleAriaLabel: "Turn sound on",
782
785
  iconName: "Volume3",
@@ -802,8 +805,10 @@ export const dummyDefaultProps = {
802
805
  padding: "0 10px 5px 10px"
803
806
  },
804
807
  downloadTranscriptButtonStyleProps: {
805
- color: "blue",
806
- fontSize: 16,
808
+ icon: {
809
+ color: "blue",
810
+ fontSize: 16
811
+ },
807
812
  height: "25px",
808
813
  lineHeight: "25px",
809
814
  width: "25px"
@@ -813,8 +818,10 @@ export const dummyDefaultProps = {
813
818
  backgroundColor: "#C8C8C8"
814
819
  },
815
820
  emailTranscriptButtonStyleProps: {
816
- color: "blue",
817
- fontSize: 16,
821
+ cicon: {
822
+ color: "blue",
823
+ fontSize: 16
824
+ },
818
825
  height: "25px",
819
826
  lineHeight: "25px",
820
827
  width: "25px"
@@ -824,8 +831,10 @@ export const dummyDefaultProps = {
824
831
  backgroundColor: "#C8C8C8"
825
832
  },
826
833
  audioNotificationButtonStyleProps: {
827
- color: "blue",
828
- fontSize: 16,
834
+ icon: {
835
+ color: "blue",
836
+ fontSize: 16
837
+ },
829
838
  height: "25px",
830
839
  lineHeight: "25px",
831
840
  width: "25px"
@@ -876,7 +885,7 @@ export const dummyDefaultProps = {
876
885
  className: undefined
877
886
  },
878
887
  closeButtonProps: {
879
- id: "oc-lcw-header-minimize-button",
888
+ id: "oc-lcw-header-close-button",
880
889
  type: "icon",
881
890
  iconName: "ChromeClose",
882
891
  ariaLabel: "Close",
@@ -887,7 +896,7 @@ export const dummyDefaultProps = {
887
896
  },
888
897
  headerIconProps: {
889
898
  id: "oc-lcw-header-icon",
890
- src: "assets/imgs/chatIcon.svg",
899
+ src: ModernChatIconBase64,
891
900
  alt: "Chat Icon",
892
901
  className: undefined
893
902
  },
@@ -916,16 +925,16 @@ export const dummyDefaultProps = {
916
925
  fontSize: 16,
917
926
  fontFamily: "Segoe UI, Arial, sans-serif",
918
927
  fontWeight: "450",
919
- color: "white",
928
+ color: "#FFFFFF",
920
929
  padding: "3px 0"
921
930
  },
922
931
  minimizeButtonStyleProps: {
923
- color: "white",
932
+ color: "#FFFFFF",
924
933
  margin: "5px 0",
925
934
  fontSize: "12px"
926
935
  },
927
936
  closeButtonStyleProps: {
928
- color: "white",
937
+ color: "#FFFFFF",
929
938
  margin: "5px 0",
930
939
  fontSize: "12px"
931
940
  },
@@ -1012,7 +1021,7 @@ export const dummyDefaultProps = {
1012
1021
  alignSelf: "auto"
1013
1022
  },
1014
1023
  iconImageProps: {
1015
- src: "assets/imgs/chat.svg",
1024
+ src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2lpKSI+DQo8cGF0aCBkPSJNMTUuMTk3MSAxNi4yNzI1VjI1Ljg1MjRDMTUuMTk3MSAyNy4zODExIDE1Ljg0MDEgMjcuNTIwMSAxNi45ODMyIDI3LjUyMDFMMjYuNzA4NCAyNy41NjQ5TDMxLjAwMzkgMzIuMzEyM1YyNy41NjQ5SDMxLjg5N0MzMi4xNzQzIDI3LjU2MzcgMzIuNDQ4NyAyNy41MDc3IDMyLjcwNDUgMjcuNDAwMUMzMi45NjAzIDI3LjI5MjQgMzMuMTkyNSAyNy4xMzUzIDMzLjM4NzggMjYuOTM3NUMzMy41ODMxIDI2LjczOTggMzMuNzM3NyAyNi41MDU0IDMzLjg0MjcgMjYuMjQ3N0MzMy45NDc4IDI1Ljk5IDM0LjAwMTMgMjUuNzE0IDM0LjAwMDEgMjUuNDM1NVYxNi4zMDM4QzM0LjAwMTMgMTYuMDI1NCAzMy45NDc4IDE1Ljc0OTQgMzMuODQyNyAxNS40OTE3QzMzLjczNzcgMTUuMjM0IDMzLjU4MzEgMTQuOTk5NiAzMy4zODc4IDE0LjgwMThDMzMuMTkyNSAxNC42MDQxIDMyLjk2MDMgMTQuNDQ2OSAzMi43MDQ1IDE0LjMzOTNDMzIuNDQ4NyAxNC4yMzE2IDMyLjE3NDMgMTQuMTc1NiAzMS44OTcgMTQuMTc0NEwxNy4zMDQ3IDE0LjE0MzFDMTcuMDI2OSAxNC4xNDM3IDE2Ljc1MiAxNC4xOTkyIDE2LjQ5NTcgMTQuMzA2NkMxNi4yMzk0IDE0LjQxNCAxNi4wMDY3IDE0LjU3MTEgMTUuODEwOSAxNC43Njg5QzE1LjYxNTIgMTQuOTY2NyAxNS40NjAyIDE1LjIwMTMgMTUuMzU0OCAxNS40NTkzQzE1LjI0OTUgMTUuNzE3MyAxNS4xOTU5IDE1Ljk5MzYgMTUuMTk3MSAxNi4yNzI1WiIgZmlsbD0iI0Q2RDZENiIvPg0KPC9nPg0KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjFfZGlpKSI+DQo8cGF0aCBkPSJNMjcuODczNSA2LjY5ODg3VjE4Ljg0MDlDMjcuODczNSAyMC43Nzg1IDI3LjA1NzIgMjAuOTU0NiAyNS42MDU4IDIwLjk1NDZMMTMuMjU4IDIxLjAxMTRMNy44MDQxNCAyNy4wMjg1VjIxLjAxMTRINi42NzAyN0M2LjMxODEyIDIxLjAwOTkgNS45Njk3MSAyMC45Mzg5IDUuNjQ0OTMgMjAuODAyNUM1LjMyMDE2IDIwLjY2NjEgNS4wMjUzOCAyMC40NjY4IDQuNzc3NDIgMjAuMjE2MkM0LjUyOTQ2IDE5Ljk2NTYgNC4zMzMxOSAxOS42Njg1IDQuMTk5OCAxOS4zNDE5QzQuMDY2NDIgMTkuMDE1MiAzLjk5ODUzIDE4LjY2NTUgNC4wMDAwMiAxOC4zMTI1VjYuNzM4NjRDMy45OTg1MyA2LjM4NTcxIDQuMDY2NDIgNi4wMzU5NSA0LjE5OTggNS43MDkzMUM0LjMzMzE5IDUuMzgyNjcgNC41Mjk0NiA1LjA4NTU3IDQuNzc3NDIgNC44MzQ5NUM1LjAyNTM4IDQuNTg0MzQgNS4zMjAxNiA0LjM4NTEzIDUuNjQ0OTMgNC4yNDg2OUM1Ljk2OTcxIDQuMTEyMjUgNi4zMTgxMiA0LjA0MTI2IDYuNjcwMjcgNC4wMzk3N0wyNS4xOTc2IDRDMjUuNTUwMiA0LjAwMDc0IDI1Ljg5OTMgNC4wNzExOCAyNi4yMjQ3IDQuMjA3MjlDMjYuNTUwMSA0LjM0MzM5IDI2Ljg0NTYgNC41NDI0OSAyNy4wOTQxIDQuNzkzMThDMjcuMzQyNyA1LjA0Mzg2IDI3LjUzOTUgNS4zNDEyMiAyNy42NzMyIDUuNjY4MjNDMjcuODA3IDUuOTk1MjMgMjcuODc1IDYuMzQ1NDYgMjcuODczNSA2LjY5ODg3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPg0KPC9nPg0KPGRlZnM+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2lpIiB4PSIxNS4xOTcxIiB5PSIxNC4xNDMxIiB3aWR0aD0iMTguODAzMSIgaGVpZ2h0PSIxOC4xNjkzIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC4yIiBkeT0iLTAuMiIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTcgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9InNoYXBlIiByZXN1bHQ9ImVmZmVjdDFfaW5uZXJTaGFkb3ciLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC41IiBkeT0iLTAuNSIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTYgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9ImVmZmVjdDFfaW5uZXJTaGFkb3ciIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPC9maWx0ZXI+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIxX2RpaSIgeD0iMCIgeT0iMCIgd2lkdGg9IjM5Ljg3MzYiIGhlaWdodD0iMzkuMDI4NSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+DQo8ZmVPZmZzZXQgZHg9IjQiIGR5PSI0Ii8+DQo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0Ii8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMiIgZHk9Ii0yIi8+DQo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIi8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMC4xNyAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0ic2hhcGUiIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+DQo8ZmVPZmZzZXQgZHg9Ii0xIiBkeT0iLTEiLz4NCjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiLz4NCjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwLjE2IDAiLz4NCjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJlZmZlY3QyX2lubmVyU2hhZG93IiByZXN1bHQ9ImVmZmVjdDNfaW5uZXJTaGFkb3ciLz4NCjwvZmlsdGVyPg0KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iLTAuMzk1MDAxIiB5MT0iMjMuMTI4MiIgeDI9IjIwLjEwNTgiIHkyPSIzNy44NDc0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQo8c3RvcCBzdG9wLWNvbG9yPSIjRUZFRkVGIi8+DQo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IndoaXRlIi8+DQo8L2xpbmVhckdyYWRpZW50Pg0KPC9kZWZzPg0KPC9zdmc+DQo=",
1016
1025
  imageFit: 0,
1017
1026
  width: "86px",
1018
1027
  height: "86px",
@@ -1055,8 +1064,8 @@ export const dummyDefaultProps = {
1055
1064
  titleText: "We're Offline",
1056
1065
  subtitleText: "No agents available",
1057
1066
  onClick: () => {} // Detailed implementation omitted
1058
-
1059
1067
  },
1068
+
1060
1069
  styleProps: {
1061
1070
  // ...[Existing chat button style props]
1062
1071
  iconStyleProps: {
@@ -1074,8 +1083,8 @@ export const dummyDefaultProps = {
1074
1083
  text: "We're Offline"
1075
1084
  },
1076
1085
  onMinimizeClick: () => {} // Detailed implementation omitted
1077
-
1078
1086
  },
1087
+
1079
1088
  styleProps: {
1080
1089
  // ...[Existing chat button style props]
1081
1090
  generalStyleProps: {
@@ -1087,7 +1096,7 @@ export const dummyDefaultProps = {
1087
1096
  titleStyleProps: {
1088
1097
  // ...[Existing chat button title style props]
1089
1098
  margin: "0 0 0 10px",
1090
- color: "White"
1099
+ color: "#FFFFFF"
1091
1100
  }
1092
1101
  }
1093
1102
  },
@@ -1172,7 +1181,8 @@ export const dummyDefaultProps = {
1172
1181
  backgroundColor: "#FFFFFF",
1173
1182
  borderColor: "#F1F1F1"
1174
1183
  }
1175
- }
1184
+ },
1185
+ isCustomerVoiceSurveyCompact: undefined
1176
1186
  },
1177
1187
  proactiveChatPaneProps: {
1178
1188
  componentOverrides: {
@@ -1192,7 +1202,17 @@ export const dummyDefaultProps = {
1192
1202
  hideSubtitle: false,
1193
1203
  subtitleText: "Live chat support!",
1194
1204
  hideCloseButton: false,
1195
- closeButtonAriaLabel: "Close Button",
1205
+ closeButtonProps: {
1206
+ id: "oc-lcw-proactivechat-closebutton",
1207
+ type: "icon",
1208
+ iconName: "ChromeClose",
1209
+ ariaLabel: "Close",
1210
+ imageIconProps: undefined,
1211
+ text: "Close",
1212
+ onClick: undefined,
1213
+ className: undefined,
1214
+ hideButtonTitle: true
1215
+ },
1196
1216
  isBodyContainerHorizantal: false,
1197
1217
  hideBodyTitle: false,
1198
1218
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -1202,8 +1222,8 @@ export const dummyDefaultProps = {
1202
1222
  onClose: () => {},
1203
1223
  // Detailed implementation omitted
1204
1224
  onStart: () => {} // Detailed implementation omitted
1205
-
1206
1225
  },
1226
+
1207
1227
  styleProps: {
1208
1228
  generalStyleProps: {
1209
1229
  backgroundColor: "rgb(255, 255, 255)",
@@ -1220,7 +1240,7 @@ export const dummyDefaultProps = {
1220
1240
  },
1221
1241
  headerContainerStyleProps: {
1222
1242
  backgroundColor: "rgb(49, 95, 162)",
1223
- backgroundImage: "assets/imgs/Proactive_banner.png",
1243
+ backgroundImage: `url(${ProactiveChatBannerBase64})`,
1224
1244
  backgroundPosition: "initial",
1225
1245
  backgroundRepeat: "no-repeat",
1226
1246
  borderTopLeftRadius: "inherit",
@@ -1248,7 +1268,7 @@ export const dummyDefaultProps = {
1248
1268
  fontWeight: "600"
1249
1269
  },
1250
1270
  closeButtonStyleProps: {
1251
- backgroundImage: "assets/imgs/closeChatButton.svg",
1271
+ backgroundImage: `url(${CloseChatButtonIconBase64})`,
1252
1272
  backgroundPosition: "center",
1253
1273
  backgroundRepeat: "no-repeat",
1254
1274
  color: "#605e5c",
@@ -1334,8 +1354,8 @@ export const dummyDefaultProps = {
1334
1354
  onStartNewChat: () => {},
1335
1355
  // Detailed implementation omitted
1336
1356
  onMinimize: () => {} // Detailed implementation omitted
1337
-
1338
1357
  },
1358
+
1339
1359
  styleProps: {
1340
1360
  generalStyleProps: {
1341
1361
  backgroundColor: "rgb(255, 255, 255)",
@@ -1371,7 +1391,7 @@ export const dummyDefaultProps = {
1371
1391
  lineHeight: "19px"
1372
1392
  },
1373
1393
  iconStyleProps: {
1374
- backgroundImage: "assets/imgs//ChatReconnectPopupIcon.png",
1394
+ backgroundImage: `url(${ChatReconnectIconBase64})`,
1375
1395
  backgroundPosition: "center",
1376
1396
  backgroundRepeat: "no-repeat",
1377
1397
  backgroundSize: "200px",
@@ -1420,9 +1440,9 @@ export const dummyDefaultProps = {
1420
1440
  startNewChatButtonClassName: undefined
1421
1441
  }
1422
1442
  },
1423
- authClientFunction: undefined,
1424
1443
  isReconnectEnabled: undefined,
1425
- reconnectId: undefined
1444
+ reconnectId: undefined,
1445
+ redirectInSameWindow: undefined
1426
1446
  },
1427
1447
  styleProps: {
1428
1448
  generalStyles: {
@@ -1453,7 +1473,7 @@ export const dummyDefaultProps = {
1453
1473
  bubbleBackground: "#315FA2",
1454
1474
  bubbleBorderRadius: 4,
1455
1475
  bubbleBorderWidth: 0,
1456
- bubbleFromUserBackground: "White",
1476
+ bubbleFromUserBackground: "#FFFFFF",
1457
1477
  bubbleFromUserBorderRadius: 4,
1458
1478
  bubbleFromUserBorderWidth: 1,
1459
1479
  bubbleFromUserTextColor: "Black",
@@ -1461,7 +1481,7 @@ export const dummyDefaultProps = {
1461
1481
  bubbleMaxWidth: 250,
1462
1482
  bubbleMinHeight: 34,
1463
1483
  bubbleMinWidth: 20,
1464
- bubbleTextColor: "White",
1484
+ bubbleTextColor: "#FFFFFF",
1465
1485
  hideSendBox: false,
1466
1486
  hideUploadButton: true,
1467
1487
  primaryFont: "Segoe UI, Arial, sans-serif",
@@ -1470,7 +1490,7 @@ export const dummyDefaultProps = {
1470
1490
  sendBoxTextWrap: true,
1471
1491
  sendBoxHeight: 60,
1472
1492
  sendBoxMaxHeight: 96,
1473
- sendBoxBackground: "White",
1493
+ sendBoxBackground: "#FFFFFF",
1474
1494
  showAvatarInGroup: true,
1475
1495
  suggestedActionsStackedHeight: 125,
1476
1496
  suggestedActionsStackedOverflow: "scroll",
@@ -1494,7 +1514,7 @@ export const dummyDefaultProps = {
1494
1514
  internalErrorBoxClass: undefined,
1495
1515
  internalRenderErrorBox: undefined,
1496
1516
  locale: "en-US",
1497
- onTelemetry: undefined,
1517
+ onTelemetry: createWebChatTelemetry(),
1498
1518
  overrideLocalizedStrings: undefined,
1499
1519
  renderMarkdown: createMarkdown(false, false),
1500
1520
  scrollToEndButtonMiddleware: undefined,
@@ -1542,6 +1562,12 @@ export const dummyDefaultProps = {
1542
1562
  lineHeight: "16px",
1543
1563
  padding: "0px 10px 0 10px"
1544
1564
  },
1565
+ userMessageBoxStyles: {
1566
+ maxWidth: "75%"
1567
+ },
1568
+ systemMessageBoxStyles: {
1569
+ maxWidth: "75%"
1570
+ },
1545
1571
  typingIndicatorStyleProps: {
1546
1572
  marginLeft: "10px",
1547
1573
  marginBottom: "5px",
@@ -1581,7 +1607,7 @@ export const dummyDefaultProps = {
1581
1607
  fontWeight: 600,
1582
1608
  fontSize: "13px",
1583
1609
  lineHeight: "18px",
1584
- color: "white",
1610
+ color: "#FFFFFF",
1585
1611
  paddingTop: "7px",
1586
1612
  WebkitUserSelect: "none",
1587
1613
  MozUserSelect: "none",
@@ -1661,6 +1687,9 @@ export const dummyDefaultProps = {
1661
1687
  },
1662
1688
  attachmentSizeStyles: {
1663
1689
  display: "none"
1690
+ },
1691
+ receivedMessageAnchorStyles: {
1692
+ color: "white"
1664
1693
  }
1665
1694
  },
1666
1695
  localizedTexts: {
@@ -1684,6 +1713,16 @@ export const dummyDefaultProps = {
1684
1713
  MIDDLEWARE_MESSAGE_RETRY: "Retry",
1685
1714
  PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
1686
1715
  MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external."
1716
+ },
1717
+ botMagicCode: {
1718
+ disabled: false,
1719
+ fwdUrl: ""
1720
+ },
1721
+ adaptiveCardStyles: {
1722
+ background: "white",
1723
+ color: "black"
1687
1724
  }
1688
- }
1725
+ },
1726
+ telemetryConfig: undefined,
1727
+ getAuthToken: undefined
1689
1728
  };
@@ -0,0 +1,4 @@
1
+ import { disposeLoggers } from "../../../common/telemetry/TelemetryManager";
2
+ export const disposeTelemetryLoggers = () => {
3
+ disposeLoggers();
4
+ };
@@ -1,53 +1,142 @@
1
- import { LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
1
+ import { BroadcastEvent, LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
2
+ import { BroadcastService } from "@microsoft/omnichannel-chat-components";
2
3
  import { ConversationState } from "../../../contexts/common/ConversationState";
3
4
  import { LiveChatWidgetActionType } from "../../../contexts/common/LiveChatWidgetActionType";
4
- import { NotificationHandler } from "../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler";
5
- import { NotificationScenarios } from "../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios";
6
5
  import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
7
6
  import { WebChatStoreLoader } from "../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader";
8
7
  import { defaultWebChatContainerStatefulProps } from "../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps";
9
- import { BroadcastService } from "@microsoft/omnichannel-chat-components"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ import { PostChatSurveyMode } from "../../postchatsurveypanestateful/enums/PostChatSurveyMode";
9
+ import { Constants } from "../../../common/Constants";
10
+ import { addDelayInMs, getWidgetEndChatEventName } from "../../../common/utils";
10
11
 
11
- export const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter) => {
12
- try {
13
- var _props$webChatContain;
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ const prepareEndChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state) => {
14
+ var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _conversationDetails;
15
+ const isPostChatEnabled = (_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.msdyn_postconversationsurveyenable;
16
+ const postChatSurveyMode = (_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : (_state$domainStates$l4 = _state$domainStates$l3.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l4 === void 0 ? void 0 : _state$domainStates$l4.msdyn_postconversationsurveymode;
14
17
 
15
- TelemetryHelper.logConfigDataEvent(LogLevel.INFO, {
16
- Event: TelemetryEvent.EndChatSDKCall
17
- });
18
- await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
19
- adapter === null || adapter === void 0 ? void 0 : adapter.end();
20
- setAdapter(undefined);
21
- setWebChatStyles({ ...defaultWebChatContainerStatefulProps.webChatStyles,
22
- ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
23
- });
24
- WebChatStoreLoader.store = null;
25
- dispatch({
26
- type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
27
- payload: ConversationState.Closed
28
- });
29
- dispatch({
30
- type: LiveChatWidgetActionType.SET_RECONNECT_ID,
31
- payload: undefined
32
- });
33
- dispatch({
34
- type: LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
35
- payload: null
36
- });
37
- dispatch({
38
- type: LiveChatWidgetActionType.SET_CHAT_TOKEN,
39
- payload: undefined
40
- });
41
- BroadcastService.postMessage({
42
- eventName: "EndChat"
43
- });
44
- } catch (ex) {
45
- TelemetryHelper.logSDKEvent(LogLevel.ERROR, {
46
- Event: TelemetryEvent.EndChatSDKCallFailed,
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ let conversationDetails = undefined;
20
+ try {
21
+ conversationDetails = await chatSDK.getConversationDetails();
22
+ } catch (erorr) {
23
+ TelemetryHelper.logActionEvent(LogLevel.ERROR, {
24
+ Event: TelemetryEvent.GetConversationDetailsException,
47
25
  ExceptionDetails: {
48
- exception: ex
26
+ exception: `Failed to get conversation details: ${erorr}`
49
27
  }
50
28
  });
51
- NotificationHandler.notifyError(NotificationScenarios.Connection, "End Chat Call Failed: " + ex);
52
29
  }
53
- };
30
+ if (isPostChatEnabled === "true" && ((_conversationDetails = conversationDetails) === null || _conversationDetails === void 0 ? void 0 : _conversationDetails.canRenderPostChat) === Constants.truePascal) {
31
+ const skipEndChatSDK = false;
32
+ const skipCloseChat = true;
33
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, false);
34
+ if (postChatSurveyMode === PostChatSurveyMode.Embed) {
35
+ dispatch({
36
+ type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
37
+ payload: ConversationState.PostchatLoading
38
+ });
39
+ await addDelayInMs(Constants.PostChatLoadingDurationInMs);
40
+ const loadPostChatEvent = {
41
+ eventName: BroadcastEvent.LoadPostChatSurvey
42
+ };
43
+ BroadcastService.postMessage(loadPostChatEvent);
44
+ } else if (postChatSurveyMode === PostChatSurveyMode.Link) {
45
+ dispatch({
46
+ type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
47
+ payload: ConversationState.InActive
48
+ });
49
+ }
50
+ return;
51
+ }
52
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
53
+ };
54
+
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
57
+ if (!skipEndChatSDK) {
58
+ try {
59
+ TelemetryHelper.logSDKEvent(LogLevel.INFO, {
60
+ Event: TelemetryEvent.EndChatSDKCall
61
+ });
62
+ await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
63
+ } catch (ex) {
64
+ TelemetryHelper.logSDKEvent(LogLevel.ERROR, {
65
+ Event: TelemetryEvent.EndChatSDKCallFailed,
66
+ ExceptionDetails: {
67
+ exception: ex
68
+ }
69
+ });
70
+ postMessageToOtherTab = false;
71
+ }
72
+ }
73
+
74
+ // Need to clear these states immediately when chat ended from OC.
75
+ dispatch({
76
+ type: LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
77
+ payload: undefined
78
+ });
79
+ dispatch({
80
+ type: LiveChatWidgetActionType.SET_CHAT_TOKEN,
81
+ payload: undefined
82
+ });
83
+ dispatch({
84
+ type: LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
85
+ payload: undefined
86
+ });
87
+ if (!skipCloseChat) {
88
+ try {
89
+ var _props$webChatContain;
90
+ adapter === null || adapter === void 0 ? void 0 : adapter.end();
91
+ setAdapter(undefined);
92
+ setWebChatStyles({
93
+ ...defaultWebChatContainerStatefulProps.webChatStyles,
94
+ ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
95
+ });
96
+ WebChatStoreLoader.store = null;
97
+ dispatch({
98
+ type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
99
+ payload: ConversationState.Closed
100
+ });
101
+ dispatch({
102
+ type: LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT,
103
+ payload: false
104
+ });
105
+ dispatch({
106
+ type: LiveChatWidgetActionType.SET_RECONNECT_ID,
107
+ payload: undefined
108
+ });
109
+ dispatch({
110
+ type: LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
111
+ payload: null
112
+ });
113
+ dispatch({
114
+ type: LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
115
+ payload: 0
116
+ });
117
+ dispatch({
118
+ type: LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS,
119
+ payload: {
120
+ proactiveChatBodyTitle: "",
121
+ proactiveChatEnablePrechat: false,
122
+ proactiveChatInNewWindow: false
123
+ }
124
+ });
125
+ if (postMessageToOtherTab) {
126
+ var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps;
127
+ const endChatEventName = getWidgetEndChatEventName(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "");
128
+ BroadcastService.postMessage({
129
+ eventName: endChatEventName
130
+ });
131
+ }
132
+ } catch (error) {
133
+ TelemetryHelper.logActionEvent(LogLevel.ERROR, {
134
+ Event: TelemetryEvent.CloseChatMethodException,
135
+ ExceptionDetails: {
136
+ exception: `Failed to endChat: ${error}`
137
+ }
138
+ });
139
+ }
140
+ }
141
+ };
142
+ export { prepareEndChat, endChat };