Components
Add any of these with npx cano-ui add <name>. Dependencies — including shadcn primitives — are resolved automatically.
- Accordion
A vertically stacked set of collapsible disclosure sections, one or many open at a time.
- App Shell
A structural foundation for dashboards with a collapsible sidebar, topbar, and scrollable content area.
- Aspect Ratio
Constrains content to a fixed width-to-height ratio, e.g. 16:9 media.
- Bottom Sheet
A mobile-style bottom sheet with drag-to-dismiss, a grab handle, optional snap points, and a sticky footer.
- Carousel
A draggable, keyboard-accessible carousel powered by Embla, horizontal or vertical, with prev/next controls.
- Collapsible
An interactive section that expands and collapses its content.
- Drawer
A props-driven side drawer with header, scrollable body, sticky footer, and four widths.
- Item
A flexible row primitive — media, content, title, description, and actions — for lists and option cards.
- Kanban Board
A drag-and-drop kanban board with horizontally scrolling columns, rich task cards, and an accessible move menu fallback.
- Resizable
Resizable panel groups with draggable handles, horizontal or vertical, powered by react-resizable-panels.
- Scroll Area
A scrollable region with a slim, styled, cross-browser scrollbar.
- Settings Layout
A two-column settings page pattern with side navigation that collapses into a horizontal tab bar on mobile.
- Sidebar
A full application sidebar — collapsible (offcanvas/icon), mobile sheet, keyboard shortcut, menus, submenus, and an inset content area.
- Typography
Consistent typographic components — headings, lead, paragraph, blockquote, list, inline code, and muted text.
- Activity Feed
A vertical timeline of grouped activity entries with icons, actors, targets, and timestamps for audit logs and event streams.
- API Key Manager
An API key list with a create dialog, masked keys, copy-to-clipboard, and revoke actions.
- Data Table Pro
A production-ready data table with sorting, filtering, column visibility, row selection, and pagination built on TanStack Table.
- Invoice Table
A billing history table with status badges, formatted amounts, and per-row download actions.
- Team Members Table
A team members list with avatars, role badges, pending invites, and per-row actions for workspace settings pages.
- Button Group
A segmented control wrapper that fuses adjacent buttons, horizontal or vertical, with proper focus rings.
- Button Pro
A drop-in button wrapper with loading spinner, loading label, and left/right icon slots.
- Card Payment Input
Credit card fields with live number formatting, brand detection, expiry auto-slash, and CVC length per brand.
- Combobox Filters
A multi-select filter pattern for tables and lists with searchable options, removable badge chips, and a composable filter bar.
- Country Input
A searchable country combobox with emoji flags and a built-in ISO list with dial codes.
- Date Range Picker
A two-month range picker with preset shortcuts, draft state committed on Apply, and a responsive single-month mobile layout.
- Field
Composable form-field parts: label, description, error, group, and fieldset with horizontal/vertical layout.
- File Dropzone
A keyboard-accessible drag-and-drop upload area with client-side validation, upload progress, and a controlled file list.
- Input Field
A complete form field — label, helper text, error state, required marker, and inline icons around an input.
- Input Group
Fuses inputs, text addons, and buttons into one segmented control, e.g. https:// prefixes and copy buttons.
- Kbd
Keyboard key caps for shortcut hints — single keys, chords with separators, and key sequences.
- Language Search
A searchable language list with country flags, native names, and single selection.
- Native Select
A styled native select — zero-JS and great on mobile — with a chevron.
- Number Input
A stepper input with increment/decrement buttons, min/max clamping, step precision, and arrow-key support.
- OTP Input
A one-time-code input with auto-advance, paste support, backspace navigation, and an error state.
- Phone Number Input
A phone field with a searchable flag + dial-code picker and E.164 output.
- Radio Group
A set of checkable buttons where only one can be selected at a time.
- Search Bar
A search input with icon, clear button, loading state, and a global Cmd/Ctrl shortcut that focuses it.
- Slider Field
A labeled slider with live value readout, range (two-thumb) support, custom formatting, and min/max captions.
- Toggle
A two-state button that can be on or off, with default and outline variants.
- Toggle Group
A set of toggles where one or more can be pressed, fused into a single control.
- Integration Cards
A responsive grid of integration cards with logos, connect toggles, tags, and a configure action.
- Stats Grid
A responsive grid of metric cards with values, trend deltas, and skeleton loading states.
- Usage Meter
A plan usage card with per-resource progress bars, near-limit warnings, and an upgrade slot.
- Announcement Banner
A dismissible announcement bar with color variants, an icon, and an inline action link.
- Pricing Cards
A three-tier pricing layout with a monthly/yearly billing toggle and a highlighted recommended plan.
- Testimonial Cards
A masonry wall of testimonial cards with quotes, avatars, roles, and company logos.
- Alert
A callout for important messages, with default and destructive variants and an icon slot.
- Alert Dialog
A modal dialog that interrupts the user for a confirmation or destructive action.
- Empty State
A centered placeholder for empty, error, no-results, and all-caught-up states with icon, copy, and action slots.
- Error Page
A full-viewport centered error state for 404, 500, and 403 pages with a status numeral, message, and actions.
- Feedback Dialog
An emoji-rating feedback dialog with an optional comment and a thank-you state.
- Hover Card
A card of rich preview content shown when hovering a trigger.
- Notification Center
A bell-triggered notification popover with unread badge, all/unread tabs, and mark-all-read.
- Progress Bar
A progress bar with label, percentage readout, semantic color variants, three sizes, and an indeterminate state.
- Rich Tooltip
A tooltip with all four placements, optional title line, and keyboard shortcut hints.
- Sonner
An opinionated toast notification system — call toast() from anywhere, theme-aware.
- Spinner
An accessible loading spinner, sizable via className.