Tiny, polished
React primitives.
Headless hooks and beautifully styled components. Every package ships under 25 KB, has zero runtime dependencies, and is SSR-safe.
All packages
70 packagesInputs
Form controls and interactive pickers 20Button with solid/outline/ghost/link variants, four tones, sizes, ripple, loading, pulse, and pill radius.
Checkbox with label, hint, error, indeterminate state, sizes, tones, and async-aware onChange.
Toggle switch with sizes, tones, label positioning, and loading spinner inside the thumb.
Text input with leading/trailing slots, label, hint, error, clearable, password reveal, sizes, and tones.
Number input with increment/decrement, decimal/currency/percent formatting via Intl.NumberFormat, and step control.
Phone number input with country selector, flag emoji, dial code, 30+ countries, and E.164 output.
OTP / verification-code input with smart paste, full keyboard nav, masking, and group separators.
Color input with swatch preview, picker popover, hex/rgb/hsl formats, preset swatches, and copy button.
Tag input with chip-style tags, autocomplete dropdown, duplicate prevention, max limit, and custom validation.
Star-rating with half-step support, hover preview, custom icons, CSS clip-path fills, and keyboard nav.
Range slider with single and dual-thumb mode, marks, value tooltip, and full keyboard navigation.
iOS-style segmented picker with buttery sliding indicator, ResizeObserver measurement, and generic type support.
Radio group with default, card, and button-group variants. Controlled and uncontrolled. Full keyboard navigation.
Textarea with auto-resize, character count, overflow limit, and the full form-control prop surface.
Single and dual-thumb range slider with snap marks, drag/always/never tooltip, and full keyboard navigation.
Searchable combobox with async loading, option grouping, creatable mode, and ARIA combobox pattern.
Multi-selection dropdown with chips, search, select-all with indeterminate, and grouped options.
Headless form state with sync/async validation, validateOn strategies, controlled mode, and zero runtime deps.
Mention textarea with inline token highlighting, multi-trigger (@, #), async suggestions, and custom renderer.
Canvas signature pad with velocity-sensitive width, ink taper, pen/brush/marker styles, erase mode, and toolbar.
Overlays
Floating, portal, and dialog UI 13Custom select dropdown with single and multi-select, searchable, clearable, chips, and portal positioning.
Accessible date picker with single and range selection, keyboard navigation, min/max dates, and portal calendar.
Modal dialog and drawer with focus trap, scroll lock, Escape to close, and smooth enter/exit animations.
Accessible tooltip with smart flip positioning, animated entry, keyboard dismiss, and zero dependencies.
Click or hover triggered popover with rich content, title, arrow, and smart viewport flip.
Dropdown menu with items, dividers, icons, four placements, and full keyboard navigation.
⌘K command palette with fuzzy search, keyboard nav, sections, recents, and rich item rendering.
Drop-in replacement for react-color. Zero dependencies, ~11 KB. Hex/RGB/HSL/HSV pickers and pure color math.
Bottom/side sheet with snap points, swipe-to-dismiss, focus trap, and smooth spring slide animation.
Hover-triggered floating card with configurable open/close delay, auto-placement, and smooth scale animation.
Right-click context menu with nested sub-menus, full keyboard navigation, and first-letter jump.
Full-screen image lightbox with thumbnail strip, swipe-to-navigate, optional pinch/scroll zoom, and keyboard control.
Onboarding spotlight with SVG cutout, animated morph between steps, multi-step tour, pulse ring, and backdrop blur.
Feedback
Status, notifications, and display 14Toast notifications with singleton store — no context needed. Six positions, five types, progress bar, auto-dismiss.
Badge, chip, and tag component. Three variants, six tones, dot indicator, count, and dismissible.
Avatar with image, initials fallback, presence status dot, border ring, and group stacking.
Progress bar and circular ring. Indeterminate state, animated stripe, five tones, value display.
Copy-to-clipboard with headless hook, styled variant, animations, async source, and tooltip.
Alert banner with four variants, six tones, icon slot, action slot, dismissible, and slide-out animation.
Loading spinner with five animation variants (spin, dots, bars, ring, pulse), overlay mode, and six tones.
Chip/tag with selectable and dismissible modes, avatar slot, icon slots, and spring-animate state changes.
Empty state with five presets, icon/image slot, title, description, and primary + secondary action slots.
Avatar group with count overflow badge, tooltip-per-avatar, shape and spacing control.
Metric stat card with count-up animation, auto-computed trend arrow, prefix/suffix, and loading skeleton.
Card with elevated/outlined/filled/ghost variants, clickable with hover/active states, header/footer slots, and polymorphic `as` prop.
Horizontal and vertical divider with centered label, solid/dashed/dotted line styles, and six tones.
Resizable split panel supporting N panes, collapsible sides, snap points, persistent sizes, and double-click equalize.
Data
Complex data display and rich editing 7Data table with sort, filter, pagination, row selection, sticky header, loading skeleton, and generic TypeScript.
Pure SVG bar, line, and pie charts with animations, legends, multi-series, and zero external dependencies.
Drag-and-drop kanban board with columns, cards, inline add, and HTML5 DnD — no external DnD library.
Vertical timeline with status-driven dot colours, line/dashed connectors, and alignment options.
File-tree-style hierarchical view with expand/collapse, selection, search highlight, and keyboard nav.
Rich text editor with toolbar, bold/italic/underline/lists/alignment. contentEditable-based, zero external deps.
File upload with drag-and-drop dropzone, image preview, size limits, multiple file support, and button variant.
Navigation
Layout and step-by-step flow 8Accessible tabs with line, solid, and pill variants. Sliding indicator driven by ResizeObserver. Controlled and uncontrolled.
Accessible accordion with single/multiple mode, smooth CSS grid height animation, and full keyboard navigation.
Multi-step flow with linear/non-linear modes, completed checks, optional steps, footer nav, and progress bar.
Responsive navbar with sticky scroll, transparent-on-top mode, and animated mobile slide-down menu.
Collapsible navigation sidebar with nested items, badges, icon-only mode, and full keyboard navigation.
Accessible breadcrumb with collapsible overflow, three separator styles, and stagger-in expand animation.
Pagination with sibling/boundary pages, first/last buttons, page-size selector, and full keyboard support.
Drag-and-drop sortable list with pointer events, keyboard reordering, live announcements, and zero dependencies.