Component Library

Production-ready components for building high-quality, accessible user interfaces that follow your design system guidelines.

Accessible by Default
All components follow WCAG 2.1 AA standards and include proper ARIA attributes and keyboard navigation.
Highly Customizable
Easily adapt components to your brand with our token-based theming system and variant API.
Framework Agnostic
Core principles and patterns work across React, Vue, and other frameworks with consistent behavior.

Component Browser

Explore our extensive library of ready-to-use components

Button
inputs
Trigger actions and events with a click or tap.
<Button>Click me</Button>

Variants:

primary
secondary
outline
ghost
link
98%
2 weeks ago
View
Input
inputs
Capture text input from users.
<Input placeholder="Enter text..." />

Variants:

default
with-icon
disabled
96%
3 weeks ago
View
Select
inputs
Allow users to select from a list of options.
<Select><SelectTrigger>Select option</SelectTrigger></Select>

Variants:

default
multiple
searchable
94%
1 month ago
View
Checkbox
inputs
Allow users to select multiple options from a set.
<Checkbox id="terms" />

Variants:

default
indeterminate
disabled
92%
1 month ago
View
Radio Group
inputs
Allow users to select a single option from a set.
<RadioGroup><RadioGroupItem value="option1" /></RadioGroup>

Variants:

default
card
inline
90%
1 month ago
View
Form
inputs
Collect and validate user input with a form.
<Form><FormField>Form field</FormField></Form>

Variants:

default
inline
stacked
95%
2 weeks ago
View
Tabs
navigation
Switch between different views within the same context.
<Tabs><TabsList><TabsTrigger>Tab</TabsTrigger></TabsList></Tabs>

Variants:

default
underlined
pills
91%
1 month ago
View
Navigation Menu
navigation
A responsive navigation component with dropdown menus.
<NavigationMenu><NavigationMenuItem>Item</NavigationMenuItem></NavigationMenu>

Variants:

default
vertical
mobile
89%
1 month ago
View
Breadcrumb
navigation
Show the navigation path to help users understand their location.
<Breadcrumb><BreadcrumbItem>Home</BreadcrumbItem></Breadcrumb>

Variants:

default
with-icons
responsive
85%
2 months ago
View
Pagination
navigation
Navigate between pages of content.
<Pagination><PaginationItem>1</PaginationItem></Pagination>

Variants:

default
compact
with-ellipsis
84%
2 months ago
View
Command
navigation
Fast, composable, command menu for React.
<Command><CommandInput>Search...</CommandInput></Command>

Variants:

default
dialog
inline
82%
3 days ago
View
Card
layout
Container for related content and actions.

Card Title

This is a sample card with some content.

<Card><CardContent>Card content</CardContent></Card>

Variants:

default
interactive
bordered
95%
1 month ago
View
Accordion
layout
Vertically stacked sections that can be expanded/collapsed.
Item
<Accordion><AccordionItem>Item</AccordionItem></Accordion>

Variants:

default
bordered
arrow-indicator
88%
1 month ago
View
Separator
layout
Visually or semantically separate content.
<Separator />

Variants:

horizontal
vertical
with-label
80%
3 months ago
View
Aspect Ratio
layout
Maintain responsive width/height ratio.
<AspectRatio ratio={16/9} />

Variants:

16:9
4:3
1:1
portrait
78%
3 months ago
View
Collapsible
layout
An interactive component that can be expanded/collapsed.
<Collapsible><CollapsibleContent>Content</CollapsibleContent></Collapsible>

Variants:

default
with-animation
with-icon
76%
3 months ago
View
Alert
feedback
Display a short, important message to get user attention.
Information
This is an important message.
<Alert><AlertTitle>Alert</AlertTitle></Alert>

Variants:

default
destructive
warning
success
87%
1 month ago
View
Toast
feedback
Display brief, temporary notifications.
<Toast><ToastTitle>Notification</ToastTitle></Toast>

Variants:

default
destructive
success
loading
86%
1 month ago
View
Progress
feedback
Display the progress of a task or loading state.
<Progress value={60} />

Variants:

default
indeterminate
with-label
83%
2 months ago
View
Skeleton
feedback
Display a placeholder while content is loading.
<Skeleton className="h-4 w-full" />

Variants:

text
avatar
card
table
81%
2 months ago
View
Dialog
feedback
Modal window that interrupts the user with important content.
<Dialog><DialogContent>Dialog content</DialogContent></Dialog>

Variants:

default
destructive
alert
92%
3 weeks ago
View
Table
data
Display and organize data in rows and columns.
Header
Body
<Table><TableHeader>Header</TableHeader><TableBody>Body</TableBody></Table>

Variants:

default
striped
bordered
88%
2 months ago
View
Data Table
data
Advanced table with sorting, filtering, and pagination.
No results.
<DataTable columns={columns} data={data} />

Variants:

default
expandable
selectable
virtualized
93%
2 weeks ago
View
Avatar
data
Display a user's profile picture, initials, or fallback icon.
JD
AB
+3
<Avatar><AvatarImage src="..." /></Avatar>

Variants:

image
initials
icon
group
85%
2 months ago
View
Badge
data
Display a small count or status indicator.
New5Tag
<Badge>New</Badge>

Variants:

default
outline
secondary
destructive
84%
2 months ago
View
Calendar
data
Display and select dates from a calendar.
June 2025
<Calendar mode="single" />

Variants:

single
range
multiple
grid
82%
2 months ago
View
Featured Component

Data Table

Our powerful data table component handles complex data sets with features like sorting, filtering, pagination, and row selection while maintaining accessibility.

Sortable
Filterable
Selectable
Paginated
Accessible
DataTable.tsx
import { 
  flexRender,
  getCoreRowModel,
  useReactTable,
  getPaginationRowModel,
  getSortedRowModel,
  getFilteredRowModel,
} from "@tanstack/react-table"

// Table component with accessibility features
export function DataTable({
  columns,
  data,
  searchKey,
}) {
  const [sorting, setSorting] = useState([])
  const [columnFilters, setColumnFilters] = useState([])
  
  const table = useReactTable({
    data,
    columns,
    getCoreRowModel: getCoreRowModel(),
    getPaginationRowModel: getPaginationRowModel(),
    getSortedRowModel: getSortedRowModel(),
    getFilteredRowModel: getFilteredRowModel(),
    onSortingChange: setSorting,
    onColumnFiltersChange: setColumnFilters,
    state: {
      sorting,
      columnFilters,
    },
  })

  return (
    <div>
      {/* Search input */}
      {/* Table with ARIA attributes */}
      {/* Pagination controls */}
    </div>
  )
}

Implementation Guide

Follow these best practices when implementing components in your application

Importing Components
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"

Best Practices:

  • Import components directly from their respective files
  • Avoid creating barrel files that re-export all components
  • Use path aliases (like @/components) for cleaner imports
  • Consider using an ESLint plugin to enforce import patterns

Component Tools

Helpful tools to enhance your component development workflow

Accessibility Checker
Verify that your component implementations meet accessibility standards
Variant Generator
Generate custom component variants based on your design tokens

Resources

Additional resources to help you get the most out of our component library

Component API Reference
Detailed API documentation for all components, including props, events, and examples.
Component Patterns
Common patterns and recipes for solving complex UI challenges with our components.
Theming Guide
Learn how to customize components to match your brand's visual identity.

Stay Updated

Subscribe to our newsletter to receive updates about new components, best practices, and design system tips.