@microsoft/omnichannel-chat-widget 0.1.0-main.cde77ea → 0.1.0-main.ce5063d
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/lib/cjs/assets/Icons.js +4 -2
- package/lib/cjs/common/Constants.js +18 -167
- 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 +30 -23
- package/lib/cjs/common/telemetry/TelemetryHelper.js +16 -57
- package/lib/cjs/common/telemetry/TelemetryManager.js +0 -31
- 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 +34 -108
- 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 +8 -32
- package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
- package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
- package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -45
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
- package/lib/cjs/components/headerstateful/HeaderStateful.js +17 -31
- package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
- package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -5
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
- package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +11 -19
- 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 +5 -12
- 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 +64 -43
- package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
- package/lib/cjs/components/livechatwidget/common/endChat.js +53 -38
- 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 +20 -54
- package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +78 -128
- package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
- package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -11
- package/lib/cjs/components/livechatwidget/common/shareObservable.js +4 -8
- package/lib/cjs/components/livechatwidget/common/startChat.js +173 -112
- 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/{IAuthProps.js → IScrollBarProps.js} +0 -0
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +257 -230
- package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
- package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
- package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
- package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
- package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
- package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
- package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
- package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
- package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
- package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +10 -38
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
- package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +29 -34
- 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 +2 -17
- package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
- package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
- package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
- package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -4
- 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 +17 -41
- 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 +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 +2 -12
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
- package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
- package/lib/cjs/contexts/ChatContextStore.js +0 -2
- package/lib/cjs/contexts/ChatSDKStore.js +0 -2
- package/lib/cjs/contexts/common/ConversationState.js +0 -1
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -28
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +12 -12
- package/lib/cjs/contexts/createReducer.js +159 -105
- 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/index.js +0 -5
- package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
- package/lib/esm/assets/Icons.js +2 -1
- package/lib/esm/common/Constants.js +15 -154
- 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 +34 -20
- package/lib/esm/common/telemetry/TelemetryHelper.js +16 -45
- package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
- 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 +31 -57
- 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 +10 -13
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
- package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
- package/lib/esm/components/headerstateful/HeaderStateful.js +17 -16
- package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
- package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +0 -3
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
- package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +11 -15
- 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 +7 -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 +66 -30
- package/lib/esm/components/livechatwidget/common/endChat.js +55 -23
- 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 +22 -19
- package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +76 -109
- package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
- package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
- package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
- package/lib/esm/components/livechatwidget/common/startChat.js +173 -89
- package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
- package/lib/esm/components/livechatwidget/interfaces/{IAuthProps.js → IScrollBarProps.js} +0 -0
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +261 -169
- package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
- package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
- package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
- package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
- package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
- package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
- package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
- package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
- package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +12 -22
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
- package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +27 -9
- 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 +2 -13
- package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
- package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
- package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
- package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +0 -2
- 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 +17 -26
- 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 +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 +3 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
- package/lib/esm/contexts/ChatAdapterStore.js +2 -1
- package/lib/esm/contexts/ChatContextStore.js +2 -1
- package/lib/esm/contexts/ChatSDKStore.js +2 -1
- package/lib/esm/contexts/common/ConversationState.js +0 -1
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -28
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +12 -8
- package/lib/esm/contexts/createReducer.js +159 -102
- 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/plugins/newMessageEventHandler.js +15 -26
- package/lib/types/assets/Icons.d.ts +1 -0
- package/lib/types/common/Constants.d.ts +13 -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 +18 -5
- package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -1
- package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
- package/lib/types/common/utils.d.ts +5 -4
- package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.d.ts +1 -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/PauseActivitySubscriber.d.ts +7 -0
- package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
- package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
- package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
- package/lib/types/components/livechatwidget/common/endChat.d.ts +1 -1
- package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -8
- package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
- package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -4
- package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +1 -1
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -1
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -4
- package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
- package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
- package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
- package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
- package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
- package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
- package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
- package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
- package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +1 -1
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.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/contexts/common/ILiveChatWidgetContext.d.ts +4 -2
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -27
- package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
- package/package.json +5 -4
- package/lib/types/components/livechatwidget/interfaces/IAuthProps.d.ts +0 -4
|
@@ -4,92 +4,86 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ariaTelemetryLogger = void 0;
|
|
7
|
-
|
|
8
7
|
var _utils = require("../../utils");
|
|
9
|
-
|
|
10
|
-
var _AWTEventProperties = _interopRequireDefault(require("@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AWTEventProperties"));
|
|
11
|
-
|
|
12
|
-
var _AWTLogManager = _interopRequireDefault(require("@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AWTLogManager"));
|
|
13
|
-
|
|
8
|
+
var _AriaSDK = require("@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AriaSDK");
|
|
14
9
|
var _Enums = require("@microsoft/omnichannel-chat-sdk/lib/external/aria/common/Enums");
|
|
15
|
-
|
|
16
10
|
var _Constants = require("../../Constants");
|
|
17
|
-
|
|
18
11
|
var _TelemetryManager = require("../TelemetryManager");
|
|
19
|
-
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
12
|
const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, collectiorUriForTelemetry, ariaTelemetryApplicationName) => {
|
|
23
13
|
let _logger;
|
|
24
|
-
|
|
25
14
|
const logger = () => {
|
|
26
15
|
if ((0, _utils.isNullOrUndefined)(_logger) && !(0, _utils.isNullOrEmptyString)(ariaTelemetryKey)) {
|
|
27
16
|
const configuration = {
|
|
28
17
|
disableCookiesUsage: disabledCookieUsage
|
|
29
18
|
};
|
|
30
|
-
|
|
31
19
|
if (!(0, _utils.isNullOrEmptyString)(collectiorUriForTelemetry)) {
|
|
32
20
|
configuration.collectorUri = collectiorUriForTelemetry;
|
|
33
21
|
} else {
|
|
34
22
|
if (_TelemetryManager.TelemetryManager.InternalTelemetryData.environmentVersion == _Constants.EnvironmentVersion.prod) {
|
|
35
23
|
var _TelemetryManager$Int;
|
|
36
|
-
|
|
37
24
|
const orgUrl = (_TelemetryManager$Int = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.orgUrl;
|
|
38
|
-
|
|
39
25
|
if (!(0, _utils.isNullOrUndefined)(orgUrl)) {
|
|
40
26
|
// If the given org is a Production EU org, modify the Aria collector uri
|
|
41
27
|
const region = (0, _utils.getDomain)(orgUrl);
|
|
42
|
-
|
|
43
28
|
if (region === _Constants.AriaTelemetryConstants.EU) {
|
|
44
29
|
configuration.collectorUri = _Constants.AriaTelemetryConstants.EUROPE_ENDPOINT;
|
|
45
30
|
}
|
|
46
31
|
}
|
|
47
32
|
}
|
|
48
33
|
}
|
|
49
|
-
|
|
50
34
|
try {
|
|
51
|
-
_logger =
|
|
52
|
-
|
|
35
|
+
_logger = _AriaSDK.AWTLogManager.initialize(ariaTelemetryKey, configuration);
|
|
53
36
|
if (_logger === undefined) {
|
|
54
|
-
_logger =
|
|
37
|
+
_logger = _AriaSDK.AWTLogManager.getLogger(ariaTelemetryKey);
|
|
55
38
|
}
|
|
56
39
|
} catch (error) {
|
|
57
40
|
console.log(error);
|
|
58
41
|
}
|
|
59
42
|
}
|
|
60
|
-
|
|
61
43
|
return _logger;
|
|
62
44
|
};
|
|
63
|
-
|
|
64
45
|
const ariaLogger = {
|
|
65
46
|
log: (logLevel, telemetryInput) => {
|
|
66
47
|
try {
|
|
67
|
-
|
|
68
|
-
const telemetryInfo = telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.telemetryInfo;
|
|
69
|
-
|
|
70
|
-
eventProperties
|
|
71
|
-
|
|
48
|
+
var _telemetryInput$telem;
|
|
49
|
+
const telemetryInfo = telemetryInput === null || telemetryInput === void 0 ? void 0 : (_telemetryInput$telem = telemetryInput.telemetryInfo) === null || _telemetryInput$telem === void 0 ? void 0 : _telemetryInput$telem.telemetryInfo;
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
51
|
+
const eventProperties = {
|
|
52
|
+
name: telemetryInput.scenarioType,
|
|
53
|
+
properties: {}
|
|
54
|
+
};
|
|
72
55
|
if (telemetryInfo) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
57
|
+
Object.keys(telemetryInfo).forEach((key, index) => {
|
|
58
|
+
if (!(0, _utils.isNullOrUndefined)(telemetryInfo[key]) && !(0, _utils.isNullOrEmptyString)(telemetryInfo[key])) {
|
|
59
|
+
const property = {
|
|
60
|
+
value: typeof telemetryInfo[key] === "object" ? JSON.stringify(telemetryInfo[key]) : telemetryInfo[key],
|
|
61
|
+
type: typeof telemetryInfo[key] === "number" ? _Enums.AWTPropertyType.Double : _Enums.AWTPropertyType.String,
|
|
62
|
+
pii: _Enums.AWTPiiKind.NotSet,
|
|
63
|
+
cc: _Enums.AWTCustomerContentKind.NotSet
|
|
64
|
+
};
|
|
65
|
+
eventProperties.properties[key] = property;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
const nameProperty = {
|
|
69
|
+
value: _Constants.Constants.LiveChatWidget,
|
|
70
|
+
type: _Enums.AWTPropertyType.String,
|
|
71
|
+
pii: _Enums.AWTPiiKind.GenericData,
|
|
72
|
+
cc: _Enums.AWTCustomerContentKind.NotSet
|
|
73
|
+
};
|
|
74
|
+
eventProperties.properties[ariaTelemetryApplicationName] = nameProperty;
|
|
79
75
|
}
|
|
80
|
-
|
|
81
76
|
logger() ? logger().logEvent(eventProperties) : console.log("Unable to initialize aria logger");
|
|
82
77
|
} catch (error) {
|
|
83
78
|
console.error("Error in logging telemetry to Aria logger:" + error);
|
|
84
79
|
}
|
|
85
80
|
},
|
|
86
81
|
dispose: () => {
|
|
87
|
-
|
|
82
|
+
_AriaSDK.AWTLogManager.flush(function () {
|
|
88
83
|
console.log("Aria logger disposed");
|
|
89
84
|
});
|
|
90
85
|
}
|
|
91
86
|
};
|
|
92
87
|
return ariaLogger;
|
|
93
88
|
};
|
|
94
|
-
|
|
95
89
|
exports.ariaTelemetryLogger = ariaTelemetryLogger;
|
|
@@ -4,35 +4,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.consoleLogger = void 0;
|
|
7
|
-
|
|
8
7
|
var _Constants = require("../../Constants");
|
|
9
|
-
|
|
10
8
|
var _TelemetryConstants = require("../TelemetryConstants");
|
|
11
|
-
|
|
12
9
|
const consoleLogger = () => {
|
|
13
10
|
const consoleLogger = {
|
|
14
11
|
log: (logLevel, telemetryInput) => {
|
|
15
12
|
const payload = telemetryInput !== null && telemetryInput !== void 0 && telemetryInput.payload && Object.keys(telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.payload).length > 0 ? telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.payload : "";
|
|
16
13
|
const telemetryInfo = telemetryInput !== null && telemetryInput !== void 0 && telemetryInput.telemetryInfo && Object.keys(telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.telemetryInfo).length > 0 ? telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.telemetryInfo : "";
|
|
17
|
-
|
|
18
14
|
try {
|
|
19
15
|
switch (logLevel) {
|
|
20
16
|
case _TelemetryConstants.LogLevel.INFO:
|
|
21
17
|
console.info(_Constants.Constants.LiveChatWidget, payload, telemetryInfo);
|
|
22
18
|
break;
|
|
23
|
-
|
|
24
19
|
case _TelemetryConstants.LogLevel.DEBUG:
|
|
25
20
|
console.debug(_Constants.Constants.LiveChatWidget, payload, telemetryInfo);
|
|
26
21
|
break;
|
|
27
|
-
|
|
28
22
|
case _TelemetryConstants.LogLevel.WARN:
|
|
29
23
|
console.warn(_Constants.Constants.LiveChatWidget, payload, telemetryInfo);
|
|
30
24
|
break;
|
|
31
|
-
|
|
32
25
|
case _TelemetryConstants.LogLevel.ERROR:
|
|
33
26
|
console.error(_Constants.Constants.LiveChatWidget, payload, telemetryInfo);
|
|
34
27
|
break;
|
|
35
|
-
|
|
36
28
|
default:
|
|
37
29
|
console.debug(_Constants.Constants.LiveChatWidget, payload, telemetryInfo);
|
|
38
30
|
break;
|
|
@@ -47,5 +39,4 @@ const consoleLogger = () => {
|
|
|
47
39
|
};
|
|
48
40
|
return consoleLogger;
|
|
49
41
|
};
|
|
50
|
-
|
|
51
42
|
exports.consoleLogger = consoleLogger;
|
package/lib/cjs/common/utils.js
CHANGED
|
@@ -3,33 +3,27 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.setTabIndices = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.createTimer = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
|
|
7
|
-
|
|
6
|
+
exports.setTabIndices = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.getBroadcastChannelName = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.createTimer = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
|
|
8
7
|
var _Constants = require("./Constants");
|
|
9
|
-
|
|
10
8
|
var _DataStoreManager = require("./contextDataStore/DataStoreManager");
|
|
11
|
-
|
|
12
9
|
var _KeyCodes = require("./KeyCodes");
|
|
13
|
-
|
|
14
10
|
var _TelemetryConstants = require("./telemetry/TelemetryConstants");
|
|
15
|
-
|
|
11
|
+
var _md5Typescript = require("md5-typescript");
|
|
16
12
|
const getElementBySelector = selector => {
|
|
17
13
|
let element;
|
|
18
|
-
|
|
19
14
|
if (typeof selector === "string") {
|
|
20
15
|
element = document.querySelector(selector);
|
|
21
16
|
} else {
|
|
22
17
|
element = selector;
|
|
23
18
|
}
|
|
24
|
-
|
|
25
19
|
return element;
|
|
26
|
-
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// The purpose of this function is:
|
|
27
23
|
// - to make elements not focusable, when confirmation pane or email transcript pane are showing,
|
|
28
24
|
// - to set their initial tab indices back after confirmation pane or email transcript pane are closed
|
|
29
25
|
// Otherwise, the user will be able to click on the screen and tab through different buttons or other elements, even though
|
|
30
26
|
// these dialogs are showing
|
|
31
|
-
|
|
32
|
-
|
|
33
27
|
const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
|
|
34
28
|
if (elements) {
|
|
35
29
|
if (shouldBeFocusable) {
|
|
@@ -38,7 +32,6 @@ const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
|
|
|
38
32
|
elements[index].tabIndex = tabIndexMap.get(elements[index].id);
|
|
39
33
|
}
|
|
40
34
|
}
|
|
41
|
-
|
|
42
35
|
tabIndexMap.clear();
|
|
43
36
|
} else {
|
|
44
37
|
for (let index = 0; index < elements.length; index++) {
|
|
@@ -48,75 +41,54 @@ const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
|
|
|
48
41
|
}
|
|
49
42
|
}
|
|
50
43
|
};
|
|
51
|
-
|
|
52
44
|
exports.setTabIndices = setTabIndices;
|
|
53
|
-
|
|
54
45
|
const findParentFocusableElementsWithoutChildContainer = elementId => {
|
|
55
46
|
const childContainer = document.getElementById(elementId);
|
|
56
|
-
|
|
57
47
|
if (!childContainer) {
|
|
58
48
|
return null;
|
|
59
49
|
}
|
|
60
|
-
|
|
61
50
|
const parentContainer = childContainer.parentElement;
|
|
62
|
-
|
|
63
51
|
if (!parentContainer) {
|
|
64
52
|
return null;
|
|
65
53
|
}
|
|
66
|
-
|
|
67
54
|
const parentFocusableElements = findAllFocusableElement(parentContainer);
|
|
68
|
-
|
|
69
55
|
if (!parentFocusableElements) {
|
|
70
56
|
return null;
|
|
71
57
|
}
|
|
72
|
-
|
|
73
58
|
for (let index = 0; index < parentFocusableElements.length; index++) {
|
|
74
59
|
if (childContainer.contains(parentFocusableElements[index])) {
|
|
75
60
|
parentFocusableElements.splice(index, 1);
|
|
76
61
|
index--;
|
|
77
62
|
}
|
|
78
63
|
}
|
|
79
|
-
|
|
80
64
|
return parentFocusableElements;
|
|
81
65
|
};
|
|
82
|
-
|
|
83
66
|
exports.findParentFocusableElementsWithoutChildContainer = findParentFocusableElementsWithoutChildContainer;
|
|
84
|
-
|
|
85
67
|
const findAllFocusableElement = parent => {
|
|
86
68
|
const container = getElementBySelector(parent);
|
|
87
|
-
|
|
88
69
|
if (container !== null) {
|
|
89
70
|
return Array.prototype.slice.call(container.querySelectorAll("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex=\"0\"]"));
|
|
90
71
|
}
|
|
91
|
-
|
|
92
72
|
return null;
|
|
93
73
|
};
|
|
94
|
-
|
|
95
74
|
exports.findAllFocusableElement = findAllFocusableElement;
|
|
96
|
-
|
|
97
75
|
const preventFocusToMoveOutOfElement = elementId => {
|
|
98
76
|
const container = document.getElementById(elementId);
|
|
99
|
-
|
|
100
77
|
if (!container) {
|
|
101
78
|
return;
|
|
102
79
|
}
|
|
103
|
-
|
|
104
80
|
const focusableElements = findAllFocusableElement(container);
|
|
105
|
-
|
|
106
81
|
if (!focusableElements) {
|
|
107
82
|
return;
|
|
108
83
|
}
|
|
109
|
-
|
|
110
84
|
const firstFocusableElement = focusableElements[0];
|
|
111
85
|
const lastFocusableElement = focusableElements[focusableElements.length - 1];
|
|
112
|
-
|
|
113
86
|
firstFocusableElement.onkeydown = e => {
|
|
114
87
|
if (e.shiftKey && e.key === _KeyCodes.KeyCodes.TAB) {
|
|
115
88
|
e.preventDefault();
|
|
116
89
|
lastFocusableElement === null || lastFocusableElement === void 0 ? void 0 : lastFocusableElement.focus();
|
|
117
90
|
}
|
|
118
91
|
};
|
|
119
|
-
|
|
120
92
|
lastFocusableElement.onkeydown = e => {
|
|
121
93
|
if (!e.shiftKey && e.key === _KeyCodes.KeyCodes.TAB) {
|
|
122
94
|
e.preventDefault();
|
|
@@ -124,23 +96,17 @@ const preventFocusToMoveOutOfElement = elementId => {
|
|
|
124
96
|
}
|
|
125
97
|
};
|
|
126
98
|
};
|
|
127
|
-
|
|
128
99
|
exports.preventFocusToMoveOutOfElement = preventFocusToMoveOutOfElement;
|
|
129
|
-
|
|
130
100
|
const setFocusOnSendBox = () => {
|
|
131
101
|
const sendBoxSelector = "textarea[data-id=\"webchat-sendbox-input\"]";
|
|
132
102
|
setFocusOnElement(sendBoxSelector);
|
|
133
103
|
};
|
|
134
|
-
|
|
135
104
|
exports.setFocusOnSendBox = setFocusOnSendBox;
|
|
136
|
-
|
|
137
105
|
const setFocusOnElement = selector => {
|
|
138
106
|
const element = getElementBySelector(selector);
|
|
139
107
|
element === null || element === void 0 ? void 0 : element.focus();
|
|
140
108
|
};
|
|
141
|
-
|
|
142
109
|
exports.setFocusOnElement = setFocusOnElement;
|
|
143
|
-
|
|
144
110
|
const escapeHtml = inputString => {
|
|
145
111
|
const entityMap = {
|
|
146
112
|
"<": "<",
|
|
@@ -153,37 +119,27 @@ const escapeHtml = inputString => {
|
|
|
153
119
|
return entityMap[s];
|
|
154
120
|
});
|
|
155
121
|
};
|
|
156
|
-
|
|
157
122
|
exports.escapeHtml = escapeHtml;
|
|
158
|
-
|
|
159
123
|
const getIconText = text => {
|
|
160
124
|
if (text) {
|
|
161
125
|
const initials = text.split(/\s/).reduce((response, word) => response += word.slice(0, 1), "");
|
|
162
|
-
|
|
163
126
|
if (initials.length > 1) {
|
|
164
127
|
return initials.substring(0, 2).toUpperCase();
|
|
165
128
|
} else {
|
|
166
129
|
return text.substring(0, 2).toUpperCase();
|
|
167
130
|
}
|
|
168
131
|
}
|
|
169
|
-
|
|
170
132
|
return "";
|
|
171
133
|
};
|
|
172
|
-
|
|
173
134
|
exports.getIconText = getIconText;
|
|
174
|
-
|
|
175
135
|
const getLocaleDirection = localeLCID => {
|
|
176
136
|
return _Constants.LocaleConstants.RTL_LOCALES.indexOf(localeLCID) === -1 ? "ltr" : "rtl";
|
|
177
137
|
};
|
|
178
|
-
|
|
179
138
|
exports.getLocaleDirection = getLocaleDirection;
|
|
180
|
-
|
|
181
139
|
const changeLanguageCodeFormatForWebChat = languageCode => {
|
|
182
140
|
return languageCode.slice(0, -2) + languageCode.slice(-2).toUpperCase();
|
|
183
141
|
};
|
|
184
|
-
|
|
185
142
|
exports.changeLanguageCodeFormatForWebChat = changeLanguageCodeFormatForWebChat;
|
|
186
|
-
|
|
187
143
|
const getTimestampHourMinute = timestampStr => {
|
|
188
144
|
let yearFormat;
|
|
189
145
|
let monthDayFormat;
|
|
@@ -191,20 +147,16 @@ const getTimestampHourMinute = timestampStr => {
|
|
|
191
147
|
const minuteFormat = "2-digit";
|
|
192
148
|
const date = new Date(timestampStr);
|
|
193
149
|
const now = new Date();
|
|
194
|
-
|
|
195
150
|
if (isNaN(date.getTime())) {
|
|
196
151
|
return "";
|
|
197
152
|
}
|
|
198
|
-
|
|
199
153
|
if (date.getFullYear() !== now.getFullYear()) {
|
|
200
154
|
yearFormat = "numeric";
|
|
201
155
|
monthDayFormat = "2-digit";
|
|
202
156
|
}
|
|
203
|
-
|
|
204
157
|
if (date.getMonth() !== now.getMonth() || date.getDate() !== now.getDate()) {
|
|
205
158
|
monthDayFormat = "2-digit";
|
|
206
159
|
}
|
|
207
|
-
|
|
208
160
|
return date.toLocaleTimeString(navigator.language, {
|
|
209
161
|
year: yearFormat,
|
|
210
162
|
month: monthDayFormat,
|
|
@@ -213,15 +165,12 @@ const getTimestampHourMinute = timestampStr => {
|
|
|
213
165
|
minute: minuteFormat
|
|
214
166
|
});
|
|
215
167
|
};
|
|
216
|
-
|
|
217
168
|
exports.getTimestampHourMinute = getTimestampHourMinute;
|
|
218
|
-
|
|
219
169
|
const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
|
|
220
170
|
if (payload && payload !== "{}") {
|
|
221
171
|
try {
|
|
222
172
|
const parsedPayload = JSON.parse(payload.replace(/*/g, "*"));
|
|
223
173
|
const body = parsedPayload.body;
|
|
224
|
-
|
|
225
174
|
if (body) {
|
|
226
175
|
//Parse ID field into available options and add required error messages
|
|
227
176
|
for (const fields of body) {
|
|
@@ -229,26 +178,22 @@ const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
|
|
|
229
178
|
const parsedId = JSON.parse(fields.id);
|
|
230
179
|
fields.id = parsedId.Id;
|
|
231
180
|
fields.isRequired = parsedId.IsRequired ?? false;
|
|
232
|
-
|
|
233
181
|
if (fields.isRequired) {
|
|
234
182
|
fields.errorMessage = requiredFieldMissingMessage.replace("{0}", parsedId.Name ?? "");
|
|
235
183
|
}
|
|
236
184
|
}
|
|
237
185
|
}
|
|
238
186
|
}
|
|
239
|
-
|
|
240
187
|
return JSON.stringify(parsedPayload);
|
|
241
188
|
} catch (ex) {
|
|
242
189
|
throw new Error(`Adaptive card pase error: ${ex}`);
|
|
243
190
|
}
|
|
244
191
|
}
|
|
245
|
-
|
|
246
192
|
return payload;
|
|
247
|
-
};
|
|
248
|
-
|
|
193
|
+
};
|
|
249
194
|
|
|
195
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
250
196
|
exports.parseAdaptiveCardPayload = parseAdaptiveCardPayload;
|
|
251
|
-
|
|
252
197
|
const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
|
|
253
198
|
if (preChatSurvey && preChatSurvey !== "{}" && values) {
|
|
254
199
|
try {
|
|
@@ -258,14 +203,13 @@ const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
|
|
|
258
203
|
"Type": _Constants.Constants.InputSubmit
|
|
259
204
|
};
|
|
260
205
|
const computedValues = [];
|
|
261
|
-
|
|
262
206
|
for (const val of values) {
|
|
263
207
|
const index = val.index;
|
|
264
208
|
const Id = body[index].id;
|
|
265
209
|
computedValues[Id] = val.value;
|
|
266
210
|
}
|
|
267
|
-
|
|
268
|
-
|
|
211
|
+
const finalPayload = {
|
|
212
|
+
...type,
|
|
269
213
|
...computedValues
|
|
270
214
|
};
|
|
271
215
|
return finalPayload;
|
|
@@ -273,49 +217,38 @@ const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
|
|
|
273
217
|
throw new Error(`PreChatSurvey Response parse error: ${ex}`);
|
|
274
218
|
}
|
|
275
219
|
}
|
|
276
|
-
|
|
277
220
|
return {};
|
|
278
|
-
};
|
|
279
|
-
|
|
221
|
+
};
|
|
280
222
|
|
|
223
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
281
224
|
exports.extractPreChatSurveyResponseValues = extractPreChatSurveyResponseValues;
|
|
282
|
-
|
|
283
225
|
const isNullOrUndefined = obj => {
|
|
284
226
|
return obj === null || obj === undefined;
|
|
285
227
|
};
|
|
286
|
-
|
|
287
228
|
exports.isNullOrUndefined = isNullOrUndefined;
|
|
288
|
-
|
|
289
229
|
const isNullOrEmptyString = s => {
|
|
290
230
|
return isNullOrUndefined(s) || s === "";
|
|
291
231
|
};
|
|
292
|
-
|
|
293
232
|
exports.isNullOrEmptyString = isNullOrEmptyString;
|
|
294
|
-
|
|
295
233
|
const newGuid = () => {
|
|
296
234
|
//RFC 4122 canonical representation Version-4 xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx where x is any hexadecimal digit and y is one of 8, 9, A, or B
|
|
297
235
|
const guidPattern = _Constants.Constants.GuidPattern;
|
|
298
236
|
let newGuid = "";
|
|
299
|
-
|
|
300
237
|
for (let i = 0; i < guidPattern.length; i++) {
|
|
301
238
|
const randomString = Math.floor(Math.random() * Date.now());
|
|
302
|
-
|
|
303
239
|
switch (guidPattern[i]) {
|
|
304
240
|
case "x":
|
|
305
241
|
newGuid += randomString.toString(16).substring(0, 4);
|
|
306
242
|
break;
|
|
307
243
|
//get 4 digit
|
|
308
|
-
|
|
309
244
|
case "m":
|
|
310
245
|
newGuid += randomString.toString(16).substring(0, 3);
|
|
311
246
|
break;
|
|
312
247
|
//Get 3 digit
|
|
313
|
-
|
|
314
248
|
case "y":
|
|
315
249
|
newGuid += (randomString & 0x3 | 0x8).toString(16);
|
|
316
250
|
break;
|
|
317
251
|
// To get only one of 8, 9, A, or B
|
|
318
|
-
|
|
319
252
|
default:
|
|
320
253
|
newGuid += guidPattern[i];
|
|
321
254
|
//Default "-" and "4"
|
|
@@ -324,9 +257,7 @@ const newGuid = () => {
|
|
|
324
257
|
|
|
325
258
|
return newGuid;
|
|
326
259
|
};
|
|
327
|
-
|
|
328
260
|
exports.newGuid = newGuid;
|
|
329
|
-
|
|
330
261
|
const createTimer = () => {
|
|
331
262
|
const timeStart = new Date().getTime();
|
|
332
263
|
return {
|
|
@@ -334,46 +265,41 @@ const createTimer = () => {
|
|
|
334
265
|
const ms = new Date().getTime() - timeStart;
|
|
335
266
|
return ms;
|
|
336
267
|
}
|
|
337
|
-
|
|
338
268
|
};
|
|
339
|
-
};
|
|
340
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
341
|
-
|
|
269
|
+
};
|
|
342
270
|
|
|
271
|
+
// Returns the domain of the org
|
|
272
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
343
273
|
exports.createTimer = createTimer;
|
|
344
|
-
|
|
345
274
|
const getDomain = hostValue => {
|
|
346
275
|
for (let i = 0; i < _Constants.AriaTelemetryConstants.lcwEUDomainNames.length; i++) {
|
|
347
276
|
if (hostValue.endsWith(_Constants.AriaTelemetryConstants.lcwEUDomainNames[i])) {
|
|
348
277
|
return _Constants.AriaTelemetryConstants.EU;
|
|
349
278
|
}
|
|
350
279
|
}
|
|
351
|
-
|
|
352
280
|
return _Constants.AriaTelemetryConstants.Public;
|
|
353
281
|
};
|
|
354
|
-
|
|
355
282
|
exports.getDomain = getDomain;
|
|
356
|
-
|
|
357
|
-
const
|
|
358
|
-
return
|
|
283
|
+
const getWidgetCacheId = (orgId, widgetId, widgetInstanceId) => {
|
|
284
|
+
const widgetCacheId = `${widgetInstanceId}_${orgId}_${widgetId}`;
|
|
285
|
+
return _md5Typescript.Md5.init(widgetCacheId);
|
|
359
286
|
};
|
|
360
|
-
|
|
361
287
|
exports.getWidgetCacheId = getWidgetCacheId;
|
|
362
|
-
|
|
363
|
-
|
|
288
|
+
const getWidgetEndChatEventName = (orgId, widgetId, widgetInstanceId) => {
|
|
289
|
+
if (!isNullOrEmptyString(widgetInstanceId)) {
|
|
290
|
+
return `${_TelemetryConstants.BroadcastEvent.ChatEnded}_${widgetInstanceId}_${orgId}_${widgetId}`;
|
|
291
|
+
}
|
|
364
292
|
return `${_TelemetryConstants.BroadcastEvent.ChatEnded}_${orgId}_${widgetId}`;
|
|
365
|
-
};
|
|
366
|
-
|
|
293
|
+
};
|
|
367
294
|
|
|
295
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
368
296
|
exports.getWidgetEndChatEventName = getWidgetEndChatEventName;
|
|
369
|
-
|
|
370
|
-
const getStateFromCache = (orgId, widgetId) => {
|
|
297
|
+
const getStateFromCache = (orgId, widgetId, widgetInstanceId) => {
|
|
371
298
|
// Getting updated state from cache
|
|
372
299
|
try {
|
|
373
300
|
if (_DataStoreManager.DataStoreManager.clientDataStore) {
|
|
374
301
|
var _DataStoreManager$cli;
|
|
375
|
-
|
|
376
|
-
const widgetStateEventName = getWidgetCacheId(orgId, widgetId);
|
|
302
|
+
const widgetStateEventName = getWidgetCacheId(orgId, widgetId, widgetInstanceId);
|
|
377
303
|
const widgetStateFromCache = (_DataStoreManager$cli = _DataStoreManager.DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(widgetStateEventName, "localStorage");
|
|
378
304
|
const persistedState = widgetStateFromCache ? JSON.parse(widgetStateFromCache) : undefined;
|
|
379
305
|
return persistedState;
|
|
@@ -384,28 +310,28 @@ const getStateFromCache = (orgId, widgetId) => {
|
|
|
384
310
|
console.log(error);
|
|
385
311
|
return null;
|
|
386
312
|
}
|
|
387
|
-
};
|
|
388
|
-
|
|
313
|
+
};
|
|
389
314
|
|
|
315
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
390
316
|
exports.getStateFromCache = getStateFromCache;
|
|
391
|
-
|
|
392
317
|
const isUndefinedOrEmpty = object => {
|
|
393
318
|
if (object) {
|
|
394
319
|
if (Object.keys(object).length === 0) {
|
|
395
320
|
return true;
|
|
396
321
|
}
|
|
397
|
-
|
|
398
322
|
return false;
|
|
399
323
|
} else {
|
|
400
324
|
return true;
|
|
401
325
|
}
|
|
402
|
-
};
|
|
403
|
-
|
|
326
|
+
};
|
|
404
327
|
|
|
328
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
405
329
|
exports.isUndefinedOrEmpty = isUndefinedOrEmpty;
|
|
406
|
-
|
|
407
330
|
const addDelayInMs = ms => {
|
|
408
331
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
409
332
|
};
|
|
410
|
-
|
|
411
|
-
|
|
333
|
+
exports.addDelayInMs = addDelayInMs;
|
|
334
|
+
const getBroadcastChannelName = (widgetId, widgetInstanceId) => {
|
|
335
|
+
return widgetInstanceId && !isNullOrEmptyString(widgetInstanceId) ? `${widgetInstanceId}_${widgetId}` : widgetId;
|
|
336
|
+
};
|
|
337
|
+
exports.getBroadcastChannelName = getBroadcastChannelName;
|