A modern UI component library built with Tailwind CSS and Shadcn architecture.
UIAble is an open-source collection of reusable UI components designed for developers who want clean, practical, and fully customizable building blocks for modern frontend projects — without lock-in, without unnecessary abstraction, and without rebuilding the same UI patterns from scratch every time.
Most UI libraries built on Shadcn end up looking and feeling nearly identical. Same structure. Same visual defaults. Same tradeoffs.
UIAble was built to be different — not by adding more features, but by being more intentional about what a component library should actually do in a real project.
The common frustrations with existing libraries:
- Too opinionated about things that should be left to you
- Components that look great in demos but break under real product requirements
- Hard to customize after initial setup
- Dependency-heavy structures that become difficult to escape
- Logic hidden behind abstraction layers you can't inspect or modify
UIAble addresses all of these directly.
No black-box packages. Components are copied directly into your codebase. You see them, you edit them, you own them.
The focus is on components that handle real requirements — form validation, edge case inputs, accessible dialogs, scalable tables, proper keyboard navigation — not components optimized for screenshots.
UIAble uses Tailwind CSS in a clean, sensible way. No class soup. No structural gymnastics. Just readable component code that happens to use Tailwind well.
If you stop using UIAble tomorrow, your code still works. Because it's already yours.
The entire component library is transparent and open for contribution. No gated tiers. No "pro" version. Just components.
| Layer | Technology |
|---|---|
| Styling | Tailwind CSS v4 |
| Architecture | shadcn/ui |
| Primitives | Base UI |
| Language | TypeScript |
| Framework | React (Next.js compatible) |
UIAble v1.0 ships with the following components:
ButtonButton GroupCheckboxComboboxCommand PaletteDate PickerInputInput GroupInput OTPNative SelectRadioRadio GroupSelectSliderSwitchTextareaToggleToggle Group
AvatarBadgeCardCarouselChartData TableEmpty StateHover CardKBDLabelList GroupTableTooltipSkeletonCalendar
AlertAlert DialogDialogDrawerProgressSheetSonnerSpinner
BreadcrumbDropdown MenuMenubarNavbarNavigation MenuPaginationTabsSidebar
AccordionCollapsibleContext MenuItemPopover
Components are added based on practical frontend needs, not trend-driven requests. If you need something that isn't here, open a discussion or a PR.
Clone the repository from Github:
git clone https://github.com/codedthemes/uiable.gitNavigate into the directory and install dependencies:
cd uiable
npm installStart the Next.js development server:
npm run devMIT © UIAble
You can use, modify, and distribute UIAble freely — in personal and commercial projects. No attribution required, though it's always appreciated.
See the full LICENSE file for details.
UIAble stands on the shoulders of great open-source work:
- shadcn/ui — for the copy-paste component model
- Tailwind CSS — for the utility-first foundation
- Base UI — for unstyled accessible primitives
- Radix UI — for headless component primitives
- Lucide — for the icon set
UIAble is intentionally not trying to feel like a product. It's trying to feel like something you quietly copy into your project — and forget about, because it just works.
