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