@microsoft/omnichannel-chat-widget 0.1.0-main.20562ae → 0.1.0-main.21ab3ba

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 (316) hide show
  1. package/README.md +32 -0
  2. package/lib/cjs/assets/Icons.js +4 -2
  3. package/lib/cjs/common/Constants.js +50 -155
  4. package/lib/cjs/common/KeyCodes.js +3 -4
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -5
  6. package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -0
  7. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  8. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  9. package/lib/cjs/common/telemetry/TelemetryConstants.js +57 -25
  10. package/lib/cjs/common/telemetry/TelemetryHelper.js +29 -55
  11. package/lib/cjs/common/telemetry/TelemetryManager.js +11 -31
  12. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
  13. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
  14. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
  15. package/lib/cjs/common/utils.js +80 -80
  16. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
  17. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
  18. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  19. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -32
  20. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  22. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  23. package/lib/cjs/components/footerstateful/FooterStateful.js +12 -44
  24. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  26. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  27. package/lib/cjs/components/headerstateful/HeaderStateful.js +17 -31
  28. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  29. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +39 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +20 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  32. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
  33. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +64 -0
  34. package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -0
  35. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  36. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  37. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  38. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  39. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  40. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  41. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +126 -57
  42. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  43. package/lib/cjs/components/livechatwidget/common/endChat.js +99 -37
  44. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  45. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  46. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  47. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +38 -52
  48. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +98 -66
  49. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +7 -32
  50. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
  51. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  52. package/lib/cjs/components/livechatwidget/common/startChat.js +236 -91
  53. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  54. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  55. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  56. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +329 -185
  57. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
  58. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  59. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  60. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  61. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  62. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  63. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  64. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  65. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  66. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
  67. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -33
  68. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  69. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  71. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  72. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  73. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
  74. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -17
  75. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  76. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -15
  77. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  78. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  79. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +12 -0
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -37
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  120. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  121. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
  122. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  123. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  124. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  125. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  126. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -25
  127. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +14 -13
  128. package/lib/cjs/contexts/createReducer.js +169 -99
  129. package/lib/cjs/controller/componentController.js +4 -33
  130. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  131. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  132. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  133. package/lib/cjs/index.js +0 -5
  134. package/lib/cjs/plugins/newMessageEventHandler.js +22 -46
  135. package/lib/esm/assets/Icons.js +2 -1
  136. package/lib/esm/common/Constants.js +45 -143
  137. package/lib/esm/common/KeyCodes.js +3 -3
  138. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
  139. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  140. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  141. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  142. package/lib/esm/common/telemetry/TelemetryConstants.js +61 -22
  143. package/lib/esm/common/telemetry/TelemetryHelper.js +30 -45
  144. package/lib/esm/common/telemetry/TelemetryManager.js +11 -19
  145. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  146. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
  147. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
  148. package/lib/esm/common/utils.js +73 -45
  149. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
  150. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
  151. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  152. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +9 -13
  153. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  154. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  155. package/lib/esm/components/footerstateful/FooterStateful.js +14 -25
  156. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  157. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  158. package/lib/esm/components/headerstateful/HeaderStateful.js +17 -16
  159. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  160. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
  161. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
  162. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  163. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
  164. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
  165. package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
  166. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  167. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  168. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  169. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  170. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  171. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  172. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +128 -45
  173. package/lib/esm/components/livechatwidget/common/endChat.js +99 -23
  174. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  175. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  176. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  177. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +41 -22
  178. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +98 -59
  179. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +7 -22
  180. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  181. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  182. package/lib/esm/components/livechatwidget/common/startChat.js +236 -71
  183. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  184. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  185. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +333 -136
  186. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  187. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  188. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  189. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  190. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  191. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  192. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  193. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  194. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  195. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
  196. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -9
  197. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  198. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  199. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  200. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  201. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  202. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  203. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -13
  204. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  205. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
  206. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  207. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  208. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  246. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  247. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  248. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  249. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  250. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
  251. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  252. package/lib/esm/contexts/ChatContextStore.js +2 -1
  253. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  254. package/lib/esm/contexts/common/ConversationState.js +3 -3
  255. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -25
  256. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +14 -9
  257. package/lib/esm/contexts/createReducer.js +169 -96
  258. package/lib/esm/controller/componentController.js +5 -4
  259. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  260. package/lib/esm/hooks/useChatContextStore.js +0 -4
  261. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  262. package/lib/esm/plugins/newMessageEventHandler.js +22 -35
  263. package/lib/types/assets/Icons.d.ts +1 -0
  264. package/lib/types/common/Constants.d.ts +37 -2
  265. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  266. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  267. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  268. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  269. package/lib/types/common/telemetry/TelemetryConstants.d.ts +42 -7
  270. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  271. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  272. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  273. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  274. package/lib/types/common/utils.d.ts +8 -1
  275. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  276. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  277. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  278. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  279. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  280. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  281. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  282. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  283. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  284. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  285. package/lib/types/components/livechatwidget/common/endChat.d.ts +1 -1
  286. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -4
  287. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  288. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  289. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -1
  290. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -3
  291. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  292. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  293. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  294. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  295. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  296. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
  297. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  298. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  299. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  300. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  301. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  302. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  303. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  304. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  305. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  306. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  307. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  308. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  309. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  310. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  311. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  312. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  313. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +6 -3
  314. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -24
  315. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  316. package/package.json +9 -9
@@ -4,15 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createAdapter = void 0;
7
-
8
7
  var _NotificationHandler = require("../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
9
-
10
8
  var _NotificationLevel = require("../../webchatcontainerstateful/webchatcontroller/enums/NotificationLevel");
11
-
12
9
  var _NotificationScenarios = require("../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
13
-
14
10
  var _defaultMiddlewareLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
15
-
11
+ var _ChatAdapterShim = require("./ChatAdapterShim");
12
+ var _PauseActivitySubscriber = require("./ActivitySubscriber/PauseActivitySubscriber");
16
13
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
14
  const createAdapter = async chatSDK => {
18
15
  const chatAdapterOptionalParams = {
@@ -22,11 +19,9 @@ const createAdapter = async chatSDK => {
22
19
  if (notification.id === _NotificationScenarios.NotificationScenarios.InternetConnection && notification.level == _NotificationLevel.NotificationLevel.Error) {
23
20
  notification.message = _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_NO_INTERNET_CONNECTION;
24
21
  }
25
-
26
22
  if (notification.id === _NotificationScenarios.NotificationScenarios.InternetConnection && notification.level == _NotificationLevel.NotificationLevel.Success) {
27
23
  notification.message = _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_INTERNET_BACK_ONLINE;
28
24
  }
29
-
30
25
  if (notification.id && notification.message) {
31
26
  _NotificationHandler.NotificationHandler.notifyWithLevel(notification.id, notification.message, notification.level);
32
27
  }
@@ -34,7 +29,13 @@ const createAdapter = async chatSDK => {
34
29
  }
35
30
  }
36
31
  };
37
- return await chatSDK.createChatAdapter(chatAdapterOptionalParams);
32
+ let adapter = await chatSDK.createChatAdapter(chatAdapterOptionalParams);
33
+ //so far, there is no need to convert to the shim adapter when using visual tests
34
+ if (chatSDK.isMockModeOn !== true) {
35
+ adapter = new _ChatAdapterShim.ChatAdapterShim(adapter);
36
+ adapter.addSubscriber(new _PauseActivitySubscriber.PauseActivitySubscriber());
37
+ return adapter.chatAdapter;
38
+ }
39
+ return adapter;
38
40
  };
39
-
40
41
  exports.createAdapter = createAdapter;
@@ -4,39 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createFooter = void 0;
7
-
8
7
  var _FooterStateful = _interopRequireDefault(require("../../footerstateful/FooterStateful"));
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
-
14
10
  var _componentController = require("../../../controller/componentController");
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  const createFooter = (props, state) => {
19
- var _props$footerProps, _props$controlProps, _props$componentOverr, _props$componentOverr2;
20
-
21
- const footerPropsHidden = { ...props.footerProps,
22
- controlProps: { ...((_props$footerProps = props.footerProps) === null || _props$footerProps === void 0 ? void 0 : _props$footerProps.controlProps),
23
- hideDownloadTranscriptButton: true,
24
- hideEmailTranscriptButton: true,
25
- hideAudioNotificationButton: true
26
- }
27
- };
28
- const footer = !((_props$controlProps = props.controlProps) !== null && _props$controlProps !== void 0 && _props$controlProps.hideFooter) && (0, _componentController.shouldShowFooter)(state) ? (0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.footer) || /*#__PURE__*/_react.default.createElement(_FooterStateful.default, {
13
+ var _props$controlProps, _props$componentOverr;
14
+ const hideFooterDisplay = !((_props$controlProps = props.controlProps) !== null && _props$controlProps !== void 0 && _props$controlProps.hideFooter) && (0, _componentController.shouldShowFooter)(state) ? false : true;
15
+ const footer = (0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.footer) || /*#__PURE__*/_react.default.createElement(_FooterStateful.default, {
29
16
  footerProps: props.footerProps,
30
17
  downloadTranscriptProps: props.downloadTranscriptProps,
31
18
  audioNotificationProps: props.audioNotificationProps,
32
- hideFooterDisplay: false
33
- }) : (0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr2 = props.componentOverrides) === null || _props$componentOverr2 === void 0 ? void 0 : _props$componentOverr2.footer) || /*#__PURE__*/_react.default.createElement(_FooterStateful.default, {
34
- footerProps: footerPropsHidden,
35
- downloadTranscriptProps: props.downloadTranscriptProps,
36
- audioNotificationProps: props.audioNotificationProps,
37
- hideFooterDisplay: true
19
+ hideFooterDisplay: hideFooterDisplay
38
20
  });
39
21
  return footer;
40
22
  };
41
-
42
23
  exports.createFooter = createFooter;
@@ -4,15 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createInternetConnectionChangeHandler = void 0;
7
-
8
7
  var _Constants = require("../../../common/Constants");
9
-
10
8
  var _NotificationHandler = require("../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
11
-
12
9
  var _NotificationScenarios = require("../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios");
13
-
14
10
  var _defaultMiddlewareLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
15
-
11
+ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
12
+ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
16
13
  const isInternetConnected = async () => {
17
14
  try {
18
15
  const response = await fetch(_Constants.Constants.internetConnectionTestUrl);
@@ -22,21 +19,24 @@ const isInternetConnected = async () => {
22
19
  return false;
23
20
  }
24
21
  };
25
-
26
22
  const createInternetConnectionChangeHandler = async () => {
27
23
  const handler = async () => {
28
24
  const connected = await isInternetConnected();
29
-
30
25
  if (!connected) {
26
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.WARN, {
27
+ Event: _TelemetryConstants.TelemetryEvent.NetworkDisconnected
28
+ });
31
29
  _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.InternetConnection, _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_NO_INTERNET_CONNECTION);
32
30
  } else {
31
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.WARN, {
32
+ Event: _TelemetryConstants.TelemetryEvent.NetworkReconnected
33
+ });
33
34
  _NotificationHandler.NotificationHandler.notifySuccess(_NotificationScenarios.NotificationScenarios.InternetConnection, _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_INTERNET_BACK_ONLINE);
34
35
  }
35
- }; // Checking connection status on online & offline events due to possible false positives
36
-
36
+ };
37
37
 
38
+ // Checking connection status on online & offline events due to possible false positives
38
39
  window.addEventListener("online", () => handler(), false);
39
40
  window.addEventListener("offline", () => handler(), false);
40
41
  };
41
-
42
42
  exports.createInternetConnectionChangeHandler = createInternetConnectionChangeHandler;
@@ -4,73 +4,66 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createMarkdown = void 0;
7
-
8
7
  var _markdownIt = _interopRequireDefault(require("markdown-it"));
9
-
10
8
  var _markdownItForInline = _interopRequireDefault(require("markdown-it-for-inline"));
11
-
12
9
  var _defaultMarkdownLocalizedTexts = require("../../webchatcontainerstateful/common/defaultProps/defaultMarkdownLocalizedTexts");
13
-
14
10
  var _Constants = require("../../../common/Constants");
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
13
  const createMarkdown = (disableMarkdownMessageFormatting, disableNewLineMarkdownSupport) => {
20
14
  let markdown;
21
-
22
15
  if (!disableMarkdownMessageFormatting) {
23
16
  markdown = new _markdownIt.default(_Constants.Constants.Default, {
24
17
  html: true,
25
18
  linkify: true,
26
19
  breaks: !disableNewLineMarkdownSupport
27
- }); // ToDo: Commenting below usage of plugin until deferred bug is resolved: https://github.com/mayashavin/markdown-it-slack/issues/1
28
- // markdown.use(MarkdownSlack);
29
- // Markdown override for open link in new tab
30
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, quotes
31
-
32
- markdown.use(_markdownItForInline.default, "url_new_win", "link_open", function (tokens, idx, env) {
33
- const targetAttrIndex = tokens[idx].attrIndex(_Constants.Constants.Target); // Put a transparent pixel instead of the "open in new window" icon, so developers can easily modify the icon in CSS.
34
-
35
- const TRANSPARENT_GIF = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
36
-
37
- if (~targetAttrIndex) {
38
- tokens[idx].attrs[targetAttrIndex][1] = _Constants.Constants.Blank;
39
- } else {
40
- tokens[idx].attrPush([_Constants.Constants.Target, _Constants.Constants.Blank]);
41
- }
42
-
43
- const relAttrIndex = tokens[idx].attrIndex(_Constants.Constants.TargetRelationship);
44
-
45
- if (~relAttrIndex) {
46
- tokens[idx].attrs[relAttrIndex][1] = _Constants.Constants.TargetRelationshipAttributes;
47
- } else {
48
- tokens[idx].attrPush([_Constants.Constants.TargetRelationship, _Constants.Constants.TargetRelationshipAttributes]);
49
- tokens[idx].attrPush([_Constants.Constants.Title, _defaultMarkdownLocalizedTexts.defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT]); // eslint-disable-next-line quotes
50
-
51
- const iconTokens = markdown.parseInline(`![${_defaultMarkdownLocalizedTexts.defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT}](${TRANSPARENT_GIF})`, env)[0].children;
52
-
53
- if (iconTokens && iconTokens.length > 0) {
54
- iconTokens[0].attrJoin("class", _Constants.Constants.OpenLinkIconCssClass);
55
- tokens.splice(idx + 2, 0, ...iconTokens);
56
- }
57
- }
58
20
  });
21
+ // ToDo: Commenting below usage of plugin until deferred bug is resolved: https://github.com/mayashavin/markdown-it-slack/issues/1
22
+ // markdown.use(MarkdownSlack);
59
23
  } else {
60
24
  markdown = new _markdownIt.default(_Constants.Constants.Zero, {
61
25
  html: true,
62
26
  linkify: true,
63
27
  breaks: !disableNewLineMarkdownSupport
64
28
  });
65
- markdown.enable(["entity", // Rule to process html entity - {, ¯, "
66
- "linkify", // Rule to replace link-like texts with link nodes
67
- "html_block", // Rule to process html blocks and paragraphs
68
- "html_inline", // Rule to process html tags
29
+ markdown.enable(["entity",
30
+ // Rule to process html entity - {, ¯, "
31
+ "linkify",
32
+ // Rule to replace link-like texts with link nodes
33
+ "html_block",
34
+ // Rule to process html blocks and paragraphs
35
+ "html_inline",
36
+ // Rule to process html tags
69
37
  "newline" // Rule to proceess '\n'
70
38
  ]);
71
39
  }
72
40
 
41
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
+ markdown.use(_markdownItForInline.default, "url_new_win", "link_open", function (tokens, idx, env) {
43
+ const targetAttrIndex = tokens[idx].attrIndex(_Constants.Constants.Target);
44
+ // Put a transparent pixel instead of the "open in new window" icon, so developers can easily modify the icon in CSS.
45
+ const TRANSPARENT_GIF = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
46
+ if (~targetAttrIndex) {
47
+ tokens[idx].attrs[targetAttrIndex][1] = _Constants.Constants.Blank;
48
+ } else {
49
+ tokens[idx].attrPush([_Constants.Constants.Target, _Constants.Constants.Blank]);
50
+ }
51
+ const relAttrIndex = tokens[idx].attrIndex(_Constants.Constants.TargetRelationship);
52
+ if (~relAttrIndex) {
53
+ tokens[idx].attrs[relAttrIndex][1] = _Constants.Constants.TargetRelationshipAttributes;
54
+ } else {
55
+ tokens[idx].attrPush([_Constants.Constants.TargetRelationship, _Constants.Constants.TargetRelationshipAttributes]);
56
+ if (!disableMarkdownMessageFormatting) {
57
+ tokens[idx].attrPush([_Constants.Constants.Title, _defaultMarkdownLocalizedTexts.defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT]);
58
+ // eslint-disable-next-line quotes
59
+ const iconTokens = markdown.parseInline(`![${_defaultMarkdownLocalizedTexts.defaultMarkdownLocalizedTexts.MARKDOWN_EXTERNAL_LINK_ALT}](${TRANSPARENT_GIF})`, env)[0].children;
60
+ if (iconTokens && iconTokens.length > 0) {
61
+ iconTokens[0].attrJoin("class", _Constants.Constants.OpenLinkIconCssClass);
62
+ tokens.splice(idx + 2, 0, ...iconTokens);
63
+ }
64
+ }
65
+ }
66
+ });
73
67
  return markdown;
74
68
  };
75
-
76
69
  exports.createMarkdown = createMarkdown;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultScrollBarProps = void 0;
7
+ const defaultScrollBarProps = {
8
+ width: "7px",
9
+ trackBackgroundColor: "#f1f1f1",
10
+ thumbBackgroundColor: "#888",
11
+ thumbBorderRadius: "10px",
12
+ thumbHoverColor: "#555"
13
+ };
14
+ exports.defaultScrollBarProps = defaultScrollBarProps;
@@ -4,32 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.dummyDefaultProps = void 0;
7
-
8
7
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
-
10
8
  var _mockadapter = _interopRequireDefault(require("../../../webchatcontainerstateful/common/mockadapter"));
11
-
12
9
  var _Audios = require("../../../../assets/Audios");
13
-
14
10
  var _WebChatStoreLoader = require("../../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
15
-
16
11
  var _activityStatusMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware");
17
-
18
12
  var _activityMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware");
19
-
20
13
  var _attachmentMiddleware = _interopRequireDefault(require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware"));
21
-
22
14
  var _avatarMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware");
23
-
24
15
  var _createMarkdown = require("../createMarkdown");
25
-
26
16
  var _groupActivitiesMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware");
27
-
28
17
  var _typingIndicatorMiddleware = require("../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware");
29
-
18
+ var _WebChatLogger = require("../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger");
30
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
20
  /* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
21
+
33
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
34
23
  const dummyDefaultProps = {
35
24
  audioNotificationProps: {
@@ -185,24 +174,28 @@ const dummyDefaultProps = {
185
174
  },
186
175
  audioCallButtonStyleProps: {
187
176
  borderRadius: "50%",
188
- color: "#FFFFFF",
189
177
  backgroundColor: "#008000",
190
178
  lineHeight: "40px",
191
179
  height: "40px",
192
180
  width: "40px",
193
- fontSize: 18
181
+ icon: {
182
+ fontSize: 18,
183
+ color: "#FFFFFF"
184
+ }
194
185
  },
195
186
  audioCallButtonHoverStyleProps: {
196
187
  filter: "brightness(0.8)"
197
188
  },
198
189
  videoCallButtonStyleProps: {
199
190
  borderRadius: "50%",
200
- color: "#FFFFFF",
201
191
  backgroundColor: "#008000",
202
192
  lineHeight: "40px",
203
193
  height: "40px",
204
194
  width: "40px",
205
- fontSize: 18
195
+ icon: {
196
+ fontSize: 18,
197
+ color: "#FFFFFF"
198
+ }
206
199
  },
207
200
  videoCallButtonHoverStyleProps: {
208
201
  filter: "brightness(0.8)"
@@ -213,13 +206,15 @@ const dummyDefaultProps = {
213
206
  },
214
207
  declineCallButtonStyleProps: {
215
208
  borderRadius: "50%",
216
- color: "#FFFFFF",
217
209
  backgroundColor: "#DC0000",
218
210
  lineHeight: "40px",
219
211
  height: "40px",
220
212
  width: "40px",
221
- fontSize: 18,
222
- marginLeft: "5px"
213
+ marginLeft: "5px",
214
+ icon: {
215
+ fontSize: 18,
216
+ color: "#FFFFFF"
217
+ }
223
218
  },
224
219
  incomingCallTitleStyleProps: {
225
220
  margin: "0 5px",
@@ -272,18 +267,6 @@ const dummyDefaultProps = {
272
267
  width: "50px",
273
268
  fontSize: "18px"
274
269
  },
275
- currentCallTimerStyleProps: {
276
- borderRadius: "2px",
277
- margin: "1px",
278
- color: "#FFFFFF",
279
- paddingTop: "18px",
280
- fontSize: 12,
281
- fontFamily: "Segoe UI, Arial, sans-serif",
282
- backgroundColor: "darkgrey",
283
- height: "45px",
284
- width: "50px",
285
- textAlign: "center"
286
- },
287
270
  videoTileStyleProps: {
288
271
  width: "100%",
289
272
  marginLeft: "auto",
@@ -347,7 +330,10 @@ const dummyDefaultProps = {
347
330
  hideChatTextContainer: false,
348
331
  hideChatSubtitle: false,
349
332
  hideChatTitle: false,
350
- hideNotificationBubble: true
333
+ hideNotificationBubble: true,
334
+ unreadMessageString: "new messages",
335
+ largeUnreadMessageString: "99+",
336
+ ariaLabelUnreadMessageString: "you have new messages"
351
337
  },
352
338
  styleProps: {
353
339
  generalStyleProps: {
@@ -493,24 +479,27 @@ const dummyDefaultProps = {
493
479
  onConfirm: () => {},
494
480
  // Detailed implementation omitted
495
481
  onCancel: () => {} // Detailed implementation omitted
496
-
497
482
  },
483
+
498
484
  styleProps: {
499
485
  generalStyleProps: {
486
+ display: "flex",
487
+ minHeight: "160px",
488
+ maxHeight: "300px",
489
+ boxSizing: "border-box",
500
490
  backgroundColor: "#FFFFFF",
501
491
  borderRadius: "2px",
502
492
  color: "black",
503
493
  fontFamily: "Segoe UI, Arial, sans-serif",
504
494
  fontSize: "14px",
505
- height: "160px",
506
495
  padding: "10px 20px",
507
- width: "262px",
508
496
  position: "absolute",
509
497
  justifyContent: "center",
510
498
  alignItems: "center",
511
- display: "flex",
512
499
  flexFlow: "column",
513
- zIndex: "9999"
500
+ zIndex: "9999",
501
+ left: "26px",
502
+ right: "26px"
514
503
  },
515
504
  titleStyleProps: {
516
505
  color: "#323130",
@@ -532,10 +521,14 @@ const dummyDefaultProps = {
532
521
  },
533
522
  buttonGroupStyleProps: {
534
523
  display: "flex",
524
+ width: "auto",
525
+ height: "auto",
526
+ boxSizing: "border-box",
535
527
  flexFlow: "row",
536
528
  justifyContent: "center",
537
529
  alignItems: "center",
538
- gap: "10px"
530
+ gap: "10px",
531
+ marginBottom: "10px"
539
532
  },
540
533
  confirmButtonStyleProps: {
541
534
  backgroundColor: "rgba(9,72,159,1)",
@@ -599,7 +592,7 @@ const dummyDefaultProps = {
599
592
  hideProactiveChatPane: false,
600
593
  hideReconnectChatPane: false,
601
594
  hideWebChatContainer: false,
602
- skipChatButtonRendering: false
595
+ hideStartChatButton: false
603
596
  },
604
597
  directLine: new _mockadapter.default(),
605
598
  downloadTranscriptProps: {
@@ -799,6 +792,7 @@ const dummyDefaultProps = {
799
792
  },
800
793
  audioNotificationButtonProps: {
801
794
  id: "oc-lcw-footer-audionotification-button",
795
+ type: "icon",
802
796
  ariaLabel: "Turn sound off",
803
797
  toggleAriaLabel: "Turn sound on",
804
798
  iconName: "Volume3",
@@ -824,8 +818,10 @@ const dummyDefaultProps = {
824
818
  padding: "0 10px 5px 10px"
825
819
  },
826
820
  downloadTranscriptButtonStyleProps: {
827
- color: "blue",
828
- fontSize: 16,
821
+ icon: {
822
+ color: "blue",
823
+ fontSize: 16
824
+ },
829
825
  height: "25px",
830
826
  lineHeight: "25px",
831
827
  width: "25px"
@@ -835,8 +831,10 @@ const dummyDefaultProps = {
835
831
  backgroundColor: "#C8C8C8"
836
832
  },
837
833
  emailTranscriptButtonStyleProps: {
838
- color: "blue",
839
- fontSize: 16,
834
+ cicon: {
835
+ color: "blue",
836
+ fontSize: 16
837
+ },
840
838
  height: "25px",
841
839
  lineHeight: "25px",
842
840
  width: "25px"
@@ -846,8 +844,10 @@ const dummyDefaultProps = {
846
844
  backgroundColor: "#C8C8C8"
847
845
  },
848
846
  audioNotificationButtonStyleProps: {
849
- color: "blue",
850
- fontSize: 16,
847
+ icon: {
848
+ color: "blue",
849
+ fontSize: 16
850
+ },
851
851
  height: "25px",
852
852
  lineHeight: "25px",
853
853
  width: "25px"
@@ -898,7 +898,7 @@ const dummyDefaultProps = {
898
898
  className: undefined
899
899
  },
900
900
  closeButtonProps: {
901
- id: "oc-lcw-header-minimize-button",
901
+ id: "oc-lcw-header-close-button",
902
902
  type: "icon",
903
903
  iconName: "ChromeClose",
904
904
  ariaLabel: "Close",
@@ -1077,8 +1077,8 @@ const dummyDefaultProps = {
1077
1077
  titleText: "We're Offline",
1078
1078
  subtitleText: "No agents available",
1079
1079
  onClick: () => {} // Detailed implementation omitted
1080
-
1081
1080
  },
1081
+
1082
1082
  styleProps: {
1083
1083
  // ...[Existing chat button style props]
1084
1084
  iconStyleProps: {
@@ -1096,8 +1096,8 @@ const dummyDefaultProps = {
1096
1096
  text: "We're Offline"
1097
1097
  },
1098
1098
  onMinimizeClick: () => {} // Detailed implementation omitted
1099
-
1100
1099
  },
1100
+
1101
1101
  styleProps: {
1102
1102
  // ...[Existing chat button style props]
1103
1103
  generalStyleProps: {
@@ -1194,6 +1194,48 @@ const dummyDefaultProps = {
1194
1194
  backgroundColor: "#FFFFFF",
1195
1195
  borderColor: "#F1F1F1"
1196
1196
  }
1197
+ },
1198
+ isCustomerVoiceSurveyCompact: undefined
1199
+ },
1200
+ preChatSurveyPaneProps: {
1201
+ controlProps: {
1202
+ id: "oc-lcw-prechatsurveypane-default",
1203
+ dir: "auto",
1204
+ hidePreChatSurveyPane: false,
1205
+ adaptiveCardHostConfig: "{\"fontFamily\":\"Segoe UI, Helvetica Neue, sans-serif\",\"containerStyles\":{\"default\":{\"foregroundColors\":{\"default\":{\"default\":\"#000000\"}},\"backgroundColor\":\"#FFFFFF\"}},\"actions\":{\"actionsOrientation\":\"Vertical\",\"actionAlignment\":\"stretch\"}}",
1206
+ payload: "{\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"type\":\"AdaptiveCard\",\"version\":\"1.1\",\"body\":[{\"type\":\"TextBlock\",\"weight\":\"bolder\",\"text\":\"Please answer below questions.\"},{\"type\":\"Input.Text\",\"id\":\"1e5e4e7a-8f0b-ec11-b6e6-000d3a305d38\",\"label\":\"name pls?\",\"maxLength\":100,\"isRequired\":true,\"errorMessage\":\"Name is required\"},{\"type\":\"Input.Text\",\"id\":\"7f8f5d6d-995e-ec11-8f8f-000d3a31376e\",\"label\":\"multi\\nmulti\\nmulti\",\"style\":\"text\",\"isMultiline\":true,\"maxLength\":250},{\"type\":\"Input.ChoiceSet\",\"id\":\"e4bdf7cb-995e-ec11-8f8f-000d3a31376e\",\"label\":\"options\",\"isMultiSelect\":false,\"value\":\"1\",\"style\":\"compact\",\"choices\":[{\"title\":\"one\",\"value\":\"1\"},{\"title\":\"two\",\"value\":\"2\"},{\"title\":\"three\",\"value\":\"3\"}]},{\"type\":\"Input.Toggle\",\"id\":\"b26011d2-995e-ec11-8f8f-000d3a31376e\",\"title\":\"consent\",\"valueOn\":\"True\",\"valueOff\":\"False\",\"value\":\"false\"},{\"type\":\"TextBlock\",\"isSubtle\":true,\"text\":\"Fields marked with * are mandatory.\",\"wrap\":true}],\"actions\":[{\"type\":\"Action.Submit\",\"title\":\"Submit\",\"data\":{\"Type\":\"InputSubmit\"}}]}",
1207
+ onSubmit: function () {} // Detailed implementation omitted
1208
+ },
1209
+
1210
+ styleProps: {
1211
+ generalStyleProps: {
1212
+ borderStyle: "solid",
1213
+ borderRadius: "4px",
1214
+ borderWidth: "3px",
1215
+ backgroundColor: "#FFFFFF",
1216
+ borderColor: "#F1F1F1",
1217
+ overflowY: "auto",
1218
+ height: "inherit",
1219
+ width: "inherit"
1220
+ },
1221
+ customButtonStyleProps: {
1222
+ backgroundColor: "rgb(49, 95, 162)",
1223
+ color: "#FFFFFF",
1224
+ fontFamily: "Segoe UI, Arial, sans-serif",
1225
+ fontSize: "15px",
1226
+ height: "48px"
1227
+ },
1228
+ adaptiveCardContainerStyleProps: {
1229
+ border: "1px solid #ECECEC",
1230
+ borderRadius: "4px",
1231
+ margin: "3%"
1232
+ },
1233
+ customTextInputStyleProps: {
1234
+ height: "20px"
1235
+ },
1236
+ customMultilineTextInputStyleProps: {
1237
+ height: "52px"
1238
+ }
1197
1239
  }
1198
1240
  },
1199
1241
  proactiveChatPaneProps: {
@@ -1214,7 +1256,17 @@ const dummyDefaultProps = {
1214
1256
  hideSubtitle: false,
1215
1257
  subtitleText: "Live chat support!",
1216
1258
  hideCloseButton: false,
1217
- closeButtonAriaLabel: "Close Button",
1259
+ closeButtonProps: {
1260
+ id: "oc-lcw-proactivechat-closebutton",
1261
+ type: "icon",
1262
+ iconName: "ChromeClose",
1263
+ ariaLabel: "Close",
1264
+ imageIconProps: undefined,
1265
+ text: "Close",
1266
+ onClick: undefined,
1267
+ className: undefined,
1268
+ hideButtonTitle: true
1269
+ },
1218
1270
  isBodyContainerHorizantal: false,
1219
1271
  hideBodyTitle: false,
1220
1272
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -1224,8 +1276,8 @@ const dummyDefaultProps = {
1224
1276
  onClose: () => {},
1225
1277
  // Detailed implementation omitted
1226
1278
  onStart: () => {} // Detailed implementation omitted
1227
-
1228
1279
  },
1280
+
1229
1281
  styleProps: {
1230
1282
  generalStyleProps: {
1231
1283
  backgroundColor: "rgb(255, 255, 255)",
@@ -1356,8 +1408,8 @@ const dummyDefaultProps = {
1356
1408
  onStartNewChat: () => {},
1357
1409
  // Detailed implementation omitted
1358
1410
  onMinimize: () => {} // Detailed implementation omitted
1359
-
1360
1411
  },
1412
+
1361
1413
  styleProps: {
1362
1414
  generalStyleProps: {
1363
1415
  backgroundColor: "rgb(255, 255, 255)",
@@ -1442,9 +1494,8 @@ const dummyDefaultProps = {
1442
1494
  startNewChatButtonClassName: undefined
1443
1495
  }
1444
1496
  },
1445
- authClientFunction: undefined,
1446
- isReconnectEnabled: undefined,
1447
- reconnectId: undefined
1497
+ reconnectId: undefined,
1498
+ redirectInSameWindow: undefined
1448
1499
  },
1449
1500
  styleProps: {
1450
1501
  generalStyles: {
@@ -1516,7 +1567,7 @@ const dummyDefaultProps = {
1516
1567
  internalErrorBoxClass: undefined,
1517
1568
  internalRenderErrorBox: undefined,
1518
1569
  locale: "en-US",
1519
- onTelemetry: undefined,
1570
+ onTelemetry: (0, _WebChatLogger.createWebChatTelemetry)(),
1520
1571
  overrideLocalizedStrings: undefined,
1521
1572
  renderMarkdown: (0, _createMarkdown.createMarkdown)(false, false),
1522
1573
  scrollToEndButtonMiddleware: undefined,
@@ -1564,6 +1615,12 @@ const dummyDefaultProps = {
1564
1615
  lineHeight: "16px",
1565
1616
  padding: "0px 10px 0 10px"
1566
1617
  },
1618
+ userMessageBoxStyles: {
1619
+ maxWidth: "75%"
1620
+ },
1621
+ systemMessageBoxStyles: {
1622
+ maxWidth: "75%"
1623
+ },
1567
1624
  typingIndicatorStyleProps: {
1568
1625
  marginLeft: "10px",
1569
1626
  marginBottom: "5px",
@@ -1683,6 +1740,9 @@ const dummyDefaultProps = {
1683
1740
  },
1684
1741
  attachmentSizeStyles: {
1685
1742
  display: "none"
1743
+ },
1744
+ receivedMessageAnchorStyles: {
1745
+ color: "white"
1686
1746
  }
1687
1747
  },
1688
1748
  localizedTexts: {
@@ -1706,8 +1766,17 @@ const dummyDefaultProps = {
1706
1766
  MIDDLEWARE_MESSAGE_RETRY: "Retry",
1707
1767
  PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
1708
1768
  MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external."
1769
+ },
1770
+ botMagicCode: {
1771
+ disabled: false,
1772
+ fwdUrl: ""
1773
+ },
1774
+ adaptiveCardStyles: {
1775
+ background: "white",
1776
+ color: "black"
1709
1777
  }
1710
1778
  },
1711
- telemetryConfig: undefined
1779
+ telemetryConfig: undefined,
1780
+ getAuthToken: undefined
1712
1781
  };
1713
1782
  exports.dummyDefaultProps = dummyDefaultProps;
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.disposeTelemetryLoggers = void 0;
7
-
8
7
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
9
-
10
8
  const disposeTelemetryLoggers = () => {
11
9
  (0, _TelemetryManager.disposeLoggers)();
12
10
  };
13
-
14
11
  exports.disposeTelemetryLoggers = disposeTelemetryLoggers;