UNPKG

@wikimedia/codex

Version:

Codex Design System for Wikimedia

26 lines (25 loc) 1.03 kB
import { ComponentPublicInstance, Ref } from 'vue'; interface UseFocusTrapOptions { containerRef: Ref<HTMLElement | undefined>; bodyRef?: Ref<HTMLElement | undefined>; /** * Optional anchor/trigger element. If the previously focused element is the anchor, * focus will not be moved away from it to prevent triggering blur events. */ anchorRef?: Ref<HTMLElement | ComponentPublicInstance | null | undefined>; /** * Whether to prevent scrolling when focusing elements. * Defaults to false. */ preventScroll?: boolean; } export default function useFocusTrap(options: UseFocusTrapOptions): { focusTrapStart: Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>; focusTrapEnd: Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>; focusHolder: Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>; focusFirst: () => void; focusLast: () => void; activateFocusTrap: () => Promise<void>; deactivateFocusTrap: () => void; }; export {};