@microsoft/omnichannel-chat-widget 0.1.0-main.63cfb47 → 0.1.0-main.6d898a1

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