import { Dispatch, MutableRefObject, SetStateAction } from 'react' import useCurrentState from 'components/utils/use-current-state' const useModal = (initialVisible: boolean = false): { visible: boolean setVisible: Dispatch> currentRef: MutableRefObject bindings: { open: boolean onClose: () => void } } => { const [visible, setVisible, currentRef] = useCurrentState(initialVisible) return { visible, setVisible, currentRef, bindings: { open: visible, onClose: () => setVisible(false), }, } } export default useModal