An open API service indexing awesome lists of open source software.

https://github.com/infinite-table/infinite-react

The modern React DataGrid for building apps — faster
https://github.com/infinite-table/infinite-react

component datagrid datatable excel filtering grid grouping pivoting react react-table table tabular-data typescript virtualization

Last synced: 10 months ago
JSON representation

The modern React DataGrid for building apps — faster

Awesome Lists containing this project

README

          



Infinite Table


One Table — Infinite Applications



InfiniteTable Logo

Infinite Table is the modern DataGrid for building React apps — faster.






![Infinite Table for React configured with grouping, multi-selection, aggregations and custom styling.](https://infinite-table.com/full-demo-image.png "Infinite Table demo")

## Table Of Contents

- [🤔 What is Infinite Table?](#-what-is-infinite-table)
- [📦 Installation](#-installation)
- [📄 Extensive documentation](#-extensive-documentation)
- [❤️ TypeScript](#-typescript)
- [🏢 Enterprise-ready](#-enterprise-ready)
- [🔒 Secure by default](#-secure-by-default)
- [🚫 No dependencies](#-no-dependencies)
- [📦 Small bundle size](#-small-bundle-size)
- [🧪 Automated end-to-end tests](#-automated-end-to-end-tests)
- [🎨 Themable](#-themable)
- [🚀 Releases](#-releases)
- [📑 License](#-license)

## 🤔 What is Infinite Table?

`Infinite Table` is a React DataGrid component for displaying virtualized tabular data. It helps you display huge datasets and get the most out of them by providing you the right tools to do so:

* [
sorting](https://infinite-table.com/docs/learn/sorting/overview)
* [
row grouping](https://infinite-table.com/docs/learn/grouping-and-pivoting/grouping-rows) - both server-side and client-side
* [
pivoting](https://infinite-table.com/docs/learn/grouping-and-pivoting/pivoting/overview) - both server-side and client-side
* [
aggregations](https://infinite-table.com/docs/learn/grouping-and-pivoting/grouping-rows#aggregations)
* [
live pagination](https://infinite-table.com/docs/learn/working-with-data/live-pagination)
* [
lazy loading](https://infinite-table.com/docs/learn/working-with-data/lazy-loading)
* [
keyboard navigation for cells and rows](https://infinite-table.com/docs/learn/keyboard-navigation/navigating-cells)
* [
fixed and flexible columns](https://infinite-table.com/docs/learn/columns/fixed-and-flexible-size)
* [
column grouping](https://infinite-table.com/docs/learn/column-groups)
* [
filtering](https://infinite-table.com/docs/learn/filtering)
* [
theming](https://infinite-table.com/docs/learn/theming)

## 📦 Installation

```bash
npm install @infinite-table/infinite-react --save
```

## [📄 Extensive documentation](https://infinite-table.com/docs)

Our approach with the `InfiniteTable` is to go documentation first. From our developer experience we know that most software products lack a good documentation. So we want to be different and start with the documentation first since our purpose is to have an outstanding documentation that developers can actually use.

**[Visit our docs and getting-started guide](https://infinite-table.com/docs)**

## ❤️ TypeScript

It's fully typed and offers you great developer experience to help you get up and running quickly

> The TypeScript typings file is included in the npm package - you don't have to download an additional **@types** package.

## 🏢 Enterprise-ready

Infinite Table is ready to power your enterprise apps, as it supports advanced [data fetching](https://infinite-table.com/docs/learn/working-with-data#data-loading-strategies), [filtering](https://infinite-table.com/docs/learn/filtering), [sorting](https://infinite-table.com/docs/learn/sorting/overview), [grouping](https://infinite-table.com/docs/learn/grouping-and-pivoting/grouping-rows), [pivoting](https://infinite-table.com/docs/learn/grouping-and-pivoting/pivoting/overview), [aggregations](https://infinite-table.com/docs/learn/grouping-and-pivoting/group-aggregations), [row & cell selection](https://infinite-table.com/docs/learn/selection/row-selection), [live pagination](https://infinite-table.com/docs/learn/working-with-data/live-pagination), [lazy loading](https://infinite-table.com/docs/learn/working-with-data/lazy-loading) - all of those with support for both client-side and server-side implementations.

You can choose to leverage our built-in implementations in the browser or you can process your data on the server with full support from our-side.

### 🔒 Secure by default

We take security seriously and we're not installing any dependencies. No extra fluff to slow down your code or make installs less secure.

### 🚫 No dependencies

We don't depend on any external package, so you can be sure that you're not introducing any security vulnerabilities in your app.

### 📦 Small bundle size

Our bundle size is under `300kB` and we're [keeping it small](https://bundlephobia.com/package/@infinite-table/infinite-react).

### 🧪 Automated end-to-end tests

Our releases are automated and we have [end-to-end tests](https://github.com/infinite-table/infinite-react/tree/master/examples/src/pages/tests) that ensure we're delivering to our standards. Real-browser tests help us move with confidence and continue to ship great features.

## 🎨 Themable

`Infinite Table` is fully customizable, via CSS variables. It ships with both a **light** and a **dark** theme - you have to import the CSS file from the package.

```js
import "@infinite-table/infinite-react/index.css"
```

This file includes both the light and the dark themes.

## 🚀 Releases

We release often - see [what each release contains here](https://infinite-table.com/docs/releases). Due to our automated releases which have integrated tests, we're confident that we're delivering the best possible experience to our users.

## 📑 License

Both Open and [Commercial License](https://infinite-table.com/eula)

For commercial license and support, see our [Pricing page](https://infinite-table.com/pricing).