@microsoft/omnichannel-chat-widget 0.1.0-main.eb80fb1 → 0.1.0-main.ebfc563

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 (325) hide show
  1. package/README.md +35 -11
  2. package/lib/cjs/assets/Icons.js +4 -2
  3. package/lib/cjs/common/Constants.js +54 -153
  4. package/lib/cjs/common/KeyCodes.js +3 -4
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -5
  6. package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -0
  7. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +111 -0
  8. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  9. package/lib/cjs/common/telemetry/TelemetryConstants.js +85 -24
  10. package/lib/cjs/common/telemetry/TelemetryHelper.js +31 -56
  11. package/lib/cjs/common/telemetry/TelemetryManager.js +17 -35
  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 +13 -71
  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 +26 -35
  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 -44
  41. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  42. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +132 -61
  43. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  44. package/lib/cjs/components/livechatwidget/common/endChat.js +167 -61
  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 +50 -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 +3 -15
  52. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  53. package/lib/cjs/components/livechatwidget/common/startChat.js +287 -90
  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 +354 -170
  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 +12 -45
  68. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  69. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -35
  70. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  71. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  72. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  73. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  74. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  75. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
  76. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +9 -16
  77. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  78. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -15
  79. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  80. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  81. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +12 -0
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +33 -80
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +27 -61
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  121. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  122. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  123. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  124. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  125. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  126. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  127. package/lib/cjs/contexts/common/ConversationState.js +4 -3
  128. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -26
  129. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +18 -11
  130. package/lib/cjs/contexts/createReducer.js +169 -109
  131. package/lib/cjs/controller/componentController.js +5 -34
  132. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  133. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  134. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  135. package/lib/cjs/index.js +0 -5
  136. package/lib/cjs/plugins/newMessageEventHandler.js +82 -0
  137. package/lib/esm/assets/Icons.js +2 -1
  138. package/lib/esm/common/Constants.js +49 -141
  139. package/lib/esm/common/KeyCodes.js +3 -3
  140. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
  141. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  142. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +104 -0
  143. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  144. package/lib/esm/common/telemetry/TelemetryConstants.js +84 -19
  145. package/lib/esm/common/telemetry/TelemetryHelper.js +32 -46
  146. package/lib/esm/common/telemetry/TelemetryManager.js +17 -24
  147. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  148. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  149. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
  150. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  151. package/lib/esm/common/utils.js +73 -45
  152. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  153. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  154. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  155. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +14 -47
  156. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -16
  157. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  158. package/lib/esm/components/footerstateful/FooterStateful.js +14 -25
  159. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  160. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  161. package/lib/esm/components/headerstateful/HeaderStateful.js +27 -21
  162. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  163. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
  164. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  165. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  166. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  167. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  168. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
  169. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  170. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  171. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  172. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  173. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  174. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  175. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +134 -49
  176. package/lib/esm/components/livechatwidget/common/endChat.js +171 -50
  177. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  178. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +10 -12
  179. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  180. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +52 -24
  181. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +98 -58
  182. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +9 -23
  183. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -6
  184. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  185. package/lib/esm/components/livechatwidget/common/startChat.js +287 -71
  186. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  187. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  188. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +357 -122
  189. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  190. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  191. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  192. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
  193. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  194. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  195. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  196. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  197. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  198. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +16 -30
  199. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  200. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +24 -12
  201. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  202. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  203. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  204. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  205. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  206. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  207. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +9 -12
  208. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  209. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
  210. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  211. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  212. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +34 -66
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +27 -40
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  250. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  251. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  252. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  253. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  254. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  255. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  256. package/lib/esm/contexts/ChatContextStore.js +2 -1
  257. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  258. package/lib/esm/contexts/common/ConversationState.js +4 -3
  259. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -26
  260. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +18 -7
  261. package/lib/esm/contexts/createReducer.js +169 -105
  262. package/lib/esm/controller/componentController.js +6 -5
  263. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  264. package/lib/esm/hooks/useChatContextStore.js +0 -4
  265. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  266. package/lib/esm/plugins/newMessageEventHandler.js +75 -0
  267. package/lib/types/assets/Icons.d.ts +1 -0
  268. package/lib/types/common/Constants.d.ts +41 -2
  269. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  270. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  271. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  272. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  273. package/lib/types/common/telemetry/TelemetryConstants.d.ts +59 -6
  274. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  275. package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
  276. package/lib/types/common/telemetry/definitions/Payload.d.ts +13 -9
  277. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +7 -3
  278. package/lib/types/common/utils.d.ts +8 -1
  279. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  280. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  281. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  282. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  283. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  284. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  285. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  286. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  287. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  288. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  289. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  290. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  291. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -4
  292. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  293. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  294. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  295. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +4 -1
  296. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -3
  297. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  298. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  299. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  300. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  301. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  302. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
  303. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  304. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  305. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  306. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  307. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  308. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  309. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  310. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  311. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  312. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  313. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  314. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  315. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  316. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  317. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  318. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  319. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  320. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  321. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +6 -3
  322. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -25
  323. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  324. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  325. package/package.json +12 -13
@@ -1,61 +1,62 @@
1
1
  import MarkdownIt from "markdown-it";
2
- import MarkdownSlack from "slack-markdown-it";
3
2
  import MarkdownItForInline from "markdown-it-for-inline";
4
3
  import { defaultMarkdownLocalizedTexts } from "../../webchatcontainerstateful/common/defaultProps/defaultMarkdownLocalizedTexts";
5
- import { Constants } from "../../../common/Constants"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
+ import { Constants } from "../../../common/Constants";
6
5
 
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
7
  export const createMarkdown = (disableMarkdownMessageFormatting, disableNewLineMarkdownSupport) => {
8
8
  let markdown;
9
-
10
9
  if (!disableMarkdownMessageFormatting) {
11
10
  markdown = new MarkdownIt(Constants.Default, {
12
11
  html: true,
13
12
  linkify: true,
14
13
  breaks: !disableNewLineMarkdownSupport
15
14
  });
16
- markdown.use(MarkdownSlack); // Markdown override for open link in new tab
17
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, quotes
18
-
19
- markdown.use(MarkdownItForInline, "url_new_win", "link_open", function (tokens, idx, env) {
20
- const targetAttrIndex = tokens[idx].attrIndex(Constants.Target); // Put a transparent pixel instead of the "open in new window" icon, so developers can easily modify the icon in CSS.
21
-
22
- const TRANSPARENT_GIF = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
23
-
24
- if (~targetAttrIndex) {
25
- tokens[idx].attrs[targetAttrIndex][1] = Constants.Blank;
26
- } else {
27
- tokens[idx].attrPush([Constants.Target, Constants.Blank]);
28
- }
29
-
30
- const relAttrIndex = tokens[idx].attrIndex(Constants.TargetRelationship);
31
-
32
- if (~relAttrIndex) {
33
- tokens[idx].attrs[relAttrIndex][1] = Constants.TargetRelationshipAttributes;
34
- } else {
35
- tokens[idx].attrPush([Constants.TargetRelationship, Constants.TargetRelationshipAttributes]);
36
- tokens[idx].attrPush([Constants.Title, defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT]); // eslint-disable-next-line quotes
37
-
38
- const iconTokens = markdown.parseInline(`![${defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT}](${TRANSPARENT_GIF})`, env)[0].children;
39
-
40
- if (iconTokens && iconTokens.length > 0) {
41
- iconTokens[0].attrJoin("class", Constants.OpenLinkIconCssClass);
42
- tokens.splice(idx + 2, 0, ...iconTokens);
43
- }
44
- }
45
- });
15
+ // ToDo: Commenting below usage of plugin until deferred bug is resolved: https://github.com/mayashavin/markdown-it-slack/issues/1
16
+ // markdown.use(MarkdownSlack);
46
17
  } else {
47
18
  markdown = new MarkdownIt(Constants.Zero, {
48
19
  html: true,
49
20
  linkify: true,
50
21
  breaks: !disableNewLineMarkdownSupport
51
22
  });
52
- markdown.enable(["entity", // Rule to process html entity - {, ¯, "
53
- "linkify", // Rule to replace link-like texts with link nodes
54
- "html_block", // Rule to process html blocks and paragraphs
55
- "html_inline", // Rule to process html tags
23
+ markdown.enable(["entity",
24
+ // Rule to process html entity - {, ¯, "
25
+ "linkify",
26
+ // Rule to replace link-like texts with link nodes
27
+ "html_block",
28
+ // Rule to process html blocks and paragraphs
29
+ "html_inline",
30
+ // Rule to process html tags
56
31
  "newline" // Rule to proceess '\n'
57
32
  ]);
58
33
  }
59
34
 
35
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+ markdown.use(MarkdownItForInline, "url_new_win", "link_open", function (tokens, idx, env) {
37
+ const targetAttrIndex = tokens[idx].attrIndex(Constants.Target);
38
+ // Put a transparent pixel instead of the "open in new window" icon, so developers can easily modify the icon in CSS.
39
+ const TRANSPARENT_GIF = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
40
+ if (~targetAttrIndex) {
41
+ tokens[idx].attrs[targetAttrIndex][1] = Constants.Blank;
42
+ } else {
43
+ tokens[idx].attrPush([Constants.Target, Constants.Blank]);
44
+ }
45
+ const relAttrIndex = tokens[idx].attrIndex(Constants.TargetRelationship);
46
+ if (~relAttrIndex) {
47
+ tokens[idx].attrs[relAttrIndex][1] = Constants.TargetRelationshipAttributes;
48
+ } else {
49
+ tokens[idx].attrPush([Constants.TargetRelationship, Constants.TargetRelationshipAttributes]);
50
+ if (!disableMarkdownMessageFormatting) {
51
+ tokens[idx].attrPush([Constants.Title, defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT]);
52
+ // eslint-disable-next-line quotes
53
+ const iconTokens = markdown.parseInline(`![${defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT}](${TRANSPARENT_GIF})`, env)[0].children;
54
+ if (iconTokens && iconTokens.length > 0) {
55
+ iconTokens[0].attrJoin("class", Constants.OpenLinkIconCssClass);
56
+ tokens.splice(idx + 2, 0, ...iconTokens);
57
+ }
58
+ }
59
+ }
60
+ });
60
61
  return markdown;
61
62
  };
@@ -0,0 +1,7 @@
1
+ export const defaultScrollBarProps = {
2
+ width: "7px",
3
+ trackBackgroundColor: "#f1f1f1",
4
+ thumbBackgroundColor: "#888",
5
+ thumbBorderRadius: "10px",
6
+ thumbHoverColor: "#555"
7
+ };
@@ -1,4 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
2
+
2
3
  import { ChatReconnectIconBase64, CloseChatButtonIconBase64, ModernChatIconBase64, ProactiveChatBannerBase64 } from "@microsoft/omnichannel-chat-components";
3
4
  import MockAdapter from "../../../webchatcontainerstateful/common/mockadapter";
4
5
  import { NewMessageNotificationSoundBase64 } from "../../../../assets/Audios";
@@ -8,9 +9,11 @@ import { createActivityMiddleware } from "../../../webchatcontainerstateful/webc
8
9
  import createAttachmentMiddleware from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware";
9
10
  import { createAvatarMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware";
10
11
  import { createMarkdown } from "../createMarkdown";
12
+ import { createWebChatTelemetry } from "../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger";
11
13
  import { groupActivitiesMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware";
12
- import { typingIndicatorMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware"; // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
+ import { typingIndicatorMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware";
13
15
 
16
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
17
  export const dummyDefaultProps = {
15
18
  audioNotificationProps: {
16
19
  audioSrc: NewMessageNotificationSoundBase64
@@ -165,24 +168,28 @@ export const dummyDefaultProps = {
165
168
  },
166
169
  audioCallButtonStyleProps: {
167
170
  borderRadius: "50%",
168
- color: "#FFFFFF",
169
171
  backgroundColor: "#008000",
170
172
  lineHeight: "40px",
171
173
  height: "40px",
172
174
  width: "40px",
173
- fontSize: 18
175
+ icon: {
176
+ fontSize: 18,
177
+ color: "#FFFFFF"
178
+ }
174
179
  },
175
180
  audioCallButtonHoverStyleProps: {
176
181
  filter: "brightness(0.8)"
177
182
  },
178
183
  videoCallButtonStyleProps: {
179
184
  borderRadius: "50%",
180
- color: "#FFFFFF",
181
185
  backgroundColor: "#008000",
182
186
  lineHeight: "40px",
183
187
  height: "40px",
184
188
  width: "40px",
185
- fontSize: 18
189
+ icon: {
190
+ fontSize: 18,
191
+ color: "#FFFFFF"
192
+ }
186
193
  },
187
194
  videoCallButtonHoverStyleProps: {
188
195
  filter: "brightness(0.8)"
@@ -193,13 +200,15 @@ export const dummyDefaultProps = {
193
200
  },
194
201
  declineCallButtonStyleProps: {
195
202
  borderRadius: "50%",
196
- color: "#FFFFFF",
197
203
  backgroundColor: "#DC0000",
198
204
  lineHeight: "40px",
199
205
  height: "40px",
200
206
  width: "40px",
201
- fontSize: 18,
202
- marginLeft: "5px"
207
+ marginLeft: "5px",
208
+ icon: {
209
+ fontSize: 18,
210
+ color: "#FFFFFF"
211
+ }
203
212
  },
204
213
  incomingCallTitleStyleProps: {
205
214
  margin: "0 5px",
@@ -252,18 +261,6 @@ export const dummyDefaultProps = {
252
261
  width: "50px",
253
262
  fontSize: "18px"
254
263
  },
255
- currentCallTimerStyleProps: {
256
- borderRadius: "2px",
257
- margin: "1px",
258
- color: "#FFFFFF",
259
- paddingTop: "18px",
260
- fontSize: 12,
261
- fontFamily: "Segoe UI, Arial, sans-serif",
262
- backgroundColor: "darkgrey",
263
- height: "45px",
264
- width: "50px",
265
- textAlign: "center"
266
- },
267
264
  videoTileStyleProps: {
268
265
  width: "100%",
269
266
  marginLeft: "auto",
@@ -327,7 +324,10 @@ export const dummyDefaultProps = {
327
324
  hideChatTextContainer: false,
328
325
  hideChatSubtitle: false,
329
326
  hideChatTitle: false,
330
- hideNotificationBubble: true
327
+ hideNotificationBubble: true,
328
+ unreadMessageString: "new messages",
329
+ largeUnreadMessageString: "99+",
330
+ ariaLabelUnreadMessageString: "you have new messages"
331
331
  },
332
332
  styleProps: {
333
333
  generalStyleProps: {
@@ -407,6 +407,7 @@ export const dummyDefaultProps = {
407
407
  width: "90px",
408
408
  cursor: "pointer",
409
409
  overflow: "hidden",
410
+ padding: "0px",
410
411
  whiteSpace: "nowrap"
411
412
  },
412
413
  subtitleStyleProps: {
@@ -414,6 +415,7 @@ export const dummyDefaultProps = {
414
415
  fontWeight: "200",
415
416
  color: "#666",
416
417
  overflow: "hidden",
418
+ padding: "0px",
417
419
  fontFamily: "'Segoe UI',Arial,sans-serif",
418
420
  display: "block",
419
421
  alignItems: "center",
@@ -469,28 +471,30 @@ export const dummyDefaultProps = {
469
471
  cancelButtonText: "Cancel",
470
472
  cancelButtonAriaLabel: "Cancel. Return to Chat",
471
473
  brightnessValueOnDim: "0.2",
472
- disableDimLayer: false,
473
474
  onConfirm: () => {},
474
475
  // Detailed implementation omitted
475
476
  onCancel: () => {} // Detailed implementation omitted
476
-
477
477
  },
478
+
478
479
  styleProps: {
479
480
  generalStyleProps: {
481
+ display: "flex",
482
+ minHeight: "160px",
483
+ maxHeight: "300px",
484
+ boxSizing: "border-box",
480
485
  backgroundColor: "#FFFFFF",
481
486
  borderRadius: "2px",
482
487
  color: "black",
483
488
  fontFamily: "Segoe UI, Arial, sans-serif",
484
489
  fontSize: "14px",
485
- height: "160px",
486
490
  padding: "10px 20px",
487
- width: "262px",
488
491
  position: "absolute",
489
492
  justifyContent: "center",
490
493
  alignItems: "center",
491
- display: "flex",
492
494
  flexFlow: "column",
493
- zIndex: "9999"
495
+ zIndex: "9999",
496
+ left: "26px",
497
+ right: "26px"
494
498
  },
495
499
  titleStyleProps: {
496
500
  color: "#323130",
@@ -512,10 +516,14 @@ export const dummyDefaultProps = {
512
516
  },
513
517
  buttonGroupStyleProps: {
514
518
  display: "flex",
519
+ width: "auto",
520
+ height: "auto",
521
+ boxSizing: "border-box",
515
522
  flexFlow: "row",
516
523
  justifyContent: "center",
517
524
  alignItems: "center",
518
- gap: "10px"
525
+ gap: "10px",
526
+ marginBottom: "10px"
519
527
  },
520
528
  confirmButtonStyleProps: {
521
529
  backgroundColor: "rgba(9,72,159,1)",
@@ -570,6 +578,7 @@ export const dummyDefaultProps = {
570
578
  hideCallingContainer: false,
571
579
  hideChatButton: false,
572
580
  hideConfirmationPane: false,
581
+ hideErrorUIPane: false,
573
582
  hideFooter: false,
574
583
  hideHeader: false,
575
584
  hideLoadingPane: false,
@@ -579,7 +588,7 @@ export const dummyDefaultProps = {
579
588
  hideProactiveChatPane: false,
580
589
  hideReconnectChatPane: false,
581
590
  hideWebChatContainer: false,
582
- skipChatButtonRendering: false
591
+ hideStartChatButton: false
583
592
  },
584
593
  directLine: new MockAdapter(),
585
594
  downloadTranscriptProps: {
@@ -620,7 +629,6 @@ export const dummyDefaultProps = {
620
629
  cancelButtonText: "Cancel",
621
630
  cancelButtonAriaLabel: "Cancel",
622
631
  brightnessValueOnDim: "0.2",
623
- disableDimLayer: false,
624
632
  onSend: undefined,
625
633
  onCancel: undefined,
626
634
  checkInput: undefined
@@ -779,6 +787,7 @@ export const dummyDefaultProps = {
779
787
  },
780
788
  audioNotificationButtonProps: {
781
789
  id: "oc-lcw-footer-audionotification-button",
790
+ type: "icon",
782
791
  ariaLabel: "Turn sound off",
783
792
  toggleAriaLabel: "Turn sound on",
784
793
  iconName: "Volume3",
@@ -804,8 +813,10 @@ export const dummyDefaultProps = {
804
813
  padding: "0 10px 5px 10px"
805
814
  },
806
815
  downloadTranscriptButtonStyleProps: {
807
- color: "blue",
808
- fontSize: 16,
816
+ icon: {
817
+ color: "blue",
818
+ fontSize: 16
819
+ },
809
820
  height: "25px",
810
821
  lineHeight: "25px",
811
822
  width: "25px"
@@ -815,8 +826,10 @@ export const dummyDefaultProps = {
815
826
  backgroundColor: "#C8C8C8"
816
827
  },
817
828
  emailTranscriptButtonStyleProps: {
818
- color: "blue",
819
- fontSize: 16,
829
+ cicon: {
830
+ color: "blue",
831
+ fontSize: 16
832
+ },
820
833
  height: "25px",
821
834
  lineHeight: "25px",
822
835
  width: "25px"
@@ -826,8 +839,10 @@ export const dummyDefaultProps = {
826
839
  backgroundColor: "#C8C8C8"
827
840
  },
828
841
  audioNotificationButtonStyleProps: {
829
- color: "blue",
830
- fontSize: 16,
842
+ icon: {
843
+ color: "blue",
844
+ fontSize: 16
845
+ },
831
846
  height: "25px",
832
847
  lineHeight: "25px",
833
848
  width: "25px"
@@ -878,7 +893,7 @@ export const dummyDefaultProps = {
878
893
  className: undefined
879
894
  },
880
895
  closeButtonProps: {
881
- id: "oc-lcw-header-minimize-button",
896
+ id: "oc-lcw-header-close-button",
882
897
  type: "icon",
883
898
  iconName: "ChromeClose",
884
899
  ariaLabel: "Close",
@@ -1057,8 +1072,8 @@ export const dummyDefaultProps = {
1057
1072
  titleText: "We're Offline",
1058
1073
  subtitleText: "No agents available",
1059
1074
  onClick: () => {} // Detailed implementation omitted
1060
-
1061
1075
  },
1076
+
1062
1077
  styleProps: {
1063
1078
  // ...[Existing chat button style props]
1064
1079
  iconStyleProps: {
@@ -1076,8 +1091,8 @@ export const dummyDefaultProps = {
1076
1091
  text: "We're Offline"
1077
1092
  },
1078
1093
  onMinimizeClick: () => {} // Detailed implementation omitted
1079
-
1080
1094
  },
1095
+
1081
1096
  styleProps: {
1082
1097
  // ...[Existing chat button style props]
1083
1098
  generalStyleProps: {
@@ -1103,7 +1118,8 @@ export const dummyDefaultProps = {
1103
1118
  dir: "auto",
1104
1119
  hideOOOHPane: false,
1105
1120
  hideTitle: false,
1106
- titleText: "Thanks for contacting us. You have reached us outside of our operating hours. An agent will respond when we open."
1121
+ 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",
1122
+ openLinkInNewTab: true
1107
1123
  },
1108
1124
  styleProps: {
1109
1125
  generalStyleProps: {
@@ -1146,7 +1162,7 @@ export const dummyDefaultProps = {
1146
1162
  subtitleText: "Please take a moment to give us feedback about your chat experience. We are loading the survey for you now."
1147
1163
  },
1148
1164
  styleProps: {
1149
- // ...[Existing chat button style props]
1165
+ // ...[Existing loading pane style props]
1150
1166
  generalStyleProps: {
1151
1167
  position: "initial",
1152
1168
  width: "100%",
@@ -1174,6 +1190,48 @@ export const dummyDefaultProps = {
1174
1190
  backgroundColor: "#FFFFFF",
1175
1191
  borderColor: "#F1F1F1"
1176
1192
  }
1193
+ },
1194
+ isCustomerVoiceSurveyCompact: undefined
1195
+ },
1196
+ preChatSurveyPaneProps: {
1197
+ controlProps: {
1198
+ id: "oc-lcw-prechatsurveypane-default",
1199
+ dir: "auto",
1200
+ hidePreChatSurveyPane: false,
1201
+ adaptiveCardHostConfig: "{\"fontFamily\":\"Segoe UI, Helvetica Neue, sans-serif\",\"containerStyles\":{\"default\":{\"foregroundColors\":{\"default\":{\"default\":\"#000000\"}},\"backgroundColor\":\"#FFFFFF\"}},\"actions\":{\"actionsOrientation\":\"Vertical\",\"actionAlignment\":\"stretch\"}}",
1202
+ 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\"}}]}",
1203
+ onSubmit: function () {} // Detailed implementation omitted
1204
+ },
1205
+
1206
+ styleProps: {
1207
+ generalStyleProps: {
1208
+ borderStyle: "solid",
1209
+ borderRadius: "4px",
1210
+ borderWidth: "0px",
1211
+ backgroundColor: "#FFFFFF",
1212
+ borderColor: "#F1F1F1",
1213
+ overflowY: "auto",
1214
+ height: "inherit",
1215
+ width: "inherit"
1216
+ },
1217
+ customButtonStyleProps: {
1218
+ backgroundColor: "rgb(49, 95, 162)",
1219
+ color: "#FFFFFF",
1220
+ fontFamily: "Segoe UI, Arial, sans-serif",
1221
+ fontSize: "15px",
1222
+ height: "48px"
1223
+ },
1224
+ adaptiveCardContainerStyleProps: {
1225
+ border: "1px solid #ECECEC",
1226
+ borderRadius: "4px",
1227
+ margin: "3%"
1228
+ },
1229
+ customTextInputStyleProps: {
1230
+ height: "20px"
1231
+ },
1232
+ customMultilineTextInputStyleProps: {
1233
+ height: "52px"
1234
+ }
1177
1235
  }
1178
1236
  },
1179
1237
  proactiveChatPaneProps: {
@@ -1194,7 +1252,17 @@ export const dummyDefaultProps = {
1194
1252
  hideSubtitle: false,
1195
1253
  subtitleText: "Live chat support!",
1196
1254
  hideCloseButton: false,
1197
- closeButtonAriaLabel: "Close Button",
1255
+ closeButtonProps: {
1256
+ id: "oc-lcw-proactivechat-closebutton",
1257
+ type: "icon",
1258
+ iconName: "ChromeClose",
1259
+ ariaLabel: "Close",
1260
+ imageIconProps: undefined,
1261
+ text: "Close",
1262
+ onClick: undefined,
1263
+ className: undefined,
1264
+ hideButtonTitle: true
1265
+ },
1198
1266
  isBodyContainerHorizantal: false,
1199
1267
  hideBodyTitle: false,
1200
1268
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -1204,8 +1272,8 @@ export const dummyDefaultProps = {
1204
1272
  onClose: () => {},
1205
1273
  // Detailed implementation omitted
1206
1274
  onStart: () => {} // Detailed implementation omitted
1207
-
1208
1275
  },
1276
+
1209
1277
  styleProps: {
1210
1278
  generalStyleProps: {
1211
1279
  backgroundColor: "rgb(255, 255, 255)",
@@ -1336,8 +1404,8 @@ export const dummyDefaultProps = {
1336
1404
  onStartNewChat: () => {},
1337
1405
  // Detailed implementation omitted
1338
1406
  onMinimize: () => {} // Detailed implementation omitted
1339
-
1340
1407
  },
1408
+
1341
1409
  styleProps: {
1342
1410
  generalStyleProps: {
1343
1411
  backgroundColor: "rgb(255, 255, 255)",
@@ -1422,9 +1490,8 @@ export const dummyDefaultProps = {
1422
1490
  startNewChatButtonClassName: undefined
1423
1491
  }
1424
1492
  },
1425
- authClientFunction: undefined,
1426
- isReconnectEnabled: undefined,
1427
- reconnectId: undefined
1493
+ reconnectId: undefined,
1494
+ redirectInSameWindow: undefined
1428
1495
  },
1429
1496
  styleProps: {
1430
1497
  generalStyles: {
@@ -1496,7 +1563,7 @@ export const dummyDefaultProps = {
1496
1563
  internalErrorBoxClass: undefined,
1497
1564
  internalRenderErrorBox: undefined,
1498
1565
  locale: "en-US",
1499
- onTelemetry: undefined,
1566
+ onTelemetry: createWebChatTelemetry(),
1500
1567
  overrideLocalizedStrings: undefined,
1501
1568
  renderMarkdown: createMarkdown(false, false),
1502
1569
  scrollToEndButtonMiddleware: undefined,
@@ -1544,6 +1611,12 @@ export const dummyDefaultProps = {
1544
1611
  lineHeight: "16px",
1545
1612
  padding: "0px 10px 0 10px"
1546
1613
  },
1614
+ userMessageBoxStyles: {
1615
+ maxWidth: "90%"
1616
+ },
1617
+ systemMessageBoxStyles: {
1618
+ maxWidth: "90%"
1619
+ },
1547
1620
  typingIndicatorStyleProps: {
1548
1621
  marginLeft: "10px",
1549
1622
  marginBottom: "5px",
@@ -1663,6 +1736,9 @@ export const dummyDefaultProps = {
1663
1736
  },
1664
1737
  attachmentSizeStyles: {
1665
1738
  display: "none"
1739
+ },
1740
+ receivedMessageAnchorStyles: {
1741
+ color: "white"
1666
1742
  }
1667
1743
  },
1668
1744
  localizedTexts: {
@@ -1686,7 +1762,16 @@ export const dummyDefaultProps = {
1686
1762
  MIDDLEWARE_MESSAGE_RETRY: "Retry",
1687
1763
  PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
1688
1764
  MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external."
1765
+ },
1766
+ botMagicCode: {
1767
+ disabled: false,
1768
+ fwdUrl: ""
1769
+ },
1770
+ adaptiveCardStyles: {
1771
+ background: "white",
1772
+ color: "black"
1689
1773
  }
1690
1774
  },
1691
- telemetryConfig: undefined
1775
+ telemetryConfig: undefined,
1776
+ getAuthToken: undefined
1692
1777
  };