botframework-webchat-component 4.14.1 → 4.15.2-main.20220413.af6e8a3
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 -106
- package/.prettierrc.yml +1 -1
- package/lib/Activity/CarouselFilmStrip.js +1 -1
- package/lib/Activity/CarouselFilmStripAttachment.js +1 -1
- package/lib/Activity/CarouselLayout.js +3 -3
- package/lib/Activity/Speak.d.ts +2 -2
- package/lib/Activity/Speak.d.ts.map +1 -1
- package/lib/Activity/Speak.js +15 -8
- package/lib/Activity/StackedLayout.d.ts +5 -3
- package/lib/Activity/StackedLayout.d.ts.map +1 -1
- package/lib/Activity/StackedLayout.js +16 -21
- package/lib/Attachment/FileAttachment.js +2 -2
- package/lib/Attachment/FileContent.d.ts.map +1 -1
- package/lib/Attachment/FileContent.js +11 -1
- package/lib/BasicSendBox.d.ts.map +1 -1
- package/lib/BasicSendBox.js +8 -9
- package/lib/BasicToast.js +1 -1
- package/lib/BasicToaster.js +6 -3
- package/lib/BasicTranscript.d.ts +7 -0
- package/lib/BasicTranscript.d.ts.map +1 -0
- package/lib/BasicTranscript.js +386 -728
- package/lib/BasicTypingIndicator.d.ts +2 -1
- package/lib/BasicTypingIndicator.d.ts.map +1 -1
- package/lib/BasicTypingIndicator.js +12 -4
- package/lib/Composer.d.ts.map +1 -1
- package/lib/Composer.js +37 -32
- package/lib/ConnectivityStatus/Connecting.js +1 -1
- package/lib/Dictation.js +1 -1
- package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -1
- package/lib/Middleware/Activity/createCoreMiddleware.js +9 -12
- package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +1 -1
- package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts +2 -2
- package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -1
- package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +5 -4
- package/lib/Middleware/ActivityStatus/Timestamp.d.ts +2 -2
- package/lib/Middleware/ActivityStatus/Timestamp.d.ts.map +1 -1
- package/lib/Middleware/ActivityStatus/Timestamp.js +4 -2
- package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +20 -17
- package/lib/Middleware/Attachment/createCoreMiddleware.js +2 -5
- package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -1
- package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +1 -1
- package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -1
- package/lib/Middleware/Avatar/createCoreMiddleware.js +2 -3
- package/lib/Middleware/CardAction/createCoreMiddleware.js +10 -3
- package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -1
- package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +1 -1
- package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -1
- package/lib/Middleware/Toast/createCoreMiddleware.js +1 -1
- package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -1
- package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +8 -6
- package/lib/ReactWebChat.js +2 -2
- package/lib/ScreenReaderActivity.js +15 -6
- package/lib/ScreenReaderText.d.ts +9 -0
- package/lib/ScreenReaderText.d.ts.map +1 -0
- package/lib/ScreenReaderText.js +22 -8
- package/lib/SendBox/AutoResizeTextArea.js +1 -1
- package/lib/SendBox/DictationInterims.js +1 -1
- package/lib/SendBox/IconButton.d.ts +11 -0
- package/lib/SendBox/IconButton.d.ts.map +1 -0
- package/lib/SendBox/IconButton.js +26 -6
- package/lib/SendBox/MicrophoneButton.js +2 -2
- package/lib/SendBox/SendButton.js +2 -2
- package/lib/SendBox/SuggestedAction.d.ts +17 -0
- package/lib/SendBox/SuggestedAction.d.ts.map +1 -0
- package/lib/SendBox/SuggestedAction.js +26 -17
- package/lib/SendBox/SuggestedActions.d.ts.map +1 -1
- package/lib/SendBox/SuggestedActions.js +26 -9
- package/lib/SendBox/TextBox.js +4 -4
- package/lib/SendBox/UploadButton.js +4 -4
- package/lib/Styles/StyleSet/BasicTranscript.d.ts +13 -5
- package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -1
- package/lib/Styles/StyleSet/BasicTranscript.js +21 -9
- package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -1
- package/lib/Styles/StyleSet/Bubble.js +3 -3
- package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -1
- package/lib/Styles/StyleSet/CarouselFilmStrip.js +3 -3
- package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -1
- package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +3 -3
- 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/ScrollToEndButton.d.ts +1 -1
- package/lib/Styles/StyleSet/ScrollToEndButton.js +2 -2
- package/lib/Styles/StyleSet/SendBoxButton.d.ts +56 -10
- package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -1
- package/lib/Styles/StyleSet/SendBoxButton.js +76 -12
- package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +1 -1
- package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -1
- package/lib/Styles/StyleSet/SendBoxTextBox.js +3 -3
- package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -1
- package/lib/Styles/StyleSet/StackedLayout.js +1 -1
- package/lib/Styles/StyleSet/SuggestedAction.d.ts +73 -28
- package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -1
- package/lib/Styles/StyleSet/SuggestedAction.js +116 -41
- package/lib/Styles/StyleSet/SuggestedActions.d.ts +13 -6
- package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -1
- package/lib/Styles/StyleSet/SuggestedActions.js +13 -6
- package/lib/Styles/createStyleSet.d.ts +324 -55
- package/lib/Styles/createStyleSet.d.ts.map +1 -1
- package/lib/Styles/createStyleSet.js +6 -3
- package/lib/Styles/mirrorStyle.js +12 -3
- package/lib/Toast/NotificationIcon.js +7 -3
- package/lib/Toast/createToastMiddleware.d.ts.map +1 -1
- package/lib/Toast/createToastMiddleware.js +1 -1
- package/lib/Transcript/ActivityRow.d.ts +9 -0
- package/lib/Transcript/ActivityRow.d.ts.map +1 -0
- package/lib/Transcript/ActivityRow.js +159 -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 +229 -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/Transcript/useTypistNames.d.ts +3 -0
- package/lib/Transcript/useTypistNames.d.ts.map +1 -0
- package/lib/Transcript/useTypistNames.js +61 -0
- package/lib/Utils/AccessKeySink/Surface.js +1 -1
- package/lib/Utils/AccessibleButton.d.ts +11 -0
- package/lib/Utils/AccessibleButton.d.ts.map +1 -0
- package/lib/Utils/AccessibleButton.js +12 -7
- package/lib/Utils/AccessibleInputText.js +1 -1
- package/lib/Utils/AccessibleTextArea.js +1 -1
- package/lib/Utils/CroppedImage.js +1 -1
- package/lib/Utils/FocusRedirector.d.ts +9 -0
- package/lib/Utils/FocusRedirector.d.ts.map +1 -0
- package/lib/Utils/FocusRedirector.js +17 -14
- package/lib/Utils/InlineMarkdown.js +15 -8
- package/lib/Utils/TypeFocusSink/FocusBox.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/activityAltText.d.ts +8 -0
- package/lib/Utils/activityAltText.d.ts.map +1 -0
- package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +2 -2
- package/lib/Utils/createCustomEvent.js +8 -2
- package/lib/Utils/detectBrowser.js +4 -2
- package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +1 -1
- package/lib/Utils/downscaleImageToDataURL/index.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 +9 -2
- package/lib/Utils/readDataURIToBlob.js +1 -1
- 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/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 +15 -7
- package/lib/hooks/index.js +24 -24
- package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +8 -7
- 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/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/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 +11 -2
- 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/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/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/useFocus.d.ts +1 -1
- package/lib/hooks/useFocus.d.ts.map +1 -1
- package/lib/hooks/useFocus.js +1 -1
- package/lib/hooks/useObserveTranscriptFocus.d.ts +2 -2
- package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -1
- package/lib/hooks/useObserveTranscriptFocus.js +1 -1
- package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -1
- package/lib/hooks/useRenderMarkdownAsHTML.js +1 -1
- package/lib/hooks/useScrollTo.d.ts.map +1 -1
- package/lib/hooks/useScrollTo.js +1 -1
- package/lib/hooks/useScrollToEnd.d.ts.map +1 -1
- package/lib/hooks/useScrollToEnd.js +1 -1
- package/lib/hooks/useSendFiles.d.ts.map +1 -1
- package/lib/hooks/useSendFiles.js +4 -4
- package/lib/index.d.ts +13 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +20 -18
- 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 +37 -0
- package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +160 -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 +12 -0
- package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -0
- package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +100 -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/package.json +30 -33
- package/src/Activity/CarouselFilmStripAttachment.js +0 -1
- package/src/Activity/Speak.tsx +21 -18
- package/src/Activity/StackedLayout.tsx +30 -35
- package/src/Attachment/FileAttachment.js +1 -1
- package/src/Attachment/FileContent.tsx +12 -0
- package/src/BasicSendBox.tsx +3 -2
- package/src/BasicToaster.js +5 -1
- package/src/BasicTranscript.tsx +894 -0
- package/src/BasicTypingIndicator.tsx +3 -2
- package/src/Composer.tsx +41 -29
- package/src/Middleware/Activity/createCoreMiddleware.tsx +47 -46
- package/src/Middleware/ActivityStatus/SendStatus/SendStatus.tsx +5 -3
- package/src/Middleware/ActivityStatus/Timestamp.tsx +5 -3
- package/src/Middleware/ActivityStatus/createSendStatusMiddleware.js +2 -0
- package/src/Middleware/Attachment/createCoreMiddleware.tsx +28 -28
- package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx +25 -23
- package/src/Middleware/Avatar/createCoreMiddleware.tsx +9 -8
- package/src/Middleware/CardAction/createCoreMiddleware.js +9 -2
- package/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts +11 -9
- package/src/Middleware/Toast/createCoreMiddleware.tsx +12 -10
- package/src/Middleware/TypingIndicator/createCoreMiddleware.tsx +8 -2
- package/src/ScreenReaderActivity.js +18 -3
- package/src/{ScreenReaderText.js → ScreenReaderText.tsx} +27 -9
- package/src/SendBox/{IconButton.js → IconButton.tsx} +19 -3
- package/src/SendBox/{SuggestedAction.js → SuggestedAction.tsx} +72 -35
- package/src/SendBox/SuggestedActions.tsx +48 -21
- package/src/Styles/StyleSet/BasicTranscript.ts +34 -20
- package/src/Styles/StyleSet/Bubble.ts +0 -1
- package/src/Styles/StyleSet/CarouselFilmStrip.ts +12 -10
- package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +4 -3
- package/src/Styles/StyleSet/KeyboardHelp.ts +157 -0
- package/src/Styles/StyleSet/ScrollToEndButton.ts +1 -1
- 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 +129 -42
- package/src/Styles/StyleSet/SuggestedActions.ts +13 -5
- package/src/Styles/createStyleSet.ts +2 -1
- package/src/Styles/mirrorStyle.js +10 -2
- package/src/Toast/NotificationIcon.js +4 -1
- package/src/Toast/createToastMiddleware.tsx +4 -1
- package/src/Transcript/ActivityRow.tsx +123 -0
- package/src/Transcript/ActivityTextAlt.tsx +31 -0
- package/src/Transcript/FocusTrap.tsx +64 -0
- package/src/Transcript/KeyboardHelp.tsx +282 -0
- package/src/Transcript/LiveRegionTranscript.tsx +196 -0
- package/src/Transcript/types.ts +1 -0
- package/src/Transcript/useActivityAccessibleName.ts +84 -0
- package/src/Transcript/useTypistNames.ts +37 -0
- package/src/Utils/{AccessibleButton.js → AccessibleButton.tsx} +19 -4
- package/src/Utils/{FocusRedirector.js → FocusRedirector.tsx} +21 -8
- package/src/Utils/InlineMarkdown.js +18 -2
- package/src/Utils/TypeFocusSink/inputtableKey.ts +5 -1
- 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.ts +14 -0
- package/src/Utils/isZeroOrPositive.ts +7 -0
- package/src/Utils/mapMap.js +7 -1
- package/src/Utils/scrollIntoViewWithBlockNearest.ts +20 -0
- package/src/Utils/shallowEquals.js +8 -1
- package/src/Utils/supportPseudoClass.ts +17 -0
- package/src/Utils/{tabbableElements.js → tabbableElements.ts} +6 -5
- package/src/connectToWebChat.js +11 -4
- package/src/hooks/internal/BypassSpeechSynthesisPonyfill.js +3 -1
- 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 +1 -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/useStateRef.ts +31 -0
- package/src/hooks/internal/useValueRef.ts +22 -0
- package/src/hooks/useFocus.ts +1 -1
- package/src/hooks/useObserveTranscriptFocus.ts +2 -2
- package/src/hooks/useRenderMarkdownAsHTML.ts +4 -5
- package/src/hooks/useScrollTo.ts +4 -3
- package/src/hooks/useScrollToEnd.ts +4 -3
- package/src/hooks/useSendFiles.ts +7 -5
- package/src/index.ts +0 -1
- 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 +64 -0
- package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +135 -0
- package/src/providers/ActivityTree/private/useContext.ts +15 -0
- package/src/providers/ActivityTree/useActivityTreeWithRenderer.ts +16 -0
- package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +161 -0
- package/src/providers/LiveRegionTwin/private/Context.ts +15 -0
- package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +80 -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/.eslintignore +0 -1
- package/lib/Middleware/GroupActivities/createCoreMiddleware.js +0 -69
- package/lib/Utils/findLastIndex.js +0 -32
- package/lib/hooks/internal/useAcknowledgedActivity.js +0 -90
- package/lib/hooks/internal/useDispatchTranscriptFocus.js +0 -19
- package/src/BasicTranscript.js +0 -1139
- package/src/Middleware/GroupActivities/createCoreMiddleware.js +0 -57
- package/src/Utils/findLastIndex.js +0 -11
- package/src/Utils/findLastIndex.spec.js +0 -31
- package/src/Utils/getActivityUniqueId.js +0 -3
- package/src/Utils/intersectionOf.js +0 -11
- package/src/Utils/isZeroOrPositive.js +0 -4
- 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
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = mirrorStyle;
|
|
7
7
|
|
|
8
|
+
var _botframeworkWebchatCore = require("botframework-webchat-core");
|
|
9
|
+
|
|
8
10
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
11
|
|
|
10
12
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
@@ -33,8 +35,15 @@ function mirrorStyle(mirrorSelector, styles) {
|
|
|
33
35
|
var patchedKey = key.replace(/(^left|^right|Left|Right)/, function (match) {
|
|
34
36
|
return match === 'Left' ? 'Right' : match === 'left' ? 'right' : match === 'Right' ? 'Left' : 'left';
|
|
35
37
|
});
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
|
|
39
|
+
if (!(0, _botframeworkWebchatCore.isForbiddenPropertyName)(patchedKey)) {
|
|
40
|
+
// Mitigated through denylisting.
|
|
41
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
42
|
+
mirrored[patchedKey] = value;
|
|
43
|
+
}
|
|
44
|
+
} else if (!(0, _botframeworkWebchatCore.isForbiddenPropertyName)(key)) {
|
|
45
|
+
// Mitigated through denylisting.
|
|
46
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
38
47
|
mirrored[key] = mirrorStyle('', value);
|
|
39
48
|
}
|
|
40
49
|
}
|
|
@@ -42,4 +51,4 @@ function mirrorStyle(mirrorSelector, styles) {
|
|
|
42
51
|
var relative = /^&[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*/g.exec(mirrorSelector) || '';
|
|
43
52
|
return mirrorSelector ? (_ref = {}, _defineProperty(_ref, "".concat(relative, ":not(").concat(mirrorSelector.substr(relative.length), ")"), styles), _defineProperty(_ref, mirrorSelector, mirrored), _ref) : mirrored;
|
|
44
53
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdHlsZXMvbWlycm9yU3R5bGUuanMiXSwibmFtZXMiOlsibWlycm9yU3R5bGUiLCJtaXJyb3JTZWxlY3RvciIsInN0eWxlcyIsIm1pcnJvcmVkIiwiT2JqZWN0IiwiZW50cmllcyIsImtleSIsInZhbHVlIiwicGF0Y2hlZEtleSIsInJlcGxhY2UiLCJtYXRjaCIsInJlbGF0aXZlIiwiZXhlYyIsInN1YnN0ciIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0FBRWUsU0FBU0EsV0FBVCxDQUFxQkMsY0FBckIsRUFBcUNDLE1BQXJDLEVBQTZDO0FBQUE7O0FBQzFELE1BQU1DLFFBQVEsR0FBRyxFQUFqQjs7QUFFQSxxQ0FBMkJDLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlSCxNQUFmLENBQTNCLHFDQUFtRDtBQUE5QztBQUFBLFFBQU9JLEdBQVA7QUFBQSxRQUFZQyxLQUFaOztBQUNILFFBQUksT0FBT0EsS0FBUCxLQUFpQixRQUFqQixJQUE2QixPQUFPQSxLQUFQLEtBQWlCLFFBQWxELEVBQTREO0FBQzFELFVBQU1DLFVBQVUsR0FBR0YsR0FBRyxDQUFDRyxPQUFKLENBQVksMkJBQVosRUFBMEMsVUFBQUMsS0FBSztBQUFBLGVBQ2hFQSxLQUFLLEtBQUssTUFBVixHQUFtQixPQUFuQixHQUE2QkEsS0FBSyxLQUFLLE1BQVYsR0FBbUIsT0FBbkIsR0FBNkJBLEtBQUssS0FBSyxPQUFWLEdBQW9CLE1BQXBCLEdBQTZCLE1BRHZCO0FBQUEsT0FBL0MsQ0FBbkI7O0FBSUEsVUFBSSxDQUFDLHNEQUF3QkYsVUFBeEIsQ0FBTCxFQUEwQztBQUN4QztBQUNBO0FBQ0FMLFFBQUFBLFFBQVEsQ0FBQ0ssVUFBRCxDQUFSLEdBQXVCRCxLQUF2QjtBQUNEO0FBQ0YsS0FWRCxNQVVPLElBQUksQ0FBQyxzREFBd0JELEdBQXhCLENBQUwsRUFBbUM7QUFDeEM7QUFDQTtBQUNBSCxNQUFBQSxRQUFRLENBQUNHLEdBQUQsQ0FBUixHQUFnQk4sV0FBVyxDQUFDLEVBQUQsRUFBS08sS0FBTCxDQUEzQjtBQUNEO0FBQ0Y7O0FBRUQsTUFBTUksUUFBUSxHQUFHLDBFQUFVQyxJQUFWLENBQWVYLGNBQWYsS0FBa0MsRUFBbkQ7QUFFQSxTQUFPQSxjQUFjLCtDQUVYVSxRQUZXLGtCQUVLVixjQUFjLENBQUNZLE1BQWYsQ0FBc0JGLFFBQVEsQ0FBQ0csTUFBL0IsQ0FGTCxRQUVpRFosTUFGakQseUJBR2RELGNBSGMsRUFHR0UsUUFISCxXQUtqQkEsUUFMSjtBQU1EIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0ZvcmJpZGRlblByb3BlcnR5TmFtZSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtaXJyb3JTdHlsZShtaXJyb3JTZWxlY3Rvciwgc3R5bGVzKSB7XG4gIGNvbnN0IG1pcnJvcmVkID0ge307XG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc3R5bGVzKSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHBhdGNoZWRLZXkgPSBrZXkucmVwbGFjZSgvKF5sZWZ0fF5yaWdodHxMZWZ0fFJpZ2h0KS91LCBtYXRjaCA9PlxuICAgICAgICBtYXRjaCA9PT0gJ0xlZnQnID8gJ1JpZ2h0JyA6IG1hdGNoID09PSAnbGVmdCcgPyAncmlnaHQnIDogbWF0Y2ggPT09ICdSaWdodCcgPyAnTGVmdCcgOiAnbGVmdCdcbiAgICAgICk7XG5cbiAgICAgIGlmICghaXNGb3JiaWRkZW5Qcm9wZXJ0eU5hbWUocGF0Y2hlZEtleSkpIHtcbiAgICAgICAgLy8gTWl0aWdhdGVkIHRocm91Z2ggZGVueWxpc3RpbmcuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvblxuICAgICAgICBtaXJyb3JlZFtwYXRjaGVkS2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWlzRm9yYmlkZGVuUHJvcGVydHlOYW1lKGtleSkpIHtcbiAgICAgIC8vIE1pdGlnYXRlZCB0aHJvdWdoIGRlbnlsaXN0aW5nLlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICBtaXJyb3JlZFtrZXldID0gbWlycm9yU3R5bGUoJycsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCByZWxhdGl2ZSA9IC9eJlxccyovZ3UuZXhlYyhtaXJyb3JTZWxlY3RvcikgfHwgJyc7XG5cbiAgcmV0dXJuIG1pcnJvclNlbGVjdG9yXG4gICAgPyB7XG4gICAgICAgIFtgJHtyZWxhdGl2ZX06bm90KCR7bWlycm9yU2VsZWN0b3Iuc3Vic3RyKHJlbGF0aXZlLmxlbmd0aCl9KWBdOiBzdHlsZXMsXG4gICAgICAgIFttaXJyb3JTZWxlY3Rvcl06IG1pcnJvcmVkXG4gICAgICB9XG4gICAgOiBtaXJyb3JlZDtcbn1cbiJdfQ==
|
|
@@ -7,6 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _botframeworkWebchatApi = require("botframework-webchat-api");
|
|
9
9
|
|
|
10
|
+
var _botframeworkWebchatCore = require("botframework-webchat-core");
|
|
11
|
+
|
|
10
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
13
|
|
|
12
14
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -28,8 +30,10 @@ var NotificationIcon = function NotificationIcon(_ref) {
|
|
|
28
30
|
info: localize('TOAST_ALT_INFO'),
|
|
29
31
|
success: localize('TOAST_ALT_SUCCESS'),
|
|
30
32
|
warn: localize('TOAST_ALT_WARN')
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
+
}; // Mitigated through denylisting.
|
|
34
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
35
|
+
|
|
36
|
+
var prefix = !(0, _botframeworkWebchatCore.isForbiddenPropertyName)(level) && prefixes[level] || '';
|
|
33
37
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, level === 'success' ? /*#__PURE__*/_react.default.createElement(_CheckMarkIcon.default, {
|
|
34
38
|
"aria-label": prefix,
|
|
35
39
|
className: className
|
|
@@ -48,4 +52,4 @@ NotificationIcon.propTypes = {
|
|
|
48
52
|
};
|
|
49
53
|
var _default = NotificationIcon;
|
|
50
54
|
exports.default = _default;
|
|
51
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9Ob3RpZmljYXRpb25JY29uLmpzIl0sIm5hbWVzIjpbInVzZUxvY2FsaXplciIsImhvb2tzIiwiTm90aWZpY2F0aW9uSWNvbiIsImNsYXNzTmFtZSIsImxldmVsIiwibG9jYWxpemUiLCJwcmVmaXhlcyIsImVycm9yIiwiaW5mbyIsInN1Y2Nlc3MiLCJ3YXJuIiwicHJlZml4IiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib25lT2YiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7QUFFQSxJQUFRQSxZQUFSLEdBQXlCQyw2QkFBekIsQ0FBUUQsWUFBUjs7QUFFQSxJQUFNRSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLE9BQTBCO0FBQUEsTUFBdkJDLFNBQXVCLFFBQXZCQSxTQUF1QjtBQUFBLE1BQVpDLEtBQVksUUFBWkEsS0FBWTtBQUNqRCxNQUFNQyxRQUFRLEdBQUdMLFlBQVksRUFBN0I7QUFFQSxNQUFNTSxRQUFRLEdBQUc7QUFDZkMsSUFBQUEsS0FBSyxFQUFFRixRQUFRLENBQUMsaUJBQUQsQ0FEQTtBQUVmRyxJQUFBQSxJQUFJLEVBQUVILFFBQVEsQ0FBQyxnQkFBRCxDQUZDO0FBR2ZJLElBQUFBLE9BQU8sRUFBRUosUUFBUSxDQUFDLG1CQUFELENBSEY7QUFJZkssSUFBQUEsSUFBSSxFQUFFTCxRQUFRLENBQUMsZ0JBQUQ7QUFKQyxHQUFqQixDQUhpRCxDQVVqRDtBQUNBOztBQUNBLE1BQU1NLE1BQU0sR0FBSSxDQUFDLHNEQUF3QlAsS0FBeEIsQ0FBRCxJQUFtQ0UsUUFBUSxDQUFDRixLQUFELENBQTVDLElBQXdELEVBQXZFO0FBRUEsc0JBQ0UsNkJBQUMsY0FBRCxDQUFPLFFBQVAsUUFDR0EsS0FBSyxLQUFLLFNBQVYsZ0JBQ0MsNkJBQUMsc0JBQUQ7QUFBZSxrQkFBWU8sTUFBM0I7QUFBbUMsSUFBQSxTQUFTLEVBQUVSO0FBQTlDLElBREQsZ0JBR0MsNkJBQUMsNEJBQUQ7QUFBcUIsa0JBQVlRLE1BQWpDO0FBQXlDLElBQUEsU0FBUyxFQUFFUjtBQUFwRCxJQUpKLENBREY7QUFTRCxDQXZCRDs7QUF5QkFELGdCQUFnQixDQUFDVSxZQUFqQixHQUFnQztBQUM5QlQsRUFBQUEsU0FBUyxFQUFFVTtBQURtQixDQUFoQztBQUlBWCxnQkFBZ0IsQ0FBQ1ksU0FBakIsR0FBNkI7QUFDM0JYLEVBQUFBLFNBQVMsRUFBRVksbUJBQVVDLE1BRE07QUFFM0JaLEVBQUFBLEtBQUssRUFBRVcsbUJBQVVFLEtBQVYsQ0FBZ0IsQ0FBQyxPQUFELEVBQVUsTUFBVixFQUFrQixTQUFsQixFQUE2QixNQUE3QixDQUFoQixFQUFzREM7QUFGbEMsQ0FBN0I7ZUFLZWhCLGdCIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgeyBpc0ZvcmJpZGRlblByb3BlcnR5TmFtZSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBDaGVja01hcmtJY29uIGZyb20gJy4vQ2hlY2tNYXJrSWNvbic7XG5pbXBvcnQgRXhjbGFtYXRpb25NYXJrSWNvbiBmcm9tICcuL0V4Y2xhbWF0aW9uTWFya0ljb24nO1xuXG5jb25zdCB7IHVzZUxvY2FsaXplciB9ID0gaG9va3M7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbkljb24gPSAoeyBjbGFzc05hbWUsIGxldmVsIH0pID0+IHtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcblxuICBjb25zdCBwcmVmaXhlcyA9IHtcbiAgICBlcnJvcjogbG9jYWxpemUoJ1RPQVNUX0FMVF9FUlJPUicpLFxuICAgIGluZm86IGxvY2FsaXplKCdUT0FTVF9BTFRfSU5GTycpLFxuICAgIHN1Y2Nlc3M6IGxvY2FsaXplKCdUT0FTVF9BTFRfU1VDQ0VTUycpLFxuICAgIHdhcm46IGxvY2FsaXplKCdUT0FTVF9BTFRfV0FSTicpXG4gIH07XG5cbiAgLy8gTWl0aWdhdGVkIHRocm91Z2ggZGVueWxpc3RpbmcuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvblxuICBjb25zdCBwcmVmaXggPSAoIWlzRm9yYmlkZGVuUHJvcGVydHlOYW1lKGxldmVsKSAmJiBwcmVmaXhlc1tsZXZlbF0pIHx8ICcnO1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge2xldmVsID09PSAnc3VjY2VzcycgPyAoXG4gICAgICAgIDxDaGVja01hcmtJY29uIGFyaWEtbGFiZWw9e3ByZWZpeH0gY2xhc3NOYW1lPXtjbGFzc05hbWV9IC8+XG4gICAgICApIDogKFxuICAgICAgICA8RXhjbGFtYXRpb25NYXJrSWNvbiBhcmlhLWxhYmVsPXtwcmVmaXh9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSAvPlxuICAgICAgKX1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcblxuTm90aWZpY2F0aW9uSWNvbi5kZWZhdWx0UHJvcHMgPSB7XG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkXG59O1xuXG5Ob3RpZmljYXRpb25JY29uLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsZXZlbDogUHJvcFR5cGVzLm9uZU9mKFsnZXJyb3InLCAnaW5mbycsICdzdWNjZXNzJywgJ3dhcm4nXSkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgTm90aWZpY2F0aW9uSWNvbjtcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createToastMiddleware.d.ts","sourceRoot":"","sources":["../../src/Toast/createToastMiddleware.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAK3D,iBAAS,qBAAqB,IAAI,eAAe,
|
|
1
|
+
{"version":3,"file":"createToastMiddleware.d.ts","sourceRoot":"","sources":["../../src/Toast/createToastMiddleware.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAK3D,iBAAS,qBAAqB,IAAI,eAAe,CAKhD;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -27,4 +27,4 @@ function createToastMiddleware() {
|
|
|
27
27
|
|
|
28
28
|
var _default = createToastMiddleware;
|
|
29
29
|
exports.default = _default;
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9jcmVhdGVUb2FzdE1pZGRsZXdhcmUudHN4Il0sIm5hbWVzIjpbImNyZWF0ZVRvYXN0TWlkZGxld2FyZSIsIm5vdGlmaWNhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUVBOzs7O0FBTEE7QUFPQSxTQUFTQSxxQkFBVCxHQUFrRDtBQUNoRCxTQUFPO0FBQUEsV0FDTDtBQUFBLGFBQ0E7QUFBQSxZQUFHQyxZQUFILFFBQUdBLFlBQUg7QUFBQSw0QkFDRSw2QkFBQyxtQkFBRDtBQUFZLFVBQUEsWUFBWSxFQUFFQTtBQUExQixVQURGO0FBQUEsT0FEQTtBQUFBLEtBREs7QUFBQSxHQUFQO0FBSUQ7O2VBRWNELHFCIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgcmVhY3QvcHJvcC10eXBlczogXCJvZmZcIiAqL1xuXG5pbXBvcnQgeyBUb2FzdE1pZGRsZXdhcmUgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEJhc2ljVG9hc3QgZnJvbSAnLi4vQmFzaWNUb2FzdCc7XG5cbmZ1bmN0aW9uIGNyZWF0ZVRvYXN0TWlkZGxld2FyZSgpOiBUb2FzdE1pZGRsZXdhcmUge1xuICByZXR1cm4gKCkgPT5cbiAgICAoKSA9PlxuICAgICh7IG5vdGlmaWNhdGlvbiB9KSA9PlxuICAgICAgPEJhc2ljVG9hc3Qgbm90aWZpY2F0aW9uPXtub3RpZmljYXRpb259IC8+O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVUb2FzdE1pZGRsZXdhcmU7XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { WebChatActivity } from 'botframework-webchat-core';
|
|
3
|
+
declare const ActivityRow: React.ForwardRefExoticComponent<{
|
|
4
|
+
activity: WebChatActivity;
|
|
5
|
+
} & {
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
} & React.RefAttributes<HTMLLIElement>>;
|
|
8
|
+
export default ActivityRow;
|
|
9
|
+
//# sourceMappingURL=ActivityRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityRow.d.ts","sourceRoot":"","sources":["../../src/Transcript/ActivityRow.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAgBjE,QAAA,MAAM,WAAW;cAFqC,eAAe;;;uCAqFnE,CAAC;AAkBH,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _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 _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _detectBrowser = require("../Utils/detectBrowser");
|
|
19
|
+
|
|
20
|
+
var _FocusTrap = _interopRequireDefault(require("./FocusTrap"));
|
|
21
|
+
|
|
22
|
+
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
|
|
23
|
+
|
|
24
|
+
var _Speak = _interopRequireDefault(require("../Activity/Speak"));
|
|
25
|
+
|
|
26
|
+
var _useActiveDescendantId = _interopRequireDefault(require("../providers/TranscriptFocus/useActiveDescendantId"));
|
|
27
|
+
|
|
28
|
+
var _useActivityAccessibleName = _interopRequireDefault(require("./useActivityAccessibleName"));
|
|
29
|
+
|
|
30
|
+
var _useFocusByActivityKey = _interopRequireDefault(require("../providers/TranscriptFocus/useFocusByActivityKey"));
|
|
31
|
+
|
|
32
|
+
var _useGetDescendantIdByActivityKey = _interopRequireDefault(require("../providers/TranscriptFocus/useGetDescendantIdByActivityKey"));
|
|
33
|
+
|
|
34
|
+
var _useValueRef = _interopRequireDefault(require("../hooks/internal/useValueRef"));
|
|
35
|
+
|
|
36
|
+
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); }
|
|
37
|
+
|
|
38
|
+
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; }
|
|
39
|
+
|
|
40
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
41
|
+
|
|
42
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
43
|
+
|
|
44
|
+
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."); }
|
|
45
|
+
|
|
46
|
+
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); }
|
|
47
|
+
|
|
48
|
+
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; }
|
|
49
|
+
|
|
50
|
+
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; }
|
|
51
|
+
|
|
52
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
53
|
+
|
|
54
|
+
var useActivityKeysByRead = _botframeworkWebchatApi.hooks.useActivityKeysByRead,
|
|
55
|
+
useGetHasAcknowledgedByActivityKey = _botframeworkWebchatApi.hooks.useGetHasAcknowledgedByActivityKey,
|
|
56
|
+
useGetKeyByActivity = _botframeworkWebchatApi.hooks.useGetKeyByActivity;
|
|
57
|
+
var ActivityRow = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
58
|
+
var _activity$channelData, _activity$channelData2;
|
|
59
|
+
|
|
60
|
+
var activity = _ref.activity,
|
|
61
|
+
children = _ref.children;
|
|
62
|
+
|
|
63
|
+
var _useActiveDescendantI = (0, _useActiveDescendantId.default)(),
|
|
64
|
+
_useActiveDescendantI2 = _slicedToArray(_useActiveDescendantI, 1),
|
|
65
|
+
activeDescendantId = _useActiveDescendantI2[0];
|
|
66
|
+
|
|
67
|
+
var _useActivityKeysByRea = useActivityKeysByRead(),
|
|
68
|
+
_useActivityKeysByRea2 = _slicedToArray(_useActivityKeysByRea, 1),
|
|
69
|
+
readActivityKeys = _useActivityKeysByRea2[0];
|
|
70
|
+
|
|
71
|
+
var bodyRef = (0, _react.useRef)();
|
|
72
|
+
var focusByActivityKey = (0, _useFocusByActivityKey.default)();
|
|
73
|
+
var getKeyByActivity = useGetKeyByActivity(); // TODO: [P2] #2858 We should use core/definitions/speakingActivity for this predicate instead
|
|
74
|
+
|
|
75
|
+
var shouldSpeak = (_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : _activity$channelData.speak;
|
|
76
|
+
|
|
77
|
+
var _useActivityAccessibl = (0, _useActivityAccessibleName.default)(activity, bodyRef),
|
|
78
|
+
_useActivityAccessibl2 = _slicedToArray(_useActivityAccessibl, 1),
|
|
79
|
+
accessibleName = _useActivityAccessibl2[0];
|
|
80
|
+
|
|
81
|
+
var activityKey = getKeyByActivity(activity);
|
|
82
|
+
var acknowledged = useGetHasAcknowledgedByActivityKey()(activityKey);
|
|
83
|
+
var activityKeyRef = (0, _useValueRef.default)(activityKey);
|
|
84
|
+
var descendantId = (0, _useGetDescendantIdByActivityKey.default)()(activityKey);
|
|
85
|
+
var descendantLabelId = "webchat__basic-transcript__active-descendant-label--".concat(activityKey);
|
|
86
|
+
var isActiveDescendant = descendantId === activeDescendantId;
|
|
87
|
+
var read = readActivityKeys.includes(activityKey);
|
|
88
|
+
var focusSelf = (0, _react.useCallback)(function (withFocus) {
|
|
89
|
+
return focusByActivityKey(activityKeyRef.current, withFocus);
|
|
90
|
+
}, [activityKeyRef, focusByActivityKey]); // When a child of the activity receives focus, notify the transcript to set the `aria-activedescendant` to this activity.
|
|
91
|
+
|
|
92
|
+
var handleDescendantFocus = (0, _react.useCallback)(function () {
|
|
93
|
+
return focusSelf(false);
|
|
94
|
+
}, [focusSelf]); // When receive Escape key from descendant, focus back to the activity.
|
|
95
|
+
|
|
96
|
+
var handleLeaveFocusTrap = (0, _react.useCallback)(function () {
|
|
97
|
+
return focusSelf();
|
|
98
|
+
}, [focusSelf]); // When the user press UP/DOWN arrow keys, we put a visual focus indicator around the focused activity.
|
|
99
|
+
// We should do the same for mouse, when the user click on the activity, we should also put a visual focus indicator around the activity.
|
|
100
|
+
// We are doing it in event capture phase to prevent descendants from stopping event propagation to us.
|
|
101
|
+
|
|
102
|
+
var handleMouseDownCapture = (0, _react.useCallback)(function () {
|
|
103
|
+
return focusSelf(false);
|
|
104
|
+
}, [focusSelf]);
|
|
105
|
+
return (
|
|
106
|
+
/*#__PURE__*/
|
|
107
|
+
// TODO: [P2] Add `aria-roledescription="message"` for better AX, need localization strings.
|
|
108
|
+
_react.default.createElement("article", {
|
|
109
|
+
"aria-hidden": ((_activity$channelData2 = activity.channelData) === null || _activity$channelData2 === void 0 ? void 0 : _activity$channelData2['webchat:fallback-text']) === '',
|
|
110
|
+
className: (0, _classnames.default)('webchat__basic-transcript__activity', {
|
|
111
|
+
'webchat__basic-transcript__activity--acknowledged': acknowledged,
|
|
112
|
+
'webchat__basic-transcript__activity--read': read
|
|
113
|
+
}) // When NVDA is in browse mode, using up/down arrow key to "browse" will dispatch "click" and "mousedown" events for <article> element (inside <ScreenReaderActivity>).
|
|
114
|
+
,
|
|
115
|
+
onMouseDownCapture: handleMouseDownCapture,
|
|
116
|
+
ref: ref
|
|
117
|
+
}, !_detectBrowser.android && /*#__PURE__*/_react.default.createElement("div", {
|
|
118
|
+
"aria-labelledby": descendantLabelId,
|
|
119
|
+
className: "webchat__basic-transcript__activity-active-descendant" // "id" is required for "aria-labelledby"
|
|
120
|
+
// eslint-disable-next-line react/forbid-dom-props
|
|
121
|
+
,
|
|
122
|
+
id: descendantId,
|
|
123
|
+
role: "article"
|
|
124
|
+
}, /*#__PURE__*/_react.default.createElement(_ScreenReaderText.default, {
|
|
125
|
+
"aria-hidden": true,
|
|
126
|
+
id: descendantLabelId,
|
|
127
|
+
text: accessibleName
|
|
128
|
+
})), /*#__PURE__*/_react.default.createElement(_FocusTrap.default, {
|
|
129
|
+
onFocus: handleDescendantFocus,
|
|
130
|
+
onLeave: handleLeaveFocusTrap
|
|
131
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
132
|
+
className: "webchat__basic-transcript__activity-body",
|
|
133
|
+
ref: bodyRef
|
|
134
|
+
}, children)), shouldSpeak && /*#__PURE__*/_react.default.createElement(_Speak.default, {
|
|
135
|
+
activity: activity
|
|
136
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
137
|
+
className: (0, _classnames.default)('webchat__basic-transcript__activity-indicator', {
|
|
138
|
+
'webchat__basic-transcript__activity-indicator--focus': isActiveDescendant
|
|
139
|
+
})
|
|
140
|
+
}))
|
|
141
|
+
);
|
|
142
|
+
});
|
|
143
|
+
ActivityRow.defaultProps = {
|
|
144
|
+
children: undefined
|
|
145
|
+
};
|
|
146
|
+
ActivityRow.propTypes = {
|
|
147
|
+
// PropTypes cannot fully capture TypeScript type.
|
|
148
|
+
// @ts-ignore
|
|
149
|
+
activity: _propTypes.default.shape({
|
|
150
|
+
channelData: _propTypes.default.shape({
|
|
151
|
+
speak: _propTypes.default.bool,
|
|
152
|
+
'webchat:fallback-text': _propTypes.default.string
|
|
153
|
+
})
|
|
154
|
+
}).isRequired,
|
|
155
|
+
children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.arrayOf(_propTypes.default.element)])
|
|
156
|
+
};
|
|
157
|
+
var _default = ActivityRow;
|
|
158
|
+
exports.default = _default;
|
|
159
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UcmFuc2NyaXB0L0FjdGl2aXR5Um93LnRzeCJdLCJuYW1lcyI6WyJ1c2VBY3Rpdml0eUtleXNCeVJlYWQiLCJob29rcyIsInVzZUdldEhhc0Fja25vd2xlZGdlZEJ5QWN0aXZpdHlLZXkiLCJ1c2VHZXRLZXlCeUFjdGl2aXR5IiwiQWN0aXZpdHlSb3ciLCJyZWYiLCJhY3Rpdml0eSIsImNoaWxkcmVuIiwiYWN0aXZlRGVzY2VuZGFudElkIiwicmVhZEFjdGl2aXR5S2V5cyIsImJvZHlSZWYiLCJmb2N1c0J5QWN0aXZpdHlLZXkiLCJnZXRLZXlCeUFjdGl2aXR5Iiwic2hvdWxkU3BlYWsiLCJjaGFubmVsRGF0YSIsInNwZWFrIiwiYWNjZXNzaWJsZU5hbWUiLCJhY3Rpdml0eUtleSIsImFja25vd2xlZGdlZCIsImFjdGl2aXR5S2V5UmVmIiwiZGVzY2VuZGFudElkIiwiZGVzY2VuZGFudExhYmVsSWQiLCJpc0FjdGl2ZURlc2NlbmRhbnQiLCJyZWFkIiwiaW5jbHVkZXMiLCJmb2N1c1NlbGYiLCJ3aXRoRm9jdXMiLCJjdXJyZW50IiwiaGFuZGxlRGVzY2VuZGFudEZvY3VzIiwiaGFuZGxlTGVhdmVGb2N1c1RyYXAiLCJoYW5kbGVNb3VzZURvd25DYXB0dXJlIiwiYW5kcm9pZCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYm9vbCIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJvbmVPZlR5cGUiLCJlbGVtZW50IiwiYXJyYXlPZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBUUEscUJBQVIsR0FBMkZDLDZCQUEzRixDQUFRRCxxQkFBUjtBQUFBLElBQStCRSxrQ0FBL0IsR0FBMkZELDZCQUEzRixDQUErQkMsa0NBQS9CO0FBQUEsSUFBbUVDLG1CQUFuRSxHQUEyRkYsNkJBQTNGLENBQW1FRSxtQkFBbkU7QUFJQSxJQUFNQyxXQUFXLGdCQUFHLHVCQUE0QyxnQkFBeUJDLEdBQXpCLEVBQWlDO0FBQUE7O0FBQUEsTUFBOUJDLFFBQThCLFFBQTlCQSxRQUE4QjtBQUFBLE1BQXBCQyxRQUFvQixRQUFwQkEsUUFBb0I7O0FBQy9GLDhCQUE2QixxQ0FBN0I7QUFBQTtBQUFBLE1BQU9DLGtCQUFQOztBQUNBLDhCQUEyQlIscUJBQXFCLEVBQWhEO0FBQUE7QUFBQSxNQUFPUyxnQkFBUDs7QUFDQSxNQUFNQyxPQUFPLEdBQUcsb0JBQWhCO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcscUNBQTNCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUdULG1CQUFtQixFQUE1QyxDQUwrRixDQU0vRjs7QUFDQSxNQUFNVSxXQUFXLDRCQUFHUCxRQUFRLENBQUNRLFdBQVosMERBQUcsc0JBQXNCQyxLQUExQzs7QUFFQSw4QkFBeUIsd0NBQTBCVCxRQUExQixFQUFvQ0ksT0FBcEMsQ0FBekI7QUFBQTtBQUFBLE1BQU9NLGNBQVA7O0FBQ0EsTUFBTUMsV0FBVyxHQUFHTCxnQkFBZ0IsQ0FBQ04sUUFBRCxDQUFwQztBQUVBLE1BQU1ZLFlBQVksR0FBR2hCLGtDQUFrQyxHQUFHZSxXQUFILENBQXZEO0FBQ0EsTUFBTUUsY0FBYyxHQUFHLDBCQUFvQkYsV0FBcEIsQ0FBdkI7QUFDQSxNQUFNRyxZQUFZLEdBQUcsZ0RBQWtDSCxXQUFsQyxDQUFyQjtBQUNBLE1BQU1JLGlCQUFpQixpRUFBMERKLFdBQTFELENBQXZCO0FBRUEsTUFBTUssa0JBQWtCLEdBQUdGLFlBQVksS0FBS1osa0JBQTVDO0FBQ0EsTUFBTWUsSUFBSSxHQUFHZCxnQkFBZ0IsQ0FBQ2UsUUFBakIsQ0FBMEJQLFdBQTFCLENBQWI7QUFFQSxNQUFNUSxTQUFTLEdBQUcsd0JBQ2hCLFVBQUNDLFNBQUQ7QUFBQSxXQUF5QmYsa0JBQWtCLENBQUNRLGNBQWMsQ0FBQ1EsT0FBaEIsRUFBeUJELFNBQXpCLENBQTNDO0FBQUEsR0FEZ0IsRUFFaEIsQ0FBQ1AsY0FBRCxFQUFpQlIsa0JBQWpCLENBRmdCLENBQWxCLENBcEIrRixDQXlCL0Y7O0FBQ0EsTUFBTWlCLHFCQUFpQyxHQUFHLHdCQUFZO0FBQUEsV0FBTUgsU0FBUyxDQUFDLEtBQUQsQ0FBZjtBQUFBLEdBQVosRUFBb0MsQ0FBQ0EsU0FBRCxDQUFwQyxDQUExQyxDQTFCK0YsQ0E0Qi9GOztBQUNBLE1BQU1JLG9CQUFvQixHQUFHLHdCQUFZO0FBQUEsV0FBTUosU0FBUyxFQUFmO0FBQUEsR0FBWixFQUErQixDQUFDQSxTQUFELENBQS9CLENBQTdCLENBN0IrRixDQStCL0Y7QUFDQTtBQUNBOztBQUNBLE1BQU1LLHNCQUF5QyxHQUFHLHdCQUFZO0FBQUEsV0FBTUwsU0FBUyxDQUFDLEtBQUQsQ0FBZjtBQUFBLEdBQVosRUFBb0MsQ0FBQ0EsU0FBRCxDQUFwQyxDQUFsRDtBQUVBO0FBQUE7QUFDRTtBQUNBO0FBQ0UscUJBQWEsMkJBQUFuQixRQUFRLENBQUNRLFdBQVQsa0ZBQXVCLHVCQUF2QixPQUFvRCxFQURuRTtBQUVFLE1BQUEsU0FBUyxFQUFFLHlCQUFXLHFDQUFYLEVBQWtEO0FBQzNELDZEQUFxREksWUFETTtBQUUzRCxxREFBNkNLO0FBRmMsT0FBbEQsQ0FGYixDQU1FO0FBTkY7QUFPRSxNQUFBLGtCQUFrQixFQUFFTyxzQkFQdEI7QUFRRSxNQUFBLEdBQUcsRUFBRXpCO0FBUlAsT0FtQkcsQ0FBQzBCLHNCQUFELGlCQUNDO0FBQ0UseUJBQWlCVixpQkFEbkI7QUFFRSxNQUFBLFNBQVMsRUFBQyx1REFGWixDQUdFO0FBQ0E7QUFKRjtBQUtFLE1BQUEsRUFBRSxFQUFFRCxZQUxOO0FBTUUsTUFBQSxJQUFJLEVBQUM7QUFOUCxvQkFRRSw2QkFBQyx5QkFBRDtBQUFrQixxQkFBYSxJQUEvQjtBQUFxQyxNQUFBLEVBQUUsRUFBRUMsaUJBQXpDO0FBQTRELE1BQUEsSUFBSSxFQUFFTDtBQUFsRSxNQVJGLENBcEJKLGVBZ0NFLDZCQUFDLGtCQUFEO0FBQVcsTUFBQSxPQUFPLEVBQUVZLHFCQUFwQjtBQUEyQyxNQUFBLE9BQU8sRUFBRUM7QUFBcEQsb0JBQ0U7QUFBSyxNQUFBLFNBQVMsRUFBQywwQ0FBZjtBQUEwRCxNQUFBLEdBQUcsRUFBRW5CO0FBQS9ELE9BQ0dILFFBREgsQ0FERixDQWhDRixFQXFDR00sV0FBVyxpQkFBSSw2QkFBQyxjQUFEO0FBQWUsTUFBQSxRQUFRLEVBQUVQO0FBQXpCLE1BckNsQixlQXNDRTtBQUNFLE1BQUEsU0FBUyxFQUFFLHlCQUFXLCtDQUFYLEVBQTREO0FBQ3JFLGdFQUF3RGdCO0FBRGEsT0FBNUQ7QUFEYixNQXRDRjtBQUZGO0FBK0NELENBbkZtQixDQUFwQjtBQXFGQWxCLFdBQVcsQ0FBQzRCLFlBQVosR0FBMkI7QUFDekJ6QixFQUFBQSxRQUFRLEVBQUUwQjtBQURlLENBQTNCO0FBSUE3QixXQUFXLENBQUM4QixTQUFaLEdBQXdCO0FBQ3RCO0FBQ0E7QUFDQTVCLEVBQUFBLFFBQVEsRUFBRTZCLG1CQUFVQyxLQUFWLENBQWdCO0FBQ3hCdEIsSUFBQUEsV0FBVyxFQUFFcUIsbUJBQVVDLEtBQVYsQ0FBZ0I7QUFDM0JyQixNQUFBQSxLQUFLLEVBQUVvQixtQkFBVUUsSUFEVTtBQUUzQiwrQkFBeUJGLG1CQUFVRztBQUZSLEtBQWhCO0FBRFcsR0FBaEIsRUFLUEMsVUFSbUI7QUFTdEJoQyxFQUFBQSxRQUFRLEVBQUU0QixtQkFBVUssU0FBVixDQUFvQixDQUFDTCxtQkFBVU0sT0FBWCxFQUFvQk4sbUJBQVVPLE9BQVYsQ0FBa0JQLG1CQUFVTSxPQUE1QixDQUFwQixDQUFwQjtBQVRZLENBQXhCO2VBWWVyQyxXIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgTW91c2VFdmVudEhhbmRsZXIsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBXZWJDaGF0QWN0aXZpdHkgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb3JlJztcblxuaW1wb3J0IHsgYW5kcm9pZCB9IGZyb20gJy4uL1V0aWxzL2RldGVjdEJyb3dzZXInO1xuaW1wb3J0IEZvY3VzVHJhcCBmcm9tICcuL0ZvY3VzVHJhcCc7XG5pbXBvcnQgU2NyZWVuUmVhZGVyVGV4dCBmcm9tICcuLi9TY3JlZW5SZWFkZXJUZXh0JztcbmltcG9ydCBTcGVha0FjdGl2aXR5IGZyb20gJy4uL0FjdGl2aXR5L1NwZWFrJztcbmltcG9ydCB1c2VBY3RpdmVEZXNjZW5kYW50SWQgZnJvbSAnLi4vcHJvdmlkZXJzL1RyYW5zY3JpcHRGb2N1cy91c2VBY3RpdmVEZXNjZW5kYW50SWQnO1xuaW1wb3J0IHVzZUFjdGl2aXR5QWNjZXNzaWJsZU5hbWUgZnJvbSAnLi91c2VBY3Rpdml0eUFjY2Vzc2libGVOYW1lJztcbmltcG9ydCB1c2VGb2N1c0J5QWN0aXZpdHlLZXkgZnJvbSAnLi4vcHJvdmlkZXJzL1RyYW5zY3JpcHRGb2N1cy91c2VGb2N1c0J5QWN0aXZpdHlLZXknO1xuaW1wb3J0IHVzZUdldERlc2NlbmRhbnRJZEJ5QWN0aXZpdHlLZXkgZnJvbSAnLi4vcHJvdmlkZXJzL1RyYW5zY3JpcHRGb2N1cy91c2VHZXREZXNjZW5kYW50SWRCeUFjdGl2aXR5S2V5JztcbmltcG9ydCB1c2VWYWx1ZVJlZiBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VWYWx1ZVJlZic7XG5cbmNvbnN0IHsgdXNlQWN0aXZpdHlLZXlzQnlSZWFkLCB1c2VHZXRIYXNBY2tub3dsZWRnZWRCeUFjdGl2aXR5S2V5LCB1c2VHZXRLZXlCeUFjdGl2aXR5IH0gPSBob29rcztcblxudHlwZSBBY3Rpdml0eVJvd1Byb3BzID0gUHJvcHNXaXRoQ2hpbGRyZW48eyBhY3Rpdml0eTogV2ViQ2hhdEFjdGl2aXR5IH0+O1xuXG5jb25zdCBBY3Rpdml0eVJvdyA9IGZvcndhcmRSZWY8SFRNTExJRWxlbWVudCwgQWN0aXZpdHlSb3dQcm9wcz4oKHsgYWN0aXZpdHksIGNoaWxkcmVuIH0sIHJlZikgPT4ge1xuICBjb25zdCBbYWN0aXZlRGVzY2VuZGFudElkXSA9IHVzZUFjdGl2ZURlc2NlbmRhbnRJZCgpO1xuICBjb25zdCBbcmVhZEFjdGl2aXR5S2V5c10gPSB1c2VBY3Rpdml0eUtleXNCeVJlYWQoKTtcbiAgY29uc3QgYm9keVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgY29uc3QgZm9jdXNCeUFjdGl2aXR5S2V5ID0gdXNlRm9jdXNCeUFjdGl2aXR5S2V5KCk7XG4gIGNvbnN0IGdldEtleUJ5QWN0aXZpdHkgPSB1c2VHZXRLZXlCeUFjdGl2aXR5KCk7XG4gIC8vIFRPRE86IFtQMl0gIzI4NTggV2Ugc2hvdWxkIHVzZSBjb3JlL2RlZmluaXRpb25zL3NwZWFraW5nQWN0aXZpdHkgZm9yIHRoaXMgcHJlZGljYXRlIGluc3RlYWRcbiAgY29uc3Qgc2hvdWxkU3BlYWsgPSBhY3Rpdml0eS5jaGFubmVsRGF0YT8uc3BlYWs7XG5cbiAgY29uc3QgW2FjY2Vzc2libGVOYW1lXSA9IHVzZUFjdGl2aXR5QWNjZXNzaWJsZU5hbWUoYWN0aXZpdHksIGJvZHlSZWYpO1xuICBjb25zdCBhY3Rpdml0eUtleSA9IGdldEtleUJ5QWN0aXZpdHkoYWN0aXZpdHkpO1xuXG4gIGNvbnN0IGFja25vd2xlZGdlZCA9IHVzZUdldEhhc0Fja25vd2xlZGdlZEJ5QWN0aXZpdHlLZXkoKShhY3Rpdml0eUtleSk7XG4gIGNvbnN0IGFjdGl2aXR5S2V5UmVmID0gdXNlVmFsdWVSZWY8c3RyaW5nPihhY3Rpdml0eUtleSk7XG4gIGNvbnN0IGRlc2NlbmRhbnRJZCA9IHVzZUdldERlc2NlbmRhbnRJZEJ5QWN0aXZpdHlLZXkoKShhY3Rpdml0eUtleSk7XG4gIGNvbnN0IGRlc2NlbmRhbnRMYWJlbElkID0gYHdlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2ZS1kZXNjZW5kYW50LWxhYmVsLS0ke2FjdGl2aXR5S2V5fWA7XG5cbiAgY29uc3QgaXNBY3RpdmVEZXNjZW5kYW50ID0gZGVzY2VuZGFudElkID09PSBhY3RpdmVEZXNjZW5kYW50SWQ7XG4gIGNvbnN0IHJlYWQgPSByZWFkQWN0aXZpdHlLZXlzLmluY2x1ZGVzKGFjdGl2aXR5S2V5KTtcblxuICBjb25zdCBmb2N1c1NlbGYgPSB1c2VDYWxsYmFjazwod2l0aEZvY3VzPzogYm9vbGVhbikgPT4gdm9pZD4oXG4gICAgKHdpdGhGb2N1cz86IGJvb2xlYW4pID0+IGZvY3VzQnlBY3Rpdml0eUtleShhY3Rpdml0eUtleVJlZi5jdXJyZW50LCB3aXRoRm9jdXMpLFxuICAgIFthY3Rpdml0eUtleVJlZiwgZm9jdXNCeUFjdGl2aXR5S2V5XVxuICApO1xuXG4gIC8vIFdoZW4gYSBjaGlsZCBvZiB0aGUgYWN0aXZpdHkgcmVjZWl2ZXMgZm9jdXMsIG5vdGlmeSB0aGUgdHJhbnNjcmlwdCB0byBzZXQgdGhlIGBhcmlhLWFjdGl2ZWRlc2NlbmRhbnRgIHRvIHRoaXMgYWN0aXZpdHkuXG4gIGNvbnN0IGhhbmRsZURlc2NlbmRhbnRGb2N1czogKCkgPT4gdm9pZCA9IHVzZUNhbGxiYWNrKCgpID0+IGZvY3VzU2VsZihmYWxzZSksIFtmb2N1c1NlbGZdKTtcblxuICAvLyBXaGVuIHJlY2VpdmUgRXNjYXBlIGtleSBmcm9tIGRlc2NlbmRhbnQsIGZvY3VzIGJhY2sgdG8gdGhlIGFjdGl2aXR5LlxuICBjb25zdCBoYW5kbGVMZWF2ZUZvY3VzVHJhcCA9IHVzZUNhbGxiYWNrKCgpID0+IGZvY3VzU2VsZigpLCBbZm9jdXNTZWxmXSk7XG5cbiAgLy8gV2hlbiB0aGUgdXNlciBwcmVzcyBVUC9ET1dOIGFycm93IGtleXMsIHdlIHB1dCBhIHZpc3VhbCBmb2N1cyBpbmRpY2F0b3IgYXJvdW5kIHRoZSBmb2N1c2VkIGFjdGl2aXR5LlxuICAvLyBXZSBzaG91bGQgZG8gdGhlIHNhbWUgZm9yIG1vdXNlLCB3aGVuIHRoZSB1c2VyIGNsaWNrIG9uIHRoZSBhY3Rpdml0eSwgd2Ugc2hvdWxkIGFsc28gcHV0IGEgdmlzdWFsIGZvY3VzIGluZGljYXRvciBhcm91bmQgdGhlIGFjdGl2aXR5LlxuICAvLyBXZSBhcmUgZG9pbmcgaXQgaW4gZXZlbnQgY2FwdHVyZSBwaGFzZSB0byBwcmV2ZW50IGRlc2NlbmRhbnRzIGZyb20gc3RvcHBpbmcgZXZlbnQgcHJvcGFnYXRpb24gdG8gdXMuXG4gIGNvbnN0IGhhbmRsZU1vdXNlRG93bkNhcHR1cmU6IE1vdXNlRXZlbnRIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4gZm9jdXNTZWxmKGZhbHNlKSwgW2ZvY3VzU2VsZl0pO1xuXG4gIHJldHVybiAoXG4gICAgLy8gVE9ETzogW1AyXSBBZGQgYGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwibWVzc2FnZVwiYCBmb3IgYmV0dGVyIEFYLCBuZWVkIGxvY2FsaXphdGlvbiBzdHJpbmdzLlxuICAgIDxhcnRpY2xlXG4gICAgICBhcmlhLWhpZGRlbj17YWN0aXZpdHkuY2hhbm5lbERhdGE/Llsnd2ViY2hhdDpmYWxsYmFjay10ZXh0J10gPT09ICcnfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd3ZWJjaGF0X19iYXNpYy10cmFuc2NyaXB0X19hY3Rpdml0eScsIHtcbiAgICAgICAgJ3dlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2aXR5LS1hY2tub3dsZWRnZWQnOiBhY2tub3dsZWRnZWQsXG4gICAgICAgICd3ZWJjaGF0X19iYXNpYy10cmFuc2NyaXB0X19hY3Rpdml0eS0tcmVhZCc6IHJlYWRcbiAgICAgIH0pfVxuICAgICAgLy8gV2hlbiBOVkRBIGlzIGluIGJyb3dzZSBtb2RlLCB1c2luZyB1cC9kb3duIGFycm93IGtleSB0byBcImJyb3dzZVwiIHdpbGwgZGlzcGF0Y2ggXCJjbGlja1wiIGFuZCBcIm1vdXNlZG93blwiIGV2ZW50cyBmb3IgPGFydGljbGU+IGVsZW1lbnQgKGluc2lkZSA8U2NyZWVuUmVhZGVyQWN0aXZpdHk+KS5cbiAgICAgIG9uTW91c2VEb3duQ2FwdHVyZT17aGFuZGxlTW91c2VEb3duQ2FwdHVyZX1cbiAgICAgIHJlZj17cmVmfVxuICAgID5cbiAgICAgIHsvKiBUT0RPOiBbUDFdIEZpbGUgYSBjcmJ1ZyBmb3IgVGFsa0JhY2suIEl0IHNob3VsZCBub3QgYWJsZSB0byByZWFkIHRoZSBjb250ZW50IHR3aWNlIHdoZW4gc2Nhbm5pbmcuICovfVxuXG4gICAgICB7LyogVGhlIGZvbGxvd2luZyA8ZGl2PiBpcyBkZXNpZ25lZCBmb3IgYWN0aXZlIGRlc2NlbmRhbnQgb25seS5cbiAgICAgICAgICBXZSB3YW50IHRvIHByZXZlbnQgc2NyZWVuIHJlYWRlciBmcm9tIHNjYW5uaW5nIHRoZSBjb250ZW50IHRoYXQgaXMgYXV0aG9yZWQgb25seSBmb3IgYWN0aXZlIGRlc2NlbmRhbnQuXG4gICAgICAgICAgVGhlIHNwZWNpZmljIGNvbnRlbnQgc2hvdWxkIG9ubHkgcmVhZCB3aGVuIHVzZXIgcHJlc3MgVVAvRE9XTiBhcnJvdyBrZXlzIHRvIGNoYW5nZSBgYXJpYS1hY3RpdmVkZXNjZW5kYW50YC5cbiAgICAgICAgICBIb3dldmVyLCBBbmRyb2lkIFRhbGtCYWNrIDEyLjEgaXMgYnVnZ3kgd2hlbiB0aGUgdGhlcmUgaXMgYW4gZWxlbWVudCB3aXRoIElEIG9mIG9uZSBvZiB0aGUgYGFyaWEtYWN0aXZlZGVzY2VuZGFudGAgcG90ZW50aWFsIGNhbmRpZGF0ZXMsXG4gICAgICAgICAgVGFsa0JhY2sgd2lsbCBuYXJyYXRlIHRoZSBtZXNzYWdlIGNvbnRlbnQgdHdpY2UgKGkuZS4gY29udGVudCBvZiBgYm9keVJlZmApLCByZWdhcmRsZXNzIHdoZXRoZXIgdGhlIElEIGlzIGN1cnJlbnRseSBzZXQgYXMgYGFyaWEtYWN0aXZlZGVzY2VuZGFudGAgb3Igbm90LlxuICAgICAgICAgIEFzIEFuZHJvaWQgZG9lcyBub3Qgc3VwcG9ydCBhY3RpdmUgZGVzY2VuZGFudCwgd2UgYXJlIGhpZGluZyB0aGUgd2hvbGUgRE9NIGVsZW1lbnQgYWx0b2dldGhlci4gKi99XG5cbiAgICAgIHshYW5kcm9pZCAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2Rlc2NlbmRhbnRMYWJlbElkfVxuICAgICAgICAgIGNsYXNzTmFtZT1cIndlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2aXR5LWFjdGl2ZS1kZXNjZW5kYW50XCJcbiAgICAgICAgICAvLyBcImlkXCIgaXMgcmVxdWlyZWQgZm9yIFwiYXJpYS1sYWJlbGxlZGJ5XCJcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZm9yYmlkLWRvbS1wcm9wc1xuICAgICAgICAgIGlkPXtkZXNjZW5kYW50SWR9XG4gICAgICAgICAgcm9sZT1cImFydGljbGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPFNjcmVlblJlYWRlclRleHQgYXJpYS1oaWRkZW49e3RydWV9IGlkPXtkZXNjZW5kYW50TGFiZWxJZH0gdGV4dD17YWNjZXNzaWJsZU5hbWV9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHsvKiBBZGQgdGVzdHMgZm9yIGZvY3VzIHRyYXAgKi99XG4gICAgICA8Rm9jdXNUcmFwIG9uRm9jdXM9e2hhbmRsZURlc2NlbmRhbnRGb2N1c30gb25MZWF2ZT17aGFuZGxlTGVhdmVGb2N1c1RyYXB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2aXR5LWJvZHlcIiByZWY9e2JvZHlSZWZ9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0ZvY3VzVHJhcD5cbiAgICAgIHtzaG91bGRTcGVhayAmJiA8U3BlYWtBY3Rpdml0eSBhY3Rpdml0eT17YWN0aXZpdHl9IC8+fVxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3dlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2aXR5LWluZGljYXRvcicsIHtcbiAgICAgICAgICAnd2ViY2hhdF9fYmFzaWMtdHJhbnNjcmlwdF9fYWN0aXZpdHktaW5kaWNhdG9yLS1mb2N1cyc6IGlzQWN0aXZlRGVzY2VuZGFudFxuICAgICAgICB9KX1cbiAgICAgIC8+XG4gICAgPC9hcnRpY2xlPlxuICApO1xufSk7XG5cbkFjdGl2aXR5Um93LmRlZmF1bHRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IHVuZGVmaW5lZFxufTtcblxuQWN0aXZpdHlSb3cucHJvcFR5cGVzID0ge1xuICAvLyBQcm9wVHlwZXMgY2Fubm90IGZ1bGx5IGNhcHR1cmUgVHlwZVNjcmlwdCB0eXBlLlxuICAvLyBAdHMtaWdub3JlXG4gIGFjdGl2aXR5OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGNoYW5uZWxEYXRhOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgc3BlYWs6IFByb3BUeXBlcy5ib29sLFxuICAgICAgJ3dlYmNoYXQ6ZmFsbGJhY2stdGV4dCc6IFByb3BUeXBlcy5zdHJpbmdcbiAgICB9KVxuICB9KS5pc1JlcXVpcmVkLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmVsZW1lbnQsIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5lbGVtZW50KV0pXG59O1xuXG5leHBvcnQgZGVmYXVsdCBBY3Rpdml0eVJvdztcbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
|
|
13
|
+
|
|
14
|
+
var _useActivityAccessibleName = _interopRequireDefault(require("./useActivityAccessibleName"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
|
+
|
|
20
|
+
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."); }
|
|
21
|
+
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
29
|
+
|
|
30
|
+
var ActivityTextAlt = function ActivityTextAlt(_ref) {
|
|
31
|
+
var activity = _ref.activity,
|
|
32
|
+
bodyRef = _ref.bodyRef,
|
|
33
|
+
id = _ref.id;
|
|
34
|
+
|
|
35
|
+
var _useActivityAccessibl = (0, _useActivityAccessibleName.default)(activity, bodyRef),
|
|
36
|
+
_useActivityAccessibl2 = _slicedToArray(_useActivityAccessibl, 1),
|
|
37
|
+
accessibleName = _useActivityAccessibl2[0];
|
|
38
|
+
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement(_ScreenReaderText.default, {
|
|
40
|
+
"aria-hidden": true,
|
|
41
|
+
id: id,
|
|
42
|
+
text: accessibleName
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
ActivityTextAlt.propTypes = {
|
|
47
|
+
activity: _propTypes.default.any.isRequired,
|
|
48
|
+
// PropTypes is not fully compatible with TypeScript
|
|
49
|
+
// @ts-ignore
|
|
50
|
+
bodyRef: _propTypes.default.shape({
|
|
51
|
+
current: _propTypes.default.any
|
|
52
|
+
}).isRequired,
|
|
53
|
+
id: _propTypes.default.string.isRequired
|
|
54
|
+
};
|
|
55
|
+
var _default = ActivityTextAlt;
|
|
56
|
+
exports.default = _default;
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UcmFuc2NyaXB0L0FjdGl2aXR5VGV4dEFsdC50c3giXSwibmFtZXMiOlsiQWN0aXZpdHlUZXh0QWx0IiwiYWN0aXZpdHkiLCJib2R5UmVmIiwiaWQiLCJhY2Nlc3NpYmxlTmFtZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFueSIsImlzUmVxdWlyZWQiLCJzaGFwZSIsImN1cnJlbnQiLCJzdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFJQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLElBQU1BLGVBQTBDLEdBQUcsU0FBN0NBLGVBQTZDLE9BQStCO0FBQUEsTUFBNUJDLFFBQTRCLFFBQTVCQSxRQUE0QjtBQUFBLE1BQWxCQyxPQUFrQixRQUFsQkEsT0FBa0I7QUFBQSxNQUFUQyxFQUFTLFFBQVRBLEVBQVM7O0FBQ2hGLDhCQUF5Qix3Q0FBMEJGLFFBQTFCLEVBQW9DQyxPQUFwQyxDQUF6QjtBQUFBO0FBQUEsTUFBT0UsY0FBUDs7QUFFQSxzQkFBTyw2QkFBQyx5QkFBRDtBQUFrQixtQkFBYSxJQUEvQjtBQUFxQyxJQUFBLEVBQUUsRUFBRUQsRUFBekM7QUFBNkMsSUFBQSxJQUFJLEVBQUVDO0FBQW5ELElBQVA7QUFDRCxDQUpEOztBQU1BSixlQUFlLENBQUNLLFNBQWhCLEdBQTRCO0FBQzFCSixFQUFBQSxRQUFRLEVBQUVLLG1CQUFVQyxHQUFWLENBQWNDLFVBREU7QUFFMUI7QUFDQTtBQUNBTixFQUFBQSxPQUFPLEVBQUVJLG1CQUFVRyxLQUFWLENBQWdCO0FBQ3ZCQyxJQUFBQSxPQUFPLEVBQUVKLG1CQUFVQztBQURJLEdBQWhCLEVBRU5DLFVBTnVCO0FBTzFCTCxFQUFBQSxFQUFFLEVBQUVHLG1CQUFVSyxNQUFWLENBQWlCSDtBQVBLLENBQTVCO2VBVWVSLGUiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFZGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgV2ViQ2hhdEFjdGl2aXR5IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5cbmltcG9ydCBTY3JlZW5SZWFkZXJUZXh0IGZyb20gJy4uL1NjcmVlblJlYWRlclRleHQnO1xuaW1wb3J0IHVzZUFjdGl2aXR5QWNjZXNzaWJsZU5hbWUgZnJvbSAnLi91c2VBY3Rpdml0eUFjY2Vzc2libGVOYW1lJztcblxudHlwZSBBY3Rpdml0eVRleHRBbHRQcm9wcyA9IHtcbiAgYWN0aXZpdHk6IFdlYkNoYXRBY3Rpdml0eTtcbiAgYm9keVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgaWQ6IHN0cmluZztcbn07XG5cbmNvbnN0IEFjdGl2aXR5VGV4dEFsdDogVkZDPEFjdGl2aXR5VGV4dEFsdFByb3BzPiA9ICh7IGFjdGl2aXR5LCBib2R5UmVmLCBpZCB9KSA9PiB7XG4gIGNvbnN0IFthY2Nlc3NpYmxlTmFtZV0gPSB1c2VBY3Rpdml0eUFjY2Vzc2libGVOYW1lKGFjdGl2aXR5LCBib2R5UmVmKTtcblxuICByZXR1cm4gPFNjcmVlblJlYWRlclRleHQgYXJpYS1oaWRkZW49e3RydWV9IGlkPXtpZH0gdGV4dD17YWNjZXNzaWJsZU5hbWV9IC8+O1xufTtcblxuQWN0aXZpdHlUZXh0QWx0LnByb3BUeXBlcyA9IHtcbiAgYWN0aXZpdHk6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCxcbiAgLy8gUHJvcFR5cGVzIGlzIG5vdCBmdWxseSBjb21wYXRpYmxlIHdpdGggVHlwZVNjcmlwdFxuICAvLyBAdHMtaWdub3JlXG4gIGJvZHlSZWY6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY3VycmVudDogUHJvcFR5cGVzLmFueVxuICB9KS5pc1JlcXVpcmVkLFxuICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBBY3Rpdml0eVRleHRBbHQ7XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FC, PropsWithChildren } from 'react';
|
|
2
|
+
declare type FocusTrapProps = PropsWithChildren<{
|
|
3
|
+
onFocus: () => void;
|
|
4
|
+
onLeave: () => void;
|
|
5
|
+
}>;
|
|
6
|
+
declare const FocusTrap: FC<FocusTrapProps>;
|
|
7
|
+
export default FocusTrap;
|
|
8
|
+
//# sourceMappingURL=FocusTrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FocusTrap.d.ts","sourceRoot":"","sources":["../../src/Transcript/FocusTrap.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAwB,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAMzE,aAAK,cAAc,GAAG,iBAAiB,CAAC;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC,CAAC;AAEH,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAoCjC,CAAC;AAaF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
14
|
+
var _FocusRedirector = _interopRequireDefault(require("../Utils/FocusRedirector"));
|
|
15
|
+
|
|
16
|
+
var _tabbableElements = _interopRequireDefault(require("../Utils/tabbableElements"));
|
|
17
|
+
|
|
18
|
+
var _useValueRef = _interopRequireDefault(require("../hooks/internal/useValueRef"));
|
|
19
|
+
|
|
20
|
+
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); }
|
|
21
|
+
|
|
22
|
+
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
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
26
|
+
var FocusTrap = function FocusTrap(_ref) {
|
|
27
|
+
var children = _ref.children,
|
|
28
|
+
onFocus = _ref.onFocus,
|
|
29
|
+
onLeave = _ref.onLeave;
|
|
30
|
+
var bodyRef = (0, _react.useRef)();
|
|
31
|
+
var onLeaveRef = (0, _useValueRef.default)(onLeave);
|
|
32
|
+
var handleBodyKeyDown = (0, _react.useCallback)(function (event) {
|
|
33
|
+
if (event.key === 'Escape') {
|
|
34
|
+
var _onLeaveRef$current;
|
|
35
|
+
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
event.stopPropagation();
|
|
38
|
+
(_onLeaveRef$current = onLeaveRef.current) === null || _onLeaveRef$current === void 0 ? void 0 : _onLeaveRef$current.call(onLeaveRef);
|
|
39
|
+
}
|
|
40
|
+
}, [onLeaveRef]);
|
|
41
|
+
var handleFirstSentinelFocus = (0, _react.useCallback)(function () {
|
|
42
|
+
var _focusables;
|
|
43
|
+
|
|
44
|
+
var focusables = (0, _tabbableElements.default)(bodyRef.current);
|
|
45
|
+
(_focusables = focusables[focusables.length - 1]) === null || _focusables === void 0 ? void 0 : _focusables.focus();
|
|
46
|
+
}, [bodyRef]);
|
|
47
|
+
var handleLastSentinelFocus = (0, _react.useCallback)(function () {
|
|
48
|
+
var _tabbableElements$;
|
|
49
|
+
|
|
50
|
+
return (_tabbableElements$ = (0, _tabbableElements.default)(bodyRef.current)[0]) === null || _tabbableElements$ === void 0 ? void 0 : _tabbableElements$.focus();
|
|
51
|
+
}, [bodyRef]);
|
|
52
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_FocusRedirector.default, {
|
|
53
|
+
onFocus: handleFirstSentinelFocus
|
|
54
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
55
|
+
onFocus: onFocus,
|
|
56
|
+
onKeyDown: handleBodyKeyDown,
|
|
57
|
+
ref: bodyRef
|
|
58
|
+
}, children), /*#__PURE__*/_react.default.createElement(_FocusRedirector.default, {
|
|
59
|
+
onFocus: handleLastSentinelFocus
|
|
60
|
+
}));
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
FocusTrap.defaultProps = {
|
|
64
|
+
children: undefined,
|
|
65
|
+
onFocus: undefined
|
|
66
|
+
};
|
|
67
|
+
FocusTrap.propTypes = {
|
|
68
|
+
children: _propTypes.default.any,
|
|
69
|
+
onFocus: _propTypes.default.func,
|
|
70
|
+
onLeave: _propTypes.default.func.isRequired
|
|
71
|
+
};
|
|
72
|
+
var _default = FocusTrap;
|
|
73
|
+
exports.default = _default;
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UcmFuc2NyaXB0L0ZvY3VzVHJhcC50c3giXSwibmFtZXMiOlsiRm9jdXNUcmFwIiwiY2hpbGRyZW4iLCJvbkZvY3VzIiwib25MZWF2ZSIsImJvZHlSZWYiLCJvbkxlYXZlUmVmIiwiaGFuZGxlQm9keUtleURvd24iLCJldmVudCIsImtleSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudCIsImhhbmRsZUZpcnN0U2VudGluZWxGb2N1cyIsImZvY3VzYWJsZXMiLCJsZW5ndGgiLCJmb2N1cyIsImhhbmRsZUxhc3RTZW50aW5lbEZvY3VzIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYW55IiwiZnVuYyIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUlBOztBQUNBOztBQUNBOzs7Ozs7OztBQU9BLElBQU1BLFNBQTZCLEdBQUcsU0FBaENBLFNBQWdDLE9BQW9DO0FBQUEsTUFBakNDLFFBQWlDLFFBQWpDQSxRQUFpQztBQUFBLE1BQXZCQyxPQUF1QixRQUF2QkEsT0FBdUI7QUFBQSxNQUFkQyxPQUFjLFFBQWRBLE9BQWM7QUFDeEUsTUFBTUMsT0FBTyxHQUFHLG9CQUFoQjtBQUNBLE1BQU1DLFVBQVUsR0FBRywwQkFBd0JGLE9BQXhCLENBQW5CO0FBRUEsTUFBTUcsaUJBQXVDLEdBQUcsd0JBQzlDLFVBQUFDLEtBQUssRUFBSTtBQUNQLFFBQUlBLEtBQUssQ0FBQ0MsR0FBTixLQUFjLFFBQWxCLEVBQTRCO0FBQUE7O0FBQzFCRCxNQUFBQSxLQUFLLENBQUNFLGNBQU47QUFDQUYsTUFBQUEsS0FBSyxDQUFDRyxlQUFOO0FBRUEsNkJBQUFMLFVBQVUsQ0FBQ00sT0FBWCxpRkFBQU4sVUFBVTtBQUNYO0FBQ0YsR0FSNkMsRUFTOUMsQ0FBQ0EsVUFBRCxDQVQ4QyxDQUFoRDtBQVlBLE1BQU1PLHdCQUFvQyxHQUFHLHdCQUFZLFlBQU07QUFBQTs7QUFDN0QsUUFBTUMsVUFBVSxHQUFHLCtCQUFpQlQsT0FBTyxDQUFDTyxPQUF6QixDQUFuQjtBQUVBLG1CQUFBRSxVQUFVLENBQUNBLFVBQVUsQ0FBQ0MsTUFBWCxHQUFvQixDQUFyQixDQUFWLDREQUFtQ0MsS0FBbkM7QUFDRCxHQUo0QyxFQUkxQyxDQUFDWCxPQUFELENBSjBDLENBQTdDO0FBTUEsTUFBTVksdUJBQW1DLEdBQUcsd0JBQzFDO0FBQUE7O0FBQUEsaUNBQU0sK0JBQWlCWixPQUFPLENBQUNPLE9BQXpCLEVBQWtDLENBQWxDLENBQU4sdURBQU0sbUJBQXNDSSxLQUF0QyxFQUFOO0FBQUEsR0FEMEMsRUFFMUMsQ0FBQ1gsT0FBRCxDQUYwQyxDQUE1QztBQUtBLHNCQUNFLDZCQUFDLGVBQUQscUJBQ0UsNkJBQUMsd0JBQUQ7QUFBaUIsSUFBQSxPQUFPLEVBQUVRO0FBQTFCLElBREYsZUFFRTtBQUFLLElBQUEsT0FBTyxFQUFFVixPQUFkO0FBQXVCLElBQUEsU0FBUyxFQUFFSSxpQkFBbEM7QUFBcUQsSUFBQSxHQUFHLEVBQUVGO0FBQTFELEtBQ0dILFFBREgsQ0FGRixlQUtFLDZCQUFDLHdCQUFEO0FBQWlCLElBQUEsT0FBTyxFQUFFZTtBQUExQixJQUxGLENBREY7QUFTRCxDQXBDRDs7QUFzQ0FoQixTQUFTLENBQUNpQixZQUFWLEdBQXlCO0FBQ3ZCaEIsRUFBQUEsUUFBUSxFQUFFaUIsU0FEYTtBQUV2QmhCLEVBQUFBLE9BQU8sRUFBRWdCO0FBRmMsQ0FBekI7QUFLQWxCLFNBQVMsQ0FBQ21CLFNBQVYsR0FBc0I7QUFDcEJsQixFQUFBQSxRQUFRLEVBQUVtQixtQkFBVUMsR0FEQTtBQUVwQm5CLEVBQUFBLE9BQU8sRUFBRWtCLG1CQUFVRSxJQUZDO0FBR3BCbkIsRUFBQUEsT0FBTyxFQUFFaUIsbUJBQVVFLElBQVYsQ0FBZUM7QUFISixDQUF0QjtlQU1ldkIsUyIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCwgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBGQywgS2V5Ym9hcmRFdmVudEhhbmRsZXIsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgRm9jdXNSZWRpcmVjdG9yIGZyb20gJy4uL1V0aWxzL0ZvY3VzUmVkaXJlY3Rvcic7XG5pbXBvcnQgdGFiYmFibGVFbGVtZW50cyBmcm9tICcuLi9VdGlscy90YWJiYWJsZUVsZW1lbnRzJztcbmltcG9ydCB1c2VWYWx1ZVJlZiBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VWYWx1ZVJlZic7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIG9uRm9jdXM6ICgpID0+IHZvaWQ7XG4gIG9uTGVhdmU6ICgpID0+IHZvaWQ7XG59PjtcblxuY29uc3QgRm9jdXNUcmFwOiBGQzxGb2N1c1RyYXBQcm9wcz4gPSAoeyBjaGlsZHJlbiwgb25Gb2N1cywgb25MZWF2ZSB9KSA9PiB7XG4gIGNvbnN0IGJvZHlSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG4gIGNvbnN0IG9uTGVhdmVSZWYgPSB1c2VWYWx1ZVJlZjwoKSA9PiB2b2lkPihvbkxlYXZlKTtcblxuICBjb25zdCBoYW5kbGVCb2R5S2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhcbiAgICBldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBvbkxlYXZlUmVmLmN1cnJlbnQ/LigpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uTGVhdmVSZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRmlyc3RTZW50aW5lbEZvY3VzOiAoKSA9PiB2b2lkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGZvY3VzYWJsZXMgPSB0YWJiYWJsZUVsZW1lbnRzKGJvZHlSZWYuY3VycmVudCk7XG5cbiAgICBmb2N1c2FibGVzW2ZvY3VzYWJsZXMubGVuZ3RoIC0gMV0/LmZvY3VzKCk7XG4gIH0sIFtib2R5UmVmXSk7XG5cbiAgY29uc3QgaGFuZGxlTGFzdFNlbnRpbmVsRm9jdXM6ICgpID0+IHZvaWQgPSB1c2VDYWxsYmFjayhcbiAgICAoKSA9PiB0YWJiYWJsZUVsZW1lbnRzKGJvZHlSZWYuY3VycmVudClbMF0/LmZvY3VzKCksXG4gICAgW2JvZHlSZWZdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8RnJhZ21lbnQ+XG4gICAgICA8Rm9jdXNSZWRpcmVjdG9yIG9uRm9jdXM9e2hhbmRsZUZpcnN0U2VudGluZWxGb2N1c30gLz5cbiAgICAgIDxkaXYgb25Gb2N1cz17b25Gb2N1c30gb25LZXlEb3duPXtoYW5kbGVCb2R5S2V5RG93bn0gcmVmPXtib2R5UmVmfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgICA8Rm9jdXNSZWRpcmVjdG9yIG9uRm9jdXM9e2hhbmRsZUxhc3RTZW50aW5lbEZvY3VzfSAvPlxuICAgIDwvRnJhZ21lbnQ+XG4gICk7XG59O1xuXG5Gb2N1c1RyYXAuZGVmYXVsdFByb3BzID0ge1xuICBjaGlsZHJlbjogdW5kZWZpbmVkLFxuICBvbkZvY3VzOiB1bmRlZmluZWRcbn07XG5cbkZvY3VzVHJhcC5wcm9wVHlwZXMgPSB7XG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25MZWF2ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRm9jdXNUcmFwO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyboardHelp.d.ts","sourceRoot":"","sources":["../../src/Transcript/KeyboardHelp.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AA8BjC,QAAA,MAAM,YAAY,EAAE,GAAG,CAAC,EAAE,CAoPzB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|