npm.io
8.0.2 • Published yesterday

@material-table/core

Licence
MIT
Version
8.0.2
Deps
13
Size
240 kB
Vulns
0
Weekly
0
Stars
292

@material-table/core

A highly customizable datatable for React, built on Material UI — forked from mbrn/material-table

build publish npm version npm downloads license discord

InstallationBasic UsageDocumentationDemos
Why this repo exists?Roadmap


Features

  • Sorting & multi-column sorting — client- or server-side
  • Filtering & search — per-column filters (text, numeric, boolean, date, lookup) plus global search
  • Pagination — normal or stepped, fully localizable
  • Inline editing — row, cell and bulk editing with validation
  • Grouping — drag & drop column grouping with persistent groupings
  • Selection — row selection with parent/child (tree) support
  • Tree data & detail panels — nested rows and expandable panels
  • Column resizing, reordering and hiding
  • Remote data — plug in any backend via a simple query callback
  • Export — pluggable export menu (CSV, PDF, custom)
  • Styling & theming — Material UI theme aware, custom components for every part of the table
  • Localization — every label and aria attribute is overridable

Requirements

Peer dependency Version
react / react-dom >= 19
@mui/material v9

Built with modern tooling: Vite 8 library build (tree-shakeable, per-module ESM output), Vitest 4 test suite, ESLint 9 flat config. The package ships as ESM; CommonJS consumers are covered by Node's require(esm) support (Node >= 20.19).

Installation

npm install @material-table/core
# or
yarn add @material-table/core

Refer to the installation guide for more information and advanced usage.

Basic Usage

import MaterialTable from '@material-table/core';

function MyTable() {
  return (
    <MaterialTable
      title="Simple Table"
      columns={[
        { title: 'Name', field: 'name' },
        { title: 'Age', field: 'age', type: 'numeric' }
      ]}
      data={[
        { name: 'John', age: 30 },
        { name: 'Jane', age: 25 }
      ]}
      options={{
        sorting: true,
        filtering: true
      }}
    />
  );
}

Explore more features and advanced usage in the documentation and live demos.

Development

npm install
npm start          # Vite dev server with the demo playground
npm test           # build + run the Vitest suite
npm run lint       # ESLint + type-check of the TypeScript definitions
npm run build      # build the library to dist/

Sponsorship

We appreciate contributions and sponsorships! You can support this project through GitHub Sponsors or Open Collective. Your support helps us maintain and improve the project.

Contributing

Thank you for considering contributing to the project! Areas where help is especially welcome:

  • Refactoring — migrate the remaining class components to hooks
  • Documentation — help us improve the docs
  • Tests — extend the Vitest suite to improve stability

We appreciate all contributions, big or small. Check out the contributing guide for more details.

License

MIT

Keywords