Files

31 lines
1.6 KiB
TypeScript

import type { Ref } from 'vue';
export interface FocusTrapProps {
retainFocus: boolean;
captureFocus: boolean;
disableInitialFocus?: boolean;
}
export declare const makeFocusTrapProps: <Defaults extends {
retainFocus?: unknown;
captureFocus?: unknown;
disableInitialFocus?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
retainFocus: unknown extends Defaults["retainFocus"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["retainFocus"] ? boolean : boolean | Defaults["retainFocus"]>;
default: unknown extends Defaults["retainFocus"] ? boolean : boolean | Defaults["retainFocus"];
};
captureFocus: unknown extends Defaults["captureFocus"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["captureFocus"] ? boolean : boolean | Defaults["captureFocus"]>;
default: unknown extends Defaults["captureFocus"] ? boolean : boolean | Defaults["captureFocus"];
};
disableInitialFocus: unknown extends Defaults["disableInitialFocus"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["disableInitialFocus"] ? boolean : boolean | Defaults["disableInitialFocus"]>;
default: unknown extends Defaults["disableInitialFocus"] ? boolean : boolean | Defaults["disableInitialFocus"];
};
};
export declare function useFocusTrap(props: FocusTrapProps, { isActive, localTop, activatorEl, contentEl }: {
isActive: Ref<boolean>;
localTop: Readonly<Ref<boolean>>;
activatorEl?: Readonly<Ref<HTMLElement | undefined>>;
contentEl: Readonly<Ref<HTMLElement | undefined>>;
}): void;