Getting started
Introduction
Mendy Landa’s collection of React components.
On this page
I build components I want to use in my own projects, then keep their behavior in one package. Mendy UI currently has two: Table and Filters. You can use either on its own or connect them.
Choose a component
| Component | Start here | What it owns |
|---|---|---|
| Table | Supply rows, typed columns, and stable row IDs. | Rendering, virtualization, sorting, column controls, selection, copying, and loading states. |
| Sheet | Supply content and open state. | Stacking, pinning, focus, controls, and unsaved-change protection. |
| Filters | Define fields and choose a state hook. | Search, option editors, applied chips, recognition, focus, and optional URL persistence. |
Your application owns its data queries, permissions, mutations, and matching rules. No component requires a particular API or router.
Install once
npm install @mendylanda/uiimport "@mendylanda/ui/styles.css";All components share the stylesheet and your application's theme. Use React 19 and TypeScript. Tailwind is optional; Next.js and Vite consumers are tested against the built package. The installation guide covers framework setup and Tailwind 3.
Pick your level of control
Start with DataTable or FilterBar. They assemble the standard interactions. When your application already owns state, connect useDataTable or useControlledFilters. When you need another layout, compose the exported parts around the same controller.
A table does not require filters. A filter bar does not require a table. Passing a filter controller to DataTable connects the toolbar and empty-state recovery; you still supply the matching rows.
Explore the documentation
- Table: columns, layout, queries, selection, and API.
- Filters: defaults, definitions and state, asynchronous options, and API.
- Sheet: stacking, pinning, persistence, and API.
- Shared: styling and keyboard behavior.
Ownership and license
Mendy UI is maintained by Mendy Landa and MIT licensed. Source, issues, and the changelog live on GitHub. See attribution for the documentation site's foundations.