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

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