31 lines
1.6 KiB
TypeScript
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;
|