@veracity/vui
Version:
Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.
32 lines (31 loc) • 1.2 kB
TypeScript
//#region src/focusLock/focusLock.types.d.ts
type FocusableElement = {
focus(options?: FocusOptions): void;
};
type FocusLockProps = {
/**
* The first focuable element within the 'children' will be auto-focused once 'FocusLock' mounts.
* @default true
*/
autoFocus?: boolean;
/**
* Enables aggressive focus capturing within iframes.
* - 'true' keeps focus in the lock, no matter where the lock is active.
* - 'false' allows focus to move outside of iframe, if enabled inside iframe.
* @default true
*/
crossFrame?: boolean;
/** 'ref' of the element to return focus to when FocusLock unmounts. */
finalFocusRef?: React.RefObject<FocusableElement>;
/** 'ref' of the element to receive focus initially when FocusLock mounts. */
initialFocusRef?: React.RefObject<FocusableElement>;
/** Disables focus trapping. */
isDisabled?: boolean;
/** Disables text selections inside, and outside focus lock. */
persistentFocus?: boolean;
/** Focus will be returned to the element that triggered the FocusLock once it unmounts. */
returnFocus?: boolean;
};
//#endregion
export { FocusLockProps, FocusableElement };
//# sourceMappingURL=focusLock.types.d.ts.map