@microsoft/omnichannel-chat-widget 0.1.0-main.edd8c2a → 0.1.0-main.f4c21f0

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 (369) hide show
  1. package/README.md +259 -0
  2. package/lib/cjs/assets/Audios.js +8 -0
  3. package/lib/cjs/assets/Icons.js +30 -0
  4. package/lib/cjs/common/Constants.js +54 -151
  5. package/lib/cjs/common/KeyCodes.js +3 -4
  6. package/lib/cjs/common/contextDataStore/DataStoreManager.js +12 -0
  7. package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
  8. package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -0
  9. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +111 -0
  10. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  11. package/lib/cjs/common/telemetry/TelemetryConstants.js +88 -22
  12. package/lib/cjs/common/telemetry/TelemetryHelper.js +39 -59
  13. package/lib/cjs/common/telemetry/TelemetryManager.js +25 -35
  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 +21 -45
  20. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  21. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  22. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +15 -86
  23. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  24. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +11 -39
  25. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  26. package/lib/cjs/components/footerstateful/FooterStateful.js +14 -46
  27. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  28. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  29. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  30. package/lib/cjs/components/headerstateful/HeaderStateful.js +26 -35
  31. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  32. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +39 -0
  33. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +20 -0
  34. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  35. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
  36. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +64 -0
  37. package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -0
  38. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  39. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  40. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  41. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  42. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -44
  43. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  44. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +146 -68
  45. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +11 -0
  46. package/lib/cjs/components/livechatwidget/common/endChat.js +168 -54
  47. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  48. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +10 -14
  49. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  50. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +51 -54
  51. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +98 -66
  52. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +13 -22
  53. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +18 -29
  54. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  55. package/lib/cjs/components/livechatwidget/common/startChat.js +310 -67
  56. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -11
  57. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  58. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  59. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +370 -160
  60. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +20 -20
  61. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  62. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +9 -14
  63. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
  64. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  65. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  66. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  67. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  68. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  69. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +27 -43
  70. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  71. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +27 -35
  72. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  73. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  74. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  75. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  76. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  77. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  78. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
  79. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +9 -16
  80. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  81. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +56 -88
  82. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  83. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  84. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +12 -0
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +33 -80
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +27 -61
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  121. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  122. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  123. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  124. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  125. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  126. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  127. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  128. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  129. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  130. package/lib/cjs/contexts/common/ConversationState.js +4 -3
  131. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -23
  132. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +21 -12
  133. package/lib/cjs/contexts/createReducer.js +181 -101
  134. package/lib/cjs/controller/componentController.js +5 -34
  135. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  136. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  137. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  138. package/lib/cjs/index.js +0 -5
  139. package/lib/cjs/plugins/newMessageEventHandler.js +82 -0
  140. package/lib/esm/assets/Audios.js +1 -0
  141. package/lib/esm/assets/Icons.js +12 -0
  142. package/lib/esm/common/Constants.js +49 -139
  143. package/lib/esm/common/KeyCodes.js +3 -3
  144. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  145. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  146. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  147. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +104 -0
  148. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  149. package/lib/esm/common/telemetry/TelemetryConstants.js +87 -17
  150. package/lib/esm/common/telemetry/TelemetryHelper.js +40 -49
  151. package/lib/esm/common/telemetry/TelemetryManager.js +24 -27
  152. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  153. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  154. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +62 -23
  155. package/lib/esm/common/telemetry/loggers/consoleLogger.js +9 -10
  156. package/lib/esm/common/utils.js +73 -45
  157. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  158. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  159. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  160. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +16 -62
  161. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +11 -18
  162. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  163. package/lib/esm/components/footerstateful/FooterStateful.js +15 -26
  164. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  165. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  166. package/lib/esm/components/headerstateful/HeaderStateful.js +27 -21
  167. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  168. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
  169. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  170. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  171. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  172. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  173. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
  174. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  175. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  176. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  177. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  178. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  179. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  180. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +148 -58
  181. package/lib/esm/components/livechatwidget/common/disposeTelemetryLoggers.js +4 -0
  182. package/lib/esm/components/livechatwidget/common/endChat.js +171 -42
  183. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  184. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +12 -11
  185. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  186. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +53 -26
  187. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +98 -58
  188. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +13 -11
  189. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +19 -21
  190. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  191. package/lib/esm/components/livechatwidget/common/startChat.js +313 -52
  192. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  193. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  194. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  195. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +371 -114
  196. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +20 -8
  197. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  198. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +9 -4
  199. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  200. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  201. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  202. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  203. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  204. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  205. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +30 -28
  206. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  207. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +30 -14
  208. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  209. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  210. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  211. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  212. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  213. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  214. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  215. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +9 -12
  216. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  217. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +7 -17
  218. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  219. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  220. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +34 -66
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +27 -40
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  250. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  251. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  252. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  253. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
  254. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  255. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  256. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  257. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  258. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  259. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  260. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  261. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  262. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  263. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  264. package/lib/esm/contexts/ChatContextStore.js +2 -1
  265. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  266. package/lib/esm/contexts/common/ConversationState.js +4 -3
  267. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -23
  268. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +21 -8
  269. package/lib/esm/contexts/createReducer.js +181 -97
  270. package/lib/esm/controller/componentController.js +6 -5
  271. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  272. package/lib/esm/hooks/useChatContextStore.js +0 -4
  273. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  274. package/lib/esm/plugins/newMessageEventHandler.js +75 -0
  275. package/lib/types/assets/Audios.d.ts +1 -0
  276. package/lib/types/assets/Icons.d.ts +12 -0
  277. package/lib/types/common/Constants.d.ts +41 -1
  278. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  279. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  280. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  281. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  282. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  283. package/lib/types/common/telemetry/TelemetryConstants.d.ts +62 -4
  284. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  285. package/lib/types/common/telemetry/TelemetryManager.d.ts +1 -0
  286. package/lib/types/common/telemetry/definitions/Contracts.d.ts +7 -4
  287. package/lib/types/common/telemetry/definitions/Payload.d.ts +16 -9
  288. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +1 -0
  289. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +2 -0
  290. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +16 -0
  291. package/lib/types/common/utils.d.ts +8 -1
  292. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  293. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  294. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  295. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  296. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  297. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  298. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  299. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  300. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  301. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  302. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  303. package/lib/types/components/livechatwidget/common/disposeTelemetryLoggers.d.ts +1 -0
  304. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  305. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -4
  306. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  307. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  308. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  309. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  310. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  311. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +4 -1
  312. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +8 -3
  313. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  314. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  315. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  316. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  317. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  318. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  319. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  320. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
  321. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  322. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  323. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  324. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  325. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  326. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  327. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  328. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  329. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  330. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  331. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  332. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  333. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  334. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  335. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  336. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  337. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  338. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  339. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  340. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +8 -3
  341. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -22
  342. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  343. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  344. package/package.json +14 -13
  345. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  346. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  347. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  348. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  349. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  350. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  351. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  352. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  353. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  354. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  355. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  356. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  357. package/lib/esm/assets/assets.d.js +0 -0
  358. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  359. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  360. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  361. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  362. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  363. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  364. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  365. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  366. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  367. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  368. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  369. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -4,40 +4,29 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.CallingContainerStateful = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
-
14
10
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
15
-
16
11
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
17
-
18
12
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
19
-
20
13
  var _useChatSDKStore = _interopRequireDefault(require("../../hooks/useChatSDKStore"));
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
17
  const CallingContainerStateful = props => {
29
18
  var _props$controlProps, _props$controlProps2, _props$controlProps2$, _props$controlProps3, _props$controlProps3$, _props$controlProps3$2, _props$controlProps4, _props$controlProps4$, _props$controlProps4$2, _props$controlProps5;
30
-
31
19
  //TODO : Close button confirmation implmentation is pending
32
- const [state, dispatch] = (0, _useChatContextStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
20
 
34
- const chatSDK = (0, _useChatSDKStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ const [state, dispatch] = (0, _useChatContextStore.default)();
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ const chatSDK = (0, _useChatSDKStore.default)();
35
24
 
25
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
26
  const {
37
27
  voiceVideoCallingSdk
38
28
  } = props;
39
29
  let callId;
40
-
41
30
  const resetCallingStates = reset => {
42
31
  if (reset) {
43
32
  dispatch({
@@ -62,12 +51,10 @@ const CallingContainerStateful = props => {
62
51
  });
63
52
  }
64
53
  };
65
-
66
54
  (0, _react.useEffect)(() => {
67
55
  const init = async () => {
68
56
  try {
69
57
  var _controlProps$current, _controlProps$current2, _controlProps$current3, _controlProps$current4;
70
-
71
58
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
59
  _TelemetryHelper.TelemetryHelper.callId = callId;
73
60
  await voiceVideoCallingSdk.initialize({
@@ -80,27 +67,23 @@ const CallingContainerStateful = props => {
80
67
  });
81
68
  } catch (e) {
82
69
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.ERROR, {
83
- Event: _TelemetryConstants.TelemetryEvent.VoiceVideoInitializeException,
70
+ Event: _TelemetryConstants.TelemetryEvent.VoiceVideoSdkInitializeException,
84
71
  Description: `Failed to initialize VideoVoiceCalling Sdk: ${e}`
85
72
  });
86
73
  }
87
74
  };
88
-
89
75
  init().then(() => {
90
76
  if (voiceVideoCallingSdk) {
91
77
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
92
- Event: _TelemetryConstants.TelemetryEvent.VoiceVideoInitialize,
78
+ Event: _TelemetryConstants.TelemetryEvent.VoiceVideoSdkInitialize,
93
79
  Description: "Initialize VideoVoiceCalling Sdk Success"
94
80
  }, callId);
95
-
96
81
  voiceVideoCallingSdk.onCallAdded(() => {
97
82
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
83
  callId = voiceVideoCallingSdk.callId;
99
-
100
84
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
101
85
  Event: _TelemetryConstants.TelemetryEvent.CallAdded
102
86
  }, callId);
103
-
104
87
  dispatch({
105
88
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SHOW_CALLING_CONTAINER,
106
89
  payload: true
@@ -114,7 +97,6 @@ const CallingContainerStateful = props => {
114
97
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
115
98
  Event: _TelemetryConstants.TelemetryEvent.RemoteVideoStreamAdded
116
99
  }, callId);
117
-
118
100
  const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
119
101
  const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
120
102
  dispatch({
@@ -134,7 +116,6 @@ const CallingContainerStateful = props => {
134
116
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
135
117
  Event: _TelemetryConstants.TelemetryEvent.LocalVideoStreamAdded
136
118
  }, callId);
137
-
138
119
  const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
139
120
  const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
140
121
  dispatch({
@@ -154,17 +135,14 @@ const CallingContainerStateful = props => {
154
135
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
155
136
  Event: _TelemetryConstants.TelemetryEvent.RemoteVideoStreamRemoved
156
137
  }, callId);
157
-
158
138
  const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
159
139
  const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
160
-
161
140
  if (isRemoteVideoDisabled && isLocalVideoDisabled) {
162
141
  dispatch({
163
142
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
164
143
  payload: true
165
144
  });
166
145
  }
167
-
168
146
  dispatch({
169
147
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO,
170
148
  payload: isRemoteVideoDisabled
@@ -174,17 +152,14 @@ const CallingContainerStateful = props => {
174
152
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
175
153
  Event: _TelemetryConstants.TelemetryEvent.LocalVideoStreamRemoved
176
154
  }, callId);
177
-
178
155
  const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
179
156
  const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
180
-
181
157
  if (isRemoteVideoDisabled && isLocalVideoDisabled) {
182
158
  dispatch({
183
159
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
184
160
  payload: true
185
161
  });
186
162
  }
187
-
188
163
  dispatch({
189
164
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
190
165
  payload: isLocalVideoDisabled
@@ -194,18 +169,29 @@ const CallingContainerStateful = props => {
194
169
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
195
170
  Event: _TelemetryConstants.TelemetryEvent.CallDisconnected
196
171
  }, callId);
197
-
198
172
  resetCallingStates(true);
199
173
  });
200
174
  voiceVideoCallingSdk.addEventListener(_TelemetryConstants.TelemetryEvent.IncomingCallEnded, () => {
201
175
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
202
176
  Event: _TelemetryConstants.TelemetryEvent.IncomingCallEnded
203
177
  }, callId);
204
-
205
178
  resetCallingStates(true);
206
179
  });
207
180
  }
208
181
  });
182
+ window.addEventListener("beforeunload", () => {
183
+ if (state.uiStates.isIncomingCall) {
184
+ voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.rejectCall();
185
+ } else {
186
+ voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.stopCall();
187
+ }
188
+ voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.close();
189
+ dispatch({
190
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_E2VV_ENABLED,
191
+ payload: false
192
+ });
193
+ resetCallingStates(true);
194
+ });
209
195
  }, []);
210
196
  const controlProps = {
211
197
  id: "oc-lcw-callingcontainer",
@@ -217,11 +203,9 @@ const CallingContainerStateful = props => {
217
203
  onDeclineCallClick: (0, _react.useCallback)(async () => {
218
204
  try {
219
205
  voiceVideoCallingSdk.rejectCall();
220
-
221
206
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
222
207
  Event: _TelemetryConstants.TelemetryEvent.CallRejectClick
223
208
  }, callId);
224
-
225
209
  resetCallingStates(true);
226
210
  } catch (error) {
227
211
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.ERROR, {
@@ -237,7 +221,6 @@ const CallingContainerStateful = props => {
237
221
  voiceVideoCallingSdk.acceptCall({
238
222
  withVideo: false
239
223
  });
240
-
241
224
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
242
225
  Event: _TelemetryConstants.TelemetryEvent.VoiceCallAcceptButtonClick
243
226
  }, callId);
@@ -249,7 +232,6 @@ const CallingContainerStateful = props => {
249
232
  }
250
233
  }, callId);
251
234
  }
252
-
253
235
  dispatch({
254
236
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_INCOMING_CALL,
255
237
  payload: false
@@ -264,7 +246,6 @@ const CallingContainerStateful = props => {
264
246
  voiceVideoCallingSdk.acceptCall({
265
247
  withVideo: true
266
248
  });
267
-
268
249
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
269
250
  Event: _TelemetryConstants.TelemetryEvent.VideoCallAcceptButtonClick
270
251
  }, callId);
@@ -276,7 +257,6 @@ const CallingContainerStateful = props => {
276
257
  }
277
258
  }, callId);
278
259
  }
279
-
280
260
  dispatch({
281
261
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_INCOMING_CALL,
282
262
  payload: false
@@ -293,11 +273,9 @@ const CallingContainerStateful = props => {
293
273
  onEndCallClick: (0, _react.useCallback)(() => {
294
274
  try {
295
275
  voiceVideoCallingSdk.stopCall();
296
-
297
276
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
298
277
  Event: _TelemetryConstants.TelemetryEvent.EndCallButtonClick
299
278
  }, callId);
300
-
301
279
  resetCallingStates(true);
302
280
  } catch (error) {
303
281
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.ERROR, {
@@ -311,7 +289,6 @@ const CallingContainerStateful = props => {
311
289
  onMicCallClick: (0, _react.useCallback)(() => {
312
290
  try {
313
291
  voiceVideoCallingSdk.toggleMute();
314
-
315
292
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
316
293
  Event: _TelemetryConstants.TelemetryEvent.ToggleMuteButtonClick
317
294
  }, callId);
@@ -327,7 +304,6 @@ const CallingContainerStateful = props => {
327
304
  onVideoOffClick: (0, _react.useCallback)(() => {
328
305
  try {
329
306
  voiceVideoCallingSdk.toggleLocalVideo();
330
-
331
307
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
332
308
  Event: _TelemetryConstants.TelemetryEvent.ToggleCameraButtonClick
333
309
  }, callId);
@@ -340,7 +316,8 @@ const CallingContainerStateful = props => {
340
316
  }, callId);
341
317
  }
342
318
  }, []),
343
- nonActionIds: { ...(props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : (_props$controlProps2$ = _props$controlProps2.currentCallControlProps) === null || _props$controlProps2$ === void 0 ? void 0 : _props$controlProps2$.nonActionIds),
319
+ nonActionIds: {
320
+ ...(props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : (_props$controlProps2$ = _props$controlProps2.currentCallControlProps) === null || _props$controlProps2$ === void 0 ? void 0 : _props$controlProps2$.nonActionIds),
344
321
  selfVideoTileId: (props === null || props === void 0 ? void 0 : (_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : (_props$controlProps3$ = _props$controlProps3.currentCallControlProps) === null || _props$controlProps3$ === void 0 ? void 0 : (_props$controlProps3$2 = _props$controlProps3$.nonActionIds) === null || _props$controlProps3$2 === void 0 ? void 0 : _props$controlProps3$2.selfVideoTileId) ?? "selfVideo",
345
322
  remoteVideoTileId: (props === null || props === void 0 ? void 0 : (_props$controlProps4 = props.controlProps) === null || _props$controlProps4 === void 0 ? void 0 : (_props$controlProps4$ = _props$controlProps4.currentCallControlProps) === null || _props$controlProps4$ === void 0 ? void 0 : (_props$controlProps4$2 = _props$controlProps4$.nonActionIds) === null || _props$controlProps4$2 === void 0 ? void 0 : _props$controlProps4$2.remoteVideoTileId) ?? "remoteVideo"
346
323
  },
@@ -355,7 +332,6 @@ const CallingContainerStateful = props => {
355
332
  styleProps: props === null || props === void 0 ? void 0 : props.styleProps
356
333
  }));
357
334
  };
358
-
359
335
  exports.CallingContainerStateful = CallingContainerStateful;
360
336
  var _default = CallingContainerStateful;
361
337
  exports.default = _default;
@@ -4,60 +4,49 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.ChatButtonStateful = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
-
14
10
  var _Constants = require("../../common/Constants");
15
-
16
11
  var _utils = require("../../common/utils");
17
-
18
12
  var _ConversationState = require("../../contexts/common/ConversationState");
19
-
20
13
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
21
-
22
14
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
23
-
24
15
  var _TelemetryManager = require("../../common/telemetry/TelemetryManager");
25
-
26
16
  var _defaultOutOfOfficeChatButtonStyleProps = require("./common/styleProps/defaultOutOfOfficeChatButtonStyleProps");
27
-
28
17
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
29
-
30
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
21
  const ChatButtonStateful = props => {
37
- var _state$domainStates$l, _state$domainStates$l2, _buttonProps$controlP;
38
-
22
+ var _state$domainStates$l, _state$domainStates$l2, _buttonProps$controlP, _props$buttonProps, _props$buttonProps$co, _props$buttonProps2, _props$buttonProps2$c, _props$buttonProps3, _props$buttonProps3$c;
39
23
  const [state, dispatch] = (0, _useChatContextStore.default)();
40
24
  const {
41
25
  buttonProps,
42
26
  outOfOfficeButtonProps,
43
27
  startChat
44
- } = props; //Setting OutOfOperatingHours Flag
45
-
28
+ } = props;
29
+ //Setting OutOfOperatingHours Flag
46
30
  const [outOfOperatingHours, setOutOfOperatingHours] = (0, _react.useState)(((_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.OutOfOperatingHours) === "True");
31
+ const proactiveChatInNewWindow = (0, _react.useRef)(state.appStates.proactiveChatStates.proactiveChatInNewWindow);
47
32
  const outOfOfficeStyleProps = Object.assign({}, _defaultOutOfOfficeChatButtonStyleProps.defaultOutOfOfficeChatButtonStyleProps, outOfOfficeButtonProps === null || outOfOfficeButtonProps === void 0 ? void 0 : outOfOfficeButtonProps.styleProps);
48
33
  const controlProps = {
49
34
  id: "oc-lcw-chat-button",
50
35
  dir: state.domainStates.globalDir,
51
36
  titleText: "Let's Chat!",
52
37
  subtitleText: "We're online.",
53
- hideNotificationBubble: !(state.appStates.isMinimized === true && state.appStates.unreadMessageCount > 0) || (buttonProps === null || buttonProps === void 0 ? void 0 : (_buttonProps$controlP = buttonProps.controlProps) === null || _buttonProps$controlP === void 0 ? void 0 : _buttonProps$controlP.hideNotificationBubble) === true,
54
- unreadMessageCount: state.appStates.unreadMessageCount ? state.appStates.unreadMessageCount > _Constants.Constants.maximumUnreadMessageCount ? _Constants.Constants.maximumUnreadMessageCount.toString() + "+" : state.appStates.unreadMessageCount.toString() : "0",
38
+ hideNotificationBubble: (buttonProps === null || buttonProps === void 0 ? void 0 : (_buttonProps$controlP = buttonProps.controlProps) === null || _buttonProps$controlP === void 0 ? void 0 : _buttonProps$controlP.hideNotificationBubble) === true || state.appStates.isMinimized === false,
39
+ unreadMessageCount: state.appStates.unreadMessageCount ? state.appStates.unreadMessageCount > _Constants.Constants.maximumUnreadMessageCount ? (_props$buttonProps = props.buttonProps) === null || _props$buttonProps === void 0 ? void 0 : (_props$buttonProps$co = _props$buttonProps.controlProps) === null || _props$buttonProps$co === void 0 ? void 0 : _props$buttonProps$co.largeUnreadMessageString : state.appStates.unreadMessageCount.toString() : "0",
55
40
  onClick: async () => {
56
41
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
57
42
  Event: _TelemetryConstants.TelemetryEvent.LCWChatButtonClicked
58
43
  });
59
-
60
- if (state.appStates.isMinimized) {
44
+ if (proactiveChatInNewWindow.current) {
45
+ const proactiveChatIsInPopoutModeEvent = {
46
+ eventName: _TelemetryConstants.BroadcastEvent.ProactiveChatIsInPopoutMode
47
+ };
48
+ _omnichannelChatComponents.BroadcastService.postMessage(proactiveChatIsInPopoutModeEvent);
49
+ } else if (state.appStates.isMinimized) {
61
50
  dispatch({
62
51
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
63
52
  payload: false
@@ -66,6 +55,7 @@ const ChatButtonStateful = props => {
66
55
  await startChat();
67
56
  }
68
57
  },
58
+ unreadMessageString: (_props$buttonProps2 = props.buttonProps) === null || _props$buttonProps2 === void 0 ? void 0 : (_props$buttonProps2$c = _props$buttonProps2.controlProps) === null || _props$buttonProps2$c === void 0 ? void 0 : _props$buttonProps2$c.unreadMessageString,
69
59
  ...(buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.controlProps)
70
60
  };
71
61
  const outOfOfficeControlProps = {
@@ -74,6 +64,9 @@ const ChatButtonStateful = props => {
74
64
  titleText: "We're Offline",
75
65
  subtitleText: "No agents available",
76
66
  onClick: async () => {
67
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
68
+ Event: _TelemetryConstants.TelemetryEvent.LCWChatButtonClicked
69
+ });
77
70
  if (state.appStates.isMinimized) {
78
71
  dispatch({
79
72
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
@@ -86,18 +79,17 @@ const ChatButtonStateful = props => {
86
79
  });
87
80
  }
88
81
  },
82
+ unreadMessageString: (_props$buttonProps3 = props.buttonProps) === null || _props$buttonProps3 === void 0 ? void 0 : (_props$buttonProps3$c = _props$buttonProps3.controlProps) === null || _props$buttonProps3$c === void 0 ? void 0 : _props$buttonProps3$c.unreadMessageString,
89
83
  ...(outOfOfficeButtonProps === null || outOfOfficeButtonProps === void 0 ? void 0 : outOfOfficeButtonProps.controlProps)
90
84
  };
91
85
  (0, _react.useEffect)(() => {
92
86
  if (state.appStates.outsideOperatingHours) {
93
87
  setOutOfOperatingHours(true);
94
88
  }
95
-
96
89
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
97
90
  Event: _TelemetryConstants.TelemetryEvent.LCWChatButtonShow,
98
91
  ElapsedTimeInMilliseconds: _TelemetryManager.TelemetryTimers.LcwLoadToChatButtonTimer.milliSecondsElapsed
99
92
  });
100
-
101
93
  if (state.uiStates.focusChatButton) {
102
94
  (0, _utils.setFocusOnElement)(document.getElementById((controlProps === null || controlProps === void 0 ? void 0 : controlProps.id) ?? "oc-lcw-chat-button"));
103
95
  } else {
@@ -107,13 +99,15 @@ const ChatButtonStateful = props => {
107
99
  });
108
100
  }
109
101
  }, []);
102
+ (0, _react.useEffect)(() => {
103
+ proactiveChatInNewWindow.current = state.appStates.proactiveChatStates.proactiveChatInNewWindow;
104
+ }, [state.appStates.proactiveChatStates.proactiveChatInNewWindow]);
110
105
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.ChatButton, {
111
106
  componentOverrides: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.componentOverrides,
112
107
  controlProps: outOfOperatingHours ? outOfOfficeControlProps : controlProps,
113
108
  styleProps: outOfOperatingHours ? outOfOfficeStyleProps : buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.styleProps
114
109
  });
115
110
  };
116
-
117
111
  exports.ChatButtonStateful = ChatButtonStateful;
118
112
  var _default = ChatButtonStateful;
119
113
  exports.default = _default;
@@ -7,6 +7,9 @@ exports.defaultOutOfOfficeChatButtonStyleProps = void 0;
7
7
  const defaultOutOfOfficeChatButtonStyleProps = {
8
8
  iconStyleProps: {
9
9
  backgroundColor: "#000000"
10
+ },
11
+ subtitleStyleProps: {
12
+ margin: "0px 10px 0px 10px"
10
13
  }
11
14
  };
12
15
  exports.defaultOutOfOfficeChatButtonStyleProps = defaultOutOfOfficeChatButtonStyleProps;
@@ -4,109 +4,45 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.ConfirmationPaneStateful = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
-
8
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
10
9
  var _react = _interopRequireWildcard(require("react"));
11
-
12
10
  var _utils = require("../../common/utils");
13
-
14
- var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
15
-
16
- var _Constants = require("../../common/Constants");
17
-
18
- var _ConversationState = require("../../contexts/common/ConversationState");
19
-
20
11
  var _DimLayer = require("../dimlayer/DimLayer");
21
-
22
12
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
23
-
24
13
  var _NotificationHandler = require("../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
25
-
26
14
  var _NotificationScenarios = require("../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
27
-
28
- var _PostChatSurveyMode = require("../postchatsurveypanestateful/enums/PostChatSurveyMode");
29
-
30
15
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
31
-
32
16
  var _useChatAdapterStore = _interopRequireDefault(require("../../hooks/useChatAdapterStore"));
33
-
34
17
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
35
-
36
- var _useChatSDKStore = _interopRequireDefault(require("../../hooks/useChatSDKStore"));
37
-
38
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
-
40
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
-
42
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
-
44
21
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
22
  const ConfirmationPaneStateful = props => {
46
- var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4;
47
-
48
23
  const initialTabIndexMap = new Map();
49
24
  let elements = [];
50
25
  const [state, dispatch] = (0, _useChatContextStore.default)();
51
26
  const {
52
- setPostChatContext,
53
- endChat
54
- } = props; // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
-
56
- const chatSDK = (0, _useChatSDKStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
-
27
+ prepareEndChat
28
+ } = props;
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
30
  const [adapter] = (0, _useChatAdapterStore.default)();
59
- 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;
60
- 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;
61
31
  const controlProps = {
62
32
  id: "oc-lcw-confirmation-pane",
63
33
  dir: state.domainStates.globalDir,
64
34
  onConfirm: async () => {
65
- _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.INFO, {
35
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
66
36
  Event: _TelemetryConstants.TelemetryEvent.ConfirmationConfirmButtonClicked,
67
37
  Description: "Confirmation pane Confirm button clicked"
68
38
  });
69
-
70
39
  dispatch({
71
40
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
72
41
  payload: false
73
42
  });
74
-
75
43
  try {
76
- //ToDo: End Chat before PostChat Context and conversation Details is set once the getPostChatContext request ID fetch issue is fixed
77
- const conversationDetails = await chatSDK.getConversationDetails(); // ToDo: Replace with CanRenderPostChat once available in conversationDetails API response
78
-
79
- if (isPostChatEnabled === "true" && postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed && conversationDetails.canRenderPostChat === _Constants.Constants.truePascal) {
80
- dispatch({
81
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOULD_SHOW_POST_CHAT,
82
- payload: true
83
- });
84
- dispatch({
85
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
86
- payload: _ConversationState.ConversationState.Loading
87
- });
88
- await setPostChatContext();
89
-
90
- if (state.domainStates.postChatContext) {
91
- dispatch({
92
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
93
- payload: _ConversationState.ConversationState.Postchat
94
- });
95
- }
96
- } else {
97
- (0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
98
-
99
- try {
100
- await endChat(adapter);
101
- } catch (error) {
102
- _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
103
- Event: _TelemetryConstants.TelemetryEvent.CloseChatMethodException,
104
- ExceptionDetails: {
105
- exception: `Failed to endChat: ${error}`
106
- }
107
- });
108
- }
109
- }
44
+ (0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
45
+ await prepareEndChat(adapter, state);
110
46
  } catch (ex) {
111
47
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
112
48
  Event: _TelemetryConstants.TelemetryEvent.GetConversationDetailsCallFailed,
@@ -114,53 +50,47 @@ const ConfirmationPaneStateful = props => {
114
50
  exception: `Get Conversation Details Call Failed : ${ex}`
115
51
  }
116
52
  });
117
-
118
53
  _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.Connection, "Get Conversation Details Call Failed: " + ex);
119
54
  }
120
55
  },
121
56
  onCancel: () => {
122
- _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.INFO, {
57
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
123
58
  Event: _TelemetryConstants.TelemetryEvent.ConfirmationCancelButtonClicked,
124
59
  Description: "Confirmation pane Cancel button clicked."
125
60
  });
126
-
127
61
  dispatch({
128
62
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
129
63
  payload: false
130
64
  });
131
- const previousFocused = state.appStates.previousElementOnFocusBeforeModalOpen;
132
-
133
- if (previousFocused) {
134
- (0, _utils.setFocusOnElement)(previousFocused);
65
+ const previousFocusedElementId = state.appStates.previousElementIdOnFocusBeforeModalOpen;
66
+ if (previousFocusedElementId) {
67
+ (0, _utils.setFocusOnElement)("#" + previousFocusedElementId);
135
68
  dispatch({
136
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT,
69
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT_ID,
137
70
  payload: null
138
71
  });
139
72
  } else {
140
73
  (0, _utils.setFocusOnSendBox)();
141
74
  }
142
-
143
75
  (0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
144
76
  },
145
77
  ...(props === null || props === void 0 ? void 0 : props.controlProps)
146
- }; // Move focus to the first button
78
+ };
147
79
 
80
+ // Move focus to the first button
148
81
  (0, _react.useEffect)(() => {
149
82
  (0, _utils.preventFocusToMoveOutOfElement)(controlProps.id);
150
83
  const focusableElements = (0, _utils.findAllFocusableElement)(`#${controlProps.id}`);
151
-
152
84
  if (focusableElements) {
153
85
  focusableElements[0].focus();
154
86
  }
155
-
156
87
  elements = (0, _utils.findParentFocusableElementsWithoutChildContainer)(controlProps.id);
157
88
  (0, _utils.setTabIndices)(elements, initialTabIndexMap, false);
158
-
159
89
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
160
90
  Event: _TelemetryConstants.TelemetryEvent.ConfirmationPaneLoaded
161
91
  });
162
92
  }, []);
163
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !(controlProps !== null && controlProps !== void 0 && controlProps.disableDimLayer) && /*#__PURE__*/_react.default.createElement(_DimLayer.DimLayer, {
93
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_DimLayer.DimLayer, {
164
94
  brightness: (controlProps === null || controlProps === void 0 ? void 0 : controlProps.brightnessValueOnDim) ?? "0.2"
165
95
  }), /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.ConfirmationPane, {
166
96
  componentOverrides: props === null || props === void 0 ? void 0 : props.componentOverrides,
@@ -168,7 +98,6 @@ const ConfirmationPaneStateful = props => {
168
98
  styleProps: props === null || props === void 0 ? void 0 : props.styleProps
169
99
  }));
170
100
  };
171
-
172
101
  exports.ConfirmationPaneStateful = ConfirmationPaneStateful;
173
102
  var _default = ConfirmationPaneStateful;
174
103
  exports.default = _default;
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DimLayer = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  const DimLayer = _ref => {
13
10
  let {
14
11
  brightness
@@ -27,5 +24,4 @@ const DimLayer = _ref => {
27
24
  style: defaultDimLayerStyles
28
25
  });
29
26
  };
30
-
31
27
  exports.DimLayer = DimLayer;