@microsoft/omnichannel-chat-widget 0.1.0-main.bcfe8a3 → 0.1.0-main.bda05f5

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 (305) hide show
  1. package/lib/cjs/assets/Icons.js +4 -2
  2. package/lib/cjs/common/Constants.js +26 -169
  3. package/lib/cjs/common/KeyCodes.js +3 -4
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -5
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -0
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +111 -0
  7. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  8. package/lib/cjs/common/telemetry/TelemetryConstants.js +37 -23
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +21 -59
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +3 -32
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  14. package/lib/cjs/common/utils.js +65 -93
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +5 -23
  17. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  18. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -33
  19. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  20. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -37
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  22. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  23. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  24. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -45
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  26. package/lib/cjs/components/headerstateful/HeaderStateful.js +20 -32
  27. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  28. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +39 -0
  29. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +20 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
  32. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +64 -0
  33. package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -0
  34. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  35. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  36. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  37. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  38. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  39. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  40. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +122 -49
  41. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  42. package/lib/cjs/components/livechatwidget/common/endChat.js +92 -45
  43. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  44. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  45. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  46. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +34 -66
  47. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +76 -129
  48. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  49. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
  50. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  51. package/lib/cjs/components/livechatwidget/common/startChat.js +249 -126
  52. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  53. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  54. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  55. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +274 -252
  56. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
  57. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  58. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  59. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  60. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  61. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  62. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  63. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  64. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  65. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -43
  66. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  67. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +3 -33
  68. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  69. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +29 -34
  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/webchatcontroller/BotMagicCodeStore.js +3 -5
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -61
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  121. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  122. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  123. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  124. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  125. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -28
  126. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +14 -13
  127. package/lib/cjs/contexts/createReducer.js +159 -105
  128. package/lib/cjs/controller/componentController.js +4 -33
  129. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  130. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  131. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  132. package/lib/cjs/index.js +0 -5
  133. package/lib/cjs/plugins/newMessageEventHandler.js +19 -36
  134. package/lib/esm/assets/Icons.js +2 -1
  135. package/lib/esm/common/Constants.js +23 -156
  136. package/lib/esm/common/KeyCodes.js +3 -3
  137. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
  138. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  139. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +104 -0
  140. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  141. package/lib/esm/common/telemetry/TelemetryConstants.js +41 -20
  142. package/lib/esm/common/telemetry/TelemetryHelper.js +21 -47
  143. package/lib/esm/common/telemetry/TelemetryManager.js +3 -19
  144. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  145. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  146. package/lib/esm/common/utils.js +60 -50
  147. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  148. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +5 -6
  149. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  150. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +10 -14
  151. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -16
  152. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  153. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  154. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
  155. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  156. package/lib/esm/components/headerstateful/HeaderStateful.js +20 -17
  157. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  158. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
  159. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  160. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  161. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  162. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  163. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
  164. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  165. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  166. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  167. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  168. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  169. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  170. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +123 -35
  171. package/lib/esm/components/livechatwidget/common/endChat.js +94 -30
  172. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  173. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  174. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  175. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +37 -33
  176. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +77 -111
  177. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  178. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  179. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  180. package/lib/esm/components/livechatwidget/common/startChat.js +247 -102
  181. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  182. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  183. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +278 -190
  184. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  185. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  186. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  187. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  188. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  189. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  190. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  191. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  192. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  193. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +14 -27
  194. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  195. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +5 -9
  196. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  197. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +27 -9
  198. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  199. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  200. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  201. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  202. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -13
  203. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  204. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
  205. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  206. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -3
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  249. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  250. package/lib/esm/contexts/ChatContextStore.js +2 -1
  251. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  252. package/lib/esm/contexts/common/ConversationState.js +3 -3
  253. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -28
  254. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +14 -9
  255. package/lib/esm/contexts/createReducer.js +159 -102
  256. package/lib/esm/controller/componentController.js +5 -4
  257. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  258. package/lib/esm/hooks/useChatContextStore.js +0 -4
  259. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  260. package/lib/esm/plugins/newMessageEventHandler.js +19 -26
  261. package/lib/types/assets/Icons.d.ts +1 -0
  262. package/lib/types/common/Constants.d.ts +16 -0
  263. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  264. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  265. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  266. package/lib/types/common/telemetry/TelemetryConstants.d.ts +24 -5
  267. package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
  268. package/lib/types/common/telemetry/definitions/Payload.d.ts +1 -0
  269. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +4 -0
  270. package/lib/types/common/utils.d.ts +7 -3
  271. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  272. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  273. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  274. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  275. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  276. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  277. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  278. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  279. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  280. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -7
  281. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  282. package/lib/types/components/livechatwidget/common/startChat.d.ts +6 -2
  283. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +3 -1
  284. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -2
  285. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  286. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  287. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  288. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  289. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  290. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -2
  291. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  292. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  293. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  294. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  295. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  296. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  297. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  298. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  299. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  300. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  301. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  302. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -3
  303. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -27
  304. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  305. package/package.json +5 -4
@@ -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",
@@ -339,7 +332,8 @@ const dummyDefaultProps = {
339
332
  hideChatTitle: false,
340
333
  hideNotificationBubble: true,
341
334
  unreadMessageString: "new messages",
342
- largeUnreadMessageString: "99+"
335
+ largeUnreadMessageString: "99+",
336
+ ariaLabelUnreadMessageString: "you have new messages"
343
337
  },
344
338
  styleProps: {
345
339
  generalStyleProps: {
@@ -419,6 +413,7 @@ const dummyDefaultProps = {
419
413
  width: "90px",
420
414
  cursor: "pointer",
421
415
  overflow: "hidden",
416
+ padding: "0px",
422
417
  whiteSpace: "nowrap"
423
418
  },
424
419
  subtitleStyleProps: {
@@ -426,6 +421,7 @@ const dummyDefaultProps = {
426
421
  fontWeight: "200",
427
422
  color: "#666",
428
423
  overflow: "hidden",
424
+ padding: "0px",
429
425
  fontFamily: "'Segoe UI',Arial,sans-serif",
430
426
  display: "block",
431
427
  alignItems: "center",
@@ -481,28 +477,30 @@ const dummyDefaultProps = {
481
477
  cancelButtonText: "Cancel",
482
478
  cancelButtonAriaLabel: "Cancel. Return to Chat",
483
479
  brightnessValueOnDim: "0.2",
484
- disableDimLayer: false,
485
480
  onConfirm: () => {},
486
481
  // Detailed implementation omitted
487
482
  onCancel: () => {} // Detailed implementation omitted
488
-
489
483
  },
484
+
490
485
  styleProps: {
491
486
  generalStyleProps: {
487
+ display: "flex",
488
+ minHeight: "160px",
489
+ maxHeight: "300px",
490
+ boxSizing: "border-box",
492
491
  backgroundColor: "#FFFFFF",
493
492
  borderRadius: "2px",
494
493
  color: "black",
495
494
  fontFamily: "Segoe UI, Arial, sans-serif",
496
495
  fontSize: "14px",
497
- height: "160px",
498
496
  padding: "10px 20px",
499
- width: "262px",
500
497
  position: "absolute",
501
498
  justifyContent: "center",
502
499
  alignItems: "center",
503
- display: "flex",
504
500
  flexFlow: "column",
505
- zIndex: "9999"
501
+ zIndex: "9999",
502
+ left: "26px",
503
+ right: "26px"
506
504
  },
507
505
  titleStyleProps: {
508
506
  color: "#323130",
@@ -524,10 +522,14 @@ const dummyDefaultProps = {
524
522
  },
525
523
  buttonGroupStyleProps: {
526
524
  display: "flex",
525
+ width: "auto",
526
+ height: "auto",
527
+ boxSizing: "border-box",
527
528
  flexFlow: "row",
528
529
  justifyContent: "center",
529
530
  alignItems: "center",
530
- gap: "10px"
531
+ gap: "10px",
532
+ marginBottom: "10px"
531
533
  },
532
534
  confirmButtonStyleProps: {
533
535
  backgroundColor: "rgba(9,72,159,1)",
@@ -591,7 +593,7 @@ const dummyDefaultProps = {
591
593
  hideProactiveChatPane: false,
592
594
  hideReconnectChatPane: false,
593
595
  hideWebChatContainer: false,
594
- skipChatButtonRendering: false
596
+ hideStartChatButton: false
595
597
  },
596
598
  directLine: new _mockadapter.default(),
597
599
  downloadTranscriptProps: {
@@ -632,7 +634,6 @@ const dummyDefaultProps = {
632
634
  cancelButtonText: "Cancel",
633
635
  cancelButtonAriaLabel: "Cancel",
634
636
  brightnessValueOnDim: "0.2",
635
- disableDimLayer: false,
636
637
  onSend: undefined,
637
638
  onCancel: undefined,
638
639
  checkInput: undefined
@@ -791,6 +792,7 @@ const dummyDefaultProps = {
791
792
  },
792
793
  audioNotificationButtonProps: {
793
794
  id: "oc-lcw-footer-audionotification-button",
795
+ type: "icon",
794
796
  ariaLabel: "Turn sound off",
795
797
  toggleAriaLabel: "Turn sound on",
796
798
  iconName: "Volume3",
@@ -816,8 +818,10 @@ const dummyDefaultProps = {
816
818
  padding: "0 10px 5px 10px"
817
819
  },
818
820
  downloadTranscriptButtonStyleProps: {
819
- color: "blue",
820
- fontSize: 16,
821
+ icon: {
822
+ color: "blue",
823
+ fontSize: 16
824
+ },
821
825
  height: "25px",
822
826
  lineHeight: "25px",
823
827
  width: "25px"
@@ -827,8 +831,10 @@ const dummyDefaultProps = {
827
831
  backgroundColor: "#C8C8C8"
828
832
  },
829
833
  emailTranscriptButtonStyleProps: {
830
- color: "blue",
831
- fontSize: 16,
834
+ cicon: {
835
+ color: "blue",
836
+ fontSize: 16
837
+ },
832
838
  height: "25px",
833
839
  lineHeight: "25px",
834
840
  width: "25px"
@@ -838,8 +844,10 @@ const dummyDefaultProps = {
838
844
  backgroundColor: "#C8C8C8"
839
845
  },
840
846
  audioNotificationButtonStyleProps: {
841
- color: "blue",
842
- fontSize: 16,
847
+ icon: {
848
+ color: "blue",
849
+ fontSize: 16
850
+ },
843
851
  height: "25px",
844
852
  lineHeight: "25px",
845
853
  width: "25px"
@@ -890,7 +898,7 @@ const dummyDefaultProps = {
890
898
  className: undefined
891
899
  },
892
900
  closeButtonProps: {
893
- id: "oc-lcw-header-minimize-button",
901
+ id: "oc-lcw-header-close-button",
894
902
  type: "icon",
895
903
  iconName: "ChromeClose",
896
904
  ariaLabel: "Close",
@@ -1069,8 +1077,8 @@ const dummyDefaultProps = {
1069
1077
  titleText: "We're Offline",
1070
1078
  subtitleText: "No agents available",
1071
1079
  onClick: () => {} // Detailed implementation omitted
1072
-
1073
1080
  },
1081
+
1074
1082
  styleProps: {
1075
1083
  // ...[Existing chat button style props]
1076
1084
  iconStyleProps: {
@@ -1088,8 +1096,8 @@ const dummyDefaultProps = {
1088
1096
  text: "We're Offline"
1089
1097
  },
1090
1098
  onMinimizeClick: () => {} // Detailed implementation omitted
1091
-
1092
1099
  },
1100
+
1093
1101
  styleProps: {
1094
1102
  // ...[Existing chat button style props]
1095
1103
  generalStyleProps: {
@@ -1115,7 +1123,8 @@ const dummyDefaultProps = {
1115
1123
  dir: "auto",
1116
1124
  hideOOOHPane: false,
1117
1125
  hideTitle: false,
1118
- 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
1119
1128
  },
1120
1129
  styleProps: {
1121
1130
  generalStyleProps: {
@@ -1158,7 +1167,7 @@ const dummyDefaultProps = {
1158
1167
  subtitleText: "Please take a moment to give us feedback about your chat experience. We are loading the survey for you now."
1159
1168
  },
1160
1169
  styleProps: {
1161
- // ...[Existing chat button style props]
1170
+ // ...[Existing loading pane style props]
1162
1171
  generalStyleProps: {
1163
1172
  position: "initial",
1164
1173
  width: "100%",
@@ -1186,6 +1195,48 @@ const dummyDefaultProps = {
1186
1195
  backgroundColor: "#FFFFFF",
1187
1196
  borderColor: "#F1F1F1"
1188
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: "0px",
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
+ }
1189
1240
  }
1190
1241
  },
1191
1242
  proactiveChatPaneProps: {
@@ -1206,7 +1257,17 @@ const dummyDefaultProps = {
1206
1257
  hideSubtitle: false,
1207
1258
  subtitleText: "Live chat support!",
1208
1259
  hideCloseButton: false,
1209
- 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
+ },
1210
1271
  isBodyContainerHorizantal: false,
1211
1272
  hideBodyTitle: false,
1212
1273
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -1216,8 +1277,8 @@ const dummyDefaultProps = {
1216
1277
  onClose: () => {},
1217
1278
  // Detailed implementation omitted
1218
1279
  onStart: () => {} // Detailed implementation omitted
1219
-
1220
1280
  },
1281
+
1221
1282
  styleProps: {
1222
1283
  generalStyleProps: {
1223
1284
  backgroundColor: "rgb(255, 255, 255)",
@@ -1348,8 +1409,8 @@ const dummyDefaultProps = {
1348
1409
  onStartNewChat: () => {},
1349
1410
  // Detailed implementation omitted
1350
1411
  onMinimize: () => {} // Detailed implementation omitted
1351
-
1352
1412
  },
1413
+
1353
1414
  styleProps: {
1354
1415
  generalStyleProps: {
1355
1416
  backgroundColor: "rgb(255, 255, 255)",
@@ -1434,8 +1495,6 @@ const dummyDefaultProps = {
1434
1495
  startNewChatButtonClassName: undefined
1435
1496
  }
1436
1497
  },
1437
- authClientFunction: undefined,
1438
- isReconnectEnabled: undefined,
1439
1498
  reconnectId: undefined,
1440
1499
  redirectInSameWindow: undefined
1441
1500
  },
@@ -1557,6 +1616,12 @@ const dummyDefaultProps = {
1557
1616
  lineHeight: "16px",
1558
1617
  padding: "0px 10px 0 10px"
1559
1618
  },
1619
+ userMessageBoxStyles: {
1620
+ maxWidth: "90%"
1621
+ },
1622
+ systemMessageBoxStyles: {
1623
+ maxWidth: "90%"
1624
+ },
1560
1625
  typingIndicatorStyleProps: {
1561
1626
  marginLeft: "10px",
1562
1627
  marginBottom: "5px",
@@ -1676,6 +1741,9 @@ const dummyDefaultProps = {
1676
1741
  },
1677
1742
  attachmentSizeStyles: {
1678
1743
  display: "none"
1744
+ },
1745
+ receivedMessageAnchorStyles: {
1746
+ color: "white"
1679
1747
  }
1680
1748
  },
1681
1749
  localizedTexts: {
@@ -1703,8 +1771,13 @@ const dummyDefaultProps = {
1703
1771
  botMagicCode: {
1704
1772
  disabled: false,
1705
1773
  fwdUrl: ""
1774
+ },
1775
+ adaptiveCardStyles: {
1776
+ background: "white",
1777
+ color: "black"
1706
1778
  }
1707
1779
  },
1708
- telemetryConfig: undefined
1780
+ telemetryConfig: undefined,
1781
+ getAuthToken: undefined
1709
1782
  };
1710
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;
@@ -4,77 +4,104 @@ 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
-
26
16
  var _utils = require("../../../common/utils");
27
-
17
+ var _authHelper = require("./authHelper");
28
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
19
  const prepareEndChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state) => {
30
- var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4;
31
-
20
+ var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _conversationDetails;
32
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;
33
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;
34
- const conversationDetails = await chatSDK.getConversationDetails();
35
23
 
36
- 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) {
37
54
  const skipEndChatSDK = false;
38
55
  const skipCloseChat = true;
39
- await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, true);
40
-
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
+ }
41
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);
42
69
  const loadPostChatEvent = {
43
70
  eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
44
71
  };
45
-
46
72
  _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
47
73
  } else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
74
+ var _props$webChatContain, _props$webChatContain2;
48
75
  dispatch({
49
76
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
50
77
  payload: _ConversationState.ConversationState.InActive
51
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
+ }
52
90
  }
53
- } else {
54
- await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
91
+ return;
55
92
  }
56
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
-
93
+ await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
94
+ };
58
95
 
96
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
97
  exports.prepareEndChat = prepareEndChat;
60
-
61
98
  const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
62
99
  if (!skipEndChatSDK) {
63
100
  try {
64
101
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
65
102
  Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCall
66
103
  });
67
-
68
- await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat()); // Need to clear these states immediately when chat ended from OC.
69
-
70
- dispatch({
71
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
72
- payload: undefined
73
- });
74
- dispatch({
75
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
76
- payload: undefined
77
- });
104
+ await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
78
105
  } catch (ex) {
79
106
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
80
107
  Event: _TelemetryConstants.TelemetryEvent.EndChatSDKCallFailed,
@@ -82,19 +109,35 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
82
109
  exception: ex
83
110
  }
84
111
  });
85
-
86
112
  postMessageToOtherTab = false;
87
113
  }
88
114
  }
89
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
+ });
90
133
  if (!skipCloseChat) {
91
134
  try {
92
- var _props$webChatContain;
93
-
135
+ var _props$webChatContain3;
94
136
  adapter === null || adapter === void 0 ? void 0 : adapter.end();
95
137
  setAdapter(undefined);
96
- setWebChatStyles({ ..._defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles,
97
- ...((_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)
98
141
  });
99
142
  _WebChatStoreLoader.WebChatStoreLoader.store = null;
100
143
  dispatch({
@@ -117,12 +160,17 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
117
160
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
118
161
  payload: 0
119
162
  });
120
-
163
+ dispatch({
164
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS,
165
+ payload: {
166
+ proactiveChatBodyTitle: "",
167
+ proactiveChatEnablePrechat: false,
168
+ proactiveChatInNewWindow: false
169
+ }
170
+ });
121
171
  if (postMessageToOtherTab) {
122
- var _chatSDK$omnichannelC, _chatSDK$omnichannelC2;
123
-
124
- 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);
125
-
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) ?? "");
126
174
  _omnichannelChatComponents.BroadcastService.postMessage({
127
175
  eventName: endChatEventName
128
176
  });
@@ -137,5 +185,4 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
137
185
  }
138
186
  }
139
187
  };
140
-
141
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;