HomeBookmarks
OpenStatusOpenStatus
OpenStatus

OpenStatus

Open-source uptime monitoring and status page platform with checks from global regions.

OPby OpenStatus
3components34.5Kviews110bookmarks

Installs all 13 components. Without our CLI, run instead.

Auto-indexed

OpenStatus contents

  • Status CalendarStatus Calendar

    Status Calendar

  • Status BarStatus Bar

    Status Bar

  • Datetime Picker

    Datetime Picker

  • That's all 3 components

    About OpenStatus

    OpenStatus publishes a shadcn registry at data-table.openstatus.dev, with 13 components installable through the shadcn CLI.

    Components
    13
    GitHub stars
    2,283
    Last commit
    Oct 2, 2026
    Repository
    openstatusHQ/data-table-filters

    Also in the OpenStatus registry

    Copy a prompt for your agent, copy the install command, or open the docs that ship it.

    • data-table-actions

      button, dropdown-menu, alert-dialog
    • data-table-cell

      tooltip, hover-card
    • data-table-chart

      chart, button
    • data-table-drizzle

    • data-table-filter-command

      button, command, kbd, separator
    • data-table-filter-command-ai

      button, command, kbd, separator
    • data-table-mcp

    • data-table-nuqs

    • data-table-query

    • data-table-remote

    • data-table-schema

      1 example
    • data-table-sheet

      button, dropdown-menu, kbd, separator
    • data-table-zustand

    From the OpenStatus readme

    data-table-filters Filterable, infinite-scroll data tables for React and shadcn/ui, installed as source you own.

    Website • Documentation • Quick Start • Live Demo

    Built by openstatus, and used in production in the openstatus dashboard.

    Why data-table-filters?

    • One schema, everything generated. A single createTableSchema definition drives the columns, filter controls, row detail sheet, Drizzle route handler, and MCP tool schema.
    • Filtering that scales. Faceted filters (checkbox, input, slider, timerange), sorting, infinite scroll, and virtualization. With Postgres, filtering, facet counts, and cursor pagination run in SQL.
    • You own the code. Blocks install as source through the shadcn CLI, so you change what you need. Works with both Base UI and Radix.
    • Bring your own store. Keep filter state in the URL (nuqs), zustand, memory, or your own adapter.
    • AI-ready. Natural-language filtering, an MCP endpoint for agents, and a Claude Code plugin that sets the table up for you.
    • Tested against the real CLI. CI installs the blocks into fresh Next.js apps and typechecks them on every registry change and nightly.

    Quick Start

    Prerequisite. Works on either shadcn library: the CLI default, Base UI (npx shadcn@latest init -d), or Radix (npx shadcn@latest init -b radix -p lyra). CI installs into both and typechecks them on every registry change and nightly.

    One command installs the core block and the schema system:

    npx shadcn@latest add @data-table-filters/data-table @data-table-filters/data-table-schema
    

    Then render a table from any array of objects — columns, filters, and cell renderers are inferred:

    import { DataTableAuto } from "@/components/data-table/data-table-auto";
    
    const data = [
      {
        name: "Alice",
        role: "admin",
        rating: 5,
        created_at: "2026-01-15T10:00:00Z",
      },
      { name: "Bob", role: "user", rating: 3, created_at: "2026-02-20T14:30:00Z" },
    ];
    
    export default function Page() {
      return ;
    }
    

    Starting from nothing? One command creates the Next.js app, initializes shadcn, and installs a working example with every block it needs (add -b radix before -p lyra for Radix). Run cd logs-viewer && pnpm dev and open localhost:3000/example:

    pnpm dlx shadcn@latest init @data-table-filters/data-table-example-infinite --name logs-viewer --template next -p lyra
    

    Requires pnpm (npm i -g pnpm); npx and npm run dev work the same if you prefer npm.

    From create-next-app to a green next build this takes about 30 seconds on a clean machine. See the Quick Start for the full walkthrough, and add any block below as you need it.

    Blocks

    BlockInstallWhat it adds
    data-table@data-table-filters/data-tableCore: table engine, store, 4 filter types, memory adapter
    data-table-filter-command@data-table-filters/data-table-filter-commandCommand palette with history + keyboard shortcuts
    data-table-cell@data-table-filters/data-table-cell12 cell renderers (text, code, number, bar, heatmap, gauge, badge, boolean, star, status-code, level-indicator, timestamp)
    data-table-sheet@data-table-filters/data-table-sheetRow detail side panel
    data-table-nuqs@data-table-filters/data-table-nuqsnuqs URL state adapter
    data-table-zustand@data-table-filters/data-table-zustandzustand state adapter
    data-table-schema@data-table-filters/data-table-schemaDeclarative schema system with col.* factories
    data-table-drizzle@data-table-filters/data-table-drizzleDrizzle ORM server-side helpers
    data-table-query@data-table-filters/data-table-queryReact Query infinite query integration
    data-table-filter-command-ai@data-table-filters/data-table-filter-command-aiAI-powered natural language → filter inference
    data-table-mcp@data-table-filters/data-table-mcpMCP server endpoint for AI agents
    data-table-actions@data-table-filters/data-table-actionsRow and bulk actions rendered from server metadata
    data-table-remote@data-table-filters/data-table-remoteHeadless table that renders from an API endpoint's manifest
    data-table-chart@data-table-filters/data-table-chart

    Blocks install by name from the shadcn registry directory; the JSON form https://data-table.openstatus.dev/r/.json works too.

    For AI Agents

    Install the plugin in Claude Code:

    /plugin marketplace add openstatushq/data-table-filters
    /plugin install data-table-filters@openstatus
    

    Or install the skill with any agent that supports the skills CLI:

    npx skills add https://github.com/openstatushq/data-table-filters --skill data-table-filters
    

    Then just say "add a filterable data table" — the skill detects your stack, installs the right blocks, generates a schema, and wires everything up.

    Or point any MCP client at the docs and let the agent ask them questions — search_docs, get_doc, list_blocks, get_install_plan:

    claude mcp add --transport http data-table-filters https://data-table.openstatus.dev/api/mcp
    

    Machine-readable docs, for agents without the skill:

    EndpointWhat it is
    /api/mcpThese docs as an MCP server (Streamable HTTP)
    /llms.txtIndex: blocks, install recipes, docs links
    /llms-full.txtEvery documentation page in one file
    /r/index.mdBlock catalog with install commands and dependencies
    /docs/.mdAny docs page as raw markdown

    Cursor users can copy .cursor/rules/data-table-filters.mdc into their project; AGENTS.md covers every other agent. See the For AI Agents docs page for the full rundown.

    Table Schema

    Define your entire table — columns, filters, display, sorting, row details — in one place with createTableSchema and col.* factories.

    import {
      col,
      createTableSchema,
      type InferTableType,
    } from "@/lib/table-schema";
    
    const LEVELS = ["error", "warn", "info", "debug"] as const;
    
    export const tableSchema = createTableSchema({
      level: col.presets.logLevel(LEVELS),
      date: col.presets.timestamp().label("Date").size(200).sheet(),
      latency: col.presets
        .duration("ms")
        .label("Latency")
        .sortable()
        .size(110)
        .sheet(),
      status: col.presets.httpStatus().label("Status").size(60),
      host: col.string().label("Host").size(125).sheet(),
    });
    
    export type ColumnSchema = InferTableType;
    

    Generators produce everything the table components need from a single schema:

    const columns = generateColumns(tableSchema.definition);
    const filterFields = generateFilterFields(tableSchema.definition);
    const sheetFields = generateSheetFields(tableSchema.definition);
    

    Presets cover common patterns: logLevel, httpStatus, httpMethod, duration, timestamp, traceId, pathname.

    Examples

    • /default — client-side pagination (nuqs or zustand)
    • /infinite — infinite scroll with server-side filtering, live mode, row details
    • /drizzle — Drizzle ORM + Supabase PostgreSQL with cursor-based pagination, faceted search, and live data via Vercel cron
    • /light — OpenStatus Light Viewer (UI for vercel-edge-ping)
    • /builder — interactive schema builder (paste JSON/CSV, live table preview, export TS)

    BYOS (Bring Your Own Store)

    A pluggable adapter pattern for filter state management. Three built-in adapters:

    • nuqs — URL-based state (shareable URLs, browser history)
    • zustand — client-side state (existing store integration)
    • memory — ephemeral in-memory state (embedded tables, builder)

    Or implement the StoreAdapter interface for a custom solution. See the Docs for details.

    Built With

    • nextjs
    • tanstack-query
    • tanstack-table
    • shadcn/ui
    • cmdk
    • nuqs
    • zustand
    • drizzle-orm
    • zod
    • superjson
    • date-fns
    • recharts
    • dnd-kit

    Documentation

    Full documentation lives at data-table.openstatus.dev/docs:

    • Quick Start
    • For AI Agents
    • Block catalog

    Contributing

    Contributions are welcome. To run the docs site and demos locally:

    pnpm install
    pnpm dev
    

    Open localhost:3000. No environment variables are needed for the default examples; the Drizzle example needs DATABASE_URL set to a PostgreSQL connection string.

    Before opening a PR, run pnpm format, pnpm lint, pnpm typecheck, and pnpm test. Rebuild the registry with pnpm registry:build if you touched packages/registry/src/.

    Built by openstatus

    data-table-filters is built and maintained by openstatus, the open-source uptime monitoring and status page platform. It powers the tables in the openstatus dashboard.

    Looking for a specific use case, or want to hire us? Write to hire@openstatus.dev or book a call. You can also sponsor openstatus on GitHub.

    Credits

    • sadmann17 for the dope `` component around @dnd-kit (see sortable.sadmn.com)
    • shelwin_ for the draggable chart inspiration (see zoom-chart-demo.vercel.app)

    License

    MIT © openstatus

    Read the rest on GitHub →

    What OpenStatus builds on

    The packages and primitives its components pull in, counted across the registry.

    button7dropdown-menu4kbd4separator4command3tooltip3hover-card2skeleton2alert-dialog1calendar1chart1checkbox1

    Hooks and utilities

    • data-table

    What OpenStatus shipped recently

    Every appearance and removal our crawl has seen in the registry index.

    • data-tableaddedSep 17, 2026
    • data-table-actionsaddedSep 17, 2026
    • data-table-celladdedSep 17, 2026
    • data-table-chartaddedSep 17, 2026
    • data-table-drizzleaddedSep 17, 2026
    • data-table-example-infiniteaddedSep 17, 2026
    • data-table-filter-commandaddedSep 17, 2026
    • data-table-filter-command-aiaddedSep 17, 2026
    • data-table-mcpaddedSep 17, 2026
    • data-table-nuqsaddedSep 17, 2026
    • data-table-queryaddedSep 17, 2026

    Browse every shadcn registry we track →

    Timeline chart over the table: stacked buckets per level, drag to zoom the time filter
    data-table-example-infinite@data-table-filters/data-table-example-infiniteReady-to-run /example route: schema, mock API, infinite table with URL state
  • data-table-remoteaddedSep 17, 2026
  • data-table-schemaaddedSep 17, 2026
  • data-table-sheetaddedSep 17, 2026
  • data-table-zustandaddedSep 17, 2026
    1. Components
    2. /
    3. OpenStatus
    4. /
    5. OpenStatus

    Related libraries

    deltacomponents

    deltacomponents

    by deltacomponents

    8

    components

    Hirael

    Hirael

    by Mohammad Shehadeh

    217

    components

    Geist

    Geist

    by tigran tumasov

    72

    components

    uiable

    uiable

    by uiable

    168

    components

    visx

    visx

    by Airbnb

    29

    components

    Cnippet

    Cnippet

    by Cnippet

    347

    components

    About OpenStatus

    OpenStatus is a component library on 21st.dev by OpenStatus with 3 public React components. Every component ships with a live interactive preview and full TSX source — copy the code, install it through the shadcn CLI, or pull it into Cursor or Claude Code over MCP.

    All 3 OpenStatus components

    • Datetime Picker
    • Status Bar
    • Status Calendar

    Browse all component libraries →