import { useCallback, useState } from "react"; export type UseOverlayOptions = { defaultOpen?: boolean; }; export function useOverlay(options?: UseOverlayOptions) { const [isOpen, setIsOpen] = useState(Boolean(options?.defaultOpen)); const open = useCallback(() => { setIsOpen(true); }, []); const close = useCallback(() => { setIsOpen(false); }, []); const toggle = useCallback(() => { setIsOpen((current) => !current); }, []); return { close, isOpen, open, setOpen: setIsOpen, toggle, }; }