Skip to content

Components

Every Niko Table registry item at a glance — name, what it does, install command. Pick what you need; the registry handles core dependencies automatically.

A cheat sheet of every component you can install from the Niko Table registry. Browse by category to find what you need — or just grep this page.

Each addon transitively pulls in data-table (the core), so installing any single addon also installs everything required to render a basic table. You never need to install data-table explicitly unless you only want the bare core.

First time using @niko-table? Set up the registry once: see the Installation Guide.

The foundation. Every other component depends on it.

NameWhat it does
data-tableCore DataTable with DataTableRoot, context, structure, column header, toolbar section, empty state. Includes the Table UI primitive.
pnpm dlx shadcn@latest add @niko-table/data-table

For large datasets (1k+ rows).

NameWhat it does
data-table-virtualizedVirtualized body/header for rendering large datasets efficiently via TanStack Virtual.
pnpm dlx shadcn@latest add @niko-table/data-table-virtualized

Top-of-table filter controls. Each component is independent — install only what you need.

NameWhat it does
data-table-search-filterGlobal search input with debouncing.
data-table-paginationPage-size selector, page navigation, row-count display.
data-table-sort-menuSort management with multi-column sorting and drag-to-reorder of sort entries.
data-table-view-menuColumn visibility toggle menu. Optional lockedColumnIds, onReset.
data-table-view-dnd-menuColumn visibility menu with drag-to-reorder. Use instead of data-table-view-menu when you want users to reorder columns from the menu (pulls in @dnd-kit/*).
data-table-filter-menuCommand-palette-style filter interface for adding/managing column filters.
data-table-inline-filterInline filter toolbar showing active filters as editable chips.
data-table-faceted-filterFaceted filter (single/multi select) with option counts and search.
data-table-slider-filterSlider-based numeric range filter.
data-table-date-filterDate picker filter supporting single date and date range.
data-table-clear-filterButton to clear all active filters at once.
pnpm dlx shadcn@latest add @niko-table/data-table-search-filter @niko-table/data-table-pagination @niko-table/data-table-view-menu

Per-column controls embedded in the column header dropdown.

NameWhat it does
data-table-column-sortHeader sort option with asc/desc/clear.
data-table-column-hideHeader option to hide/show the column.
data-table-column-pinHeader option to pin column left/right.
data-table-column-faceted-filterHeader faceted filter with multi-select options.
data-table-column-slider-filterHeader slider filter for numeric range.
data-table-column-date-filterHeader date filter with calendar picker.
pnpm dlx shadcn@latest add @niko-table/data-table-column-sort @niko-table/data-table-column-hide @niko-table/data-table-column-pin

Row and column reordering. Pulls in @dnd-kit/*.

NameWhat it does
data-table-row-dndRow drag-and-drop. Includes provider, draggable row, drag handle, DnD-aware body.
data-table-column-dndColumn drag-and-drop. Includes provider, draggable header, drag-along cell, DnD-aware header/body.
pnpm dlx shadcn@latest add @niko-table/data-table-row-dnd @niko-table/data-table-column-dnd

Row DnD should not be combined with sorting or filtering — data order conflicts. Column DnD is safe to combine with any feature.

Surrounding UI that pairs with the table.

NameWhat it does
data-table-export-buttonExport current rows to CSV with configurable column selection.
data-table-asideSidebar panel for row details or additional content alongside the table.
data-table-selection-barBulk-actions bar that appears when rows are selected.
pnpm dlx shadcn@latest add @niko-table/data-table-export-button @niko-table/data-table-aside @niko-table/data-table-selection-bar

Not sure where to start? Find the example that looks closest to what you’re building and copy its install line:

Each example page lists exactly the registry items it uses.