@microsoft/omnichannel-chat-widget 0.1.0-main.d5846c0 → 0.1.0-main.d5a92f2

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 (309) hide show
  1. package/README.md +32 -0
  2. package/lib/cjs/assets/Icons.js +4 -2
  3. package/lib/cjs/common/Constants.js +28 -161
  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 +102 -0
  8. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  9. package/lib/cjs/common/telemetry/TelemetryConstants.js +44 -27
  10. package/lib/cjs/common/telemetry/TelemetryHelper.js +19 -58
  11. package/lib/cjs/common/telemetry/TelemetryManager.js +3 -32
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  13. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  14. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  15. package/lib/cjs/common/utils.js +65 -93
  16. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
  17. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +14 -26
  18. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  19. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -32
  20. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  22. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  23. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  24. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +14 -43
  26. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  27. package/lib/cjs/components/headerstateful/HeaderStateful.js +17 -31
  28. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  29. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +39 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +20 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  32. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
  33. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +64 -0
  34. package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -0
  35. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  36. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  37. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  38. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  39. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  40. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  41. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +70 -40
  42. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  43. package/lib/cjs/components/livechatwidget/common/endChat.js +95 -48
  44. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  45. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  46. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  47. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +32 -53
  48. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +78 -128
  49. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  50. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
  51. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  52. package/lib/cjs/components/livechatwidget/common/startChat.js +219 -122
  53. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  54. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  55. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  56. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +309 -216
  57. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
  58. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  59. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  60. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  61. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  62. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  63. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  64. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  65. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  66. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +10 -42
  67. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +3 -33
  68. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  69. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  71. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  72. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  73. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
  74. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -17
  75. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  76. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  77. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  78. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  79. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +12 -0
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -37
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  121. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  122. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  123. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  124. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  125. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  126. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -26
  127. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +13 -13
  128. package/lib/cjs/contexts/createReducer.js +164 -102
  129. package/lib/cjs/controller/componentController.js +4 -33
  130. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  131. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  132. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  133. package/lib/cjs/index.js +0 -5
  134. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  135. package/lib/esm/assets/Icons.js +2 -1
  136. package/lib/esm/common/Constants.js +25 -148
  137. package/lib/esm/common/KeyCodes.js +3 -3
  138. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
  139. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  140. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  141. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  142. package/lib/esm/common/telemetry/TelemetryConstants.js +48 -24
  143. package/lib/esm/common/telemetry/TelemetryHelper.js +19 -46
  144. package/lib/esm/common/telemetry/TelemetryManager.js +3 -19
  145. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  146. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  147. package/lib/esm/common/utils.js +60 -50
  148. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  149. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +16 -12
  150. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  151. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +9 -13
  152. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  153. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  154. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  155. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +14 -36
  156. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  157. package/lib/esm/components/headerstateful/HeaderStateful.js +17 -16
  158. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  159. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
  160. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  161. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  162. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  163. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  164. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
  165. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  166. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  167. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  168. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  169. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  170. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  171. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +72 -27
  172. package/lib/esm/components/livechatwidget/common/endChat.js +97 -32
  173. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  174. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  175. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  176. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +35 -22
  177. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +78 -110
  178. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  179. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  180. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  181. package/lib/esm/components/livechatwidget/common/startChat.js +219 -100
  182. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  183. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  184. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +314 -160
  185. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  186. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  187. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  188. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  189. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  190. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  191. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  192. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  193. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  194. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +13 -26
  195. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +5 -9
  196. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  197. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  198. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  199. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  200. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  201. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  202. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -13
  203. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  204. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  205. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  206. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  207. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  250. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  251. package/lib/esm/contexts/ChatContextStore.js +2 -1
  252. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  253. package/lib/esm/contexts/common/ConversationState.js +3 -3
  254. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -26
  255. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +13 -9
  256. package/lib/esm/contexts/createReducer.js +164 -99
  257. package/lib/esm/controller/componentController.js +5 -4
  258. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  259. package/lib/esm/hooks/useChatContextStore.js +0 -4
  260. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  261. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  262. package/lib/types/assets/Icons.d.ts +1 -0
  263. package/lib/types/common/Constants.d.ts +20 -0
  264. package/lib/types/common/interfaces/IContextDataStore.d.ts +1 -1
  265. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  266. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  267. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  268. package/lib/types/common/telemetry/TelemetryConstants.d.ts +31 -9
  269. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  270. package/lib/types/common/utils.d.ts +7 -3
  271. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  272. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  273. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  274. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  275. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  276. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  277. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  278. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  279. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  280. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -7
  281. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  282. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  283. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -1
  284. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -2
  285. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  286. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  287. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  288. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  289. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  290. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -2
  291. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  292. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  293. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  294. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  295. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  296. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  297. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  298. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  299. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  300. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  301. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  302. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  303. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  304. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  305. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  306. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +5 -3
  307. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -25
  308. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  309. package/package.json +5 -4
@@ -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,14 +169,12 @@ 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
  }
@@ -212,7 +185,6 @@ const CallingContainerStateful = props => {
212
185
  } else {
213
186
  voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.stopCall();
214
187
  }
215
-
216
188
  voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.close();
217
189
  dispatch({
218
190
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_E2VV_ENABLED,
@@ -231,11 +203,9 @@ const CallingContainerStateful = props => {
231
203
  onDeclineCallClick: (0, _react.useCallback)(async () => {
232
204
  try {
233
205
  voiceVideoCallingSdk.rejectCall();
234
-
235
206
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
236
207
  Event: _TelemetryConstants.TelemetryEvent.CallRejectClick
237
208
  }, callId);
238
-
239
209
  resetCallingStates(true);
240
210
  } catch (error) {
241
211
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.ERROR, {
@@ -251,7 +221,6 @@ const CallingContainerStateful = props => {
251
221
  voiceVideoCallingSdk.acceptCall({
252
222
  withVideo: false
253
223
  });
254
-
255
224
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
256
225
  Event: _TelemetryConstants.TelemetryEvent.VoiceCallAcceptButtonClick
257
226
  }, callId);
@@ -263,7 +232,6 @@ const CallingContainerStateful = props => {
263
232
  }
264
233
  }, callId);
265
234
  }
266
-
267
235
  dispatch({
268
236
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_INCOMING_CALL,
269
237
  payload: false
@@ -278,7 +246,6 @@ const CallingContainerStateful = props => {
278
246
  voiceVideoCallingSdk.acceptCall({
279
247
  withVideo: true
280
248
  });
281
-
282
249
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
283
250
  Event: _TelemetryConstants.TelemetryEvent.VideoCallAcceptButtonClick
284
251
  }, callId);
@@ -290,7 +257,6 @@ const CallingContainerStateful = props => {
290
257
  }
291
258
  }, callId);
292
259
  }
293
-
294
260
  dispatch({
295
261
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_INCOMING_CALL,
296
262
  payload: false
@@ -307,11 +273,9 @@ const CallingContainerStateful = props => {
307
273
  onEndCallClick: (0, _react.useCallback)(() => {
308
274
  try {
309
275
  voiceVideoCallingSdk.stopCall();
310
-
311
276
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
312
277
  Event: _TelemetryConstants.TelemetryEvent.EndCallButtonClick
313
278
  }, callId);
314
-
315
279
  resetCallingStates(true);
316
280
  } catch (error) {
317
281
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.ERROR, {
@@ -325,7 +289,6 @@ const CallingContainerStateful = props => {
325
289
  onMicCallClick: (0, _react.useCallback)(() => {
326
290
  try {
327
291
  voiceVideoCallingSdk.toggleMute();
328
-
329
292
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
330
293
  Event: _TelemetryConstants.TelemetryEvent.ToggleMuteButtonClick
331
294
  }, callId);
@@ -341,7 +304,6 @@ const CallingContainerStateful = props => {
341
304
  onVideoOffClick: (0, _react.useCallback)(() => {
342
305
  try {
343
306
  voiceVideoCallingSdk.toggleLocalVideo();
344
-
345
307
  _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
346
308
  Event: _TelemetryConstants.TelemetryEvent.ToggleCameraButtonClick
347
309
  }, callId);
@@ -354,7 +316,8 @@ const CallingContainerStateful = props => {
354
316
  }, callId);
355
317
  }
356
318
  }, []),
357
- 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),
358
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",
359
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"
360
323
  },
@@ -369,7 +332,6 @@ const CallingContainerStateful = props => {
369
332
  styleProps: props === null || props === void 0 ? void 0 : props.styleProps
370
333
  }));
371
334
  };
372
-
373
335
  exports.CallingContainerStateful = CallingContainerStateful;
374
336
  var _default = CallingContainerStateful;
375
337
  exports.default = _default;
@@ -4,46 +4,31 @@ 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",
@@ -51,17 +36,15 @@ const ChatButtonStateful = props => {
51
36
  titleText: "Let's Chat!",
52
37
  subtitleText: "We're online.",
53
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,
54
- unreadMessageCount: state.appStates.unreadMessageCount ? state.appStates.unreadMessageCount > _Constants.Constants.maximumUnreadMessageCount ? _Constants.Constants.maximumUnreadMessageCount.toString() + "+" : state.appStates.unreadMessageCount.toString() : "0",
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.proactiveChatStates.proactiveChatInNewWindow) {
44
+ if (proactiveChatInNewWindow.current) {
61
45
  const proactiveChatIsInPopoutModeEvent = {
62
46
  eventName: _TelemetryConstants.BroadcastEvent.ProactiveChatIsInPopoutMode
63
47
  };
64
-
65
48
  _omnichannelChatComponents.BroadcastService.postMessage(proactiveChatIsInPopoutModeEvent);
66
49
  } else if (state.appStates.isMinimized) {
67
50
  dispatch({
@@ -72,6 +55,7 @@ const ChatButtonStateful = props => {
72
55
  await startChat();
73
56
  }
74
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,
75
59
  ...(buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.controlProps)
76
60
  };
77
61
  const outOfOfficeControlProps = {
@@ -80,6 +64,9 @@ const ChatButtonStateful = props => {
80
64
  titleText: "We're Offline",
81
65
  subtitleText: "No agents available",
82
66
  onClick: async () => {
67
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
68
+ Event: _TelemetryConstants.TelemetryEvent.LCWChatButtonClicked
69
+ });
83
70
  if (state.appStates.isMinimized) {
84
71
  dispatch({
85
72
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
@@ -92,18 +79,17 @@ const ChatButtonStateful = props => {
92
79
  });
93
80
  }
94
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,
95
83
  ...(outOfOfficeButtonProps === null || outOfOfficeButtonProps === void 0 ? void 0 : outOfOfficeButtonProps.controlProps)
96
84
  };
97
85
  (0, _react.useEffect)(() => {
98
86
  if (state.appStates.outsideOperatingHours) {
99
87
  setOutOfOperatingHours(true);
100
88
  }
101
-
102
89
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
103
90
  Event: _TelemetryConstants.TelemetryEvent.LCWChatButtonShow,
104
91
  ElapsedTimeInMilliseconds: _TelemetryManager.TelemetryTimers.LcwLoadToChatButtonTimer.milliSecondsElapsed
105
92
  });
106
-
107
93
  if (state.uiStates.focusChatButton) {
108
94
  (0, _utils.setFocusOnElement)(document.getElementById((controlProps === null || controlProps === void 0 ? void 0 : controlProps.id) ?? "oc-lcw-chat-button"));
109
95
  } else {
@@ -113,13 +99,15 @@ const ChatButtonStateful = props => {
113
99
  });
114
100
  }
115
101
  }, []);
102
+ (0, _react.useEffect)(() => {
103
+ proactiveChatInNewWindow.current = state.appStates.proactiveChatStates.proactiveChatInNewWindow;
104
+ }, [state.appStates.proactiveChatStates.proactiveChatInNewWindow]);
116
105
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.ChatButton, {
117
106
  componentOverrides: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.componentOverrides,
118
107
  controlProps: outOfOperatingHours ? outOfOfficeControlProps : controlProps,
119
108
  styleProps: outOfOperatingHours ? outOfOfficeStyleProps : buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.styleProps
120
109
  });
121
110
  };
122
-
123
111
  exports.ChatButtonStateful = ChatButtonStateful;
124
112
  var _default = ChatButtonStateful;
125
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,35 +4,20 @@ 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
-
10
8
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _utils = require("../../common/utils");
15
-
16
11
  var _DimLayer = require("../dimlayer/DimLayer");
17
-
18
12
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
19
-
20
13
  var _NotificationHandler = require("../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
21
-
22
14
  var _NotificationScenarios = require("../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
23
-
24
15
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
25
-
26
16
  var _useChatAdapterStore = _interopRequireDefault(require("../../hooks/useChatAdapterStore"));
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
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
22
  const ConfirmationPaneStateful = props => {
38
23
  const initialTabIndexMap = new Map();
@@ -40,9 +25,8 @@ const ConfirmationPaneStateful = props => {
40
25
  const [state, dispatch] = (0, _useChatContextStore.default)();
41
26
  const {
42
27
  prepareEndChat
43
- } = props; // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ } = props;
44
29
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
-
46
30
  const [adapter] = (0, _useChatAdapterStore.default)();
47
31
  const controlProps = {
48
32
  id: "oc-lcw-confirmation-pane",
@@ -52,12 +36,10 @@ const ConfirmationPaneStateful = props => {
52
36
  Event: _TelemetryConstants.TelemetryEvent.ConfirmationConfirmButtonClicked,
53
37
  Description: "Confirmation pane Confirm button clicked"
54
38
  });
55
-
56
39
  dispatch({
57
40
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
58
41
  payload: false
59
42
  });
60
-
61
43
  try {
62
44
  (0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
63
45
  await prepareEndChat(adapter, state);
@@ -68,7 +50,6 @@ const ConfirmationPaneStateful = props => {
68
50
  exception: `Get Conversation Details Call Failed : ${ex}`
69
51
  }
70
52
  });
71
-
72
53
  _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.Connection, "Get Conversation Details Call Failed: " + ex);
73
54
  }
74
55
  },
@@ -77,39 +58,34 @@ const ConfirmationPaneStateful = props => {
77
58
  Event: _TelemetryConstants.TelemetryEvent.ConfirmationCancelButtonClicked,
78
59
  Description: "Confirmation pane Cancel button clicked."
79
60
  });
80
-
81
61
  dispatch({
82
62
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
83
63
  payload: false
84
64
  });
85
- const previousFocused = state.appStates.previousElementOnFocusBeforeModalOpen;
86
-
87
- if (previousFocused) {
88
- (0, _utils.setFocusOnElement)(previousFocused);
65
+ const previousFocusedElementId = state.appStates.previousElementIdOnFocusBeforeModalOpen;
66
+ if (previousFocusedElementId) {
67
+ (0, _utils.setFocusOnElement)("#" + previousFocusedElementId);
89
68
  dispatch({
90
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT,
69
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT_ID,
91
70
  payload: null
92
71
  });
93
72
  } else {
94
73
  (0, _utils.setFocusOnSendBox)();
95
74
  }
96
-
97
75
  (0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
98
76
  },
99
77
  ...(props === null || props === void 0 ? void 0 : props.controlProps)
100
- }; // Move focus to the first button
78
+ };
101
79
 
80
+ // Move focus to the first button
102
81
  (0, _react.useEffect)(() => {
103
82
  (0, _utils.preventFocusToMoveOutOfElement)(controlProps.id);
104
83
  const focusableElements = (0, _utils.findAllFocusableElement)(`#${controlProps.id}`);
105
-
106
84
  if (focusableElements) {
107
85
  focusableElements[0].focus();
108
86
  }
109
-
110
87
  elements = (0, _utils.findParentFocusableElementsWithoutChildContainer)(controlProps.id);
111
88
  (0, _utils.setTabIndices)(elements, initialTabIndexMap, false);
112
-
113
89
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
114
90
  Event: _TelemetryConstants.TelemetryEvent.ConfirmationPaneLoaded
115
91
  });
@@ -122,7 +98,6 @@ const ConfirmationPaneStateful = props => {
122
98
  styleProps: props === null || props === void 0 ? void 0 : props.styleProps
123
99
  }));
124
100
  };
125
-
126
101
  exports.ConfirmationPaneStateful = ConfirmationPaneStateful;
127
102
  var _default = ConfirmationPaneStateful;
128
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;
@@ -4,67 +4,46 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.EmailTranscriptPaneStateful = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _utils = require("../../common/utils");
13
-
14
10
  var _DimLayer = require("../dimlayer/DimLayer");
15
-
16
11
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
17
-
18
12
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
19
-
20
13
  var _NotificationHandler = require("../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
21
-
22
14
  var _NotificationScenarios = require("../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
23
-
24
15
  var _Constants = require("../../common/Constants");
25
-
26
16
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
27
-
28
17
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
29
-
30
18
  var _useChatSDKStore = _interopRequireDefault(require("../../hooks/useChatSDKStore"));
31
-
32
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
-
34
20
  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); }
35
-
36
21
  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; }
37
-
38
22
  const EmailTranscriptPaneStateful = props => {
39
23
  var _props$controlProps;
40
-
41
24
  const initialTabIndexMap = new Map();
42
25
  let elements = [];
43
- const [state, dispatch] = (0, _useChatContextStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
-
26
+ const [state, dispatch] = (0, _useChatContextStore.default)();
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
28
  const chatSDK = (0, _useChatSDKStore.default)();
46
29
  const [initialEmail, setInitialEmail] = (0, _react.useState)("");
47
-
48
30
  const closeEmailTranscriptPane = () => {
49
31
  dispatch({
50
32
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_EMAIL_TRANSCRIPT_PANE,
51
33
  payload: false
52
34
  });
53
- const previousFocused = state.appStates.previousElementOnFocusBeforeModalOpen;
54
-
55
- if (previousFocused) {
56
- (0, _utils.setFocusOnElement)(previousFocused);
35
+ const previousFocusedElementId = state.appStates.previousElementIdOnFocusBeforeModalOpen;
36
+ if (previousFocusedElementId) {
37
+ (0, _utils.setFocusOnElement)("#" + previousFocusedElementId);
57
38
  } else {
58
39
  (0, _utils.setFocusOnSendBox)();
59
40
  }
60
-
61
41
  dispatch({
62
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT,
42
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT_ID,
63
43
  payload: null
64
44
  });
65
45
  (0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
66
46
  };
67
-
68
47
  const controlProps = {
69
48
  id: "oclcw-emailTranscriptDialogContainer",
70
49
  dir: state.domainStates.globalDir,
@@ -74,10 +53,8 @@ const EmailTranscriptPaneStateful = props => {
74
53
  emailAddress: email,
75
54
  attachmentMessage: (props === null || props === void 0 ? void 0 : props.attachmentMessage) ?? "The following attachment was uploaded during the conversation:"
76
55
  };
77
-
78
56
  try {
79
57
  await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.emailLiveChatTranscript(chatTranscriptBody));
80
-
81
58
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
82
59
  Event: _TelemetryConstants.TelemetryEvent.EmailTranscriptSent,
83
60
  Description: "Transcript sent to email successfully."
@@ -89,7 +66,6 @@ const EmailTranscriptPaneStateful = props => {
89
66
  exception: ex
90
67
  }
91
68
  });
92
-
93
69
  _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.EmailTranscriptError, (props === null || props === void 0 ? void 0 : props.bannerMessageOnError) ?? "Email transcript to " + email + " failed.");
94
70
  }
95
71
  },
@@ -98,7 +74,6 @@ const EmailTranscriptPaneStateful = props => {
98
74
  Event: _TelemetryConstants.TelemetryEvent.EmailTranscriptCancelButtonClicked,
99
75
  Description: "Email Transcript cancel button clicked."
100
76
  });
101
-
102
77
  closeEmailTranscriptPane();
103
78
  },
104
79
  checkInput: function (input) {
@@ -106,20 +81,18 @@ const EmailTranscriptPaneStateful = props => {
106
81
  },
107
82
  ...props.controlProps,
108
83
  inputInitialText: ((_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.inputInitialText) ?? initialEmail
109
- }; // Move focus to the first button
84
+ };
110
85
 
86
+ // Move focus to the first button
111
87
  (0, _react.useEffect)(() => {
112
88
  (0, _utils.preventFocusToMoveOutOfElement)(controlProps.id);
113
89
  const focusableElements = (0, _utils.findAllFocusableElement)(`#${controlProps.id}`);
114
-
115
90
  if (focusableElements) {
116
91
  focusableElements[0].focus();
117
92
  }
118
-
119
93
  elements = (0, _utils.findParentFocusableElementsWithoutChildContainer)(controlProps.id);
120
94
  (0, _utils.setTabIndices)(elements, initialTabIndexMap, false);
121
95
  setInitialEmail(state.appStates.preChatResponseEmail);
122
-
123
96
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
124
97
  Event: _TelemetryConstants.TelemetryEvent.EmailTranscriptLoaded
125
98
  });
@@ -132,7 +105,6 @@ const EmailTranscriptPaneStateful = props => {
132
105
  styleProps: props.styleProps
133
106
  }));
134
107
  };
135
-
136
108
  exports.EmailTranscriptPaneStateful = EmailTranscriptPaneStateful;
137
109
  var _default = EmailTranscriptPaneStateful;
138
110
  exports.default = _default;