{"version":3,"file":"ModalFocus.types.mjs","sourceRoot":"","sources":["../../../src/components/ModalFocus/ModalFocus.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode, RefObject } from 'react';\n\nexport type FocusableElement = {\n  focus(options?: FocusOptions): void;\n};\n\nexport type ModalFocusProps = {\n  /**\n   * The `ref` of the element to receive focus initially.\n   */\n  initialFocusRef?: RefObject<FocusableElement | null>;\n  /**\n   * The `ref` of the element to return focus to when `ModalFocus`\n   * unmounts.\n   */\n  finalFocusRef?: RefObject<FocusableElement | null>;\n  /**\n   * If `true`, focus will be restored to the element that\n   * triggered the `ModalFocus` once it unmounts.\n   *\n   * Ignored when `finalFocusRef` is provided.\n   *\n   * @default false\n   */\n  restoreFocus?: boolean;\n  /**\n   * The node to lock focus to.\n   */\n  children: ReactNode;\n  /**\n   * If `true`, the first focusable element within `children`\n   * will be auto-focused once `ModalFocus` mounts.\n   *\n   * @default true\n   */\n  autoFocus?: boolean;\n};\n"]}