regular-table is a pure JavaScript library for high-performance tabular data presentation.
Works with both async and virtual data models.
Only visible cells are rendered in the table with sticky table headers and columns.
Intended for data tables/grids, excel-style spreadsheets, tree views, pivot tables, and much more.
1. Install and import the regular-table.
# Yarn $ yarn add regular-table # NPM $ npm install regular-table --save
import "regular-table"; import "regular-table/dist/css/material.css";
2. Or include the regular-table’s JavaScript and CSS on the web page.
<script src="https://cdn.jsdelivr.net/npm/regular-table/dist/umd/regular-table.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/regular-table/dist/css/material.css" />
3. Create a regular-table Custom Element in your app.
<regular-table></regular-table>
// or
const regularTable = document.createElement("regular-table");
document.body.appendChild(regularTable); 4. Render your virtual data into the table.
const DATA = [
[0, 1, 2, 3, 4, 5],
["A", "B", "C", "D", "E", "F"],
[true, false, true, false, true, false],
];
function dataListener(x0, y0, x1, y1) {
return {
num_rows: NUM_ROWS,
num_columns: NUM_COLUMNS,
row_headers: ROW_HEADERS
column_headers: COLUMN_HEADERS,
data: DATA.slice(x0, x1).map((col) => col.slice(y0, y1))
};
}
regularTable.setDataListener(dataListener);
regularTable.draw(); 5. It also supports async data models:
// Browser
let callback;
worker.addEventListener("message", (event) => {
callback(event.data);
});
regularTable.setDataListener((...viewport) => {
return new Promise(function (resolve) {
callback = resolve;
worker.postMessage(viewport);
});
}); // Web Worker
self.addEventListener("message", async (event) => {
const response = await getDataSlice.apply(null, event.data);
self.postMessage(response);
}); v0.6.8 (06/24/2025)
v0.6.6 (02/10/2025)
v0.6.5 (02/05/2025)
v0.6.4 (01/12/2024)
v0.6.3 (10/15/2023)
v0.6.2 (10/15/2023)
v0.6.1 (10/15/2023)
v0.6.0 (08/27/2023)
v0.5.9 (07/27/2023)
v0.5.8 (07/17/2023)
v0.5.7 (07/03/2022)
v0.5.6 (03/03/2022)
v0.5.5 (02/19/2022)
v0.5.4 (02/19/2022)
v0.5.3 (02/19/2022)
v0.5.2 (02/16/2022)
v0.5.1 (02/15/2022)
v0.5.0 (02/09/2022)
v0.4.3 (02/06/2022)
v0.4.2 (12/08/2021)
v0.4.1 (07/09/2021)
v0.4.0 (04/26/2021)
v0.3.2 (04/14/2021)
v0.3.1 (04/08/2021)
v0.3.0 (03/30/2021)
v0.2.1 (02/05/2021)
v0.2.0 (02/04/2021)
v0.1.6 (01/13/2021)
v0.1.5 (09/11/2020)
v0.1.4 (09/14/2020)
v0.1.3 (09/08/2020)
v0.1.2 (09/07/2020)
v0.1.0 (09/04/2020)
v0.0.9 (09/01/2020)
clear() methodv0.0.8 (08/29/2020)
v0.0.7 (08/17/2020)
The post High Performance Table Data Presentation Library – regular-table appeared first on CSS Script.
The 98th Academy Awards, also known as The Oscars 2026, have finally arrived and are…
BIG COUNTRY, Texas (KTAB/KRBC) - A brand new Texas State Park is now open, and…
Aether OS puts a full-fledged desktop in your browser that ties directly into the AT…
A new weekend has arrived, and today, you can save big on Trails in the…
data-anim is a JavaScript animation library that applies CSS-powered animations to HTML elements while scrolling/hovering/clicking/loading…
The <i-html> web component allows you to dynamically import HTML content inline, similar to an…
This website uses cookies.