UNPKG

@mrii/react-table-builder

Version:
31 lines (28 loc) 1.03 kB
import { jsx } from 'react/jsx-runtime'; import { useContext, useState, createContext } from 'react'; import { useStore, createStore } from 'zustand'; import { devtools, combine } from 'zustand/middleware'; import { immer } from 'zustand/middleware/immer'; const createZustandContext = ()=>{ const Context = /*#__PURE__*/ createContext(null); const useStore$1 = (selector, equals)=>{ const store = useContext(Context); if (!store) throw new Error('using columns outside a provider'); return useStore(store, selector, equals); }; const Provider = ({ initialState , name , actions , children })=>{ const [store] = useState(()=>createStore(devtools(combine(initialState, immer(actions)), { name }))); return /*#__PURE__*/ jsx(Context.Provider, { value: store, children: children }); }; return [ Provider, useStore$1 ]; }; export { createZustandContext }; //# sourceMappingURL=index.mjs.map