saagie-ui
Version:
Saagie UI from Saagie Design System
14 lines (10 loc) • 397 B
JavaScript
import { useCallback, useState } from 'react';
export const useDisclosure = (isOpenDefault = false) => {
const [isOpen, setIsOpen] = useState(isOpenDefault);
const open = useCallback(() => setIsOpen(true), []);
const close = useCallback(() => setIsOpen(false), []);
const toggle = useCallback(() => setIsOpen((state) => !state), []);
return {
isOpen, open, close, toggle,
};
};