BlockDex

Components

Registries

Free blocks

Method

BlockDex

Components

Registries

Free blocks

Method

Open API

BlockDex

Components

Registries

Free blocks

Method

Open API

Components/data-table-filters/data-table

Data Table with Filters

data-table-filters/data-table
FreeBlock

Data table with search, checkbox, slider, date range filters, sorting, infinite scroll, virtualization, and in-memory state management.

Install it

npx shadcn@latest add https://logs.run/r/data-table.json

Source

src/components/data-table/data-table-provider.tsxlogs.run/r/data-table.json
1import { DataTableFilterField } from "@/components/data-table/types";
2import { ControlsProvider } from "@/providers/controls";
3import type {
4 ColumnDef,
5 ColumnFiltersState,
6 PaginationState,
7 RowSelectionState,
8 SortingState,
9 Table,
10 VisibilityState,
11} from "@tanstack/react-table";
12import { createContext, useContext, useMemo } from "react";
13import { DataTableStoreSync } from "./data-table-store-sync";
14
15// REMINDER: read about how to move controlled state out of the useReactTable hook
16// https://github.com/TanStack/table/discussions/4005#discussioncomment-7303569
17
18interface DataTableStateContextType {
19 columnFilters: ColumnFiltersState;
20 sorting: SortingState;
21 rowSelection: RowSelectionState;
22 columnOrder: string[];
23 columnVisibility: VisibilityState;
24 pagination: PaginationState;
25 enableColumnOrdering: boolean;
26}
27
28interface DataTableBaseContextType<TData = unknown, TValue = unknown> {
29 table: Table<TData>;
30 filterFields: DataTableFilterField<TData>[];
31 columns: ColumnDef<TData, TValue>[];
32 isLoading?: boolean;
33 totalRows?: number;
34 filterRows?: number;
35 getFacetedUniqueValues?: (
36 table: Table<TData>,
37 columnId: string,
38 ) => Map<string, number>;
39 getFacetedMinMaxValues?: (
40 table: Table<TData>,
41 columnId: string,
42 ) => undefined | [number, number];
43}
44
45interface DataTableContextType<TData = unknown, TValue = unknown>
46 extends DataTableStateContextType,
47 DataTableBaseContextType<TData, TValue> {}
48
49export const DataTableContext = createContext<DataTableContextType<
50 any,
51 any
52> | null>(null);
53
54export function DataTableProvider<TData, TValue>({
55 children,
56 ...props
57}: Partial<DataTableStateContextType> &
58 DataTableBaseContextType<TData, TValue> & {
59 children: React.ReactNode;
60 }) {
61 const value = useMemo(
62 // eslint-disable-next-line react-hooks/preserve-manual-memoization
63 () => ({
64 ...props,
65 columnFilters: props.columnFilters ?? [],
66 sorting: props.sorting ?? [],
67 rowSelection: props.rowSelection ?? {},
68 columnOrder: props.columnOrder ?? [],
69 columnVisibility: props.columnVisibility ?? {},
70 pagination: props.pagination ?? { pageIndex: 0, pageSize: 10 },
71 enableColumnOrdering: props.enableColumnOrdering ?? false,
72 }),
73 [
74 props.columnFilters,
75 props.sorting,
76 props.rowSelection,
77 props.columnOrder,
78 props.columnVisibility,
79 props.pagination,
80 props.table,
81 props.filterFields,
82 props.columns,
83// … truncated

What it pulls in

npm packages

  • @tanstack/react-table
  • @tanstack/react-query
  • @tanstack/react-virtual
  • lucide-react
  • zod
  • date-fns
  • clsx
  • tailwind-merge
  • class-variance-authority
  • react-day-picker
  • @radix-ui/react-slider
  • @radix-ui/react-visually-hidden
  • @radix-ui/react-slot
  • @dnd-kit/core
  • @dnd-kit/modifiers
  • @dnd-kit/sortable
  • @dnd-kit/utilities

Other registry items

  • button
  • input
  • input-group
  • kbd
  • table
  • checkbox
  • tooltip
  • dropdown-menu
  • separator
  • label
  • accordion
  • command
  • popover
  • skeleton
  • drawer
  • calendar
  • select

Files it writes

  • src/components/data-table/types.ts
  • src/components/data-table/utils.ts
  • src/components/data-table/data-table-provider.tsx
  • src/components/data-table/data-table-store-sync.tsx
  • src/components/data-table/data-table-infinite.tsx
  • src/components/data-table/data-table-floating-bar.tsx
  • src/components/data-table/data-table-column-header.tsx
  • src/components/data-table/data-table-toolbar.tsx
  • src/components/data-table/data-table-view-options.tsx
  • src/components/data-table/data-table-reset-button.tsx
  • src/components/data-table/data-table-filter-checkbox.tsx
  • src/components/data-table/data-table-filter-input.tsx
  • src/components/data-table/data-table-filter-slider.tsx
  • src/components/data-table/data-table-filter-timerange.tsx
  • src/components/data-table/data-table-filter-reset-button.tsx
  • src/components/data-table/data-table-filter-controls.tsx
  • src/components/data-table/data-table-filter-controls-drawer.tsx
  • src/components/custom/table.tsx
  • src/components/custom/sortable.tsx
  • src/components/custom/slider.tsx
  • src/components/custom/date-picker-with-range.tsx
  • src/providers/controls.tsx
  • src/lib/store/context.ts
  • src/lib/store/adapter/index.ts
  • src/lib/store/adapter/types.ts
  • src/lib/store/schema/index.ts
  • src/lib/store/schema/types.ts
  • src/lib/store/schema/field.ts
  • src/lib/store/schema/serialization.ts
  • src/lib/store/parser/index.ts
  • src/lib/store/parser/types.ts
  • src/lib/store/parser/text-parser.ts
  • src/lib/store/provider/DataTableStoreProvider.tsx
  • src/lib/store/hooks/index.ts
  • src/lib/store/hooks/useFilterState.ts
  • src/lib/store/hooks/useFilterActions.ts
  • src/lib/store/hooks/useFilterField.ts
  • src/lib/store/hooks/useReactTableSync.ts
  • src/lib/store/adapters/memory/index.ts
  • src/lib/utils.ts

Facts

Registry
data-table-filters
Type
registry:block
Access
Free
Files written
53
Theme wiring
ships cssVars
Licence
MIT
First indexed
2026-08-04
Last confirmed
today

Go to the source

logs.run openstatusHQ/data-table-filters on GitHub Raw registry item This item as JSON

More from data-table-filters

All 11 items
Same registry, same kind — the ones you would have found next
ComponentRegistryKindAccessInstallsCommand
Data Table Cell Renderersdata-table-celldata-table-filtersBlocksFree4 deps · 17 files
Data Table Drizzle ORM Helpersdata-table-drizzledata-table-filtersBlocksFree2 deps · 7 files
Data Table Filter Command Palettedata-table-filter-commanddata-table-filtersBlocksFree2 deps · 2 files
Data Table AI Filter Command Palettedata-table-filter-command-aidata-table-filtersBlocksFree6 deps · 11 files
Data Table MCP Serverdata-table-mcpdata-table-filtersBlocksFree2 deps · 5 files
Data Table nuqs Store Adapterdata-table-nuqsdata-table-filtersBlocksFree1 dep · 4 files
Data Table Query Layerdata-table-querydata-table-filtersBlocksFree3 deps · 3 files
Data Table Schema Systemdata-table-schemadata-table-filtersBlocksFree1 dep · 13 files
BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex

BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex

BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex