UNPKG

@ackplus/react-tanstack-data-table

Version:

A powerful React data table component built with MUI and TanStack Table

55 lines (54 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataTableProvider = DataTableProvider; exports.useDataTableContext = useDataTableContext; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const DataTableContext = (0, react_1.createContext)(null); function DataTableProvider({ children, table, apiRef, dataMode, tableSize, onTableSizeChange, customColumnsFilter, onChangeCustomColumnsFilter, slots = {}, slotProps = {}, isExporting, exportController, onCancelExport, exportFilename, onExportProgress, onExportComplete, onExportError, onServerExport, }) { const value = (0, react_1.useMemo)(() => ({ table, apiRef, dataMode, tableSize, onTableSizeChange, customColumnsFilter, onChangeCustomColumnsFilter, slots, slotProps, isExporting, exportController, onCancelExport, exportFilename, onExportProgress, onExportComplete, onExportError, onServerExport, }), [ table, apiRef, dataMode, tableSize, onTableSizeChange, customColumnsFilter, onChangeCustomColumnsFilter, slots, slotProps, isExporting, exportController, onCancelExport, exportFilename, onExportProgress, onExportComplete, onExportError, onServerExport, ]); return ((0, jsx_runtime_1.jsx)(DataTableContext.Provider, { value: value, children: children })); } function useDataTableContext() { const context = (0, react_1.useContext)(DataTableContext); if (!context) { throw new Error('useDataTableContext must be used within a DataTableProvider'); } return context; }