GithubHelp home page GithubHelp logo

ambiguous48 / table Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tanstack/table

1.0 1.0 0.0 20.86 MB

๐Ÿค– Headless UI for building powerful tables & datagrids for TS/JS - React-Table, Vue-Table, Solid-Table, Svelte-Table

Home Page: https://tanstack.com/table

License: MIT License

JavaScript 41.31% TypeScript 51.11% CSS 1.44% HTML 6.14% Svelte 0.01%

table's Introduction

TanStack Table Header

TanStack Table v8

Headless UI for building powerful tables & datagrids for React, Solid, Vue, Svelte and TS/JS.

#TanStack semantic-release Join the discussion on Github

Looking for version 7 of react-table? Click here!

Enjoy this library?

Try some other TanStack like React Query, React Form, React Charts

Visit tanstack.com/table for docs, guides, API and more!

You may know TanStack Table by our adapter names, too!

Summary

TanStack Table is a headless table library, which means it does not ship with components, markup or styles. This means that you have full control over markup and styles (CSS, CSS-in-JS, UI Component Libraries, etc) and this is also what gives it its portable nature. You can even use it in React Native!

If you want a lightweight table with full control over markup and implementation, then you should consider using TanStack Table, a headless table library.

If you want a ready-to-use component-based table with more power but more constraints around markup/styles/implementation, you should consider using AG Grid, a component-based table library from our OSS partner AG Grid.

TanStack Table and AG Grid are respectfully the best table/datagrid libraries around. Instead of competing, we're working together to ensure the highest quality table/datagrid options are available for the entire JS/TS ecosystem and every use-case.

Quick Features

  • Agnostic core (JS/TS)
  • 1st-class framework bindings for React, Vue, Solid
  • ~14kb or less (with tree-shaking)
  • 100% TypeScript (but not required)
  • Headless (100% customizable, Bring-your-own-UI)
  • Auto out of the box, opt-in controllable state
  • Filters (column and global)
  • Sorting (multi-column, multi-directional)
  • Grouping & Aggregation
  • Pivoting (coming soon!)
  • Row Selection
  • Row Expansion
  • Column Visibility/Ordering/Pinning/Resizing
  • Table Splitting
  • Animatable
  • Virtualizable
  • Server-side/external data model support

Migrating from React Table v7

Notable Changes

  • Full rewrite to TypeScript
  • Removal of plugin system to favor more inversion of control
  • Vastly larger and improved API
  • Better controlled state management
  • Better support for server-side operations
  • Complete (but optional) data pipeline control
  • Agnostic Core
  • Framework Adapters

Migration

There are a fair amount of breaking changes (they're worth it, trust us!):

  • Turns out that TypeScript makes your code a lot better/safer, but also usually requires breaking changes to architecture.
  • Plugin system has been removed so plugins must be rewritten to wrap/compose the new functional API. Contact us if you need help!
  • Column configuration options have changed, but only slightly.
  • Table options are mostly the same, with some larger changes around optional state management/control and data pipeline control
  • The tableInstance while similar in spirit to v7 has been reconfigured to be much faster.

Todo (in order of priority)

  • Rewrite Core
    • Core
    • Columns
    • Headers
    • Visibility
    • Pinning
    • Filters
    • Sorting
    • Grouping
    • Expanding
    • Column Sizing
    • Pagination
    • Row Selection
  • Migrate Examples
    • column-visibility
    • column-ordering
    • column-pinning
    • basic
    • filters
    • sorting
    • pagination
    • pagination-controlled
    • column-sizing
    • row-selection
    • expanding
    • grouping-and-aggregation
    • editable-data
    • kitchen-sink
    • row-dnd
    • streaming-rows
    • sub-components
    • virtualized-rows
    • absolute-layout
    • block-layout
    • animated-framer-motion
    • bootstrap
    • bootstrap-ui-components
    • data-driven-classes-and-styles
    • full-width-resizable-table
    • full-width-table
    • material-ui-components
    • material-UI-enhanced-table

Installation

npm install @tanstack/react-table
npm install @tanstack/solid-table
npm install @tanstack/vue-table
npm install @tanstack/svelte-table

How to help?

  • Try out the already-migrated examples
  • Try it out in your own projects.
  • Introspect the types! Even without the docs finished, the library ships with 100% typescript to help you explore its capabilities.
  • Read the contribution guidelines
  • Write some docs! Start with the API docs and try adding some information about one or more of the features. The types do a decent job of showing what's supported and the capabilities of the library.
  • Try your hand at migrating an example to v8! The todo list for the examples is above!
  • Using a plugin? Try rewriting your plugin (v8 doesn't have a plugin system any more) as a functional wrapper that uses TanStack Table internally. The new API is much more powerful and easier to compose. If you find something you can't figure out, let us know and we'll add it to the API.

table's People

Contributors

aaronschwartz avatar androsj avatar brianmitchl avatar christianmurphy avatar david-crespo avatar ddinenno avatar dependabot[bot] avatar exuanbo avatar frankolson avatar gargroh avatar gary-menzel avatar ggascoigne avatar ivaskevych avatar juhanakristian avatar kevinvandy avatar kizu avatar krispya avatar larrybotha avatar marvinthepa avatar mikedevita avatar mokshit06 avatar pavanjadhaw avatar raoufswe avatar rodolphoasb avatar roginfarrer avatar rpalermodrums avatar size-plugin[bot] avatar stramel avatar subbarao avatar tannerlinsley avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.