Skip to content

Now in the official shadcn registry directory.

Start free
Component library

Production components, packaged for agents and teams.

Browse the ai2 registry as a premium component surface. Every card below is a live preview with install context, docs and the same token system used across this site.

Registry snapshot

Live from registry.json

ready

51

components

10

categories

MCP

context

$ npx shadcn add @ai2/button
varianttonesizetokens

Yes. It follows the WAI-ARIA design pattern.

Accordion

@ai2/accordion

Accordion on radix-ui with 3 variants (default divided rows, separated cards, outline boxed) plus animated open/close (ai2 motion tokens) and a rotating chevron. Variant flows from Accordion to every item via context. Exports Accordion, AccordionItem, AccordionTrigger, AccordionContent.

disclosure
install

Alert

@ai2/alert

Alert with a variant x tone matrix: 2 variants (soft, outline) x 6 tones. Optional leading icon, AlertTitle and AlertDescription. role=alert.

feedback
install

Alert Dialog

@ai2/alert-dialog

Confirmation dialog on radix-ui AlertDialog for destructive or irreversible actions. Action button defaults to the danger tone; cancel is focused first per WAI-ARIA.

overlayfeedback
install
A2AI
A2AIB2+2

Avatar

@ai2/avatar

Avatar on radix-ui with 5 sizes (xs-xl) and 2 shapes (circle, rounded), plus AvatarGroup for overlapping stacks with an optional max that collapses the rest into a +N tile. Exports Avatar, AvatarImage, AvatarFallback, AvatarGroup.

display
install
LiveDegradedv2.4.03

Badge

@ai2/badge

Badge with a variant x tone x size matrix: 3 variants (solid, soft, outline), 6 tones, 3 sizes (sm, md, lg). Icons work with both lucide svg and remixicon i children. Supports asChild for links.

display
install

Breadcrumb

@ai2/breadcrumb

Accessible breadcrumb (nav + ordered list) with link, current page, separator and ellipsis parts. Semantic aria-current on the active page.

navigation
install

Button

@ai2/button

Button with a full variant x tone x size matrix: 5 variants (solid, soft, outline, ghost, link), 6 tones (neutral, brand, success, warning, danger, info), 10 sizes (xs-xl plus square icon-xs through icon-xl for icon-only buttons), plus isLoading and asChild. Every tone is driven by ai2 semantic tokens.

formactions
install

Button Group

@ai2/button-group

Joins buttons, inputs and selects into a single segmented control on horizontal or vertical orientation, collapsing inner radii and borders. Exports ButtonGroup, ButtonGroupText, ButtonGroupSeparator.

formactions
install
January 2026

Calendar

@ai2/calendar

Date calendar on react-day-picker v10 styled with ai2 Button and tokens. Single, multiple and range selection, dropdown or label caption, outside days, week numbers. Exports Calendar, CalendarDayButton.

form
install
Production
Deployed 12 minutes ago

4.2M requests this month across 3 regions.

Card

@ai2/card

Card surface with 4 variants (outline, elevated, soft, glass) and 3 inset scales (sm, md, lg) that pad header, content and footer together. Parts: Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter.

displaylayout
install
1
2
3
4
5

Carousel

@ai2/carousel

Slider/carousel on embla-carousel-react with horizontal or vertical orientation, keyboard support and prev/next controls built from ai2 Button. Exports Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext.

displaylayout
install

Checkbox

@ai2/checkbox

Checkbox on radix-ui with 4 tones (neutral, brand, success, danger) and 3 sizes (sm, md, lg). Invalid state via aria-invalid.

form
install
3 environment variables

Collapsible

@ai2/collapsible

Single expand/collapse region on radix-ui. Exports Collapsible, CollapsibleTrigger, CollapsibleContent. Unstyled by design so it composes into any layout.

disclosure
install

Combobox

@ai2/combobox

Searchable single-select built from Popover + Command. Trigger follows the Input contract: 3 variants (outline, soft, ghost), 3 sizes (sm, md, lg), 3 tones (neutral, success, danger). Controlled or uncontrolled via value/defaultValue and onValueChange; options as {value, label} pairs.

form
install

Command

@ai2/command

Command palette (cmdk) with fuzzy search, groups, items, shortcuts and a CommandDialog wrapper for a ⌘K experience.

overlaynavigation
install
Right click here

Context Menu

@ai2/context-menu

Right-click menu on radix-ui with items, checkbox and radio items, submenus, labels, separators and shortcuts. Item variant default or danger. Icons work with lucide svg and remixicon i. Exports the full ContextMenu part set.

overlay
install

Date Picker

@ai2/date-picker

Date field that opens a Calendar in a Popover. Controlled or uncontrolled via value/defaultValue and onValueChange; formats the selected date with date-fns and shows a placeholder when empty.

form
install

Dialog

@ai2/dialog

Modal dialog on radix-ui with portal, overlay, focus trap, fade/zoom animations and 5 content sizes (sm, md, lg, xl, full) that cap the width from the sm breakpoint up while staying full width minus a margin on mobile. Exports Dialog, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, DialogClose.

overlay
install

Drawer

@ai2/drawer

Draggable drawer on vaul with 4 directions (top, right, bottom, left), a drag handle on the bottom variant, overlay and snap behavior. Exports Drawer, DrawerTrigger, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, DrawerClose, DrawerOverlay, DrawerPortal.

overlay
install

Dropdown Menu

@ai2/dropdown-menu

Full dropdown menu on radix-ui: items (default + danger variant), checkbox items, radio group, submenus, labels, separators and shortcuts. Keyboard navigable.

overlaynavigation
install
No projects yet
Create your first project to start shipping components.

Empty

@ai2/empty

Empty-state placeholder: Empty wrapper with EmptyHeader, EmptyMedia (default or icon variant), EmptyTitle, EmptyDescription and EmptyContent for actions. Centered, balanced text, dashed-border ready.

displaylayout
install

Used only for deploy alerts.

Field

@ai2/field

Form field composition: Field, FieldControl, FieldLabel, FieldDescription, FieldError. Auto-wires accessibility: FieldControl (a Slot around any control) receives a generated id, aria-describedby pointing at the description and error, and aria-invalid; the label targets the control automatically. invalid/disabled props drive data attributes, label color and dimming. orientation switches vertical (default) and horizontal (label-left, e.g. switch rows).

form
install

File Input

@ai2/file-input

Styled file picker: hidden native input under a custom surface with a leading icon (lucide or remixicon), placeholder or selected file name, multiple-file count and an optional clear button. Follows the Input contract: 3 variants (outline, soft, ghost), 3 sizes (sm, md, lg), 3 tones (neutral, success, danger). States: empty, selected, disabled, invalid via aria-invalid.

form
install

Hover Card

@ai2/hover-card

Rich hover preview on radix-ui with portal, directional slide/zoom animations and 3 content sizes (sm, md, lg). Exports HoverCard, HoverCardTrigger, HoverCardContent.

overlay
install

Input

@ai2/input

Text input with 3 variants (outline, soft, ghost), 3 sizes (sm, md, lg) and 3 tones (neutral, success, danger) for validation states via border and focus ring color. Invalid state also via aria-invalid.

form
install
https://

Input Group

@ai2/input-group

Composable input shell: InputGroup carries the field appearance with 3 variants (outline, soft, ghost), 3 sizes (sm, md, lg) and 3 tones (neutral, success, danger); InputGroupInput/InputGroupTextarea render transparent controls inside; InputGroupAddon places icons, text or buttons at inline-start, inline-end, block-start or block-end; InputGroupText and InputGroupButton for addon content.

form
install

Input OTP

@ai2/input-otp

One-time-passcode input on input-otp with individual slots, a blinking fake caret, active-slot ring and aria-invalid danger styling. Exports InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator.

form
install
Billing

Visa ending in 4242

Notifications

Weekly product digest

Item

@ai2/item

List/row primitive with 3 variants (default, outline, muted) and 2 sizes (default, sm). Parts: Item, ItemGroup, ItemMedia (default/icon/image), ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator. asChild renders the row as a link.

displaylayout
install

Press Ctrl + K to open the command palette.

Kbd

@ai2/kbd

Keyboard key hint styled with the ai2 mono font and surface tokens. Use for shortcuts and command hints.

display
install

Label

@ai2/label

Accessible form label built on radix-ui Label with 2 sizes (sm, md). Auto-dims when the associated control is disabled.

form
install

Menubar

@ai2/menubar

Application menu bar on radix-ui with top-level menus, items, checkbox and radio items, submenus, labels, separators and shortcuts. Item variant default or danger. Icons work with lucide svg and remixicon i. Exports the full Menubar part set.

navigationoverlay
install

Pagination

@ai2/pagination

Accessible pagination nav (previous/next, page links, ellipsis) styled with ai2 button variants. Current page gets aria-current.

navigation
install

Popover

@ai2/popover

Popover on radix-ui with portal, directional slide/zoom animations, 3 content sizes (sm, md, lg) and an optional anchor. Exports Popover, PopoverTrigger, PopoverContent, PopoverAnchor.

overlay
install

Progress

@ai2/progress

Progress bar on radix-ui with 6 tones (neutral, brand, success, warning, danger, info) and 3 sizes. Fill animates using ai2 motion tokens.

displayfeedback
install

Radio Group

@ai2/radio-group

Radio group + item on radix-ui with 4 tones and 3 sizes. Exports RadioGroup and RadioGroupItem.

form
install
Sidebar
Drag the handle to resize

Resizable

@ai2/resizable

Resizable split panels on react-resizable-panels with horizontal or vertical groups and an optional drag handle. Exports ResizablePanelGroup, ResizablePanel, ResizableHandle.

layout
install

Changelog

Component v1.0.0
Component v1.1.0
Component v1.2.0
Component v1.3.0
Component v1.4.0
Component v1.5.0
Component v1.6.0
Component v1.7.0
Component v1.8.0
Component v1.9.0
Component v1.10.0
Component v1.11.0
Component v1.12.0
Component v1.13.0
Component v1.14.0
Component v1.15.0
Component v1.16.0
Component v1.17.0
Component v1.18.0
Component v1.19.0
Component v1.20.0
Component v1.21.0
Component v1.22.0
Component v1.23.0

Scroll Area

@ai2/scroll-area

Custom cross-browser scroll container on radix-ui with a thin token-colored scrollbar. Exports ScrollArea and ScrollBar (vertical or horizontal orientation).

layoututility
install

Select

@ai2/select

Select on radix-ui. Trigger follows the Input contract: 3 variants (outline, soft, ghost), 3 sizes (sm, md, lg), 3 tones (neutral, success, danger). Grouped items, labels, separators, scroll buttons, checkmark indicator; popper positioned with matching width.

form
install
Docs
Changelog
Blog
OR

Separator

@ai2/separator

Horizontal or vertical divider on radix-ui with 2 variants (solid, dashed) and an optional centered label that renders a two-line divider with text (e.g. OR). Decorative by default with correct aria semantics when not.

layout
install

Sheet

@ai2/sheet

Slide-in panel on radix-ui Dialog with 4 sides (right, left, top, bottom), 3 sizes (sm, md, lg) that set the panel width for the left/right sides, and directional slide animations using ai2 motion tokens.

overlay
install

Skeleton

@ai2/skeleton

Loading placeholder on the ai2 surface-3 token with 3 shapes (line, circle, rect) and 2 animations (pulse, none). Style dimensions via className.

displayfeedback
install

Slider

@ai2/slider

Range slider on radix-ui with 4 tones (neutral, brand, success, danger) coloring the range and thumb, and 3 sizes (sm, md, lg) for the track and thumb. Supports single and multi-thumb, horizontal and vertical.

form
install

Toast (Sonner)

@ai2/sonner

Toast notifications via sonner, themed with ai2 tokens and synced to next-themes. Drop the Toaster once in your root layout, then call toast() anywhere.

feedback
install

Spinner

@ai2/spinner

Loading spinner (lucide) with 3 tones (current, brand, muted) and 4 sizes (sm-xl). Has role=status and an aria-label.

displayfeedback
install

Switch

@ai2/switch

Toggle switch on radix-ui with 4 tones (neutral, brand, success, danger) and 3 sizes (sm, md, lg). Thumb travel and easing use ai2 motion tokens.

form
install
EndpointRegionp95
/v1/deploymentsus-east-148ms
/v1/webhookseu-central-171ms
/v1/keys/rotateap-south-163ms

Table

@ai2/table

Composable table primitives (Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption) with hover rows, selected state and horizontal scroll. Table takes density (compact, comfortable, relaxed) and variant (line, striped, outline), both flowing to rows and cells via context.

displaydata
install
Requests, latency and uptime at a glance.

Tabs

@ai2/tabs

Tabs on radix-ui with 3 variants (solid segmented, line underline, pill) and 2 sizes (sm, md). Variant and size flow from TabsList to every trigger via context. Exports Tabs, TabsList, TabsTrigger, TabsContent.

navigationdisclosure
install

Textarea

@ai2/textarea

Auto-growing textarea (field-sizing-content) with 3 variants (outline, soft, ghost), 3 sizes (sm, md, lg) and 3 tones (neutral, success, danger) matching Input. Invalid state also via aria-invalid.

form
install

Toggle

@ai2/toggle

Two-state toggle button on radix-ui with 2 variants (default, outline), 3 sizes and 2 tones (neutral, brand). Pressed state uses the accent token (neutral) or brand-soft (brand).

formactions
install

Toggle Group

@ai2/toggle-group

Single or multiple selection toggle group on radix-ui. Inherits variant/size/tone from the group via context; outline variant renders as a segmented control.

formactions
install

Tooltip

@ai2/tooltip

Tooltip on radix-ui with portal, arrow, directional slide/zoom animations and 2 content sizes (sm, md). Tooltip wraps its own Provider, so a single import works out of the box.

overlay
install