bazza/ui
Linear-style data table filter for shadcn/ui, client- or server-side
bazza/ui is a small shadcn/ui add-on registry that today ships exactly one thing: a data table filter modelled on Linear's filter bar. It gives you a useDataTableFilters() hook holding filter state and a <DataTableFilter /> component built on shadcn primitives, plus integrations for TanStack Table and nuqs, and it works with client-side or server-side filtering. The docs demo runs it over 30,000 rows with text, option, multi-option, number and date column types. The site's own docs say it deliberately does not duplicate shadcn primitives and is still labelled alpha.
pnpm dlx shadcn@latest add https://ui.bazza.dev/r/filtersInstall this instead of building a filter bar on top of TanStack Table by hand — the column-type system (text, option, multi-option, number, date) and the URL-state wiring through nuqs are the parts that take days to get right. It is an add-on, not a table: you still bring your own <Table>, and shadcn/ui must already be initialised in the project. Known gotcha documented upstream: in plain JavaScript projects the shadcn CLI fails to copy locales/en.json, so run the command, ignore the error, then create the locales directory and copy the file in yourself.
Why it is here. Linear-quality filtering is the single most-copied interaction in B2B SaaS, and this is the only free open implementation that gets the feel right.
- Linear-inspired filter interaction
- client and server-side filtering
- TanStack Table and nuqs integrations
- 30k-row live demo
- one component, done properly
Verified 2026-08-15. HTTP 200. https://ui.bazza.dev/, https://ui.bazza.dev/docs, https://ui.bazza.dev/docs/getting-started, https://ui.bazza.dev/docs/data-table-filter, GitHub API repos/kianbazza/ui (redirects to bazzalabs/ui)








