@mrii/react-table-builder
Version:
library to easily build tables using MUI grid
31 lines (28 loc) • 1.03 kB
JavaScript
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