import { useCallback, useState } from "react"; export const useDisclose = () => { const [isOpen, setOpen] = useState(false); const [data, setData] = useState(null); const onOpen = useCallback( (_data?: T | null) => { setOpen(true); setData(_data); }, [setOpen] ); const onClose = useCallback(() => { setOpen(false); }, [setOpen]); return { isOpen, onOpen, onClose, onChange: setOpen, data }; }; export type UseDiscloseReturn = ReturnType>;