UNPKG

@tsc_tech/medusa-plugin-notification-template

Version:
48 lines (47 loc) 968 B
import { jsx } from "react/jsx-runtime"; import { useState } from "react"; import { StackedModalContext } from "./stacked-modal-context.js"; const StackedModalProvider = ({ children, onOpenChange }) => { const [state, setState] = useState({}); const getIsOpen = (id) => { return state[id] || false; }; const setIsOpen = (id, open) => { setState((prevState) => ({ ...prevState, [id]: open })); onOpenChange(open); }; const register = (id) => { setState((prevState) => ({ ...prevState, [id]: false })); }; const unregister = (id) => { setState((prevState) => { const newState = { ...prevState }; delete newState[id]; return newState; }); }; return /* @__PURE__ */ jsx( StackedModalContext.Provider, { value: { getIsOpen, setIsOpen, register, unregister }, children } ); }; export { StackedModalProvider };