TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/IzumiSy/seizen-table/llms.txt
Use this file to discover all available pages before exploring further.
useSeizenTable hook is the foundation of Seizen Table. It creates a table instance with state management, plugin support, and event handling.
Import
Usage
Options
Array of row data to display in the table.
Column definitions using TanStack Table’s
ColumnDef type. Each column can have:accessorKey: Key to access data in the row objectheader: Column header text or componentcell: Custom cell rendererid: Unique column identifier (auto-generated if not provided)- See TanStack Table Column Def for all options
Array of plugins to extend table functionality. Plugins can add:
- UI slots (side panels, headers, footers, inline rows, cells)
- Context menu items
- Event listeners
- Custom behaviors
Initial row selection state. Format:
{ [rowIndex: number]: boolean }Enable multi-row selection. When
false, only one row can be selected at a time.Enable Remote Mode for server-side filtering, sorting, and pagination.When enabled:See RemotePlugin for more details.
- Internal filtering/sorting/pagination is disabled
datais expected to be pre-processed by your server- State change methods (
setFilter,setSorting, etc.) emit events AND update internal state - Use with
eventBusto listen for state changes and fetch new data
true- Enable without pagination support (e.g., cursor pagination){ totalRowCount: number }- Enable with pagination (required for page count calculation)
Return Value
Returns aSeizenTableInstance<TData> with methods to control the table.
Selection Methods
Get array of currently selected row data.
Programmatically select specific rows.
Clear all row selections.
Filtering Methods
Get current column filter state.Returns array:
[{ id: string, value: unknown }]Set column filters programmatically.In Remote Mode, this also emits a
filter-change event.Get current global filter value.
Set global filter (searches across all columns).
Sorting Methods
Get current sorting state.Returns array:
[{ id: string, desc: boolean }]Set sorting programmatically.In Remote Mode, this also emits a
sorting-change event.Pagination Methods
Get current pagination state.Returns:
{ pageIndex: number, pageSize: number }Navigate to a specific page (0-based index).In Remote Mode, this also emits a
pagination-change event.Change number of rows per page.In Remote Mode, this also emits a
pagination-change event.Data Methods
Get current table data.
Get column definitions.
Column Visibility Methods
Get column visibility state.Returns object:
{ [columnId: string]: boolean } where true means visible.Set column visibility state.
Toggle visibility of a specific column.
Column Order Methods
Get current column order.Returns array of column IDs:
string[]Set column order.
Move a column to a new position.
Plugin Properties
Array of registered plugins.
Plugin control interface for opening/closing plugins.
Event bus for plugin communication and Remote Mode.Built-in events:
data-change: Emitted when table data changesselection-change: Emitted when row selection changesfilter-change: Emitted when filters change (Remote Mode)sorting-change: Emitted when sorting changes (Remote Mode)pagination-change: Emitted when pagination changes (Remote Mode)row-click: Emitted when a row is clickedcell-context-menu: Emitted when cell context menu openscolumn-context-menu: Emitted when column header context menu opens
Remote Mode configuration.
false: Not in Remote Modetrue: Remote Mode without totalRowCount{ totalRowCount: number }: Remote Mode with totalRowCount
Advanced
The underlying TanStack Table instance. Use for advanced operations not exposed by
SeizenTableInstance.Type Parameters
The type of your row data. Enables full TypeScript type safety throughout the table.
Related Types
See Core Types for:SeizenTableColumn<TData>SeizenTableInstance<TData>UseSeizenTableOptions<TData>RemoteOptionsRowSelectionStateColumnFiltersStateSortingStatePaginationStateVisibilityStateColumnOrderState