@microsoft/omnichannel-chat-widget 0.1.0-main.d5846c0 → 0.1.0-main.d5a92f2
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 +32 -0
- package/lib/cjs/assets/Icons.js +4 -2
- package/lib/cjs/common/Constants.js +28 -161
- package/lib/cjs/common/KeyCodes.js +3 -4
- package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -5
- package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -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 +44 -27
- package/lib/cjs/common/telemetry/TelemetryHelper.js +19 -58
- package/lib/cjs/common/telemetry/TelemetryManager.js +3 -32
- package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
- package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
- package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
- package/lib/cjs/common/utils.js +65 -93
- package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
- package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +14 -26
- package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
- package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -32
- 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 +11 -42
- package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +14 -43
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
- package/lib/cjs/components/headerstateful/HeaderStateful.js +17 -31
- package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
- package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +39 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +20 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
- package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +64 -0
- package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -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 -43
- package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
- package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +70 -40
- package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
- package/lib/cjs/components/livechatwidget/common/endChat.js +95 -48
- package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
- package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
- package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
- package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +32 -53
- package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +78 -128
- package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
- package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
- package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
- package/lib/cjs/components/livechatwidget/common/startChat.js +219 -122
- 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/interfaces/IScrollBarProps.js +1 -0
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +309 -216
- package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
- package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
- package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
- package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
- 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 +10 -42
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +3 -33
- package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -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 +12 -27
- package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -17
- 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 +12 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
- 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 +27 -37
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -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 +1 -12
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -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 +0 -12
- 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 +3 -3
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -26
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +13 -13
- package/lib/cjs/contexts/createReducer.js +164 -102
- package/lib/cjs/controller/componentController.js +4 -33
- 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 +15 -36
- package/lib/esm/assets/Icons.js +2 -1
- package/lib/esm/common/Constants.js +25 -148
- package/lib/esm/common/KeyCodes.js +3 -3
- package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
- package/lib/esm/common/storage/default/defaultCacheManager.js +18 -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 +48 -24
- package/lib/esm/common/telemetry/TelemetryHelper.js +19 -46
- package/lib/esm/common/telemetry/TelemetryManager.js +3 -19
- package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
- package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
- package/lib/esm/common/utils.js +60 -50
- package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
- package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +16 -12
- package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
- package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +9 -13
- 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 +13 -23
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +14 -36
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
- package/lib/esm/components/headerstateful/HeaderStateful.js +17 -16
- package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
- package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +13 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
- package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +57 -0
- package/lib/esm/components/livechatwidget/common/Deferred.js +30 -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/defaultScrollBarProps.js +7 -0
- package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +72 -27
- package/lib/esm/components/livechatwidget/common/endChat.js +97 -32
- package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
- package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
- package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
- package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +35 -22
- package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +78 -110
- package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
- package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
- package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
- package/lib/esm/components/livechatwidget/common/startChat.js +219 -100
- package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
- package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +314 -160
- package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
- package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
- package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
- package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
- 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 +13 -26
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +5 -9
- package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -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 +12 -19
- package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -13
- 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 +5 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
- 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 +27 -22
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
- 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 +3 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -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 +0 -5
- 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 +3 -3
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -26
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +13 -9
- package/lib/esm/contexts/createReducer.js +164 -99
- package/lib/esm/controller/componentController.js +5 -4
- 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 +15 -26
- package/lib/types/assets/Icons.d.ts +1 -0
- package/lib/types/common/Constants.d.ts +20 -0
- package/lib/types/common/interfaces/IContextDataStore.d.ts +1 -1
- 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 +31 -9
- package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
- package/lib/types/common/utils.d.ts +7 -3
- package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -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/defaultProps/defaultScrollBarProps.d.ts +2 -0
- package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -7
- package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
- package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -1
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -2
- package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
- package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
- 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 +0 -2
- package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -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/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/contexts/common/ConversationState.d.ts +3 -2
- package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +5 -3
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -25
- package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
- package/package.json +5 -4
|
@@ -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";
|
|
@@ -10,8 +11,9 @@ import { createAvatarMiddleware } from "../../../webchatcontainerstateful/webcha
|
|
|
10
11
|
import { createMarkdown } from "../createMarkdown";
|
|
11
12
|
import { groupActivitiesMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware";
|
|
12
13
|
import { typingIndicatorMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware";
|
|
13
|
-
import { createWebChatTelemetry } from "../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger";
|
|
14
|
+
import { createWebChatTelemetry } from "../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger";
|
|
14
15
|
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
15
17
|
export const dummyDefaultProps = {
|
|
16
18
|
audioNotificationProps: {
|
|
17
19
|
audioSrc: NewMessageNotificationSoundBase64
|
|
@@ -166,24 +168,28 @@ export const dummyDefaultProps = {
|
|
|
166
168
|
},
|
|
167
169
|
audioCallButtonStyleProps: {
|
|
168
170
|
borderRadius: "50%",
|
|
169
|
-
color: "#FFFFFF",
|
|
170
171
|
backgroundColor: "#008000",
|
|
171
172
|
lineHeight: "40px",
|
|
172
173
|
height: "40px",
|
|
173
174
|
width: "40px",
|
|
174
|
-
|
|
175
|
+
icon: {
|
|
176
|
+
fontSize: 18,
|
|
177
|
+
color: "#FFFFFF"
|
|
178
|
+
}
|
|
175
179
|
},
|
|
176
180
|
audioCallButtonHoverStyleProps: {
|
|
177
181
|
filter: "brightness(0.8)"
|
|
178
182
|
},
|
|
179
183
|
videoCallButtonStyleProps: {
|
|
180
184
|
borderRadius: "50%",
|
|
181
|
-
color: "#FFFFFF",
|
|
182
185
|
backgroundColor: "#008000",
|
|
183
186
|
lineHeight: "40px",
|
|
184
187
|
height: "40px",
|
|
185
188
|
width: "40px",
|
|
186
|
-
|
|
189
|
+
icon: {
|
|
190
|
+
fontSize: 18,
|
|
191
|
+
color: "#FFFFFF"
|
|
192
|
+
}
|
|
187
193
|
},
|
|
188
194
|
videoCallButtonHoverStyleProps: {
|
|
189
195
|
filter: "brightness(0.8)"
|
|
@@ -194,13 +200,15 @@ export const dummyDefaultProps = {
|
|
|
194
200
|
},
|
|
195
201
|
declineCallButtonStyleProps: {
|
|
196
202
|
borderRadius: "50%",
|
|
197
|
-
color: "#FFFFFF",
|
|
198
203
|
backgroundColor: "#DC0000",
|
|
199
204
|
lineHeight: "40px",
|
|
200
205
|
height: "40px",
|
|
201
206
|
width: "40px",
|
|
202
|
-
|
|
203
|
-
|
|
207
|
+
marginLeft: "5px",
|
|
208
|
+
icon: {
|
|
209
|
+
fontSize: 18,
|
|
210
|
+
color: "#FFFFFF"
|
|
211
|
+
}
|
|
204
212
|
},
|
|
205
213
|
incomingCallTitleStyleProps: {
|
|
206
214
|
margin: "0 5px",
|
|
@@ -316,7 +324,10 @@ export const dummyDefaultProps = {
|
|
|
316
324
|
hideChatTextContainer: false,
|
|
317
325
|
hideChatSubtitle: false,
|
|
318
326
|
hideChatTitle: false,
|
|
319
|
-
hideNotificationBubble: true
|
|
327
|
+
hideNotificationBubble: true,
|
|
328
|
+
unreadMessageString: "new messages",
|
|
329
|
+
largeUnreadMessageString: "99+",
|
|
330
|
+
ariaLabelUnreadMessageString: "you have new messages"
|
|
320
331
|
},
|
|
321
332
|
styleProps: {
|
|
322
333
|
generalStyleProps: {
|
|
@@ -462,8 +473,8 @@ export const dummyDefaultProps = {
|
|
|
462
473
|
onConfirm: () => {},
|
|
463
474
|
// Detailed implementation omitted
|
|
464
475
|
onCancel: () => {} // Detailed implementation omitted
|
|
465
|
-
|
|
466
476
|
},
|
|
477
|
+
|
|
467
478
|
styleProps: {
|
|
468
479
|
generalStyleProps: {
|
|
469
480
|
backgroundColor: "#FFFFFF",
|
|
@@ -568,7 +579,7 @@ export const dummyDefaultProps = {
|
|
|
568
579
|
hideProactiveChatPane: false,
|
|
569
580
|
hideReconnectChatPane: false,
|
|
570
581
|
hideWebChatContainer: false,
|
|
571
|
-
|
|
582
|
+
hideStartChatButton: false
|
|
572
583
|
},
|
|
573
584
|
directLine: new MockAdapter(),
|
|
574
585
|
downloadTranscriptProps: {
|
|
@@ -768,6 +779,7 @@ export const dummyDefaultProps = {
|
|
|
768
779
|
},
|
|
769
780
|
audioNotificationButtonProps: {
|
|
770
781
|
id: "oc-lcw-footer-audionotification-button",
|
|
782
|
+
type: "icon",
|
|
771
783
|
ariaLabel: "Turn sound off",
|
|
772
784
|
toggleAriaLabel: "Turn sound on",
|
|
773
785
|
iconName: "Volume3",
|
|
@@ -793,8 +805,10 @@ export const dummyDefaultProps = {
|
|
|
793
805
|
padding: "0 10px 5px 10px"
|
|
794
806
|
},
|
|
795
807
|
downloadTranscriptButtonStyleProps: {
|
|
796
|
-
|
|
797
|
-
|
|
808
|
+
icon: {
|
|
809
|
+
color: "blue",
|
|
810
|
+
fontSize: 16
|
|
811
|
+
},
|
|
798
812
|
height: "25px",
|
|
799
813
|
lineHeight: "25px",
|
|
800
814
|
width: "25px"
|
|
@@ -804,8 +818,10 @@ export const dummyDefaultProps = {
|
|
|
804
818
|
backgroundColor: "#C8C8C8"
|
|
805
819
|
},
|
|
806
820
|
emailTranscriptButtonStyleProps: {
|
|
807
|
-
|
|
808
|
-
|
|
821
|
+
cicon: {
|
|
822
|
+
color: "blue",
|
|
823
|
+
fontSize: 16
|
|
824
|
+
},
|
|
809
825
|
height: "25px",
|
|
810
826
|
lineHeight: "25px",
|
|
811
827
|
width: "25px"
|
|
@@ -815,8 +831,10 @@ export const dummyDefaultProps = {
|
|
|
815
831
|
backgroundColor: "#C8C8C8"
|
|
816
832
|
},
|
|
817
833
|
audioNotificationButtonStyleProps: {
|
|
818
|
-
|
|
819
|
-
|
|
834
|
+
icon: {
|
|
835
|
+
color: "blue",
|
|
836
|
+
fontSize: 16
|
|
837
|
+
},
|
|
820
838
|
height: "25px",
|
|
821
839
|
lineHeight: "25px",
|
|
822
840
|
width: "25px"
|
|
@@ -867,7 +885,7 @@ export const dummyDefaultProps = {
|
|
|
867
885
|
className: undefined
|
|
868
886
|
},
|
|
869
887
|
closeButtonProps: {
|
|
870
|
-
id: "oc-lcw-header-
|
|
888
|
+
id: "oc-lcw-header-close-button",
|
|
871
889
|
type: "icon",
|
|
872
890
|
iconName: "ChromeClose",
|
|
873
891
|
ariaLabel: "Close",
|
|
@@ -1046,8 +1064,8 @@ export const dummyDefaultProps = {
|
|
|
1046
1064
|
titleText: "We're Offline",
|
|
1047
1065
|
subtitleText: "No agents available",
|
|
1048
1066
|
onClick: () => {} // Detailed implementation omitted
|
|
1049
|
-
|
|
1050
1067
|
},
|
|
1068
|
+
|
|
1051
1069
|
styleProps: {
|
|
1052
1070
|
// ...[Existing chat button style props]
|
|
1053
1071
|
iconStyleProps: {
|
|
@@ -1065,8 +1083,8 @@ export const dummyDefaultProps = {
|
|
|
1065
1083
|
text: "We're Offline"
|
|
1066
1084
|
},
|
|
1067
1085
|
onMinimizeClick: () => {} // Detailed implementation omitted
|
|
1068
|
-
|
|
1069
1086
|
},
|
|
1087
|
+
|
|
1070
1088
|
styleProps: {
|
|
1071
1089
|
// ...[Existing chat button style props]
|
|
1072
1090
|
generalStyleProps: {
|
|
@@ -1163,7 +1181,8 @@ export const dummyDefaultProps = {
|
|
|
1163
1181
|
backgroundColor: "#FFFFFF",
|
|
1164
1182
|
borderColor: "#F1F1F1"
|
|
1165
1183
|
}
|
|
1166
|
-
}
|
|
1184
|
+
},
|
|
1185
|
+
isCustomerVoiceSurveyCompact: undefined
|
|
1167
1186
|
},
|
|
1168
1187
|
proactiveChatPaneProps: {
|
|
1169
1188
|
componentOverrides: {
|
|
@@ -1183,7 +1202,17 @@ export const dummyDefaultProps = {
|
|
|
1183
1202
|
hideSubtitle: false,
|
|
1184
1203
|
subtitleText: "Live chat support!",
|
|
1185
1204
|
hideCloseButton: false,
|
|
1186
|
-
|
|
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
|
+
},
|
|
1187
1216
|
isBodyContainerHorizantal: false,
|
|
1188
1217
|
hideBodyTitle: false,
|
|
1189
1218
|
bodyTitleText: "Hi! Have any questions? I am here to help.",
|
|
@@ -1193,8 +1222,8 @@ export const dummyDefaultProps = {
|
|
|
1193
1222
|
onClose: () => {},
|
|
1194
1223
|
// Detailed implementation omitted
|
|
1195
1224
|
onStart: () => {} // Detailed implementation omitted
|
|
1196
|
-
|
|
1197
1225
|
},
|
|
1226
|
+
|
|
1198
1227
|
styleProps: {
|
|
1199
1228
|
generalStyleProps: {
|
|
1200
1229
|
backgroundColor: "rgb(255, 255, 255)",
|
|
@@ -1325,8 +1354,8 @@ export const dummyDefaultProps = {
|
|
|
1325
1354
|
onStartNewChat: () => {},
|
|
1326
1355
|
// Detailed implementation omitted
|
|
1327
1356
|
onMinimize: () => {} // Detailed implementation omitted
|
|
1328
|
-
|
|
1329
1357
|
},
|
|
1358
|
+
|
|
1330
1359
|
styleProps: {
|
|
1331
1360
|
generalStyleProps: {
|
|
1332
1361
|
backgroundColor: "rgb(255, 255, 255)",
|
|
@@ -1411,8 +1440,6 @@ export const dummyDefaultProps = {
|
|
|
1411
1440
|
startNewChatButtonClassName: undefined
|
|
1412
1441
|
}
|
|
1413
1442
|
},
|
|
1414
|
-
authClientFunction: undefined,
|
|
1415
|
-
isReconnectEnabled: undefined,
|
|
1416
1443
|
reconnectId: undefined,
|
|
1417
1444
|
redirectInSameWindow: undefined
|
|
1418
1445
|
},
|
|
@@ -1534,6 +1561,12 @@ export const dummyDefaultProps = {
|
|
|
1534
1561
|
lineHeight: "16px",
|
|
1535
1562
|
padding: "0px 10px 0 10px"
|
|
1536
1563
|
},
|
|
1564
|
+
userMessageBoxStyles: {
|
|
1565
|
+
maxWidth: "75%"
|
|
1566
|
+
},
|
|
1567
|
+
systemMessageBoxStyles: {
|
|
1568
|
+
maxWidth: "75%"
|
|
1569
|
+
},
|
|
1537
1570
|
typingIndicatorStyleProps: {
|
|
1538
1571
|
marginLeft: "10px",
|
|
1539
1572
|
marginBottom: "5px",
|
|
@@ -1653,6 +1686,9 @@ export const dummyDefaultProps = {
|
|
|
1653
1686
|
},
|
|
1654
1687
|
attachmentSizeStyles: {
|
|
1655
1688
|
display: "none"
|
|
1689
|
+
},
|
|
1690
|
+
receivedMessageAnchorStyles: {
|
|
1691
|
+
color: "white"
|
|
1656
1692
|
}
|
|
1657
1693
|
},
|
|
1658
1694
|
localizedTexts: {
|
|
@@ -1676,7 +1712,16 @@ export const dummyDefaultProps = {
|
|
|
1676
1712
|
MIDDLEWARE_MESSAGE_RETRY: "Retry",
|
|
1677
1713
|
PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE: "{0} field is required",
|
|
1678
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"
|
|
1679
1723
|
}
|
|
1680
1724
|
},
|
|
1681
|
-
telemetryConfig: undefined
|
|
1725
|
+
telemetryConfig: undefined,
|
|
1726
|
+
getAuthToken: undefined
|
|
1682
1727
|
};
|
|
@@ -7,53 +7,95 @@ import { WebChatStoreLoader } from "../../webchatcontainerstateful/webchatcontro
|
|
|
7
7
|
import { defaultWebChatContainerStatefulProps } from "../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps";
|
|
8
8
|
import { PostChatSurveyMode } from "../../postchatsurveypanestateful/enums/PostChatSurveyMode";
|
|
9
9
|
import { Constants } from "../../../common/Constants";
|
|
10
|
-
import { getWidgetEndChatEventName } from "../../../common/utils";
|
|
10
|
+
import { addDelayInMs, getWidgetEndChatEventName } from "../../../common/utils";
|
|
11
|
+
import { getAuthClientFunction, handleAuthentication } from "./authHelper";
|
|
11
12
|
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
14
|
const prepareEndChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state) => {
|
|
13
|
-
var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4;
|
|
14
|
-
|
|
15
|
+
var _state$domainStates$l, _state$domainStates$l2, _state$domainStates$l3, _state$domainStates$l4, _conversationDetails;
|
|
15
16
|
const isPostChatEnabled = (_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.msdyn_postconversationsurveyenable;
|
|
16
17
|
const postChatSurveyMode = (_state$domainStates$l3 = state.domainStates.liveChatConfig) === null || _state$domainStates$l3 === void 0 ? void 0 : (_state$domainStates$l4 = _state$domainStates$l3.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l4 === void 0 ? void 0 : _state$domainStates$l4.msdyn_postconversationsurveymode;
|
|
17
|
-
const conversationDetails = await chatSDK.getConversationDetails();
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
//Unable to end chat if token has expired
|
|
20
|
+
if (props.getAuthToken) {
|
|
21
|
+
const authClientFunction = getAuthClientFunction(props.chatConfig);
|
|
22
|
+
if (props.getAuthToken && authClientFunction) {
|
|
23
|
+
// set auth token to chat sdk before start chat
|
|
24
|
+
const authSuccess = await handleAuthentication(chatSDK, props.chatConfig, props.getAuthToken);
|
|
25
|
+
if (!authSuccess) {
|
|
26
|
+
TelemetryHelper.logActionEvent(LogLevel.ERROR, {
|
|
27
|
+
Event: TelemetryEvent.GetAuthTokenFailed,
|
|
28
|
+
ExceptionDetails: {
|
|
29
|
+
exception: "Unable to get auth token during end chat"
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37
|
+
let conversationDetails = undefined;
|
|
38
|
+
try {
|
|
39
|
+
conversationDetails = await chatSDK.getConversationDetails();
|
|
40
|
+
} catch (erorr) {
|
|
41
|
+
TelemetryHelper.logActionEvent(LogLevel.ERROR, {
|
|
42
|
+
Event: TelemetryEvent.GetConversationDetailsException,
|
|
43
|
+
ExceptionDetails: {
|
|
44
|
+
exception: `Failed to get conversation details: ${erorr}`
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (isPostChatEnabled === "true" && ((_conversationDetails = conversationDetails) === null || _conversationDetails === void 0 ? void 0 : _conversationDetails.canRenderPostChat) === Constants.truePascal) {
|
|
20
49
|
const skipEndChatSDK = false;
|
|
21
50
|
const skipCloseChat = true;
|
|
22
|
-
await
|
|
23
|
-
|
|
51
|
+
const chatSession = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getCurrentLiveChatContext());
|
|
52
|
+
await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, false);
|
|
53
|
+
if (chatSession) {
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
55
|
+
chatSDK.chatToken = chatSession.chatToken ?? {};
|
|
56
|
+
chatSDK.requestId = chatSession.requestId;
|
|
57
|
+
}
|
|
24
58
|
if (postChatSurveyMode === PostChatSurveyMode.Embed) {
|
|
59
|
+
dispatch({
|
|
60
|
+
type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
61
|
+
payload: ConversationState.PostchatLoading
|
|
62
|
+
});
|
|
63
|
+
await addDelayInMs(Constants.PostChatLoadingDurationInMs);
|
|
25
64
|
const loadPostChatEvent = {
|
|
26
65
|
eventName: BroadcastEvent.LoadPostChatSurvey
|
|
27
66
|
};
|
|
28
67
|
BroadcastService.postMessage(loadPostChatEvent);
|
|
29
68
|
} else if (postChatSurveyMode === PostChatSurveyMode.Link) {
|
|
69
|
+
var _props$webChatContain, _props$webChatContain2;
|
|
30
70
|
dispatch({
|
|
31
71
|
type: LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
32
72
|
payload: ConversationState.InActive
|
|
33
73
|
});
|
|
74
|
+
|
|
75
|
+
// Disable SendBox
|
|
76
|
+
if ((props === null || props === void 0 ? void 0 : (_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : (_props$webChatContain2 = _props$webChatContain.renderingMiddlewareProps) === null || _props$webChatContain2 === void 0 ? void 0 : _props$webChatContain2.hideSendboxOnConversationEnd) !== false) {
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
78
|
+
setWebChatStyles(styles => {
|
|
79
|
+
return {
|
|
80
|
+
...styles,
|
|
81
|
+
hideSendBox: true
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
}
|
|
34
85
|
}
|
|
35
|
-
|
|
36
|
-
await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
|
|
86
|
+
return;
|
|
37
87
|
}
|
|
38
|
-
|
|
39
|
-
|
|
88
|
+
await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
|
|
89
|
+
};
|
|
40
90
|
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
92
|
const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
|
|
42
93
|
if (!skipEndChatSDK) {
|
|
43
94
|
try {
|
|
44
95
|
TelemetryHelper.logSDKEvent(LogLevel.INFO, {
|
|
45
96
|
Event: TelemetryEvent.EndChatSDKCall
|
|
46
97
|
});
|
|
47
|
-
await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
|
|
48
|
-
|
|
49
|
-
dispatch({
|
|
50
|
-
type: LiveChatWidgetActionType.SET_CHAT_TOKEN,
|
|
51
|
-
payload: undefined
|
|
52
|
-
});
|
|
53
|
-
dispatch({
|
|
54
|
-
type: LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
|
|
55
|
-
payload: undefined
|
|
56
|
-
});
|
|
98
|
+
await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat());
|
|
57
99
|
} catch (ex) {
|
|
58
100
|
TelemetryHelper.logSDKEvent(LogLevel.ERROR, {
|
|
59
101
|
Event: TelemetryEvent.EndChatSDKCallFailed,
|
|
@@ -65,14 +107,31 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
65
107
|
}
|
|
66
108
|
}
|
|
67
109
|
|
|
110
|
+
// Need to clear these states immediately when chat ended from OC.
|
|
111
|
+
dispatch({
|
|
112
|
+
type: LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
|
|
113
|
+
payload: undefined
|
|
114
|
+
});
|
|
115
|
+
dispatch({
|
|
116
|
+
type: LiveChatWidgetActionType.SET_CHAT_TOKEN,
|
|
117
|
+
payload: undefined
|
|
118
|
+
});
|
|
119
|
+
dispatch({
|
|
120
|
+
type: LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
|
|
121
|
+
payload: undefined
|
|
122
|
+
});
|
|
123
|
+
dispatch({
|
|
124
|
+
type: LiveChatWidgetActionType.SET_RECONNECT_ID,
|
|
125
|
+
payload: undefined
|
|
126
|
+
});
|
|
68
127
|
if (!skipCloseChat) {
|
|
69
128
|
try {
|
|
70
|
-
var _props$
|
|
71
|
-
|
|
129
|
+
var _props$webChatContain3;
|
|
72
130
|
adapter === null || adapter === void 0 ? void 0 : adapter.end();
|
|
73
131
|
setAdapter(undefined);
|
|
74
|
-
setWebChatStyles({
|
|
75
|
-
...
|
|
132
|
+
setWebChatStyles({
|
|
133
|
+
...defaultWebChatContainerStatefulProps.webChatStyles,
|
|
134
|
+
...((_props$webChatContain3 = props.webChatContainerProps) === null || _props$webChatContain3 === void 0 ? void 0 : _props$webChatContain3.webChatStyles)
|
|
76
135
|
});
|
|
77
136
|
WebChatStoreLoader.store = null;
|
|
78
137
|
dispatch({
|
|
@@ -91,14 +150,21 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
91
150
|
type: LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
|
|
92
151
|
payload: null
|
|
93
152
|
});
|
|
94
|
-
|
|
95
|
-
|
|
153
|
+
dispatch({
|
|
154
|
+
type: LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
|
|
155
|
+
payload: 0
|
|
156
|
+
});
|
|
157
|
+
dispatch({
|
|
158
|
+
type: LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS,
|
|
159
|
+
payload: {
|
|
160
|
+
proactiveChatBodyTitle: "",
|
|
161
|
+
proactiveChatEnablePrechat: false,
|
|
162
|
+
proactiveChatInNewWindow: false
|
|
163
|
+
}
|
|
96
164
|
});
|
|
97
|
-
|
|
98
165
|
if (postMessageToOtherTab) {
|
|
99
|
-
var _chatSDK$omnichannelC, _chatSDK$omnichannelC2;
|
|
100
|
-
|
|
101
|
-
const endChatEventName = getWidgetEndChatEventName(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.widgetId);
|
|
166
|
+
var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps;
|
|
167
|
+
const endChatEventName = getWidgetEndChatEventName(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "");
|
|
102
168
|
BroadcastService.postMessage({
|
|
103
169
|
eventName: endChatEventName
|
|
104
170
|
});
|
|
@@ -113,5 +179,4 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
113
179
|
}
|
|
114
180
|
}
|
|
115
181
|
};
|
|
116
|
-
|
|
117
182
|
export { prepareEndChat, endChat };
|
|
@@ -2,7 +2,6 @@ import { shouldShowChatButton, shouldShowProactiveChatPane } from "../../../cont
|
|
|
2
2
|
import { defaultLiveChatWidgetGeneralStyles } from "./defaultStyles/defaultLiveChatWidgetGeneralStyles";
|
|
3
3
|
export const getGeneralStylesForButton = state => {
|
|
4
4
|
let generalStylesForButton = defaultLiveChatWidgetGeneralStyles;
|
|
5
|
-
|
|
6
5
|
if (!shouldShowChatButton(state) && !shouldShowProactiveChatPane(state)) {
|
|
7
6
|
generalStylesForButton = Object.assign({}, defaultLiveChatWidgetGeneralStyles, {
|
|
8
7
|
boxShadow: "0px 0px 2px rgba(0, 0, 0, 0.16), 0px 4px 8px rgba(0, 0, 0, 0.12)",
|
|
@@ -12,6 +11,5 @@ export const getGeneralStylesForButton = state => {
|
|
|
12
11
|
padding: "0.5"
|
|
13
12
|
});
|
|
14
13
|
}
|
|
15
|
-
|
|
16
14
|
return generalStylesForButton;
|
|
17
15
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
|
|
2
|
-
import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
|
|
2
|
+
import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
|
|
3
3
|
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4
5
|
export const initCallingSdk = async (chatSDK, setVoiceVideoCallingSDK) => {
|
|
5
6
|
try {
|
|
6
7
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -13,18 +14,15 @@ export const initCallingSdk = async (chatSDK, setVoiceVideoCallingSDK) => {
|
|
|
13
14
|
});
|
|
14
15
|
return true;
|
|
15
16
|
}
|
|
16
|
-
|
|
17
17
|
return false;
|
|
18
18
|
} catch (error) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
19
|
+
TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
|
|
20
|
+
Event: TelemetryEvent.CallingSDKLoadFailed,
|
|
21
|
+
ExceptionDetails: {
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
|
+
exception: error.message
|
|
24
|
+
}
|
|
25
|
+
});
|
|
28
26
|
return false;
|
|
29
27
|
}
|
|
30
28
|
};
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { defaultConfirmationPaneLocalizedTexts } from "../../confirmationpanestateful/common/defaultProps/defaultConfirmationPaneLocalizedTexts";
|
|
2
2
|
export const initConfirmationPropsComposer = props => {
|
|
3
3
|
var _props$confirmationPa, _props$footerProps, _props$footerProps$co, _props$footerProps2, _props$footerProps2$c, _props$confirmationPa2;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const confirmationPanelocalizedTexts = {
|
|
5
|
+
...defaultConfirmationPaneLocalizedTexts,
|
|
6
6
|
...(props === null || props === void 0 ? void 0 : (_props$confirmationPa = props.confirmationPaneProps) === null || _props$confirmationPa === void 0 ? void 0 : _props$confirmationPa.confirmationPaneLocalizedTexts)
|
|
7
7
|
};
|
|
8
8
|
let confirmationPaneInputs;
|
|
9
9
|
const emailTranscriptDisabled = ((_props$footerProps = props.footerProps) === null || _props$footerProps === void 0 ? void 0 : (_props$footerProps$co = _props$footerProps.controlProps) === null || _props$footerProps$co === void 0 ? void 0 : _props$footerProps$co.hideEmailTranscriptButton) ?? false;
|
|
10
10
|
const downloadTranscriptDisabled = ((_props$footerProps2 = props.footerProps) === null || _props$footerProps2 === void 0 ? void 0 : (_props$footerProps2$c = _props$footerProps2.controlProps) === null || _props$footerProps2$c === void 0 ? void 0 : _props$footerProps2$c.hideDownloadTranscriptButton) ?? false;
|
|
11
|
-
|
|
12
11
|
if (!emailTranscriptDisabled && !downloadTranscriptDisabled) {
|
|
13
12
|
confirmationPaneInputs = {
|
|
14
13
|
title: confirmationPanelocalizedTexts.CLOSE_CONFIRMATION_DIALOG_TITLE_FOR_EMAIL_AND_DOWNLOAD_TRANSCRIPT_ENABLED,
|
|
@@ -30,8 +29,8 @@ export const initConfirmationPropsComposer = props => {
|
|
|
30
29
|
description: confirmationPanelocalizedTexts.CLOSE_CONFIRMATION_DIALOG_DESCRIPTION_DEFAULT
|
|
31
30
|
};
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
const confirmationPaneProps = {
|
|
33
|
+
...props.confirmationPaneProps,
|
|
35
34
|
controlProps: {
|
|
36
35
|
titleText: confirmationPaneInputs.title,
|
|
37
36
|
subtitleText: confirmationPaneInputs.description,
|