@microsoft/omnichannel-chat-widget 0.1.0-main.eb80fb1 → 0.1.0-main.ec08ec5
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.
- package/README.md +35 -11
- package/lib/cjs/common/Constants.js +31 -150
- package/lib/cjs/common/KeyCodes.js +0 -3
- package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
- package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
- package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
- package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
- package/lib/cjs/common/telemetry/TelemetryConstants.js +79 -24
- package/lib/cjs/common/telemetry/TelemetryHelper.js +26 -54
- package/lib/cjs/common/telemetry/TelemetryManager.js +14 -34
- package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
- package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
- package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
- package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
- package/lib/cjs/common/utils.js +80 -80
- package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
- package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
- package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +12 -70
- package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
- package/lib/cjs/components/footerstateful/FooterStateful.js +12 -44
- package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
- package/lib/cjs/components/headerstateful/HeaderStateful.js +23 -34
- package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
- package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
- package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
- package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
- package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
- package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
- package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
- package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
- package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -44
- package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +73 -52
- package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
- package/lib/cjs/components/livechatwidget/common/endChat.js +127 -61
- package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
- package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +8 -17
- package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
- package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +58 -54
- package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +131 -56
- package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +9 -33
- package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +3 -15
- package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
- package/lib/cjs/components/livechatwidget/common/startChat.js +157 -77
- package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
- package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +287 -139
- package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
- package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
- package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
- package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
- package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
- package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
- package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
- package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
- package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -35
- package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
- package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
- package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
- package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -15
- package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
- package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
- package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
- package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +33 -80
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -60
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +7 -18
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -19
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
- package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
- package/lib/cjs/contexts/ChatContextStore.js +0 -2
- package/lib/cjs/contexts/ChatSDKStore.js +0 -2
- package/lib/cjs/contexts/common/ConversationState.js +4 -3
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +11 -9
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +14 -10
- package/lib/cjs/contexts/createReducer.js +150 -107
- package/lib/cjs/controller/componentController.js +5 -34
- package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
- package/lib/cjs/hooks/useChatContextStore.js +0 -6
- package/lib/cjs/hooks/useChatSDKStore.js +0 -6
- package/lib/cjs/index.js +0 -5
- package/lib/cjs/plugins/newMessageEventHandler.js +78 -0
- package/lib/esm/common/Constants.js +28 -138
- package/lib/esm/common/KeyCodes.js +0 -2
- package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
- package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
- package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
- package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
- package/lib/esm/common/telemetry/TelemetryConstants.js +78 -19
- package/lib/esm/common/telemetry/TelemetryHelper.js +27 -44
- package/lib/esm/common/telemetry/TelemetryManager.js +14 -23
- package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
- package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
- package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
- package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
- package/lib/esm/common/utils.js +73 -45
- package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
- package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
- package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +13 -46
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
- package/lib/esm/components/footerstateful/FooterStateful.js +14 -25
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
- package/lib/esm/components/headerstateful/HeaderStateful.js +24 -20
- package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
- package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
- package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
- package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
- package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
- package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
- package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
- package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
- package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
- package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +75 -40
- package/lib/esm/components/livechatwidget/common/endChat.js +131 -50
- package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
- package/lib/esm/components/livechatwidget/common/initCallingSdk.js +10 -12
- package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
- package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +60 -26
- package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +129 -50
- package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +9 -23
- package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -6
- package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
- package/lib/esm/components/livechatwidget/common/startChat.js +161 -61
- package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +293 -94
- package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
- package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
- package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
- package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
- package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
- package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
- package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
- package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +24 -12
- package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
- package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
- package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
- package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
- package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
- package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -11
- package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
- package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
- package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
- package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +34 -66
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +9 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +16 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
- package/lib/esm/contexts/ChatAdapterStore.js +2 -1
- package/lib/esm/contexts/ChatContextStore.js +2 -1
- package/lib/esm/contexts/ChatSDKStore.js +2 -1
- package/lib/esm/contexts/common/ConversationState.js +4 -3
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +11 -9
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +14 -6
- package/lib/esm/contexts/createReducer.js +150 -103
- package/lib/esm/controller/componentController.js +6 -5
- package/lib/esm/hooks/useChatAdapterStore.js +0 -4
- package/lib/esm/hooks/useChatContextStore.js +0 -4
- package/lib/esm/hooks/useChatSDKStore.js +0 -4
- package/lib/esm/plugins/newMessageEventHandler.js +71 -0
- package/lib/types/common/Constants.d.ts +27 -2
- package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
- package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
- package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
- package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
- package/lib/types/common/telemetry/TelemetryConstants.d.ts +53 -6
- package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
- package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
- package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
- package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
- package/lib/types/common/utils.d.ts +8 -1
- package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
- package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
- package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
- package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
- package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
- package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
- package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
- package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
- package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
- package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
- package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
- package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +7 -2
- package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
- package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -3
- package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
- package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
- package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
- package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -2
- package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
- package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
- package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
- package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
- package/lib/types/contexts/common/ConversationState.d.ts +4 -2
- package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -2
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +12 -9
- package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
- package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
- package/package.json +12 -13
package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
export class DefaultActivitySubscriber {
|
|
3
|
+
constructor() {
|
|
4
|
+
_defineProperty(this, "observer", void 0);
|
|
5
|
+
}
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
|
+
async next(activity) {
|
|
8
|
+
this.observer.next(activity);
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
import { ActivityStreamHandler } from "../ActivityStreamHandler";
|
|
3
|
+
export class PauseActivitySubscriber {
|
|
4
|
+
constructor() {
|
|
5
|
+
_defineProperty(this, "observer", void 0);
|
|
6
|
+
}
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
+
async apply(activity) {
|
|
9
|
+
await ActivityStreamHandler.restorePromise;
|
|
10
|
+
return activity;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
|
|
14
|
+
applicable(activity) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
+
async next(activity) {
|
|
20
|
+
if (this.applicable(activity)) {
|
|
21
|
+
return await this.apply(activity);
|
|
22
|
+
}
|
|
23
|
+
return activity;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
import { DefaultActivitySubscriber } from "./ActivitySubscriber/DefaultActivitySubscriber";
|
|
3
|
+
import { shareObservable } from "./shareObservable";
|
|
4
|
+
export class ChatAdapterShim {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
+
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
|
+
constructor(chatAdapter) {
|
|
13
|
+
_defineProperty(this, "chatAdapter", void 0);
|
|
14
|
+
_defineProperty(this, "activityObserver", void 0);
|
|
15
|
+
_defineProperty(this, "subscribers", void 0);
|
|
16
|
+
this.subscribers = [];
|
|
17
|
+
this.chatAdapter = {
|
|
18
|
+
...chatAdapter,
|
|
19
|
+
activity$: shareObservable(
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21
|
+
new window.Observable(observer => {
|
|
22
|
+
this.activityObserver = observer;
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
+
const abortController = new window.AbortController();
|
|
25
|
+
(async () => {
|
|
26
|
+
try {
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
|
+
for await (let activity of chatAdapter.activities({
|
|
29
|
+
signal: abortController.signal
|
|
30
|
+
})) {
|
|
31
|
+
for (const subscriber of [...this.subscribers, new DefaultActivitySubscriber()]) {
|
|
32
|
+
subscriber.observer = this.activityObserver;
|
|
33
|
+
activity = await subscriber.next(activity);
|
|
34
|
+
if (!activity) {
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
observer.complete();
|
|
40
|
+
} catch (error) {
|
|
41
|
+
observer.error(error);
|
|
42
|
+
}
|
|
43
|
+
})();
|
|
44
|
+
return () => {
|
|
45
|
+
abortController.abort();
|
|
46
|
+
};
|
|
47
|
+
}))
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
|
+
addSubscriber(subscriber) {
|
|
53
|
+
this.subscribers.push(subscriber);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
export class Deferred {
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4
|
+
|
|
5
|
+
constructor() {
|
|
6
|
+
_defineProperty(this, "_promise", void 0);
|
|
7
|
+
_defineProperty(this, "_resolve", void 0);
|
|
8
|
+
_defineProperty(this, "_reject", () => {
|
|
9
|
+
return;
|
|
10
|
+
});
|
|
11
|
+
_defineProperty(this, "resolve", value => {
|
|
12
|
+
this._resolve(value);
|
|
13
|
+
});
|
|
14
|
+
_defineProperty(this, "reject", value => {
|
|
15
|
+
this._reject(value);
|
|
16
|
+
});
|
|
17
|
+
this._promise = new Promise((resolve, reject) => {
|
|
18
|
+
this._resolve = resolve;
|
|
19
|
+
this._reject = reject;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
+
|
|
25
|
+
get promise() {
|
|
26
|
+
return this._promise;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
|
|
2
|
+
import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
|
|
3
|
+
import { isNullOrEmptyString } from "../../../common/utils";
|
|
4
|
+
const getAuthClientFunction = chatConfig => {
|
|
5
|
+
let authClientFunction = undefined;
|
|
6
|
+
if (chatConfig !== null && chatConfig !== void 0 && chatConfig.LiveChatConfigAuthSettings) {
|
|
7
|
+
var _chatConfig$LiveChatC;
|
|
8
|
+
authClientFunction = (chatConfig === null || chatConfig === void 0 ? void 0 : (_chatConfig$LiveChatC = chatConfig.LiveChatConfigAuthSettings) === null || _chatConfig$LiveChatC === void 0 ? void 0 : _chatConfig$LiveChatC.msdyn_javascriptclientfunction) ?? undefined;
|
|
9
|
+
}
|
|
10
|
+
return authClientFunction;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
+
const handleAuthentication = async (chatSDK, chatConfig, getAuthToken) => {
|
|
15
|
+
const authClientFunction = getAuthClientFunction(chatConfig);
|
|
16
|
+
if (getAuthToken && authClientFunction) {
|
|
17
|
+
TelemetryHelper.logActionEvent(LogLevel.INFO, {
|
|
18
|
+
Event: TelemetryEvent.GetAuthTokenCalled
|
|
19
|
+
});
|
|
20
|
+
const token = await getAuthToken(authClientFunction);
|
|
21
|
+
if (!isNullOrEmptyString(token)) {
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
|
+
chatSDK.setAuthTokenProvider(async () => {
|
|
24
|
+
return token;
|
|
25
|
+
});
|
|
26
|
+
return true;
|
|
27
|
+
} else {
|
|
28
|
+
TelemetryHelper.logActionEvent(LogLevel.ERROR, {
|
|
29
|
+
Event: TelemetryEvent.ReceivedNullOrEmptyToken
|
|
30
|
+
});
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
+
const removeAuthTokenProvider = chatSDK => {
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
|
+
chatSDK.authenticatedUserToken = null;
|
|
41
|
+
};
|
|
42
|
+
export { getAuthClientFunction, handleAuthentication, removeAuthTokenProvider };
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { NotificationHandler } from "../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler";
|
|
2
2
|
import { NotificationLevel } from "../../webchatcontainerstateful/webchatcontroller/enums/NotificationLevel";
|
|
3
3
|
import { NotificationScenarios } from "../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios";
|
|
4
|
-
import { defaultMiddlewareLocalizedTexts } from "../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts";
|
|
4
|
+
import { defaultMiddlewareLocalizedTexts } from "../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts";
|
|
5
|
+
import { ChatAdapterShim } from "./ChatAdapterShim";
|
|
6
|
+
import { PauseActivitySubscriber } from "./ActivitySubscriber/PauseActivitySubscriber";
|
|
5
7
|
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
9
|
export const createAdapter = async chatSDK => {
|
|
7
10
|
const chatAdapterOptionalParams = {
|
|
8
11
|
IC3Adapter: {
|
|
@@ -11,11 +14,9 @@ export const createAdapter = async chatSDK => {
|
|
|
11
14
|
if (notification.id === NotificationScenarios.InternetConnection && notification.level == NotificationLevel.Error) {
|
|
12
15
|
notification.message = defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_NO_INTERNET_CONNECTION;
|
|
13
16
|
}
|
|
14
|
-
|
|
15
17
|
if (notification.id === NotificationScenarios.InternetConnection && notification.level == NotificationLevel.Success) {
|
|
16
18
|
notification.message = defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_INTERNET_BACK_ONLINE;
|
|
17
19
|
}
|
|
18
|
-
|
|
19
20
|
if (notification.id && notification.message) {
|
|
20
21
|
NotificationHandler.notifyWithLevel(notification.id, notification.message, notification.level);
|
|
21
22
|
}
|
|
@@ -23,5 +24,12 @@ export const createAdapter = async chatSDK => {
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
};
|
|
26
|
-
|
|
27
|
+
let adapter = await chatSDK.createChatAdapter(chatAdapterOptionalParams);
|
|
28
|
+
//so far, there is no need to convert to the shim adapter when using visual tests
|
|
29
|
+
if (chatSDK.isMockModeOn !== true) {
|
|
30
|
+
adapter = new ChatAdapterShim(adapter);
|
|
31
|
+
adapter.addSubscriber(new PauseActivitySubscriber());
|
|
32
|
+
return adapter.chatAdapter;
|
|
33
|
+
}
|
|
34
|
+
return adapter;
|
|
27
35
|
};
|
|
@@ -3,25 +3,13 @@ import React from "react";
|
|
|
3
3
|
import { decodeComponentString } from "@microsoft/omnichannel-chat-components";
|
|
4
4
|
import { shouldShowFooter } from "../../../controller/componentController";
|
|
5
5
|
export const createFooter = (props, state) => {
|
|
6
|
-
var _props$
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
controlProps: { ...((_props$footerProps = props.footerProps) === null || _props$footerProps === void 0 ? void 0 : _props$footerProps.controlProps),
|
|
10
|
-
hideDownloadTranscriptButton: true,
|
|
11
|
-
hideEmailTranscriptButton: true,
|
|
12
|
-
hideAudioNotificationButton: true
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
const footer = !((_props$controlProps = props.controlProps) !== null && _props$controlProps !== void 0 && _props$controlProps.hideFooter) && shouldShowFooter(state) ? decodeComponentString((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.footer) || /*#__PURE__*/React.createElement(FooterStateful, {
|
|
6
|
+
var _props$controlProps, _props$componentOverr;
|
|
7
|
+
const hideFooterDisplay = !((_props$controlProps = props.controlProps) !== null && _props$controlProps !== void 0 && _props$controlProps.hideFooter) && shouldShowFooter(state) ? false : true;
|
|
8
|
+
const footer = decodeComponentString((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.footer) || /*#__PURE__*/React.createElement(FooterStateful, {
|
|
16
9
|
footerProps: props.footerProps,
|
|
17
10
|
downloadTranscriptProps: props.downloadTranscriptProps,
|
|
18
11
|
audioNotificationProps: props.audioNotificationProps,
|
|
19
|
-
hideFooterDisplay:
|
|
20
|
-
}) : decodeComponentString((_props$componentOverr2 = props.componentOverrides) === null || _props$componentOverr2 === void 0 ? void 0 : _props$componentOverr2.footer) || /*#__PURE__*/React.createElement(FooterStateful, {
|
|
21
|
-
footerProps: footerPropsHidden,
|
|
22
|
-
downloadTranscriptProps: props.downloadTranscriptProps,
|
|
23
|
-
audioNotificationProps: props.audioNotificationProps,
|
|
24
|
-
hideFooterDisplay: true
|
|
12
|
+
hideFooterDisplay: hideFooterDisplay
|
|
25
13
|
});
|
|
26
14
|
return footer;
|
|
27
15
|
};
|
|
@@ -2,7 +2,8 @@ import { Constants } from "../../../common/Constants";
|
|
|
2
2
|
import { NotificationHandler } from "../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler";
|
|
3
3
|
import { NotificationScenarios } from "../../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios";
|
|
4
4
|
import { defaultMiddlewareLocalizedTexts } from "../../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts";
|
|
5
|
-
|
|
5
|
+
import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
|
|
6
|
+
import { LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
|
|
6
7
|
const isInternetConnected = async () => {
|
|
7
8
|
try {
|
|
8
9
|
const response = await fetch(Constants.internetConnectionTestUrl);
|
|
@@ -12,19 +13,23 @@ const isInternetConnected = async () => {
|
|
|
12
13
|
return false;
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
|
-
|
|
16
16
|
export const createInternetConnectionChangeHandler = async () => {
|
|
17
17
|
const handler = async () => {
|
|
18
18
|
const connected = await isInternetConnected();
|
|
19
|
-
|
|
20
19
|
if (!connected) {
|
|
20
|
+
TelemetryHelper.logActionEvent(LogLevel.WARN, {
|
|
21
|
+
Event: TelemetryEvent.NetworkDisconnected
|
|
22
|
+
});
|
|
21
23
|
NotificationHandler.notifyError(NotificationScenarios.InternetConnection, defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_NO_INTERNET_CONNECTION);
|
|
22
24
|
} else {
|
|
25
|
+
TelemetryHelper.logActionEvent(LogLevel.WARN, {
|
|
26
|
+
Event: TelemetryEvent.NetworkReconnected
|
|
27
|
+
});
|
|
23
28
|
NotificationHandler.notifySuccess(NotificationScenarios.InternetConnection, defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_INTERNET_BACK_ONLINE);
|
|
24
29
|
}
|
|
25
|
-
};
|
|
26
|
-
|
|
30
|
+
};
|
|
27
31
|
|
|
32
|
+
// Checking connection status on online & offline events due to possible false positives
|
|
28
33
|
window.addEventListener("online", () => handler(), false);
|
|
29
34
|
window.addEventListener("offline", () => handler(), false);
|
|
30
35
|
};
|
|
@@ -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";
|
|
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
|
-
|
|
17
|
-
//
|
|
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(``, 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",
|
|
53
|
-
|
|
54
|
-
"
|
|
55
|
-
|
|
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(``, 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
|
};
|
|
@@ -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";
|
|
@@ -9,8 +10,10 @@ import createAttachmentMiddleware from "../../../webchatcontainerstateful/webcha
|
|
|
9
10
|
import { createAvatarMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware";
|
|
10
11
|
import { createMarkdown } from "../createMarkdown";
|
|
11
12
|
import { groupActivitiesMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware";
|
|
12
|
-
import { typingIndicatorMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware";
|
|
13
|
+
import { typingIndicatorMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware";
|
|
14
|
+
import { createWebChatTelemetry } from "../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger";
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
202
|
-
|
|
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: {
|
|
@@ -473,8 +473,8 @@ export const dummyDefaultProps = {
|
|
|
473
473
|
onConfirm: () => {},
|
|
474
474
|
// Detailed implementation omitted
|
|
475
475
|
onCancel: () => {} // Detailed implementation omitted
|
|
476
|
-
|
|
477
476
|
},
|
|
477
|
+
|
|
478
478
|
styleProps: {
|
|
479
479
|
generalStyleProps: {
|
|
480
480
|
backgroundColor: "#FFFFFF",
|
|
@@ -779,6 +779,7 @@ export const dummyDefaultProps = {
|
|
|
779
779
|
},
|
|
780
780
|
audioNotificationButtonProps: {
|
|
781
781
|
id: "oc-lcw-footer-audionotification-button",
|
|
782
|
+
type: "icon",
|
|
782
783
|
ariaLabel: "Turn sound off",
|
|
783
784
|
toggleAriaLabel: "Turn sound on",
|
|
784
785
|
iconName: "Volume3",
|
|
@@ -804,8 +805,10 @@ export const dummyDefaultProps = {
|
|
|
804
805
|
padding: "0 10px 5px 10px"
|
|
805
806
|
},
|
|
806
807
|
downloadTranscriptButtonStyleProps: {
|
|
807
|
-
|
|
808
|
-
|
|
808
|
+
icon: {
|
|
809
|
+
color: "blue",
|
|
810
|
+
fontSize: 16
|
|
811
|
+
},
|
|
809
812
|
height: "25px",
|
|
810
813
|
lineHeight: "25px",
|
|
811
814
|
width: "25px"
|
|
@@ -815,8 +818,10 @@ export const dummyDefaultProps = {
|
|
|
815
818
|
backgroundColor: "#C8C8C8"
|
|
816
819
|
},
|
|
817
820
|
emailTranscriptButtonStyleProps: {
|
|
818
|
-
|
|
819
|
-
|
|
821
|
+
cicon: {
|
|
822
|
+
color: "blue",
|
|
823
|
+
fontSize: 16
|
|
824
|
+
},
|
|
820
825
|
height: "25px",
|
|
821
826
|
lineHeight: "25px",
|
|
822
827
|
width: "25px"
|
|
@@ -826,8 +831,10 @@ export const dummyDefaultProps = {
|
|
|
826
831
|
backgroundColor: "#C8C8C8"
|
|
827
832
|
},
|
|
828
833
|
audioNotificationButtonStyleProps: {
|
|
829
|
-
|
|
830
|
-
|
|
834
|
+
icon: {
|
|
835
|
+
color: "blue",
|
|
836
|
+
fontSize: 16
|
|
837
|
+
},
|
|
831
838
|
height: "25px",
|
|
832
839
|
lineHeight: "25px",
|
|
833
840
|
width: "25px"
|
|
@@ -878,7 +885,7 @@ export const dummyDefaultProps = {
|
|
|
878
885
|
className: undefined
|
|
879
886
|
},
|
|
880
887
|
closeButtonProps: {
|
|
881
|
-
id: "oc-lcw-header-
|
|
888
|
+
id: "oc-lcw-header-close-button",
|
|
882
889
|
type: "icon",
|
|
883
890
|
iconName: "ChromeClose",
|
|
884
891
|
ariaLabel: "Close",
|
|
@@ -1057,8 +1064,8 @@ export const dummyDefaultProps = {
|
|
|
1057
1064
|
titleText: "We're Offline",
|
|
1058
1065
|
subtitleText: "No agents available",
|
|
1059
1066
|
onClick: () => {} // Detailed implementation omitted
|
|
1060
|
-
|
|
1061
1067
|
},
|
|
1068
|
+
|
|
1062
1069
|
styleProps: {
|
|
1063
1070
|
// ...[Existing chat button style props]
|
|
1064
1071
|
iconStyleProps: {
|
|
@@ -1076,8 +1083,8 @@ export const dummyDefaultProps = {
|
|
|
1076
1083
|
text: "We're Offline"
|
|
1077
1084
|
},
|
|
1078
1085
|
onMinimizeClick: () => {} // Detailed implementation omitted
|
|
1079
|
-
|
|
1080
1086
|
},
|
|
1087
|
+
|
|
1081
1088
|
styleProps: {
|
|
1082
1089
|
// ...[Existing chat button style props]
|
|
1083
1090
|
generalStyleProps: {
|
|
@@ -1174,7 +1181,8 @@ export const dummyDefaultProps = {
|
|
|
1174
1181
|
backgroundColor: "#FFFFFF",
|
|
1175
1182
|
borderColor: "#F1F1F1"
|
|
1176
1183
|
}
|
|
1177
|
-
}
|
|
1184
|
+
},
|
|
1185
|
+
isCustomerVoiceSurveyCompact: undefined
|
|
1178
1186
|
},
|
|
1179
1187
|
proactiveChatPaneProps: {
|
|
1180
1188
|
componentOverrides: {
|
|
@@ -1194,7 +1202,17 @@ export const dummyDefaultProps = {
|
|
|
1194
1202
|
hideSubtitle: false,
|
|
1195
1203
|
subtitleText: "Live chat support!",
|
|
1196
1204
|
hideCloseButton: false,
|
|
1197
|
-
|
|
1205
|
+
closeButtonProps: {
|
|
1206
|
+
id: "oc-lcw-proactivechat-closebutton",
|
|
1207
|
+
type: "icon",
|
|
1208
|
+
iconName: "ChromeClose",
|
|
1209
|
+
ariaLabel: "Close",
|
|
1210
|
+
imageIconProps: undefined,
|
|
1211
|
+
text: "Close",
|
|
1212
|
+
onClick: undefined,
|
|
1213
|
+
className: undefined,
|
|
1214
|
+
hideButtonTitle: true
|
|
1215
|
+
},
|
|
1198
1216
|
isBodyContainerHorizantal: false,
|
|
1199
1217
|
hideBodyTitle: false,
|
|
1200
1218
|
bodyTitleText: "Hi! Have any questions? I am here to help.",
|
|
@@ -1204,8 +1222,8 @@ export const dummyDefaultProps = {
|
|
|
1204
1222
|
onClose: () => {},
|
|
1205
1223
|
// Detailed implementation omitted
|
|
1206
1224
|
onStart: () => {} // Detailed implementation omitted
|
|
1207
|
-
|
|
1208
1225
|
},
|
|
1226
|
+
|
|
1209
1227
|
styleProps: {
|
|
1210
1228
|
generalStyleProps: {
|
|
1211
1229
|
backgroundColor: "rgb(255, 255, 255)",
|
|
@@ -1336,8 +1354,8 @@ export const dummyDefaultProps = {
|
|
|
1336
1354
|
onStartNewChat: () => {},
|
|
1337
1355
|
// Detailed implementation omitted
|
|
1338
1356
|
onMinimize: () => {} // Detailed implementation omitted
|
|
1339
|
-
|
|
1340
1357
|
},
|
|
1358
|
+
|
|
1341
1359
|
styleProps: {
|
|
1342
1360
|
generalStyleProps: {
|
|
1343
1361
|
backgroundColor: "rgb(255, 255, 255)",
|
|
@@ -1422,9 +1440,8 @@ export const dummyDefaultProps = {
|
|
|
1422
1440
|
startNewChatButtonClassName: undefined
|
|
1423
1441
|
}
|
|
1424
1442
|
},
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
reconnectId: undefined
|
|
1443
|
+
reconnectId: undefined,
|
|
1444
|
+
redirectInSameWindow: undefined
|
|
1428
1445
|
},
|
|
1429
1446
|
styleProps: {
|
|
1430
1447
|
generalStyles: {
|
|
@@ -1496,7 +1513,7 @@ export const dummyDefaultProps = {
|
|
|
1496
1513
|
internalErrorBoxClass: undefined,
|
|
1497
1514
|
internalRenderErrorBox: undefined,
|
|
1498
1515
|
locale: "en-US",
|
|
1499
|
-
onTelemetry:
|
|
1516
|
+
onTelemetry: createWebChatTelemetry(),
|
|
1500
1517
|
overrideLocalizedStrings: undefined,
|
|
1501
1518
|
renderMarkdown: createMarkdown(false, false),
|
|
1502
1519
|
scrollToEndButtonMiddleware: undefined,
|
|
@@ -1544,6 +1561,12 @@ export const dummyDefaultProps = {
|
|
|
1544
1561
|
lineHeight: "16px",
|
|
1545
1562
|
padding: "0px 10px 0 10px"
|
|
1546
1563
|
},
|
|
1564
|
+
userMessageBoxStyles: {
|
|
1565
|
+
maxWidth: "75%"
|
|
1566
|
+
},
|
|
1567
|
+
systemMessageBoxStyles: {
|
|
1568
|
+
maxWidth: "75%"
|
|
1569
|
+
},
|
|
1547
1570
|
typingIndicatorStyleProps: {
|
|
1548
1571
|
marginLeft: "10px",
|
|
1549
1572
|
marginBottom: "5px",
|
|
@@ -1663,6 +1686,9 @@ export const dummyDefaultProps = {
|
|
|
1663
1686
|
},
|
|
1664
1687
|
attachmentSizeStyles: {
|
|
1665
1688
|
display: "none"
|
|
1689
|
+
},
|
|
1690
|
+
receivedMessageAnchorStyles: {
|
|
1691
|
+
color: "white"
|
|
1666
1692
|
}
|
|
1667
1693
|
},
|
|
1668
1694
|
localizedTexts: {
|
|
@@ -1686,7 +1712,16 @@ export const dummyDefaultProps = {
|
|
|
1686
1712
|
MIDDLEWARE_MESSAGE_RETRY: "Retry",
|
|
1687
1713
|
PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
|
|
1688
1714
|
MARKDOWN_EXTERNAL_LINK_ALT: "Opens in a new window; external."
|
|
1715
|
+
},
|
|
1716
|
+
botMagicCode: {
|
|
1717
|
+
disabled: false,
|
|
1718
|
+
fwdUrl: ""
|
|
1719
|
+
},
|
|
1720
|
+
adaptiveCardStyles: {
|
|
1721
|
+
background: "white",
|
|
1722
|
+
color: "black"
|
|
1689
1723
|
}
|
|
1690
1724
|
},
|
|
1691
|
-
telemetryConfig: undefined
|
|
1725
|
+
telemetryConfig: undefined,
|
|
1726
|
+
getAuthToken: undefined
|
|
1692
1727
|
};
|