next 15.1.1-canary.11 → 15.1.1-canary.12
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.
Potentially problematic release.
This version of next might be problematic. Click here for more details.
- package/dist/bin/next +1 -1
- package/dist/build/index.d.ts +5 -0
- package/dist/build/index.js +5 -2
- package/dist/build/index.js.map +1 -1
- package/dist/build/swc/index.js +1 -1
- package/dist/build/webpack-config.js +2 -2
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.d.ts +18 -0
- package/dist/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.js +92 -0
- package/dist/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.d.ts +7 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.js +120 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.js +19 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.js +30 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.d.ts +10 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.js +86 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.d.ts +7 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.js +29 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.d.ts +7 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.js +29 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.d.ts +7 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.js +29 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.d.ts +5 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.js +47 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.js +30 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.d.ts +10 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js +178 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.js +32 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.js +30 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.d.ts +8 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.js +62 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.js +62 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.js +19 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.d.ts +3 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.js +2749 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.js +30 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.d.ts +4 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.js +42 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.d.ts +10 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.js +67 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.d.ts +5 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.js +108 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.js +19 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.js +30 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.d.ts +7 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.js +36 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.js +32 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.js +30 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.d.ts +9 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.js +103 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.js +32 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.js +30 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.d.ts +7 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js +230 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.d.ts +5 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.js +74 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.d.ts +3 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.js +119 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/BuildError.d.ts +8 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/BuildError.js +100 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/BuildError.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/Errors.d.ts +19 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/Errors.js +392 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/Errors.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.d.ts +4 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.js +91 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.d.ts +4 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.js +116 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.d.ts +56 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.js +243 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.d.ts +6 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.js +92 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.d.ts +4 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.js +56 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.d.ts +8 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.js +59 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.js +51 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.d.ts +10 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.js +52 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.js +35 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.js +164 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.d.ts +11 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.js +50 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.js +38 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.js +83 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.js +33 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.d.ts +20 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.js +104 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.js +407 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.d.ts +4 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.js +88 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.js +25 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.d.ts +8 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.js +99 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.js +54 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.d.ts +3 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.js +21 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.d.ts +11 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.js +140 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.js +57 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.d.ts +4 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.js +121 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.d.ts +5 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.js +37 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.d.ts +5 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.js +129 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.d.ts +12 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.js +50 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.test.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.js +46 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.js +46 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.d.ts +3 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.js +43 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.js +34 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/Base.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/Base.js +37 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/Base.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.js +55 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.js +37 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.d.ts +9 -0
- package/dist/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.js +59 -0
- package/dist/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.js.map +1 -0
- package/dist/client/components/react-dev-overlay/app/OldReactDevOverlay.d.ts +18 -0
- package/dist/client/components/react-dev-overlay/app/OldReactDevOverlay.js +92 -0
- package/dist/client/components/react-dev-overlay/app/OldReactDevOverlay.js.map +1 -0
- package/dist/client/components/react-dev-overlay/app/ReactDevOverlay.d.ts +3 -18
- package/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js +4 -74
- package/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js.map +1 -1
- package/dist/client/components/react-dev-overlay/pages/OldReactDevOverlay.d.ts +9 -0
- package/dist/client/components/react-dev-overlay/pages/OldReactDevOverlay.js +59 -0
- package/dist/client/components/react-dev-overlay/pages/OldReactDevOverlay.js.map +1 -0
- package/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.d.ts +3 -9
- package/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js +5 -42
- package/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js.map +1 -1
- package/dist/client/components/react-dev-overlay/pages/hooks.d.ts +1 -1
- package/dist/client/components/react-dev-overlay/pages/hooks.js.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +2 -2
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/app-page.runtime.dev.js +2 -2
- package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
- package/dist/esm/build/index.js +5 -2
- package/dist/esm/build/index.js.map +1 -1
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/webpack-config.js +2 -2
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.js +76 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.js +102 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.js +3 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.js +15 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.js +70 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.js +13 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.js +13 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.js +13 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.js +7 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.js +15 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js +162 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.js +4 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.js +15 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.js +45 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.js +34 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.js +3 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.js +2732 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.js +15 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.js +25 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.js +50 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.js +90 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.js +3 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.js +15 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.js +19 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.js +4 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.js +15 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.js +75 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.js +4 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.js +15 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js +213 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.js +57 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.js +103 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/BuildError.js +71 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/BuildError.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/Errors.js +364 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/Errors.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.js +75 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.js +99 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.js +275 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.js +63 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.js +39 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.js +42 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.js +35 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.js +20 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.js +20 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.js +147 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.js +34 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.js +22 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.js +66 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.js +17 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.js +73 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.js +391 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.js +60 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.js +9 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.js +83 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.js +38 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.js +5 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.js +112 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.js +40 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.js +88 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.js +21 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.js +93 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.js +31 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.js +29 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.js +30 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.js +27 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.js +18 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/Base.js +20 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/Base.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.js +39 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.js +20 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.js +42 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/app/OldReactDevOverlay.js +76 -0
- package/dist/esm/client/components/react-dev-overlay/app/OldReactDevOverlay.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/app/ReactDevOverlay.js +3 -74
- package/dist/esm/client/components/react-dev-overlay/app/ReactDevOverlay.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/pages/OldReactDevOverlay.js +42 -0
- package/dist/esm/client/components/react-dev-overlay/pages/OldReactDevOverlay.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/pages/ReactDevOverlay.js +3 -40
- package/dist/esm/client/components/react-dev-overlay/pages/ReactDevOverlay.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/pages/hooks.js.map +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/server/config.js +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/server/config.js +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/server/lib/app-info-log.js +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/telemetry/events/session-stopped.js +2 -2
- package/dist/telemetry/events/version.js +2 -2
- package/package.json +15 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.ts"],"sourcesContent":["/* eslint-disable */\n// @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nimport _platform from 'next/dist/compiled/platform'\nimport cssEscape from 'next/dist/compiled/css.escape'\n\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return []\n }\n\n if (Array.isArray(input)) {\n return input\n }\n\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [input]\n }\n\n if (typeof input === 'string') {\n input = document.querySelectorAll(input)\n }\n\n if (input.length !== undefined) {\n return [].slice.call(input, 0)\n }\n\n throw new TypeError('unexpected input ' + String(input))\n}\n\nfunction contextToElement(_ref) {\n var context = _ref.context,\n _ref$label = _ref.label,\n label = _ref$label === undefined ? 'context-to-element' : _ref$label,\n resolveDocument = _ref.resolveDocument,\n defaultToDocument = _ref.defaultToDocument\n\n var element = nodeArray(context)[0]\n\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement\n }\n\n if (!element && defaultToDocument) {\n return document.documentElement\n }\n\n if (!element) {\n throw new TypeError(label + ' requires valid options.context')\n }\n\n if (\n element.nodeType !== Node.ELEMENT_NODE &&\n element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE\n ) {\n throw new TypeError(label + ' requires options.context to be an Element')\n }\n\n return element\n}\n\nfunction getShadowHost() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context\n\n var element = contextToElement({\n label: 'get/shadow-host',\n context: context,\n })\n\n // walk up to the root\n var container = null\n\n while (element) {\n container = element\n element = element.parentNode\n }\n\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (\n container.nodeType === container.DOCUMENT_FRAGMENT_NODE &&\n container.host\n ) {\n // the root is attached to a fragment node that has a host\n return container.host\n }\n\n return null\n}\n\nfunction getDocument(node) {\n if (!node) {\n return document\n }\n\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node\n }\n\n return node.ownerDocument || document\n}\n\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: 'is/active-element',\n resolveDocument: true,\n context: context,\n })\n\n var _document = getDocument(element)\n if (_document.activeElement === element) {\n return true\n }\n\n var shadowHost = getShadowHost({ context: element })\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true\n }\n\n return false\n}\n\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context\n\n var list = []\n var element = contextToElement({\n label: 'get/parents',\n context: context,\n })\n\n while (element) {\n list.push(element)\n // IE does know support parentElement on SVGElement\n element = element.parentNode\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null\n }\n }\n\n return list\n}\n\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\n\nvar names = [\n 'matches',\n 'webkitMatchesSelector',\n 'mozMatchesSelector',\n 'msMatchesSelector',\n]\nvar name = null\n\nfunction findMethodName(element) {\n names.some(function (_name) {\n if (!element[_name]) {\n return false\n }\n\n name = _name\n return true\n })\n}\n\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element)\n }\n\n return element[name](selector)\n}\n\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform))\n\n// operating system\nvar os = platform.os.family || ''\nvar ANDROID = os === 'Android'\nvar WINDOWS = os.slice(0, 7) === 'Windows'\nvar OSX = os === 'OS X'\nvar IOS = os === 'iOS'\n\n// layout\nvar BLINK = platform.layout === 'Blink'\nvar GECKO = platform.layout === 'Gecko'\nvar TRIDENT = platform.layout === 'Trident'\nvar EDGE = platform.layout === 'EdgeHTML'\nvar WEBKIT = platform.layout === 'WebKit'\n\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version)\nvar majorVersion = Math.floor(version)\nplatform.majorVersion = majorVersion\n\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK, // \"Chrome\", \"Chrome Mobile\", \"Opera\"\n GECKO: GECKO, // \"Firefox\"\n TRIDENT: TRIDENT, // \"Internet Explorer\"\n EDGE: EDGE, // \"Microsoft Edge\"\n WEBKIT: WEBKIT, // \"Safari\"\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11,\n}\n\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft,\n }\n\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement('iframe')\n iframe.setAttribute(\n 'style',\n 'position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;'\n )\n iframe.setAttribute('aria-live', 'off')\n iframe.setAttribute('aria-busy', 'true')\n iframe.setAttribute('aria-hidden', 'true')\n document.body.appendChild(iframe)\n\n var _window = iframe.contentWindow\n var _document = _window.document\n\n _document.open()\n _document.close()\n var wrapper = _document.createElement('div')\n _document.body.appendChild(wrapper)\n\n data.iframe = iframe\n data.wrapper = wrapper\n data.window = _window\n data.document = _document\n\n return data\n}\n\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = ''\n // create dummy element to test focusability of\n var element =\n typeof options.element === 'string'\n ? data.document.createElement(options.element)\n : options.element(data.wrapper, data.document)\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus =\n options.mutate && options.mutate(element, data.wrapper, data.document)\n if (!focus && focus !== false) {\n focus = element\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element)\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus()\n // validate test's result\n return options.validate\n ? options.validate(element, focus, data.document)\n : data.document.activeElement === focus\n}\n\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement &&\n document.activeElement.blur &&\n document.activeElement.blur()\n if (platform.is.IE10) {\n // IE10 does not redirect focus to <body> when the activeElement is removed\n document.body.focus()\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus()\n }\n\n document.body.removeChild(data.iframe)\n\n // restore scroll position\n window.scrollTop = data.windowScrollTop\n window.scrollLeft = data.windowScrollLeft\n document.body.scrollTop = data.bodyScrollTop\n document.body.scrollLeft = data.bodyScrollLeft\n}\n\nfunction detectFocus(tests) {\n var data = before()\n\n var results = {}\n Object.keys(tests).map(function (key) {\n results[key] = test(data, tests[key])\n })\n\n after(data)\n return results\n}\n\n// this file is overwritten by `npm run build:pre`\nvar version$1 = '1.4.1'\n\n/*\n Facility to cache test results in localStorage.\n\n USAGE:\n cache.get('key');\n cache.set('key', 'value');\n */\n\nfunction readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0\n\n try {\n data = window.localStorage && window.localStorage.getItem(key)\n data = data ? JSON.parse(data) : {}\n } catch (e) {\n data = {}\n }\n\n return data\n}\n\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key)\n } catch (e) {\n // ignore\n }\n\n return\n }\n\n try {\n window.localStorage &&\n window.localStorage.setItem(key, JSON.stringify(value))\n } catch (e) {\n // ignore\n }\n}\n\nvar userAgent =\n (typeof window !== 'undefined' && window.navigator.userAgent) || ''\nvar cacheKey = 'ally-supports-cache'\nvar cache = readLocalStorage(cacheKey)\n\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {}\n}\n\ncache.userAgent = userAgent\ncache.version = version$1\n\nvar cache$1 = {\n get: function get() {\n return cache\n },\n set: function set(values) {\n Object.keys(values).forEach(function (key) {\n cache[key] = values[key]\n })\n\n cache.time = new Date().toISOString()\n writeLocalStorage(cacheKey, cache)\n },\n}\n\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0\n\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector('html >>> :first-child')\n combinator = '>>>'\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector('html /deep/ :first-child')\n combinator = '/deep/'\n } catch (noDeep) {\n combinator = ''\n }\n }\n\n return combinator\n}\n\nvar gif =\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML =\n '<map name=\"image-map-tabindex-test\">' +\n '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' +\n '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" src=\"' +\n gif +\n '\">'\n\n return element.querySelector('area')\n },\n}\n\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaTabindex = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML =\n '<map name=\"image-map-tabindex-test\">' +\n '<area href=\"#void\" tabindex=\"-1\" shape=\"rect\" coords=\"63,19,144,45\"></map>' +\n '<img usemap=\"#image-map-tabindex-test\" alt=\"\" src=\"' +\n gif +\n '\">'\n\n return false\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true\n }\n\n var focus = element.querySelector('area')\n focus.focus()\n return _document.activeElement === focus\n },\n}\n\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaWithoutHref = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML =\n '<map name=\"image-map-area-href-test\">' +\n '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' +\n '<img usemap=\"#image-map-area-href-test\" alt=\"\" src=\"' +\n gif +\n '\">'\n\n return element.querySelector('area')\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true\n }\n\n return _document.activeElement === focusTarget\n },\n}\n\nvar focusAudioWithoutControls = {\n name: 'can-focus-audio-without-controls',\n element: 'audio',\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute('src', gif)\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n },\n}\n\nvar invalidGif =\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ'\n\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusBrokenImageMap = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML =\n '<map name=\"broken-image-map-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' +\n '<img usemap=\"#broken-image-map-test\" alt=\"\" src=\"' +\n invalidGif +\n '\">'\n\n return element.querySelector('area')\n },\n}\n\n// Children of focusable elements with display:flex are focusable in IE10-11\nvar focusChildrenOfFocusableFlexbox = {\n element: 'div',\n mutate: function mutate(element) {\n element.setAttribute('tabindex', '-1')\n element.setAttribute(\n 'style',\n 'display: -webkit-flex; display: -ms-flexbox; display: flex;'\n )\n element.innerHTML = '<span style=\"display: block;\">hello</span>'\n return element.querySelector('span')\n },\n}\n\n// fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree\n// @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\n// @browser-issue Chromium https://crbug.com/453847\n// @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086\nvar focusFieldsetDisabled = {\n element: 'fieldset',\n mutate: function mutate(element) {\n element.setAttribute('tabindex', 0)\n element.setAttribute('disabled', 'disabled')\n },\n}\n\nvar focusFieldset = {\n element: 'fieldset',\n mutate: function mutate(element) {\n element.innerHTML = '<legend>legend</legend><p>content</p>'\n },\n}\n\n// elements with display:flex are focusable in IE10-11\nvar focusFlexboxContainer = {\n element: 'span',\n mutate: function mutate(element) {\n element.setAttribute(\n 'style',\n 'display: -webkit-flex; display: -ms-flexbox; display: flex;'\n )\n element.innerHTML = '<span style=\"display: block;\">hello</span>'\n },\n}\n\n// form[tabindex=0][disabled] should be focusable as the\n// specification doesn't know the disabled attribute on the form element\n// @specification https://www.w3.org/TR/html5/forms.html#the-form-element\nvar focusFormDisabled = {\n element: 'form',\n mutate: function mutate(element) {\n element.setAttribute('tabindex', 0)\n element.setAttribute('disabled', 'disabled')\n },\n}\n\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// fixes https://github.com/medialize/ally.js/issues/20\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-ismap\nvar focusImgIsmap = {\n element: 'a',\n mutate: function mutate(element) {\n element.href = '#void'\n element.innerHTML = '<img ismap src=\"' + gif + '\" alt=\"\">'\n return element.querySelector('img')\n },\n}\n\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusImgUsemapTabindex = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML =\n '<map name=\"image-map-tabindex-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' +\n '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" ' +\n 'src=\"' +\n gif +\n '\">'\n\n return element.querySelector('img')\n },\n}\n\nvar focusInHiddenIframe = {\n element: function element(wrapper, _document) {\n var iframe = _document.createElement('iframe')\n\n // iframe must be part of the DOM before accessing the contentWindow is possible\n wrapper.appendChild(iframe)\n\n // create the iframe's default document (<html><head></head><body></body></html>)\n var iframeDocument = iframe.contentWindow.document\n iframeDocument.open()\n iframeDocument.close()\n return iframe\n },\n mutate: function mutate(iframe) {\n iframe.style.visibility = 'hidden'\n\n var iframeDocument = iframe.contentWindow.document\n var input = iframeDocument.createElement('input')\n iframeDocument.body.appendChild(input)\n return input\n },\n validate: function validate(iframe) {\n var iframeDocument = iframe.contentWindow.document\n var focus = iframeDocument.querySelector('input')\n return iframeDocument.activeElement === focus\n },\n}\n\nvar result = !platform.is.WEBKIT\n\nfunction focusInZeroDimensionObject() {\n return result\n}\n\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusInvalidTabindex = {\n element: 'div',\n mutate: function mutate(element) {\n element.setAttribute('tabindex', 'invalid-value')\n },\n}\n\nvar focusLabelTabindex = {\n element: 'label',\n mutate: function mutate(element) {\n element.setAttribute('tabindex', '-1')\n },\n validate: function validate(element, focusTarget, _document) {\n // force layout in Chrome 49, otherwise the element won't be focusable\n /* eslint-disable no-unused-vars */\n var variableToPreventDeadCodeElimination = element.offsetHeight\n /* eslint-enable no-unused-vars */\n element.focus()\n return _document.activeElement === element\n },\n}\n\nvar svg =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb' +\n 'G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ' +\n 'zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg=='\n\n// Note: IE10 on BrowserStack does not like this test\n\nvar focusObjectSvgHidden = {\n element: 'object',\n mutate: function mutate(element) {\n element.setAttribute('type', 'image/svg+xml')\n element.setAttribute('data', svg)\n element.setAttribute('width', '200')\n element.setAttribute('height', '50')\n element.style.visibility = 'hidden'\n },\n}\n\n// Note: IE10 on BrowserStack does not like this test\n\nvar focusObjectSvg = {\n name: 'can-focus-object-svg',\n element: 'object',\n mutate: function mutate(element) {\n element.setAttribute('type', 'image/svg+xml')\n element.setAttribute('data', svg)\n element.setAttribute('width', '200')\n element.setAttribute('height', '50')\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result.\n // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string\n return true\n }\n\n return _document.activeElement === element\n },\n}\n\n// Every Environment except IE9 considers SWF objects focusable\nvar result$1 = !platform.is.IE9\n\nfunction focusObjectSwf() {\n return result$1\n}\n\nvar focusRedirectImgUsemap = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML =\n '<map name=\"focus-redirect-img-usemap\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' +\n '<img usemap=\"#focus-redirect-img-usemap\" alt=\"\" ' +\n 'src=\"' +\n gif +\n '\">'\n\n // focus the <img>, not the <div>\n return element.querySelector('img')\n },\n validate: function validate(element, focusTarget, _document) {\n var target = element.querySelector('area')\n return _document.activeElement === target\n },\n}\n\n// see https://jsbin.com/nenirisage/edit?html,js,console,output\n\nvar focusRedirectLegend = {\n element: 'fieldset',\n mutate: function mutate(element) {\n element.innerHTML =\n '<legend>legend</legend><input tabindex=\"-1\"><input tabindex=\"0\">'\n // take care of focus in validate();\n return false\n },\n validate: function validate(element, focusTarget, _document) {\n var focusable = element.querySelector('input[tabindex=\"-1\"]')\n var tabbable = element.querySelector('input[tabindex=\"0\"]')\n\n // Firefox requires this test to focus the <fieldset> first, while this is not necessary in\n // https://jsbin.com/nenirisage/edit?html,js,console,output\n element.focus()\n\n element.querySelector('legend').focus()\n return (\n (_document.activeElement === focusable && 'focusable') ||\n (_document.activeElement === tabbable && 'tabbable') ||\n ''\n )\n },\n}\n\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollBody = {\n element: 'div',\n mutate: function mutate(element) {\n element.setAttribute('style', 'width: 100px; height: 50px; overflow: auto;')\n element.innerHTML =\n '<div style=\"width: 500px; height: 40px;\">scrollable content</div>'\n return element.querySelector('div')\n },\n}\n\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainerWithoutOverflow = {\n element: 'div',\n mutate: function mutate(element) {\n element.setAttribute('style', 'width: 100px; height: 50px;')\n element.innerHTML =\n '<div style=\"width: 500px; height: 40px;\">scrollable content</div>'\n },\n}\n\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainer = {\n element: 'div',\n mutate: function mutate(element) {\n element.setAttribute('style', 'width: 100px; height: 50px; overflow: auto;')\n element.innerHTML =\n '<div style=\"width: 500px; height: 40px;\">scrollable content</div>'\n },\n}\n\nvar focusSummary = {\n element: 'details',\n mutate: function mutate(element) {\n element.innerHTML = '<summary>foo</summary><p>content</p>'\n return element.firstElementChild\n },\n}\n\nfunction makeFocusableForeignObject() {\n // Constructs <foreignObject width=\"30\" height=\"30\"><input type=\"text\"/></foreignObject>\n // without raising a Trusted Types violation\n var foreignObject = document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'foreignObject'\n )\n foreignObject.width.baseVal.value = 30\n foreignObject.height.baseVal.value = 30\n foreignObject.appendChild(document.createElement('input'))\n foreignObject.lastChild.type = 'text'\n\n return foreignObject\n}\n\nfunction focusSvgForeignObjectHack(element) {\n // Edge13, Edge14: foreignObject focus hack\n // https://jsbin.com/kunehinugi/edit?html,js,output\n // https://jsbin.com/fajagi/3/edit?html,js,output\n var isSvgElement =\n element.ownerSVGElement || element.nodeName.toLowerCase() === 'svg'\n if (!isSvgElement) {\n return false\n }\n\n // inject and focus an <input> element into the SVG element to receive focus\n var foreignObject = makeFocusableForeignObject()\n element.appendChild(foreignObject)\n var input = foreignObject.querySelector('input')\n input.focus()\n\n // upon disabling the activeElement, IE and Edge\n // will not shift focus to <body> like all the other\n // browsers, but instead find the first focusable\n // ancestor and shift focus to that\n input.disabled = true\n\n // clean up\n element.removeChild(foreignObject)\n return true\n}\n\nfunction generate(element) {\n return (\n '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">' +\n element +\n '</svg>'\n )\n}\n\nfunction focus(element) {\n if (element.focus) {\n return\n }\n\n try {\n HTMLElement.prototype.focus.call(element)\n } catch (e) {\n focusSvgForeignObjectHack(element)\n }\n}\n\nfunction validate(element, focusTarget, _document) {\n focus(focusTarget)\n return _document.activeElement === focusTarget\n}\n\nvar focusSvgFocusableAttribute = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML = generate('<text focusable=\"true\">a</text>')\n return element.querySelector('text')\n },\n validate: validate,\n}\n\nvar focusSvgTabindexAttribute = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"0\">a</text>')\n return element.querySelector('text')\n },\n validate: validate,\n}\n\nvar focusSvgNegativeTabindexAttribute = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"-1\">a</text>')\n return element.querySelector('text')\n },\n validate: validate,\n}\n\nvar focusSvgUseTabindex = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML = generate(\n [\n '<g id=\"ally-test-target\"><a xlink:href=\"#void\"><text>link</text></a></g>',\n '<use xlink:href=\"#ally-test-target\" x=\"0\" y=\"0\" tabindex=\"-1\" />',\n ].join('')\n )\n\n return element.querySelector('use')\n },\n validate: validate,\n}\n\nvar focusSvgForeignobjectTabindex = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML = generate(\n '<foreignObject tabindex=\"-1\"><input type=\"text\" /></foreignObject>'\n )\n // Safari 8's querySelector() can't identify foreignObject, but getElementsByTagName() can\n return (\n element.querySelector('foreignObject') ||\n element.getElementsByTagName('foreignObject')[0]\n )\n },\n validate: validate,\n}\n\n// Firefox seems to be handling the SVG-document-in-iframe creation asynchronously\n// and thereby produces a false negative test result. Thus the test is pointless\n// and we resort to UA sniffing once again.\n// see http://jsbin.com/vunadohoko/1/edit?js,console,output\n\nvar result$2 = Boolean(\n platform.is.GECKO &&\n typeof SVGElement !== 'undefined' &&\n SVGElement.prototype.focus\n)\n\nfunction focusSvgInIframe() {\n return result$2\n}\n\nvar focusSvg = {\n element: 'div',\n mutate: function mutate(element) {\n element.innerHTML = generate('')\n return element.firstChild\n },\n validate: validate,\n}\n\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusTabindexTrailingCharacters = {\n element: 'div',\n mutate: function mutate(element) {\n element.setAttribute('tabindex', '3x')\n },\n}\n\nvar focusTable = {\n element: 'table',\n mutate: function mutate(element, wrapper, _document) {\n // IE9 has a problem replacing TBODY contents with innerHTML.\n // https://stackoverflow.com/a/8097055/515124\n // element.innerHTML = '<tr><td>cell</td></tr>';\n var fragment = _document.createDocumentFragment()\n fragment.innerHTML = '<tr><td>cell</td></tr>'\n element.appendChild(fragment)\n },\n}\n\nvar focusVideoWithoutControls = {\n element: 'video',\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute('src', gif)\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n },\n}\n\n// https://jsbin.com/vafaba/3/edit?html,js,console,output\nvar result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE\n\nfunction tabsequenceAreaAtImgPosition() {\n return result$3\n}\n\nvar testCallbacks = {\n cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator,\n focusInZeroDimensionObject: focusInZeroDimensionObject,\n focusObjectSwf: focusObjectSwf,\n focusSvgInIframe: focusSvgInIframe,\n tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition,\n}\n\nvar testDescriptions = {\n focusAreaImgTabindex: focusAreaImgTabindex,\n focusAreaTabindex: focusAreaTabindex,\n focusAreaWithoutHref: focusAreaWithoutHref,\n focusAudioWithoutControls: focusAudioWithoutControls,\n focusBrokenImageMap: focusBrokenImageMap,\n focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox,\n focusFieldsetDisabled: focusFieldsetDisabled,\n focusFieldset: focusFieldset,\n focusFlexboxContainer: focusFlexboxContainer,\n focusFormDisabled: focusFormDisabled,\n focusImgIsmap: focusImgIsmap,\n focusImgUsemapTabindex: focusImgUsemapTabindex,\n focusInHiddenIframe: focusInHiddenIframe,\n focusInvalidTabindex: focusInvalidTabindex,\n focusLabelTabindex: focusLabelTabindex,\n focusObjectSvg: focusObjectSvg,\n focusObjectSvgHidden: focusObjectSvgHidden,\n focusRedirectImgUsemap: focusRedirectImgUsemap,\n focusRedirectLegend: focusRedirectLegend,\n focusScrollBody: focusScrollBody,\n focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow,\n focusScrollContainer: focusScrollContainer,\n focusSummary: focusSummary,\n focusSvgFocusableAttribute: focusSvgFocusableAttribute,\n focusSvgTabindexAttribute: focusSvgTabindexAttribute,\n focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute,\n focusSvgUseTabindex: focusSvgUseTabindex,\n focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex,\n focusSvg: focusSvg,\n focusTabindexTrailingCharacters: focusTabindexTrailingCharacters,\n focusTable: focusTable,\n focusVideoWithoutControls: focusVideoWithoutControls,\n}\n\nfunction executeTests() {\n var results = detectFocus(testDescriptions)\n Object.keys(testCallbacks).forEach(function (key) {\n results[key] = testCallbacks[key]()\n })\n\n return results\n}\n\nvar supportsCache = null\n\nfunction _supports() {\n if (supportsCache) {\n return supportsCache\n }\n\n supportsCache = cache$1.get()\n if (!supportsCache.time) {\n cache$1.set(executeTests())\n supportsCache = cache$1.get()\n }\n\n return supportsCache\n}\n\nvar supports = void 0\n\n// https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers\n// NOTE: all browsers agree to allow trailing spaces as well\nvar validIntegerPatternNoTrailing = /^\\s*(-|\\+)?[0-9]+\\s*$/\nvar validIntegerPatternWithTrailing = /^\\s*(-|\\+)?[0-9]+.*$/\n\nfunction isValidTabindex(context) {\n if (!supports) {\n supports = _supports()\n }\n\n var validIntegerPattern = supports.focusTabindexTrailingCharacters\n ? validIntegerPatternWithTrailing\n : validIntegerPatternNoTrailing\n\n var element = contextToElement({\n label: 'is/valid-tabindex',\n resolveDocument: true,\n context: context,\n })\n\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute('tabindex')\n var hasTabIndex = element.hasAttribute('tabIndex')\n\n if (!hasTabindex && !hasTabIndex) {\n return false\n }\n\n // older Firefox and Internet Explorer don't support tabindex on SVG elements\n var isSvgElement =\n element.ownerSVGElement || element.nodeName.toLowerCase() === 'svg'\n if (isSvgElement && !supports.focusSvgTabindexAttribute) {\n return false\n }\n\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n if (supports.focusInvalidTabindex) {\n return true\n }\n\n // an element matches the tabindex selector even if its value is invalid\n var tabindex = element.getAttribute(hasTabindex ? 'tabindex' : 'tabIndex')\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965\n if (tabindex === '-32768') {\n return false\n }\n\n return Boolean(tabindex && validIntegerPattern.test(tabindex))\n}\n\nfunction tabindexValue(element) {\n if (!isValidTabindex(element)) {\n return null\n }\n\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute('tabindex')\n var attributeName = hasTabindex ? 'tabindex' : 'tabIndex'\n\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n var tabindex = parseInt(element.getAttribute(attributeName), 10)\n return isNaN(tabindex) ? -1 : tabindex\n}\n\n// this is a shared utility file for focus-relevant.js and tabbable.js\n// separate testing of this file's functions is not necessary,\n// as they're implicitly tested by way of the consumers\n\nfunction isUserModifyWritable(style) {\n // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify\n // https://github.com/medialize/ally.js/issues/17\n var userModify = style.webkitUserModify || ''\n return Boolean(userModify && userModify.indexOf('write') !== -1)\n}\n\nfunction hasCssOverflowScroll(style) {\n return [\n style.getPropertyValue('overflow'),\n style.getPropertyValue('overflow-x'),\n style.getPropertyValue('overflow-y'),\n ].some(function (overflow) {\n return overflow === 'auto' || overflow === 'scroll'\n })\n}\n\nfunction hasCssDisplayFlex(style) {\n return style.display.indexOf('flex') > -1\n}\n\nfunction isScrollableContainer(element, nodeName, parentNodeName, parentStyle) {\n if (nodeName !== 'div' && nodeName !== 'span') {\n // Internet Explorer advances scrollable containers and bodies to focusable\n // only if the scrollable container is <div> or <span> - this does *not*\n // happen for <section>, <article>, …\n return false\n }\n\n if (\n parentNodeName &&\n parentNodeName !== 'div' &&\n parentNodeName !== 'span' &&\n !hasCssOverflowScroll(parentStyle)\n ) {\n return false\n }\n\n return (\n element.offsetHeight < element.scrollHeight ||\n element.offsetWidth < element.scrollWidth\n )\n}\n\nvar supports$1 = void 0\n\nfunction isFocusRelevantRules() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n _ref$except = _ref.except,\n except =\n _ref$except === undefined\n ? {\n flexbox: false,\n scrollable: false,\n shadow: false,\n }\n : _ref$except\n\n if (!supports$1) {\n supports$1 = _supports()\n }\n\n var element = contextToElement({\n label: 'is/focus-relevant',\n resolveDocument: true,\n context: context,\n })\n\n if (!except.shadow && element.shadowRoot) {\n // a ShadowDOM host receives focus when the focus moves to its content\n return true\n }\n\n var nodeName = element.nodeName.toLowerCase()\n\n if (nodeName === 'input' && element.type === 'hidden') {\n // input[type=\"hidden\"] supports.cannot be focused\n return false\n }\n\n if (\n nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea'\n ) {\n return true\n }\n\n if (nodeName === 'legend' && supports$1.focusRedirectLegend) {\n // specifics filtered in is/focusable\n return true\n }\n\n if (nodeName === 'label') {\n // specifics filtered in is/focusable\n return true\n }\n\n if (nodeName === 'area') {\n // specifics filtered in is/focusable\n return true\n }\n\n if (nodeName === 'a' && element.hasAttribute('href')) {\n return true\n }\n\n if (nodeName === 'object' && element.hasAttribute('usemap')) {\n // object[usemap] is not focusable in any browser\n return false\n }\n\n if (nodeName === 'object') {\n var svgType = element.getAttribute('type')\n if (!supports$1.focusObjectSvg && svgType === 'image/svg+xml') {\n // object[type=\"image/svg+xml\"] is not focusable in Internet Explorer\n return false\n } else if (\n !supports$1.focusObjectSwf &&\n svgType === 'application/x-shockwave-flash'\n ) {\n // object[type=\"application/x-shockwave-flash\"] is not focusable in Internet Explorer 9\n return false\n }\n }\n\n if (nodeName === 'iframe' || nodeName === 'object') {\n // browsing context containers\n return true\n }\n\n if (nodeName === 'embed' || nodeName === 'keygen') {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true\n }\n\n if (element.hasAttribute('contenteditable')) {\n // also see CSS property user-modify below\n return true\n }\n\n if (\n nodeName === 'audio' &&\n (supports$1.focusAudioWithoutControls || element.hasAttribute('controls'))\n ) {\n return true\n }\n\n if (\n nodeName === 'video' &&\n (supports$1.focusVideoWithoutControls || element.hasAttribute('controls'))\n ) {\n return true\n }\n\n if (supports$1.focusSummary && nodeName === 'summary') {\n return true\n }\n\n var validTabindex = isValidTabindex(element)\n\n if (nodeName === 'img' && element.hasAttribute('usemap')) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return (\n (validTabindex && supports$1.focusImgUsemapTabindex) ||\n supports$1.focusRedirectImgUsemap\n )\n }\n\n if (supports$1.focusTable && (nodeName === 'table' || nodeName === 'td')) {\n // IE10-11 supports.can focus <table> and <td>\n return true\n }\n\n if (supports$1.focusFieldset && nodeName === 'fieldset') {\n // IE10-11 supports.can focus <fieldset>\n return true\n }\n\n var isSvgElement = nodeName === 'svg'\n var isSvgContent = element.ownerSVGElement\n var focusableAttribute = element.getAttribute('focusable')\n var tabindex = tabindexValue(element)\n\n if (\n nodeName === 'use' &&\n tabindex !== null &&\n !supports$1.focusSvgUseTabindex\n ) {\n // <use> cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit\n return false\n }\n\n if (nodeName === 'foreignobject') {\n // <use> can only be made focusable in Blink and WebKit\n return tabindex !== null && supports$1.focusSvgForeignobjectTabindex\n }\n\n if (elementMatches(element, 'svg a') && element.hasAttribute('xlink:href')) {\n return true\n }\n\n if (\n (isSvgElement || isSvgContent) &&\n element.focus &&\n !supports$1.focusSvgNegativeTabindexAttribute &&\n tabindex < 0\n ) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return false\n }\n\n if (isSvgElement) {\n return (\n validTabindex ||\n supports$1.focusSvg ||\n supports$1.focusSvgInIframe ||\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n Boolean(\n supports$1.focusSvgFocusableAttribute &&\n focusableAttribute &&\n focusableAttribute === 'true'\n )\n )\n }\n\n if (isSvgContent) {\n if (supports$1.focusSvgTabindexAttribute && validTabindex) {\n return true\n }\n\n if (supports$1.focusSvgFocusableAttribute) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n return focusableAttribute === 'true'\n }\n }\n\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n if (validTabindex) {\n return true\n }\n\n var style = window.getComputedStyle(element, null)\n if (isUserModifyWritable(style)) {\n return true\n }\n\n if (\n supports$1.focusImgIsmap &&\n nodeName === 'img' &&\n element.hasAttribute('ismap')\n ) {\n // IE10-11 considers the <img> in <a href><img ismap> focusable\n // https://github.com/medialize/ally.js/issues/20\n var hasLinkParent = getParents({ context: element }).some(\n function (parent) {\n return (\n parent.nodeName.toLowerCase() === 'a' && parent.hasAttribute('href')\n )\n }\n )\n\n if (hasLinkParent) {\n return true\n }\n }\n\n // https://github.com/medialize/ally.js/issues/21\n if (!except.scrollable && supports$1.focusScrollContainer) {\n if (supports$1.focusScrollContainerWithoutOverflow) {\n // Internet Explorer does will consider the scrollable area focusable\n // if the element is a <div> or a <span> and it is in fact scrollable,\n // regardless of the CSS overflow property\n if (isScrollableContainer(element, nodeName)) {\n return true\n }\n } else if (hasCssOverflowScroll(style)) {\n // Firefox requires proper overflow setting, IE does not necessarily\n // https://developer.mozilla.org/docs/Web/CSS/overflow\n return true\n }\n }\n\n if (\n !except.flexbox &&\n supports$1.focusFlexboxContainer &&\n hasCssDisplayFlex(style)\n ) {\n // elements with display:flex are focusable in IE10-11\n return true\n }\n\n var parent = element.parentElement\n if (!except.scrollable && parent) {\n var parentNodeName = parent.nodeName.toLowerCase()\n var parentStyle = window.getComputedStyle(parent, null)\n if (\n supports$1.focusScrollBody &&\n isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)\n ) {\n // scrollable bodies are focusable Internet Explorer\n // https://github.com/medialize/ally.js/issues/21\n return true\n }\n\n // Children of focusable elements with display:flex are focusable in IE10-11\n if (supports$1.focusChildrenOfFocusableFlexbox) {\n if (hasCssDisplayFlex(parentStyle)) {\n return true\n }\n }\n }\n\n // NOTE: elements marked as inert are not focusable,\n // but that property is not exposed to the DOM\n // https://www.w3.org/TR/html5/editing.html#inert\n\n return false\n}\n\n// bind exceptions to an iterator callback\nisFocusRelevantRules.except = function () {\n var except =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}\n\n var isFocusRelevant = function isFocusRelevant(context) {\n return isFocusRelevantRules({\n context: context,\n except: except,\n })\n }\n\n isFocusRelevant.rules = isFocusRelevantRules\n return isFocusRelevant\n}\n\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusRelevant = isFocusRelevantRules.except({})\n\nfunction findIndex(array, callback) {\n // attempt to use native or polyfilled Array#findIndex first\n if (array.findIndex) {\n return array.findIndex(callback)\n }\n\n var length = array.length\n\n // shortcut if the array is empty\n if (length === 0) {\n return -1\n }\n\n // otherwise loop over array\n for (var i = 0; i < length; i++) {\n if (callback(array[i], i, array)) {\n return i\n }\n }\n\n return -1\n}\n\nfunction getContentDocument(node) {\n try {\n // works on <object> and <iframe>\n return (\n node.contentDocument ||\n // works on <object> and <iframe>\n (node.contentWindow && node.contentWindow.document) ||\n // works on <object> and <iframe> that contain SVG\n (node.getSVGDocument && node.getSVGDocument()) ||\n null\n )\n } catch (e) {\n // SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement'\n // also IE may throw member not found exception e.g. on <object type=\"image/png\">\n return null\n }\n}\n\nfunction getWindow(node) {\n var _document = getDocument(node)\n return _document.defaultView || window\n}\n\nvar shadowPrefix = void 0\n\nfunction selectInShadows(selector) {\n if (typeof shadowPrefix !== 'string') {\n var operator = cssShadowPiercingDeepCombinator()\n if (operator) {\n shadowPrefix = ', html ' + operator + ' '\n }\n }\n\n if (!shadowPrefix) {\n return selector\n }\n\n return (\n selector +\n shadowPrefix +\n selector\n .replace(/\\s*,\\s*/g, ',')\n .split(',')\n .join(shadowPrefix)\n )\n}\n\nvar selector = void 0\n\nfunction findDocumentHostElement(_window) {\n if (!selector) {\n selector = selectInShadows('object, iframe')\n }\n\n if (_window._frameElement !== undefined) {\n return _window._frameElement\n }\n\n _window._frameElement = null\n\n var potentialHosts = _window.parent.document.querySelectorAll(selector)\n ;[].some.call(potentialHosts, function (element) {\n var _document = getContentDocument(element)\n if (_document !== _window.document) {\n return false\n }\n\n _window._frameElement = element\n return true\n })\n\n return _window._frameElement\n}\n\nfunction getFrameElement(element) {\n var _window = getWindow(element)\n if (!_window.parent || _window.parent === _window) {\n // if there is no parent browsing context,\n // we're not going to get a frameElement either way\n return null\n }\n\n try {\n // see https://developer.mozilla.org/docs/Web/API/Window/frameElement\n // does not work within <embed> anywhere, and not within in <object> in IE\n return _window.frameElement || findDocumentHostElement(_window)\n } catch (e) {\n return null\n }\n}\n\n// https://www.w3.org/TR/html5/rendering.html#being-rendered\n// <area> is not rendered, but we *consider* it visible to simplfiy this function's usage\nvar notRenderedElementsPattern = /^(area)$/\n\nfunction computedStyle(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property)\n}\n\nfunction notDisplayed(_path) {\n return _path.some(function (element) {\n // display:none is not visible (optimized away at layout)\n return computedStyle(element, 'display') === 'none'\n })\n}\n\nfunction notVisible(_path) {\n // https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L109-L114\n // NOTE: a nested element can reverse visibility:hidden|collapse by explicitly setting visibility:visible\n // NOTE: visibility can be [\"\", \"visible\", \"hidden\", \"collapse\"]\n var hidden = findIndex(_path, function (element) {\n var visibility = computedStyle(element, 'visibility')\n return visibility === 'hidden' || visibility === 'collapse'\n })\n\n if (hidden === -1) {\n // there is no hidden element\n return false\n }\n\n var visible = findIndex(_path, function (element) {\n return computedStyle(element, 'visibility') === 'visible'\n })\n\n if (visible === -1) {\n // there is no visible element (but a hidden element)\n return true\n }\n\n if (hidden < visible) {\n // there is a hidden element and it's closer than the first visible element\n return true\n }\n\n // there may be a hidden element, but the closest element is visible\n return false\n}\n\nfunction collapsedParent(_path) {\n var offset = 1\n if (_path[0].nodeName.toLowerCase() === 'summary') {\n offset = 2\n }\n\n return _path.slice(offset).some(function (element) {\n // \"content children\" of a closed details element are not visible\n return (\n element.nodeName.toLowerCase() === 'details' && element.open === false\n )\n })\n}\n\nfunction isVisibleRules() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n _ref$except = _ref.except,\n except =\n _ref$except === undefined\n ? {\n notRendered: false,\n cssDisplay: false,\n cssVisibility: false,\n detailsElement: false,\n browsingContext: false,\n }\n : _ref$except\n\n var element = contextToElement({\n label: 'is/visible',\n resolveDocument: true,\n context: context,\n })\n\n var nodeName = element.nodeName.toLowerCase()\n if (!except.notRendered && notRenderedElementsPattern.test(nodeName)) {\n return true\n }\n\n var _path = getParents({ context: element })\n\n // in Internet Explorer <audio> has a default display: none, where others have display: inline\n // but IE allows focusing <audio style=\"display:none\">, but not <div display:none><audio>\n // this is irrelevant to other browsers, as the controls attribute is required to make <audio> focusable\n var isAudioWithoutControls =\n nodeName === 'audio' && !element.hasAttribute('controls')\n if (\n !except.cssDisplay &&\n notDisplayed(isAudioWithoutControls ? _path.slice(1) : _path)\n ) {\n return false\n }\n\n if (!except.cssVisibility && notVisible(_path)) {\n return false\n }\n\n if (!except.detailsElement && collapsedParent(_path)) {\n return false\n }\n\n if (!except.browsingContext) {\n // elements within a browsing context are affected by the\n // browsing context host element's visibility and tabindex\n var frameElement = getFrameElement(element)\n var _isVisible = isVisibleRules.except(except)\n if (frameElement && !_isVisible(frameElement)) {\n return false\n }\n }\n\n return true\n}\n\n// bind exceptions to an iterator callback\nisVisibleRules.except = function () {\n var except =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}\n\n var isVisible = function isVisible(context) {\n return isVisibleRules({\n context: context,\n except: except,\n })\n }\n\n isVisible.rules = isVisibleRules\n return isVisible\n}\n\n// provide isVisible(context) as default iterator callback\nvar isVisible = isVisibleRules.except({})\n\nfunction getMapByName(name, _document) {\n // apparently getElementsByName() also considers id attribute in IE & opera\n // https://developer.mozilla.org/docs/Web/API/Document/getElementsByName\n var map = _document.querySelector('map[name=\"' + cssEscape(name) + '\"]')\n return map || null\n}\n\nfunction getImageOfArea(element) {\n var map = element.parentElement\n\n if (!map.name || map.nodeName.toLowerCase() !== 'map') {\n return null\n }\n\n // NOTE: image maps can also be applied to <object> with image content,\n // but no browser supports this at the moment\n\n // HTML5 specifies HTMLMapElement.images to be an HTMLCollection of all\n // <img> and <object> referencing the <map> element, but no browser implements this\n // https://www.w3.org/TR/html5/embedded-content-0.html#the-map-element\n // https://developer.mozilla.org/docs/Web/API/HTMLMapElement\n // the image must be valid and loaded for the map to take effect\n var _document = getDocument(element)\n return (\n _document.querySelector('img[usemap=\"#' + cssEscape(map.name) + '\"]') ||\n null\n )\n}\n\nvar supports$2 = void 0\n\n// https://developer.mozilla.org/docs/Web/HTML/Element/map\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n// https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L88-L107\nfunction isValidArea(context) {\n if (!supports$2) {\n supports$2 = _supports()\n }\n\n var element = contextToElement({\n label: 'is/valid-area',\n context: context,\n })\n\n var nodeName = element.nodeName.toLowerCase()\n if (nodeName !== 'area') {\n return false\n }\n\n var hasTabindex = element.hasAttribute('tabindex')\n if (!supports$2.focusAreaTabindex && hasTabindex) {\n // Blink and WebKit do not consider <area tabindex=\"-1\" href=\"#void\"> focusable\n return false\n }\n\n var img = getImageOfArea(element)\n if (!img || !isVisible(img)) {\n return false\n }\n\n // Firefox only allows fully loaded images to reference image maps\n // https://stereochro.me/ideas/detecting-broken-images-js\n if (\n !supports$2.focusBrokenImageMap &&\n (!img.complete ||\n !img.naturalHeight ||\n img.offsetWidth <= 0 ||\n img.offsetHeight <= 0)\n ) {\n return false\n }\n\n // Firefox supports.can focus area elements even if they don't have an href attribute\n if (!supports$2.focusAreaWithoutHref && !element.href) {\n // Internet explorer supports.can focus area elements without href if either\n // the area element or the image element has a tabindex attribute\n return (\n (supports$2.focusAreaTabindex && hasTabindex) ||\n (supports$2.focusAreaImgTabindex && img.hasAttribute('tabindex'))\n )\n }\n\n // https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n var childOfInteractive = getParents({ context: img })\n .slice(1)\n .some(function (_element) {\n var name = _element.nodeName.toLowerCase()\n return name === 'button' || name === 'a'\n })\n\n if (childOfInteractive) {\n return false\n }\n\n return true\n}\n\nvar supports$3 = void 0\n\n// https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\nvar disabledElementsPattern = void 0\nvar disabledElements = {\n input: true,\n select: true,\n textarea: true,\n button: true,\n fieldset: true,\n form: true,\n}\n\nfunction isNativeDisabledSupported(context) {\n if (!supports$3) {\n supports$3 = _supports()\n\n if (supports$3.focusFieldsetDisabled) {\n delete disabledElements.fieldset\n }\n\n if (supports$3.focusFormDisabled) {\n delete disabledElements.form\n }\n\n disabledElementsPattern = new RegExp(\n '^(' + Object.keys(disabledElements).join('|') + ')$'\n )\n }\n\n var element = contextToElement({\n label: 'is/native-disabled-supported',\n context: context,\n })\n\n var nodeName = element.nodeName.toLowerCase()\n return Boolean(disabledElementsPattern.test(nodeName))\n}\n\nvar supports$4 = void 0\n\nfunction isDisabledFieldset(element) {\n var nodeName = element.nodeName.toLowerCase()\n return nodeName === 'fieldset' && element.disabled\n}\n\nfunction isDisabledForm(element) {\n var nodeName = element.nodeName.toLowerCase()\n return nodeName === 'form' && element.disabled\n}\n\nfunction isDisabled(context) {\n if (!supports$4) {\n supports$4 = _supports()\n }\n\n var element = contextToElement({\n label: 'is/disabled',\n context: context,\n })\n\n if (element.hasAttribute('data-ally-disabled')) {\n // treat ally's element/disabled like the DOM native element.disabled\n return true\n }\n\n if (!isNativeDisabledSupported(element)) {\n // non-form elements do not support the disabled attribute\n return false\n }\n\n if (element.disabled) {\n // the element itself is disabled\n return true\n }\n\n var parents = getParents({ context: element })\n if (parents.some(isDisabledFieldset)) {\n // a parental <fieldset> is disabld and inherits the state onto this element\n return true\n }\n\n if (!supports$4.focusFormDisabled && parents.some(isDisabledForm)) {\n // a parental <form> is disabld and inherits the state onto this element\n return true\n }\n\n return false\n}\n\nfunction isOnlyTabbableRules() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n _ref$except = _ref.except,\n except =\n _ref$except === undefined\n ? {\n onlyFocusableBrowsingContext: false,\n visible: false,\n }\n : _ref$except\n\n var element = contextToElement({\n label: 'is/only-tabbable',\n resolveDocument: true,\n context: context,\n })\n\n if (!except.visible && !isVisible(element)) {\n return false\n }\n\n if (\n !except.onlyFocusableBrowsingContext &&\n (platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE)\n ) {\n var frameElement = getFrameElement(element)\n if (frameElement) {\n if (tabindexValue(frameElement) < 0) {\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n return false\n }\n }\n }\n\n var nodeName = element.nodeName.toLowerCase()\n var tabindex = tabindexValue(element)\n\n if (nodeName === 'label' && platform.is.GECKO) {\n // Firefox cannot focus, but tab to: label[tabindex=0]\n return tabindex !== null && tabindex >= 0\n }\n\n // SVG Elements were keyboard focusable but not script focusable before Firefox 51.\n // Firefox 51 added the focus management DOM API (.focus and .blur) to SVGElement,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=778654\n if (platform.is.GECKO && element.ownerSVGElement && !element.focus) {\n if (nodeName === 'a' && element.hasAttribute('xlink:href')) {\n // any focusable child of <svg> cannot be focused, but tabbed to\n if (platform.is.GECKO) {\n return true\n }\n }\n }\n\n return false\n}\n\n// bind exceptions to an iterator callback\nisOnlyTabbableRules.except = function () {\n var except =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}\n\n var isOnlyTabbable = function isOnlyTabbable(context) {\n return isOnlyTabbableRules({\n context: context,\n except: except,\n })\n }\n\n isOnlyTabbable.rules = isOnlyTabbableRules\n return isOnlyTabbable\n}\n\n// provide isOnlyTabbable(context) as default iterator callback\nvar isOnlyTabbable = isOnlyTabbableRules.except({})\n\nvar supports$5 = void 0\n\nfunction isOnlyFocusRelevant(element) {\n var nodeName = element.nodeName.toLowerCase()\n if (nodeName === 'embed' || nodeName === 'keygen') {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true\n }\n\n var _tabindex = tabindexValue(element)\n if (element.shadowRoot && _tabindex === null) {\n // ShadowDOM host elements *may* receive focus\n // even though they are not considered focuable\n return true\n }\n\n if (nodeName === 'label') {\n // <label tabindex=\"0\"> is only tabbable in Firefox, not script-focusable\n // there's no way to make an element focusable other than by adding a tabindex,\n // and focus behavior of the label element seems hard-wired to ignore tabindex\n // in some browsers (like Gecko, Blink and WebKit)\n return !supports$5.focusLabelTabindex || _tabindex === null\n }\n\n if (nodeName === 'legend') {\n return _tabindex === null\n }\n\n if (\n supports$5.focusSvgFocusableAttribute &&\n (element.ownerSVGElement || nodeName === 'svg')\n ) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n var focusableAttribute = element.getAttribute('focusable')\n return focusableAttribute && focusableAttribute === 'false'\n }\n\n if (nodeName === 'img' && element.hasAttribute('usemap')) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return _tabindex === null || !supports$5.focusImgUsemapTabindex\n }\n\n if (nodeName === 'area') {\n // all <area>s are considered relevant,\n // but only the valid <area>s are focusable\n return !isValidArea(element)\n }\n\n return false\n}\n\nfunction isFocusableRules() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n _ref$except = _ref.except,\n except =\n _ref$except === undefined\n ? {\n disabled: false,\n visible: false,\n onlyTabbable: false,\n }\n : _ref$except\n\n if (!supports$5) {\n supports$5 = _supports()\n }\n\n var _isOnlyTabbable = isOnlyTabbable.rules.except({\n onlyFocusableBrowsingContext: true,\n visible: except.visible,\n })\n\n var element = contextToElement({\n label: 'is/focusable',\n resolveDocument: true,\n context: context,\n })\n\n var focusRelevant = isFocusRelevant.rules({\n context: element,\n except: except,\n })\n\n if (!focusRelevant || isOnlyFocusRelevant(element)) {\n return false\n }\n\n if (!except.disabled && isDisabled(element)) {\n return false\n }\n\n if (!except.onlyTabbable && _isOnlyTabbable(element)) {\n // some elements may be keyboard focusable, but not script focusable\n return false\n }\n\n // elements that are not rendered, cannot be focused\n if (!except.visible) {\n var visibilityOptions = {\n context: element,\n except: {},\n }\n\n if (supports$5.focusInHiddenIframe) {\n // WebKit and Blink can focus content in hidden <iframe> and <object>\n visibilityOptions.except.browsingContext = true\n }\n\n if (supports$5.focusObjectSvgHidden) {\n // Blink allows focusing the object element, even if it has visibility: hidden;\n // @browser-issue Blink https://code.google.com/p/chromium/issues/detail?id=586191\n var _nodeName2 = element.nodeName.toLowerCase()\n if (_nodeName2 === 'object') {\n visibilityOptions.except.cssVisibility = true\n }\n }\n\n if (!isVisible.rules(visibilityOptions)) {\n return false\n }\n }\n\n var frameElement = getFrameElement(element)\n if (frameElement) {\n var _nodeName = frameElement.nodeName.toLowerCase()\n if (_nodeName === 'object' && !supports$5.focusInZeroDimensionObject) {\n if (!frameElement.offsetWidth || !frameElement.offsetHeight) {\n // WebKit can not focus content in <object> if it doesn't have dimensions\n return false\n }\n }\n }\n\n var nodeName = element.nodeName.toLowerCase()\n if (\n nodeName === 'svg' &&\n supports$5.focusSvgInIframe &&\n !frameElement &&\n element.getAttribute('tabindex') === null\n ) {\n return false\n }\n\n return true\n}\n\n// bind exceptions to an iterator callback\nisFocusableRules.except = function () {\n var except =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}\n\n var isFocusable = function isFocusable(context) {\n return isFocusableRules({\n context: context,\n except: except,\n })\n }\n\n isFocusable.rules = isFocusableRules\n return isFocusable\n}\n\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusable = isFocusableRules.except({})\n\nfunction createFilter(condition) {\n // see https://developer.mozilla.org/docs/Web/API/NodeFilter\n var filter = function filter(node) {\n if (node.shadowRoot) {\n // return ShadowRoot elements regardless of them being focusable,\n // so they can be walked recursively later\n return NodeFilter.FILTER_ACCEPT\n }\n\n if (condition(node)) {\n // finds elements that could have been found by document.querySelectorAll()\n return NodeFilter.FILTER_ACCEPT\n }\n\n return NodeFilter.FILTER_SKIP\n }\n // IE requires a function, Browsers require {acceptNode: function}\n // see http://www.bennadel.com/blog/2607-finding-html-comment-nodes-in-the-dom-using-treewalker.htm\n filter.acceptNode = filter\n return filter\n}\n\nvar PossiblyFocusableFilter = createFilter(isFocusRelevant)\n\nfunction queryFocusableStrict() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n includeContext = _ref.includeContext,\n includeOnlyTabbable = _ref.includeOnlyTabbable,\n strategy = _ref.strategy\n\n if (!context) {\n context = document.documentElement\n }\n\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable,\n })\n\n var _document = getDocument(context)\n // see https://developer.mozilla.org/docs/Web/API/Document/createTreeWalker\n var walker = _document.createTreeWalker(\n // root element to start search in\n context,\n // element type filter\n NodeFilter.SHOW_ELEMENT,\n // custom NodeFilter filter\n strategy === 'all' ? PossiblyFocusableFilter : createFilter(_isFocusable),\n // deprecated, but IE requires it\n false\n )\n\n var list = []\n\n while (walker.nextNode()) {\n if (walker.currentNode.shadowRoot) {\n if (_isFocusable(walker.currentNode)) {\n list.push(walker.currentNode)\n }\n\n list = list.concat(\n queryFocusableStrict({\n context: walker.currentNode.shadowRoot,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy,\n })\n )\n } else {\n list.push(walker.currentNode)\n }\n }\n\n // add context if requested and focusable\n if (includeContext) {\n if (strategy === 'all') {\n if (isFocusRelevant(context)) {\n list.unshift(context)\n }\n } else if (_isFocusable(context)) {\n list.unshift(context)\n }\n }\n\n return list\n}\n\n// NOTE: this selector MUST *never* be used directly,\nvar supports$6 = void 0\n\nvar selector$1 = void 0\n\nfunction selector$2() {\n if (!supports$6) {\n supports$6 = _supports()\n }\n\n if (typeof selector$1 === 'string') {\n return selector$1\n }\n\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n selector$1 =\n '' +\n // IE11 supports.can focus <table> and <td>\n (supports$6.focusTable ? 'table, td,' : '') +\n // IE11 supports.can focus <fieldset>\n (supports$6.focusFieldset ? 'fieldset,' : '') +\n // Namespace problems of [xlink:href] explained in https://stackoverflow.com/a/23047888/515124\n // svg a[*|href] does not match in IE9, but since we're filtering\n // through is/focusable we can include all <a> from SVG\n 'svg a,' +\n // may behave as 'svg, svg *,' in chrome as *every* svg element with a focus event listener is focusable\n // navigational elements\n 'a[href],' +\n // validity determined by is/valid-area.js\n 'area[href],' +\n // validity determined by is/disabled.js\n 'input, select, textarea, button,' +\n // browsing context containers\n 'iframe, object, embed,' +\n // interactive content\n 'keygen,' +\n (supports$6.focusAudioWithoutControls ? 'audio,' : 'audio[controls],') +\n (supports$6.focusVideoWithoutControls ? 'video,' : 'video[controls],') +\n (supports$6.focusSummary ? 'summary,' : '') +\n // validity determined by is/valid-tabindex.js\n '[tabindex],' +\n // editing hosts\n '[contenteditable]'\n\n // where ShadowDOM is supported, we also want the shadowed focusable elements (via \">>>\" or \"/deep/\")\n selector$1 = selectInShadows(selector$1)\n\n return selector$1\n}\n\nfunction queryFocusableQuick() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n includeContext = _ref.includeContext,\n includeOnlyTabbable = _ref.includeOnlyTabbable\n\n var _selector = selector$2()\n var elements = context.querySelectorAll(_selector)\n // the selector potentially matches more than really is focusable\n\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable,\n })\n\n var result = [].filter.call(elements, _isFocusable)\n\n // add context if requested and focusable\n if (includeContext && _isFocusable(context)) {\n result.unshift(context)\n }\n\n return result\n}\n\nfunction queryFocusable() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n includeContext = _ref.includeContext,\n includeOnlyTabbable = _ref.includeOnlyTabbable,\n _ref$strategy = _ref.strategy,\n strategy = _ref$strategy === undefined ? 'quick' : _ref$strategy\n\n var element = contextToElement({\n label: 'query/focusable',\n resolveDocument: true,\n defaultToDocument: true,\n context: context,\n })\n\n var options = {\n context: element,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy,\n }\n\n if (strategy === 'quick') {\n return queryFocusableQuick(options)\n } else if (strategy === 'strict' || strategy === 'all') {\n return queryFocusableStrict(options)\n }\n\n throw new TypeError(\n 'query/focusable requires option.strategy to be one of [\"quick\", \"strict\", \"all\"]'\n )\n}\n\nvar supports$7 = void 0\n\n// Internet Explorer 11 considers fieldset, table, td focusable, but not tabbable\n// Internet Explorer 11 considers body to have [tabindex=0], but does not allow tabbing to it\nvar focusableElementsPattern = /^(fieldset|table|td|body)$/\n\nfunction isTabbableRules() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n _ref$except = _ref.except,\n except =\n _ref$except === undefined\n ? {\n flexbox: false,\n scrollable: false,\n shadow: false,\n visible: false,\n onlyTabbable: false,\n }\n : _ref$except\n\n if (!supports$7) {\n supports$7 = _supports()\n }\n\n var element = contextToElement({\n label: 'is/tabbable',\n resolveDocument: true,\n context: context,\n })\n\n if (platform.is.BLINK && platform.is.ANDROID && platform.majorVersion > 42) {\n // External keyboard support worked fine in CHrome 42, but stopped working in Chrome 45.\n // The on-screen keyboard does not provide a way to focus the next input element (like iOS does).\n // That leaves us with no option to advance focus by keyboard, ergo nothing is tabbable (keyboard focusable).\n return false\n }\n\n var frameElement = getFrameElement(element)\n if (frameElement) {\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only does not consider anything from another browsing context keyboard focusable\n return false\n }\n\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n if (tabindexValue(frameElement) < 0) {\n return false\n }\n\n if (\n !except.visible &&\n (platform.is.BLINK || platform.is.WEBKIT) &&\n !isVisible(frameElement)\n ) {\n // Blink and WebKit consider elements in hidden browsing contexts focusable, but not tabbable\n return false\n }\n\n // Webkit and Blink don't consider anything in <object> tabbable\n // Blink fixed that fixed in Chrome 54, Opera 41\n var frameNodeName = frameElement.nodeName.toLowerCase()\n if (frameNodeName === 'object') {\n var isFixedBlink =\n (platform.name === 'Chrome' && platform.majorVersion >= 54) ||\n (platform.name === 'Opera' && platform.majorVersion >= 41)\n\n if (platform.is.WEBKIT || (platform.is.BLINK && !isFixedBlink)) {\n return false\n }\n }\n }\n\n var nodeName = element.nodeName.toLowerCase()\n var _tabindex = tabindexValue(element)\n var tabindex = _tabindex === null ? null : _tabindex >= 0\n\n if (\n platform.is.EDGE &&\n platform.majorVersion >= 14 &&\n frameElement &&\n element.ownerSVGElement &&\n _tabindex < 0\n ) {\n // Edge 14+ considers <a xlink:href=\"…\" tabindex=\"-1\"> keyboard focusable\n // if the element is in a nested browsing context\n return true\n }\n\n var hasTabbableTabindexOrNone = tabindex !== false\n var hasTabbableTabindex = _tabindex !== null && _tabindex >= 0\n\n // NOTE: Firefox 31 considers [contenteditable] to have [tabindex=-1], but allows tabbing to it\n // fixed in Firefox 40 the latest - https://bugzilla.mozilla.org/show_bug.cgi?id=1185657\n if (element.hasAttribute('contenteditable')) {\n // tabbing can still be disabled by explicitly providing [tabindex=\"-1\"]\n return hasTabbableTabindexOrNone\n }\n\n if (focusableElementsPattern.test(nodeName) && tabindex !== true) {\n return false\n }\n\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only considers a hand full of elements tabbable (keyboard focusable)\n // this holds true even with external keyboards\n var potentiallyTabbable =\n (nodeName === 'input' && element.type === 'text') ||\n element.type === 'password' ||\n nodeName === 'select' ||\n nodeName === 'textarea' ||\n element.hasAttribute('contenteditable')\n\n if (!potentiallyTabbable) {\n var style = window.getComputedStyle(element, null)\n potentiallyTabbable = isUserModifyWritable(style)\n }\n\n if (!potentiallyTabbable) {\n return false\n }\n }\n\n if (nodeName === 'use' && _tabindex !== null) {\n if (\n platform.is.BLINK ||\n (platform.is.WEBKIT && platform.majorVersion === 9)\n ) {\n // In Chrome and Safari 9 the <use> element is keyboard focusable even for tabindex=\"-1\"\n return true\n }\n }\n\n if (elementMatches(element, 'svg a') && element.hasAttribute('xlink:href')) {\n if (hasTabbableTabindexOrNone) {\n // in Trident and Gecko SVGElement does not handle the tabIndex property properly\n return true\n }\n\n if (element.focus && !supports$7.focusSvgNegativeTabindexAttribute) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return true\n }\n }\n\n if (\n nodeName === 'svg' &&\n supports$7.focusSvgInIframe &&\n hasTabbableTabindexOrNone\n ) {\n return true\n }\n\n if (platform.is.TRIDENT || platform.is.EDGE) {\n if (nodeName === 'svg') {\n if (supports$7.focusSvg) {\n // older Internet Explorers consider <svg> keyboard focusable\n // unless they have focsable=\"false\", but then they wouldn't\n // be focusable and thus not even reach this filter\n return true\n }\n\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute('focusable') || hasTabbableTabindex\n }\n\n if (element.ownerSVGElement) {\n if (supports$7.focusSvgTabindexAttribute && hasTabbableTabindex) {\n return true\n }\n\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute('focusable')\n }\n }\n if (element.tabIndex === undefined) {\n return Boolean(except.onlyTabbable)\n }\n\n if (nodeName === 'audio') {\n if (!element.hasAttribute('controls')) {\n // In Internet Explorer the <audio> element is focusable, but not tabbable, and tabIndex property is wrong\n return false\n } else if (platform.is.BLINK) {\n // In Chrome <audio controls tabindex=\"-1\"> remains keyboard focusable\n return true\n }\n }\n\n if (nodeName === 'video') {\n if (!element.hasAttribute('controls')) {\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // In Internet Explorer and Edge the <video> element is focusable, but not tabbable, and tabIndex property is wrong\n return false\n }\n } else if (platform.is.BLINK || platform.is.GECKO) {\n // In Chrome and Firefox <video controls tabindex=\"-1\"> remains keyboard focusable\n return true\n }\n }\n\n if (nodeName === 'object') {\n if (platform.is.BLINK || platform.is.WEBKIT) {\n // In all Blink and WebKit based browsers <embed> and <object> are never keyboard focusable, even with tabindex=\"0\" set\n return false\n }\n }\n\n if (nodeName === 'iframe') {\n // In Internet Explorer all iframes are only focusable\n // In WebKit, Blink and Gecko iframes may be tabbable depending on content.\n // Since we can't reliably investigate iframe documents because of the\n // SameOriginPolicy, we're declaring everything only focusable.\n return false\n }\n\n if (!except.scrollable && platform.is.GECKO) {\n // Firefox considers scrollable containers keyboard focusable,\n // even though their tabIndex property is -1\n var _style = window.getComputedStyle(element, null)\n if (hasCssOverflowScroll(_style)) {\n return hasTabbableTabindexOrNone\n }\n }\n\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // IE and Edge degrade <area> to script focusable, if the image\n // using the <map> has been given tabindex=\"-1\"\n if (nodeName === 'area') {\n var img = getImageOfArea(element)\n if (img && tabindexValue(img) < 0) {\n return false\n }\n }\n\n var _style2 = window.getComputedStyle(element, null)\n if (isUserModifyWritable(_style2)) {\n // prevent being swallowed by the overzealous isScrollableContainer() below\n return element.tabIndex >= 0\n }\n\n if (!except.flexbox && hasCssDisplayFlex(_style2)) {\n if (_tabindex !== null) {\n return hasTabbableTabindex\n }\n\n return (\n isFocusRelevantWithoutFlexbox(element) &&\n isTabbableWithoutFlexbox(element)\n )\n }\n\n // IE considers scrollable containers script focusable only,\n // even though their tabIndex property is 0\n if (isScrollableContainer(element, nodeName)) {\n return false\n }\n\n var parent = element.parentElement\n if (parent) {\n var parentNodeName = parent.nodeName.toLowerCase()\n var parentStyle = window.getComputedStyle(parent, null)\n // IE considers scrollable bodies script focusable only,\n if (\n isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)\n ) {\n return false\n }\n\n // Children of focusable elements with display:flex are focusable in IE10-11,\n // even though their tabIndex property suggests otherwise\n if (hasCssDisplayFlex(parentStyle)) {\n // value of tabindex takes precedence\n return hasTabbableTabindex\n }\n }\n }\n\n // https://www.w3.org/WAI/PF/aria-practices/#focus_tabindex\n return element.tabIndex >= 0\n}\n\n// bind exceptions to an iterator callback\nisTabbableRules.except = function () {\n var except =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}\n\n var isTabbable = function isTabbable(context) {\n return isTabbableRules({\n context: context,\n except: except,\n })\n }\n\n isTabbable.rules = isTabbableRules\n return isTabbable\n}\n\nvar isFocusRelevantWithoutFlexbox = isFocusRelevant.rules.except({\n flexbox: true,\n})\nvar isTabbableWithoutFlexbox = isTabbableRules.except({ flexbox: true })\n\n// provide isTabbable(context) as default iterator callback\nvar isTabbable = isTabbableRules.except({})\n\nfunction queryTabbable() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n includeContext = _ref.includeContext,\n includeOnlyTabbable = _ref.includeOnlyTabbable,\n strategy = _ref.strategy\n\n var _isTabbable = isTabbable.rules.except({\n onlyTabbable: includeOnlyTabbable,\n })\n\n return queryFocusable({\n context: context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy,\n }).filter(_isTabbable)\n}\n\n// sorts a list of elements according to their order in the DOM\n\nfunction compareDomPosition(a, b) {\n return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING\n ? -1\n : 1\n}\n\nfunction sortDomOrder(elements) {\n return elements.sort(compareDomPosition)\n}\n\nfunction getFirstSuccessorOffset(list, target) {\n // find the first element that comes AFTER the target element\n return findIndex(list, function (element) {\n return (\n target.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_FOLLOWING\n )\n })\n}\n\nfunction findInsertionOffsets(list, elements, resolveElement) {\n // instead of mutating the elements list directly, remember position and map\n // to inject later, when we can do this more efficiently\n var insertions = []\n elements.forEach(function (element) {\n var replace = true\n var offset = list.indexOf(element)\n\n if (offset === -1) {\n // element is not in target list\n offset = getFirstSuccessorOffset(list, element)\n replace = false\n }\n\n if (offset === -1) {\n // there is no successor in the tabsequence,\n // meaning the image must be the last element\n offset = list.length\n }\n\n // allow the consumer to replace the injected element\n var injections = nodeArray(\n resolveElement ? resolveElement(element) : element\n )\n if (!injections.length) {\n // we can't inject zero elements\n return\n }\n\n insertions.push({\n offset: offset,\n replace: replace,\n elements: injections,\n })\n })\n\n return insertions\n}\n\nfunction insertElementsAtOffsets(list, insertions) {\n // remember the number of elements we have already injected\n // so we account for the caused index offset\n var inserted = 0\n // make sure that we insert the elements in sequence,\n // otherwise the offset compensation won't work\n insertions.sort(function (a, b) {\n return a.offset - b.offset\n })\n insertions.forEach(function (insertion) {\n // array.splice has an annoying function signature :(\n var remove = insertion.replace ? 1 : 0\n var args = [insertion.offset + inserted, remove].concat(insertion.elements)\n list.splice.apply(list, args)\n inserted += insertion.elements.length - remove\n })\n}\n\nfunction mergeInDomOrder() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n list = _ref.list,\n elements = _ref.elements,\n resolveElement = _ref.resolveElement\n\n // operate on a copy so we don't mutate the original array\n var _list = list.slice(0)\n // make sure the elements we're injecting are provided in DOM order\n var _elements = nodeArray(elements).slice(0)\n sortDomOrder(_elements)\n // find the offsets within the target array (list) at which to inject\n // each individual element (from elements)\n var insertions = findInsertionOffsets(_list, _elements, resolveElement)\n // actually inject the elements into the target array at the identified positions\n insertElementsAtOffsets(_list, insertions)\n return _list\n}\n\nvar _createClass = (function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i]\n descriptor.enumerable = descriptor.enumerable || false\n descriptor.configurable = true\n if ('value' in descriptor) descriptor.writable = true\n Object.defineProperty(target, descriptor.key, descriptor)\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps)\n if (staticProps) defineProperties(Constructor, staticProps)\n return Constructor\n }\n})()\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function')\n }\n}\n\nvar Maps = (function () {\n function Maps(context) {\n _classCallCheck(this, Maps)\n\n this._document = getDocument(context)\n this.maps = {}\n }\n\n _createClass(Maps, [\n {\n key: 'getAreasFor',\n value: function getAreasFor(name) {\n if (!this.maps[name]) {\n // the map is not defined within the context, so we\n // have to go find it elsewhere in the document\n this.addMapByName(name)\n }\n\n return this.maps[name]\n },\n },\n {\n key: 'addMapByName',\n value: function addMapByName(name) {\n var map = getMapByName(name, this._document)\n if (!map) {\n // if there is no map, the img[usemap] wasn't doing anything anyway\n return\n }\n\n this.maps[map.name] = queryTabbable({ context: map })\n },\n },\n {\n key: 'extractAreasFromList',\n value: function extractAreasFromList(elements) {\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n return elements.filter(function (element) {\n var nodeName = element.nodeName.toLowerCase()\n if (nodeName !== 'area') {\n return true\n }\n\n var map = element.parentNode\n if (!this.maps[map.name]) {\n this.maps[map.name] = []\n }\n\n this.maps[map.name].push(element)\n return false\n }, this)\n },\n },\n ])\n\n return Maps\n})()\n\nfunction sortArea(elements, context) {\n // images - unless they are focusable themselves, likely not\n // part of the elements list, so we'll have to find them and\n // sort them into the elements list manually\n var usemaps = context.querySelectorAll('img[usemap]')\n var maps = new Maps(context)\n\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n var _elements = maps.extractAreasFromList(elements)\n\n if (!usemaps.length) {\n // the context does not contain any <area>s so no need\n // to replace anything, just remove any maps\n return _elements\n }\n\n return mergeInDomOrder({\n list: _elements,\n elements: usemaps,\n resolveElement: function resolveElement(image) {\n var name = image.getAttribute('usemap').slice(1)\n return maps.getAreasFor(name)\n },\n })\n}\n\nvar _createClass$1 = (function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i]\n descriptor.enumerable = descriptor.enumerable || false\n descriptor.configurable = true\n if ('value' in descriptor) descriptor.writable = true\n Object.defineProperty(target, descriptor.key, descriptor)\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps)\n if (staticProps) defineProperties(Constructor, staticProps)\n return Constructor\n }\n})()\n\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function')\n }\n}\n\nvar Shadows = (function () {\n function Shadows(context, sortElements) {\n _classCallCheck$1(this, Shadows)\n\n // document context we're working with\n this.context = context\n // callback that sorts an array of elements\n this.sortElements = sortElements\n // reference to create unique IDs for each ShadowHost\n this.hostCounter = 1\n // reference map for child-ShadowHosts of a ShadowHost\n this.inHost = {}\n // reference map for child-ShadowHost of the document\n this.inDocument = []\n // reference map for ShadowHosts\n this.hosts = {}\n // reference map for tabbable elements of a ShadowHost\n this.elements = {}\n }\n\n // remember which hosts we have to sort within later\n\n _createClass$1(Shadows, [\n {\n key: '_registerHost',\n value: function _registerHost(host) {\n if (host._sortingId) {\n return\n }\n\n // make the ShadowHost identifiable (see cleanup() for undo)\n host._sortingId = 'shadow-' + this.hostCounter++\n this.hosts[host._sortingId] = host\n\n // hosts may contain other hosts\n var parentHost = getShadowHost({ context: host })\n if (parentHost) {\n this._registerHost(parentHost)\n this._registerHostParent(host, parentHost)\n } else {\n this.inDocument.push(host)\n }\n },\n\n // remember which host is the child of which other host\n },\n {\n key: '_registerHostParent',\n value: function _registerHostParent(host, parent) {\n if (!this.inHost[parent._sortingId]) {\n this.inHost[parent._sortingId] = []\n }\n\n this.inHost[parent._sortingId].push(host)\n },\n\n // remember which elements a host contains\n },\n {\n key: '_registerElement',\n value: function _registerElement(element, host) {\n if (!this.elements[host._sortingId]) {\n this.elements[host._sortingId] = []\n }\n\n this.elements[host._sortingId].push(element)\n },\n\n // remove shadowed elements from the sequence and register\n // the ShadowHosts they belong to so we know what to sort\n // later on\n },\n {\n key: 'extractElements',\n value: function extractElements(elements) {\n return elements.filter(function (element) {\n var host = getShadowHost({ context: element })\n if (!host) {\n return true\n }\n\n this._registerHost(host)\n this._registerElement(element, host)\n return false\n }, this)\n },\n\n // inject hosts into the sequence, sort everything,\n // and recoursively replace hosts by its descendants\n },\n {\n key: 'sort',\n value: function sort(elements) {\n var _elements = this._injectHosts(elements)\n _elements = this._replaceHosts(_elements)\n this._cleanup()\n return _elements\n },\n\n // merge ShadowHosts into the element lists of other ShadowHosts\n // or the document, then sort the individual lists\n },\n {\n key: '_injectHosts',\n value: function _injectHosts(elements) {\n Object.keys(this.hosts).forEach(function (_sortingId) {\n var _list = this.elements[_sortingId]\n var _elements = this.inHost[_sortingId]\n var _context = this.hosts[_sortingId].shadowRoot\n this.elements[_sortingId] = this._merge(_list, _elements, _context)\n }, this)\n\n return this._merge(elements, this.inDocument, this.context)\n },\n },\n {\n key: '_merge',\n value: function _merge(list, elements, context) {\n var merged = mergeInDomOrder({\n list: list,\n elements: elements,\n })\n\n return this.sortElements(merged, context)\n },\n },\n {\n key: '_replaceHosts',\n value: function _replaceHosts(elements) {\n return mergeInDomOrder({\n list: elements,\n elements: this.inDocument,\n resolveElement: this._resolveHostElement.bind(this),\n })\n },\n },\n {\n key: '_resolveHostElement',\n value: function _resolveHostElement(host) {\n var merged = mergeInDomOrder({\n list: this.elements[host._sortingId],\n elements: this.inHost[host._sortingId],\n resolveElement: this._resolveHostElement.bind(this),\n })\n\n var _tabindex = tabindexValue(host)\n if (_tabindex !== null && _tabindex > -1) {\n return [host].concat(merged)\n }\n\n return merged\n },\n },\n {\n key: '_cleanup',\n value: function _cleanup() {\n // remove those identifers we put on the ShadowHost to avoid using Map()\n Object.keys(this.hosts).forEach(function (key) {\n delete this.hosts[key]._sortingId\n }, this)\n },\n },\n ])\n\n return Shadows\n})()\n\nfunction sortShadowed(elements, context, sortElements) {\n var shadows = new Shadows(context, sortElements)\n var _elements = shadows.extractElements(elements)\n\n if (_elements.length === elements.length) {\n // no shadowed content found, no need to continue\n return sortElements(elements)\n }\n\n return shadows.sort(_elements)\n}\n\nfunction sortTabindex(elements) {\n // https://developer.mozilla.org/docs/Web/API/HTMLElement.tabIndex\n // elements with tabIndex \"0\" (including tabbableElements without tabIndex) should be navigated in the order they appear.\n // elements with a positive tabIndex:\n // Elements that have identical tabIndexes should be navigated in the order they appear.\n // Navigation proceeds from the lowest tabIndex to the highest tabIndex.\n\n // NOTE: sort implementation may be unstable and thus mess up DOM order,\n // that's why we build a map that's being sorted instead. If we were able to rely\n // on a stable sorting algorithm, sortTabindex() could be as simple as\n // elements.sort(function(a, b) { return a.tabIndex - b.tabIndex; });\n // at this time Chrome does not use a stable sorting algorithm\n // see http://blog.rodneyrehm.de/archives/14-Sorting-Were-Doing-It-Wrong.html#stability\n\n // NOTE: compareDocumentPosition seemed like more overhead than just sorting this with buckets\n // https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n\n var map = {}\n var indexes = []\n var normal = elements.filter(function (element) {\n // in Trident and Gecko SVGElement does not know about the tabIndex property\n var tabIndex = element.tabIndex\n if (tabIndex === undefined) {\n tabIndex = tabindexValue(element)\n }\n\n // extract elements that don't need sorting\n if (tabIndex <= 0 || tabIndex === null || tabIndex === undefined) {\n return true\n }\n\n if (!map[tabIndex]) {\n // create sortable bucket for dom-order-preservation of elements with the same tabIndex\n map[tabIndex] = []\n // maintain a list of unique tabIndexes\n indexes.push(tabIndex)\n }\n\n // sort element into the proper bucket\n map[tabIndex].push(element)\n // element moved to sorting map, so not \"normal\" anymore\n return false\n })\n\n // sort the tabindex ascending,\n // then resolve them to their appropriate buckets,\n // then flatten the array of arrays to an array\n var _elements = indexes\n .sort()\n .map(function (tabIndex) {\n return map[tabIndex]\n })\n .reduceRight(function (previous, current) {\n return current.concat(previous)\n }, normal)\n\n return _elements\n}\n\nvar supports$8 = void 0\n\nfunction moveContextToBeginning(elements, context) {\n var pos = elements.indexOf(context)\n if (pos > 0) {\n var tmp = elements.splice(pos, 1)\n return tmp.concat(elements)\n }\n\n return elements\n}\n\nfunction sortElements(elements, _context) {\n if (supports$8.tabsequenceAreaAtImgPosition) {\n // Some browsers sort <area> in DOM order, some place the <area>s\n // where the <img> referecing them would've been in DOM order.\n // https://github.com/medialize/ally.js/issues/5\n elements = sortArea(elements, _context)\n }\n\n elements = sortTabindex(elements)\n return elements\n}\n\nfunction queryTabsequence() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n context = _ref.context,\n includeContext = _ref.includeContext,\n includeOnlyTabbable = _ref.includeOnlyTabbable,\n strategy = _ref.strategy\n\n if (!supports$8) {\n supports$8 = _supports()\n }\n\n var _context = nodeArray(context)[0] || document.documentElement\n var elements = queryTabbable({\n context: _context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy,\n })\n\n if (document.body.createShadowRoot && platform.is.BLINK) {\n // sort tabindex localized to shadow dom\n // see https://github.com/medialize/ally.js/issues/6\n elements = sortShadowed(elements, _context, sortElements)\n } else {\n elements = sortElements(elements, _context)\n }\n\n if (includeContext) {\n // if we include the context itself, it has to be the first\n // element of the sequence\n elements = moveContextToBeginning(elements, _context)\n }\n\n return elements\n}\n\n// codes mostly cloned from https://github.com/keithamus/jwerty/blob/master/jwerty.js\n// deliberately not exposing characters like <,.-#* because they vary *wildly*\n// across keyboard layouts and may cause various problems\n// (e.g. \"*\" is \"Shift +\" on a German Mac keyboard)\n// (e.g. \"@\" is \"Alt L\" on a German Mac keyboard)\n\nvar keycode = {\n // Element Focus\n tab: 9,\n\n // Navigation\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n pageUp: 33,\n 'page-up': 33,\n pageDown: 34,\n 'page-down': 34,\n end: 35,\n home: 36,\n\n // Action\n enter: 13,\n escape: 27,\n space: 32,\n\n // Modifier\n shift: 16,\n capsLock: 20,\n 'caps-lock': 20,\n ctrl: 17,\n alt: 18,\n meta: 91,\n // in firefox: 224\n // on mac (chrome): meta-left=91, meta-right=93\n // on win (IE11): meta-left=91, meta-right=92\n pause: 19,\n\n // Content Manipulation\n insert: 45,\n delete: 46,\n backspace: 8,\n\n // the same logical key may be identified through different keyCodes\n _alias: {\n 91: [92, 93, 224],\n },\n}\n\n// Function keys (112 - 137)\n// NOTE: not every keyboard knows F13+\nfor (var n = 1; n < 26; n++) {\n keycode['f' + n] = n + 111\n}\n\n// Number keys (48-57, numpad 96-105)\n// NOTE: not every keyboard knows num-0+\nfor (var _n = 0; _n < 10; _n++) {\n var code = _n + 48\n var numCode = _n + 96\n keycode[_n] = code\n keycode['num-' + _n] = numCode\n keycode._alias[code] = [numCode]\n}\n\n// Latin characters (65 - 90)\nfor (var _n2 = 0; _n2 < 26; _n2++) {\n var _code = _n2 + 65\n var name$1 = String.fromCharCode(_code).toLowerCase()\n keycode[name$1] = _code\n}\n\nvar modifier = {\n alt: 'altKey',\n ctrl: 'ctrlKey',\n meta: 'metaKey',\n shift: 'shiftKey',\n}\n\nvar modifierSequence = Object.keys(modifier).map(function (name) {\n return modifier[name]\n})\n\nfunction createExpectedModifiers(ignoreModifiers) {\n var value = ignoreModifiers ? null : false\n return {\n altKey: value,\n ctrlKey: value,\n metaKey: value,\n shiftKey: value,\n }\n}\n\nfunction resolveModifiers(modifiers) {\n var ignoreModifiers = modifiers.indexOf('*') !== -1\n var expected = createExpectedModifiers(ignoreModifiers)\n\n modifiers.forEach(function (token) {\n if (token === '*') {\n // we've already covered the all-in operator\n return\n }\n\n // we want the modifier pressed\n var value = true\n var operator = token.slice(0, 1)\n if (operator === '?') {\n // we don't care if the modifier is pressed\n value = null\n } else if (operator === '!') {\n // we do not want the modifier pressed\n value = false\n }\n\n if (value !== true) {\n // compensate for the modifier's operator\n token = token.slice(1)\n }\n\n var propertyName = modifier[token]\n if (!propertyName) {\n throw new TypeError('Unknown modifier \"' + token + '\"')\n }\n\n expected[propertyName] = value\n })\n\n return expected\n}\n\nfunction resolveKey(key) {\n var code = keycode[key] || parseInt(key, 10)\n if (!code || typeof code !== 'number' || isNaN(code)) {\n throw new TypeError('Unknown key \"' + key + '\"')\n }\n\n return [code].concat(keycode._alias[code] || [])\n}\n\nfunction matchModifiers(expected, event) {\n // returns true on match\n return !modifierSequence.some(function (prop) {\n // returns true on mismatch\n return (\n typeof expected[prop] === 'boolean' &&\n Boolean(event[prop]) !== expected[prop]\n )\n })\n}\n\nfunction keyBinding(text) {\n return text.split(/\\s+/).map(function (_text) {\n var tokens = _text.split('+')\n var _modifiers = resolveModifiers(tokens.slice(0, -1))\n var _keyCodes = resolveKey(tokens.slice(-1))\n return {\n keyCodes: _keyCodes,\n modifiers: _modifiers,\n matchModifiers: matchModifiers.bind(null, _modifiers),\n }\n })\n}\n\n// Node.compareDocumentPosition is available since IE9\n// see https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n\n// callback returns true when element is contained by parent or is the parent suited for use with Array.some()\n/*\n USAGE:\n var isChildOf = getParentComparator({parent: someNode});\n listOfElements.some(isChildOf)\n*/\n\nfunction getParentComparator() {\n var _ref =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n parent = _ref.parent,\n element = _ref.element,\n includeSelf = _ref.includeSelf\n\n if (parent) {\n return function isChildOf(node) {\n return Boolean(\n (includeSelf && node === parent) ||\n parent.compareDocumentPosition(node) &\n Node.DOCUMENT_POSITION_CONTAINED_BY\n )\n }\n } else if (element) {\n return function isParentOf(node) {\n return Boolean(\n (includeSelf && element === node) ||\n node.compareDocumentPosition(element) &\n Node.DOCUMENT_POSITION_CONTAINED_BY\n )\n }\n }\n\n throw new TypeError(\n 'util/compare-position#getParentComparator required either options.parent or options.element'\n )\n}\n\n// Bug 286933 - Key events in the autocomplete popup should be hidden from page scripts\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=286933\n\nfunction whenKey() {\n var map =\n arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}\n\n var bindings = {}\n\n var context = nodeArray(map.context)[0] || document.documentElement\n delete map.context\n var filter = nodeArray(map.filter)\n delete map.filter\n\n var mapKeys = Object.keys(map)\n if (!mapKeys.length) {\n throw new TypeError('when/key requires at least one option key')\n }\n\n var registerBinding = function registerBinding(event) {\n event.keyCodes.forEach(function (code) {\n if (!bindings[code]) {\n bindings[code] = []\n }\n\n bindings[code].push(event)\n })\n }\n\n mapKeys.forEach(function (text) {\n if (typeof map[text] !== 'function') {\n throw new TypeError(\n 'when/key requires option[\"' + text + '\"] to be a function'\n )\n }\n\n var addCallback = function addCallback(event) {\n event.callback = map[text]\n return event\n }\n\n keyBinding(text).map(addCallback).forEach(registerBinding)\n })\n\n var handleKeyDown = function handleKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n\n if (filter.length) {\n // ignore elements within the exempted sub-trees\n var isParentOfElement = getParentComparator({\n element: event.target,\n includeSelf: true,\n })\n if (filter.some(isParentOfElement)) {\n return\n }\n }\n\n var key = event.keyCode || event.which\n if (!bindings[key]) {\n return\n }\n\n bindings[key].forEach(function (_event) {\n if (!_event.matchModifiers(event)) {\n return\n }\n\n _event.callback.call(context, event, disengage)\n })\n }\n\n context.addEventListener('keydown', handleKeyDown, false)\n\n var disengage = function disengage() {\n context.removeEventListener('keydown', handleKeyDown, false)\n }\n\n return { disengage: disengage }\n}\n\nexport default function ({ context } = {}) {\n if (!context) {\n context = document.documentElement\n }\n\n // Make sure the supports tests are run before intercepting the Tab key,\n // or IE10 and IE11 will fail to process the first Tab key event. Not\n // limiting this warm-up to IE because it may be a problem elsewhere, too.\n queryTabsequence()\n\n return whenKey({\n // Safari on OSX may require ALT+TAB to reach links,\n // see https://github.com/medialize/ally.js/issues/146\n '?alt+?shift+tab': function altShiftTab(event) {\n // we're completely taking over the Tab key handling\n event.preventDefault()\n\n var sequence = queryTabsequence({\n context: context,\n })\n\n var backward = event.shiftKey\n var first = sequence[0]\n var last = sequence[sequence.length - 1]\n\n // wrap around first to last, last to first\n var source = backward ? first : last\n var target = backward ? last : first\n if (isActiveElement(source)) {\n target.focus()\n return\n }\n\n // find current position in tabsequence\n var currentIndex = void 0\n var found = sequence.some(function (element, index) {\n if (!isActiveElement(element)) {\n return false\n }\n\n currentIndex = index\n return true\n })\n\n if (!found) {\n // redirect to first as we're not in our tabsequence\n first.focus()\n return\n }\n\n // shift focus to previous/next element in the sequence\n var offset = backward ? -1 : 1\n sequence[currentIndex + offset].focus()\n },\n })\n}\n"],"names":["nodeArray","input","Array","isArray","nodeType","undefined","document","querySelectorAll","length","slice","call","TypeError","String","contextToElement","_ref","context","_ref$label","label","resolveDocument","defaultToDocument","element","Node","DOCUMENT_NODE","documentElement","ELEMENT_NODE","DOCUMENT_FRAGMENT_NODE","getShadowHost","arguments","container","parentNode","host","getDocument","node","ownerDocument","isActiveElement","_document","activeElement","shadowHost","shadowRoot","getParents","list","push","names","name","findMethodName","some","_name","elementMatches","selector","platform","JSON","parse","stringify","_platform","os","family","ANDROID","WINDOWS","OSX","IOS","BLINK","layout","GECKO","TRIDENT","EDGE","WEBKIT","version","parseFloat","majorVersion","Math","floor","is","IE9","IE10","IE11","before","data","windowScrollTop","window","scrollTop","windowScrollLeft","scrollLeft","bodyScrollTop","body","bodyScrollLeft","iframe","createElement","setAttribute","appendChild","_window","contentWindow","open","close","wrapper","test","options","innerHTML","focus","mutate","validate","after","blur","removeChild","detectFocus","tests","results","Object","keys","map","key","version$1","readLocalStorage","localStorage","getItem","e","writeLocalStorage","value","hasFocus","removeItem","setItem","userAgent","navigator","cacheKey","cache","cache$1","get","set","values","forEach","time","Date","toISOString","cssShadowPiercingDeepCombinator","combinator","querySelector","noArrowArrowArrow","noDeep","gif","focusAreaImgTabindex","focusAreaTabindex","focusTarget","focusAreaWithoutHref","focusAudioWithoutControls","invalidGif","focusBrokenImageMap","focusChildrenOfFocusableFlexbox","focusFieldsetDisabled","focusFieldset","focusFlexboxContainer","focusFormDisabled","focusImgIsmap","href","focusImgUsemapTabindex","focusInHiddenIframe","iframeDocument","style","visibility","result","focusInZeroDimensionObject","focusInvalidTabindex","focusLabelTabindex","variableToPreventDeadCodeElimination","offsetHeight","svg","focusObjectSvgHidden","focusObjectSvg","result$1","focusObjectSwf","focusRedirectImgUsemap","target","focusRedirectLegend","focusable","tabbable","focusScrollBody","focusScrollContainerWithoutOverflow","focusScrollContainer","focusSummary","firstElementChild","makeFocusableForeignObject","foreignObject","createElementNS","width","baseVal","height","lastChild","type","focusSvgForeignObjectHack","isSvgElement","ownerSVGElement","nodeName","toLowerCase","disabled","generate","HTMLElement","prototype","focusSvgFocusableAttribute","focusSvgTabindexAttribute","focusSvgNegativeTabindexAttribute","focusSvgUseTabindex","join","focusSvgForeignobjectTabindex","getElementsByTagName","result$2","Boolean","SVGElement","focusSvgInIframe","focusSvg","firstChild","focusTabindexTrailingCharacters","focusTable","fragment","createDocumentFragment","focusVideoWithoutControls","result$3","tabsequenceAreaAtImgPosition","testCallbacks","testDescriptions","executeTests","supportsCache","_supports","supports","validIntegerPatternNoTrailing","validIntegerPatternWithTrailing","isValidTabindex","validIntegerPattern","hasTabindex","hasAttribute","hasTabIndex","tabindex","getAttribute","tabindexValue","attributeName","parseInt","isNaN","isUserModifyWritable","userModify","webkitUserModify","indexOf","hasCssOverflowScroll","getPropertyValue","overflow","hasCssDisplayFlex","display","isScrollableContainer","parentNodeName","parentStyle","scrollHeight","offsetWidth","scrollWidth","supports$1","isFocusRelevantRules","_ref$except","except","flexbox","scrollable","shadow","svgType","validTabindex","isSvgContent","focusableAttribute","getComputedStyle","hasLinkParent","parent","parentElement","isFocusRelevant","rules","findIndex","array","callback","i","getContentDocument","contentDocument","getSVGDocument","getWindow","defaultView","shadowPrefix","selectInShadows","operator","replace","split","findDocumentHostElement","_frameElement","potentialHosts","getFrameElement","frameElement","notRenderedElementsPattern","computedStyle","property","notDisplayed","_path","notVisible","hidden","visible","collapsedParent","offset","isVisibleRules","notRendered","cssDisplay","cssVisibility","detailsElement","browsingContext","isAudioWithoutControls","_isVisible","isVisible","getMapByName","cssEscape","getImageOfArea","supports$2","isValidArea","img","complete","naturalHeight","childOfInteractive","_element","supports$3","disabledElementsPattern","disabledElements","select","textarea","button","fieldset","form","isNativeDisabledSupported","RegExp","supports$4","isDisabledFieldset","isDisabledForm","isDisabled","parents","isOnlyTabbableRules","onlyFocusableBrowsingContext","isOnlyTabbable","supports$5","isOnlyFocusRelevant","_tabindex","isFocusableRules","onlyTabbable","_isOnlyTabbable","focusRelevant","visibilityOptions","_nodeName2","_nodeName","isFocusable","createFilter","condition","filter","NodeFilter","FILTER_ACCEPT","FILTER_SKIP","acceptNode","PossiblyFocusableFilter","queryFocusableStrict","includeContext","includeOnlyTabbable","strategy","_isFocusable","walker","createTreeWalker","SHOW_ELEMENT","nextNode","currentNode","concat","unshift","supports$6","selector$1","selector$2","queryFocusableQuick","_selector","elements","queryFocusable","_ref$strategy","supports$7","focusableElementsPattern","isTabbableRules","frameNodeName","isFixedBlink","hasTabbableTabindexOrNone","hasTabbableTabindex","potentiallyTabbable","tabIndex","_style","_style2","isFocusRelevantWithoutFlexbox","isTabbableWithoutFlexbox","isTabbable","queryTabbable","_isTabbable","compareDomPosition","a","b","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","sortDomOrder","sort","getFirstSuccessorOffset","findInsertionOffsets","resolveElement","insertions","injections","insertElementsAtOffsets","inserted","insertion","remove","args","splice","apply","mergeInDomOrder","_list","_elements","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_classCallCheck","instance","Maps","maps","getAreasFor","addMapByName","extractAreasFromList","sortArea","usemaps","image","_createClass$1","_classCallCheck$1","Shadows","sortElements","hostCounter","inHost","inDocument","hosts","_registerHost","_sortingId","parentHost","_registerHostParent","_registerElement","extractElements","_injectHosts","_replaceHosts","_cleanup","_context","_merge","merged","_resolveHostElement","bind","sortShadowed","shadows","sortTabindex","indexes","normal","reduceRight","previous","current","supports$8","moveContextToBeginning","pos","tmp","queryTabsequence","createShadowRoot","keycode","tab","left","up","right","down","pageUp","pageDown","end","home","enter","escape","space","shift","capsLock","ctrl","alt","meta","pause","insert","delete","backspace","_alias","n","_n","code","numCode","_n2","_code","name$1","fromCharCode","modifier","modifierSequence","createExpectedModifiers","ignoreModifiers","altKey","ctrlKey","metaKey","shiftKey","resolveModifiers","modifiers","expected","token","propertyName","resolveKey","matchModifiers","event","prop","keyBinding","text","_text","tokens","_modifiers","_keyCodes","keyCodes","getParentComparator","includeSelf","isChildOf","DOCUMENT_POSITION_CONTAINED_BY","isParentOf","whenKey","bindings","mapKeys","registerBinding","addCallback","handleKeyDown","defaultPrevented","isParentOfElement","keyCode","which","_event","disengage","addEventListener","removeEventListener","altShiftTab","preventDefault","sequence","backward","first","last","source","currentIndex","found","index"],"mappings":"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"}
|
package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "styles", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return styles;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _tagged_template_literal_loose = require("@swc/helpers/_/_tagged_template_literal_loose");
|
|
12
|
+
const _nooptemplate = require("../../helpers/noop-template");
|
|
13
|
+
function _templateObject() {
|
|
14
|
+
const data = _tagged_template_literal_loose._([
|
|
15
|
+
"\n [data-nextjs-dialog-overlay] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: auto;\n z-index: 9000;\n\n display: flex;\n align-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10vh 15px 0;\n }\n\n @media (max-height: 812px) {\n [data-nextjs-dialog-overlay] {\n padding: 15px 15px 0;\n }\n }\n\n [data-nextjs-dialog-backdrop] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--color-backdrop);\n pointer-events: all;\n z-index: -1;\n }\n\n [data-nextjs-dialog-backdrop-fixed] {\n cursor: not-allowed;\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n }\n"
|
|
16
|
+
]);
|
|
17
|
+
_templateObject = function() {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
const styles = (0, _nooptemplate.noop)(_templateObject());
|
|
23
|
+
|
|
24
|
+
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
|
|
25
|
+
Object.defineProperty(exports.default, '__esModule', { value: true });
|
|
26
|
+
Object.assign(exports.default, exports);
|
|
27
|
+
module.exports = exports.default;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.tsx"],"sourcesContent":["import { noop as css } from '../../helpers/noop-template'\n\nconst styles = css`\n [data-nextjs-dialog-overlay] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: auto;\n z-index: 9000;\n\n display: flex;\n align-content: center;\n align-items: center;\n flex-direction: column;\n padding: 10vh 15px 0;\n }\n\n @media (max-height: 812px) {\n [data-nextjs-dialog-overlay] {\n padding: 15px 15px 0;\n }\n }\n\n [data-nextjs-dialog-backdrop] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--color-backdrop);\n pointer-events: all;\n z-index: -1;\n }\n\n [data-nextjs-dialog-backdrop-fixed] {\n cursor: not-allowed;\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(8px);\n }\n`\n\nexport { styles }\n"],"names":["styles","css"],"mappings":";;;;+BA2CSA;;;eAAAA;;;;8BA3CmB;;;;;;;;;;AAE5B,MAAMA,aAASC,kBAAG"}
|
package/dist/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "ShadowPortal", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return ShadowPortal;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
13
|
+
const _reactdom = require("react-dom");
|
|
14
|
+
function ShadowPortal(param) {
|
|
15
|
+
let { children } = param;
|
|
16
|
+
let portalNode = _react.useRef(null);
|
|
17
|
+
let shadowNode = _react.useRef(null);
|
|
18
|
+
let [, forceUpdate] = _react.useState();
|
|
19
|
+
_react.useLayoutEffect(()=>{
|
|
20
|
+
const ownerDocument = document;
|
|
21
|
+
portalNode.current = ownerDocument.createElement('nextjs-portal');
|
|
22
|
+
shadowNode.current = portalNode.current.attachShadow({
|
|
23
|
+
mode: 'open'
|
|
24
|
+
});
|
|
25
|
+
ownerDocument.body.appendChild(portalNode.current);
|
|
26
|
+
forceUpdate({});
|
|
27
|
+
return ()=>{
|
|
28
|
+
if (portalNode.current && portalNode.current.ownerDocument) {
|
|
29
|
+
portalNode.current.ownerDocument.body.removeChild(portalNode.current);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}, []);
|
|
33
|
+
return shadowNode.current ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, shadowNode.current) : null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
|
|
37
|
+
Object.defineProperty(exports.default, '__esModule', { value: true });
|
|
38
|
+
Object.assign(exports.default, exports);
|
|
39
|
+
module.exports = exports.default;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=ShadowPortal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.tsx"],"sourcesContent":["import * as React from 'react'\nimport { createPortal } from 'react-dom'\n\nexport function ShadowPortal({ children }: { children: React.ReactNode }) {\n let portalNode = React.useRef<HTMLElement | null>(null)\n let shadowNode = React.useRef<ShadowRoot | null>(null)\n let [, forceUpdate] = React.useState<{} | undefined>()\n\n React.useLayoutEffect(() => {\n const ownerDocument = document\n portalNode.current = ownerDocument.createElement('nextjs-portal')\n shadowNode.current = portalNode.current.attachShadow({ mode: 'open' })\n ownerDocument.body.appendChild(portalNode.current)\n forceUpdate({})\n return () => {\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current)\n }\n }\n }, [])\n\n return shadowNode.current\n ? createPortal(children, shadowNode.current as any)\n : null\n}\n"],"names":["ShadowPortal","children","portalNode","React","useRef","shadowNode","forceUpdate","useState","useLayoutEffect","ownerDocument","document","current","createElement","attachShadow","mode","body","appendChild","removeChild","createPortal"],"mappings":";;;;+BAGgBA;;;eAAAA;;;;iEAHO;0BACM;AAEtB,SAASA,aAAa,KAA2C;IAA3C,IAAA,EAAEC,QAAQ,EAAiC,GAA3C;IAC3B,IAAIC,aAAaC,OAAMC,MAAM,CAAqB;IAClD,IAAIC,aAAaF,OAAMC,MAAM,CAAoB;IACjD,IAAI,GAAGE,YAAY,GAAGH,OAAMI,QAAQ;IAEpCJ,OAAMK,eAAe,CAAC;QACpB,MAAMC,gBAAgBC;QACtBR,WAAWS,OAAO,GAAGF,cAAcG,aAAa,CAAC;QACjDP,WAAWM,OAAO,GAAGT,WAAWS,OAAO,CAACE,YAAY,CAAC;YAAEC,MAAM;QAAO;QACpEL,cAAcM,IAAI,CAACC,WAAW,CAACd,WAAWS,OAAO;QACjDL,YAAY,CAAC;QACb,OAAO;YACL,IAAIJ,WAAWS,OAAO,IAAIT,WAAWS,OAAO,CAACF,aAAa,EAAE;gBAC1DP,WAAWS,OAAO,CAACF,aAAa,CAACM,IAAI,CAACE,WAAW,CAACf,WAAWS,OAAO;YACtE;QACF;IACF,GAAG,EAAE;IAEL,OAAON,WAAWM,OAAO,iBACrBO,IAAAA,sBAAY,EAACjB,UAAUI,WAAWM,OAAO,IACzC;AACN"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type EditorLinkProps = {
|
|
2
|
+
file: string;
|
|
3
|
+
isSourceFile: boolean;
|
|
4
|
+
location?: {
|
|
5
|
+
line: number;
|
|
6
|
+
column: number;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export declare function EditorLink({ file, isSourceFile, location }: EditorLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|