@microsoft/omnichannel-chat-widget 0.1.0-main.fdf1fdf → 1.0.1-main.068a14e
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 +7 -34
- package/lib/cjs/assets/Icons.js +4 -2
- package/lib/cjs/common/Constants.js +31 -171
- 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 +111 -0
- package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
- package/lib/cjs/common/telemetry/TelemetryConstants.js +63 -27
- package/lib/cjs/common/telemetry/TelemetryHelper.js +21 -59
- 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 +40 -106
- package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
- package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +2 -24
- package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
- package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +18 -49
- package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -37
- 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 +7 -45
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
- package/lib/cjs/components/headerstateful/HeaderStateful.js +19 -31
- package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
- package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +5 -10
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +139 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -6
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +7 -12
- package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +14 -20
- package/lib/cjs/components/livechatwidget/common/Deferred.js +6 -11
- package/lib/cjs/components/livechatwidget/common/agentEndConversationHelper.js +36 -0
- package/lib/cjs/components/livechatwidget/common/authHelper.js +13 -15
- package/lib/cjs/components/livechatwidget/common/createAdapter.js +4 -13
- 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 +16 -24
- package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
- package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +127 -49
- package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
- package/lib/cjs/components/livechatwidget/common/endChat.js +65 -70
- 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 +25 -101
- package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +82 -151
- package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
- package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +256 -12
- package/lib/cjs/components/livechatwidget/common/shareObservable.js +4 -8
- package/lib/cjs/components/livechatwidget/common/startChat.js +185 -128
- 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 +284 -253
- package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +37 -25
- package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
- package/lib/cjs/components/loadingpanestateful/interfaces/IStartChatErrorPaneControlProps.js +1 -0
- package/lib/cjs/components/loadingpanestateful/interfaces/IStartChatErrorPaneProps.js +1 -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 +35 -24
- 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 -38
- package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
- package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +8 -24
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +21 -37
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +0 -7
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
- package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
- package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +5 -18
- package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
- package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -15
- package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -5
- 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 +17 -41
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -61
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
- 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 +2 -30
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +20 -33
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +81 -45
- 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/ConversationEndEntity.js +12 -0
- package/lib/cjs/contexts/common/ConversationState.js +0 -1
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +34 -29
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +18 -13
- package/lib/cjs/contexts/createReducer.js +190 -110
- package/lib/cjs/controller/componentController.js +2 -31
- 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/hooks/useDebounce.js +28 -0
- package/lib/cjs/hooks/useWindowDimensions.js +30 -0
- package/lib/cjs/index.js +0 -5
- package/lib/cjs/plugins/newMessageEventHandler.js +29 -36
- package/lib/esm/assets/Icons.js +2 -1
- package/lib/esm/common/Constants.js +27 -158
- 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 +104 -0
- package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
- package/lib/esm/common/telemetry/TelemetryConstants.js +67 -24
- package/lib/esm/common/telemetry/TelemetryHelper.js +21 -47
- 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 +38 -53
- package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
- package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
- package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
- package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +20 -30
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -16
- 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 +7 -35
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
- package/lib/esm/components/headerstateful/HeaderStateful.js +19 -16
- package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
- package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +5 -7
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +134 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -4
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +7 -9
- package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +14 -16
- package/lib/esm/components/livechatwidget/common/Deferred.js +6 -9
- package/lib/esm/components/livechatwidget/common/agentEndConversationHelper.js +30 -0
- package/lib/esm/components/livechatwidget/common/authHelper.js +13 -10
- package/lib/esm/components/livechatwidget/common/createAdapter.js +6 -6
- 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 +18 -18
- package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
- package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +128 -35
- package/lib/esm/components/livechatwidget/common/endChat.js +69 -57
- 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 +28 -67
- package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +80 -129
- package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
- package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +259 -6
- package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
- package/lib/esm/components/livechatwidget/common/startChat.js +184 -99
- 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 +287 -188
- package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +38 -13
- package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
- package/lib/esm/components/loadingpanestateful/interfaces/IStartChatErrorPaneControlProps.js +1 -0
- package/lib/esm/components/loadingpanestateful/interfaces/IStartChatErrorPaneProps.js +1 -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 +35 -12
- 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 +12 -22
- package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
- package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +8 -6
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +19 -11
- package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
- package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
- package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +5 -14
- package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
- package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
- package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -3
- 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 +17 -26
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
- 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 +2 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
- 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 +4 -28
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +20 -22
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +81 -40
- 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/ConversationEndEntity.js +5 -0
- package/lib/esm/contexts/common/ConversationState.js +0 -1
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +34 -29
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +18 -9
- package/lib/esm/contexts/createReducer.js +190 -107
- package/lib/esm/controller/componentController.js +3 -2
- 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/hooks/useDebounce.js +22 -0
- package/lib/esm/hooks/useWindowDimensions.js +23 -0
- package/lib/esm/plugins/newMessageEventHandler.js +29 -26
- package/lib/types/assets/Icons.d.ts +1 -0
- package/lib/types/common/Constants.d.ts +21 -0
- 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 +45 -9
- package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
- package/lib/types/common/telemetry/definitions/Payload.d.ts +1 -0
- package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +4 -0
- package/lib/types/common/utils.d.ts +1 -0
- package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +0 -7
- package/lib/types/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.d.ts +9 -0
- package/lib/types/components/livechatwidget/common/agentEndConversationHelper.d.ts +6 -0
- package/lib/types/components/livechatwidget/common/authHelper.d.ts +3 -2
- package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
- package/lib/types/components/livechatwidget/common/initWebChatComposer.d.ts +1 -1
- package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -7
- package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +6 -1
- package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -4
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +3 -1
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +6 -2
- package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
- package/lib/types/components/loadingpanestateful/LoadingPaneStateful.d.ts +1 -2
- package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
- package/lib/types/components/loadingpanestateful/interfaces/IStartChatErrorPaneControlProps.d.ts +4 -0
- package/lib/types/components/loadingpanestateful/interfaces/IStartChatErrorPaneProps.d.ts +4 -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 -1
- package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
- 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/timestamps/SendingTimestamp.d.ts +1 -1
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.d.ts +1 -1
- package/lib/types/contexts/common/ConversationEndEntity.d.ts +4 -0
- package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +9 -3
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +34 -28
- package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
- package/lib/types/hooks/useDebounce.d.ts +3 -0
- package/lib/types/hooks/useWindowDimensions.d.ts +4 -0
- package/package.json +3 -3
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any */
|
|
2
|
+
|
|
2
3
|
import { ChatReconnectIconBase64, CloseChatButtonIconBase64, ModernChatIconBase64, ProactiveChatBannerBase64 } from "@microsoft/omnichannel-chat-components";
|
|
3
4
|
import MockAdapter from "../../../webchatcontainerstateful/common/mockadapter";
|
|
4
5
|
import { NewMessageNotificationSoundBase64 } from "../../../../assets/Audios";
|
|
@@ -8,10 +9,11 @@ import { createActivityMiddleware } from "../../../webchatcontainerstateful/webc
|
|
|
8
9
|
import createAttachmentMiddleware from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware";
|
|
9
10
|
import { createAvatarMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware";
|
|
10
11
|
import { createMarkdown } from "../createMarkdown";
|
|
12
|
+
import { createWebChatTelemetry } from "../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger";
|
|
11
13
|
import { groupActivitiesMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware";
|
|
12
14
|
import { typingIndicatorMiddleware } from "../../../webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware";
|
|
13
|
-
import { createWebChatTelemetry } from "../../../webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger"; // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
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",
|
|
@@ -318,7 +326,8 @@ export const dummyDefaultProps = {
|
|
|
318
326
|
hideChatTitle: false,
|
|
319
327
|
hideNotificationBubble: true,
|
|
320
328
|
unreadMessageString: "new messages",
|
|
321
|
-
largeUnreadMessageString: "99+"
|
|
329
|
+
largeUnreadMessageString: "99+",
|
|
330
|
+
ariaLabelUnreadMessageString: "you have new messages"
|
|
322
331
|
},
|
|
323
332
|
styleProps: {
|
|
324
333
|
generalStyleProps: {
|
|
@@ -398,6 +407,7 @@ export const dummyDefaultProps = {
|
|
|
398
407
|
width: "90px",
|
|
399
408
|
cursor: "pointer",
|
|
400
409
|
overflow: "hidden",
|
|
410
|
+
padding: "0px",
|
|
401
411
|
whiteSpace: "nowrap"
|
|
402
412
|
},
|
|
403
413
|
subtitleStyleProps: {
|
|
@@ -405,12 +415,14 @@ export const dummyDefaultProps = {
|
|
|
405
415
|
fontWeight: "200",
|
|
406
416
|
color: "#666",
|
|
407
417
|
overflow: "hidden",
|
|
418
|
+
padding: "0px",
|
|
408
419
|
fontFamily: "'Segoe UI',Arial,sans-serif",
|
|
409
420
|
display: "block",
|
|
410
421
|
alignItems: "center",
|
|
411
422
|
margin: "0px 14px 0px 14px",
|
|
412
423
|
textOverflow: "ellipsis !important",
|
|
413
|
-
width: "
|
|
424
|
+
width: "90px",
|
|
425
|
+
whiteSpace: "nowrap",
|
|
414
426
|
cursor: "pointer"
|
|
415
427
|
},
|
|
416
428
|
classNames: {
|
|
@@ -460,28 +472,30 @@ export const dummyDefaultProps = {
|
|
|
460
472
|
cancelButtonText: "Cancel",
|
|
461
473
|
cancelButtonAriaLabel: "Cancel. Return to Chat",
|
|
462
474
|
brightnessValueOnDim: "0.2",
|
|
463
|
-
disableDimLayer: false,
|
|
464
475
|
onConfirm: () => {},
|
|
465
476
|
// Detailed implementation omitted
|
|
466
477
|
onCancel: () => {} // Detailed implementation omitted
|
|
467
|
-
|
|
468
478
|
},
|
|
479
|
+
|
|
469
480
|
styleProps: {
|
|
470
481
|
generalStyleProps: {
|
|
482
|
+
display: "flex",
|
|
483
|
+
minHeight: "160px",
|
|
484
|
+
maxHeight: "300px",
|
|
485
|
+
boxSizing: "border-box",
|
|
471
486
|
backgroundColor: "#FFFFFF",
|
|
472
487
|
borderRadius: "2px",
|
|
473
488
|
color: "black",
|
|
474
489
|
fontFamily: "Segoe UI, Arial, sans-serif",
|
|
475
490
|
fontSize: "14px",
|
|
476
|
-
height: "160px",
|
|
477
491
|
padding: "10px 20px",
|
|
478
|
-
width: "262px",
|
|
479
492
|
position: "absolute",
|
|
480
493
|
justifyContent: "center",
|
|
481
494
|
alignItems: "center",
|
|
482
|
-
display: "flex",
|
|
483
495
|
flexFlow: "column",
|
|
484
|
-
zIndex: "9999"
|
|
496
|
+
zIndex: "9999",
|
|
497
|
+
left: "26px",
|
|
498
|
+
right: "26px"
|
|
485
499
|
},
|
|
486
500
|
titleStyleProps: {
|
|
487
501
|
color: "#323130",
|
|
@@ -503,10 +517,14 @@ export const dummyDefaultProps = {
|
|
|
503
517
|
},
|
|
504
518
|
buttonGroupStyleProps: {
|
|
505
519
|
display: "flex",
|
|
520
|
+
width: "auto",
|
|
521
|
+
height: "auto",
|
|
522
|
+
boxSizing: "border-box",
|
|
506
523
|
flexFlow: "row",
|
|
507
524
|
justifyContent: "center",
|
|
508
525
|
alignItems: "center",
|
|
509
|
-
gap: "10px"
|
|
526
|
+
gap: "10px",
|
|
527
|
+
marginBottom: "10px"
|
|
510
528
|
},
|
|
511
529
|
confirmButtonStyleProps: {
|
|
512
530
|
backgroundColor: "rgba(9,72,159,1)",
|
|
@@ -561,6 +579,7 @@ export const dummyDefaultProps = {
|
|
|
561
579
|
hideCallingContainer: false,
|
|
562
580
|
hideChatButton: false,
|
|
563
581
|
hideConfirmationPane: false,
|
|
582
|
+
hideErrorUIPane: false,
|
|
564
583
|
hideFooter: false,
|
|
565
584
|
hideHeader: false,
|
|
566
585
|
hideLoadingPane: false,
|
|
@@ -570,7 +589,7 @@ export const dummyDefaultProps = {
|
|
|
570
589
|
hideProactiveChatPane: false,
|
|
571
590
|
hideReconnectChatPane: false,
|
|
572
591
|
hideWebChatContainer: false,
|
|
573
|
-
|
|
592
|
+
hideStartChatButton: false
|
|
574
593
|
},
|
|
575
594
|
directLine: new MockAdapter(),
|
|
576
595
|
downloadTranscriptProps: {
|
|
@@ -611,7 +630,6 @@ export const dummyDefaultProps = {
|
|
|
611
630
|
cancelButtonText: "Cancel",
|
|
612
631
|
cancelButtonAriaLabel: "Cancel",
|
|
613
632
|
brightnessValueOnDim: "0.2",
|
|
614
|
-
disableDimLayer: false,
|
|
615
633
|
onSend: undefined,
|
|
616
634
|
onCancel: undefined,
|
|
617
635
|
checkInput: undefined
|
|
@@ -770,6 +788,7 @@ export const dummyDefaultProps = {
|
|
|
770
788
|
},
|
|
771
789
|
audioNotificationButtonProps: {
|
|
772
790
|
id: "oc-lcw-footer-audionotification-button",
|
|
791
|
+
type: "icon",
|
|
773
792
|
ariaLabel: "Turn sound off",
|
|
774
793
|
toggleAriaLabel: "Turn sound on",
|
|
775
794
|
iconName: "Volume3",
|
|
@@ -795,8 +814,10 @@ export const dummyDefaultProps = {
|
|
|
795
814
|
padding: "0 10px 5px 10px"
|
|
796
815
|
},
|
|
797
816
|
downloadTranscriptButtonStyleProps: {
|
|
798
|
-
|
|
799
|
-
|
|
817
|
+
icon: {
|
|
818
|
+
color: "blue",
|
|
819
|
+
fontSize: 16
|
|
820
|
+
},
|
|
800
821
|
height: "25px",
|
|
801
822
|
lineHeight: "25px",
|
|
802
823
|
width: "25px"
|
|
@@ -806,8 +827,10 @@ export const dummyDefaultProps = {
|
|
|
806
827
|
backgroundColor: "#C8C8C8"
|
|
807
828
|
},
|
|
808
829
|
emailTranscriptButtonStyleProps: {
|
|
809
|
-
|
|
810
|
-
|
|
830
|
+
cicon: {
|
|
831
|
+
color: "blue",
|
|
832
|
+
fontSize: 16
|
|
833
|
+
},
|
|
811
834
|
height: "25px",
|
|
812
835
|
lineHeight: "25px",
|
|
813
836
|
width: "25px"
|
|
@@ -817,8 +840,10 @@ export const dummyDefaultProps = {
|
|
|
817
840
|
backgroundColor: "#C8C8C8"
|
|
818
841
|
},
|
|
819
842
|
audioNotificationButtonStyleProps: {
|
|
820
|
-
|
|
821
|
-
|
|
843
|
+
icon: {
|
|
844
|
+
color: "blue",
|
|
845
|
+
fontSize: 16
|
|
846
|
+
},
|
|
822
847
|
height: "25px",
|
|
823
848
|
lineHeight: "25px",
|
|
824
849
|
width: "25px"
|
|
@@ -869,7 +894,7 @@ export const dummyDefaultProps = {
|
|
|
869
894
|
className: undefined
|
|
870
895
|
},
|
|
871
896
|
closeButtonProps: {
|
|
872
|
-
id: "oc-lcw-header-
|
|
897
|
+
id: "oc-lcw-header-close-button",
|
|
873
898
|
type: "icon",
|
|
874
899
|
iconName: "ChromeClose",
|
|
875
900
|
ariaLabel: "Close",
|
|
@@ -1002,7 +1027,8 @@ export const dummyDefaultProps = {
|
|
|
1002
1027
|
margin: "0px 0px 20px 0px",
|
|
1003
1028
|
display: "flex",
|
|
1004
1029
|
order: 1,
|
|
1005
|
-
alignSelf: "auto"
|
|
1030
|
+
alignSelf: "auto",
|
|
1031
|
+
overflow: "visible"
|
|
1006
1032
|
},
|
|
1007
1033
|
iconImageProps: {
|
|
1008
1034
|
src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2lpKSI+DQo8cGF0aCBkPSJNMTUuMTk3MSAxNi4yNzI1VjI1Ljg1MjRDMTUuMTk3MSAyNy4zODExIDE1Ljg0MDEgMjcuNTIwMSAxNi45ODMyIDI3LjUyMDFMMjYuNzA4NCAyNy41NjQ5TDMxLjAwMzkgMzIuMzEyM1YyNy41NjQ5SDMxLjg5N0MzMi4xNzQzIDI3LjU2MzcgMzIuNDQ4NyAyNy41MDc3IDMyLjcwNDUgMjcuNDAwMUMzMi45NjAzIDI3LjI5MjQgMzMuMTkyNSAyNy4xMzUzIDMzLjM4NzggMjYuOTM3NUMzMy41ODMxIDI2LjczOTggMzMuNzM3NyAyNi41MDU0IDMzLjg0MjcgMjYuMjQ3N0MzMy45NDc4IDI1Ljk5IDM0LjAwMTMgMjUuNzE0IDM0LjAwMDEgMjUuNDM1NVYxNi4zMDM4QzM0LjAwMTMgMTYuMDI1NCAzMy45NDc4IDE1Ljc0OTQgMzMuODQyNyAxNS40OTE3QzMzLjczNzcgMTUuMjM0IDMzLjU4MzEgMTQuOTk5NiAzMy4zODc4IDE0LjgwMThDMzMuMTkyNSAxNC42MDQxIDMyLjk2MDMgMTQuNDQ2OSAzMi43MDQ1IDE0LjMzOTNDMzIuNDQ4NyAxNC4yMzE2IDMyLjE3NDMgMTQuMTc1NiAzMS44OTcgMTQuMTc0NEwxNy4zMDQ3IDE0LjE0MzFDMTcuMDI2OSAxNC4xNDM3IDE2Ljc1MiAxNC4xOTkyIDE2LjQ5NTcgMTQuMzA2NkMxNi4yMzk0IDE0LjQxNCAxNi4wMDY3IDE0LjU3MTEgMTUuODEwOSAxNC43Njg5QzE1LjYxNTIgMTQuOTY2NyAxNS40NjAyIDE1LjIwMTMgMTUuMzU0OCAxNS40NTkzQzE1LjI0OTUgMTUuNzE3MyAxNS4xOTU5IDE1Ljk5MzYgMTUuMTk3MSAxNi4yNzI1WiIgZmlsbD0iI0Q2RDZENiIvPg0KPC9nPg0KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjFfZGlpKSI+DQo8cGF0aCBkPSJNMjcuODczNSA2LjY5ODg3VjE4Ljg0MDlDMjcuODczNSAyMC43Nzg1IDI3LjA1NzIgMjAuOTU0NiAyNS42MDU4IDIwLjk1NDZMMTMuMjU4IDIxLjAxMTRMNy44MDQxNCAyNy4wMjg1VjIxLjAxMTRINi42NzAyN0M2LjMxODEyIDIxLjAwOTkgNS45Njk3MSAyMC45Mzg5IDUuNjQ0OTMgMjAuODAyNUM1LjMyMDE2IDIwLjY2NjEgNS4wMjUzOCAyMC40NjY4IDQuNzc3NDIgMjAuMjE2MkM0LjUyOTQ2IDE5Ljk2NTYgNC4zMzMxOSAxOS42Njg1IDQuMTk5OCAxOS4zNDE5QzQuMDY2NDIgMTkuMDE1MiAzLjk5ODUzIDE4LjY2NTUgNC4wMDAwMiAxOC4zMTI1VjYuNzM4NjRDMy45OTg1MyA2LjM4NTcxIDQuMDY2NDIgNi4wMzU5NSA0LjE5OTggNS43MDkzMUM0LjMzMzE5IDUuMzgyNjcgNC41Mjk0NiA1LjA4NTU3IDQuNzc3NDIgNC44MzQ5NUM1LjAyNTM4IDQuNTg0MzQgNS4zMjAxNiA0LjM4NTEzIDUuNjQ0OTMgNC4yNDg2OUM1Ljk2OTcxIDQuMTEyMjUgNi4zMTgxMiA0LjA0MTI2IDYuNjcwMjcgNC4wMzk3N0wyNS4xOTc2IDRDMjUuNTUwMiA0LjAwMDc0IDI1Ljg5OTMgNC4wNzExOCAyNi4yMjQ3IDQuMjA3MjlDMjYuNTUwMSA0LjM0MzM5IDI2Ljg0NTYgNC41NDI0OSAyNy4wOTQxIDQuNzkzMThDMjcuMzQyNyA1LjA0Mzg2IDI3LjUzOTUgNS4zNDEyMiAyNy42NzMyIDUuNjY4MjNDMjcuODA3IDUuOTk1MjMgMjcuODc1IDYuMzQ1NDYgMjcuODczNSA2LjY5ODg3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPg0KPC9nPg0KPGRlZnM+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2lpIiB4PSIxNS4xOTcxIiB5PSIxNC4xNDMxIiB3aWR0aD0iMTguODAzMSIgaGVpZ2h0PSIxOC4xNjkzIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC4yIiBkeT0iLTAuMiIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTcgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9InNoYXBlIiByZXN1bHQ9ImVmZmVjdDFfaW5uZXJTaGFkb3ciLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMC41IiBkeT0iLTAuNSIvPg0KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIvPg0KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAuMTYgMCIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9ImVmZmVjdDFfaW5uZXJTaGFkb3ciIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPC9maWx0ZXI+DQo8ZmlsdGVyIGlkPSJmaWx0ZXIxX2RpaSIgeD0iMCIgeT0iMCIgd2lkdGg9IjM5Ljg3MzYiIGhlaWdodD0iMzkuMDI4NSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+DQo8ZmVPZmZzZXQgZHg9IjQiIGR5PSI0Ii8+DQo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0Ii8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPg0KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz4NCjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPg0KPGZlT2Zmc2V0IGR4PSItMiIgZHk9Ii0yIi8+DQo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIi8+DQo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMC4xNyAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0ic2hhcGUiIHJlc3VsdD0iZWZmZWN0Ml9pbm5lclNoYWRvdyIvPg0KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+DQo8ZmVPZmZzZXQgZHg9Ii0xIiBkeT0iLTEiLz4NCjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiLz4NCjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDAgMSAwIDAgMCAwLjE2IDAiLz4NCjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJlZmZlY3QyX2lubmVyU2hhZG93IiByZXN1bHQ9ImVmZmVjdDNfaW5uZXJTaGFkb3ciLz4NCjwvZmlsdGVyPg0KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iLTAuMzk1MDAxIiB5MT0iMjMuMTI4MiIgeDI9IjIwLjEwNTgiIHkyPSIzNy44NDc0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQo8c3RvcCBzdG9wLWNvbG9yPSIjRUZFRkVGIi8+DQo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IndoaXRlIi8+DQo8L2xpbmVhckdyYWRpZW50Pg0KPC9kZWZzPg0KPC9zdmc+DQo=",
|
|
@@ -1048,8 +1074,8 @@ export const dummyDefaultProps = {
|
|
|
1048
1074
|
titleText: "We're Offline",
|
|
1049
1075
|
subtitleText: "No agents available",
|
|
1050
1076
|
onClick: () => {} // Detailed implementation omitted
|
|
1051
|
-
|
|
1052
1077
|
},
|
|
1078
|
+
|
|
1053
1079
|
styleProps: {
|
|
1054
1080
|
// ...[Existing chat button style props]
|
|
1055
1081
|
iconStyleProps: {
|
|
@@ -1067,8 +1093,8 @@ export const dummyDefaultProps = {
|
|
|
1067
1093
|
text: "We're Offline"
|
|
1068
1094
|
},
|
|
1069
1095
|
onMinimizeClick: () => {} // Detailed implementation omitted
|
|
1070
|
-
|
|
1071
1096
|
},
|
|
1097
|
+
|
|
1072
1098
|
styleProps: {
|
|
1073
1099
|
// ...[Existing chat button style props]
|
|
1074
1100
|
generalStyleProps: {
|
|
@@ -1094,7 +1120,8 @@ export const dummyDefaultProps = {
|
|
|
1094
1120
|
dir: "auto",
|
|
1095
1121
|
hideOOOHPane: false,
|
|
1096
1122
|
hideTitle: false,
|
|
1097
|
-
titleText: "Thanks for contacting us. You have reached us outside of our operating hours. An agent will respond when we open."
|
|
1123
|
+
titleText: "Thanks for contacting us. You have reached us outside of our operating hours. An agent will respond when we open. Please see link https://microsoft.com",
|
|
1124
|
+
openLinkInNewTab: true
|
|
1098
1125
|
},
|
|
1099
1126
|
styleProps: {
|
|
1100
1127
|
generalStyleProps: {
|
|
@@ -1137,7 +1164,7 @@ export const dummyDefaultProps = {
|
|
|
1137
1164
|
subtitleText: "Please take a moment to give us feedback about your chat experience. We are loading the survey for you now."
|
|
1138
1165
|
},
|
|
1139
1166
|
styleProps: {
|
|
1140
|
-
// ...[Existing
|
|
1167
|
+
// ...[Existing loading pane style props]
|
|
1141
1168
|
generalStyleProps: {
|
|
1142
1169
|
position: "initial",
|
|
1143
1170
|
width: "100%",
|
|
@@ -1165,6 +1192,48 @@ export const dummyDefaultProps = {
|
|
|
1165
1192
|
backgroundColor: "#FFFFFF",
|
|
1166
1193
|
borderColor: "#F1F1F1"
|
|
1167
1194
|
}
|
|
1195
|
+
},
|
|
1196
|
+
isCustomerVoiceSurveyCompact: undefined
|
|
1197
|
+
},
|
|
1198
|
+
preChatSurveyPaneProps: {
|
|
1199
|
+
controlProps: {
|
|
1200
|
+
id: "oc-lcw-prechatsurveypane-default",
|
|
1201
|
+
dir: "auto",
|
|
1202
|
+
hidePreChatSurveyPane: false,
|
|
1203
|
+
adaptiveCardHostConfig: "{\"fontFamily\":\"Segoe UI, Helvetica Neue, sans-serif\",\"containerStyles\":{\"default\":{\"foregroundColors\":{\"default\":{\"default\":\"#000000\"}},\"backgroundColor\":\"#FFFFFF\"}},\"actions\":{\"actionsOrientation\":\"Vertical\",\"actionAlignment\":\"stretch\"}}",
|
|
1204
|
+
payload: "{\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"type\":\"AdaptiveCard\",\"version\":\"1.1\",\"body\":[{\"type\":\"TextBlock\",\"weight\":\"bolder\",\"text\":\"Please answer below questions.\"},{\"type\":\"Input.Text\",\"id\":\"1e5e4e7a-8f0b-ec11-b6e6-000d3a305d38\",\"label\":\"name pls?\",\"maxLength\":100,\"isRequired\":true,\"errorMessage\":\"Name is required\"},{\"type\":\"Input.Text\",\"id\":\"7f8f5d6d-995e-ec11-8f8f-000d3a31376e\",\"label\":\"multi\\nmulti\\nmulti\",\"style\":\"text\",\"isMultiline\":true,\"maxLength\":250},{\"type\":\"Input.ChoiceSet\",\"id\":\"e4bdf7cb-995e-ec11-8f8f-000d3a31376e\",\"label\":\"options\",\"isMultiSelect\":false,\"value\":\"1\",\"style\":\"compact\",\"choices\":[{\"title\":\"one\",\"value\":\"1\"},{\"title\":\"two\",\"value\":\"2\"},{\"title\":\"three\",\"value\":\"3\"}]},{\"type\":\"Input.Toggle\",\"id\":\"b26011d2-995e-ec11-8f8f-000d3a31376e\",\"title\":\"consent\",\"valueOn\":\"True\",\"valueOff\":\"False\",\"value\":\"false\"},{\"type\":\"TextBlock\",\"isSubtle\":true,\"text\":\"Fields marked with * are mandatory.\",\"wrap\":true}],\"actions\":[{\"type\":\"Action.Submit\",\"title\":\"Submit\",\"data\":{\"Type\":\"InputSubmit\"}}]}",
|
|
1205
|
+
onSubmit: function () {} // Detailed implementation omitted
|
|
1206
|
+
},
|
|
1207
|
+
|
|
1208
|
+
styleProps: {
|
|
1209
|
+
generalStyleProps: {
|
|
1210
|
+
borderStyle: "solid",
|
|
1211
|
+
borderRadius: "4px",
|
|
1212
|
+
borderWidth: "0px",
|
|
1213
|
+
backgroundColor: "#FFFFFF",
|
|
1214
|
+
borderColor: "#F1F1F1",
|
|
1215
|
+
overflowY: "auto",
|
|
1216
|
+
height: "inherit",
|
|
1217
|
+
width: "inherit"
|
|
1218
|
+
},
|
|
1219
|
+
customButtonStyleProps: {
|
|
1220
|
+
backgroundColor: "rgb(49, 95, 162)",
|
|
1221
|
+
color: "#FFFFFF",
|
|
1222
|
+
fontFamily: "Segoe UI, Arial, sans-serif",
|
|
1223
|
+
fontSize: "15px",
|
|
1224
|
+
height: "48px"
|
|
1225
|
+
},
|
|
1226
|
+
adaptiveCardContainerStyleProps: {
|
|
1227
|
+
border: "1px solid #ECECEC",
|
|
1228
|
+
borderRadius: "4px",
|
|
1229
|
+
margin: "3%"
|
|
1230
|
+
},
|
|
1231
|
+
customTextInputStyleProps: {
|
|
1232
|
+
height: "20px"
|
|
1233
|
+
},
|
|
1234
|
+
customMultilineTextInputStyleProps: {
|
|
1235
|
+
height: "52px"
|
|
1236
|
+
}
|
|
1168
1237
|
}
|
|
1169
1238
|
},
|
|
1170
1239
|
proactiveChatPaneProps: {
|
|
@@ -1185,7 +1254,17 @@ export const dummyDefaultProps = {
|
|
|
1185
1254
|
hideSubtitle: false,
|
|
1186
1255
|
subtitleText: "Live chat support!",
|
|
1187
1256
|
hideCloseButton: false,
|
|
1188
|
-
|
|
1257
|
+
closeButtonProps: {
|
|
1258
|
+
id: "oc-lcw-proactivechat-closebutton",
|
|
1259
|
+
type: "icon",
|
|
1260
|
+
iconName: "ChromeClose",
|
|
1261
|
+
ariaLabel: "Close",
|
|
1262
|
+
imageIconProps: undefined,
|
|
1263
|
+
text: "Close",
|
|
1264
|
+
onClick: undefined,
|
|
1265
|
+
className: undefined,
|
|
1266
|
+
hideButtonTitle: true
|
|
1267
|
+
},
|
|
1189
1268
|
isBodyContainerHorizantal: false,
|
|
1190
1269
|
hideBodyTitle: false,
|
|
1191
1270
|
bodyTitleText: "Hi! Have any questions? I am here to help.",
|
|
@@ -1195,8 +1274,8 @@ export const dummyDefaultProps = {
|
|
|
1195
1274
|
onClose: () => {},
|
|
1196
1275
|
// Detailed implementation omitted
|
|
1197
1276
|
onStart: () => {} // Detailed implementation omitted
|
|
1198
|
-
|
|
1199
1277
|
},
|
|
1278
|
+
|
|
1200
1279
|
styleProps: {
|
|
1201
1280
|
generalStyleProps: {
|
|
1202
1281
|
backgroundColor: "rgb(255, 255, 255)",
|
|
@@ -1327,8 +1406,8 @@ export const dummyDefaultProps = {
|
|
|
1327
1406
|
onStartNewChat: () => {},
|
|
1328
1407
|
// Detailed implementation omitted
|
|
1329
1408
|
onMinimize: () => {} // Detailed implementation omitted
|
|
1330
|
-
|
|
1331
1409
|
},
|
|
1410
|
+
|
|
1332
1411
|
styleProps: {
|
|
1333
1412
|
generalStyleProps: {
|
|
1334
1413
|
backgroundColor: "rgb(255, 255, 255)",
|
|
@@ -1413,10 +1492,15 @@ export const dummyDefaultProps = {
|
|
|
1413
1492
|
startNewChatButtonClassName: undefined
|
|
1414
1493
|
}
|
|
1415
1494
|
},
|
|
1416
|
-
isReconnectEnabled: undefined,
|
|
1417
1495
|
reconnectId: undefined,
|
|
1418
1496
|
redirectInSameWindow: undefined
|
|
1419
1497
|
},
|
|
1498
|
+
startChatErrorPaneProps: {
|
|
1499
|
+
controlProps: {
|
|
1500
|
+
titleText: "We are unable to load chat at this time.",
|
|
1501
|
+
subtitleText: "Please try again later."
|
|
1502
|
+
}
|
|
1503
|
+
},
|
|
1420
1504
|
styleProps: {
|
|
1421
1505
|
generalStyles: {
|
|
1422
1506
|
position: "absolute",
|
|
@@ -1535,6 +1619,12 @@ export const dummyDefaultProps = {
|
|
|
1535
1619
|
lineHeight: "16px",
|
|
1536
1620
|
padding: "0px 10px 0 10px"
|
|
1537
1621
|
},
|
|
1622
|
+
userMessageBoxStyles: {
|
|
1623
|
+
maxWidth: "90%"
|
|
1624
|
+
},
|
|
1625
|
+
systemMessageBoxStyles: {
|
|
1626
|
+
maxWidth: "90%"
|
|
1627
|
+
},
|
|
1538
1628
|
typingIndicatorStyleProps: {
|
|
1539
1629
|
marginLeft: "10px",
|
|
1540
1630
|
marginBottom: "5px",
|
|
@@ -1654,6 +1744,9 @@ export const dummyDefaultProps = {
|
|
|
1654
1744
|
},
|
|
1655
1745
|
attachmentSizeStyles: {
|
|
1656
1746
|
display: "none"
|
|
1747
|
+
},
|
|
1748
|
+
receivedMessageAnchorStyles: {
|
|
1749
|
+
color: "white"
|
|
1657
1750
|
}
|
|
1658
1751
|
},
|
|
1659
1752
|
localizedTexts: {
|
|
@@ -1,62 +1,58 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
|
|
2
2
|
import { BroadcastService } from "@microsoft/omnichannel-chat-components";
|
|
3
3
|
import { ConversationState } from "../../../contexts/common/ConversationState";
|
|
4
4
|
import { LiveChatWidgetActionType } from "../../../contexts/common/LiveChatWidgetActionType";
|
|
5
5
|
import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
|
|
6
6
|
import { WebChatStoreLoader } from "../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader";
|
|
7
7
|
import { defaultWebChatContainerStatefulProps } from "../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { getWidgetEndChatEventName } from "../../../common/utils";
|
|
9
|
+
import { getAuthClientFunction, handleAuthentication } from "./authHelper";
|
|
10
|
+
import { checkPostChatEnabled, initiatePostChat } from "./setPostChatContextAndLoadSurvey";
|
|
11
|
+
import { ConversationEndEntity } from "../../../contexts/common/ConversationEndEntity";
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
exception: `Failed to get conversation details: ${erorr}`
|
|
15
|
+
//Unable to end chat if token has expired
|
|
16
|
+
if (props.getAuthToken) {
|
|
17
|
+
const authClientFunction = getAuthClientFunction(props.chatConfig);
|
|
18
|
+
if (props.getAuthToken && authClientFunction) {
|
|
19
|
+
// set auth token to chat sdk before end chat
|
|
20
|
+
const authSuccess = await handleAuthentication(chatSDK, props.chatConfig, props.getAuthToken);
|
|
21
|
+
if (!authSuccess) {
|
|
22
|
+
TelemetryHelper.logActionEvent(LogLevel.ERROR, {
|
|
23
|
+
Event: TelemetryEvent.GetAuthTokenFailed,
|
|
24
|
+
ExceptionDetails: {
|
|
25
|
+
exception: "Unable to get auth token during end chat"
|
|
26
|
+
}
|
|
27
|
+
});
|
|
27
28
|
}
|
|
28
|
-
}
|
|
29
|
+
}
|
|
29
30
|
}
|
|
30
|
-
|
|
31
|
-
if (isPostChatEnabled
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
const isPostChatEnabled = checkPostChatEnabled(props, state);
|
|
32
|
+
if (isPostChatEnabled) {
|
|
33
|
+
try {
|
|
34
|
+
await initiatePostChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
|
|
35
|
+
} catch (error) {
|
|
36
|
+
// Ending chat because something went wrong
|
|
37
|
+
await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
if (state.appStates.conversationEndedBy === ConversationEndEntity.Agent) {
|
|
37
41
|
dispatch({
|
|
38
|
-
type: LiveChatWidgetActionType.
|
|
39
|
-
payload:
|
|
40
|
-
});
|
|
41
|
-
await addDelayInMs(Constants.PostChatLoadingDurationInMs);
|
|
42
|
-
const loadPostChatEvent = {
|
|
43
|
-
eventName: BroadcastEvent.LoadPostChatSurvey
|
|
44
|
-
};
|
|
45
|
-
BroadcastService.postMessage(loadPostChatEvent);
|
|
46
|
-
} else if (postChatSurveyMode === PostChatSurveyMode.Link) {
|
|
42
|
+
type: LiveChatWidgetActionType.SET_CHAT_TOKEN,
|
|
43
|
+
payload: undefined
|
|
44
|
+
});
|
|
47
45
|
dispatch({
|
|
48
|
-
type: LiveChatWidgetActionType.
|
|
49
|
-
payload:
|
|
46
|
+
type: LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
|
|
47
|
+
payload: undefined
|
|
50
48
|
});
|
|
49
|
+
} else {
|
|
50
|
+
await endChat(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, true);
|
|
51
51
|
}
|
|
52
|
-
|
|
53
|
-
return;
|
|
54
52
|
}
|
|
53
|
+
};
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
56
|
const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
|
|
61
57
|
if (!skipEndChatSDK) {
|
|
62
58
|
try {
|
|
@@ -73,9 +69,8 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
73
69
|
});
|
|
74
70
|
postMessageToOtherTab = false;
|
|
75
71
|
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
72
|
+
}
|
|
73
|
+
// Need to clear these states immediately when chat ended from OC.
|
|
79
74
|
dispatch({
|
|
80
75
|
type: LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
|
|
81
76
|
payload: undefined
|
|
@@ -88,14 +83,17 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
88
83
|
type: LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT,
|
|
89
84
|
payload: undefined
|
|
90
85
|
});
|
|
91
|
-
|
|
86
|
+
dispatch({
|
|
87
|
+
type: LiveChatWidgetActionType.SET_RECONNECT_ID,
|
|
88
|
+
payload: undefined
|
|
89
|
+
});
|
|
92
90
|
if (!skipCloseChat) {
|
|
93
91
|
try {
|
|
94
92
|
var _props$webChatContain;
|
|
95
|
-
|
|
96
93
|
adapter === null || adapter === void 0 ? void 0 : adapter.end();
|
|
97
94
|
setAdapter(undefined);
|
|
98
|
-
setWebChatStyles({
|
|
95
|
+
setWebChatStyles({
|
|
96
|
+
...defaultWebChatContainerStatefulProps.webChatStyles,
|
|
99
97
|
...((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : _props$webChatContain.webChatStyles)
|
|
100
98
|
});
|
|
101
99
|
WebChatStoreLoader.store = null;
|
|
@@ -104,9 +102,21 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
104
102
|
payload: ConversationState.Closed
|
|
105
103
|
});
|
|
106
104
|
dispatch({
|
|
107
|
-
type: LiveChatWidgetActionType.
|
|
105
|
+
type: LiveChatWidgetActionType.SET_POST_CHAT_WORKFLOW_IN_PROGRESS,
|
|
106
|
+
payload: false
|
|
107
|
+
});
|
|
108
|
+
dispatch({
|
|
109
|
+
type: LiveChatWidgetActionType.SET_SHOULD_USE_BOT_SURVEY,
|
|
108
110
|
payload: false
|
|
109
111
|
});
|
|
112
|
+
dispatch({
|
|
113
|
+
type: LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT_EVENT_RECEIVED,
|
|
114
|
+
payload: false
|
|
115
|
+
});
|
|
116
|
+
dispatch({
|
|
117
|
+
type: LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY,
|
|
118
|
+
payload: undefined
|
|
119
|
+
});
|
|
110
120
|
dispatch({
|
|
111
121
|
type: LiveChatWidgetActionType.SET_RECONNECT_ID,
|
|
112
122
|
payload: undefined
|
|
@@ -115,10 +125,6 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
115
125
|
type: LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION,
|
|
116
126
|
payload: null
|
|
117
127
|
});
|
|
118
|
-
dispatch({
|
|
119
|
-
type: LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
|
|
120
|
-
payload: 0
|
|
121
|
-
});
|
|
122
128
|
dispatch({
|
|
123
129
|
type: LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS,
|
|
124
130
|
payload: {
|
|
@@ -127,15 +133,17 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
127
133
|
proactiveChatInNewWindow: false
|
|
128
134
|
}
|
|
129
135
|
});
|
|
130
|
-
|
|
131
136
|
if (postMessageToOtherTab) {
|
|
132
137
|
var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps;
|
|
133
|
-
|
|
134
138
|
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) ?? "");
|
|
135
139
|
BroadcastService.postMessage({
|
|
136
140
|
eventName: endChatEventName
|
|
137
141
|
});
|
|
138
142
|
}
|
|
143
|
+
TelemetryHelper.logActionEvent(LogLevel.INFO, {
|
|
144
|
+
Event: TelemetryEvent.CloseChatCall,
|
|
145
|
+
Description: "Chat was closed succesfully"
|
|
146
|
+
});
|
|
139
147
|
} catch (error) {
|
|
140
148
|
TelemetryHelper.logActionEvent(LogLevel.ERROR, {
|
|
141
149
|
Event: TelemetryEvent.CloseChatMethodException,
|
|
@@ -143,8 +151,12 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
|
|
|
143
151
|
exception: `Failed to endChat: ${error}`
|
|
144
152
|
}
|
|
145
153
|
});
|
|
154
|
+
} finally {
|
|
155
|
+
dispatch({
|
|
156
|
+
type: LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
|
|
157
|
+
payload: 0
|
|
158
|
+
});
|
|
146
159
|
}
|
|
147
160
|
}
|
|
148
161
|
};
|
|
149
|
-
|
|
150
162
|
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
|
};
|