@microsoft/omnichannel-chat-widget 0.1.0-main.47ede4d → 0.1.0-main.4ceb98d
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/common/Constants.js +29 -152
- package/lib/cjs/common/KeyCodes.js +0 -3
- package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
- package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
- package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
- package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
- package/lib/cjs/common/telemetry/TelemetryConstants.js +63 -25
- package/lib/cjs/common/telemetry/TelemetryHelper.js +26 -54
- package/lib/cjs/common/telemetry/TelemetryManager.js +8 -30
- package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -3
- package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +49 -35
- package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -14
- package/lib/cjs/common/utils.js +80 -80
- package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +21 -45
- package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -26
- package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +11 -71
- package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
- package/lib/cjs/components/footerstateful/FooterStateful.js +12 -44
- package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
- package/lib/cjs/components/headerstateful/HeaderStateful.js +17 -37
- package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
- package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
- package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
- package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
- package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
- package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
- package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
- package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
- package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
- package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +73 -51
- package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
- package/lib/cjs/components/livechatwidget/common/endChat.js +79 -21
- 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 +38 -52
- package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +128 -57
- package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +7 -32
- 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 +153 -77
- package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
- package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +283 -136
- package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
- package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
- package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -14
- package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
- package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
- package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
- package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
- package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
- package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -33
- package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -24
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
- package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
- package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
- package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -16
- package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
- package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
- package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
- package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +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 +16 -19
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +33 -0
- package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
- package/lib/cjs/contexts/ChatContextStore.js +0 -2
- package/lib/cjs/contexts/ChatSDKStore.js +0 -2
- package/lib/cjs/contexts/common/ConversationState.js +3 -3
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +11 -9
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +12 -12
- package/lib/cjs/contexts/createReducer.js +150 -104
- 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 +22 -46
- package/lib/esm/common/Constants.js +26 -140
- package/lib/esm/common/KeyCodes.js +0 -2
- package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
- package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
- package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
- package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
- package/lib/esm/common/telemetry/TelemetryConstants.js +67 -22
- package/lib/esm/common/telemetry/TelemetryHelper.js +27 -44
- package/lib/esm/common/telemetry/TelemetryManager.js +8 -18
- package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
- package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +49 -23
- package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -10
- package/lib/esm/common/utils.js +73 -45
- package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +21 -16
- package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +23 -13
- package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +14 -48
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
- package/lib/esm/components/footerstateful/FooterStateful.js +14 -25
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
- package/lib/esm/components/headerstateful/HeaderStateful.js +17 -22
- package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
- package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
- package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
- package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
- package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
- package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
- package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
- package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
- package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
- package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +75 -39
- package/lib/esm/components/livechatwidget/common/endChat.js +82 -12
- 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 +41 -22
- package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +127 -50
- package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +7 -22
- 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 +157 -60
- package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +289 -91
- package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
- package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
- package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +9 -4
- package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
- package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
- package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
- package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
- package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -9
- package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +2 -6
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
- package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
- package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
- package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
- package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
- package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -12
- package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
- package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
- package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
- package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +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 +16 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +27 -0
- package/lib/esm/contexts/ChatAdapterStore.js +2 -1
- package/lib/esm/contexts/ChatContextStore.js +2 -1
- package/lib/esm/contexts/ChatSDKStore.js +2 -1
- package/lib/esm/contexts/common/ConversationState.js +3 -3
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +11 -9
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +12 -8
- package/lib/esm/contexts/createReducer.js +150 -101
- 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 +22 -35
- package/lib/types/common/Constants.d.ts +25 -2
- package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
- package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
- package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
- package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
- package/lib/types/common/telemetry/TelemetryConstants.d.ts +43 -7
- package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
- package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
- package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
- package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
- package/lib/types/common/utils.d.ts +8 -1
- package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +4 -4
- package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
- 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/endChat.d.ts +4 -1
- package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
- package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
- package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -3
- package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
- package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
- package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
- package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
- 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/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
- package/lib/types/contexts/common/ConversationState.d.ts +3 -2
- package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -2
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +12 -9
- package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
- package/package.json +9 -9
|
@@ -1,235 +1,284 @@
|
|
|
1
1
|
/* eslint-disable indent */
|
|
2
|
+
|
|
2
3
|
import { LiveChatWidgetActionType } from "./common/LiveChatWidgetActionType";
|
|
3
4
|
export const createReducer = () => {
|
|
4
5
|
const reducer = (state, action) => {
|
|
5
6
|
var _action$payload, _action$payload2, _action$payload3;
|
|
6
|
-
|
|
7
7
|
switch (action.type) {
|
|
8
8
|
case LiveChatWidgetActionType.SET_WIDGET_ELEMENT_ID:
|
|
9
|
-
return {
|
|
10
|
-
|
|
9
|
+
return {
|
|
10
|
+
...state,
|
|
11
|
+
domainStates: {
|
|
12
|
+
...state.domainStates,
|
|
11
13
|
widgetElementId: action.payload
|
|
12
14
|
}
|
|
13
15
|
};
|
|
14
|
-
|
|
15
16
|
case LiveChatWidgetActionType.SET_RENDERING_MIDDLEWARE_PROPS:
|
|
16
|
-
return {
|
|
17
|
-
|
|
17
|
+
return {
|
|
18
|
+
...state,
|
|
19
|
+
domainStates: {
|
|
20
|
+
...state.domainStates,
|
|
18
21
|
renderingMiddlewareProps: action.payload
|
|
19
22
|
}
|
|
20
23
|
};
|
|
21
|
-
|
|
22
24
|
case LiveChatWidgetActionType.SET_MIDDLEWARE_LOCALIZED_TEXTS:
|
|
23
|
-
return {
|
|
24
|
-
|
|
25
|
+
return {
|
|
26
|
+
...state,
|
|
27
|
+
domainStates: {
|
|
28
|
+
...state.domainStates,
|
|
25
29
|
middlewareLocalizedTexts: action.payload
|
|
26
30
|
}
|
|
27
31
|
};
|
|
28
|
-
|
|
29
32
|
case LiveChatWidgetActionType.SET_GLOBAL_DIR:
|
|
30
|
-
return {
|
|
31
|
-
|
|
33
|
+
return {
|
|
34
|
+
...state,
|
|
35
|
+
domainStates: {
|
|
36
|
+
...state.domainStates,
|
|
32
37
|
globalDir: action.payload === "ltr" || action.payload === "rtl" ? action.payload : "ltr"
|
|
33
38
|
}
|
|
34
39
|
};
|
|
35
|
-
|
|
36
40
|
case LiveChatWidgetActionType.SET_MINIMIZED:
|
|
37
|
-
return {
|
|
38
|
-
|
|
41
|
+
return {
|
|
42
|
+
...state,
|
|
43
|
+
appStates: {
|
|
44
|
+
...state.appStates,
|
|
39
45
|
isMinimized: action.payload
|
|
40
46
|
}
|
|
41
47
|
};
|
|
42
|
-
|
|
43
48
|
case LiveChatWidgetActionType.SET_CONVERSATION_STATE:
|
|
44
|
-
return {
|
|
45
|
-
|
|
49
|
+
return {
|
|
50
|
+
...state,
|
|
51
|
+
appStates: {
|
|
52
|
+
...state.appStates,
|
|
46
53
|
conversationState: action.payload
|
|
47
54
|
}
|
|
48
55
|
};
|
|
49
|
-
|
|
50
56
|
case LiveChatWidgetActionType.SET_OUTSIDE_OPERATING_HOURS:
|
|
51
|
-
return {
|
|
52
|
-
|
|
57
|
+
return {
|
|
58
|
+
...state,
|
|
59
|
+
appStates: {
|
|
60
|
+
...state.appStates,
|
|
53
61
|
outsideOperatingHours: action.payload
|
|
54
62
|
}
|
|
55
63
|
};
|
|
56
|
-
|
|
57
64
|
case LiveChatWidgetActionType.SET_PRE_CHAT_SURVEY_RESPONSE:
|
|
58
|
-
return {
|
|
59
|
-
|
|
65
|
+
return {
|
|
66
|
+
...state,
|
|
67
|
+
domainStates: {
|
|
68
|
+
...state.domainStates,
|
|
60
69
|
preChatSurveyResponse: action.payload
|
|
61
70
|
}
|
|
62
71
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
case LiveChatWidgetActionType.SET_CUSTOM_CONTEXT:
|
|
73
|
+
return {
|
|
74
|
+
...state,
|
|
75
|
+
domainStates: {
|
|
76
|
+
...state.domainStates,
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
78
|
+
customContext: action.payload
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
case LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT_ID:
|
|
82
|
+
return {
|
|
83
|
+
...state,
|
|
84
|
+
appStates: {
|
|
85
|
+
...state.appStates,
|
|
86
|
+
previousElementIdOnFocusBeforeModalOpen: action.payload
|
|
68
87
|
}
|
|
69
88
|
};
|
|
70
|
-
|
|
71
89
|
case LiveChatWidgetActionType.SET_SHOW_CONFIRMATION:
|
|
72
|
-
return {
|
|
73
|
-
|
|
90
|
+
return {
|
|
91
|
+
...state,
|
|
92
|
+
uiStates: {
|
|
93
|
+
...state.uiStates,
|
|
74
94
|
showConfirmationPane: action.payload
|
|
75
95
|
}
|
|
76
96
|
};
|
|
77
|
-
|
|
78
97
|
case LiveChatWidgetActionType.SET_POST_CHAT_CONTEXT:
|
|
79
|
-
return {
|
|
80
|
-
|
|
98
|
+
return {
|
|
99
|
+
...state,
|
|
100
|
+
domainStates: {
|
|
101
|
+
...state.domainStates,
|
|
81
102
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
103
|
postChatContext: action.payload
|
|
83
104
|
}
|
|
84
105
|
};
|
|
85
|
-
|
|
86
|
-
case LiveChatWidgetActionType.SET_SHOULD_SHOW_POST_CHAT:
|
|
87
|
-
return { ...state,
|
|
88
|
-
appStates: { ...state.appStates,
|
|
89
|
-
shouldShowPostChat: action.payload
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
|
|
93
106
|
case LiveChatWidgetActionType.SHOW_CALLING_CONTAINER:
|
|
94
|
-
return {
|
|
95
|
-
|
|
107
|
+
return {
|
|
108
|
+
...state,
|
|
109
|
+
uiStates: {
|
|
110
|
+
...state.uiStates,
|
|
96
111
|
showCallingPopup: action.payload
|
|
97
112
|
}
|
|
98
113
|
};
|
|
99
|
-
|
|
100
114
|
case LiveChatWidgetActionType.SET_INCOMING_CALL:
|
|
101
|
-
return {
|
|
102
|
-
|
|
115
|
+
return {
|
|
116
|
+
...state,
|
|
117
|
+
uiStates: {
|
|
118
|
+
...state.uiStates,
|
|
103
119
|
isIncomingCall: action.payload
|
|
104
120
|
}
|
|
105
121
|
};
|
|
106
|
-
|
|
107
122
|
case LiveChatWidgetActionType.SET_FOCUS_CHAT_BUTTON:
|
|
108
|
-
return {
|
|
109
|
-
|
|
123
|
+
return {
|
|
124
|
+
...state,
|
|
125
|
+
uiStates: {
|
|
126
|
+
...state.uiStates,
|
|
110
127
|
focusChatButton: action.payload
|
|
111
128
|
}
|
|
112
129
|
};
|
|
113
|
-
|
|
114
130
|
case LiveChatWidgetActionType.DISABLE_VIDEO_CALL:
|
|
115
|
-
return {
|
|
116
|
-
|
|
131
|
+
return {
|
|
132
|
+
...state,
|
|
133
|
+
uiStates: {
|
|
134
|
+
...state.uiStates,
|
|
117
135
|
disableVideoCall: action.payload
|
|
118
136
|
}
|
|
119
137
|
};
|
|
120
|
-
|
|
121
138
|
case LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO:
|
|
122
|
-
return {
|
|
123
|
-
|
|
139
|
+
return {
|
|
140
|
+
...state,
|
|
141
|
+
uiStates: {
|
|
142
|
+
...state.uiStates,
|
|
124
143
|
disableSelfVideo: action.payload
|
|
125
144
|
}
|
|
126
145
|
};
|
|
127
|
-
|
|
128
146
|
case LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO:
|
|
129
|
-
return {
|
|
130
|
-
|
|
147
|
+
return {
|
|
148
|
+
...state,
|
|
149
|
+
uiStates: {
|
|
150
|
+
...state.uiStates,
|
|
131
151
|
disableRemoteVideo: action.payload
|
|
132
152
|
}
|
|
133
153
|
};
|
|
134
|
-
|
|
135
154
|
case LiveChatWidgetActionType.SET_CHAT_TOKEN:
|
|
136
|
-
return {
|
|
137
|
-
|
|
155
|
+
return {
|
|
156
|
+
...state,
|
|
157
|
+
domainStates: {
|
|
158
|
+
...state.domainStates,
|
|
138
159
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
139
160
|
chatToken: action.payload
|
|
140
161
|
}
|
|
141
162
|
};
|
|
142
|
-
|
|
143
163
|
case LiveChatWidgetActionType.SET_SHOW_EMAIL_TRANSCRIPT_PANE:
|
|
144
|
-
return {
|
|
145
|
-
|
|
164
|
+
return {
|
|
165
|
+
...state,
|
|
166
|
+
uiStates: {
|
|
167
|
+
...state.uiStates,
|
|
146
168
|
showEmailTranscriptPane: action.payload
|
|
147
169
|
}
|
|
148
170
|
};
|
|
149
|
-
|
|
150
171
|
case LiveChatWidgetActionType.SET_PRECHAT_RESPONSE_EMAIL:
|
|
151
|
-
return {
|
|
152
|
-
|
|
172
|
+
return {
|
|
173
|
+
...state,
|
|
174
|
+
appStates: {
|
|
175
|
+
...state.appStates,
|
|
153
176
|
preChatResponseEmail: action.payload
|
|
154
177
|
}
|
|
155
178
|
};
|
|
156
|
-
|
|
157
179
|
case LiveChatWidgetActionType.SET_AUDIO_NOTIFICATION:
|
|
158
|
-
return {
|
|
159
|
-
|
|
180
|
+
return {
|
|
181
|
+
...state,
|
|
182
|
+
appStates: {
|
|
183
|
+
...state.appStates,
|
|
160
184
|
isAudioMuted: action.payload
|
|
161
185
|
}
|
|
162
186
|
};
|
|
163
|
-
|
|
164
187
|
case LiveChatWidgetActionType.SET_E2VV_ENABLED:
|
|
165
|
-
return {
|
|
166
|
-
|
|
188
|
+
return {
|
|
189
|
+
...state,
|
|
190
|
+
appStates: {
|
|
191
|
+
...state.appStates,
|
|
167
192
|
e2vvEnabled: action.payload
|
|
168
193
|
}
|
|
169
194
|
};
|
|
170
|
-
|
|
171
195
|
case LiveChatWidgetActionType.SET_SKIP_CHAT_BUTTON_RENDERING:
|
|
172
|
-
return {
|
|
173
|
-
|
|
196
|
+
return {
|
|
197
|
+
...state,
|
|
198
|
+
appStates: {
|
|
199
|
+
...state.appStates,
|
|
174
200
|
skipChatButtonRendering: action.payload
|
|
175
201
|
}
|
|
176
202
|
};
|
|
177
|
-
|
|
178
203
|
case LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS:
|
|
179
|
-
return {
|
|
180
|
-
|
|
181
|
-
|
|
204
|
+
return {
|
|
205
|
+
...state,
|
|
206
|
+
appStates: {
|
|
207
|
+
...state.appStates,
|
|
208
|
+
proactiveChatStates: {
|
|
209
|
+
...state.appStates.proactiveChatStates,
|
|
182
210
|
proactiveChatBodyTitle: (_action$payload = action.payload) === null || _action$payload === void 0 ? void 0 : _action$payload.proactiveChatBodyTitle,
|
|
183
211
|
proactiveChatEnablePrechat: (_action$payload2 = action.payload) === null || _action$payload2 === void 0 ? void 0 : _action$payload2.proactiveChatEnablePrechat,
|
|
184
212
|
proactiveChatInNewWindow: (_action$payload3 = action.payload) === null || _action$payload3 === void 0 ? void 0 : _action$payload3.proactiveChatInNewWindow
|
|
185
213
|
}
|
|
186
214
|
}
|
|
187
215
|
};
|
|
188
|
-
|
|
189
216
|
case LiveChatWidgetActionType.SET_TELEMETRY_DATA:
|
|
190
|
-
return {
|
|
191
|
-
|
|
217
|
+
return {
|
|
218
|
+
...state,
|
|
219
|
+
domainStates: {
|
|
220
|
+
...state.domainStates,
|
|
192
221
|
telemetryInternalData: action.payload
|
|
193
222
|
}
|
|
194
223
|
};
|
|
195
|
-
|
|
196
224
|
case LiveChatWidgetActionType.SET_RECONNECT_ID:
|
|
197
|
-
return {
|
|
198
|
-
|
|
225
|
+
return {
|
|
226
|
+
...state,
|
|
227
|
+
appStates: {
|
|
228
|
+
...state.appStates,
|
|
199
229
|
reconnectId: action.payload
|
|
200
230
|
}
|
|
201
231
|
};
|
|
202
|
-
|
|
203
232
|
case LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT:
|
|
204
|
-
return {
|
|
205
|
-
|
|
233
|
+
return {
|
|
234
|
+
...state,
|
|
235
|
+
appStates: {
|
|
236
|
+
...state.appStates,
|
|
206
237
|
unreadMessageCount: action.payload
|
|
207
238
|
}
|
|
208
239
|
};
|
|
209
|
-
|
|
210
240
|
case LiveChatWidgetActionType.SET_LIVE_CHAT_CONTEXT:
|
|
211
|
-
return {
|
|
212
|
-
|
|
241
|
+
return {
|
|
242
|
+
...state,
|
|
243
|
+
domainStates: {
|
|
244
|
+
...state.domainStates,
|
|
213
245
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
214
246
|
liveChatContext: action.payload
|
|
215
247
|
}
|
|
216
248
|
};
|
|
217
|
-
|
|
218
249
|
case LiveChatWidgetActionType.SET_WIDGET_STATE:
|
|
219
|
-
return {
|
|
250
|
+
return {
|
|
251
|
+
...action.payload
|
|
220
252
|
};
|
|
221
|
-
|
|
222
253
|
case LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY_AGENT:
|
|
223
|
-
return {
|
|
224
|
-
|
|
254
|
+
return {
|
|
255
|
+
...state,
|
|
256
|
+
appStates: {
|
|
257
|
+
...state.appStates,
|
|
225
258
|
conversationEndedByAgent: action.payload
|
|
226
259
|
}
|
|
227
260
|
};
|
|
228
|
-
|
|
261
|
+
case LiveChatWidgetActionType.SET_WIDGET_SIZE:
|
|
262
|
+
return {
|
|
263
|
+
...state,
|
|
264
|
+
domainStates: {
|
|
265
|
+
...state.domainStates,
|
|
266
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
267
|
+
widgetSize: action.payload
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
case LiveChatWidgetActionType.SET_WIDGET_INSTANCE_ID:
|
|
271
|
+
return {
|
|
272
|
+
...state,
|
|
273
|
+
domainStates: {
|
|
274
|
+
...state.domainStates,
|
|
275
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
276
|
+
widgetInstanceId: action.payload
|
|
277
|
+
}
|
|
278
|
+
};
|
|
229
279
|
default:
|
|
230
280
|
return state;
|
|
231
281
|
}
|
|
232
282
|
};
|
|
233
|
-
|
|
234
283
|
return reducer;
|
|
235
284
|
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ConversationState } from "../contexts/common/ConversationState";
|
|
2
2
|
export const shouldShowChatButton = state => {
|
|
3
|
-
return state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed;
|
|
3
|
+
return (state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed) && state.appStates.skipChatButtonRendering == false; // Do not show chat button in case of popout
|
|
4
4
|
};
|
|
5
|
+
|
|
5
6
|
export const shouldShowProactiveChatPane = state => {
|
|
6
7
|
return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.ProactiveChat;
|
|
7
8
|
};
|
|
@@ -9,7 +10,7 @@ export const shouldShowHeader = state => {
|
|
|
9
10
|
return !state.appStates.isMinimized && state.appStates.conversationState !== ConversationState.Closed && state.appStates.conversationState !== ConversationState.ProactiveChat;
|
|
10
11
|
};
|
|
11
12
|
export const shouldShowFooter = state => {
|
|
12
|
-
return !state.appStates.isMinimized && (state.appStates.conversationState === ConversationState.Active || state.appStates.conversationState === ConversationState.InActive);
|
|
13
|
+
return !state.appStates.isMinimized && (state.appStates.conversationState === ConversationState.Active || state.appStates.conversationState === ConversationState.InActive || state.appStates.conversationState === ConversationState.Postchat);
|
|
13
14
|
};
|
|
14
15
|
export const shouldShowEmailTranscriptPane = state => {
|
|
15
16
|
return state.uiStates.showEmailTranscriptPane;
|
|
@@ -18,13 +19,13 @@ export const shouldShowWebChatContainer = state => {
|
|
|
18
19
|
return state.appStates.conversationState === ConversationState.Active || state.appStates.conversationState === ConversationState.InActive;
|
|
19
20
|
};
|
|
20
21
|
export const shouldShowLoadingPane = state => {
|
|
21
|
-
return !state.appStates.isMinimized &&
|
|
22
|
+
return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.Loading;
|
|
22
23
|
};
|
|
23
24
|
export const shouldShowReconnectChatPane = state => {
|
|
24
25
|
return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.ReconnectChat;
|
|
25
26
|
};
|
|
26
27
|
export const shouldShowPostChatLoadingPane = state => {
|
|
27
|
-
return !state.appStates.isMinimized && state.appStates.
|
|
28
|
+
return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.PostchatLoading;
|
|
28
29
|
};
|
|
29
30
|
export const shouldShowOutOfOfficeHoursPane = state => {
|
|
30
31
|
return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.OutOfOffice;
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { ChatAdapterStore } from "../contexts/ChatAdapterStore";
|
|
2
2
|
import { useContext } from "react";
|
|
3
|
-
|
|
4
3
|
const useChatAdapterStore = () => {
|
|
5
4
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
5
|
const adapter = useContext(ChatAdapterStore);
|
|
7
|
-
|
|
8
6
|
if (!adapter) {
|
|
9
7
|
throw new Error("This hook can only be used on component that is descendants of <ChatAdapterStore.Provider>");
|
|
10
8
|
}
|
|
11
|
-
|
|
12
9
|
return adapter;
|
|
13
10
|
};
|
|
14
|
-
|
|
15
11
|
export default useChatAdapterStore;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { useContext } from "react";
|
|
2
2
|
import { ChatContextStore } from "../contexts/ChatContextStore";
|
|
3
|
-
|
|
4
3
|
const useChatContextStore = () => {
|
|
5
4
|
const context = useContext(ChatContextStore);
|
|
6
|
-
|
|
7
5
|
if (!context) {
|
|
8
6
|
throw new Error("This hook can only be used on component that is descendants of <ChatContextStore.Provider>");
|
|
9
7
|
}
|
|
10
|
-
|
|
11
8
|
return context;
|
|
12
9
|
};
|
|
13
|
-
|
|
14
10
|
export default useChatContextStore;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { ChatSDKStore } from "../contexts/ChatSDKStore";
|
|
2
2
|
import { useContext } from "react";
|
|
3
|
-
|
|
4
3
|
const useChatSDKStore = () => {
|
|
5
4
|
const sdk = useContext(ChatSDKStore);
|
|
6
|
-
|
|
7
5
|
if (!sdk) {
|
|
8
6
|
throw new Error("This hook is not called on component that is descendants of <ChatSDKStore.Provider>, or ChatSDK is not passed into LiveChatWidget component.");
|
|
9
7
|
}
|
|
10
|
-
|
|
11
8
|
return sdk;
|
|
12
9
|
};
|
|
13
|
-
|
|
14
10
|
export default useChatSDKStore;
|
|
@@ -2,36 +2,26 @@ import { BroadcastEvent, LogLevel, TelemetryEvent } from "../common/telemetry/Te
|
|
|
2
2
|
import { BroadcastService } from "@microsoft/omnichannel-chat-components";
|
|
3
3
|
import { Constants } from "../common/Constants";
|
|
4
4
|
import { TelemetryHelper } from "../common/telemetry/TelemetryHelper";
|
|
5
|
-
import { TelemetryManager } from "../common/telemetry/TelemetryManager";
|
|
6
5
|
export const createOnNewAdapterActivityHandler = (chatId, userId) => {
|
|
7
6
|
const onNewAdapterActivityHandler = activity => {
|
|
8
7
|
var _activity$channelData, _activity$channelData2, _activity$channelData3;
|
|
9
|
-
|
|
10
8
|
const isActivityMessage = (activity === null || activity === void 0 ? void 0 : activity.type) === Constants.message;
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
if (isNotHistoryMessage) {
|
|
14
|
-
raiseMessageEvent(activity);
|
|
15
|
-
}
|
|
9
|
+
const isHistoryMessage = isActivityMessage && ((activity === null || activity === void 0 ? void 0 : (_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : (_activity$channelData2 = _activity$channelData.tags) === null || _activity$channelData2 === void 0 ? void 0 : _activity$channelData2.includes(Constants.historyMessageTag)) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData3 = activity.channelData) === null || _activity$channelData3 === void 0 ? void 0 : _activity$channelData3.fromList));
|
|
10
|
+
raiseMessageEvent(activity, isHistoryMessage);
|
|
16
11
|
};
|
|
17
|
-
|
|
18
|
-
const raiseMessageEvent = activity => {
|
|
12
|
+
const raiseMessageEvent = (activity, isHistoryMessage) => {
|
|
19
13
|
if ((activity === null || activity === void 0 ? void 0 : activity.type) === Constants.message) {
|
|
20
|
-
var
|
|
21
|
-
|
|
14
|
+
var _text, _text2, _activity$channelData4, _activity$from;
|
|
22
15
|
const payload = {
|
|
16
|
+
// To identify hidden contents vs empty content
|
|
23
17
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
-
text: activity === null || activity === void 0 ? void 0 : activity.text,
|
|
25
|
-
id: activity === null || activity === void 0 ? void 0 : activity.id,
|
|
18
|
+
text: (activity === null || activity === void 0 ? void 0 : (_text = activity.text) === null || _text === void 0 ? void 0 : _text.length) >= 1 ? `*contents hidden (${activity === null || activity === void 0 ? void 0 : (_text2 = activity.text) === null || _text2 === void 0 ? void 0 : _text2.length} chars)*` : "",
|
|
26
19
|
type: activity === null || activity === void 0 ? void 0 : activity.type,
|
|
27
20
|
timestamp: activity === null || activity === void 0 ? void 0 : activity.timestamp,
|
|
28
|
-
chatId: chatId,
|
|
29
21
|
userId: userId,
|
|
30
|
-
|
|
31
|
-
channelData: activity === null || activity === void 0 ? void 0 : activity.channelData,
|
|
22
|
+
tags: activity === null || activity === void 0 ? void 0 : (_activity$channelData4 = activity.channelData) === null || _activity$channelData4 === void 0 ? void 0 : _activity$channelData4.tags,
|
|
32
23
|
messageType: ""
|
|
33
24
|
};
|
|
34
|
-
|
|
35
25
|
if ((activity === null || activity === void 0 ? void 0 : (_activity$from = activity.from) === null || _activity$from === void 0 ? void 0 : _activity$from.role) === Constants.userMessageTag) {
|
|
36
26
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37
27
|
payload.messageType = Constants.userMessageTag;
|
|
@@ -45,40 +35,37 @@ export const createOnNewAdapterActivityHandler = (chatId, userId) => {
|
|
|
45
35
|
Description: "New message sent"
|
|
46
36
|
});
|
|
47
37
|
} else {
|
|
48
|
-
var _activity$
|
|
49
|
-
|
|
50
|
-
if (activity !== null && activity !== void 0 && (_activity$channelData4 = activity.channelData) !== null && _activity$channelData4 !== void 0 && (_activity$channelData5 = _activity$channelData4.tags) !== null && _activity$channelData5 !== void 0 && _activity$channelData5.includes(Constants.systemMessageTag)) {
|
|
38
|
+
var _activity$channelData5, _activity$channelData6;
|
|
39
|
+
if (activity !== null && activity !== void 0 && (_activity$channelData5 = activity.channelData) !== null && _activity$channelData5 !== void 0 && (_activity$channelData6 = _activity$channelData5.tags) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.includes(Constants.systemMessageTag)) {
|
|
51
40
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
41
|
payload.messageType = Constants.systemMessageTag;
|
|
53
42
|
} else {
|
|
54
|
-
var _activity$
|
|
55
|
-
|
|
43
|
+
var _activity$channelData7, _activity$channelData8, _activity$channelData9;
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
+
const messageHasNoText = !(activity !== null && activity !== void 0 && activity.text);
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
47
|
+
const messageHasNoTags = !(activity !== null && activity !== void 0 && activity.channelData) || !(activity !== null && activity !== void 0 && (_activity$channelData7 = activity.channelData) !== null && _activity$channelData7 !== void 0 && _activity$channelData7.tags) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData8 = activity.channelData) === null || _activity$channelData8 === void 0 ? void 0 : (_activity$channelData9 = _activity$channelData8.tags) === null || _activity$channelData9 === void 0 ? void 0 : _activity$channelData9.length) === 0;
|
|
56
48
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
57
|
-
const messageHasNoText = !(activity !== null && activity !== void 0 && activity.text); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
|
-
|
|
59
|
-
const messageHasNoTags = !(activity !== null && activity !== void 0 && activity.channelData) || !(activity !== null && activity !== void 0 && (_activity$channelData6 = activity.channelData) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.tags) || (activity === null || activity === void 0 ? void 0 : (_activity$channelData7 = activity.channelData) === null || _activity$channelData7 === void 0 ? void 0 : (_activity$channelData8 = _activity$channelData7.tags) === null || _activity$channelData8 === void 0 ? void 0 : _activity$channelData8.length) === 0; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
|
-
|
|
61
49
|
const messageHasNoAttachments = !(activity !== null && activity !== void 0 && activity.attachments) || (activity === null || activity === void 0 ? void 0 : activity.attachments.length) === 0;
|
|
62
|
-
|
|
63
50
|
if (messageHasNoTags && messageHasNoText && messageHasNoAttachments) {
|
|
64
51
|
return;
|
|
65
52
|
}
|
|
66
|
-
|
|
67
53
|
payload.messageType = Constants.userMessageTag;
|
|
68
54
|
}
|
|
69
|
-
|
|
70
55
|
const newMessageReceivedEvent = {
|
|
71
|
-
eventName: BroadcastEvent.NewMessageReceived,
|
|
56
|
+
eventName: isHistoryMessage ? BroadcastEvent.HistoryMessageReceived : BroadcastEvent.NewMessageReceived,
|
|
72
57
|
payload: payload
|
|
73
58
|
};
|
|
74
59
|
BroadcastService.postMessage(newMessageReceivedEvent);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
60
|
+
if (!isHistoryMessage) {
|
|
61
|
+
TelemetryHelper.logActionEvent(LogLevel.INFO, {
|
|
62
|
+
Event: TelemetryEvent.MessageReceived,
|
|
63
|
+
Description: "New message received",
|
|
64
|
+
Data: payload
|
|
65
|
+
});
|
|
66
|
+
}
|
|
79
67
|
}
|
|
80
68
|
}
|
|
81
69
|
};
|
|
82
|
-
|
|
83
70
|
return onNewAdapterActivityHandler;
|
|
84
71
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare class Constants {
|
|
2
|
+
static readonly magicCodeBroadcastChannel = "MagicCodeChannel";
|
|
3
|
+
static readonly magicCodeResponseBroadcastChannel = "MagicCodeResponseChannel";
|
|
2
4
|
static readonly systemMessageTag = "system";
|
|
3
5
|
static readonly userMessageTag = "user";
|
|
4
6
|
static readonly historyMessageTag = "history";
|
|
@@ -15,7 +17,6 @@ export declare class Constants {
|
|
|
15
17
|
static readonly true = "true";
|
|
16
18
|
static readonly false = "false";
|
|
17
19
|
static readonly maximumUnreadMessageCount = 99;
|
|
18
|
-
static readonly widgetStateDataKey = "LcwChatWidgetState";
|
|
19
20
|
static readonly channelIdKey = "ChannelId-";
|
|
20
21
|
static readonly ChannelId = "lcw";
|
|
21
22
|
static readonly CustomerTag = "FromCustomer";
|
|
@@ -33,6 +34,10 @@ export declare class Constants {
|
|
|
33
34
|
static readonly queuePositionMessageTag = "queueposition";
|
|
34
35
|
static readonly averageWaitTimeMessageTag = "averagewaittime";
|
|
35
36
|
static readonly message = "message";
|
|
37
|
+
static readonly hiddenTag = "Hidden";
|
|
38
|
+
static readonly prefixTimestampTag = "ServerMessageTimestamp_";
|
|
39
|
+
static readonly acsChannel = "ACS_CHANNEL";
|
|
40
|
+
static readonly publicMessageTag = "public";
|
|
36
41
|
static readonly supportedAdaptiveCardContentTypes: Array<string>;
|
|
37
42
|
static readonly maxUploadFileSize = "500000";
|
|
38
43
|
static readonly imageRegex: RegExp;
|
|
@@ -58,7 +63,6 @@ export declare class Constants {
|
|
|
58
63
|
static readonly ProactiveChatInviteTimeoutInMs = 60000;
|
|
59
64
|
static readonly InputSubmit = "InputSubmit";
|
|
60
65
|
static readonly ReconnectIdAttributeName = "oc.reconnectid";
|
|
61
|
-
static readonly redirectPageRequest = "redirectPageRequest";
|
|
62
66
|
static readonly LiveChatWidget = "LiveChatWidgetNew";
|
|
63
67
|
static readonly GuidPattern = "xx-x-4m-ym-xxx";
|
|
64
68
|
static readonly Default = "default";
|
|
@@ -71,6 +75,9 @@ export declare class Constants {
|
|
|
71
75
|
static readonly OpenLinkIconCssClass = "webchat__markdown__external-link-icon";
|
|
72
76
|
static readonly internetConnectionTestUrl = "https://ocsdk-prod.azureedge.net/public/connecttest.txt";
|
|
73
77
|
static readonly internetConnectionTestUrlText = "Omnichannel Connect Test";
|
|
78
|
+
static readonly ChatWidgetStateChangedPrefix = "ChatWidgetStateChanged";
|
|
79
|
+
static readonly PostChatLoadingDurationInMs = 2000;
|
|
80
|
+
static readonly BrowserUnloadConfirmationMessage = "Do you want to leave chat?";
|
|
74
81
|
}
|
|
75
82
|
export declare const Regex: {
|
|
76
83
|
new (): {};
|
|
@@ -137,6 +144,12 @@ export declare enum ElementType {
|
|
|
137
144
|
export declare enum ChatSDKError {
|
|
138
145
|
WidgetUseOutsideOperatingHour = "WidgetUseOutsideOperatingHour"
|
|
139
146
|
}
|
|
147
|
+
export declare enum EnvironmentVersion {
|
|
148
|
+
prod = "prod",
|
|
149
|
+
dogfood = "df",
|
|
150
|
+
int = "int",
|
|
151
|
+
test = "test"
|
|
152
|
+
}
|
|
140
153
|
export declare class TranscriptConstants {
|
|
141
154
|
static readonly ChatTranscriptsBodyColor = "#F5F5F5";
|
|
142
155
|
static readonly TranscriptMessageEmojiMessageType = "http://schema.skype.com/emoji";
|
|
@@ -149,3 +162,13 @@ export declare class TranscriptConstants {
|
|
|
149
162
|
static readonly AgentDialogColor = "#2266E3";
|
|
150
163
|
static readonly AgentFontColor = "white";
|
|
151
164
|
}
|
|
165
|
+
export declare class AriaTelemetryConstants {
|
|
166
|
+
static readonly GERMANY_ENDPOINT: string;
|
|
167
|
+
static readonly GCCH_ENDPOINT: string;
|
|
168
|
+
static readonly DOD_ENDPOINT: string;
|
|
169
|
+
static readonly EUROPE_ENDPOINT: string;
|
|
170
|
+
static readonly MOONCAKE_ENDPOINT: string;
|
|
171
|
+
static readonly Public: string;
|
|
172
|
+
static readonly EU: string;
|
|
173
|
+
static readonly lcwEUDomainNames: Array<string>;
|
|
174
|
+
}
|
|
@@ -6,9 +6,9 @@ export interface IContextDataStore {
|
|
|
6
6
|
/**
|
|
7
7
|
* setData: Set data to data store
|
|
8
8
|
*/
|
|
9
|
-
setData: (key: string, value: string) => void;
|
|
9
|
+
setData: (key: string, value: any, type: string) => void;
|
|
10
10
|
/**
|
|
11
11
|
* removeData: Remove data from data store by key
|
|
12
12
|
*/
|
|
13
|
-
removeData
|
|
13
|
+
removeData: (key: string, type: string) => void;
|
|
14
14
|
}
|