botframework-webchat-component 4.13.0 → 4.15.0
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/.eslintrc.yml +4 -100
- package/.prettierrc.yml +1 -1
- package/lib/Activity/Avatar.d.ts +10 -0
- package/lib/Activity/Avatar.d.ts.map +1 -0
- package/lib/Activity/Avatar.js +2 -1
- package/lib/Activity/Bubble.d.ts +11 -0
- package/lib/Activity/Bubble.d.ts.map +1 -0
- package/lib/Activity/Bubble.js +2 -2
- package/lib/Activity/CarouselFilmStrip.js +21 -31
- package/lib/Activity/CarouselFilmStripAttachment.js +120 -0
- package/lib/Activity/CarouselLayout.js +5 -5
- package/lib/Activity/Speak.d.ts +10 -0
- package/lib/Activity/Speak.d.ts.map +1 -0
- package/lib/Activity/Speak.js +11 -13
- package/lib/Activity/StackedLayout.d.ts +18 -0
- package/lib/Activity/StackedLayout.d.ts.map +1 -0
- package/lib/Activity/StackedLayout.js +19 -15
- package/lib/Assets/TypingAnimation.js +2 -2
- package/lib/Attachment/Assets/DownloadIcon.js +3 -1
- package/lib/Attachment/AudioAttachment.js +2 -2
- package/lib/Attachment/AudioContent.d.ts +11 -0
- package/lib/Attachment/AudioContent.d.ts.map +1 -0
- package/lib/Attachment/AudioContent.js +4 -4
- package/lib/Attachment/FileAttachment.js +2 -2
- package/lib/Attachment/FileContent.d.ts +10 -0
- package/lib/Attachment/FileContent.d.ts.map +1 -0
- package/lib/Attachment/FileContent.js +14 -9
- package/lib/Attachment/HTMLVideoContent.d.ts +11 -0
- package/lib/Attachment/HTMLVideoContent.d.ts.map +1 -0
- package/lib/Attachment/HTMLVideoContent.js +2 -2
- package/lib/Attachment/ImageContent.d.ts +8 -0
- package/lib/Attachment/ImageContent.d.ts.map +1 -0
- package/lib/Attachment/ImageContent.js +2 -2
- package/lib/Attachment/TextContent.d.ts +8 -0
- package/lib/Attachment/TextContent.d.ts.map +1 -0
- package/lib/Attachment/TextContent.js +4 -4
- package/lib/Attachment/VideoAttachment.js +2 -2
- package/lib/Attachment/VideoContent.d.ts +11 -0
- package/lib/Attachment/VideoContent.d.ts.map +1 -0
- package/lib/Attachment/VideoContent.js +1 -1
- package/lib/Attachment/VimeoContent.d.ts +10 -0
- package/lib/Attachment/VimeoContent.d.ts.map +1 -0
- package/lib/Attachment/VimeoContent.js +8 -8
- package/lib/Attachment/YouTubeContent.d.ts +10 -0
- package/lib/Attachment/YouTubeContent.d.ts.map +1 -0
- package/lib/Attachment/YouTubeContent.js +5 -5
- package/lib/Avatar/ImageAvatar.js +2 -2
- package/lib/Avatar/InitialsAvatar.js +2 -2
- package/lib/BasicConnectivityStatus.js +2 -2
- package/lib/BasicSendBox.d.ts +9 -0
- package/lib/BasicSendBox.d.ts.map +1 -0
- package/lib/BasicSendBox.js +7 -6
- package/lib/BasicToast.js +4 -4
- package/lib/BasicToaster.js +8 -5
- package/lib/BasicTranscript.d.ts +7 -0
- package/lib/BasicTranscript.d.ts.map +1 -0
- package/lib/BasicTranscript.js +406 -743
- package/lib/BasicTypingIndicator.d.ts +6 -0
- package/lib/BasicTypingIndicator.d.ts.map +1 -0
- package/lib/BasicTypingIndicator.js +13 -5
- package/lib/BasicWebChat.d.ts +9 -0
- package/lib/BasicWebChat.d.ts.map +1 -0
- package/lib/BasicWebChat.js +6 -4
- package/lib/Composer.d.ts +23 -0
- package/lib/Composer.d.ts.map +1 -0
- package/lib/Composer.js +65 -82
- package/lib/ConnectivityStatus/Assets/ErrorNotificationIcon.js +2 -2
- package/lib/ConnectivityStatus/Assets/SpinnerAnimation.js +2 -2
- package/lib/ConnectivityStatus/Assets/WarningNotificationIcon.js +2 -2
- package/lib/ConnectivityStatus/Connected.js +1 -1
- package/lib/ConnectivityStatus/Connecting.js +4 -4
- package/lib/ConnectivityStatus/FailedToConnect.js +2 -2
- package/lib/ConnectivityStatus/JavaScriptError.js +2 -2
- package/lib/Dictation.js +13 -4
- package/lib/ErrorBox.d.ts +8 -0
- package/lib/ErrorBox.d.ts.map +1 -0
- package/lib/ErrorBox.js +2 -2
- package/lib/Middleware/Activity/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/Activity/createCoreMiddleware.js +1 -1
- package/lib/Middleware/ActivityStatus/AbsoluteTime.js +1 -1
- package/lib/Middleware/ActivityStatus/RelativeTime.js +1 -1
- package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +3 -3
- package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts +11 -0
- package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -0
- package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +5 -5
- package/lib/Middleware/ActivityStatus/Timestamp.d.ts +9 -0
- package/lib/Middleware/ActivityStatus/Timestamp.d.ts.map +1 -0
- package/lib/Middleware/ActivityStatus/Timestamp.js +2 -2
- package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/ActivityStatus/createCoreMiddleware.js +1 -1
- package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +21 -16
- package/lib/Middleware/ActivityStatus/createTimestampMiddleware.js +1 -1
- package/lib/Middleware/Attachment/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/Attachment/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/Attachment/createCoreMiddleware.js +10 -13
- package/lib/Middleware/AttachmentForScreenReader/AudioAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/FileAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/ImageAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/TextAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/VideoAttachment.js +1 -1
- package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +9 -5
- package/lib/Middleware/Avatar/createCoreMiddleware.d.ts +11 -0
- package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/Avatar/createCoreMiddleware.js +3 -4
- package/lib/Middleware/CardAction/createCoreMiddleware.js +11 -4
- package/lib/Middleware/GroupActivities/createCoreMiddleware.js +1 -1
- package/lib/Middleware/ScrollToEndButton/ScrollToEndButton.js +71 -0
- package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts +3 -0
- package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -0
- package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +27 -0
- package/lib/Middleware/Toast/createCoreMiddleware.d.ts +4 -0
- package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/Toast/createCoreMiddleware.js +1 -1
- package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts +3 -0
- package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -0
- package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +9 -6
- package/lib/ReactWebChat.d.ts +10 -0
- package/lib/ReactWebChat.d.ts.map +1 -0
- package/lib/ReactWebChat.js +19 -7
- package/lib/ScreenReaderActivity.js +76 -48
- package/lib/ScreenReaderText.d.ts +9 -0
- package/lib/ScreenReaderText.d.ts.map +1 -0
- package/lib/ScreenReaderText.js +22 -8
- package/lib/SendBox/Assets/AttachmentIcon.js +3 -1
- package/lib/SendBox/Assets/MicrophoneIcon.js +3 -1
- package/lib/SendBox/Assets/SendIcon.js +2 -2
- package/lib/SendBox/AutoResizeTextArea.d.ts +23 -0
- package/lib/SendBox/AutoResizeTextArea.d.ts.map +1 -0
- package/lib/SendBox/AutoResizeTextArea.js +6 -6
- package/lib/SendBox/DictationInterims.d.ts +9 -0
- package/lib/SendBox/DictationInterims.d.ts.map +1 -0
- package/lib/SendBox/DictationInterims.js +3 -3
- package/lib/SendBox/IconButton.d.ts +11 -0
- package/lib/SendBox/IconButton.d.ts.map +1 -0
- package/lib/SendBox/IconButton.js +27 -7
- package/lib/SendBox/MicrophoneButton.d.ts +11 -0
- package/lib/SendBox/MicrophoneButton.d.ts.map +1 -0
- package/lib/SendBox/MicrophoneButton.js +25 -24
- package/lib/SendBox/SendButton.d.ts +9 -0
- package/lib/SendBox/SendButton.d.ts.map +1 -0
- package/lib/SendBox/SendButton.js +8 -6
- package/lib/SendBox/SuggestedAction.d.ts +17 -0
- package/lib/SendBox/SuggestedAction.d.ts.map +1 -0
- package/lib/SendBox/SuggestedAction.js +29 -24
- package/lib/SendBox/SuggestedActions.d.ts +5 -0
- package/lib/SendBox/SuggestedActions.d.ts.map +1 -0
- package/lib/SendBox/SuggestedActions.js +33 -13
- package/lib/SendBox/TextBox.d.ts +28 -0
- package/lib/SendBox/TextBox.d.ts.map +1 -0
- package/lib/SendBox/TextBox.js +13 -8
- package/lib/SendBox/UploadButton.d.ts +9 -0
- package/lib/SendBox/UploadButton.d.ts.map +1 -0
- package/lib/SendBox/UploadButton.js +6 -6
- package/lib/Styles/StyleSet/Activities.d.ts +5 -0
- package/lib/Styles/StyleSet/Activities.d.ts.map +1 -0
- package/lib/Styles/StyleSet/AudioAttachment.d.ts +6 -0
- package/lib/Styles/StyleSet/AudioAttachment.d.ts.map +1 -0
- package/lib/Styles/StyleSet/AudioContent.d.ts +4 -0
- package/lib/Styles/StyleSet/AudioContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts +37 -0
- package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Avatar.d.ts +9 -0
- package/lib/Styles/StyleSet/Avatar.d.ts.map +1 -0
- package/lib/Styles/StyleSet/BasicTranscript.d.ts +85 -0
- package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -0
- package/lib/Styles/StyleSet/BasicTranscript.js +21 -9
- package/lib/Styles/StyleSet/Bubble.d.ts +5 -0
- package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Bubble.js +2 -2
- package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts +5 -0
- package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -0
- package/lib/Styles/StyleSet/CarouselFilmStrip.js +2 -18
- package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts +3 -0
- package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -0
- package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +63 -0
- package/lib/Styles/StyleSet/CarouselFlipper.d.ts +27 -0
- package/lib/Styles/StyleSet/CarouselFlipper.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ConnectivityNotification.d.ts +13 -0
- package/lib/Styles/StyleSet/ConnectivityNotification.d.ts.map +1 -0
- package/lib/Styles/StyleSet/DictationInterims.d.ts +13 -0
- package/lib/Styles/StyleSet/DictationInterims.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ErrorBox.d.ts +33 -0
- package/lib/Styles/StyleSet/ErrorBox.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ErrorNotification.d.ts +23 -0
- package/lib/Styles/StyleSet/ErrorNotification.d.ts.map +1 -0
- package/lib/Styles/StyleSet/FileContent.d.ts +32 -0
- package/lib/Styles/StyleSet/FileContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ImageAvatar.d.ts +7 -0
- package/lib/Styles/StyleSet/ImageAvatar.d.ts.map +1 -0
- package/lib/Styles/StyleSet/InitialsAvatar.d.ts +19 -0
- package/lib/Styles/StyleSet/InitialsAvatar.d.ts.map +1 -0
- package/lib/Styles/StyleSet/KeyboardHelp.d.ts +123 -0
- package/lib/Styles/StyleSet/KeyboardHelp.d.ts.map +1 -0
- package/lib/Styles/StyleSet/KeyboardHelp.js +145 -0
- package/lib/Styles/StyleSet/MicrophoneButton.d.ts +13 -0
- package/lib/Styles/StyleSet/MicrophoneButton.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Root.d.ts +8 -0
- package/lib/Styles/StyleSet/Root.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ScrollToEndButton.d.ts +36 -0
- package/lib/Styles/StyleSet/ScrollToEndButton.d.ts.map +1 -0
- package/lib/Styles/StyleSet/ScrollToEndButton.js +36 -34
- package/lib/Styles/StyleSet/SendBox.d.ts +24 -0
- package/lib/Styles/StyleSet/SendBox.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SendBoxButton.d.ts +79 -0
- package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SendBoxButton.js +76 -12
- package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +41 -0
- package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SendBoxTextBox.js +3 -3
- package/lib/Styles/StyleSet/SendStatus.d.ts +8 -0
- package/lib/Styles/StyleSet/SendStatus.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts +11 -0
- package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SpinnerAnimation.d.ts +15 -0
- package/lib/Styles/StyleSet/SpinnerAnimation.d.ts.map +1 -0
- package/lib/Styles/StyleSet/StackedLayout.d.ts +63 -0
- package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -0
- package/lib/Styles/StyleSet/StackedLayout.js +1 -1
- package/lib/Styles/StyleSet/SuggestedAction.d.ts +94 -0
- package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SuggestedAction.js +116 -41
- package/lib/Styles/StyleSet/SuggestedActions.d.ts +125 -0
- package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -0
- package/lib/Styles/StyleSet/SuggestedActions.js +13 -6
- package/lib/Styles/StyleSet/TextContent.d.ts +28 -0
- package/lib/Styles/StyleSet/TextContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Toast.d.ts +65 -0
- package/lib/Styles/StyleSet/Toast.d.ts.map +1 -0
- package/lib/Styles/StyleSet/Toaster.d.ts +111 -0
- package/lib/Styles/StyleSet/Toaster.d.ts.map +1 -0
- package/lib/Styles/StyleSet/TypingAnimation.d.ts +8 -0
- package/lib/Styles/StyleSet/TypingAnimation.d.ts.map +1 -0
- package/lib/Styles/StyleSet/TypingIndicator.d.ts +11 -0
- package/lib/Styles/StyleSet/TypingIndicator.d.ts.map +1 -0
- package/lib/Styles/StyleSet/UploadButton.d.ts +14 -0
- package/lib/Styles/StyleSet/UploadButton.d.ts.map +1 -0
- package/lib/Styles/StyleSet/VideoAttachment.d.ts +2 -0
- package/lib/Styles/StyleSet/VideoAttachment.d.ts.map +1 -0
- package/lib/Styles/StyleSet/VideoContent.d.ts +6 -0
- package/lib/Styles/StyleSet/VideoContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/VimeoContent.d.ts +7 -0
- package/lib/Styles/StyleSet/VimeoContent.d.ts.map +1 -0
- package/lib/Styles/StyleSet/WarningNotification.d.ts +22 -0
- package/lib/Styles/StyleSet/WarningNotification.d.ts.map +1 -0
- package/lib/Styles/StyleSet/YouTubeContent.d.ts +7 -0
- package/lib/Styles/StyleSet/YouTubeContent.d.ts.map +1 -0
- package/lib/Styles/createStyleSet.d.ts +1372 -0
- package/lib/Styles/createStyleSet.d.ts.map +1 -0
- package/lib/Styles/createStyleSet.js +47 -41
- package/lib/Styles/mirrorStyle.js +13 -4
- package/lib/Toast/CollapseIcon.js +3 -1
- package/lib/Toast/DismissIcon.js +3 -1
- package/lib/Toast/ExpandIcon.js +3 -1
- package/lib/Toast/NotificationIcon.js +7 -3
- package/lib/Toast/createToastMiddleware.d.ts +4 -0
- package/lib/Toast/createToastMiddleware.d.ts.map +1 -0
- package/lib/Toast/createToastMiddleware.js +2 -2
- package/lib/Transcript/ActivityRow.d.ts +9 -0
- package/lib/Transcript/ActivityRow.d.ts.map +1 -0
- package/lib/Transcript/ActivityRow.js +157 -0
- package/lib/Transcript/ActivityTextAlt.js +57 -0
- package/lib/Transcript/FocusTrap.d.ts +8 -0
- package/lib/Transcript/FocusTrap.d.ts.map +1 -0
- package/lib/Transcript/FocusTrap.js +74 -0
- package/lib/Transcript/KeyboardHelp.d.ts +4 -0
- package/lib/Transcript/KeyboardHelp.d.ts.map +1 -0
- package/lib/Transcript/KeyboardHelp.js +550 -0
- package/lib/Transcript/LiveRegionTranscript.d.ts +8 -0
- package/lib/Transcript/LiveRegionTranscript.d.ts.map +1 -0
- package/lib/Transcript/LiveRegionTranscript.js +214 -0
- package/lib/Transcript/types.d.ts +2 -0
- package/lib/Transcript/types.d.ts.map +1 -0
- package/lib/Transcript/types.js +2 -0
- package/lib/Transcript/useActivityAccessibleName.d.ts +4 -0
- package/lib/Transcript/useActivityAccessibleName.d.ts.map +1 -0
- package/lib/Transcript/useActivityAccessibleName.js +97 -0
- package/lib/Utils/AccessKeySink/Surface.js +7 -5
- package/lib/Utils/AccessibleButton.d.ts +11 -0
- package/lib/Utils/AccessibleButton.d.ts.map +1 -0
- package/lib/Utils/AccessibleButton.js +15 -8
- package/lib/Utils/AccessibleInputText.d.ts +21 -0
- package/lib/Utils/AccessibleInputText.d.ts.map +1 -0
- package/lib/Utils/AccessibleInputText.js +29 -25
- package/lib/Utils/AccessibleTextArea.d.ts +20 -0
- package/lib/Utils/AccessibleTextArea.d.ts.map +1 -0
- package/lib/Utils/AccessibleTextArea.js +35 -24
- package/lib/Utils/CroppedImage.js +2 -2
- package/lib/Utils/Fade.js +2 -2
- package/lib/Utils/FocusRedirector.d.ts +9 -0
- package/lib/Utils/FocusRedirector.d.ts.map +1 -0
- package/lib/Utils/FocusRedirector.js +18 -15
- package/lib/Utils/InlineMarkdown.js +17 -10
- package/lib/Utils/TypeFocusSink/FocusBox.js +6 -4
- package/lib/Utils/TypeFocusSink/getTabIndex.d.ts +2 -0
- package/lib/Utils/TypeFocusSink/getTabIndex.d.ts.map +1 -0
- package/lib/Utils/TypeFocusSink/getTabIndex.js +1 -1
- package/lib/Utils/TypeFocusSink/inputtableKey.d.ts +2 -0
- package/lib/Utils/TypeFocusSink/inputtableKey.d.ts.map +1 -0
- package/lib/Utils/TypeFocusSink/inputtableKey.js +5 -2
- package/lib/Utils/TypeFocusSink/navigableEvent.js +1 -1
- package/lib/Utils/activityAltText.d.ts +8 -0
- package/lib/Utils/activityAltText.d.ts.map +1 -0
- package/lib/Utils/activityAltText.js +100 -0
- package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +1 -1
- package/lib/Utils/createCustomEvent.js +9 -3
- package/lib/Utils/debounce.js +1 -1
- package/lib/Utils/detectBrowser.js +4 -2
- package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +3 -3
- package/lib/Utils/downscaleImageToDataURL/index.js +2 -2
- package/lib/Utils/filterMap.js +1 -1
- package/lib/Utils/findAncestor.js +17 -0
- package/lib/Utils/getActivityUniqueId.js +4 -2
- package/lib/Utils/intersectionOf.d.ts +5 -0
- package/lib/Utils/intersectionOf.d.ts.map +1 -0
- package/lib/Utils/intersectionOf.js +17 -2
- package/lib/Utils/isZeroOrPositive.d.ts +5 -0
- package/lib/Utils/isZeroOrPositive.d.ts.map +1 -0
- package/lib/Utils/isZeroOrPositive.js +4 -1
- package/lib/Utils/mapMap.js +10 -3
- package/lib/Utils/readDataURIToBlob.js +3 -3
- package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts +7 -0
- package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts.map +1 -0
- package/lib/Utils/scrollIntoViewWithBlockNearest.js +48 -0
- package/lib/Utils/shallowEquals.js +7 -3
- package/lib/Utils/singleToArray.js +1 -1
- package/lib/Utils/supportPseudoClass.d.ts +2 -0
- package/lib/Utils/supportPseudoClass.d.ts.map +1 -0
- package/lib/Utils/supportPseudoClass.js +23 -0
- package/lib/Utils/tabbableElements.d.ts +2 -0
- package/lib/Utils/tabbableElements.d.ts.map +1 -0
- package/lib/Utils/tabbableElements.js +2 -2
- package/lib/connectToWebChat.js +17 -7
- package/lib/hooks/index.d.ts +21 -0
- package/lib/hooks/index.d.ts.map +1 -0
- package/lib/hooks/index.js +25 -25
- package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +100 -41
- package/lib/hooks/internal/UITracker.js +2 -2
- package/lib/hooks/internal/useChanged.js +8 -1
- package/lib/hooks/internal/useDispatchScrollPosition.js +3 -7
- package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts +2 -0
- package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts.map +1 -0
- package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.js +15 -0
- package/lib/hooks/internal/useEnterKeyHint.js +1 -1
- package/lib/hooks/internal/useFocusVisible.d.ts +3 -0
- package/lib/hooks/internal/useFocusVisible.d.ts.map +1 -0
- package/lib/hooks/internal/useFocusVisible.js +48 -0
- package/lib/hooks/internal/useForceRender.js +2 -2
- package/lib/hooks/internal/useForceRenderAtInterval.js +2 -2
- package/lib/hooks/internal/useInternalRenderMarkdownInline.js +1 -1
- package/lib/hooks/internal/useLocalizeAccessKey.js +2 -2
- package/lib/hooks/internal/useMemoWithPrevious.d.ts +3 -0
- package/lib/hooks/internal/useMemoWithPrevious.d.ts.map +1 -0
- package/lib/hooks/internal/useMemoWithPrevious.js +22 -0
- package/lib/hooks/internal/useMemoize.d.ts +14 -0
- package/lib/hooks/internal/useMemoize.d.ts.map +1 -0
- package/lib/hooks/internal/useMemoize.js +12 -3
- package/lib/hooks/internal/useNavigatorPlatform.js +1 -1
- package/lib/hooks/internal/useNonce.js +1 -1
- package/lib/hooks/internal/useObserveFocusVisible.d.ts +3 -0
- package/lib/hooks/internal/useObserveFocusVisible.d.ts.map +1 -0
- package/lib/hooks/internal/useObserveFocusVisible.js +208 -0
- package/lib/hooks/internal/usePrevious.d.ts +2 -0
- package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
- package/lib/hooks/internal/usePrevious.js +18 -0
- package/lib/hooks/internal/useRegisterFocusSendBox.js +1 -1
- package/lib/hooks/internal/useRegisterFocusTranscript.js +1 -1
- package/lib/hooks/internal/useRegisterScrollRelative.js +1 -1
- package/lib/hooks/internal/useRegisterScrollTo.js +1 -1
- package/lib/hooks/internal/useRegisterScrollToEnd.js +1 -1
- package/lib/hooks/internal/useReplaceEmoticon.js +2 -2
- package/lib/hooks/internal/useResumeAudioContext.js +33 -0
- package/lib/hooks/internal/useScrollRelative.js +1 -1
- package/lib/hooks/internal/useSettableDictateAbortable.js +1 -1
- package/lib/hooks/internal/useStateRef.d.ts +3 -0
- package/lib/hooks/internal/useStateRef.d.ts.map +1 -0
- package/lib/hooks/internal/useStateRef.js +40 -0
- package/lib/hooks/internal/useSuggestedActionsAccessKey.js +1 -1
- package/lib/hooks/internal/useUniqueId.d.ts +2 -0
- package/lib/hooks/internal/useUniqueId.d.ts.map +1 -0
- package/lib/hooks/internal/useUniqueId.js +1 -1
- package/lib/hooks/internal/useValueRef.d.ts +3 -0
- package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
- package/lib/hooks/internal/useValueRef.js +25 -0
- package/lib/hooks/useDictateAbortable.d.ts +2 -0
- package/lib/hooks/useDictateAbortable.d.ts.map +1 -0
- package/lib/hooks/useDictateAbortable.js +2 -2
- package/lib/hooks/useFocus.d.ts +2 -0
- package/lib/hooks/useFocus.d.ts.map +1 -0
- package/lib/hooks/useFocus.js +1 -1
- package/lib/hooks/useFocusSendBox.d.ts +3 -0
- package/lib/hooks/useFocusSendBox.d.ts.map +1 -0
- package/lib/hooks/useFocusSendBox.js +2 -1
- package/lib/hooks/useObserveScrollPosition.d.ts +3 -0
- package/lib/hooks/useObserveScrollPosition.d.ts.map +1 -0
- package/lib/hooks/useObserveScrollPosition.js +2 -2
- package/lib/hooks/useObserveTranscriptFocus.d.ts +5 -0
- package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -0
- package/lib/hooks/useObserveTranscriptFocus.js +2 -2
- package/lib/hooks/useRenderMarkdownAsHTML.d.ts +5 -0
- package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -0
- package/lib/hooks/useRenderMarkdownAsHTML.js +2 -2
- package/lib/hooks/useScrollDown.d.ts +4 -0
- package/lib/hooks/useScrollDown.d.ts.map +1 -0
- package/lib/hooks/useScrollDown.js +1 -1
- package/lib/hooks/useScrollTo.d.ts +5 -0
- package/lib/hooks/useScrollTo.d.ts.map +1 -0
- package/lib/hooks/useScrollTo.js +1 -1
- package/lib/hooks/useScrollToEnd.d.ts +2 -0
- package/lib/hooks/useScrollToEnd.d.ts.map +1 -0
- package/lib/hooks/useScrollToEnd.js +1 -1
- package/lib/hooks/useScrollUp.d.ts +4 -0
- package/lib/hooks/useScrollUp.d.ts.map +1 -0
- package/lib/hooks/useScrollUp.js +1 -1
- package/lib/hooks/useSendFiles.d.ts +2 -0
- package/lib/hooks/useSendFiles.d.ts.map +1 -0
- package/lib/hooks/useSendFiles.js +3 -3
- package/lib/hooks/useStyleSet.d.ts +2 -0
- package/lib/hooks/useStyleSet.d.ts.map +1 -0
- package/lib/hooks/useStyleSet.js +1 -1
- package/lib/hooks/useWebSpeechPonyfill.d.ts +3 -0
- package/lib/hooks/useWebSpeechPonyfill.d.ts.map +1 -0
- package/lib/hooks/useWebSpeechPonyfill.js +1 -1
- package/lib/index.d.ts +219 -22
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +22 -20
- package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts +5 -0
- package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts.map +1 -0
- package/lib/providers/ActivityTree/ActivityTreeComposer.js +86 -0
- package/lib/providers/ActivityTree/private/Context.d.ts +9 -0
- package/lib/providers/ActivityTree/private/Context.d.ts.map +1 -0
- package/lib/providers/ActivityTree/private/Context.js +13 -0
- package/lib/providers/ActivityTree/private/types.d.ts +10 -0
- package/lib/providers/ActivityTree/private/types.d.ts.map +1 -0
- package/lib/providers/ActivityTree/private/types.js +2 -0
- package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts +4 -0
- package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts.map +1 -0
- package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.js +58 -0
- package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts +5 -0
- package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts.map +1 -0
- package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.js +166 -0
- package/lib/providers/ActivityTree/private/useContext.d.ts +3 -0
- package/lib/providers/ActivityTree/private/useContext.d.ts.map +1 -0
- package/lib/providers/ActivityTree/private/useContext.js +24 -0
- package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts +8 -0
- package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts.map +1 -0
- package/lib/providers/ActivityTree/useActivityTreeWithRenderer.js +17 -0
- package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts +35 -0
- package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +156 -0
- package/lib/providers/LiveRegionTwin/private/Context.d.ts +10 -0
- package/lib/providers/LiveRegionTwin/private/Context.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/private/Context.js +13 -0
- package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts +11 -0
- package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +86 -0
- package/lib/providers/LiveRegionTwin/private/types.d.ts +8 -0
- package/lib/providers/LiveRegionTwin/private/types.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/private/types.js +2 -0
- package/lib/providers/LiveRegionTwin/private/useContext.d.ts +3 -0
- package/lib/providers/LiveRegionTwin/private/useContext.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/private/useContext.js +24 -0
- package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts +2 -0
- package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.js +24 -0
- package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts +3 -0
- package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.js +15 -0
- package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts +8 -0
- package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/useQueueStaticElement.js +20 -0
- package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts +7 -0
- package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts.map +1 -0
- package/lib/providers/TranscriptFocus/TranscriptFocusComposer.js +184 -0
- package/lib/providers/TranscriptFocus/private/Context.d.ts +12 -0
- package/lib/providers/TranscriptFocus/private/Context.d.ts.map +1 -0
- package/lib/providers/TranscriptFocus/private/Context.js +13 -0
- package/lib/providers/TranscriptFocus/private/useContext.d.ts +2 -0
- package/lib/providers/TranscriptFocus/private/useContext.d.ts.map +1 -0
- package/lib/providers/TranscriptFocus/private/useContext.js +24 -0
- package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts +2 -0
- package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts.map +1 -0
- package/lib/providers/TranscriptFocus/useActiveDescendantId.js +15 -0
- package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts +8 -0
- package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts.map +1 -0
- package/lib/providers/TranscriptFocus/useFocusByActivityKey.js +21 -0
- package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts +2 -0
- package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts.map +1 -0
- package/lib/providers/TranscriptFocus/useFocusRelativeActivity.js +15 -0
- package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts +2 -0
- package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts.map +1 -0
- package/lib/providers/TranscriptFocus/useFocusedActivityKey.js +15 -0
- package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts +2 -0
- package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts.map +1 -0
- package/lib/providers/TranscriptFocus/useFocusedExplicitly.js +15 -0
- package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts +2 -0
- package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts.map +1 -0
- package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.js +15 -0
- package/lib/tsconfig.json +1 -1
- package/lib/types/ScrollPosition.d.ts +6 -0
- package/lib/types/ScrollPosition.d.ts.map +1 -0
- package/lib/types/ScrollPosition.js +2 -0
- package/package.json +33 -40
- package/src/Activity/{Avatar.js → Avatar.tsx} +9 -2
- package/src/Activity/{Bubble.js → Bubble.tsx} +10 -2
- package/src/Activity/CarouselFilmStrip.js +20 -29
- package/src/Activity/CarouselFilmStripAttachment.js +91 -0
- package/src/Activity/{Speak.js → Speak.tsx} +12 -5
- package/src/Activity/{StackedLayout.js → StackedLayout.tsx} +46 -20
- package/src/Attachment/Assets/DownloadIcon.js +8 -1
- package/src/Attachment/{AudioContent.js → AudioContent.tsx} +12 -3
- package/src/Attachment/FileAttachment.js +1 -1
- package/src/Attachment/{FileContent.js → FileContent.tsx} +22 -7
- package/src/Attachment/{HTMLVideoContent.js → HTMLVideoContent.tsx} +10 -2
- package/src/Attachment/{ImageContent.js → ImageContent.tsx} +7 -2
- package/src/Attachment/{TextContent.js → TextContent.tsx} +14 -7
- package/src/Attachment/{VideoContent.js → VideoContent.tsx} +10 -2
- package/src/Attachment/{VimeoContent.js → VimeoContent.tsx} +15 -8
- package/src/Attachment/{YouTubeContent.js → YouTubeContent.tsx} +12 -5
- package/src/{BasicSendBox.js → BasicSendBox.tsx} +9 -5
- package/src/BasicToaster.js +9 -5
- package/src/BasicTranscript.tsx +878 -0
- package/src/{BasicTypingIndicator.js → BasicTypingIndicator.tsx} +4 -3
- package/src/{BasicWebChat.js → BasicWebChat.tsx} +13 -4
- package/src/{Composer.js → Composer.tsx} +82 -71
- package/src/Dictation.js +13 -4
- package/src/{ErrorBox.js → ErrorBox.tsx} +7 -2
- package/src/Middleware/Activity/createCoreMiddleware.tsx +78 -0
- package/src/Middleware/ActivityStatus/SendStatus/{SendStatus.js → SendStatus.tsx} +8 -3
- package/src/Middleware/ActivityStatus/{Timestamp.js → Timestamp.tsx} +8 -2
- package/src/Middleware/ActivityStatus/{createCoreMiddleware.js → createCoreMiddleware.tsx} +3 -1
- package/src/Middleware/ActivityStatus/createSendStatusMiddleware.js +10 -6
- package/src/Middleware/ActivityStatus/createTimestampMiddleware.js +10 -8
- package/src/Middleware/Attachment/createCoreMiddleware.tsx +44 -0
- package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx +40 -0
- package/src/Middleware/Avatar/{createCoreMiddleware.js → createCoreMiddleware.tsx} +19 -11
- package/src/Middleware/CardAction/createCoreMiddleware.js +51 -42
- package/src/Middleware/GroupActivities/createCoreMiddleware.js +6 -4
- package/src/Middleware/ScrollToEndButton/ScrollToEndButton.js +45 -0
- package/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts +19 -0
- package/src/Middleware/Toast/createCoreMiddleware.tsx +24 -0
- package/src/Middleware/TypingIndicator/{createCoreMiddleware.js → createCoreMiddleware.tsx} +10 -5
- package/src/{ReactWebChat.js → ReactWebChat.tsx} +25 -7
- package/src/ScreenReaderActivity.js +65 -40
- package/src/{ScreenReaderText.js → ScreenReaderText.tsx} +27 -9
- package/src/SendBox/Assets/AttachmentIcon.js +1 -1
- package/src/SendBox/Assets/MicrophoneIcon.js +1 -1
- package/src/SendBox/{AutoResizeTextArea.js → AutoResizeTextArea.tsx} +30 -4
- package/src/SendBox/{DictationInterims.js → DictationInterims.tsx} +6 -2
- package/src/SendBox/{IconButton.js → IconButton.tsx} +19 -3
- package/src/SendBox/{MicrophoneButton.js → MicrophoneButton.tsx} +35 -25
- package/src/SendBox/{SendButton.js → SendButton.tsx} +8 -3
- package/src/SendBox/{SuggestedAction.js → SuggestedAction.tsx} +62 -39
- package/src/SendBox/{SuggestedActions.js → SuggestedActions.tsx} +70 -22
- package/src/SendBox/{TextBox.js → TextBox.tsx} +21 -7
- package/src/SendBox/{UploadButton.js → UploadButton.tsx} +7 -3
- package/src/Styles/StyleSet/BasicTranscript.ts +34 -20
- package/src/Styles/StyleSet/Bubble.ts +0 -1
- package/src/Styles/StyleSet/CarouselFilmStrip.ts +12 -30
- package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +57 -0
- package/src/Styles/StyleSet/KeyboardHelp.ts +157 -0
- package/src/Styles/StyleSet/ScrollToEndButton.ts +33 -31
- package/src/Styles/StyleSet/SendBoxButton.ts +84 -13
- package/src/Styles/StyleSet/SendBoxTextBox.ts +1 -2
- package/src/Styles/StyleSet/StackedLayout.ts +13 -11
- package/src/Styles/StyleSet/SuggestedAction.ts +130 -43
- package/src/Styles/StyleSet/SuggestedActions.ts +13 -5
- package/src/Styles/createStyleSet.ts +43 -40
- package/src/Styles/mirrorStyle.js +10 -2
- package/src/Toast/CollapseIcon.js +9 -1
- package/src/Toast/DismissIcon.js +9 -1
- package/src/Toast/ExpandIcon.js +9 -1
- package/src/Toast/NotificationIcon.js +4 -1
- package/src/Toast/createToastMiddleware.tsx +15 -0
- package/src/Transcript/ActivityRow.tsx +124 -0
- package/src/Transcript/ActivityTextAlt.tsx +32 -0
- package/src/Transcript/FocusTrap.tsx +64 -0
- package/src/Transcript/KeyboardHelp.tsx +282 -0
- package/src/Transcript/LiveRegionTranscript.tsx +181 -0
- package/src/Transcript/types.ts +1 -0
- package/src/Transcript/useActivityAccessibleName.ts +85 -0
- package/src/Utils/{AccessibleButton.js → AccessibleButton.tsx} +19 -4
- package/src/Utils/{AccessibleInputText.js → AccessibleInputText.tsx} +48 -5
- package/src/Utils/{AccessibleTextArea.js → AccessibleTextArea.tsx} +67 -6
- package/src/Utils/{FocusRedirector.js → FocusRedirector.tsx} +21 -8
- package/src/Utils/InlineMarkdown.js +18 -2
- package/src/Utils/TypeFocusSink/FocusBox.js +4 -4
- package/src/Utils/TypeFocusSink/getTabIndex.ts +1 -1
- package/src/Utils/TypeFocusSink/inputtableKey.ts +5 -1
- package/src/Utils/activityAltText.ts +135 -0
- package/src/Utils/createCustomEvent.js +7 -1
- package/src/Utils/detectBrowser.js +2 -1
- package/src/Utils/findAncestor.ts +12 -0
- package/src/Utils/getActivityUniqueId.ts +5 -0
- package/src/Utils/intersectionOf.spec.js +2 -0
- package/src/Utils/intersectionOf.ts +14 -0
- package/src/Utils/isZeroOrPositive.ts +7 -0
- package/src/Utils/mapMap.js +7 -1
- package/src/Utils/mapMap.spec.js +2 -0
- package/src/Utils/removeInline.spec.js +2 -0
- package/src/Utils/scrollIntoViewWithBlockNearest.ts +20 -0
- package/src/Utils/shallowEquals.js +8 -1
- package/src/Utils/{singleToArray.js → singleToArray.ts} +1 -1
- package/src/Utils/supportPseudoClass.ts +17 -0
- package/src/Utils/{tabbableElements.js → tabbableElements.ts} +6 -5
- package/src/Utils/walkMarkdownTokens.spec.js +3 -3
- package/src/connectToWebChat.js +11 -4
- package/src/hooks/{index.js → index.ts} +1 -0
- package/src/hooks/internal/BypassSpeechSynthesisPonyfill.js +70 -17
- package/src/hooks/internal/useChanged.ts +17 -0
- package/src/hooks/internal/useDispatchScrollPosition.js +1 -3
- package/src/hooks/internal/useDispatchTranscriptFocusByActivityKey.ts +5 -0
- package/src/hooks/internal/useFocusVisible.ts +22 -0
- package/src/hooks/internal/useMemoWithPrevious.ts +16 -0
- package/src/hooks/internal/useMemoize.spec.js +3 -1
- package/src/hooks/internal/useMemoize.ts +53 -0
- package/src/hooks/internal/useObserveFocusVisible.ts +252 -0
- package/src/hooks/internal/usePrevious.ts +12 -0
- package/src/hooks/internal/useResumeAudioContext.ts +7 -0
- package/src/hooks/internal/useScrollRelative.js +4 -3
- package/src/hooks/internal/useStateRef.ts +31 -0
- package/src/hooks/internal/{useUniqueId.js → useUniqueId.ts} +1 -1
- package/src/hooks/internal/useValueRef.ts +22 -0
- package/src/hooks/{useDictateAbortable.js → useDictateAbortable.ts} +1 -1
- package/src/hooks/{useFocus.js → useFocus.ts} +1 -1
- package/src/hooks/{useFocusSendBox.js → useFocusSendBox.ts} +2 -1
- package/src/hooks/{useObserveScrollPosition.js → useObserveScrollPosition.ts} +6 -1
- package/src/hooks/{useObserveTranscriptFocus.js → useObserveTranscriptFocus.ts} +6 -1
- package/src/hooks/useRenderMarkdownAsHTML.ts +23 -0
- package/src/hooks/{useScrollDown.js → useScrollDown.ts} +1 -1
- package/src/hooks/useScrollTo.ts +16 -0
- package/src/hooks/useScrollToEnd.ts +12 -0
- package/src/hooks/{useScrollUp.js → useScrollUp.ts} +1 -1
- package/src/hooks/{useSendFiles.js → useSendFiles.ts} +3 -2
- package/src/hooks/{useStyleSet.js → useStyleSet.ts} +1 -1
- package/src/hooks/useWebSpeechPonyfill.ts +7 -0
- package/src/index.ts +7 -12
- package/src/providers/ActivityTree/ActivityTreeComposer.tsx +74 -0
- package/src/providers/ActivityTree/private/Context.ts +12 -0
- package/src/providers/ActivityTree/private/types.ts +12 -0
- package/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts +66 -0
- package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +140 -0
- package/src/providers/ActivityTree/private/useContext.ts +15 -0
- package/src/providers/ActivityTree/useActivityTreeWithRenderer.ts +16 -0
- package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +154 -0
- package/src/providers/LiveRegionTwin/private/Context.ts +15 -0
- package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +64 -0
- package/src/providers/LiveRegionTwin/private/types.ts +10 -0
- package/src/providers/LiveRegionTwin/private/useContext.ts +15 -0
- package/src/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.ts +13 -0
- package/src/providers/LiveRegionTwin/private/useStaticElementEntries.ts +7 -0
- package/src/providers/LiveRegionTwin/useQueueStaticElement.ts +12 -0
- package/src/providers/TranscriptFocus/TranscriptFocusComposer.tsx +180 -0
- package/src/providers/TranscriptFocus/private/Context.ts +16 -0
- package/src/providers/TranscriptFocus/private/useContext.ts +13 -0
- package/src/providers/TranscriptFocus/useActiveDescendantId.ts +5 -0
- package/src/providers/TranscriptFocus/useFocusByActivityKey.ts +14 -0
- package/src/providers/TranscriptFocus/useFocusRelativeActivity.ts +5 -0
- package/src/providers/TranscriptFocus/useFocusedActivityKey.ts +5 -0
- package/src/providers/TranscriptFocus/useFocusedExplicitly.ts +5 -0
- package/src/providers/TranscriptFocus/useGetDescendantIdByActivityKey.ts +5 -0
- package/src/tsconfig.json +1 -1
- package/src/types/ScrollPosition.ts +6 -0
- package/.eslintignore +0 -9
- package/lib/Activity/ScrollToEndButton.js +0 -81
- package/lib/Attachment/Assets/ErrorIcon.js +0 -22
- package/lib/Utils/findLastIndex.js +0 -32
- package/lib/Utils/remarkStripMarkdown.js +0 -26
- package/lib/hooks/internal/useAcknowledgedActivity.js +0 -90
- package/lib/hooks/internal/useDispatchTranscriptFocus.js +0 -19
- package/lib/hooks/internal/useStripMarkdown.js +0 -19
- package/src/Activity/ScrollToEndButton.js +0 -58
- package/src/Attachment/Assets/ErrorIcon.js +0 -9
- package/src/BasicTranscript.js +0 -1123
- package/src/Middleware/Activity/createCoreMiddleware.js +0 -71
- package/src/Middleware/Attachment/createCoreMiddleware.js +0 -43
- package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +0 -37
- package/src/Middleware/Toast/createCoreMiddleware.js +0 -20
- package/src/Toast/createToastMiddleware.js +0 -11
- package/src/Utils/findLastIndex.js +0 -11
- package/src/Utils/findLastIndex.spec.js +0 -29
- package/src/Utils/getActivityUniqueId.js +0 -3
- package/src/Utils/intersectionOf.js +0 -11
- package/src/Utils/isZeroOrPositive.js +0 -4
- package/src/Utils/remarkStripMarkdown.js +0 -13
- package/src/hooks/internal/useAcknowledgedActivity.js +0 -65
- package/src/hooks/internal/useChanged.js +0 -10
- package/src/hooks/internal/useDispatchTranscriptFocus.js +0 -7
- package/src/hooks/internal/useMemoize.js +0 -37
- package/src/hooks/internal/useStripMarkdown.js +0 -7
- package/src/hooks/useRenderMarkdownAsHTML.js +0 -20
- package/src/hooks/useScrollTo.js +0 -11
- package/src/hooks/useScrollToEnd.js +0 -11
- package/src/hooks/useWebSpeechPonyfill.js +0 -5
- package/src/index.tsx +0 -35
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _botframeworkWebchatApi = require("botframework-webchat-api");
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _mathRandom = _interopRequireDefault(require("math-random"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _LiveRegionTwinComposer = _interopRequireDefault(require("../providers/LiveRegionTwin/LiveRegionTwinComposer"));
|
|
19
|
+
|
|
20
|
+
var _ScreenReaderActivity = _interopRequireDefault(require("../ScreenReaderActivity"));
|
|
21
|
+
|
|
22
|
+
var _tabbableElements = _interopRequireDefault(require("../Utils/tabbableElements"));
|
|
23
|
+
|
|
24
|
+
var _useActivityTreeWithRenderer = _interopRequireDefault(require("../providers/ActivityTree/useActivityTreeWithRenderer"));
|
|
25
|
+
|
|
26
|
+
var _useQueueStaticElement = _interopRequireDefault(require("../providers/LiveRegionTwin/useQueueStaticElement"));
|
|
27
|
+
|
|
28
|
+
var _useStyleToEmotionObject = _interopRequireDefault(require("../hooks/internal/useStyleToEmotionObject"));
|
|
29
|
+
|
|
30
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
+
|
|
32
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
+
|
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
+
|
|
36
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
+
|
|
38
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
39
|
+
|
|
40
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
41
|
+
|
|
42
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
43
|
+
|
|
44
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
45
|
+
|
|
46
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
47
|
+
|
|
48
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
49
|
+
|
|
50
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
51
|
+
|
|
52
|
+
var useGetKeyByActivity = _botframeworkWebchatApi.hooks.useGetKeyByActivity,
|
|
53
|
+
useLocalizer = _botframeworkWebchatApi.hooks.useLocalizer,
|
|
54
|
+
useStyleOptions = _botframeworkWebchatApi.hooks.useStyleOptions;
|
|
55
|
+
var ROOT_STYLE = {
|
|
56
|
+
'&.webchat__live-region-transcript': {
|
|
57
|
+
'& .webchat__live-region-transcript__interactive_note': {
|
|
58
|
+
color: 'transparent',
|
|
59
|
+
height: 1,
|
|
60
|
+
overflow: 'hidden',
|
|
61
|
+
position: 'absolute',
|
|
62
|
+
top: 0,
|
|
63
|
+
whiteSpace: 'nowrap',
|
|
64
|
+
width: 1
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Checks if the rendering activity is presentational or not. Returns `true` if presentational, otherwise, `false`.
|
|
70
|
+
*
|
|
71
|
+
* Presentational activity, will be rendered visually but not going through screen reader.
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
function isPresentational(activity) {
|
|
75
|
+
var _channelData$messageB, _activity$attachments;
|
|
76
|
+
|
|
77
|
+
var channelData = activity.channelData; // "Fallback text" includes both message text and narratives for attachments.
|
|
78
|
+
// Emptying out "fallback text" essentially mute for both message and attachments.
|
|
79
|
+
|
|
80
|
+
var fallbackText = channelData === null || channelData === void 0 ? void 0 : channelData['webchat:fallback-text'];
|
|
81
|
+
|
|
82
|
+
if (typeof fallbackText === 'string') {
|
|
83
|
+
return !fallbackText;
|
|
84
|
+
} // If there are "displayText" (MessageBack), "text", or any attachments, there are something to narrate.
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
return !(channelData !== null && channelData !== void 0 && (_channelData$messageB = channelData.messageBack) !== null && _channelData$messageB !== void 0 && _channelData$messageB.displayText || activity.text || (_activity$attachments = activity.attachments) !== null && _activity$attachments !== void 0 && _activity$attachments.length);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
var LiveRegionTranscriptCore = function LiveRegionTranscriptCore(_ref) {
|
|
91
|
+
var activityElementMapRef = _ref.activityElementMapRef;
|
|
92
|
+
|
|
93
|
+
var _useActivityTreeWithR = (0, _useActivityTreeWithRenderer.default)({
|
|
94
|
+
flat: true
|
|
95
|
+
}),
|
|
96
|
+
_useActivityTreeWithR2 = _slicedToArray(_useActivityTreeWithR, 1),
|
|
97
|
+
flattenedActivityTree = _useActivityTreeWithR2[0];
|
|
98
|
+
|
|
99
|
+
var getKeyByActivity = useGetKeyByActivity();
|
|
100
|
+
var localize = useLocalizer();
|
|
101
|
+
var queueStaticElement = (0, _useQueueStaticElement.default)();
|
|
102
|
+
var liveRegionInteractiveLabelAlt = localize('TRANSCRIPT_LIVE_REGION_INTERACTIVE_LABEL_ALT');
|
|
103
|
+
var liveRegionInteractiveWithLinkLabelAlt = localize('TRANSCRIPT_LIVE_REGION_INTERACTIVE_WITH_LINKS_LABEL_ALT');
|
|
104
|
+
var renderingActivities = (0, _react.useMemo)(function () {
|
|
105
|
+
return Object.freeze(flattenedActivityTree.reduce(function (intermediate, _ref2) {
|
|
106
|
+
var activity = _ref2.activity;
|
|
107
|
+
return intermediate.set(getKeyByActivity(activity), activity);
|
|
108
|
+
}, new Map()));
|
|
109
|
+
}, [flattenedActivityTree, getKeyByActivity]);
|
|
110
|
+
var prevRenderingActivitiesRef = (0, _react.useRef)();
|
|
111
|
+
(0, _react.useEffect)(function () {
|
|
112
|
+
var prevRenderingActivities = prevRenderingActivitiesRef.current;
|
|
113
|
+
var appendedActivities = []; // Bottom-up, find activities which are recently appended (i.e. new activity will have a new key).
|
|
114
|
+
// We only consider new activities added to the bottom of the chat history.
|
|
115
|
+
// Based on how `aria-relevant="additions"` works, activities that are updated, deleted, or reordered, should be ignored.
|
|
116
|
+
|
|
117
|
+
var _iterator = _createForOfIteratorHelper(Array.from(renderingActivities.entries()).reverse()),
|
|
118
|
+
_step;
|
|
119
|
+
|
|
120
|
+
try {
|
|
121
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
122
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
123
|
+
key = _step$value[0],
|
|
124
|
+
activity = _step$value[1];
|
|
125
|
+
|
|
126
|
+
if (prevRenderingActivities !== null && prevRenderingActivities !== void 0 && prevRenderingActivities.has(key)) {
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
appendedActivities.unshift({
|
|
131
|
+
activity: activity,
|
|
132
|
+
key: key
|
|
133
|
+
});
|
|
134
|
+
isPresentational(activity) || queueStaticElement( /*#__PURE__*/_react.default.createElement(_ScreenReaderActivity.default, {
|
|
135
|
+
activity: activity
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
} catch (err) {
|
|
139
|
+
_iterator.e(err);
|
|
140
|
+
} finally {
|
|
141
|
+
_iterator.f();
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
var hasNewLink = appendedActivities.some(function (_ref3) {
|
|
145
|
+
var _activityElementMapRe;
|
|
146
|
+
|
|
147
|
+
var key = _ref3.key;
|
|
148
|
+
return (_activityElementMapRe = activityElementMapRef.current.get(key)) === null || _activityElementMapRe === void 0 ? void 0 : _activityElementMapRe.querySelector('a');
|
|
149
|
+
});
|
|
150
|
+
var hasNewWidget = appendedActivities.some(function (_ref4) {
|
|
151
|
+
var _activityElementMapRe2;
|
|
152
|
+
|
|
153
|
+
var key = _ref4.key;
|
|
154
|
+
return !!(0, _tabbableElements.default)((_activityElementMapRe2 = activityElementMapRef.current.get(key)) === null || _activityElementMapRe2 === void 0 ? void 0 : _activityElementMapRe2.querySelector('.webchat__basic-transcript__activity-body')).length;
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
if (hasNewLink || hasNewWidget) {
|
|
158
|
+
// eslint-disable-next-line no-magic-numbers
|
|
159
|
+
var labelId = "webchat__live-region-transcript__interactive_note--".concat((0, _mathRandom.default)().toString(36).substr(2, 5));
|
|
160
|
+
queueStaticElement(
|
|
161
|
+
/*#__PURE__*/
|
|
162
|
+
// Inside ARIA live region:
|
|
163
|
+
// - Edge + Narrator:
|
|
164
|
+
// - It read if `aria-labelledby` or `aria-label` is set;
|
|
165
|
+
// - It read nothing if `aria-labelledby` or `aria-label` are not set (in this case, it read "note").
|
|
166
|
+
// - Safari + VoiceOver and Chrome + NVDA:
|
|
167
|
+
// - They read its content and ignore `aria-labelledby` or `aria-label`
|
|
168
|
+
// - They will not read if it is simply <div aria-label="Something" /> without content (self-closing tag).
|
|
169
|
+
// For best compatibility, we need both `aria-labelledby` and contented <div>.
|
|
170
|
+
_react.default.createElement("div", {
|
|
171
|
+
"aria-atomic": "true",
|
|
172
|
+
"aria-labelledby": labelId,
|
|
173
|
+
className: "webchat__live-region-transcript__interactive_note",
|
|
174
|
+
role: "note"
|
|
175
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
176
|
+
id: labelId
|
|
177
|
+
}, hasNewLink ? liveRegionInteractiveWithLinkLabelAlt : liveRegionInteractiveLabelAlt)));
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
prevRenderingActivitiesRef.current = renderingActivities;
|
|
181
|
+
}, [activityElementMapRef, getKeyByActivity, liveRegionInteractiveLabelAlt, liveRegionInteractiveWithLinkLabelAlt, prevRenderingActivitiesRef, queueStaticElement, renderingActivities]);
|
|
182
|
+
return null;
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
var LiveRegionTranscript = function LiveRegionTranscript(_ref5) {
|
|
186
|
+
var activityElementMapRef = _ref5.activityElementMapRef;
|
|
187
|
+
|
|
188
|
+
var _useStyleOptions = useStyleOptions(),
|
|
189
|
+
_useStyleOptions2 = _slicedToArray(_useStyleOptions, 1),
|
|
190
|
+
internalLiveRegionFadeAfter = _useStyleOptions2[0].internalLiveRegionFadeAfter;
|
|
191
|
+
|
|
192
|
+
var localize = useLocalizer();
|
|
193
|
+
var rootClassName = (0, _useStyleToEmotionObject.default)()(ROOT_STYLE) + '';
|
|
194
|
+
var transcriptRoleDescription = localize('TRANSCRIPT_ARIA_ROLE_ALT');
|
|
195
|
+
return /*#__PURE__*/_react.default.createElement(_LiveRegionTwinComposer.default, {
|
|
196
|
+
"aria-roledescription": transcriptRoleDescription,
|
|
197
|
+
className: (0, _classnames.default)('webchat__live-region-transcript', rootClassName),
|
|
198
|
+
fadeAfter: internalLiveRegionFadeAfter,
|
|
199
|
+
role: "log"
|
|
200
|
+
}, /*#__PURE__*/_react.default.createElement(LiveRegionTranscriptCore, {
|
|
201
|
+
activityElementMapRef: activityElementMapRef
|
|
202
|
+
}));
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
LiveRegionTranscript.propTypes = {
|
|
206
|
+
// PropTypes cannot be fully expressed in TypeScript.
|
|
207
|
+
// @ts-ignore
|
|
208
|
+
activityElementMapRef: _propTypes.default.shape({
|
|
209
|
+
current: _propTypes.default.instanceOf(Map)
|
|
210
|
+
}).isRequired
|
|
211
|
+
};
|
|
212
|
+
var _default = LiveRegionTranscript;
|
|
213
|
+
exports.default = _default;
|
|
214
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UcmFuc2NyaXB0L0xpdmVSZWdpb25UcmFuc2NyaXB0LnRzeCJdLCJuYW1lcyI6WyJ1c2VHZXRLZXlCeUFjdGl2aXR5IiwiaG9va3MiLCJ1c2VMb2NhbGl6ZXIiLCJ1c2VTdHlsZU9wdGlvbnMiLCJST09UX1NUWUxFIiwiY29sb3IiLCJoZWlnaHQiLCJvdmVyZmxvdyIsInBvc2l0aW9uIiwidG9wIiwid2hpdGVTcGFjZSIsIndpZHRoIiwiaXNQcmVzZW50YXRpb25hbCIsImFjdGl2aXR5IiwiY2hhbm5lbERhdGEiLCJmYWxsYmFja1RleHQiLCJtZXNzYWdlQmFjayIsImRpc3BsYXlUZXh0IiwidGV4dCIsImF0dGFjaG1lbnRzIiwibGVuZ3RoIiwiTGl2ZVJlZ2lvblRyYW5zY3JpcHRDb3JlIiwiYWN0aXZpdHlFbGVtZW50TWFwUmVmIiwiZmxhdCIsImZsYXR0ZW5lZEFjdGl2aXR5VHJlZSIsImdldEtleUJ5QWN0aXZpdHkiLCJsb2NhbGl6ZSIsInF1ZXVlU3RhdGljRWxlbWVudCIsImxpdmVSZWdpb25JbnRlcmFjdGl2ZUxhYmVsQWx0IiwibGl2ZVJlZ2lvbkludGVyYWN0aXZlV2l0aExpbmtMYWJlbEFsdCIsInJlbmRlcmluZ0FjdGl2aXRpZXMiLCJPYmplY3QiLCJmcmVlemUiLCJyZWR1Y2UiLCJpbnRlcm1lZGlhdGUiLCJzZXQiLCJNYXAiLCJwcmV2UmVuZGVyaW5nQWN0aXZpdGllc1JlZiIsInByZXZSZW5kZXJpbmdBY3Rpdml0aWVzIiwiY3VycmVudCIsImFwcGVuZGVkQWN0aXZpdGllcyIsIkFycmF5IiwiZnJvbSIsImVudHJpZXMiLCJyZXZlcnNlIiwia2V5IiwiaGFzIiwidW5zaGlmdCIsImhhc05ld0xpbmsiLCJzb21lIiwiZ2V0IiwicXVlcnlTZWxlY3RvciIsImhhc05ld1dpZGdldCIsImxhYmVsSWQiLCJ0b1N0cmluZyIsInN1YnN0ciIsIkxpdmVSZWdpb25UcmFuc2NyaXB0IiwiaW50ZXJuYWxMaXZlUmVnaW9uRmFkZUFmdGVyIiwicm9vdENsYXNzTmFtZSIsInRyYW5zY3JpcHRSb2xlRGVzY3JpcHRpb24iLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImluc3RhbmNlT2YiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFLQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLG1CQUFSLEdBQStEQyw2QkFBL0QsQ0FBUUQsbUJBQVI7QUFBQSxJQUE2QkUsWUFBN0IsR0FBK0RELDZCQUEvRCxDQUE2QkMsWUFBN0I7QUFBQSxJQUEyQ0MsZUFBM0MsR0FBK0RGLDZCQUEvRCxDQUEyQ0UsZUFBM0M7QUFFQSxJQUFNQyxVQUFVLEdBQUc7QUFDakIsdUNBQXFDO0FBQ25DLDREQUF3RDtBQUN0REMsTUFBQUEsS0FBSyxFQUFFLGFBRCtDO0FBRXREQyxNQUFBQSxNQUFNLEVBQUUsQ0FGOEM7QUFHdERDLE1BQUFBLFFBQVEsRUFBRSxRQUg0QztBQUl0REMsTUFBQUEsUUFBUSxFQUFFLFVBSjRDO0FBS3REQyxNQUFBQSxHQUFHLEVBQUUsQ0FMaUQ7QUFNdERDLE1BQUFBLFVBQVUsRUFBRSxRQU4wQztBQU90REMsTUFBQUEsS0FBSyxFQUFFO0FBUCtDO0FBRHJCO0FBRHBCLENBQW5CO0FBY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxTQUFTQyxnQkFBVCxDQUEwQkMsUUFBMUIsRUFBaUU7QUFBQTs7QUFDL0QsTUFBUUMsV0FBUixHQUNFRCxRQURGLENBQVFDLFdBQVIsQ0FEK0QsQ0FJL0Q7QUFDQTs7QUFDQSxNQUFNQyxZQUFZLEdBQUdELFdBQUgsYUFBR0EsV0FBSCx1QkFBR0EsV0FBVyxDQUFHLHVCQUFILENBQWhDOztBQUVBLE1BQUksT0FBT0MsWUFBUCxLQUF3QixRQUE1QixFQUFzQztBQUNwQyxXQUFPLENBQUNBLFlBQVI7QUFDRCxHQVY4RCxDQVkvRDs7O0FBQ0EsU0FBTyxF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LHNCQUNFLDZCQUFDLCtCQUFEO0FBQ0UsNEJBQXNCaUMseUJBRHhCO0FBRUUsSUFBQSxTQUFTLEVBQUUseUJBQVcsaUNBQVgsRUFBOENELGFBQTlDLENBRmI7QUFHRSxJQUFBLFNBQVMsRUFBRUQsMkJBSGI7QUFJRSxJQUFBLElBQUksRUFBQztBQUpQLGtCQU1FLDZCQUFDLHdCQUFEO0FBQTBCLElBQUEscUJBQXFCLEVBQUVuQztBQUFqRCxJQU5GLENBREY7QUFVRCxDQWpCRDs7QUFtQkFrQyxvQkFBb0IsQ0FBQ0ksU0FBckIsR0FBaUM7QUFDL0I7QUFDQTtBQUNBdEMsRUFBQUEscUJBQXFCLEVBQUV1QyxtQkFBVUMsS0FBVixDQUFnQjtBQUNyQ3ZCLElBQUFBLE9BQU8sRUFBRXNCLG1CQUFVRSxVQUFWLENBQXFCM0IsR0FBckI7QUFENEIsR0FBaEIsRUFFcEI0QjtBQUw0QixDQUFqQztlQVFlUixvQiIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCByYW5kb20gZnJvbSAnbWF0aC1yYW5kb20nO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IERpcmVjdExpbmVBY3Rpdml0eSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBGQywgUmVmT2JqZWN0LCBWRkMgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBMaXZlUmVnaW9uVHdpbkNvbXBvc2VyIGZyb20gJy4uL3Byb3ZpZGVycy9MaXZlUmVnaW9uVHdpbi9MaXZlUmVnaW9uVHdpbkNvbXBvc2VyJztcbmltcG9ydCBTY3JlZW5SZWFkZXJBY3Rpdml0eSBmcm9tICcuLi9TY3JlZW5SZWFkZXJBY3Rpdml0eSc7XG5pbXBvcnQgdGFiYmFibGVFbGVtZW50cyBmcm9tICcuLi9VdGlscy90YWJiYWJsZUVsZW1lbnRzJztcbmltcG9ydCB1c2VBY3Rpdml0eVRyZWVXaXRoUmVuZGVyZXIgZnJvbSAnLi4vcHJvdmlkZXJzL0FjdGl2aXR5VHJlZS91c2VBY3Rpdml0eVRyZWVXaXRoUmVuZGVyZXInO1xuaW1wb3J0IHVzZVF1ZXVlU3RhdGljRWxlbWVudCBmcm9tICcuLi9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vdXNlUXVldWVTdGF0aWNFbGVtZW50JztcbmltcG9ydCB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCc7XG5cbmltcG9ydCB0eXBlIHsgQWN0aXZpdHlFbGVtZW50TWFwIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuY29uc3QgeyB1c2VHZXRLZXlCeUFjdGl2aXR5LCB1c2VMb2NhbGl6ZXIsIHVzZVN0eWxlT3B0aW9ucyB9ID0gaG9va3M7XG5cbmNvbnN0IFJPT1RfU1RZTEUgPSB7XG4gICcmLndlYmNoYXRfX2xpdmUtcmVnaW9uLXRyYW5zY3JpcHQnOiB7XG4gICAgJyYgLndlYmNoYXRfX2xpdmUtcmVnaW9uLXRyYW5zY3JpcHRfX2ludGVyYWN0aXZlX25vdGUnOiB7XG4gICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgIGhlaWdodDogMSxcbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAwLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICB3aWR0aDogMVxuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHJlbmRlcmluZyBhY3Rpdml0eSBpcyBwcmVzZW50YXRpb25hbCBvciBub3QuIFJldHVybnMgYHRydWVgIGlmIHByZXNlbnRhdGlvbmFsLCBvdGhlcndpc2UsIGBmYWxzZWAuXG4gKlxuICogUHJlc2VudGF0aW9uYWwgYWN0aXZpdHksIHdpbGwgYmUgcmVuZGVyZWQgdmlzdWFsbHkgYnV0IG5vdCBnb2luZyB0aHJvdWdoIHNjcmVlbiByZWFkZXIuXG4gKi9cbmZ1bmN0aW9uIGlzUHJlc2VudGF0aW9uYWwoYWN0aXZpdHk6IERpcmVjdExpbmVBY3Rpdml0eSk6IGJvb2xlYW4ge1xuICBjb25zdCB7IGNoYW5uZWxEYXRhIH06IHsgYXR0YWNobWVudHM/OiBbXTsgY2hhbm5lbERhdGE/OiB7IG1lc3NhZ2VCYWNrPzogeyBkaXNwbGF5VGV4dD86IHN0cmluZyB9IH07IHRleHQ/OiBzdHJpbmcgfSA9XG4gICAgYWN0aXZpdHk7XG5cbiAgLy8gXCJGYWxsYmFjayB0ZXh0XCIgaW5jbHVkZXMgYm90aCBtZXNzYWdlIHRleHQgYW5kIG5hcnJhdGl2ZXMgZm9yIGF0dGFjaG1lbnRzLlxuICAvLyBFbXB0eWluZyBvdXQgXCJmYWxsYmFjayB0ZXh0XCIgZXNzZW50aWFsbHkgbXV0ZSBmb3IgYm90aCBtZXNzYWdlIGFuZCBhdHRhY2htZW50cy5cbiAgY29uc3QgZmFsbGJhY2tUZXh0ID0gY2hhbm5lbERhdGE/Llsnd2ViY2hhdDpmYWxsYmFjay10ZXh0J107XG5cbiAgaWYgKHR5cGVvZiBmYWxsYmFja1RleHQgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuICFmYWxsYmFja1RleHQ7XG4gIH1cblxuICAvLyBJZiB0aGVyZSBhcmUgXCJkaXNwbGF5VGV4dFwiIChNZXNzYWdlQmFjayksIFwidGV4dFwiLCBvciBhbnkgYXR0YWNobWVudHMsIHRoZXJlIGFyZSBzb21ldGhpbmcgdG8gbmFycmF0ZS5cbiAgcmV0dXJuICEoY2hhbm5lbERhdGE/Lm1lc3NhZ2VCYWNrPy5kaXNwbGF5VGV4dCB8fCBhY3Rpdml0eS50ZXh0IHx8IGFjdGl2aXR5LmF0dGFjaG1lbnRzPy5sZW5ndGgpO1xufVxuXG50eXBlIFJlbmRlcmluZ0FjdGl2aXRpZXMgPSBNYXA8c3RyaW5nLCBEaXJlY3RMaW5lQWN0aXZpdHk+O1xuXG50eXBlIExpdmVSZWdpb25UcmFuc2NyaXB0Q29yZVByb3BzID0ge1xuICBhY3Rpdml0eUVsZW1lbnRNYXBSZWY6IFJlZk9iamVjdDxBY3Rpdml0eUVsZW1lbnRNYXA+O1xufTtcblxuY29uc3QgTGl2ZVJlZ2lvblRyYW5zY3JpcHRDb3JlOiBGQzxMaXZlUmVnaW9uVHJhbnNjcmlwdENvcmVQcm9wcz4gPSAoeyBhY3Rpdml0eUVsZW1lbnRNYXBSZWYgfSkgPT4ge1xuICBjb25zdCBbZmxhdHRlbmVkQWN0aXZpdHlUcmVlXSA9IHVzZUFjdGl2aXR5VHJlZVdpdGhSZW5kZXJlcih7IGZsYXQ6IHRydWUgfSk7XG4gIGNvbnN0IGdldEtleUJ5QWN0aXZpdHkgPSB1c2VHZXRLZXlCeUFjdGl2aXR5KCk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG4gIGNvbnN0IHF1ZXVlU3RhdGljRWxlbWVudCA9IHVzZVF1ZXVlU3RhdGljRWxlbWVudCgpO1xuXG4gIGNvbnN0IGxpdmVSZWdpb25JbnRlcmFjdGl2ZUxhYmVsQWx0ID0gbG9jYWxpemUoJ1RSQU5TQ1JJUFRfTElWRV9SRUdJT05fSU5URVJBQ1RJVkVfTEFCRUxfQUxUJyk7XG4gIGNvbnN0IGxpdmVSZWdpb25JbnRlcmFjdGl2ZVdpdGhMaW5rTGFiZWxBbHQgPSBsb2NhbGl6ZSgnVFJBTlNDUklQVF9MSVZFX1JFR0lPTl9JTlRFUkFDVElWRV9XSVRIX0xJTktTX0xBQkVMX0FMVCcpO1xuXG4gIGNvbnN0IHJlbmRlcmluZ0FjdGl2aXRpZXMgPSB1c2VNZW1vPFJlYWRvbmx5PFJlbmRlcmluZ0FjdGl2aXRpZXM+PihcbiAgICAoKSA9PlxuICAgICAgT2JqZWN0LmZyZWV6ZShcbiAgICAgICAgZmxhdHRlbmVkQWN0aXZpdHlUcmVlLnJlZHVjZTxSZW5kZXJpbmdBY3Rpdml0aWVzPihcbiAgICAgICAgICAoaW50ZXJtZWRpYXRlLCB7IGFjdGl2aXR5IH0pID0+IGludGVybWVkaWF0ZS5zZXQoZ2V0S2V5QnlBY3Rpdml0eShhY3Rpdml0eSksIGFjdGl2aXR5KSxcbiAgICAgICAgICBuZXcgTWFwPHN0cmluZywgRGlyZWN0TGluZUFjdGl2aXR5PigpXG4gICAgICAgIClcbiAgICAgICksXG4gICAgW2ZsYXR0ZW5lZEFjdGl2aXR5VHJlZSwgZ2V0S2V5QnlBY3Rpdml0eV1cbiAgKTtcblxuICBjb25zdCBwcmV2UmVuZGVyaW5nQWN0aXZpdGllc1JlZiA9IHVzZVJlZjxSZWFkb25seTxSZW5kZXJpbmdBY3Rpdml0aWVzPj4oKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudDogcHJldlJlbmRlcmluZ0FjdGl2aXRpZXMgfSA9IHByZXZSZW5kZXJpbmdBY3Rpdml0aWVzUmVmO1xuICAgIGNvbnN0IGFwcGVuZGVkQWN0aXZpdGllczogeyBhY3Rpdml0eTogRGlyZWN0TGluZUFjdGl2aXR5OyBrZXk6IHN0cmluZyB9W10gPSBbXTtcblxuICAgIC8vIEJvdHRvbS11cCwgZmluZCBhY3Rpdml0aWVzIHdoaWNoIGFyZSByZWNlbnRseSBhcHBlbmRlZCAoaS5lLiBuZXcgYWN0aXZpdHkgd2lsbCBoYXZlIGEgbmV3IGtleSkuXG4gICAgLy8gV2Ugb25seSBjb25zaWRlciBuZXcgYWN0aXZpdGllcyBhZGRlZCB0byB0aGUgYm90dG9tIG9mIHRoZSBjaGF0IGhpc3RvcnkuXG4gICAgLy8gQmFzZWQgb24gaG93IGBhcmlhLXJlbGV2YW50PVwiYWRkaXRpb25zXCJgIHdvcmtzLCBhY3Rpdml0aWVzIHRoYXQgYXJlIHVwZGF0ZWQsIGRlbGV0ZWQsIG9yIHJlb3JkZXJlZCwgc2hvdWxkIGJlIGlnbm9yZWQuXG4gICAgZm9yIChjb25zdCBba2V5LCBhY3Rpdml0eV0gb2YgQXJyYXkuZnJvbShyZW5kZXJpbmdBY3Rpdml0aWVzLmVudHJpZXMoKSkucmV2ZXJzZSgpKSB7XG4gICAgICBpZiAocHJldlJlbmRlcmluZ0FjdGl2aXRpZXM/LmhhcyhrZXkpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBhcHBlbmRlZEFjdGl2aXRpZXMudW5zaGlmdCh7IGFjdGl2aXR5LCBrZXkgfSk7XG5cbiAgICAgIGlzUHJlc2VudGF0aW9uYWwoYWN0aXZpdHkpIHx8IHF1ZXVlU3RhdGljRWxlbWVudCg8U2NyZWVuUmVhZGVyQWN0aXZpdHkgYWN0aXZpdHk9e2FjdGl2aXR5fSAvPik7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzTmV3TGluayA9IGFwcGVuZGVkQWN0aXZpdGllcy5zb21lKCh7IGtleSB9KSA9PiBhY3Rpdml0eUVsZW1lbnRNYXBSZWYuY3VycmVudC5nZXQoa2V5KT8ucXVlcnlTZWxlY3RvcignYScpKTtcblxuICAgIGNvbnN0IGhhc05ld1dpZGdldCA9IGFwcGVuZGVkQWN0aXZpdGllcy5zb21lKFxuICAgICAgKHsga2V5IH0pID0+XG4gICAgICAgICEhdGFiYmFibGVFbGVtZW50cyhcbiAgICAgICAgICBhY3Rpdml0eUVsZW1lbnRNYXBSZWYuY3VycmVudC5nZXQoa2V5KT8ucXVlcnlTZWxlY3RvcignLndlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2aXR5LWJvZHknKVxuICAgICAgICApLmxlbmd0aFxuICAgICk7XG5cbiAgICBpZiAoaGFzTmV3TGluayB8fCBoYXNOZXdXaWRnZXQpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzXG4gICAgICBjb25zdCBsYWJlbElkID0gYHdlYmNoYXRfX2xpdmUtcmVnaW9uLXRyYW5zY3JpcHRfX2ludGVyYWN0aXZlX25vdGUtLSR7cmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA1KX1gO1xuXG4gICAgICBxdWV1ZVN0YXRpY0VsZW1lbnQoXG4gICAgICAgIC8vIEluc2lkZSBBUklBIGxpdmUgcmVnaW9uOlxuICAgICAgICAvLyAtIEVkZ2UgKyBOYXJyYXRvcjpcbiAgICAgICAgLy8gICAtIEl0IHJlYWQgaWYgYGFyaWEtbGFiZWxsZWRieWAgb3IgYGFyaWEtbGFiZWxgIGlzIHNldDtcbiAgICAgICAgLy8gICAtIEl0IHJlYWQgbm90aGluZyBpZiBgYXJpYS1sYWJlbGxlZGJ5YCBvciBgYXJpYS1sYWJlbGAgYXJlIG5vdCBzZXQgKGluIHRoaXMgY2FzZSwgaXQgcmVhZCBcIm5vdGVcIikuXG4gICAgICAgIC8vIC0gU2FmYXJpICsgVm9pY2VPdmVyIGFuZCBDaHJvbWUgKyBOVkRBOlxuICAgICAgICAvLyAgIC0gVGhleSByZWFkIGl0cyBjb250ZW50IGFuZCBpZ25vcmUgYGFyaWEtbGFiZWxsZWRieWAgb3IgYGFyaWEtbGFiZWxgXG4gICAgICAgIC8vICAgLSBUaGV5IHdpbGwgbm90IHJlYWQgaWYgaXQgaXMgc2ltcGx5IDxkaXYgYXJpYS1sYWJlbD1cIlNvbWV0aGluZ1wiIC8+IHdpdGhvdXQgY29udGVudCAoc2VsZi1jbG9zaW5nIHRhZykuXG4gICAgICAgIC8vIEZvciBiZXN0IGNvbXBhdGliaWxpdHksIHdlIG5lZWQgYm90aCBgYXJpYS1sYWJlbGxlZGJ5YCBhbmQgY29udGVudGVkIDxkaXY+LlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgYXJpYS1hdG9taWM9XCJ0cnVlXCJcbiAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgY2xhc3NOYW1lPVwid2ViY2hhdF9fbGl2ZS1yZWdpb24tdHJhbnNjcmlwdF9faW50ZXJhY3RpdmVfbm90ZVwiXG4gICAgICAgICAgcm9sZT1cIm5vdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgey8qIFwiaWRcIiBpcyByZXF1aXJlZCBmb3IgXCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIiAqL31cbiAgICAgICAgICB7LyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2ZvcmJpZC1kb20tcHJvcHMgKi99XG4gICAgICAgICAgPHNwYW4gaWQ9e2xhYmVsSWR9PntoYXNOZXdMaW5rID8gbGl2ZVJlZ2lvbkludGVyYWN0aXZlV2l0aExpbmtMYWJlbEFsdCA6IGxpdmVSZWdpb25JbnRlcmFjdGl2ZUxhYmVsQWx0fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cblxuICAgIHByZXZSZW5kZXJpbmdBY3Rpdml0aWVzUmVmLmN1cnJlbnQgPSByZW5kZXJpbmdBY3Rpdml0aWVzO1xuICB9LCBbXG4gICAgYWN0aXZpdHlFbGVtZW50TWFwUmVmLFxuICAgIGdldEtleUJ5QWN0aXZpdHksXG4gICAgbGl2ZVJlZ2lvbkludGVyYWN0aXZlTGFiZWxBbHQsXG4gICAgbGl2ZVJlZ2lvbkludGVyYWN0aXZlV2l0aExpbmtMYWJlbEFsdCxcbiAgICBwcmV2UmVuZGVyaW5nQWN0aXZpdGllc1JlZixcbiAgICBxdWV1ZVN0YXRpY0VsZW1lbnQsXG4gICAgcmVuZGVyaW5nQWN0aXZpdGllc1xuICBdKTtcblxuICByZXR1cm4gbnVsbDtcbn07XG5cbnR5cGUgTGl2ZVJlZ2lvblRyYW5zY3JpcHRQcm9wcyA9IHtcbiAgYWN0aXZpdHlFbGVtZW50TWFwUmVmOiBSZWZPYmplY3Q8QWN0aXZpdHlFbGVtZW50TWFwPjtcbn07XG5cbmNvbnN0IExpdmVSZWdpb25UcmFuc2NyaXB0OiBWRkM8TGl2ZVJlZ2lvblRyYW5zY3JpcHRQcm9wcz4gPSAoeyBhY3Rpdml0eUVsZW1lbnRNYXBSZWYgfSkgPT4ge1xuICBjb25zdCBbeyBpbnRlcm5hbExpdmVSZWdpb25GYWRlQWZ0ZXIgfV0gPSB1c2VTdHlsZU9wdGlvbnMoKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3Qgcm9vdENsYXNzTmFtZSA9IHVzZVN0eWxlVG9FbW90aW9uT2JqZWN0KCkoUk9PVF9TVFlMRSkgKyAnJztcblxuICBjb25zdCB0cmFuc2NyaXB0Um9sZURlc2NyaXB0aW9uID0gbG9jYWxpemUoJ1RSQU5TQ1JJUFRfQVJJQV9ST0xFX0FMVCcpO1xuXG4gIHJldHVybiAoXG4gICAgPExpdmVSZWdpb25Ud2luQ29tcG9zZXJcbiAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPXt0cmFuc2NyaXB0Um9sZURlc2NyaXB0aW9ufVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd3ZWJjaGF0X19saXZlLXJlZ2lvbi10cmFuc2NyaXB0Jywgcm9vdENsYXNzTmFtZSl9XG4gICAgICBmYWRlQWZ0ZXI9e2ludGVybmFsTGl2ZVJlZ2lvbkZhZGVBZnRlcn1cbiAgICAgIHJvbGU9XCJsb2dcIlxuICAgID5cbiAgICAgIDxMaXZlUmVnaW9uVHJhbnNjcmlwdENvcmUgYWN0aXZpdHlFbGVtZW50TWFwUmVmPXthY3Rpdml0eUVsZW1lbnRNYXBSZWZ9IC8+XG4gICAgPC9MaXZlUmVnaW9uVHdpbkNvbXBvc2VyPlxuICApO1xufTtcblxuTGl2ZVJlZ2lvblRyYW5zY3JpcHQucHJvcFR5cGVzID0ge1xuICAvLyBQcm9wVHlwZXMgY2Fubm90IGJlIGZ1bGx5IGV4cHJlc3NlZCBpbiBUeXBlU2NyaXB0LlxuICAvLyBAdHMtaWdub3JlXG4gIGFjdGl2aXR5RWxlbWVudE1hcFJlZjogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBjdXJyZW50OiBQcm9wVHlwZXMuaW5zdGFuY2VPZihNYXApXG4gIH0pLmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExpdmVSZWdpb25UcmFuc2NyaXB0O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Transcript/types.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DirectLineActivity } from 'botframework-webchat-core';
|
|
2
|
+
import type { RefObject } from 'react';
|
|
3
|
+
export default function useActivityAccessibleName(activity: DirectLineActivity, bodyRef: RefObject<HTMLElement>): string[];
|
|
4
|
+
//# sourceMappingURL=useActivityAccessibleName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useActivityAccessibleName.d.ts","sourceRoot":"","sources":["../../src/Transcript/useActivityAccessibleName.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAsBvC,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,YA0D9G"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useActivityAccessibleName;
|
|
7
|
+
|
|
8
|
+
var _botframeworkWebchatApi = require("botframework-webchat-api");
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
var _activityAltText = _interopRequireDefault(require("../Utils/activityAltText"));
|
|
13
|
+
|
|
14
|
+
var _tabbableElements = _interopRequireDefault(require("../Utils/tabbableElements"));
|
|
15
|
+
|
|
16
|
+
var _useRenderMarkdownAsHTML = _interopRequireDefault(require("../hooks/useRenderMarkdownAsHTML"));
|
|
17
|
+
|
|
18
|
+
var _useValueRef = _interopRequireDefault(require("../hooks/internal/useValueRef"));
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
23
|
+
|
|
24
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
25
|
+
|
|
26
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
27
|
+
|
|
28
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
29
|
+
|
|
30
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
31
|
+
|
|
32
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
33
|
+
|
|
34
|
+
var InteractiveType;
|
|
35
|
+
|
|
36
|
+
(function (InteractiveType) {
|
|
37
|
+
InteractiveType[InteractiveType["LINK"] = 0] = "LINK";
|
|
38
|
+
InteractiveType[InteractiveType["WIDGET"] = 1] = "WIDGET";
|
|
39
|
+
})(InteractiveType || (InteractiveType = {}));
|
|
40
|
+
|
|
41
|
+
var useAvatarForBot = _botframeworkWebchatApi.hooks.useAvatarForBot,
|
|
42
|
+
useLocalizer = _botframeworkWebchatApi.hooks.useLocalizer;
|
|
43
|
+
var ACTIVITY_NUM_ATTACHMENTS_ALT_IDS = {
|
|
44
|
+
few: 'ACTIVITY_NUM_ATTACHMENTS_FEW_ALT',
|
|
45
|
+
many: 'ACTIVITY_NUM_ATTACHMENTS_MANY_ALT',
|
|
46
|
+
one: 'ACTIVITY_NUM_ATTACHMENTS_ONE_ALT',
|
|
47
|
+
other: 'ACTIVITY_NUM_ATTACHMENTS_OTHER_ALT',
|
|
48
|
+
two: 'ACTIVITY_NUM_ATTACHMENTS_TWO_ALT'
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
function useActivityAccessibleName(activity, bodyRef) {
|
|
52
|
+
var _activity$from, _activity$attachments;
|
|
53
|
+
|
|
54
|
+
var _useAvatarForBot = useAvatarForBot(),
|
|
55
|
+
_useAvatarForBot2 = _slicedToArray(_useAvatarForBot, 1),
|
|
56
|
+
botInitials = _useAvatarForBot2[0].initials;
|
|
57
|
+
|
|
58
|
+
var _useState = (0, _react.useState)(false),
|
|
59
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
60
|
+
interactiveType = _useState2[0],
|
|
61
|
+
setInteractiveType = _useState2[1];
|
|
62
|
+
|
|
63
|
+
var fromSelf = ((_activity$from = activity.from) === null || _activity$from === void 0 ? void 0 : _activity$from.role) === 'user';
|
|
64
|
+
var localize = useLocalizer();
|
|
65
|
+
var localizeWithPlural = useLocalizer({
|
|
66
|
+
plural: true
|
|
67
|
+
});
|
|
68
|
+
var numAttachments = ((_activity$attachments = activity.attachments) === null || _activity$attachments === void 0 ? void 0 : _activity$attachments.length) || 0;
|
|
69
|
+
var renderMarkdownAsHTML = (0, _useRenderMarkdownAsHTML.default)();
|
|
70
|
+
var activityInteractiveAlt = localize('ACTIVITY_INTERACTIVE_LABEL_ALT'); // "Click to interact."
|
|
71
|
+
|
|
72
|
+
var activityInteractiveWithLinkAlt = localize('ACTIVITY_INTERACTIVE_WITH_LINKS_LABEL_ALT'); // "Click to interact."
|
|
73
|
+
|
|
74
|
+
var greetingAlt = (0, _react.useMemo)(function () {
|
|
75
|
+
return (fromSelf ? localize('ACTIVITY_YOU_SAID_ALT') : localize('ACTIVITY_BOT_SAID_ALT', botInitials || '')).replace(/[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]{2,}/g, ' ');
|
|
76
|
+
}, [botInitials, fromSelf, localize]);
|
|
77
|
+
var interactiveTypeRef = (0, _useValueRef.default)(interactiveType);
|
|
78
|
+
var messageTextAlt = (0, _react.useMemo)(function () {
|
|
79
|
+
return (0, _activityAltText.default)(activity, renderMarkdownAsHTML);
|
|
80
|
+
}, [activity, renderMarkdownAsHTML]);
|
|
81
|
+
var numAttachmentsAlt = (0, _react.useMemo)(function () {
|
|
82
|
+
return numAttachments ? localizeWithPlural(ACTIVITY_NUM_ATTACHMENTS_ALT_IDS, numAttachments) : '';
|
|
83
|
+
}, [localizeWithPlural, numAttachments]);
|
|
84
|
+
var accessibleName = (0, _react.useMemo)( // We are concatenating in a single string for Safari. If we split it up, Safari will only narrate the first section.
|
|
85
|
+
function () {
|
|
86
|
+
return "".concat(greetingAlt, " ").concat(messageTextAlt, " ").concat(numAttachmentsAlt, " ").concat(interactiveType === InteractiveType.LINK ? activityInteractiveWithLinkAlt : interactiveType === InteractiveType.WIDGET ? activityInteractiveAlt : '');
|
|
87
|
+
}, [activityInteractiveAlt, activityInteractiveWithLinkAlt, greetingAlt, interactiveType, messageTextAlt, numAttachmentsAlt]);
|
|
88
|
+
(0, _react.useEffect)(function () {
|
|
89
|
+
var _bodyRef$current;
|
|
90
|
+
|
|
91
|
+
var hasLinks = !!((_bodyRef$current = bodyRef.current) !== null && _bodyRef$current !== void 0 && _bodyRef$current.querySelector('a'));
|
|
92
|
+
var hasWidgets = !!(0, _tabbableElements.default)(bodyRef.current).length;
|
|
93
|
+
interactiveTypeRef.current !== hasWidgets && setInteractiveType(hasLinks ? InteractiveType.LINK : hasWidgets ? InteractiveType.WIDGET : false);
|
|
94
|
+
}, [bodyRef, interactiveTypeRef, setInteractiveType]);
|
|
95
|
+
return [accessibleName];
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UcmFuc2NyaXB0L3VzZUFjdGl2aXR5QWNjZXNzaWJsZU5hbWUudHMiXSwibmFtZXMiOlsiSW50ZXJhY3RpdmVUeXBlIiwidXNlQXZhdGFyRm9yQm90IiwiaG9va3MiLCJ1c2VMb2NhbGl6ZXIiLCJBQ1RJVklUWV9OVU1fQVRUQUNITUVOVFNfQUxUX0lEUyIsImZldyIsIm1hbnkiLCJvbmUiLCJvdGhlciIsInR3byIsInVzZUFjdGl2aXR5QWNjZXNzaWJsZU5hbWUiLCJhY3Rpdml0eSIsImJvZHlSZWYiLCJib3RJbml0aWFscyIsImluaXRpYWxzIiwiaW50ZXJhY3RpdmVUeXBlIiwic2V0SW50ZXJhY3RpdmVUeXBlIiwiZnJvbVNlbGYiLCJmcm9tIiwicm9sZSIsImxvY2FsaXplIiwibG9jYWxpemVXaXRoUGx1cmFsIiwicGx1cmFsIiwibnVtQXR0YWNobWVudHMiLCJhdHRhY2htZW50cyIsImxlbmd0aCIsInJlbmRlck1hcmtkb3duQXNIVE1MIiwiYWN0aXZpdHlJbnRlcmFjdGl2ZUFsdCIsImFjdGl2aXR5SW50ZXJhY3RpdmVXaXRoTGlua0FsdCIsImdyZWV0aW5nQWx0IiwicmVwbGFjZSIsImludGVyYWN0aXZlVHlwZVJlZiIsIm1lc3NhZ2VUZXh0QWx0IiwibnVtQXR0YWNobWVudHNBbHQiLCJhY2Nlc3NpYmxlTmFtZSIsIkxJTksiLCJXSURHRVQiLCJoYXNMaW5rcyIsImN1cnJlbnQiLCJxdWVyeVNlbGVjdG9yIiwiaGFzV2lkZ2V0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7O0lBRUtBLGU7O1dBQUFBLGU7QUFBQUEsRUFBQUEsZSxDQUFBQSxlO0FBQUFBLEVBQUFBLGUsQ0FBQUEsZTtHQUFBQSxlLEtBQUFBLGU7O0FBS0wsSUFBUUMsZUFBUixHQUEwQ0MsNkJBQTFDLENBQVFELGVBQVI7QUFBQSxJQUF5QkUsWUFBekIsR0FBMENELDZCQUExQyxD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dkQ7QUFFQU0sSUFBQUEsa0JBQWtCLENBQUNPLE9BQW5CLEtBQStCRSxVQUEvQixJQUNFeEIsa0JBQWtCLENBQUNxQixRQUFRLEdBQUdyQyxlQUFlLENBQUNtQyxJQUFuQixHQUEwQkssVUFBVSxHQUFHeEMsZUFBZSxDQUFDb0MsTUFBbkIsR0FBNEIsS0FBekUsQ0FEcEI7QUFFRCxHQU5ELEVBTUcsQ0FBQ3hCLE9BQUQsRUFBVW1CLGtCQUFWLEVBQThCZixrQkFBOUIsQ0FOSDtBQVFBLFNBQU8sQ0FBQ2tCLGNBQUQsQ0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IERpcmVjdExpbmVBY3Rpdml0eSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBhY3Rpdml0eUFsdFRleHQgZnJvbSAnLi4vVXRpbHMvYWN0aXZpdHlBbHRUZXh0JztcbmltcG9ydCB0YWJiYWJsZUVsZW1lbnRzIGZyb20gJy4uL1V0aWxzL3RhYmJhYmxlRWxlbWVudHMnO1xuaW1wb3J0IHVzZVJlbmRlck1hcmtkb3duQXNIVE1MIGZyb20gJy4uL2hvb2tzL3VzZVJlbmRlck1hcmtkb3duQXNIVE1MJztcbmltcG9ydCB1c2VWYWx1ZVJlZiBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VWYWx1ZVJlZic7XG5cbmVudW0gSW50ZXJhY3RpdmVUeXBlIHtcbiAgTElOSyxcbiAgV0lER0VUXG59XG5cbmNvbnN0IHsgdXNlQXZhdGFyRm9yQm90LCB1c2VMb2NhbGl6ZXIgfSA9IGhvb2tzO1xuXG5jb25zdCBBQ1RJVklUWV9OVU1fQVRUQUNITUVOVFNfQUxUX0lEUyA9IHtcbiAgZmV3OiAnQUNUSVZJVFlfTlVNX0FUVEFDSE1FTlRTX0ZFV19BTFQnLFxuICBtYW55OiAnQUNUSVZJVFlfTlVNX0FUVEFDSE1FTlRTX01BTllfQUxUJyxcbiAgb25lOiAnQUNUSVZJVFlfTlVNX0FUVEFDSE1FTlRTX09ORV9BTFQnLFxuICBvdGhlcjogJ0FDVElWSVRZX05VTV9BVFRBQ0hNRU5UU19PVEhFUl9BTFQnLFxuICB0d286ICdBQ1RJVklUWV9OVU1fQVRUQUNITUVOVFNfVFdPX0FMVCdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUFjdGl2aXR5QWNjZXNzaWJsZU5hbWUoYWN0aXZpdHk6IERpcmVjdExpbmVBY3Rpdml0eSwgYm9keVJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50Pikge1xuICBjb25zdCBbeyBpbml0aWFsczogYm90SW5pdGlhbHMgfV0gPSB1c2VBdmF0YXJGb3JCb3QoKTtcbiAgY29uc3QgW2ludGVyYWN0aXZlVHlwZSwgc2V0SW50ZXJhY3RpdmVUeXBlXSA9IHVzZVN0YXRlPEludGVyYWN0aXZlVHlwZSB8IGZhbHNlPihmYWxzZSk7XG4gIGNvbnN0IGZyb21TZWxmID0gYWN0aXZpdHkuZnJvbT8ucm9sZSA9PT0gJ3VzZXInO1xuICBjb25zdCBsb2NhbGl6ZSA9IHVzZUxvY2FsaXplcigpO1xuICBjb25zdCBsb2NhbGl6ZVdpdGhQbHVyYWwgPSB1c2VMb2NhbGl6ZXIoeyBwbHVyYWw6IHRydWUgfSk7XG4gIGNvbnN0IG51bUF0dGFjaG1lbnRzID0gYWN0aXZpdHkuYXR0YWNobWVudHM/Lmxlbmd0aCB8fCAwO1xuICBjb25zdCByZW5kZXJNYXJrZG93bkFzSFRNTCA9IHVzZVJlbmRlck1hcmtkb3duQXNIVE1MKCk7XG5cbiAgY29uc3QgYWN0aXZpdHlJbnRlcmFjdGl2ZUFsdCA9IGxvY2FsaXplKCdBQ1RJVklUWV9JTlRFUkFDVElWRV9MQUJFTF9BTFQnKTsgLy8gXCJDbGljayB0byBpbnRlcmFjdC5cIlxuICBjb25zdCBhY3Rpdml0eUludGVyYWN0aXZlV2l0aExpbmtBbHQgPSBsb2NhbGl6ZSgnQUNUSVZJVFlfSU5URVJBQ1RJVkVfV0lUSF9MSU5LU19MQUJFTF9BTFQnKTsgLy8gXCJDbGljayB0byBpbnRlcmFjdC5cIlxuICBjb25zdCBncmVldGluZ0FsdCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIChmcm9tU2VsZiA/IGxvY2FsaXplKCdBQ1RJVklUWV9ZT1VfU0FJRF9BTFQnKSA6IGxvY2FsaXplKCdBQ1RJVklUWV9CT1RfU0FJRF9BTFQnLCBib3RJbml0aWFscyB8fCAnJykpLnJlcGxhY2UoXG4gICAgICAgIC9cXHN7Mix9L2d1LFxuICAgICAgICAnICdcbiAgICAgICksXG4gICAgW2JvdEluaXRpYWxzLCBmcm9tU2VsZiwgbG9jYWxpemVdXG4gICk7XG4gIGNvbnN0IGludGVyYWN0aXZlVHlwZVJlZiA9IHVzZVZhbHVlUmVmKGludGVyYWN0aXZlVHlwZSk7XG4gIGNvbnN0IG1lc3NhZ2VUZXh0QWx0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBhY3Rpdml0eUFsdFRleHQoYWN0aXZpdHksIHJlbmRlck1hcmtkb3duQXNIVE1MKSxcbiAgICBbYWN0aXZpdHksIHJlbmRlck1hcmtkb3duQXNIVE1MXVxuICApO1xuICBjb25zdCBudW1BdHRhY2htZW50c0FsdCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKG51bUF0dGFjaG1lbnRzID8gbG9jYWxpemVXaXRoUGx1cmFsKEFDVElWSVRZX05VTV9BVFRBQ0hNRU5UU19BTFRfSURTLCBudW1BdHRhY2htZW50cykgOiAnJyksXG4gICAgW2xvY2FsaXplV2l0aFBsdXJhbCwgbnVtQXR0YWNobWVudHNdXG4gICk7XG5cbiAgY29uc3QgYWNjZXNzaWJsZU5hbWUgPSB1c2VNZW1vKFxuICAgIC8vIFdlIGFyZSBjb25jYXRlbmF0aW5nIGluIGEgc2luZ2xlIHN0cmluZyBmb3IgU2FmYXJpLiBJZiB3ZSBzcGxpdCBpdCB1cCwgU2FmYXJpIHdpbGwgb25seSBuYXJyYXRlIHRoZSBmaXJzdCBzZWN0aW9uLlxuICAgICgpID0+XG4gICAgICBgJHtncmVldGluZ0FsdH0gJHttZXNzYWdlVGV4dEFsdH0gJHtudW1BdHRhY2htZW50c0FsdH0gJHtcbiAgICAgICAgaW50ZXJhY3RpdmVUeXBlID09PSBJbnRlcmFjdGl2ZVR5cGUuTElOS1xuICAgICAgICAgID8gYWN0aXZpdHlJbnRlcmFjdGl2ZVdpdGhMaW5rQWx0XG4gICAgICAgICAgOiBpbnRlcmFjdGl2ZVR5cGUgPT09IEludGVyYWN0aXZlVHlwZS5XSURHRVRcbiAgICAgICAgICA/IGFjdGl2aXR5SW50ZXJhY3RpdmVBbHRcbiAgICAgICAgICA6ICcnXG4gICAgICB9YCxcbiAgICBbXG4gICAgICBhY3Rpdml0eUludGVyYWN0aXZlQWx0LFxuICAgICAgYWN0aXZpdHlJbnRlcmFjdGl2ZVdpdGhMaW5rQWx0LFxuICAgICAgZ3JlZXRpbmdBbHQsXG4gICAgICBpbnRlcmFjdGl2ZVR5cGUsXG4gICAgICBtZXNzYWdlVGV4dEFsdCxcbiAgICAgIG51bUF0dGFjaG1lbnRzQWx0XG4gICAgXVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFzTGlua3MgPSAhIWJvZHlSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvcignYScpO1xuICAgIGNvbnN0IGhhc1dpZGdldHMgPSAhIXRhYmJhYmxlRWxlbWVudHMoYm9keVJlZi5jdXJyZW50KS5sZW5ndGg7XG5cbiAgICBpbnRlcmFjdGl2ZVR5cGVSZWYuY3VycmVudCAhPT0gaGFzV2lkZ2V0cyAmJlxuICAgICAgc2V0SW50ZXJhY3RpdmVUeXBlKGhhc0xpbmtzID8gSW50ZXJhY3RpdmVUeXBlLkxJTksgOiBoYXNXaWRnZXRzID8gSW50ZXJhY3RpdmVUeXBlLldJREdFVCA6IGZhbHNlKTtcbiAgfSwgW2JvZHlSZWYsIGludGVyYWN0aXZlVHlwZVJlZiwgc2V0SW50ZXJhY3RpdmVUeXBlXSk7XG5cbiAgcmV0dXJuIFthY2Nlc3NpYmxlTmFtZV07XG59XG4iXX0=
|
|
@@ -17,9 +17,11 @@ var _Context = _interopRequireDefault(require("./internal/Context"));
|
|
|
17
17
|
|
|
18
18
|
var _useNavigatorPlatform3 = _interopRequireDefault(require("../../hooks/internal/useNavigatorPlatform"));
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
var _excluded = ["children"];
|
|
21
21
|
|
|
22
|
-
function
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
25
|
|
|
24
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
27
|
|
|
@@ -33,7 +35,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
33
35
|
|
|
34
36
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
35
37
|
|
|
36
|
-
function _iterableToArrayLimit(arr, i) {
|
|
38
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
37
39
|
|
|
38
40
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
39
41
|
|
|
@@ -43,7 +45,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
43
45
|
|
|
44
46
|
var Surface = function Surface(_ref) {
|
|
45
47
|
var children = _ref.children,
|
|
46
|
-
otherProps = _objectWithoutProperties(_ref,
|
|
48
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
47
49
|
|
|
48
50
|
var _useNavigatorPlatform = (0, _useNavigatorPlatform3.default)(),
|
|
49
51
|
_useNavigatorPlatform2 = _slicedToArray(_useNavigatorPlatform, 1),
|
|
@@ -92,4 +94,4 @@ Surface.propTypes = {
|
|
|
92
94
|
};
|
|
93
95
|
var _default = Surface;
|
|
94
96
|
exports.default = _default;
|
|
95
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9VdGlscy9BY2Nlc3NLZXlTaW5rL1N1cmZhY2UuanMiXSwibmFtZXMiOlsiU3VyZmFjZSIsImNoaWxkcmVuIiwib3RoZXJQcm9wcyIsImFwcGxlIiwiY29udGV4dFJlZiIsImZvY2lpIiwiaGFuZGxlS2V5VXAiLCJldmVudCIsImFsdEtleSIsImN0cmxLZXkiLCJrZXkiLCJzaGlmdEtleSIsImN1cnJlbnQiLCJmaWx0ZXIiLCJlbnRyeSIsImtleXMiLCJpbmNsdWRlcyIsImN1cnJlbnRGb2N1cyIsImZpbmRJbmRleCIsInJlZiIsImRvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsImNvbnRhaW5zIiwibmV4dEZvY3VzIiwibGVuZ3RoIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJ0YWJiYWJsZSIsImZvY3VzIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYW55Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQU1BLE9BQU8sR0FBRyxTQUFWQSxPQUFVLE9BQWlDO0FBQUEsTUFBOUJDLFFBQThCLFFBQTlCQSxRQUE4QjtBQUFBLE1BQWpCQyxVQUFpQjs7QUFDL0MsOEJBQW9CLHFDQUFwQjtBQUFBO0FBQUEsTUFBU0MsS0FBVCw2QkFBU0EsS0FBVDs7QUFDQSxNQUFNQyxVQUFVLEdBQUcsbUJBQU87QUFBRUMsSUFBQUEsS0FBSyxFQUFFO0FBQVQsR0FBUCxDQUFuQjtBQUVBLE1BQU1DLFdBQVcsR0FBRyx3QkFDbEIsVUFBQUMsS0FBSyxFQUFJO0FBQ1AsUUFBUUMsTUFBUixHQUEyQ0QsS0FBM0MsQ0FBUUMsTUFBUjtBQUFBLFFBQWdCQyxPQUFoQixHQUEyQ0YsS0FBM0MsQ0FBZ0JFLE9BQWhCO0FBQUEsUUFBeUJDLEdBQXpCLEdBQTJDSCxLQUEzQyxDQUF5QkcsR0FBekI7QUFBQSxRQUE4QkMsUUFBOUIsR0FBMkNKLEtBQTNDLENBQThCSSxRQUE5QixDQURPLENBR1A7QUFDQTs7QUFDQSxRQUFJSCxNQUFNLEtBQUtMLEtBQUssR0FBR00sT0FBSCxHQUFhRSxRQUF2QixDQUFWLEVBQTRDO0FBQzFDLFVBQU1OLEtBQUssR0FBR0QsVUFBVSxDQUFDUSxPQUFYLENBQW1CUCxLQUFuQixDQUF5QlEsTUFBekIsQ0FBZ0MsVUFBQUMsS0FBSztBQUFBLGVBQUlBLEtBQUssQ0FBQ0MsSUFBTixDQUFXQyxRQUFYLENBQW9CTixHQUFwQixDQUFKO0FBQUEsT0FBckMsQ0FBZDtBQUVBLFVBQU1PLFlBQVksR0FBR1osS0FBSyxDQUFDYSxTQUFOLENBQ25CO0FBQUEsWUFBVU4sT0FBVixTQUFHTyxHQUFILENBQVVQLE9BQVY7QUFBQSxlQUEwQkEsT0FBTyxLQUFLUSxRQUFRLENBQUNDLGFBQXJCLElBQXNDVCxPQUFPLENBQUNVLFFBQVIsQ0FBaUJGLFFBQVEsQ0FBQ0MsYUFBMUIsQ0FBaEU7QUFBQSxPQURtQixDQUFyQjtBQUdBLFVBQU1FLFNBQVMsR0FBR2xCLEtBQUssQ0FBQyxDQUFDWSxZQUFZLEdBQUcsQ0FBaEIsSUFBcUJaLEtBQUssQ0FBQ21CLE1BQTVCLENBQXZCOztBQUVBLFVBQUlELFNBQUosRUFBZTtBQUNiaEIsUUFBQUEsS0FBSyxDQUFDa0IsY0FBTjtBQUNBbEIsUUFBQUEsS0FBSyxDQUFDbUIsZUFBTjtBQUVBLFlBQU1DLFFBQVEsR0FBRyxxQ0FBOEJKLFNBQVMsQ0FBQ0osR0FBVixDQUFjUCxPQUE1QyxDQUFqQjtBQUVBZSxRQUFBQSxRQUFRLElBQUlBLFFBQVEsQ0FBQ0MsS0FBVCxFQUFaO0FBQ0Q7QUFDRjtBQUNGLEdBdkJpQixFQXdCbEIsQ0FBQ3pCLEtBQUQsQ0F4QmtCLENBQXBCO0FBMkJBLHNCQUNFLDZCQUFDLGdCQUFELENBQXNCLFFBQXRCO0FBQStCLElBQUEsS0FBSyxFQUFFQyxVQUFVLENBQUNRO0FBQWpELGtCQUNFO0FBQUssSUFBQSxPQUFPLEVBQUVOO0FBQWQsS0FBK0JKLFVBQS9CLEdBQ0dELFFBREgsQ0FERixDQURGO0FBT0QsQ0F0Q0Q7O0FBd0NBRCxPQUFPLENBQUM2QixZQUFSLEdBQXVCO0FBQ3JCNUIsRUFBQUEsUUFBUSxFQUFFNkI7QUFEVyxDQUF2QjtBQUlBOUIsT0FBTyxDQUFDK0IsU0FBUixHQUFvQjtBQUNsQjlCLEVBQUFBLFFBQVEsRUFBRStCLG1CQUFVQztBQURGLENBQXBCO2VBSWVqQyxPIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IG9yU2VsZiBhcyBmaXJzdFRhYmJhYmxlRGVzY2VuZGFudE9yU2VsZiB9IGZyb20gJy4uL2ZpcnN0VGFiYmFibGVEZXNjZW5kYW50JztcbmltcG9ydCBBY2Nlc3NLZXlTaW5rQ29udGV4dCBmcm9tICcuL2ludGVybmFsL0NvbnRleHQnO1xuaW1wb3J0IHVzZU5hdmlnYXRvclBsYXRmb3JtIGZyb20gJy4uLy4uL2hvb2tzL2ludGVybmFsL3VzZU5hdmlnYXRvclBsYXRmb3JtJztcblxuY29uc3QgU3VyZmFjZSA9ICh7IGNoaWxkcmVuLCAuLi5vdGhlclByb3BzIH0pID0+IHtcbiAgY29uc3QgW3sgYXBwbGUgfV0gPSB1c2VOYXZpZ2F0b3JQbGF0Zm9ybSgpO1xuICBjb25zdCBjb250ZXh0UmVmID0gdXNlUmVmKHsgZm9jaWk6IFtdIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUtleVVwID0gdXNlQ2FsbGJhY2soXG4gICAgZXZlbnQgPT4ge1xuICAgICAgY29uc3QgeyBhbHRLZXksIGN0cmxLZXksIGtleSwgc2hpZnRLZXkgfSA9IGV2ZW50O1xuXG4gICAgICAvLyBPbiBBcHBsZSwgbW9zdCBtb2Rlcm4gYnJvd3NlcnMgdXNlIENUUkwgKyBPUFRJT04gYXMgbW9kaWZpZXJzLlxuICAgICAgLy8gT3RoZXJ3aXNlLCB3ZSB1c2UgQUxUICsgU0hJRlQgYXMgbW9kaWZpZXJzZS5cbiAgICAgIGlmIChhbHRLZXkgJiYgKGFwcGxlID8gY3RybEtleSA6IHNoaWZ0S2V5KSkge1xuICAgICAgICBjb25zdCBmb2NpaSA9IGNvbnRleHRSZWYuY3VycmVudC5mb2NpaS5maWx0ZXIoZW50cnkgPT4gZW50cnkua2V5cy5pbmNsdWRlcyhrZXkpKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50Rm9jdXMgPSBmb2NpaS5maW5kSW5kZXgoXG4gICAgICAgICAgKHsgcmVmOiB7IGN1cnJlbnQgfSB9KSA9PiBjdXJyZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IHx8IGN1cnJlbnQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbmV4dEZvY3VzID0gZm9jaWlbKGN1cnJlbnRGb2N1cyArIDEpICUgZm9jaWkubGVuZ3RoXTtcblxuICAgICAgICBpZiAobmV4dEZvY3VzKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgIGNvbnN0IHRhYmJhYmxlID0gZmlyc3RUYWJiYWJsZURlc2NlbmRhbnRPclNlbGYobmV4dEZvY3VzLnJlZi5jdXJyZW50KTtcblxuICAgICAgICAgIHRhYmJhYmxlICYmIHRhYmJhYmxlLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFthcHBsZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxBY2Nlc3NLZXlTaW5rQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFJlZi5jdXJyZW50fT5cbiAgICAgIDxkaXYgb25LZXlVcD17aGFuZGxlS2V5VXB9IHsuLi5vdGhlclByb3BzfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgPC9BY2Nlc3NLZXlTaW5rQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cblN1cmZhY2UuZGVmYXVsdFByb3BzID0ge1xuICBjaGlsZHJlbjogdW5kZWZpbmVkXG59O1xuXG5TdXJmYWNlLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnlcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFN1cmZhY2U7XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { MouseEventHandler, ReactNode } from 'react';
|
|
2
|
+
declare const AccessibleButton: React.ForwardRefExoticComponent<{
|
|
3
|
+
'aria-hidden'?: boolean;
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
onClick?: MouseEventHandler<HTMLButtonElement>;
|
|
7
|
+
tabIndex?: number;
|
|
8
|
+
type: 'button';
|
|
9
|
+
} & React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
export default AccessibleButton;
|
|
11
|
+
//# sourceMappingURL=AccessibleButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccessibleButton.d.ts","sourceRoot":"","sources":["../../src/Utils/AccessibleButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAc,iBAAiB,EAAE,SAAS,EAAU,MAAM,OAAO,CAAC;AA+BhF,QAAA,MAAM,gBAAgB;oBA1BJ,OAAO;eACZ,SAAS;eACT,OAAO;cACR,kBAAkB,iBAAiB,CAAC;eACnC,MAAM;UACX,QAAQ;2FAyCf,CAAC;AAuBF,eAAe,gBAAgB,CAAC"}
|
|
@@ -11,9 +11,11 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
var _excluded = ["aria-hidden", "children", "disabled", "onClick", "tabIndex"];
|
|
15
15
|
|
|
16
|
-
function
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
19
|
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
|
|
@@ -25,7 +27,9 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
25
27
|
|
|
26
28
|
var PREVENT_DEFAULT_HANDLER = function PREVENT_DEFAULT_HANDLER(event) {
|
|
27
29
|
return event.preventDefault();
|
|
28
|
-
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
// Differences between <button> and <AccessibleButton>:
|
|
29
33
|
// - Disable behavior
|
|
30
34
|
// - When the widget is disabled
|
|
31
35
|
// - Set "aria-disabled" attribute to "true"
|
|
@@ -41,14 +45,13 @@ var PREVENT_DEFAULT_HANDLER = function PREVENT_DEFAULT_HANDLER(event) {
|
|
|
41
45
|
// - Modify all code that check disabled through "disabled" attribute to use aria-disabled="true" instead
|
|
42
46
|
// - aria-disabled="true" is the source of truth
|
|
43
47
|
// - If the widget is contained by a <form>, the developer need to filter out some `onSubmit` event caused by this widget
|
|
44
|
-
|
|
45
|
-
|
|
46
48
|
var AccessibleButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwardedRef) {
|
|
47
49
|
var ariaHidden = _ref['aria-hidden'],
|
|
50
|
+
children = _ref.children,
|
|
48
51
|
disabled = _ref.disabled,
|
|
49
52
|
onClick = _ref.onClick,
|
|
50
53
|
tabIndex = _ref.tabIndex,
|
|
51
|
-
props = _objectWithoutProperties(_ref,
|
|
54
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
52
55
|
|
|
53
56
|
var targetRef = (0, _react.useRef)();
|
|
54
57
|
var ref = forwardedRef || targetRef;
|
|
@@ -60,10 +63,11 @@ var AccessibleButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwa
|
|
|
60
63
|
tabIndex: disabled ? -1 : tabIndex
|
|
61
64
|
}, props, {
|
|
62
65
|
type: "button"
|
|
63
|
-
}));
|
|
66
|
+
}), children);
|
|
64
67
|
});
|
|
65
68
|
AccessibleButton.defaultProps = {
|
|
66
69
|
'aria-hidden': undefined,
|
|
70
|
+
children: undefined,
|
|
67
71
|
disabled: undefined,
|
|
68
72
|
onClick: undefined,
|
|
69
73
|
tabIndex: undefined
|
|
@@ -71,11 +75,14 @@ AccessibleButton.defaultProps = {
|
|
|
71
75
|
AccessibleButton.displayName = 'AccessibleButton';
|
|
72
76
|
AccessibleButton.propTypes = {
|
|
73
77
|
'aria-hidden': _propTypes.default.bool,
|
|
78
|
+
children: _propTypes.default.any,
|
|
74
79
|
disabled: _propTypes.default.bool,
|
|
75
80
|
onClick: _propTypes.default.func,
|
|
76
81
|
tabIndex: _propTypes.default.number,
|
|
82
|
+
// TypeScript class is not mappable to PropTypes.oneOf(['button'])
|
|
83
|
+
// @ts-ignore
|
|
77
84
|
type: _propTypes.default.oneOf(['button']).isRequired
|
|
78
85
|
};
|
|
79
86
|
var _default = AccessibleButton;
|
|
80
87
|
exports.default = _default;
|
|
81
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9VdGlscy9BY2Nlc3NpYmxlQnV0dG9uLnRzeCJdLCJuYW1lcyI6WyJQUkVWRU5UX0RFRkFVTFRfSEFORExFUiIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJBY2Nlc3NpYmxlQnV0dG9uIiwiZm9yd2FyZGVkUmVmIiwiYXJpYUhpZGRlbiIsImNoaWxkcmVuIiwiZGlzYWJsZWQiLCJvbkNsaWNrIiwidGFiSW5kZXgiLCJwcm9wcyIsInRhcmdldFJlZiIsInJlZiIsInVuZGVmaW5lZCIsImRlZmF1bHRQcm9wcyIsImRpc3BsYXlOYW1lIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYm9vbCIsImFueSIsImZ1bmMiLCJudW1iZXIiLCJ0eXBlIiwib25lT2YiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQU1BLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBMEIsQ0FBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsY0FBTixFQUFKO0FBQUEsQ0FBckM7O0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFNQyxnQkFBZ0IsZ0JBQUcsdUJBQ3ZCLGdCQUFpRkMsWUFBakYsRUFBa0c7QUFBQSxNQUFoRkMsVUFBZ0YsUUFBL0YsYUFBK0Y7QUFBQSxNQUFwRUMsUUFBb0UsUUFBcEVBLFFBQW9FO0FBQUEsTUFBMURDLFFBQTBELFFBQTFEQSxRQUEwRDtBQUFBLE1BQWhEQyxPQUFnRCxRQUFoREEsT0FBZ0Q7QUFBQSxNQUF2Q0MsUUFBdUMsUUFBdkNBLFFBQXVDO0FBQUEsTUFBMUJDLEtBQTBCOztBQUNoRyxNQUFNQyxTQUFTLEdBQUcsb0JBQWxCO0FBRUEsTUFBTUMsR0FBRyxHQUFHUixZQUFZLElBQUlPLFNBQTVCO0FBRUEsc0JBQ0U7QUFDRSxxQkFBZUosUUFBUSxJQUFJTSxTQUQ3QjtBQUVFLG1CQUFhUixVQUZmO0FBR0UsSUFBQSxPQUFPLEVBQUVFLFFBQVEsR0FBR1AsdUJBQUgsR0FBNkJRLE9BSGhEO0FBSUUsSUFBQSxHQUFHLEVBQUVJLEdBSlA7QUFLRSxJQUFBLFFBQVEsRUFBRUwsUUFBUSxHQUFHLENBQUMsQ0FBSixHQUFRRTtBQUw1QixLQU1NQyxLQU5OO0FBT0UsSUFBQSxJQUFJLEVBQUM7QUFQUCxNQVNHSixRQVRILENBREY7QUFhRCxDQW5Cc0IsQ0FBekI7QUFzQkFILGdCQUFnQixDQUFDVyxZQUFqQixHQUFnQztBQUM5QixpQkFBZUQsU0FEZTtBQUU5QlAsRUFBQUEsUUFBUSxFQUFFTyxTQUZvQjtBQUc5Qk4sRUFBQUEsUUFBUSxFQUFFTSxTQUhvQjtBQUk5QkwsRUFBQUEsT0FBTyxFQUFFSyxTQUpxQjtBQUs5QkosRUFBQUEsUUFBUSxFQUFFSTtBQUxvQixDQUFoQztBQVFBVixnQkFBZ0IsQ0FBQ1ksV0FBakIsR0FBK0Isa0JBQS9CO0FBRUFaLGdCQUFnQixDQUFDYSxTQUFqQixHQUE2QjtBQUMzQixpQkFBZUMsbUJBQVVDLElBREU7QUFFM0JaLEVBQUFBLFFBQVEsRUFBRVcsbUJBQVVFLEdBRk87QUFHM0JaLEVBQUFBLFFBQVEsRUFBRVUsbUJBQVVDLElBSE87QUFJM0JWLEVBQUFBLE9BQU8sRUFBRVMsbUJBQVVHLElBSlE7QUFLM0JYLEVBQUFBLFFBQVEsRUFBRVEsbUJBQVVJLE1BTE87QUFNM0I7QUFDQTtBQUNBQyxFQUFBQSxJQUFJLEVBQUVMLG1CQUFVTSxLQUFWLENBQWdCLENBQUMsUUFBRCxDQUFoQixFQUE0QkM7QUFSUCxDQUE3QjtlQVdlckIsZ0IiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJlcnJvclwiLCB7IFwiaWdub3JlXCI6IFstMV0gfV0gKi9cblxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBmb3J3YXJkUmVmLCBNb3VzZUV2ZW50SGFuZGxlciwgUmVhY3ROb2RlLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IFBSRVZFTlRfREVGQVVMVF9IQU5ETEVSID0gZXZlbnQgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxudHlwZSBBY2Nlc3NpYmxlQnV0dG9uUHJvcHMgPSB7XG4gICdhcmlhLWhpZGRlbic/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICB0YWJJbmRleD86IG51bWJlcjtcbiAgdHlwZTogJ2J1dHRvbic7XG59ICYgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4vLyBEaWZmZXJlbmNlcyBiZXR3ZWVuIDxidXR0b24+IGFuZCA8QWNjZXNzaWJsZUJ1dHRvbj46XG4vLyAtIERpc2FibGUgYmVoYXZpb3Jcbi8vICAgLSBXaGVuIHRoZSB3aWRnZXQgaXMgZGlzYWJsZWRcbi8vICAgICAtIFNldCBcImFyaWEtZGlzYWJsZWRcIiBhdHRyaWJ1dGUgdG8gXCJ0cnVlXCJcbi8vICAgICAtIFNldCBcInJlYWRvbmx5XCIgYXR0cmlidXRlXG4vLyAgICAgLSBTZXQgXCJ0YWJJbmRleFwiIHRvIC0xXG4vLyAgICAgLSBSZW1vdmUgXCJvbkNsaWNrXCIgaGFuZGxlclxuLy8gICAtIFdoeSB0aGlzIGlzIG5lZWRlZFxuLy8gICAgIC0gQnJvd3NlciBjb21wYXRpYmlsaXR5OiB3aGVuIHRoZSB3aWRnZXQgaXMgZGlzYWJsZWQsIGRpZmZlcmVudCBicm93c2VyIHNlbmQgZm9jdXMgdG8gZGlmZmVyZW50IHBsYWNlc1xuLy8gICAgIC0gV2hlbiB0aGUgd2lkZ2V0IGJlY29tZSBkaXNhYmxlZCwgaXQncyByZWFzb25hYmxlIHRvIGtlZXAgdGhlIGZvY3VzIG9uIHRoZSBzYW1lIHdpZGdldCBmb3IgYW4gZXh0ZW5kZWQgcGVyaW9kIG9mIHRpbWVcbi8vICAgICAgIC0gV2hlbiB0aGUgdXNlciBwcmVzc2VzIFRBQiBhZnRlciB0aGUgY3VycmVudCB3aWRnZXQgaXMgZGlzYWJsZWQsIGl0IHNob3VsZCBqdW1wIHRvIHRoZSBuZXh0IG5vbi1kaXNhYmxlZCB3aWRnZXRcblxuLy8gRGV2ZWxvcGVycyB1c2luZyB0aGlzIGFjY2Vzc2libGUgd2lkZ2V0IHdpbGwgbmVlZCB0bzpcbi8vIC0gU3R5bGUgdGhlIGRpc2FibGVkIHdpZGdldCB0aGVtc2VsdmVzLCB1c2luZyBDU1MgcXVlcnkgYDpkaXNhYmxlZCwgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHt9YFxuLy8gLSBNb2RpZnkgYWxsIGNvZGUgdGhhdCBjaGVjayBkaXNhYmxlZCB0aHJvdWdoIFwiZGlzYWJsZWRcIiBhdHRyaWJ1dGUgdG8gdXNlIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCIgaW5zdGVhZFxuLy8gICAtIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCIgaXMgdGhlIHNvdXJjZSBvZiB0cnV0aFxuLy8gLSBJZiB0aGUgd2lkZ2V0IGlzIGNvbnRhaW5lZCBieSBhIDxmb3JtPiwgdGhlIGRldmVsb3BlciBuZWVkIHRvIGZpbHRlciBvdXQgc29tZSBgb25TdWJtaXRgIGV2ZW50IGNhdXNlZCBieSB0aGlzIHdpZGdldFxuXG5jb25zdCBBY2Nlc3NpYmxlQnV0dG9uID0gZm9yd2FyZFJlZjxIVE1MQnV0dG9uRWxlbWVudCwgQWNjZXNzaWJsZUJ1dHRvblByb3BzPihcbiAgKHsgJ2FyaWEtaGlkZGVuJzogYXJpYUhpZGRlbiwgY2hpbGRyZW4sIGRpc2FibGVkLCBvbkNsaWNrLCB0YWJJbmRleCwgLi4ucHJvcHMgfSwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0UmVmID0gdXNlUmVmKCk7XG5cbiAgICBjb25zdCByZWYgPSBmb3J3YXJkZWRSZWYgfHwgdGFyZ2V0UmVmO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxidXR0b25cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17ZGlzYWJsZWQgfHwgdW5kZWZpbmVkfVxuICAgICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgICAgb25DbGljaz17ZGlzYWJsZWQgPyBQUkVWRU5UX0RFRkFVTFRfSEFORExFUiA6IG9uQ2xpY2t9XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICB0YWJJbmRleD17ZGlzYWJsZWQgPyAtMSA6IHRhYkluZGV4fVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2J1dHRvbj5cbiAgICApO1xuICB9XG4pO1xuXG5BY2Nlc3NpYmxlQnV0dG9uLmRlZmF1bHRQcm9wcyA9IHtcbiAgJ2FyaWEtaGlkZGVuJzogdW5kZWZpbmVkLFxuICBjaGlsZHJlbjogdW5kZWZpbmVkLFxuICBkaXNhYmxlZDogdW5kZWZpbmVkLFxuICBvbkNsaWNrOiB1bmRlZmluZWQsXG4gIHRhYkluZGV4OiB1bmRlZmluZWRcbn07XG5cbkFjY2Vzc2libGVCdXR0b24uZGlzcGxheU5hbWUgPSAnQWNjZXNzaWJsZUJ1dHRvbic7XG5cbkFjY2Vzc2libGVCdXR0b24ucHJvcFR5cGVzID0ge1xuICAnYXJpYS1oaWRkZW4nOiBQcm9wVHlwZXMuYm9vbCxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gIHRhYkluZGV4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAvLyBUeXBlU2NyaXB0IGNsYXNzIGlzIG5vdCBtYXBwYWJsZSB0byBQcm9wVHlwZXMub25lT2YoWydidXR0b24nXSlcbiAgLy8gQHRzLWlnbm9yZVxuICB0eXBlOiBQcm9wVHlwZXMub25lT2YoWydidXR0b24nXSkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQWNjZXNzaWJsZUJ1dHRvbjtcbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React, { ChangeEventHandler, FocusEventHandler, KeyboardEventHandler, ReactEventHandler } from 'react';
|
|
2
|
+
declare type AccessibleInputTextProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
enterKeyHint?: string;
|
|
6
|
+
inputMode?: 'text' | 'none' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
|
|
7
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
8
|
+
onFocus?: FocusEventHandler<HTMLInputElement>;
|
|
9
|
+
onKeyDown?: KeyboardEventHandler<HTMLInputElement>;
|
|
10
|
+
onKeyDownCapture?: KeyboardEventHandler<HTMLInputElement>;
|
|
11
|
+
onKeyPress?: KeyboardEventHandler<HTMLInputElement>;
|
|
12
|
+
onSelect?: ReactEventHandler<HTMLInputElement>;
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
readOnly?: boolean;
|
|
15
|
+
tabIndex?: number;
|
|
16
|
+
type: 'text';
|
|
17
|
+
value?: string;
|
|
18
|
+
};
|
|
19
|
+
declare const AccessibleInputText: React.ForwardRefExoticComponent<AccessibleInputTextProps & React.RefAttributes<HTMLInputElement>>;
|
|
20
|
+
export default AccessibleInputText;
|
|
21
|
+
//# sourceMappingURL=AccessibleInputText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccessibleInputText.d.ts","sourceRoot":"","sources":["../../src/Utils/AccessibleInputText.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EACZ,kBAAkB,EAClB,iBAAiB,EAEjB,oBAAoB,EACpB,iBAAiB,EAElB,MAAM,OAAO,CAAC;AAsBf,aAAK,wBAAwB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzF,QAAQ,CAAC,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,UAAU,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,QAAA,MAAM,mBAAmB,mGA8CxB,CAAC;AAwCF,eAAe,mBAAmB,CAAC"}
|