@microsoft/omnichannel-chat-widget 0.1.0-main.4eb4d1f → 0.1.0-main.50fdaaa
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -34
- package/lib/cjs/assets/Icons.js +4 -2
- package/lib/cjs/common/Constants.js +25 -170
- package/lib/cjs/common/KeyCodes.js +3 -4
- package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -5
- package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -0
- package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +111 -0
- package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
- package/lib/cjs/common/telemetry/TelemetryConstants.js +41 -23
- package/lib/cjs/common/telemetry/TelemetryHelper.js +21 -59
- package/lib/cjs/common/telemetry/TelemetryManager.js +3 -32
- package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
- package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
- package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
- package/lib/cjs/common/utils.js +54 -107
- 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 +9 -33
- package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -37
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
- package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
- package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -45
- package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
- package/lib/cjs/components/headerstateful/HeaderStateful.js +20 -32
- package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
- package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +39 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +139 -0
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -6
- package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +34 -0
- package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +14 -20
- package/lib/cjs/components/livechatwidget/common/Deferred.js +37 -0
- package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
- package/lib/cjs/components/livechatwidget/common/createAdapter.js +7 -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 +125 -49
- package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
- package/lib/cjs/components/livechatwidget/common/endChat.js +74 -53
- 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 +45 -66
- package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +76 -137
- 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 +194 -153
- package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
- package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
- package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +264 -231
- package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +26 -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 +11 -39
- package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
- package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
- package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +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 +12 -27
- package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +5 -18
- package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
- package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -15
- package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
- package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -5
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -61
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +20 -34
- 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 +14 -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/hooks/useDebounce.js +28 -0
- package/lib/cjs/hooks/useWindowDimensions.js +30 -0
- package/lib/cjs/index.js +0 -5
- package/lib/cjs/plugins/newMessageEventHandler.js +29 -36
- package/lib/esm/assets/Icons.js +2 -1
- package/lib/esm/common/Constants.js +22 -157
- package/lib/esm/common/KeyCodes.js +3 -3
- package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
- package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
- package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +104 -0
- package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
- package/lib/esm/common/telemetry/TelemetryConstants.js +45 -20
- package/lib/esm/common/telemetry/TelemetryHelper.js +21 -47
- package/lib/esm/common/telemetry/TelemetryManager.js +3 -19
- package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
- package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
- package/lib/esm/common/utils.js +51 -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 +11 -14
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -16
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
- package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
- package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
- package/lib/esm/components/headerstateful/HeaderStateful.js +20 -17
- package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
- package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +134 -0
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -4
- package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +27 -0
- package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +14 -16
- package/lib/esm/components/livechatwidget/common/Deferred.js +30 -0
- package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
- package/lib/esm/components/livechatwidget/common/createAdapter.js +9 -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 +126 -35
- package/lib/esm/components/livechatwidget/common/endChat.js +76 -38
- 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 +47 -31
- package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +77 -119
- 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 +194 -129
- package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
- package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +267 -169
- package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +26 -7
- package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
- package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
- package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
- package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
- package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
- package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
- package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
- package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
- package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +13 -23
- package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
- package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
- package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +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 +12 -19
- package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +5 -14
- package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
- package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
- package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
- package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +19 -23
- 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 +14 -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/hooks/useDebounce.js +22 -0
- package/lib/esm/hooks/useWindowDimensions.js +23 -0
- package/lib/esm/plugins/newMessageEventHandler.js +29 -26
- package/lib/types/assets/Icons.d.ts +1 -0
- package/lib/types/common/Constants.d.ts +15 -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 +29 -5
- package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -1
- package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
- package/lib/types/common/telemetry/definitions/Payload.d.ts +1 -0
- package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +4 -0
- package/lib/types/common/utils.d.ts +5 -3
- 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/BotAuthActivitySubscriber.d.ts +9 -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 +5 -7
- 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 +4 -1
- package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -2
- package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
- package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
- package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
- package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
- package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
- package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -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/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
- 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/lib/types/hooks/useDebounce.d.ts +3 -0
- package/lib/types/hooks/useWindowDimensions.d.ts +4 -0
- package/package.json +5 -4
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.defaultTelemetryConfiguration = void 0;
|
|
7
|
-
|
|
8
7
|
var _defaultAriaConfig = require("./defaultAriaConfig");
|
|
9
|
-
|
|
10
8
|
const defaultTelemetryConfiguration = {
|
|
11
9
|
telemetryDisabled: false,
|
|
12
10
|
disableConsoleLog: false,
|
|
@@ -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,28 @@
|
|
|
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.debounceLeading = 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");
|
|
12
|
+
var _this = void 0;
|
|
16
13
|
const getElementBySelector = selector => {
|
|
17
14
|
let element;
|
|
18
|
-
|
|
19
15
|
if (typeof selector === "string") {
|
|
20
16
|
element = document.querySelector(selector);
|
|
21
17
|
} else {
|
|
22
18
|
element = selector;
|
|
23
19
|
}
|
|
24
|
-
|
|
25
20
|
return element;
|
|
26
|
-
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// The purpose of this function is:
|
|
27
24
|
// - to make elements not focusable, when confirmation pane or email transcript pane are showing,
|
|
28
25
|
// - to set their initial tab indices back after confirmation pane or email transcript pane are closed
|
|
29
26
|
// Otherwise, the user will be able to click on the screen and tab through different buttons or other elements, even though
|
|
30
27
|
// these dialogs are showing
|
|
31
|
-
|
|
32
|
-
|
|
33
28
|
const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
|
|
34
29
|
if (elements) {
|
|
35
30
|
if (shouldBeFocusable) {
|
|
@@ -38,7 +33,6 @@ const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
|
|
|
38
33
|
elements[index].tabIndex = tabIndexMap.get(elements[index].id);
|
|
39
34
|
}
|
|
40
35
|
}
|
|
41
|
-
|
|
42
36
|
tabIndexMap.clear();
|
|
43
37
|
} else {
|
|
44
38
|
for (let index = 0; index < elements.length; index++) {
|
|
@@ -48,75 +42,54 @@ const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
|
|
|
48
42
|
}
|
|
49
43
|
}
|
|
50
44
|
};
|
|
51
|
-
|
|
52
45
|
exports.setTabIndices = setTabIndices;
|
|
53
|
-
|
|
54
46
|
const findParentFocusableElementsWithoutChildContainer = elementId => {
|
|
55
47
|
const childContainer = document.getElementById(elementId);
|
|
56
|
-
|
|
57
48
|
if (!childContainer) {
|
|
58
49
|
return null;
|
|
59
50
|
}
|
|
60
|
-
|
|
61
51
|
const parentContainer = childContainer.parentElement;
|
|
62
|
-
|
|
63
52
|
if (!parentContainer) {
|
|
64
53
|
return null;
|
|
65
54
|
}
|
|
66
|
-
|
|
67
55
|
const parentFocusableElements = findAllFocusableElement(parentContainer);
|
|
68
|
-
|
|
69
56
|
if (!parentFocusableElements) {
|
|
70
57
|
return null;
|
|
71
58
|
}
|
|
72
|
-
|
|
73
59
|
for (let index = 0; index < parentFocusableElements.length; index++) {
|
|
74
60
|
if (childContainer.contains(parentFocusableElements[index])) {
|
|
75
61
|
parentFocusableElements.splice(index, 1);
|
|
76
62
|
index--;
|
|
77
63
|
}
|
|
78
64
|
}
|
|
79
|
-
|
|
80
65
|
return parentFocusableElements;
|
|
81
66
|
};
|
|
82
|
-
|
|
83
67
|
exports.findParentFocusableElementsWithoutChildContainer = findParentFocusableElementsWithoutChildContainer;
|
|
84
|
-
|
|
85
68
|
const findAllFocusableElement = parent => {
|
|
86
69
|
const container = getElementBySelector(parent);
|
|
87
|
-
|
|
88
70
|
if (container !== null) {
|
|
89
71
|
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
72
|
}
|
|
91
|
-
|
|
92
73
|
return null;
|
|
93
74
|
};
|
|
94
|
-
|
|
95
75
|
exports.findAllFocusableElement = findAllFocusableElement;
|
|
96
|
-
|
|
97
76
|
const preventFocusToMoveOutOfElement = elementId => {
|
|
98
77
|
const container = document.getElementById(elementId);
|
|
99
|
-
|
|
100
78
|
if (!container) {
|
|
101
79
|
return;
|
|
102
80
|
}
|
|
103
|
-
|
|
104
81
|
const focusableElements = findAllFocusableElement(container);
|
|
105
|
-
|
|
106
82
|
if (!focusableElements) {
|
|
107
83
|
return;
|
|
108
84
|
}
|
|
109
|
-
|
|
110
85
|
const firstFocusableElement = focusableElements[0];
|
|
111
86
|
const lastFocusableElement = focusableElements[focusableElements.length - 1];
|
|
112
|
-
|
|
113
87
|
firstFocusableElement.onkeydown = e => {
|
|
114
88
|
if (e.shiftKey && e.key === _KeyCodes.KeyCodes.TAB) {
|
|
115
89
|
e.preventDefault();
|
|
116
90
|
lastFocusableElement === null || lastFocusableElement === void 0 ? void 0 : lastFocusableElement.focus();
|
|
117
91
|
}
|
|
118
92
|
};
|
|
119
|
-
|
|
120
93
|
lastFocusableElement.onkeydown = e => {
|
|
121
94
|
if (!e.shiftKey && e.key === _KeyCodes.KeyCodes.TAB) {
|
|
122
95
|
e.preventDefault();
|
|
@@ -124,23 +97,17 @@ const preventFocusToMoveOutOfElement = elementId => {
|
|
|
124
97
|
}
|
|
125
98
|
};
|
|
126
99
|
};
|
|
127
|
-
|
|
128
100
|
exports.preventFocusToMoveOutOfElement = preventFocusToMoveOutOfElement;
|
|
129
|
-
|
|
130
101
|
const setFocusOnSendBox = () => {
|
|
131
102
|
const sendBoxSelector = "textarea[data-id=\"webchat-sendbox-input\"]";
|
|
132
103
|
setFocusOnElement(sendBoxSelector);
|
|
133
104
|
};
|
|
134
|
-
|
|
135
105
|
exports.setFocusOnSendBox = setFocusOnSendBox;
|
|
136
|
-
|
|
137
106
|
const setFocusOnElement = selector => {
|
|
138
107
|
const element = getElementBySelector(selector);
|
|
139
108
|
element === null || element === void 0 ? void 0 : element.focus();
|
|
140
109
|
};
|
|
141
|
-
|
|
142
110
|
exports.setFocusOnElement = setFocusOnElement;
|
|
143
|
-
|
|
144
111
|
const escapeHtml = inputString => {
|
|
145
112
|
const entityMap = {
|
|
146
113
|
"<": "<",
|
|
@@ -153,37 +120,27 @@ const escapeHtml = inputString => {
|
|
|
153
120
|
return entityMap[s];
|
|
154
121
|
});
|
|
155
122
|
};
|
|
156
|
-
|
|
157
123
|
exports.escapeHtml = escapeHtml;
|
|
158
|
-
|
|
159
124
|
const getIconText = text => {
|
|
160
125
|
if (text) {
|
|
161
126
|
const initials = text.split(/\s/).reduce((response, word) => response += word.slice(0, 1), "");
|
|
162
|
-
|
|
163
127
|
if (initials.length > 1) {
|
|
164
128
|
return initials.substring(0, 2).toUpperCase();
|
|
165
129
|
} else {
|
|
166
130
|
return text.substring(0, 2).toUpperCase();
|
|
167
131
|
}
|
|
168
132
|
}
|
|
169
|
-
|
|
170
133
|
return "";
|
|
171
134
|
};
|
|
172
|
-
|
|
173
135
|
exports.getIconText = getIconText;
|
|
174
|
-
|
|
175
136
|
const getLocaleDirection = localeLCID => {
|
|
176
137
|
return _Constants.LocaleConstants.RTL_LOCALES.indexOf(localeLCID) === -1 ? "ltr" : "rtl";
|
|
177
138
|
};
|
|
178
|
-
|
|
179
139
|
exports.getLocaleDirection = getLocaleDirection;
|
|
180
|
-
|
|
181
140
|
const changeLanguageCodeFormatForWebChat = languageCode => {
|
|
182
141
|
return languageCode.slice(0, -2) + languageCode.slice(-2).toUpperCase();
|
|
183
142
|
};
|
|
184
|
-
|
|
185
143
|
exports.changeLanguageCodeFormatForWebChat = changeLanguageCodeFormatForWebChat;
|
|
186
|
-
|
|
187
144
|
const getTimestampHourMinute = timestampStr => {
|
|
188
145
|
let yearFormat;
|
|
189
146
|
let monthDayFormat;
|
|
@@ -191,20 +148,16 @@ const getTimestampHourMinute = timestampStr => {
|
|
|
191
148
|
const minuteFormat = "2-digit";
|
|
192
149
|
const date = new Date(timestampStr);
|
|
193
150
|
const now = new Date();
|
|
194
|
-
|
|
195
151
|
if (isNaN(date.getTime())) {
|
|
196
152
|
return "";
|
|
197
153
|
}
|
|
198
|
-
|
|
199
154
|
if (date.getFullYear() !== now.getFullYear()) {
|
|
200
155
|
yearFormat = "numeric";
|
|
201
156
|
monthDayFormat = "2-digit";
|
|
202
157
|
}
|
|
203
|
-
|
|
204
158
|
if (date.getMonth() !== now.getMonth() || date.getDate() !== now.getDate()) {
|
|
205
159
|
monthDayFormat = "2-digit";
|
|
206
160
|
}
|
|
207
|
-
|
|
208
161
|
return date.toLocaleTimeString(navigator.language, {
|
|
209
162
|
year: yearFormat,
|
|
210
163
|
month: monthDayFormat,
|
|
@@ -213,15 +166,12 @@ const getTimestampHourMinute = timestampStr => {
|
|
|
213
166
|
minute: minuteFormat
|
|
214
167
|
});
|
|
215
168
|
};
|
|
216
|
-
|
|
217
169
|
exports.getTimestampHourMinute = getTimestampHourMinute;
|
|
218
|
-
|
|
219
170
|
const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
|
|
220
171
|
if (payload && payload !== "{}") {
|
|
221
172
|
try {
|
|
222
173
|
const parsedPayload = JSON.parse(payload.replace(/*/g, "*"));
|
|
223
174
|
const body = parsedPayload.body;
|
|
224
|
-
|
|
225
175
|
if (body) {
|
|
226
176
|
//Parse ID field into available options and add required error messages
|
|
227
177
|
for (const fields of body) {
|
|
@@ -229,26 +179,22 @@ const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
|
|
|
229
179
|
const parsedId = JSON.parse(fields.id);
|
|
230
180
|
fields.id = parsedId.Id;
|
|
231
181
|
fields.isRequired = parsedId.IsRequired ?? false;
|
|
232
|
-
|
|
233
182
|
if (fields.isRequired) {
|
|
234
183
|
fields.errorMessage = requiredFieldMissingMessage.replace("{0}", parsedId.Name ?? "");
|
|
235
184
|
}
|
|
236
185
|
}
|
|
237
186
|
}
|
|
238
187
|
}
|
|
239
|
-
|
|
240
188
|
return JSON.stringify(parsedPayload);
|
|
241
189
|
} catch (ex) {
|
|
242
190
|
throw new Error(`Adaptive card pase error: ${ex}`);
|
|
243
191
|
}
|
|
244
192
|
}
|
|
245
|
-
|
|
246
193
|
return payload;
|
|
247
|
-
};
|
|
248
|
-
|
|
194
|
+
};
|
|
249
195
|
|
|
196
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
250
197
|
exports.parseAdaptiveCardPayload = parseAdaptiveCardPayload;
|
|
251
|
-
|
|
252
198
|
const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
|
|
253
199
|
if (preChatSurvey && preChatSurvey !== "{}" && values) {
|
|
254
200
|
try {
|
|
@@ -258,14 +204,13 @@ const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
|
|
|
258
204
|
"Type": _Constants.Constants.InputSubmit
|
|
259
205
|
};
|
|
260
206
|
const computedValues = [];
|
|
261
|
-
|
|
262
207
|
for (const val of values) {
|
|
263
208
|
const index = val.index;
|
|
264
209
|
const Id = body[index].id;
|
|
265
210
|
computedValues[Id] = val.value;
|
|
266
211
|
}
|
|
267
|
-
|
|
268
|
-
|
|
212
|
+
const finalPayload = {
|
|
213
|
+
...type,
|
|
269
214
|
...computedValues
|
|
270
215
|
};
|
|
271
216
|
return finalPayload;
|
|
@@ -273,49 +218,38 @@ const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
|
|
|
273
218
|
throw new Error(`PreChatSurvey Response parse error: ${ex}`);
|
|
274
219
|
}
|
|
275
220
|
}
|
|
276
|
-
|
|
277
221
|
return {};
|
|
278
|
-
};
|
|
279
|
-
|
|
222
|
+
};
|
|
280
223
|
|
|
224
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
281
225
|
exports.extractPreChatSurveyResponseValues = extractPreChatSurveyResponseValues;
|
|
282
|
-
|
|
283
226
|
const isNullOrUndefined = obj => {
|
|
284
227
|
return obj === null || obj === undefined;
|
|
285
228
|
};
|
|
286
|
-
|
|
287
229
|
exports.isNullOrUndefined = isNullOrUndefined;
|
|
288
|
-
|
|
289
230
|
const isNullOrEmptyString = s => {
|
|
290
231
|
return isNullOrUndefined(s) || s === "";
|
|
291
232
|
};
|
|
292
|
-
|
|
293
233
|
exports.isNullOrEmptyString = isNullOrEmptyString;
|
|
294
|
-
|
|
295
234
|
const newGuid = () => {
|
|
296
235
|
//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
236
|
const guidPattern = _Constants.Constants.GuidPattern;
|
|
298
237
|
let newGuid = "";
|
|
299
|
-
|
|
300
238
|
for (let i = 0; i < guidPattern.length; i++) {
|
|
301
239
|
const randomString = Math.floor(Math.random() * Date.now());
|
|
302
|
-
|
|
303
240
|
switch (guidPattern[i]) {
|
|
304
241
|
case "x":
|
|
305
242
|
newGuid += randomString.toString(16).substring(0, 4);
|
|
306
243
|
break;
|
|
307
244
|
//get 4 digit
|
|
308
|
-
|
|
309
245
|
case "m":
|
|
310
246
|
newGuid += randomString.toString(16).substring(0, 3);
|
|
311
247
|
break;
|
|
312
248
|
//Get 3 digit
|
|
313
|
-
|
|
314
249
|
case "y":
|
|
315
250
|
newGuid += (randomString & 0x3 | 0x8).toString(16);
|
|
316
251
|
break;
|
|
317
252
|
// To get only one of 8, 9, A, or B
|
|
318
|
-
|
|
319
253
|
default:
|
|
320
254
|
newGuid += guidPattern[i];
|
|
321
255
|
//Default "-" and "4"
|
|
@@ -324,9 +258,7 @@ const newGuid = () => {
|
|
|
324
258
|
|
|
325
259
|
return newGuid;
|
|
326
260
|
};
|
|
327
|
-
|
|
328
261
|
exports.newGuid = newGuid;
|
|
329
|
-
|
|
330
262
|
const createTimer = () => {
|
|
331
263
|
const timeStart = new Date().getTime();
|
|
332
264
|
return {
|
|
@@ -334,46 +266,41 @@ const createTimer = () => {
|
|
|
334
266
|
const ms = new Date().getTime() - timeStart;
|
|
335
267
|
return ms;
|
|
336
268
|
}
|
|
337
|
-
|
|
338
269
|
};
|
|
339
|
-
};
|
|
340
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
341
|
-
|
|
270
|
+
};
|
|
342
271
|
|
|
272
|
+
// Returns the domain of the org
|
|
273
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
343
274
|
exports.createTimer = createTimer;
|
|
344
|
-
|
|
345
275
|
const getDomain = hostValue => {
|
|
346
276
|
for (let i = 0; i < _Constants.AriaTelemetryConstants.lcwEUDomainNames.length; i++) {
|
|
347
277
|
if (hostValue.endsWith(_Constants.AriaTelemetryConstants.lcwEUDomainNames[i])) {
|
|
348
278
|
return _Constants.AriaTelemetryConstants.EU;
|
|
349
279
|
}
|
|
350
280
|
}
|
|
351
|
-
|
|
352
281
|
return _Constants.AriaTelemetryConstants.Public;
|
|
353
282
|
};
|
|
354
|
-
|
|
355
283
|
exports.getDomain = getDomain;
|
|
356
|
-
|
|
357
|
-
const
|
|
358
|
-
return
|
|
284
|
+
const getWidgetCacheId = (orgId, widgetId, widgetInstanceId) => {
|
|
285
|
+
const widgetCacheId = `${widgetInstanceId}_${orgId}_${widgetId}`;
|
|
286
|
+
return _md5Typescript.Md5.init(widgetCacheId);
|
|
359
287
|
};
|
|
360
|
-
|
|
361
288
|
exports.getWidgetCacheId = getWidgetCacheId;
|
|
362
|
-
|
|
363
|
-
|
|
289
|
+
const getWidgetEndChatEventName = (orgId, widgetId, widgetInstanceId) => {
|
|
290
|
+
if (!isNullOrEmptyString(widgetInstanceId)) {
|
|
291
|
+
return `${_TelemetryConstants.BroadcastEvent.ChatEnded}_${widgetInstanceId}_${orgId}_${widgetId}`;
|
|
292
|
+
}
|
|
364
293
|
return `${_TelemetryConstants.BroadcastEvent.ChatEnded}_${orgId}_${widgetId}`;
|
|
365
|
-
};
|
|
366
|
-
|
|
294
|
+
};
|
|
367
295
|
|
|
296
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
368
297
|
exports.getWidgetEndChatEventName = getWidgetEndChatEventName;
|
|
369
|
-
|
|
370
|
-
const getStateFromCache = (orgId, widgetId) => {
|
|
298
|
+
const getStateFromCache = (orgId, widgetId, widgetInstanceId) => {
|
|
371
299
|
// Getting updated state from cache
|
|
372
300
|
try {
|
|
373
301
|
if (_DataStoreManager.DataStoreManager.clientDataStore) {
|
|
374
302
|
var _DataStoreManager$cli;
|
|
375
|
-
|
|
376
|
-
const widgetStateEventName = getWidgetCacheId(orgId, widgetId);
|
|
303
|
+
const widgetStateEventName = getWidgetCacheId(orgId, widgetId, widgetInstanceId);
|
|
377
304
|
const widgetStateFromCache = (_DataStoreManager$cli = _DataStoreManager.DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(widgetStateEventName, "localStorage");
|
|
378
305
|
const persistedState = widgetStateFromCache ? JSON.parse(widgetStateFromCache) : undefined;
|
|
379
306
|
return persistedState;
|
|
@@ -384,28 +311,48 @@ const getStateFromCache = (orgId, widgetId) => {
|
|
|
384
311
|
console.log(error);
|
|
385
312
|
return null;
|
|
386
313
|
}
|
|
387
|
-
};
|
|
388
|
-
|
|
314
|
+
};
|
|
389
315
|
|
|
316
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
390
317
|
exports.getStateFromCache = getStateFromCache;
|
|
391
|
-
|
|
392
318
|
const isUndefinedOrEmpty = object => {
|
|
393
319
|
if (object) {
|
|
394
320
|
if (Object.keys(object).length === 0) {
|
|
395
321
|
return true;
|
|
396
322
|
}
|
|
397
|
-
|
|
398
323
|
return false;
|
|
399
324
|
} else {
|
|
400
325
|
return true;
|
|
401
326
|
}
|
|
402
|
-
};
|
|
403
|
-
|
|
327
|
+
};
|
|
404
328
|
|
|
329
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
405
330
|
exports.isUndefinedOrEmpty = isUndefinedOrEmpty;
|
|
406
|
-
|
|
407
331
|
const addDelayInMs = ms => {
|
|
408
332
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
409
333
|
};
|
|
334
|
+
exports.addDelayInMs = addDelayInMs;
|
|
335
|
+
const getBroadcastChannelName = (widgetId, widgetInstanceId) => {
|
|
336
|
+
return widgetInstanceId && !isNullOrEmptyString(widgetInstanceId) ? `${widgetInstanceId}_${widgetId}` : widgetId;
|
|
337
|
+
};
|
|
410
338
|
|
|
411
|
-
|
|
339
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
340
|
+
exports.getBroadcastChannelName = getBroadcastChannelName;
|
|
341
|
+
const debounceLeading = function (fn) {
|
|
342
|
+
let ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3000;
|
|
343
|
+
let timeoutId;
|
|
344
|
+
return function () {
|
|
345
|
+
// eslint-disable-line @typescript-eslint/no-explicit-any
|
|
346
|
+
|
|
347
|
+
if (!timeoutId) {
|
|
348
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
349
|
+
args[_key] = arguments[_key];
|
|
350
|
+
}
|
|
351
|
+
fn.apply(_this, args);
|
|
352
|
+
}
|
|
353
|
+
timeoutId = setTimeout(() => {
|
|
354
|
+
timeoutId = null;
|
|
355
|
+
}, ms);
|
|
356
|
+
};
|
|
357
|
+
};
|
|
358
|
+
exports.debounceLeading = debounceLeading;
|