@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
package/lib/esm/common/utils.js
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
|
+
var _this = this;
|
|
1
2
|
import { AriaTelemetryConstants, Constants, LocaleConstants } from "./Constants";
|
|
2
3
|
import { DataStoreManager } from "./contextDataStore/DataStoreManager";
|
|
3
4
|
import { KeyCodes } from "./KeyCodes";
|
|
4
5
|
import { BroadcastEvent } from "./telemetry/TelemetryConstants";
|
|
5
|
-
|
|
6
|
+
import { Md5 } from "md5-typescript";
|
|
6
7
|
const getElementBySelector = selector => {
|
|
7
8
|
let element;
|
|
8
|
-
|
|
9
9
|
if (typeof selector === "string") {
|
|
10
10
|
element = document.querySelector(selector);
|
|
11
11
|
} else {
|
|
12
12
|
element = selector;
|
|
13
13
|
}
|
|
14
|
-
|
|
15
14
|
return element;
|
|
16
|
-
};
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
// The purpose of this function is:
|
|
17
18
|
// - to make elements not focusable, when confirmation pane or email transcript pane are showing,
|
|
18
19
|
// - to set their initial tab indices back after confirmation pane or email transcript pane are closed
|
|
19
20
|
// Otherwise, the user will be able to click on the screen and tab through different buttons or other elements, even though
|
|
20
21
|
// these dialogs are showing
|
|
21
|
-
|
|
22
|
-
|
|
23
22
|
export const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
|
|
24
23
|
if (elements) {
|
|
25
24
|
if (shouldBeFocusable) {
|
|
@@ -28,7 +27,6 @@ export const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
|
|
|
28
27
|
elements[index].tabIndex = tabIndexMap.get(elements[index].id);
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
|
-
|
|
32
30
|
tabIndexMap.clear();
|
|
33
31
|
} else {
|
|
34
32
|
for (let index = 0; index < elements.length; index++) {
|
|
@@ -40,64 +38,49 @@ export const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
|
|
|
40
38
|
};
|
|
41
39
|
export const findParentFocusableElementsWithoutChildContainer = elementId => {
|
|
42
40
|
const childContainer = document.getElementById(elementId);
|
|
43
|
-
|
|
44
41
|
if (!childContainer) {
|
|
45
42
|
return null;
|
|
46
43
|
}
|
|
47
|
-
|
|
48
44
|
const parentContainer = childContainer.parentElement;
|
|
49
|
-
|
|
50
45
|
if (!parentContainer) {
|
|
51
46
|
return null;
|
|
52
47
|
}
|
|
53
|
-
|
|
54
48
|
const parentFocusableElements = findAllFocusableElement(parentContainer);
|
|
55
|
-
|
|
56
49
|
if (!parentFocusableElements) {
|
|
57
50
|
return null;
|
|
58
51
|
}
|
|
59
|
-
|
|
60
52
|
for (let index = 0; index < parentFocusableElements.length; index++) {
|
|
61
53
|
if (childContainer.contains(parentFocusableElements[index])) {
|
|
62
54
|
parentFocusableElements.splice(index, 1);
|
|
63
55
|
index--;
|
|
64
56
|
}
|
|
65
57
|
}
|
|
66
|
-
|
|
67
58
|
return parentFocusableElements;
|
|
68
59
|
};
|
|
69
60
|
export const findAllFocusableElement = parent => {
|
|
70
61
|
const container = getElementBySelector(parent);
|
|
71
|
-
|
|
72
62
|
if (container !== null) {
|
|
73
63
|
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\"]"));
|
|
74
64
|
}
|
|
75
|
-
|
|
76
65
|
return null;
|
|
77
66
|
};
|
|
78
67
|
export const preventFocusToMoveOutOfElement = elementId => {
|
|
79
68
|
const container = document.getElementById(elementId);
|
|
80
|
-
|
|
81
69
|
if (!container) {
|
|
82
70
|
return;
|
|
83
71
|
}
|
|
84
|
-
|
|
85
72
|
const focusableElements = findAllFocusableElement(container);
|
|
86
|
-
|
|
87
73
|
if (!focusableElements) {
|
|
88
74
|
return;
|
|
89
75
|
}
|
|
90
|
-
|
|
91
76
|
const firstFocusableElement = focusableElements[0];
|
|
92
77
|
const lastFocusableElement = focusableElements[focusableElements.length - 1];
|
|
93
|
-
|
|
94
78
|
firstFocusableElement.onkeydown = e => {
|
|
95
79
|
if (e.shiftKey && e.key === KeyCodes.TAB) {
|
|
96
80
|
e.preventDefault();
|
|
97
81
|
lastFocusableElement === null || lastFocusableElement === void 0 ? void 0 : lastFocusableElement.focus();
|
|
98
82
|
}
|
|
99
83
|
};
|
|
100
|
-
|
|
101
84
|
lastFocusableElement.onkeydown = e => {
|
|
102
85
|
if (!e.shiftKey && e.key === KeyCodes.TAB) {
|
|
103
86
|
e.preventDefault();
|
|
@@ -128,14 +111,12 @@ export const escapeHtml = inputString => {
|
|
|
128
111
|
export const getIconText = text => {
|
|
129
112
|
if (text) {
|
|
130
113
|
const initials = text.split(/\s/).reduce((response, word) => response += word.slice(0, 1), "");
|
|
131
|
-
|
|
132
114
|
if (initials.length > 1) {
|
|
133
115
|
return initials.substring(0, 2).toUpperCase();
|
|
134
116
|
} else {
|
|
135
117
|
return text.substring(0, 2).toUpperCase();
|
|
136
118
|
}
|
|
137
119
|
}
|
|
138
|
-
|
|
139
120
|
return "";
|
|
140
121
|
};
|
|
141
122
|
export const getLocaleDirection = localeLCID => {
|
|
@@ -151,20 +132,16 @@ export const getTimestampHourMinute = timestampStr => {
|
|
|
151
132
|
const minuteFormat = "2-digit";
|
|
152
133
|
const date = new Date(timestampStr);
|
|
153
134
|
const now = new Date();
|
|
154
|
-
|
|
155
135
|
if (isNaN(date.getTime())) {
|
|
156
136
|
return "";
|
|
157
137
|
}
|
|
158
|
-
|
|
159
138
|
if (date.getFullYear() !== now.getFullYear()) {
|
|
160
139
|
yearFormat = "numeric";
|
|
161
140
|
monthDayFormat = "2-digit";
|
|
162
141
|
}
|
|
163
|
-
|
|
164
142
|
if (date.getMonth() !== now.getMonth() || date.getDate() !== now.getDate()) {
|
|
165
143
|
monthDayFormat = "2-digit";
|
|
166
144
|
}
|
|
167
|
-
|
|
168
145
|
return date.toLocaleTimeString(navigator.language, {
|
|
169
146
|
year: yearFormat,
|
|
170
147
|
month: monthDayFormat,
|
|
@@ -178,7 +155,6 @@ export const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) =
|
|
|
178
155
|
try {
|
|
179
156
|
const parsedPayload = JSON.parse(payload.replace(/*/g, "*"));
|
|
180
157
|
const body = parsedPayload.body;
|
|
181
|
-
|
|
182
158
|
if (body) {
|
|
183
159
|
//Parse ID field into available options and add required error messages
|
|
184
160
|
for (const fields of body) {
|
|
@@ -186,23 +162,21 @@ export const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) =
|
|
|
186
162
|
const parsedId = JSON.parse(fields.id);
|
|
187
163
|
fields.id = parsedId.Id;
|
|
188
164
|
fields.isRequired = parsedId.IsRequired ?? false;
|
|
189
|
-
|
|
190
165
|
if (fields.isRequired) {
|
|
191
166
|
fields.errorMessage = requiredFieldMissingMessage.replace("{0}", parsedId.Name ?? "");
|
|
192
167
|
}
|
|
193
168
|
}
|
|
194
169
|
}
|
|
195
170
|
}
|
|
196
|
-
|
|
197
171
|
return JSON.stringify(parsedPayload);
|
|
198
172
|
} catch (ex) {
|
|
199
173
|
throw new Error(`Adaptive card pase error: ${ex}`);
|
|
200
174
|
}
|
|
201
175
|
}
|
|
202
|
-
|
|
203
176
|
return payload;
|
|
204
|
-
};
|
|
177
|
+
};
|
|
205
178
|
|
|
179
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
206
180
|
export const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
|
|
207
181
|
if (preChatSurvey && preChatSurvey !== "{}" && values) {
|
|
208
182
|
try {
|
|
@@ -212,14 +186,13 @@ export const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
|
|
|
212
186
|
"Type": Constants.InputSubmit
|
|
213
187
|
};
|
|
214
188
|
const computedValues = [];
|
|
215
|
-
|
|
216
189
|
for (const val of values) {
|
|
217
190
|
const index = val.index;
|
|
218
191
|
const Id = body[index].id;
|
|
219
192
|
computedValues[Id] = val.value;
|
|
220
193
|
}
|
|
221
|
-
|
|
222
|
-
|
|
194
|
+
const finalPayload = {
|
|
195
|
+
...type,
|
|
223
196
|
...computedValues
|
|
224
197
|
};
|
|
225
198
|
return finalPayload;
|
|
@@ -227,10 +200,10 @@ export const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
|
|
|
227
200
|
throw new Error(`PreChatSurvey Response parse error: ${ex}`);
|
|
228
201
|
}
|
|
229
202
|
}
|
|
230
|
-
|
|
231
203
|
return {};
|
|
232
|
-
};
|
|
204
|
+
};
|
|
233
205
|
|
|
206
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
234
207
|
export const isNullOrUndefined = obj => {
|
|
235
208
|
return obj === null || obj === undefined;
|
|
236
209
|
};
|
|
@@ -241,26 +214,21 @@ export const newGuid = () => {
|
|
|
241
214
|
//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
|
|
242
215
|
const guidPattern = Constants.GuidPattern;
|
|
243
216
|
let newGuid = "";
|
|
244
|
-
|
|
245
217
|
for (let i = 0; i < guidPattern.length; i++) {
|
|
246
218
|
const randomString = Math.floor(Math.random() * Date.now());
|
|
247
|
-
|
|
248
219
|
switch (guidPattern[i]) {
|
|
249
220
|
case "x":
|
|
250
221
|
newGuid += randomString.toString(16).substring(0, 4);
|
|
251
222
|
break;
|
|
252
223
|
//get 4 digit
|
|
253
|
-
|
|
254
224
|
case "m":
|
|
255
225
|
newGuid += randomString.toString(16).substring(0, 3);
|
|
256
226
|
break;
|
|
257
227
|
//Get 3 digit
|
|
258
|
-
|
|
259
228
|
case "y":
|
|
260
229
|
newGuid += (randomString & 0x3 | 0x8).toString(16);
|
|
261
230
|
break;
|
|
262
231
|
// To get only one of 8, 9, A, or B
|
|
263
|
-
|
|
264
232
|
default:
|
|
265
233
|
newGuid += guidPattern[i];
|
|
266
234
|
//Default "-" and "4"
|
|
@@ -276,34 +244,37 @@ export const createTimer = () => {
|
|
|
276
244
|
const ms = new Date().getTime() - timeStart;
|
|
277
245
|
return ms;
|
|
278
246
|
}
|
|
279
|
-
|
|
280
247
|
};
|
|
281
|
-
};
|
|
282
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
248
|
+
};
|
|
283
249
|
|
|
250
|
+
// Returns the domain of the org
|
|
251
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
284
252
|
export const getDomain = hostValue => {
|
|
285
253
|
for (let i = 0; i < AriaTelemetryConstants.lcwEUDomainNames.length; i++) {
|
|
286
254
|
if (hostValue.endsWith(AriaTelemetryConstants.lcwEUDomainNames[i])) {
|
|
287
255
|
return AriaTelemetryConstants.EU;
|
|
288
256
|
}
|
|
289
257
|
}
|
|
290
|
-
|
|
291
258
|
return AriaTelemetryConstants.Public;
|
|
292
259
|
};
|
|
293
|
-
export const getWidgetCacheId = (orgId, widgetId) => {
|
|
294
|
-
|
|
260
|
+
export const getWidgetCacheId = (orgId, widgetId, widgetInstanceId) => {
|
|
261
|
+
const widgetCacheId = `${widgetInstanceId}_${orgId}_${widgetId}`;
|
|
262
|
+
return Md5.init(widgetCacheId);
|
|
295
263
|
};
|
|
296
|
-
export const getWidgetEndChatEventName = (orgId, widgetId) => {
|
|
264
|
+
export const getWidgetEndChatEventName = (orgId, widgetId, widgetInstanceId) => {
|
|
265
|
+
if (!isNullOrEmptyString(widgetInstanceId)) {
|
|
266
|
+
return `${BroadcastEvent.ChatEnded}_${widgetInstanceId}_${orgId}_${widgetId}`;
|
|
267
|
+
}
|
|
297
268
|
return `${BroadcastEvent.ChatEnded}_${orgId}_${widgetId}`;
|
|
298
|
-
};
|
|
269
|
+
};
|
|
299
270
|
|
|
300
|
-
|
|
271
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
272
|
+
export const getStateFromCache = (orgId, widgetId, widgetInstanceId) => {
|
|
301
273
|
// Getting updated state from cache
|
|
302
274
|
try {
|
|
303
275
|
if (DataStoreManager.clientDataStore) {
|
|
304
276
|
var _DataStoreManager$cli;
|
|
305
|
-
|
|
306
|
-
const widgetStateEventName = getWidgetCacheId(orgId, widgetId);
|
|
277
|
+
const widgetStateEventName = getWidgetCacheId(orgId, widgetId, widgetInstanceId);
|
|
307
278
|
const widgetStateFromCache = (_DataStoreManager$cli = DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(widgetStateEventName, "localStorage");
|
|
308
279
|
const persistedState = widgetStateFromCache ? JSON.parse(widgetStateFromCache) : undefined;
|
|
309
280
|
return persistedState;
|
|
@@ -314,20 +285,43 @@ export const getStateFromCache = (orgId, widgetId) => {
|
|
|
314
285
|
console.log(error);
|
|
315
286
|
return null;
|
|
316
287
|
}
|
|
317
|
-
};
|
|
288
|
+
};
|
|
318
289
|
|
|
290
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
319
291
|
export const isUndefinedOrEmpty = object => {
|
|
320
292
|
if (object) {
|
|
321
293
|
if (Object.keys(object).length === 0) {
|
|
322
294
|
return true;
|
|
323
295
|
}
|
|
324
|
-
|
|
325
296
|
return false;
|
|
326
297
|
} else {
|
|
327
298
|
return true;
|
|
328
299
|
}
|
|
329
|
-
};
|
|
300
|
+
};
|
|
330
301
|
|
|
302
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
331
303
|
export const addDelayInMs = ms => {
|
|
332
304
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
305
|
+
};
|
|
306
|
+
export const getBroadcastChannelName = (widgetId, widgetInstanceId) => {
|
|
307
|
+
return widgetInstanceId && !isNullOrEmptyString(widgetInstanceId) ? `${widgetInstanceId}_${widgetId}` : widgetId;
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
311
|
+
export const debounceLeading = function (fn) {
|
|
312
|
+
let ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3000;
|
|
313
|
+
let timeoutId;
|
|
314
|
+
return function () {
|
|
315
|
+
// eslint-disable-line @typescript-eslint/no-explicit-any
|
|
316
|
+
|
|
317
|
+
if (!timeoutId) {
|
|
318
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
319
|
+
args[_key] = arguments[_key];
|
|
320
|
+
}
|
|
321
|
+
fn.apply(_this, args);
|
|
322
|
+
}
|
|
323
|
+
timeoutId = setTimeout(() => {
|
|
324
|
+
timeoutId = null;
|
|
325
|
+
}, ms);
|
|
326
|
+
};
|
|
333
327
|
};
|
|
@@ -7,17 +7,17 @@ import useChatContextStore from "../../hooks/useChatContextStore";
|
|
|
7
7
|
import useChatSDKStore from "../../hooks/useChatSDKStore";
|
|
8
8
|
export const CallingContainerStateful = props => {
|
|
9
9
|
var _props$controlProps, _props$controlProps2, _props$controlProps2$, _props$controlProps3, _props$controlProps3$, _props$controlProps3$2, _props$controlProps4, _props$controlProps4$, _props$controlProps4$2, _props$controlProps5;
|
|
10
|
-
|
|
11
10
|
//TODO : Close button confirmation implmentation is pending
|
|
12
|
-
const [state, dispatch] = useChatContextStore(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
11
|
|
|
14
|
-
const
|
|
12
|
+
const [state, dispatch] = useChatContextStore();
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
+
const chatSDK = useChatSDKStore();
|
|
15
15
|
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
17
|
const {
|
|
17
18
|
voiceVideoCallingSdk
|
|
18
19
|
} = props;
|
|
19
20
|
let callId;
|
|
20
|
-
|
|
21
21
|
const resetCallingStates = reset => {
|
|
22
22
|
if (reset) {
|
|
23
23
|
dispatch({
|
|
@@ -42,12 +42,10 @@ export const CallingContainerStateful = props => {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
|
-
|
|
46
45
|
useEffect(() => {
|
|
47
46
|
const init = async () => {
|
|
48
47
|
try {
|
|
49
48
|
var _controlProps$current, _controlProps$current2, _controlProps$current3, _controlProps$current4;
|
|
50
|
-
|
|
51
49
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
50
|
TelemetryHelper.callId = callId;
|
|
53
51
|
await voiceVideoCallingSdk.initialize({
|
|
@@ -60,16 +58,15 @@ export const CallingContainerStateful = props => {
|
|
|
60
58
|
});
|
|
61
59
|
} catch (e) {
|
|
62
60
|
TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
|
|
63
|
-
Event: TelemetryEvent.
|
|
61
|
+
Event: TelemetryEvent.VoiceVideoSdkInitializeException,
|
|
64
62
|
Description: `Failed to initialize VideoVoiceCalling Sdk: ${e}`
|
|
65
63
|
});
|
|
66
64
|
}
|
|
67
65
|
};
|
|
68
|
-
|
|
69
66
|
init().then(() => {
|
|
70
67
|
if (voiceVideoCallingSdk) {
|
|
71
68
|
TelemetryHelper.logCallingEvent(LogLevel.INFO, {
|
|
72
|
-
Event: TelemetryEvent.
|
|
69
|
+
Event: TelemetryEvent.VoiceVideoSdkInitialize,
|
|
73
70
|
Description: "Initialize VideoVoiceCalling Sdk Success"
|
|
74
71
|
}, callId);
|
|
75
72
|
voiceVideoCallingSdk.onCallAdded(() => {
|
|
@@ -131,14 +128,12 @@ export const CallingContainerStateful = props => {
|
|
|
131
128
|
}, callId);
|
|
132
129
|
const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
|
|
133
130
|
const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
|
|
134
|
-
|
|
135
131
|
if (isRemoteVideoDisabled && isLocalVideoDisabled) {
|
|
136
132
|
dispatch({
|
|
137
133
|
type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
|
|
138
134
|
payload: true
|
|
139
135
|
});
|
|
140
136
|
}
|
|
141
|
-
|
|
142
137
|
dispatch({
|
|
143
138
|
type: LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO,
|
|
144
139
|
payload: isRemoteVideoDisabled
|
|
@@ -150,14 +145,12 @@ export const CallingContainerStateful = props => {
|
|
|
150
145
|
}, callId);
|
|
151
146
|
const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
|
|
152
147
|
const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
|
|
153
|
-
|
|
154
148
|
if (isRemoteVideoDisabled && isLocalVideoDisabled) {
|
|
155
149
|
dispatch({
|
|
156
150
|
type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
|
|
157
151
|
payload: true
|
|
158
152
|
});
|
|
159
153
|
}
|
|
160
|
-
|
|
161
154
|
dispatch({
|
|
162
155
|
type: LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
|
|
163
156
|
payload: isLocalVideoDisabled
|
|
@@ -183,7 +176,6 @@ export const CallingContainerStateful = props => {
|
|
|
183
176
|
} else {
|
|
184
177
|
voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.stopCall();
|
|
185
178
|
}
|
|
186
|
-
|
|
187
179
|
voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.close();
|
|
188
180
|
dispatch({
|
|
189
181
|
type: LiveChatWidgetActionType.SET_E2VV_ENABLED,
|
|
@@ -231,7 +223,6 @@ export const CallingContainerStateful = props => {
|
|
|
231
223
|
}
|
|
232
224
|
}, callId);
|
|
233
225
|
}
|
|
234
|
-
|
|
235
226
|
dispatch({
|
|
236
227
|
type: LiveChatWidgetActionType.SET_INCOMING_CALL,
|
|
237
228
|
payload: false
|
|
@@ -257,7 +248,6 @@ export const CallingContainerStateful = props => {
|
|
|
257
248
|
}
|
|
258
249
|
}, callId);
|
|
259
250
|
}
|
|
260
|
-
|
|
261
251
|
dispatch({
|
|
262
252
|
type: LiveChatWidgetActionType.SET_INCOMING_CALL,
|
|
263
253
|
payload: false
|
|
@@ -317,7 +307,8 @@ export const CallingContainerStateful = props => {
|
|
|
317
307
|
}, callId);
|
|
318
308
|
}
|
|
319
309
|
}, []),
|
|
320
|
-
nonActionIds: {
|
|
310
|
+
nonActionIds: {
|
|
311
|
+
...(props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : (_props$controlProps2$ = _props$controlProps2.currentCallControlProps) === null || _props$controlProps2$ === void 0 ? void 0 : _props$controlProps2$.nonActionIds),
|
|
321
312
|
selfVideoTileId: (props === null || props === void 0 ? void 0 : (_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : (_props$controlProps3$ = _props$controlProps3.currentCallControlProps) === null || _props$controlProps3$ === void 0 ? void 0 : (_props$controlProps3$2 = _props$controlProps3$.nonActionIds) === null || _props$controlProps3$2 === void 0 ? void 0 : _props$controlProps3$2.selfVideoTileId) ?? "selfVideo",
|
|
322
313
|
remoteVideoTileId: (props === null || props === void 0 ? void 0 : (_props$controlProps4 = props.controlProps) === null || _props$controlProps4 === void 0 ? void 0 : (_props$controlProps4$ = _props$controlProps4.currentCallControlProps) === null || _props$controlProps4$ === void 0 ? void 0 : (_props$controlProps4$2 = _props$controlProps4$.nonActionIds) === null || _props$controlProps4$2 === void 0 ? void 0 : _props$controlProps4$2.remoteVideoTileId) ?? "remoteVideo"
|
|
323
314
|
},
|
|
@@ -11,14 +11,13 @@ import { defaultOutOfOfficeChatButtonStyleProps } from "./common/styleProps/defa
|
|
|
11
11
|
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
12
12
|
export const ChatButtonStateful = props => {
|
|
13
13
|
var _state$domainStates$l, _state$domainStates$l2, _buttonProps$controlP, _props$buttonProps, _props$buttonProps$co, _props$buttonProps2, _props$buttonProps2$c, _props$buttonProps3, _props$buttonProps3$c;
|
|
14
|
-
|
|
15
14
|
const [state, dispatch] = useChatContextStore();
|
|
16
15
|
const {
|
|
17
16
|
buttonProps,
|
|
18
17
|
outOfOfficeButtonProps,
|
|
19
18
|
startChat
|
|
20
|
-
} = props;
|
|
21
|
-
|
|
19
|
+
} = props;
|
|
20
|
+
//Setting OutOfOperatingHours Flag
|
|
22
21
|
const [outOfOperatingHours, setOutOfOperatingHours] = useState(((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.OutOfOperatingHours) === "True");
|
|
23
22
|
const proactiveChatInNewWindow = useRef(state.appStates.proactiveChatStates.proactiveChatInNewWindow);
|
|
24
23
|
const outOfOfficeStyleProps = Object.assign({}, defaultOutOfOfficeChatButtonStyleProps, outOfOfficeButtonProps === null || outOfOfficeButtonProps === void 0 ? void 0 : outOfOfficeButtonProps.styleProps);
|
|
@@ -33,7 +32,6 @@ export const ChatButtonStateful = props => {
|
|
|
33
32
|
TelemetryHelper.logActionEvent(LogLevel.INFO, {
|
|
34
33
|
Event: TelemetryEvent.LCWChatButtonClicked
|
|
35
34
|
});
|
|
36
|
-
|
|
37
35
|
if (proactiveChatInNewWindow.current) {
|
|
38
36
|
const proactiveChatIsInPopoutModeEvent = {
|
|
39
37
|
eventName: BroadcastEvent.ProactiveChatIsInPopoutMode
|
|
@@ -60,7 +58,6 @@ export const ChatButtonStateful = props => {
|
|
|
60
58
|
TelemetryHelper.logActionEvent(LogLevel.INFO, {
|
|
61
59
|
Event: TelemetryEvent.LCWChatButtonClicked
|
|
62
60
|
});
|
|
63
|
-
|
|
64
61
|
if (state.appStates.isMinimized) {
|
|
65
62
|
dispatch({
|
|
66
63
|
type: LiveChatWidgetActionType.SET_MINIMIZED,
|
|
@@ -80,12 +77,10 @@ export const ChatButtonStateful = props => {
|
|
|
80
77
|
if (state.appStates.outsideOperatingHours) {
|
|
81
78
|
setOutOfOperatingHours(true);
|
|
82
79
|
}
|
|
83
|
-
|
|
84
80
|
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
85
81
|
Event: TelemetryEvent.LCWChatButtonShow,
|
|
86
82
|
ElapsedTimeInMilliseconds: TelemetryTimers.LcwLoadToChatButtonTimer.milliSecondsElapsed
|
|
87
83
|
});
|
|
88
|
-
|
|
89
84
|
if (state.uiStates.focusChatButton) {
|
|
90
85
|
setFocusOnElement(document.getElementById((controlProps === null || controlProps === void 0 ? void 0 : controlProps.id) ?? "oc-lcw-chat-button"));
|
|
91
86
|
} else {
|
|
@@ -8,16 +8,17 @@ import { NotificationHandler } from "../webchatcontainerstateful/webchatcontroll
|
|
|
8
8
|
import { NotificationScenarios } from "../webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios";
|
|
9
9
|
import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
|
|
10
10
|
import useChatAdapterStore from "../../hooks/useChatAdapterStore";
|
|
11
|
-
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
11
|
+
import useChatContextStore from "../../hooks/useChatContextStore";
|
|
12
12
|
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
14
|
export const ConfirmationPaneStateful = props => {
|
|
14
15
|
const initialTabIndexMap = new Map();
|
|
15
16
|
let elements = [];
|
|
16
17
|
const [state, dispatch] = useChatContextStore();
|
|
17
18
|
const {
|
|
18
19
|
prepareEndChat
|
|
19
|
-
} = props;
|
|
20
|
-
|
|
20
|
+
} = props;
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21
22
|
const [adapter] = useChatAdapterStore();
|
|
22
23
|
const controlProps = {
|
|
23
24
|
id: "oc-lcw-confirmation-pane",
|
|
@@ -31,7 +32,6 @@ export const ConfirmationPaneStateful = props => {
|
|
|
31
32
|
type: LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
|
|
32
33
|
payload: false
|
|
33
34
|
});
|
|
34
|
-
|
|
35
35
|
try {
|
|
36
36
|
setTabIndices(elements, initialTabIndexMap, true);
|
|
37
37
|
await prepareEndChat(adapter, state);
|
|
@@ -54,38 +54,35 @@ export const ConfirmationPaneStateful = props => {
|
|
|
54
54
|
type: LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
|
|
55
55
|
payload: false
|
|
56
56
|
});
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
setFocusOnElement(previousFocused);
|
|
57
|
+
const previousFocusedElementId = state.appStates.previousElementIdOnFocusBeforeModalOpen;
|
|
58
|
+
if (previousFocusedElementId) {
|
|
59
|
+
setFocusOnElement("#" + previousFocusedElementId);
|
|
61
60
|
dispatch({
|
|
62
|
-
type: LiveChatWidgetActionType.
|
|
61
|
+
type: LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT_ID,
|
|
63
62
|
payload: null
|
|
64
63
|
});
|
|
65
64
|
} else {
|
|
66
65
|
setFocusOnSendBox();
|
|
67
66
|
}
|
|
68
|
-
|
|
69
67
|
setTabIndices(elements, initialTabIndexMap, true);
|
|
70
68
|
},
|
|
71
69
|
...(props === null || props === void 0 ? void 0 : props.controlProps)
|
|
72
|
-
};
|
|
70
|
+
};
|
|
73
71
|
|
|
72
|
+
// Move focus to the first button
|
|
74
73
|
useEffect(() => {
|
|
75
74
|
preventFocusToMoveOutOfElement(controlProps.id);
|
|
76
75
|
const focusableElements = findAllFocusableElement(`#${controlProps.id}`);
|
|
77
|
-
|
|
78
76
|
if (focusableElements) {
|
|
79
77
|
focusableElements[0].focus();
|
|
80
78
|
}
|
|
81
|
-
|
|
82
79
|
elements = findParentFocusableElementsWithoutChildContainer(controlProps.id);
|
|
83
80
|
setTabIndices(elements, initialTabIndexMap, false);
|
|
84
81
|
TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
|
|
85
82
|
Event: TelemetryEvent.ConfirmationPaneLoaded
|
|
86
83
|
});
|
|
87
84
|
}, []);
|
|
88
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null,
|
|
85
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DimLayer, {
|
|
89
86
|
brightness: (controlProps === null || controlProps === void 0 ? void 0 : controlProps.brightnessValueOnDim) ?? "0.2"
|
|
90
87
|
}), /*#__PURE__*/React.createElement(ConfirmationPane, {
|
|
91
88
|
componentOverrides: props === null || props === void 0 ? void 0 : props.componentOverrides,
|
|
@@ -12,34 +12,29 @@ import useChatContextStore from "../../hooks/useChatContextStore";
|
|
|
12
12
|
import useChatSDKStore from "../../hooks/useChatSDKStore";
|
|
13
13
|
export const EmailTranscriptPaneStateful = props => {
|
|
14
14
|
var _props$controlProps;
|
|
15
|
-
|
|
16
15
|
const initialTabIndexMap = new Map();
|
|
17
16
|
let elements = [];
|
|
18
|
-
const [state, dispatch] = useChatContextStore();
|
|
19
|
-
|
|
17
|
+
const [state, dispatch] = useChatContextStore();
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
20
19
|
const chatSDK = useChatSDKStore();
|
|
21
20
|
const [initialEmail, setInitialEmail] = useState("");
|
|
22
|
-
|
|
23
21
|
const closeEmailTranscriptPane = () => {
|
|
24
22
|
dispatch({
|
|
25
23
|
type: LiveChatWidgetActionType.SET_SHOW_EMAIL_TRANSCRIPT_PANE,
|
|
26
24
|
payload: false
|
|
27
25
|
});
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
setFocusOnElement(previousFocused);
|
|
26
|
+
const previousFocusedElementId = state.appStates.previousElementIdOnFocusBeforeModalOpen;
|
|
27
|
+
if (previousFocusedElementId) {
|
|
28
|
+
setFocusOnElement("#" + previousFocusedElementId);
|
|
32
29
|
} else {
|
|
33
30
|
setFocusOnSendBox();
|
|
34
31
|
}
|
|
35
|
-
|
|
36
32
|
dispatch({
|
|
37
|
-
type: LiveChatWidgetActionType.
|
|
33
|
+
type: LiveChatWidgetActionType.SET_PREVIOUS_FOCUSED_ELEMENT_ID,
|
|
38
34
|
payload: null
|
|
39
35
|
});
|
|
40
36
|
setTabIndices(elements, initialTabIndexMap, true);
|
|
41
37
|
};
|
|
42
|
-
|
|
43
38
|
const controlProps = {
|
|
44
39
|
id: "oclcw-emailTranscriptDialogContainer",
|
|
45
40
|
dir: state.domainStates.globalDir,
|
|
@@ -49,7 +44,6 @@ export const EmailTranscriptPaneStateful = props => {
|
|
|
49
44
|
emailAddress: email,
|
|
50
45
|
attachmentMessage: (props === null || props === void 0 ? void 0 : props.attachmentMessage) ?? "The following attachment was uploaded during the conversation:"
|
|
51
46
|
};
|
|
52
|
-
|
|
53
47
|
try {
|
|
54
48
|
await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.emailLiveChatTranscript(chatTranscriptBody));
|
|
55
49
|
TelemetryHelper.logActionEvent(LogLevel.INFO, {
|
|
@@ -78,16 +72,15 @@ export const EmailTranscriptPaneStateful = props => {
|
|
|
78
72
|
},
|
|
79
73
|
...props.controlProps,
|
|
80
74
|
inputInitialText: ((_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.inputInitialText) ?? initialEmail
|
|
81
|
-
};
|
|
75
|
+
};
|
|
82
76
|
|
|
77
|
+
// Move focus to the first button
|
|
83
78
|
useEffect(() => {
|
|
84
79
|
preventFocusToMoveOutOfElement(controlProps.id);
|
|
85
80
|
const focusableElements = findAllFocusableElement(`#${controlProps.id}`);
|
|
86
|
-
|
|
87
81
|
if (focusableElements) {
|
|
88
82
|
focusableElements[0].focus();
|
|
89
83
|
}
|
|
90
|
-
|
|
91
84
|
elements = findParentFocusableElementsWithoutChildContainer(controlProps.id);
|
|
92
85
|
setTabIndices(elements, initialTabIndexMap, false);
|
|
93
86
|
setInitialEmail(state.appStates.preChatResponseEmail);
|
|
@@ -95,7 +88,7 @@ export const EmailTranscriptPaneStateful = props => {
|
|
|
95
88
|
Event: TelemetryEvent.EmailTranscriptLoaded
|
|
96
89
|
});
|
|
97
90
|
}, [initialEmail]);
|
|
98
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null,
|
|
91
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DimLayer, {
|
|
99
92
|
brightness: (controlProps === null || controlProps === void 0 ? void 0 : controlProps.brightnessValueOnDim) ?? "0.2"
|
|
100
93
|
}), /*#__PURE__*/React.createElement(InputValidationPane, {
|
|
101
94
|
componentOverrides: props.componentOverrides,
|