@tsc_tech/medusa-plugin-notification-template
Version:
48 lines (47 loc) • 968 B
JavaScript
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
};