import { useContext } from 'react'; import { ZenThemeContext } from '../context/ZenThemeContext'; // Import the context /** * Hook to get the current state of the drawer (open or closed). */ /** * @docunator * @author Danilo Ramírez Mattey * @version 1.0.0 * @title useDrawer * @description A custom hook to access the current state of the drawer (open or closed) from the ZenThemeContext. Its call must be made inside the context of a ZenThemeProvider. * @returns {boolean} The current state of the drawer (true for open, false for closed) * @category Hooks * @example {tsx} import { useDrawer } from 'react-zen-ui'; export default function DrawerStateComponent(){ const isDrawerOpen = useDrawer(); return (
The drawer is currently {isDrawerOpen ? 'open' : 'closed'}.
); } {/tsx} @see ZenThemeProvider */ export const useDrawer = () => { const {ZenDrawer} = useContext(ZenThemeContext); if (ZenDrawer === undefined) { throw new Error('useDrawer must be used within a ZenThemeProvider'); } return ZenDrawer; }; /** * Hook to toggle the drawer state (open or closed). */ /** * @docunator * @author Danilo Ramírez Mattey * @version 1.0.0 * @title useToggleDrawer * @description A custom hook to toggle the drawer state (open or closed) from the ZenThemeContext. Its call must be made inside the context of a ZenThemeProvider. * @returns {Function} A function to toggle the drawer state * @category Hooks * @example {tsx} import { useToggleDrawer } from 'react-zen-ui'; export default function ToggleDrawerComponent(){ const toggleDrawer = useToggleDrawer(); return ( ); } */ export const useToggleDrawer= () => { const {toggleDrawer} = useContext(ZenThemeContext); if (toggleDrawer === undefined) { throw new Error('useToggleDrawer must be used within a ZenThemeProvider'); } return toggleDrawer; };