@mrii/react-table-builder
Version:
library to easily build tables using MUI grid
1 lines • 2.52 kB
Source Map (JSON)
{"version":3,"file":"provider.mjs","sources":["../../../src/context/table-builder/provider.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport { createZustandContext, stateSetterHandler } from '$utils';\nimport type { TableBuilderZustandActions, TableBuilderZustandState } from './model';\n\nconst [Provider, useTableBuilderColumns] = createZustandContext<\n TableBuilderZustandState,\n TableBuilderZustandActions\n>();\n\nexport { useTableBuilderColumns };\nexport const TableBuilderColumnsProvider: React.FC<\n React.PropsWithChildren<{ name: string }>\n> = ({ name, children }) => (\n <Provider\n name={`table-builder-columns - ${name}`}\n initialState={useMemo(() => ({ columns: [] }), [])}\n actions={useCallback(\n (set, get) => ({\n setColumn: stateSetterHandler(set, 'columns'),\n addColumn: column => {\n const i = get().columns.findIndex(c => c.field === column.field);\n if (i !== -1) {\n get().setColumn(v => {\n v[i] = column;\n return v;\n });\n } else {\n get().setColumn(v => [...v, column]);\n }\n },\n }),\n []\n )}\n >\n {children}\n </Provider>\n);\n"],"names":["Provider","useTableBuilderColumns","createZustandContext","TableBuilderColumnsProvider","name","children","_jsx","initialState","useMemo","columns","actions","useCallback","set","get","setColumn","stateSetterHandler","addColumn","column","i","findIndex","c","field","v"],"mappings":";;;;;AAIM,MAAA,CAACA,QAAUC,EAAAA,sBAAAA,CAAuB,GAAGC,oBAAAA,GAAAA;AAMpC,MAAMC,8BAET,CAAC,EAAEC,OAAMC,QAAAA,GAAU,iBACrBC,GAACN,CAAAA,QAAAA,EAAAA;AACCI,QAAAA,IAAAA,EAAM,CAAC,wBAAwB,EAAEA,IAAAA,CAAK,CAAC;QACvCG,YAAcC,EAAAA,OAAAA,CAAQ,KAAO;AAAEC,gBAAAA,OAAAA,EAAS,EAAE;AAAC,aAAA,GAAI,EAAE,CAAA;AACjDC,QAAAA,OAAAA,EAASC,WACP,CAAA,CAACC,GAAKC,EAAAA,GAAAA,IAAS;AACbC,gBAAAA,SAAAA,EAAWC,mBAAmBH,GAAK,EAAA,SAAA,CAAA;AACnCI,gBAAAA,SAAAA,EAAWC,CAAAA,MAAU,GAAA;AACnB,oBAAA,MAAMC,CAAIL,GAAAA,GAAAA,EAAAA,CAAMJ,OAAO,CAACU,SAAS,CAACC,CAAAA,CAAAA,GAAKA,CAAEC,CAAAA,KAAK,KAAKJ,MAAAA,CAAOI,KAAK,CAAA,CAAA;oBAC/D,IAAIH,CAAAA,KAAM,CAAC,CAAG,EAAA;wBACZL,GAAMC,EAAAA,CAAAA,SAAS,CAACQ,CAAAA,CAAK,GAAA;4BACnBA,CAAC,CAACJ,EAAE,GAAGD,MAAAA,CAAAA;4BACP,OAAOK,CAAAA,CAAAA;AACT,yBAAA,CAAA,CAAA;qBACK,MAAA;wBACLT,GAAMC,EAAAA,CAAAA,SAAS,CAACQ,CAAAA,CAAK,GAAA;AAAIA,gCAAAA,GAAAA,CAAAA;AAAGL,gCAAAA,MAAAA;AAAO,6BAAA,CAAA,CAAA;qBACpC;AACH,iBAAA;AACF,aAAA,GACA,EAAE,CAAA;AAGHZ,QAAAA,QAAAA,EAAAA,QAAAA;AAEH,KAAA;;;;"}