UNPKG

@mrii/react-table-builder

Version:
37 lines (33 loc) 1.43 kB
'use strict'; var jsxRuntime = require('react/jsx-runtime'); var react = require('react'); var index = require('../../utils/create-zustand-context/index.js'); var index$1 = require('../../utils/state-setter-handler/index.js'); const [Provider, useTableBuilderColumns] = index.createZustandContext(); const TableBuilderColumnsProvider = ({ name , children })=>/*#__PURE__*/ jsxRuntime.jsx(Provider, { name: `table-builder-columns - ${name}`, initialState: react.useMemo(()=>({ columns: [] }), []), actions: react.useCallback((set, get)=>({ setColumn: index$1.stateSetterHandler(set, 'columns'), addColumn: (column)=>{ const i = get().columns.findIndex((c)=>c.field === column.field); if (i !== -1) { get().setColumn((v)=>{ v[i] = column; return v; }); } else { get().setColumn((v)=>[ ...v, column ]); } } }), []), children: children }); exports.TableBuilderColumnsProvider = TableBuilderColumnsProvider; exports.useTableBuilderColumns = useTableBuilderColumns; //# sourceMappingURL=provider.js.map