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-schema

Data Table Schema System

data-table-filters/data-table-schema
FreeBlock

Declarative table definitions with col.* factories, presets, and generators for columns, filters, and sheet fields.

Install it

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

Source

src/lib/table-schema/generators/columns.tsxlogs.run/r/data-table-schema.json · first 6 KB
1"use client";
2
3import {
4 DataTableCellBadge,
5 DataTableCellBar,
6 DataTableCellBoolean,
7 DataTableCellCode,
8 DataTableCellGauge,
9 DataTableCellHeatmap,
10 DataTableCellLevelIndicator,
11 DataTableCellNumber,
12 DataTableCellStar,
13 DataTableCellStatusCode,
14 DataTableCellText,
15 DataTableCellTimestamp,
16} from "@/components/data-table/data-table-cell";
17import { DataTableColumnHeader } from "@/components/data-table/data-table-column-header";
18import { Checkbox } from "@/components/ui/checkbox";
19import type { ColumnDef } from "@tanstack/react-table";
20import type { JSX } from "react";
21import type { ColConfig, DisplayConfig, TableSchemaDefinition } from "../types";
22
23/**
24 * Derive the TanStack Table filterFn name from a column config.
25 *
26 * Custom filterFns (arrSome, inDateRange) must be registered on the table:
27 * filterFns: { inDateRange, arrSome } // from src/lib/table/filterfns.ts
28 */
29function getFilterFn(config: ColConfig): string | undefined {
30 if (!config.filter) return undefined;
31
32 const { kind, filter, arrayItem } = config;
33
34 switch (filter.type) {
35 case "timerange":
36 return "inDateRange"; // custom — must be registered
37 case "slider":
38 return "inNumberRange"; // TanStack built-in
39 case "input":
40 return "includesString"; // TanStack built-in; works for strings and numbers (via toString)
41 case "checkbox":
42 // Array columns use arrIncludesSome (checks row's array for filter values)
43 if (kind === "array") return "arrIncludesSome"; // TanStack built-in
44 // Single-value columns use arrSome (checks if row value is in filter array)
45 return "arrSome"; // custom — must be registered
46 }
47}
48
49/**
50 * Render the cell based on the display config.
51 */
52function renderCell(
53 display: DisplayConfig,
54 value: unknown,
55 row: unknown,
56 context?: { min: number; max: number },
57): JSX.Element | null {
58 const fallback = <DataTableCellText value={String(value ?? "")} />;
59 const colorMap = "colorMap" in display ? display.colorMap : undefined;
60 switch (display.type) {
61 case "text": {
62 const hex = colorMap?.[String(value)];
63 return typeof value === "string" || typeof value === "number" ? (
64 <DataTableCellText value={value} color={hex} />
65 ) : (
66 fallback
67 );
68 }
69 case "code": {
70 const hex = colorMap?.[String(value)];
71 return typeof value === "string" || typeof value === "number" ? (
72 <DataTableCellCode value={value} color={hex} />
73 ) : (
74 fallback
75// … truncated

What it pulls in

npm packages

  • @tanstack/react-table

Other registry items

  • https://data-table.openstatus.dev/r/data-table.json
  • https://data-table.openstatus.dev/r/data-table-cell.json
  • https://data-table.openstatus.dev/r/data-table-sheet.json

Files it writes

  • src/lib/table-schema/index.ts
  • src/lib/table-schema/types.ts
  • src/lib/table-schema/col.ts
  • src/lib/table-schema/presets.ts
  • src/lib/table-schema/validate.ts
  • src/lib/table-schema/serialize.ts
  • src/lib/table-schema/infer.ts
  • src/lib/table-schema/to-typescript.ts
  • src/lib/table-schema/generators/columns.tsx
  • src/lib/table-schema/generators/filter-fields.ts
  • src/lib/table-schema/generators/filter-schema.ts
  • src/lib/table-schema/generators/sheet-fields.ts
  • src/components/data-table/data-table-auto.tsx

Facts

Registry
data-table-filters
Type
registry:block
Access
Free
Files written
13
Licence
MIT
First indexed
2026-08-01
Last confirmed
yesterday

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 with Filtersdata-tabledata-table-filtersBlocksFree17 deps · 53 files
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
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