@microsoft/omnichannel-chat-widget 0.1.0-main.c461296 → 0.1.0-main.c5ffed0

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 (329) hide show
  1. package/README.md +35 -11
  2. package/lib/cjs/assets/Icons.js +4 -2
  3. package/lib/cjs/common/Constants.js +52 -155
  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 +69 -25
  10. package/lib/cjs/common/telemetry/TelemetryHelper.js +31 -56
  11. package/lib/cjs/common/telemetry/TelemetryManager.js +16 -34
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  13. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  14. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
  15. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  16. package/lib/cjs/common/utils.js +80 -80
  17. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
  18. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  19. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  20. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +12 -72
  21. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  22. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -37
  23. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  24. package/lib/cjs/components/footerstateful/FooterStateful.js +12 -44
  25. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  26. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  27. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  28. package/lib/cjs/components/headerstateful/HeaderStateful.js +21 -39
  29. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  30. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +39 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +20 -0
  32. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  33. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
  34. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +64 -0
  35. package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -0
  36. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  37. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  38. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  39. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  40. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  41. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  42. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +136 -63
  43. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  44. package/lib/cjs/components/livechatwidget/common/endChat.js +121 -23
  45. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  46. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +8 -17
  47. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  48. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +38 -52
  49. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +98 -66
  50. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +9 -33
  51. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
  52. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  53. package/lib/cjs/components/livechatwidget/common/startChat.js +247 -91
  54. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  55. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  56. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  57. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +353 -165
  58. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +26 -19
  59. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  60. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  61. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
  62. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  63. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  64. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  65. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  66. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  67. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +12 -45
  68. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  69. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -33
  70. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  71. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  72. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  73. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  74. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  75. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
  76. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -17
  77. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  78. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -15
  79. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  80. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  81. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +12 -0
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -37
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -61
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  121. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  122. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  123. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  124. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  125. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  126. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  127. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  128. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -26
  129. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +16 -13
  130. package/lib/cjs/contexts/createReducer.js +169 -109
  131. package/lib/cjs/controller/componentController.js +4 -33
  132. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  133. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  134. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  135. package/lib/cjs/hooks/useDebounce.js +28 -0
  136. package/lib/cjs/hooks/useWindowDimensions.js +30 -0
  137. package/lib/cjs/index.js +0 -5
  138. package/lib/cjs/plugins/newMessageEventHandler.js +26 -46
  139. package/lib/esm/assets/Icons.js +2 -1
  140. package/lib/esm/common/Constants.js +47 -143
  141. package/lib/esm/common/KeyCodes.js +3 -3
  142. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
  143. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  144. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +104 -0
  145. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  146. package/lib/esm/common/telemetry/TelemetryConstants.js +73 -22
  147. package/lib/esm/common/telemetry/TelemetryHelper.js +32 -46
  148. package/lib/esm/common/telemetry/TelemetryManager.js +16 -23
  149. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  150. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  151. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
  152. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  153. package/lib/esm/common/utils.js +73 -45
  154. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  155. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  156. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  157. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +15 -49
  158. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -16
  159. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  160. package/lib/esm/components/footerstateful/FooterStateful.js +14 -25
  161. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  162. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  163. package/lib/esm/components/headerstateful/HeaderStateful.js +21 -24
  164. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  165. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
  166. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  167. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  168. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  169. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  170. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
  171. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  172. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  173. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  174. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  175. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  176. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  177. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +138 -51
  178. package/lib/esm/components/livechatwidget/common/endChat.js +124 -14
  179. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  180. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +10 -12
  181. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  182. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +41 -22
  183. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +98 -58
  184. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +9 -23
  185. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  186. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  187. package/lib/esm/components/livechatwidget/common/startChat.js +247 -71
  188. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  189. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  190. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +356 -117
  191. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +26 -7
  192. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  193. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  194. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  195. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  196. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  197. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  198. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  199. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  200. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +16 -30
  201. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  202. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -9
  203. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  204. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  205. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  206. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  207. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  208. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  209. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -13
  210. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  211. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
  212. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  213. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  214. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  250. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  251. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  252. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  253. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  254. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  255. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  256. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  257. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  258. package/lib/esm/contexts/ChatContextStore.js +2 -1
  259. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  260. package/lib/esm/contexts/common/ConversationState.js +3 -3
  261. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -26
  262. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +16 -9
  263. package/lib/esm/contexts/createReducer.js +169 -105
  264. package/lib/esm/controller/componentController.js +5 -4
  265. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  266. package/lib/esm/hooks/useChatContextStore.js +0 -4
  267. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  268. package/lib/esm/hooks/useDebounce.js +22 -0
  269. package/lib/esm/hooks/useWindowDimensions.js +23 -0
  270. package/lib/esm/plugins/newMessageEventHandler.js +26 -35
  271. package/lib/types/assets/Icons.d.ts +1 -0
  272. package/lib/types/common/Constants.d.ts +39 -2
  273. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  274. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  275. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  276. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  277. package/lib/types/common/telemetry/TelemetryConstants.d.ts +49 -7
  278. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  279. package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
  280. package/lib/types/common/telemetry/definitions/Payload.d.ts +13 -9
  281. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +7 -3
  282. package/lib/types/common/utils.d.ts +8 -1
  283. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +4 -4
  284. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  285. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  286. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  287. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  288. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  289. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  290. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  291. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  292. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  293. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  294. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  295. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -4
  296. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  297. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  298. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  299. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +4 -1
  300. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -3
  301. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  302. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  303. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  304. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  305. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  306. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
  307. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  308. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  309. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  310. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  311. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  312. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  313. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  314. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  315. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  316. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  317. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  318. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  319. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  320. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  321. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  322. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  323. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  324. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +6 -3
  325. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -25
  326. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  327. package/lib/types/hooks/useDebounce.d.ts +3 -0
  328. package/lib/types/hooks/useWindowDimensions.d.ts +4 -0
  329. package/package.json +9 -9
@@ -4,32 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.dummyDefaultProps = void 0;
7
-
8
7
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
-
10
8
  var _mockadapter = _interopRequireDefault(require("../../../webchatcontainerstateful/common/mockadapter"));
11
-
12
9
  var _Audios = require("../../../../assets/Audios");
13
-
14
10
  var _WebChatStoreLoader = require("../../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
15
-
16
11
  var _activityStatusMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware");
17
-
18
12
  var _activityMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware");
19
-
20
13
  var _attachmentMiddleware = _interopRequireDefault(require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware"));
21
-
22
14
  var _avatarMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware");
23
-
24
15
  var _createMarkdown = require("../createMarkdown");
25
-
16
+ var _WebChatLogger = require("../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
26
17
  var _groupActivitiesMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware");
27
-
28
18
  var _typingIndicatorMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware");
29
-
30
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
20
  /* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
21
+
33
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
34
23
  const dummyDefaultProps = {
35
24
  audioNotificationProps: {
@@ -185,24 +174,28 @@ const dummyDefaultProps = {
185
174
  },
186
175
  audioCallButtonStyleProps: {
187
176
  borderRadius: "50%",
188
- color: "#FFFFFF",
189
177
  backgroundColor: "#008000",
190
178
  lineHeight: "40px",
191
179
  height: "40px",
192
180
  width: "40px",
193
- fontSize: 18
181
+ icon: {
182
+ fontSize: 18,
183
+ color: "#FFFFFF"
184
+ }
194
185
  },
195
186
  audioCallButtonHoverStyleProps: {
196
187
  filter: "brightness(0.8)"
197
188
  },
198
189
  videoCallButtonStyleProps: {
199
190
  borderRadius: "50%",
200
- color: "#FFFFFF",
201
191
  backgroundColor: "#008000",
202
192
  lineHeight: "40px",
203
193
  height: "40px",
204
194
  width: "40px",
205
- fontSize: 18
195
+ icon: {
196
+ fontSize: 18,
197
+ color: "#FFFFFF"
198
+ }
206
199
  },
207
200
  videoCallButtonHoverStyleProps: {
208
201
  filter: "brightness(0.8)"
@@ -213,13 +206,15 @@ const dummyDefaultProps = {
213
206
  },
214
207
  declineCallButtonStyleProps: {
215
208
  borderRadius: "50%",
216
- color: "#FFFFFF",
217
209
  backgroundColor: "#DC0000",
218
210
  lineHeight: "40px",
219
211
  height: "40px",
220
212
  width: "40px",
221
- fontSize: 18,
222
- marginLeft: "5px"
213
+ marginLeft: "5px",
214
+ icon: {
215
+ fontSize: 18,
216
+ color: "#FFFFFF"
217
+ }
223
218
  },
224
219
  incomingCallTitleStyleProps: {
225
220
  margin: "0 5px",
@@ -272,18 +267,6 @@ const dummyDefaultProps = {
272
267
  width: "50px",
273
268
  fontSize: "18px"
274
269
  },
275
- currentCallTimerStyleProps: {
276
- borderRadius: "2px",
277
- margin: "1px",
278
- color: "#FFFFFF",
279
- paddingTop: "18px",
280
- fontSize: 12,
281
- fontFamily: "Segoe UI, Arial, sans-serif",
282
- backgroundColor: "darkgrey",
283
- height: "45px",
284
- width: "50px",
285
- textAlign: "center"
286
- },
287
270
  videoTileStyleProps: {
288
271
  width: "100%",
289
272
  marginLeft: "auto",
@@ -347,7 +330,10 @@ const dummyDefaultProps = {
347
330
  hideChatTextContainer: false,
348
331
  hideChatSubtitle: false,
349
332
  hideChatTitle: false,
350
- hideNotificationBubble: true
333
+ hideNotificationBubble: true,
334
+ unreadMessageString: "new messages",
335
+ largeUnreadMessageString: "99+",
336
+ ariaLabelUnreadMessageString: "you have new messages"
351
337
  },
352
338
  styleProps: {
353
339
  generalStyleProps: {
@@ -427,6 +413,7 @@ const dummyDefaultProps = {
427
413
  width: "90px",
428
414
  cursor: "pointer",
429
415
  overflow: "hidden",
416
+ padding: "0px",
430
417
  whiteSpace: "nowrap"
431
418
  },
432
419
  subtitleStyleProps: {
@@ -434,12 +421,14 @@ const dummyDefaultProps = {
434
421
  fontWeight: "200",
435
422
  color: "#666",
436
423
  overflow: "hidden",
424
+ padding: "0px",
437
425
  fontFamily: "'Segoe UI',Arial,sans-serif",
438
426
  display: "block",
439
427
  alignItems: "center",
440
428
  margin: "0px 14px 0px 14px",
441
429
  textOverflow: "ellipsis !important",
442
- width: "max-content",
430
+ width: "90px",
431
+ whiteSpace: "nowrap",
443
432
  cursor: "pointer"
444
433
  },
445
434
  classNames: {
@@ -489,28 +478,30 @@ const dummyDefaultProps = {
489
478
  cancelButtonText: "Cancel",
490
479
  cancelButtonAriaLabel: "Cancel. Return to Chat",
491
480
  brightnessValueOnDim: "0.2",
492
- disableDimLayer: false,
493
481
  onConfirm: () => {},
494
482
  // Detailed implementation omitted
495
483
  onCancel: () => {} // Detailed implementation omitted
496
-
497
484
  },
485
+
498
486
  styleProps: {
499
487
  generalStyleProps: {
488
+ display: "flex",
489
+ minHeight: "160px",
490
+ maxHeight: "300px",
491
+ boxSizing: "border-box",
500
492
  backgroundColor: "#FFFFFF",
501
493
  borderRadius: "2px",
502
494
  color: "black",
503
495
  fontFamily: "Segoe UI, Arial, sans-serif",
504
496
  fontSize: "14px",
505
- height: "160px",
506
497
  padding: "10px 20px",
507
- width: "262px",
508
498
  position: "absolute",
509
499
  justifyContent: "center",
510
500
  alignItems: "center",
511
- display: "flex",
512
501
  flexFlow: "column",
513
- zIndex: "9999"
502
+ zIndex: "9999",
503
+ left: "26px",
504
+ right: "26px"
514
505
  },
515
506
  titleStyleProps: {
516
507
  color: "#323130",
@@ -532,10 +523,14 @@ const dummyDefaultProps = {
532
523
  },
533
524
  buttonGroupStyleProps: {
534
525
  display: "flex",
526
+ width: "auto",
527
+ height: "auto",
528
+ boxSizing: "border-box",
535
529
  flexFlow: "row",
536
530
  justifyContent: "center",
537
531
  alignItems: "center",
538
- gap: "10px"
532
+ gap: "10px",
533
+ marginBottom: "10px"
539
534
  },
540
535
  confirmButtonStyleProps: {
541
536
  backgroundColor: "rgba(9,72,159,1)",
@@ -590,6 +585,7 @@ const dummyDefaultProps = {
590
585
  hideCallingContainer: false,
591
586
  hideChatButton: false,
592
587
  hideConfirmationPane: false,
588
+ hideErrorUIPane: false,
593
589
  hideFooter: false,
594
590
  hideHeader: false,
595
591
  hideLoadingPane: false,
@@ -599,7 +595,7 @@ const dummyDefaultProps = {
599
595
  hideProactiveChatPane: false,
600
596
  hideReconnectChatPane: false,
601
597
  hideWebChatContainer: false,
602
- skipChatButtonRendering: false
598
+ hideStartChatButton: false
603
599
  },
604
600
  directLine: new _mockadapter.default(),
605
601
  downloadTranscriptProps: {
@@ -640,7 +636,6 @@ const dummyDefaultProps = {
640
636
  cancelButtonText: "Cancel",
641
637
  cancelButtonAriaLabel: "Cancel",
642
638
  brightnessValueOnDim: "0.2",
643
- disableDimLayer: false,
644
639
  onSend: undefined,
645
640
  onCancel: undefined,
646
641
  checkInput: undefined
@@ -799,6 +794,7 @@ const dummyDefaultProps = {
799
794
  },
800
795
  audioNotificationButtonProps: {
801
796
  id: "oc-lcw-footer-audionotification-button",
797
+ type: "icon",
802
798
  ariaLabel: "Turn sound off",
803
799
  toggleAriaLabel: "Turn sound on",
804
800
  iconName: "Volume3",
@@ -824,8 +820,10 @@ const dummyDefaultProps = {
824
820
  padding: "0 10px 5px 10px"
825
821
  },
826
822
  downloadTranscriptButtonStyleProps: {
827
- color: "blue",
828
- fontSize: 16,
823
+ icon: {
824
+ color: "blue",
825
+ fontSize: 16
826
+ },
829
827
  height: "25px",
830
828
  lineHeight: "25px",
831
829
  width: "25px"
@@ -835,8 +833,10 @@ const dummyDefaultProps = {
835
833
  backgroundColor: "#C8C8C8"
836
834
  },
837
835
  emailTranscriptButtonStyleProps: {
838
- color: "blue",
839
- fontSize: 16,
836
+ cicon: {
837
+ color: "blue",
838
+ fontSize: 16
839
+ },
840
840
  height: "25px",
841
841
  lineHeight: "25px",
842
842
  width: "25px"
@@ -846,8 +846,10 @@ const dummyDefaultProps = {
846
846
  backgroundColor: "#C8C8C8"
847
847
  },
848
848
  audioNotificationButtonStyleProps: {
849
- color: "blue",
850
- fontSize: 16,
849
+ icon: {
850
+ color: "blue",
851
+ fontSize: 16
852
+ },
851
853
  height: "25px",
852
854
  lineHeight: "25px",
853
855
  width: "25px"
@@ -898,7 +900,7 @@ const dummyDefaultProps = {
898
900
  className: undefined
899
901
  },
900
902
  closeButtonProps: {
901
- id: "oc-lcw-header-minimize-button",
903
+ id: "oc-lcw-header-close-button",
902
904
  type: "icon",
903
905
  iconName: "ChromeClose",
904
906
  ariaLabel: "Close",
@@ -1031,7 +1033,8 @@ const dummyDefaultProps = {
1031
1033
  margin: "0px 0px 20px 0px",
1032
1034
  display: "flex",
1033
1035
  order: 1,
1034
- alignSelf: "auto"
1036
+ alignSelf: "auto",
1037
+ overflow: "visible"
1035
1038
  },
1036
1039
  iconImageProps: {
1037
1040
  src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2lpKSI+DQo8cGF0aCBkPSJNMTUuMTk3MSAxNi4yNzI1VjI1Ljg1MjRDMTUuMTk3MSAyNy4zODExIDE1Ljg0MDEgMjcuNTIwMSAxNi45ODMyIDI3LjUyMDFMMjYuNzA4NCAyNy41NjQ5TDMxLjAwMzkgMzIuMzEyM1YyNy41NjQ5SDMxLjg5N0MzMi4xNzQzIDI3LjU2MzcgMzIuNDQ4NyAyNy41MDc3IDMyLjcwNDUgMjcuNDAwMUMzMi45NjAzIDI3LjI5MjQgMzMuMTkyNSAyNy4xMzUzIDMzLjM4NzggMjYuOTM3NUMzMy41ODMxIDI2LjczOTggMzMuNzM3NyAyNi41MDU0IDMzLjg0MjcgMjYuMjQ3N0MzMy45NDc4IDI1Ljk5IDM0LjAwMTMgMjUuNzE0IDM0LjAwMDEgMjUuNDM1NVYxNi4zMDM4QzM0LjAwMTMgMTYuMDI1NCAzMy45NDc4IDE1Ljc0OTQgMzMuODQyNyAxNS40OTE3QzMzLjczNzcgMTUuMjM0IDMzLjU4MzEgMTQuOTk5NiAzMy4zODc4IDE0LjgwMThDMzMuMTkyNSAxNC42MDQxIDMyLjk2MDMgMTQuNDQ2OSAzMi43MDQ1IDE0LjMzOTNDMzIuNDQ4NyAxNC4yMzE2IDMyLjE3NDMgMTQuMTc1NiAzMS44OTcgMTQuMTc0NEwxNy4zMDQ3IDE0LjE0MzFDMTcuMDI2OSAxNC4xNDM3IDE2Ljc1MiAxNC4xOTkyIDE2LjQ5NTcgMTQuMzA2NkMxNi4yMzk0IDE0LjQxNCAxNi4wMDY3IDE0LjU3MTEgMTUuODEwOSAxNC43Njg5QzE1LjYxNTIgMTQuOTY2NyAxNS40NjAyIDE1LjIwMTMgMTUuMzU0OCAxNS40NTkzQzE1LjI0OTUgMTUuNzE3MyAxNS4xOTU5IDE1Ljk5MzYgMTUuMTk3MSAxNi4yNzI1WiIgZmlsbD0iI0Q2RDZENiIvPg0KPC9nPg0KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjFfZGlpKSI+DQo8cGF0aCBkPSJNMjcuODczNSA2LjY5ODg3VjE4Ljg0MDlDMjcuODczNSAyMC43Nzg1IDI3LjA1NzIgMjAuOTU0NiAyNS42MDU4IDIwLjk1NDZMMTMuMjU4IDIxLjAxMTRMNy44MDQxNCAyNy4wMjg1VjIxLjAxMTRINi42NzAyN0M2LjMxODEyIDIxLjAwOTkgNS45Njk3MSAyMC45Mzg5IDUuNjQ0OTMgMjAuODAyNUM1LjMyMDE2IDIwLjY2NjEgNS4wMjUzOCAyMC40NjY4IDQuNzc3NDIgMjAuMjE2MkM0LjUyOTQ2IDE5Ljk2NTYgNC4zMzMxOSAxOS42Njg1IDQuMTk5OCAxOS4zNDE5QzQuMDY2NDIgMTkuMDE1MiAzLjk5ODUzIDE4LjY2NTUgNC4wMDAwMiAxOC4zMTI1VjYuNzM4NjRDMy45OTg1MyA2LjM4NTcxIDQuMDY2NDIgNi4wMzU5NSA0LjE5OTggNS43MDkzMUM0LjMzMzE5IDUuMzgyNjcgNC41Mjk0NiA1LjA4NTU3IDQuNzc3NDIgNC44MzQ5NUM1LjAyNTM4IDQuNTg0MzQgNS4zMjAxNiA0LjM4NTEzIDUuNjQ0OTMgNC4yNDg2OUM1Ljk2OTcxIDQuMTEyMjUgNi4zMTgxMiA0LjA0MTI2IDYuNjcwMjcgNC4wMzk3N0wyNS4xOTc2IDRDMjUuNTUwMiA0LjAwMDc0IDI1Ljg5OTMgNC4wNzExOCAyNi4yMjQ3IDQuMjA3MjlDMjYuNTUwMSA0LjM0MzM5IDI2Ljg0NTYgNC41NDI0OSAyNy4wOTQxIDQuNzkzMThDMjcuMzQyNyA1LjA0Mzg2IDI3LjUzOTUgNS4zNDEyMiAyNy42NzMyIDUuNjY4MjNDMjcuODA3IDUuOTk1MjMgMjcuODc1IDYuMzQ1NDYgMjcuODczNSA2LjY5ODg3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPg0KPC9nPg0KPGRlZnM+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2lpIiB4PSIxNS4xOTcxIiB5PSIxNC4xNDMxIiB3aWR0aD0iMTguODAzMSIgaGVpZ2h0PSIxOC4xNjkzIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC4yIiBkeT0iLTAuMiIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTcgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9InNoYXBlIiByZXN1bHQ9ImVmZmVjdDFfaW5uZXJTaGFkb3ciLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC41IiBkeT0iLTAuNSIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTYgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9ImVmZmVjdDFfaW5uZXJTaGFkb3ciIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPC9maWx0ZXI+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIxX2RpaSIgeD0iMCIgeT0iMCIgd2lkdGg9IjM5Ljg3MzYiIGhlaWdodD0iMzkuMDI4NSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+DQo8ZmVPZmZzZXQgZHg9IjQiIGR5PSI0Ii8+DQo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0Ii8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMiIgZHk9Ii0yIi8+DQo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIi8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMC4xNyAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0ic2hhcGUiIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+DQo8ZmVPZmZzZXQgZHg9Ii0xIiBkeT0iLTEiLz4NCjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiLz4NCjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwLjE2IDAiLz4NCjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJlZmZlY3QyX2lubmVyU2hhZG93IiByZXN1bHQ9ImVmZmVjdDNfaW5uZXJTaGFkb3ciLz4NCjwvZmlsdGVyPg0KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iLTAuMzk1MDAxIiB5MT0iMjMuMTI4MiIgeDI9IjIwLjEwNTgiIHkyPSIzNy44NDc0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQo8c3RvcCBzdG9wLWNvbG9yPSIjRUZFRkVGIi8+DQo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IndoaXRlIi8+DQo8L2xpbmVhckdyYWRpZW50Pg0KPC9kZWZzPg0KPC9zdmc+DQo=",
@@ -1077,8 +1080,8 @@ const dummyDefaultProps = {
1077
1080
  titleText: "We're Offline",
1078
1081
  subtitleText: "No agents available",
1079
1082
  onClick: () => {} // Detailed implementation omitted
1080
-
1081
1083
  },
1084
+
1082
1085
  styleProps: {
1083
1086
  // ...[Existing chat button style props]
1084
1087
  iconStyleProps: {
@@ -1096,8 +1099,8 @@ const dummyDefaultProps = {
1096
1099
  text: "We're Offline"
1097
1100
  },
1098
1101
  onMinimizeClick: () => {} // Detailed implementation omitted
1099
-
1100
1102
  },
1103
+
1101
1104
  styleProps: {
1102
1105
  // ...[Existing chat button style props]
1103
1106
  generalStyleProps: {
@@ -1123,7 +1126,8 @@ const dummyDefaultProps = {
1123
1126
  dir: "auto",
1124
1127
  hideOOOHPane: false,
1125
1128
  hideTitle: false,
1126
- titleText: "Thanks for contacting us. You have reached us outside of our operating hours. An agent will respond when we open."
1129
+ titleText: "Thanks for contacting us. You have reached us outside of our operating hours. An agent will respond when we open. Please see link https://microsoft.com",
1130
+ openLinkInNewTab: true
1127
1131
  },
1128
1132
  styleProps: {
1129
1133
  generalStyleProps: {
@@ -1166,7 +1170,7 @@ const dummyDefaultProps = {
1166
1170
  subtitleText: "Please take a moment to give us feedback about your chat experience. We are loading the survey for you now."
1167
1171
  },
1168
1172
  styleProps: {
1169
- // ...[Existing chat button style props]
1173
+ // ...[Existing loading pane style props]
1170
1174
  generalStyleProps: {
1171
1175
  position: "initial",
1172
1176
  width: "100%",
@@ -1194,6 +1198,48 @@ const dummyDefaultProps = {
1194
1198
  backgroundColor: "#FFFFFF",
1195
1199
  borderColor: "#F1F1F1"
1196
1200
  }
1201
+ },
1202
+ isCustomerVoiceSurveyCompact: undefined
1203
+ },
1204
+ preChatSurveyPaneProps: {
1205
+ controlProps: {
1206
+ id: "oc-lcw-prechatsurveypane-default",
1207
+ dir: "auto",
1208
+ hidePreChatSurveyPane: false,
1209
+ adaptiveCardHostConfig: "{\"fontFamily\":\"Segoe UI, Helvetica Neue, sans-serif\",\"containerStyles\":{\"default\":{\"foregroundColors\":{\"default\":{\"default\":\"#000000\"}},\"backgroundColor\":\"#FFFFFF\"}},\"actions\":{\"actionsOrientation\":\"Vertical\",\"actionAlignment\":\"stretch\"}}",
1210
+ payload: "{\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"type\":\"AdaptiveCard\",\"version\":\"1.1\",\"body\":[{\"type\":\"TextBlock\",\"weight\":\"bolder\",\"text\":\"Please answer below questions.\"},{\"type\":\"Input.Text\",\"id\":\"1e5e4e7a-8f0b-ec11-b6e6-000d3a305d38\",\"label\":\"name pls?\",\"maxLength\":100,\"isRequired\":true,\"errorMessage\":\"Name is required\"},{\"type\":\"Input.Text\",\"id\":\"7f8f5d6d-995e-ec11-8f8f-000d3a31376e\",\"label\":\"multi\\nmulti\\nmulti\",\"style\":\"text\",\"isMultiline\":true,\"maxLength\":250},{\"type\":\"Input.ChoiceSet\",\"id\":\"e4bdf7cb-995e-ec11-8f8f-000d3a31376e\",\"label\":\"options\",\"isMultiSelect\":false,\"value\":\"1\",\"style\":\"compact\",\"choices\":[{\"title\":\"one\",\"value\":\"1\"},{\"title\":\"two\",\"value\":\"2\"},{\"title\":\"three\",\"value\":\"3\"}]},{\"type\":\"Input.Toggle\",\"id\":\"b26011d2-995e-ec11-8f8f-000d3a31376e\",\"title\":\"consent\",\"valueOn\":\"True\",\"valueOff\":\"False\",\"value\":\"false\"},{\"type\":\"TextBlock\",\"isSubtle\":true,\"text\":\"Fields marked with * are mandatory.\",\"wrap\":true}],\"actions\":[{\"type\":\"Action.Submit\",\"title\":\"Submit\",\"data\":{\"Type\":\"InputSubmit\"}}]}",
1211
+ onSubmit: function () {} // Detailed implementation omitted
1212
+ },
1213
+
1214
+ styleProps: {
1215
+ generalStyleProps: {
1216
+ borderStyle: "solid",
1217
+ borderRadius: "4px",
1218
+ borderWidth: "0px",
1219
+ backgroundColor: "#FFFFFF",
1220
+ borderColor: "#F1F1F1",
1221
+ overflowY: "auto",
1222
+ height: "inherit",
1223
+ width: "inherit"
1224
+ },
1225
+ customButtonStyleProps: {
1226
+ backgroundColor: "rgb(49, 95, 162)",
1227
+ color: "#FFFFFF",
1228
+ fontFamily: "Segoe UI, Arial, sans-serif",
1229
+ fontSize: "15px",
1230
+ height: "48px"
1231
+ },
1232
+ adaptiveCardContainerStyleProps: {
1233
+ border: "1px solid #ECECEC",
1234
+ borderRadius: "4px",
1235
+ margin: "3%"
1236
+ },
1237
+ customTextInputStyleProps: {
1238
+ height: "20px"
1239
+ },
1240
+ customMultilineTextInputStyleProps: {
1241
+ height: "52px"
1242
+ }
1197
1243
  }
1198
1244
  },
1199
1245
  proactiveChatPaneProps: {
@@ -1214,7 +1260,17 @@ const dummyDefaultProps = {
1214
1260
  hideSubtitle: false,
1215
1261
  subtitleText: "Live chat support!",
1216
1262
  hideCloseButton: false,
1217
- closeButtonAriaLabel: "Close Button",
1263
+ closeButtonProps: {
1264
+ id: "oc-lcw-proactivechat-closebutton",
1265
+ type: "icon",
1266
+ iconName: "ChromeClose",
1267
+ ariaLabel: "Close",
1268
+ imageIconProps: undefined,
1269
+ text: "Close",
1270
+ onClick: undefined,
1271
+ className: undefined,
1272
+ hideButtonTitle: true
1273
+ },
1218
1274
  isBodyContainerHorizantal: false,
1219
1275
  hideBodyTitle: false,
1220
1276
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -1224,8 +1280,8 @@ const dummyDefaultProps = {
1224
1280
  onClose: () => {},
1225
1281
  // Detailed implementation omitted
1226
1282
  onStart: () => {} // Detailed implementation omitted
1227
-
1228
1283
  },
1284
+
1229
1285
  styleProps: {
1230
1286
  generalStyleProps: {
1231
1287
  backgroundColor: "rgb(255, 255, 255)",
@@ -1356,8 +1412,8 @@ const dummyDefaultProps = {
1356
1412
  onStartNewChat: () => {},
1357
1413
  // Detailed implementation omitted
1358
1414
  onMinimize: () => {} // Detailed implementation omitted
1359
-
1360
1415
  },
1416
+
1361
1417
  styleProps: {
1362
1418
  generalStyleProps: {
1363
1419
  backgroundColor: "rgb(255, 255, 255)",
@@ -1442,9 +1498,8 @@ const dummyDefaultProps = {
1442
1498
  startNewChatButtonClassName: undefined
1443
1499
  }
1444
1500
  },
1445
- authClientFunction: undefined,
1446
- isReconnectEnabled: undefined,
1447
- reconnectId: undefined
1501
+ reconnectId: undefined,
1502
+ redirectInSameWindow: undefined
1448
1503
  },
1449
1504
  styleProps: {
1450
1505
  generalStyles: {
@@ -1516,7 +1571,7 @@ const dummyDefaultProps = {
1516
1571
  internalErrorBoxClass: undefined,
1517
1572
  internalRenderErrorBox: undefined,
1518
1573
  locale: "en-US",
1519
- onTelemetry: undefined,
1574
+ onTelemetry: (0, _WebChatLogger.createWebChatTelemetry)(),
1520
1575
  overrideLocalizedStrings: undefined,
1521
1576
  renderMarkdown: (0, _createMarkdown.createMarkdown)(false, false),
1522
1577
  scrollToEndButtonMiddleware: undefined,
@@ -1564,6 +1619,12 @@ const dummyDefaultProps = {
1564
1619
  lineHeight: "16px",
1565
1620
  padding: "0px 10px 0 10px"
1566
1621
  },
1622
+ userMessageBoxStyles: {
1623
+ maxWidth: "90%"
1624
+ },
1625
+ systemMessageBoxStyles: {
1626
+ maxWidth: "90%"
1627
+ },
1567
1628
  typingIndicatorStyleProps: {
1568
1629
  marginLeft: "10px",
1569
1630
  marginBottom: "5px",
@@ -1683,6 +1744,9 @@ const dummyDefaultProps = {
1683
1744
  },
1684
1745
  attachmentSizeStyles: {
1685
1746
  display: "none"
1747
+ },
1748
+ receivedMessageAnchorStyles: {
1749
+ color: "white"
1686
1750
  }
1687
1751
  },
1688
1752
  localizedTexts: {
@@ -1706,8 +1770,17 @@ const dummyDefaultProps = {
1706
1770
  MIDDLEWARE_MESSAGE_RETRY: "Retry",
1707
1771
  PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
1708
1772
  MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external."
1773
+ },
1774
+ botMagicCode: {
1775
+ disabled: false,
1776
+ fwdUrl: ""
1777
+ },
1778
+ adaptiveCardStyles: {
1779
+ background: "white",
1780
+ color: "black"
1709
1781
  }
1710
1782
  },
1711
- telemetryConfig: undefined
1783
+ telemetryConfig: undefined,
1784
+ getAuthToken: undefined
1712
1785
  };
1713
1786
  exports.dummyDefaultProps = dummyDefaultProps;
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.disposeTelemetryLoggers = void 0;
7
-
8
7
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
9
-
10
8
  const disposeTelemetryLoggers = () => {
11
9
  (0, _TelemetryManager.disposeLoggers)();
12
10
  };
13
-
14
11
  exports.disposeTelemetryLoggers = disposeTelemetryLoggers;
@@ -3,30 +3,104 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.endChat = void 0;
7
-
6
+ exports.prepareEndChat = exports.endChat = void 0;
8
7
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
-
12
9
  var _ConversationState = require("../../../contexts/common/ConversationState");
13
-
14
10
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
15
-
16
11
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
17
-
18
12
  var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
19
-
20
13
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
14
+ var _PostChatSurveyMode = require("../../postchatsurveypanestateful/enums/PostChatSurveyMode");
15
+ var _Constants = require("../../../common/Constants");
16
+ var _utils = require("../../../common/utils");
17
+ var _authHelper = require("./authHelper");
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ const prepareEndChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state) => {
20
+ var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _conversationDetails;
21
+ 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;
22
+ 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;
23
+
24
+ //Unable to end chat if token has expired
25
+ if (props.getAuthToken) {
26
+ const authClientFunction = (0, _authHelper.getAuthClientFunction)(props.chatConfig);
27
+ if (props.getAuthToken && authClientFunction) {
28
+ // set auth token to chat sdk before end chat
29
+ const authSuccess = await (0, _authHelper.handleAuthentication)(chatSDK, props.chatConfig, props.getAuthToken);
30
+ if (!authSuccess) {
31
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
32
+ Event: _TelemetryConstants.TelemetryEvent.GetAuthTokenFailed,
33
+ ExceptionDetails: {
34
+ exception: "Unable to get auth token during end chat"
35
+ }
36
+ });
37
+ }
38
+ }
39
+ }
40
+
41
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
+ let conversationDetails = undefined;
43
+ try {
44
+ conversationDetails = await chatSDK.getConversationDetails();
45
+ } catch (erorr) {
46
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
47
+ Event: _TelemetryConstants.TelemetryEvent.GetConversationDetailsException,
48
+ ExceptionDetails: {
49
+ exception: `Failed to get conversation details: ${erorr}`
50
+ }
51
+ });
52
+ }
53
+ if (isPostChatEnabled === "true" && ((_conversationDetails = conversationDetails) === null || _conversationDetails === void 0 ? void 0 : _conversationDetails.canRenderPostChat) === _Constants.Constants.truePascal) {
54
+ const skipEndChatSDK = false;
55
+ const skipCloseChat = true;
56
+ const chatSession = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getCurrentLiveChatContext());
57
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, false);
58
+ if (chatSession) {
59
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
+ chatSDK.chatToken = chatSession.chatToken ?? {};
61
+ chatSDK.requestId = chatSession.requestId;
62
+ }
63
+ if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
64
+ dispatch({
65
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
66
+ payload: _ConversationState.ConversationState.PostchatLoading
67
+ });
68
+ await (0, _utils.addDelayInMs)(_Constants.Constants.PostChatLoadingDurationInMs);
69
+ const loadPostChatEvent = {
70
+ eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
71
+ };
72
+ _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
73
+ } else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
74
+ var _props$webChatContain, _props$webChatContain2;
75
+ dispatch({
76
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
77
+ payload: _ConversationState.ConversationState.InActive
78
+ });
79
+
80
+ // Disable SendBox
81
+ if ((props === null || props === void 0 ? void 0 : (_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : (_props$webChatContain2 = _props$webChatContain.renderingMiddlewareProps) === null || _props$webChatContain2 === void 0 ? void 0 : _props$webChatContain2.hideSendboxOnConversationEnd) !== false) {
82
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
83
+ setWebChatStyles(styles => {
84
+ return {
85
+ ...styles,
86
+ hideSendBox: true
87
+ };
88
+ });
89
+ }
90
+ }
91
+ return;
92
+ }
93
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
94
+ };
21
95
 
22
96
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
- const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat) => {
97
+ exports.prepareEndChat = prepareEndChat;
98
+ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
24
99
  if (!skipEndChatSDK) {
25
100
  try {
26
101
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
27
102
  Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCall
28
103
  });
29
-
30
104
  await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
31
105
  } catch (ex) {
32
106
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
@@ -35,17 +109,35 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
35
109
  exception: ex
36
110
  }
37
111
  });
112
+ postMessageToOtherTab = false;
38
113
  }
39
114
  }
40
115
 
116
+ // Need to clear these states immediately when chat ended from OC.
117
+ dispatch({
118
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
119
+ payload: undefined
120
+ });
121
+ dispatch({
122
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
123
+ payload: undefined
124
+ });
125
+ dispatch({
126
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
127
+ payload: undefined
128
+ });
129
+ dispatch({
130
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
131
+ payload: undefined
132
+ });
41
133
  if (!skipCloseChat) {
42
134
  try {
43
- var _props$webChatContain;
44
-
135
+ var _props$webChatContain3;
45
136
  adapter === null || adapter === void 0 ? void 0 : adapter.end();
46
137
  setAdapter(undefined);
47
- setWebChatStyles({ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
48
- ...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
138
+ setWebChatStyles({
139
+ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
140
+ ...((_props$webChatContain3 = props.webChatContainerProps) === null || _props$webChatContain3 === void 0 ? void 0 : _props$webChatContain3.webChatStyles)
49
141
  });
50
142
  _WebChatStoreLoader.WebChatStoreLoader.store = null;
51
143
  dispatch({
@@ -65,17 +157,24 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
65
157
  payload: null
66
158
  });
67
159
  dispatch({
68
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
69
- payload: undefined
160
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
161
+ payload: 0
70
162
  });
71
163
  dispatch({
72
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
73
- payload: undefined
74
- });
75
-
76
- _omnichannelChatComponents.BroadcastService.postMessage({
77
- eventName: _TelemetryConstants.BroadcastEvent.EndChat
164
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS,
165
+ payload: {
166
+ proactiveChatBodyTitle: "",
167
+ proactiveChatEnablePrechat: false,
168
+ proactiveChatInNewWindow: false
169
+ }
78
170
  });
171
+ if (postMessageToOtherTab) {
172
+ var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps;
173
+ const endChatEventName = (0, _utils.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) ?? "");
174
+ _omnichannelChatComponents.BroadcastService.postMessage({
175
+ eventName: endChatEventName
176
+ });
177
+ }
79
178
  } catch (error) {
80
179
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
81
180
  Event: _TelemetryConstants.TelemetryEvent.CloseChatMethodException,
@@ -86,5 +185,4 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
86
185
  }
87
186
  }
88
187
  };
89
-
90
188
  exports.endChat = endChat;