HomePluginsToolsWorkflowAboutContact
GetSet

Premium UI/UX layout engines, customizable micro-interaction plugins, and high-performance components for modern web developers.

Plugins

  • Carousel
  • Select
  • Zoom
  • FlexoGrid
  • Sortable
  • Modal
  • Drawer
  • Tooltip
  • Popover
  • Toast
  • ContextMenu
  • Tabs
  • Accordion
  • Reveal
  • Autocomplete
  • Tags
  • Range
  • DatePicker
  • Upload
  • Cropper
  • Table
  • Tree
  • Editor

Company

  • Home
  • Plugins
  • Developer Tools
  • Showcase
  • Our Process
  • About Us
  • Contact

Policies

  • Terms and Conditions
  • Privacy Policy
  • Accessibility Policy
  • Cookie Policy

© 2026 GetSet. All rights reserved.

Crafted for frontend excellence.

Your Bundle

Your bundle is empty

Add plugins from the catalog to build one combined CDN link — like picking font families.

Browse plugins
Data Plugin

GS Table

Data table with multi-sort, per-column + global filters, pagination/load-more, selection, expandable rows and sticky/resizable/pinnable columns.

Latest: v1.0.3
Downloads last month: 367
Visit Demo Website

Install Package

npm i @get-set/gs-table
or via CDN
<link rel="stylesheet" href="https://cdn.get-set.it/gs-table/latest/gs-table.min.css">
<script src="https://cdn.get-set.it/gs-table/latest/gs-table.min.js"></script>
Interactive Playground

Live Sandbox

Table.jsx
1
2
3
4
5
6
7
8
9
import Table from '@get-set/gs-table';

export default function App() {
  return (
    <Table>
      <div className="content">Your Table content</div>
    </Table>
  );
}
Live Preview

Options

Configuration Values

Reference?Stable registry key. Auto-generated when omitted.
Search?Initial global search term.
Search Placeholder?Placeholder for the global search box.
Filter Debounce?Debounce (ms) applied to search / filter input.
Pagination?Pagination behaviour.
Page Size?Rows per page. Default 10.
Page?Initial / controlled 1-based page.
Load More Text?Label for the load-more button.
Selectable?Row selection mode. Default false.
Max Height?Max body height before it scrolls (enables sticky header).
Variant?Visual variants (stackable).
Density?Row + control density.
Size?Component size scale.
Theme?Visual theme. Default 'auto'.
Accent Color?Accent color (CSS var --gst-accent).
Caption?Table caption (screen-reader + visible).
Class Name?Extra class on the root element.
Skeleton Rows?Number of skeleton rows to render while loading.
Empty Text?Message shown when there are no rows (after filters).

Feature Flags

API Specifications

OptionTypeDefaultDescription
referencestringnoneStable registry key. Auto-generated when omitted.
columnsArray<GSTableColumn<T>>noneColumn definitions.
dataT[]noneRow data.
rowKeystring | ((row: T, index: number) => string | number)noneProperty name (or function) used as each row's stable key.
sortablebooleantrueEnable sorting globally. Default true.
multiSortbooleanfalseAllow sorting by more than one column at once. Default false.
sortGSTableSort[]noneInitial / controlled sort state.
defaultSortGSTableSort[]noneDefault sort applied on first render (uncontrolled).
filterablebooleantrueShow the per-column filter row when any column is `filterable`. Default true.
filtersGSTableFiltersnoneInitial / controlled per-column filter values.
searchablebooleanfalseShow the global search box in the toolbar. Default false.
searchstringnoneInitial global search term.
searchPlaceholderstring'Search…'Placeholder for the global search box.
filterDebouncenumber0Debounce (ms) applied to search / filter input. Default 0.
paginationGSTablePaginationMode | false'pagination'Pagination behaviour. Default 'pagination'. `false` shows all rows.
pageSizenumber10Rows per page. Default 10.
pageSizeOptionsnumber[]noneOptions offered by the page-size selector. Default [10, 25, 50, 100].
showPageSizeSelectorbooleantrueShow the page-size selector. Default true.
pagenumber1Initial / controlled 1-based page. Default 1.
loadMoreTextstring'Load more'Label for the load-more button.
selectableGSTableSelectionModefalseRow selection mode. Default false.
showSelectAllbooleantrueShow the header select-all checkbox (multiple mode). Default true.
selectedArray<string | number>noneInitial / controlled selected row keys.
selectionActionsArray<GSTableSelectionAction<T>>noneBulk actions shown in a selection bar above the table while at least one row is selected (e.g. Delete, Export). The bar also shows the selected count and a clear (×) button.
expandablebooleanfalseEnable expandable detail rows. Default false.
expandedArray<string | number>noneInitially / controlled expanded row keys.
singleExpandbooleanfalseAllow only one row expanded at a time. Default false.
stickyHeaderbooleantruePin the header row while the body scrolls. Default true.
maxHeightnumber | stringnoneMax body height before it scrolls (enables sticky header). Number = px.
resizableColumnsbooleanfalseAllow dragging column dividers to resize. Default false.
reorderableColumnsbooleanfalseAllow drag-and-drop reordering of columns. Default false.
variantGSTableVariant | GSTableVariant[]noneVisual variants (stackable).
zebrabooleanfalseShorthand for the `striped` variant. Default false.
densityGSTableDensity'comfortable'Row + control density. Default 'comfortable'.
sizeGSTableSize'md'Component size scale. Default 'md'.
themeGSTableTheme'auto'Visual theme. Default 'auto'.
accentColorstringnoneAccent color (CSS var --gst-accent).
rtlbooleanfalseRight-to-left layout. Default false.
captionstringnoneTable caption (screen-reader + visible).
customClassGSTableCustomClassnonePer-part class overrides.
classNamestringnoneExtra class on the root element.
loadingbooleanfalseShow skeleton loading rows instead of data. Default false.
skeletonRowsnumbernoneNumber of skeleton rows to render while loading. Default = pageSize.
emptyTextstring'No records to display'Message shown when there are no rows (after filters).
emptyRenderunknownnoneCustom empty-state HTML (native) / node (React).
rowContextMenuGSTableRowContextMenu<T>noneDeclarative per-row context-menu items, or a builder that returns them for the right-clicked row. A non-empty array opens the built-in menu at the cursor and prevents the native browser menu. Returning `false | null | undefined | []` suppresses the menu for that row.

Technical Features

Multi-Sort

Sort by several columns at once.

Column Filters

Per-column and global filtering.

Sticky Columns

Pin, resize and freeze columns.

Row Selection

Checkbox selection with a bulk-action bar.