Data Table AI Filter Command Palette
data-table-filters/data-table-filter-command-aiFreeBlock
AI-powered command palette that translates natural language queries into structured table filters. Provider-agnostic — works with any LLM via Vercel AI SDK.
Install it
npx shadcn@latest add https://logs.run/r/data-table-filter-command-ai.jsonSource
1"use client";23import { TextShimmer } from "@/components/data-table/data-table-filter-command-ai/text-shimmer";4import { useAIFilters } from "@/components/data-table/data-table-filter-command-ai/use-ai-filters";5import {6 columnFiltersParserFromSchema,7 getFieldOptions,8 getFilterValue,9 getWordByCaretPosition,10 replaceInputByFieldType,11} from "@/components/data-table/data-table-filter-command/utils";12import { useDataTable } from "@/components/data-table/data-table-provider";13import type { DataTableFilterField } from "@/components/data-table/types";14import {15 Command,16 CommandEmpty,17 CommandGroup,18 CommandItem,19 CommandList,20 CommandSeparator,21} from "@/components/ui/command";22import { Kbd } from "@/components/ui/kbd";23import { Separator } from "@/components/ui/separator";24import { useHotKey } from "@/hooks/use-hot-key";25import { useLocalStorage } from "@/hooks/use-local-storage";26import { isStructuredQuery } from "@/lib/ai";27import { getCommandHistoryKey } from "@/lib/constants/local-storage";28import { formatCompactNumber } from "@/lib/format";29import type { SchemaDefinition } from "@/lib/store/schema/types";30import type { TableSchemaDefinition } from "@/lib/table-schema";31import { cn } from "@/lib/utils";32import { Command as CommandPrimitive } from "cmdk";33import { formatDistanceToNow } from "date-fns";34import { LoaderCircle, Search, Sparkles, X } from "lucide-react";35import React, { useEffect, useMemo, useRef, useState } from "react";36import { toast } from "sonner";3738interface DataTableFilterAICommandProps {39 /** BYOS schema definition for parsing/serializing filter values */40 schema: SchemaDefinition;41 /** Table schema definition for AI context generation */42 tableSchema: TableSchemaDefinition;43 /** API endpoint that streams AI filter results */44 api: string;45 /** Unique ID for this table (used to namespace localStorage) */46 tableId?: string;47}4849export function DataTableFilterAICommand({50 schema,51 tableSchema,52 api,53 tableId = "default",54}: DataTableFilterAICommandProps) {55 const {56 table,57 isLoading,58 filterFields: _filterFields,59 getFacetedUniqueValues,60 } = useDataTable();61 const columnFilters = table.getState().columnFilters;62 const inputRef = useRef<HTMLInputElement>(null);63 const [open, setOpen] = useState<boolean>(false);64 const [currentWord, setCurrentWord] = useState<string>("");65 const isSerializingRef = useRef(false);66 const filterFields = useMemo(67// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from data-table-filters
All 11 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Data Table with Filtersdata-table | data-table-filters | Blocks | Free | 17 deps · 53 files | |
| Data Table Cell Renderersdata-table-cell | data-table-filters | Blocks | Free | 4 deps · 17 files | |
| Data Table Drizzle ORM Helpersdata-table-drizzle | data-table-filters | Blocks | Free | 2 deps · 7 files | |
| Data Table Filter Command Palettedata-table-filter-command | data-table-filters | Blocks | Free | 2 deps · 2 files | |
| Data Table MCP Serverdata-table-mcp | data-table-filters | Blocks | Free | 2 deps · 5 files | |
| Data Table nuqs Store Adapterdata-table-nuqs | data-table-filters | Blocks | Free | 1 dep · 4 files | |
| Data Table Query Layerdata-table-query | data-table-filters | Blocks | Free | 3 deps · 3 files | |
| Data Table Schema Systemdata-table-schema | data-table-filters | Blocks | Free | 1 dep · 13 files |
