@cerberus-design/react
Version:
The Cerberus Design React component library.
28 lines (27 loc) • 605 B
JavaScript
"use client";
// src/hooks/useModal.ts
import { useCallback, useMemo, useRef, useState } from "react";
function useModal() {
const modalRef = useRef(null);
const [isOpen, setIsOpen] = useState(false);
const show = useCallback(() => {
modalRef.current?.showModal();
setIsOpen(true);
}, []);
const close = useCallback(() => {
modalRef.current?.close();
setIsOpen(false);
}, []);
return useMemo(() => {
return {
modalRef,
show,
close,
isOpen
};
}, [modalRef, show, close, isOpen]);
}
export {
useModal
};
//# sourceMappingURL=useModal.js.map