Skip to content

Introduction

Tessera UI is a production-ready UI component library with native support for React, Vue, Angular, and vanilla HTML. Install a single package for your framework, import the components you need, and start building.

  • One library, every framework — the same components work in React, Vue, Angular, or plain HTML
  • 71 components — forms, data display, navigation, overlays, layout, and more
  • Design tokens — three-tier token architecture for theming at every level
  • Dark mode + density — light, dark, high-contrast themes with compact, comfortable, and spacious density modes
  • Accessible by default — WCAG 2.1 AA compliant with keyboard navigation and ARIA patterns
  • Type-safe — fully typed props, events, and methods across all framework packages
  • Zero-config — one import, components just work. No manual setup required
ComponentTagDescription
Button<ts-button>Versatile button with variants, sizes, and appearances
Input<ts-input>Text input with clearable, character counter
Textarea<ts-textarea>Multi-line input with auto-grow and character counter
Number Input<ts-number-input>Stepper input with +/- buttons and min/max
Checkbox<ts-checkbox>Checkbox with indeterminate state
Checkbox Group<ts-checkbox-group>Multi-select checkbox container
Radio<ts-radio>Radio button for single selection
Radio Group<ts-radio-group>Single-select radio container
Select<ts-select>Dropdown with search, filter, and multi-select
Combobox<ts-combobox>Autocomplete text input with filterable dropdown
Toggle<ts-toggle>Switch control for boolean values
Slider<ts-slider>Range input with dual thumbs, marks, and vertical mode
Date Picker<ts-date-picker>Calendar with range selection, year nav, and i18n
Time Picker<ts-time-picker>Hour/minute/second picker with 12/24h format
Tag Input<ts-tag-input>Multi-value input with chip tags
File Upload<ts-file-upload>Drag-and-drop with file list and max count
Switch Group<ts-switch-group>Segmented control / toggle button group
Form<ts-form>Form wrapper with value collection
ComponentTagDescription
Card<ts-card>Container with header, body, footer, and media slots
Table<ts-table>Data table with sorting and row selection
Badge<ts-badge>Status indicator with variants
Avatar<ts-avatar>User image with initials fallback and status indicator
Avatar Group<ts-avatar-group>Overlapping avatar stack with overflow
Chip<ts-chip>Removable pill-shaped label
Timeline<ts-timeline>Vertical activity feed with icons and timestamps
Progress<ts-progress>Linear, circular, striped, and buffer progress
Spinner<ts-spinner>Circular loading indicator
Skeleton<ts-skeleton>Loading placeholder with animation
Divider<ts-divider>Horizontal or vertical separator
Empty State<ts-empty-state>Zero-data placeholder with icon and CTA
Icon<ts-icon>1,400+ built-in Lucide icons
ComponentTagDescription
Tabs<ts-tabs>Tabbed content with vertical, closable, and scrollable modes
Breadcrumb<ts-breadcrumb>Page trail with icons and collapsible items
Pagination<ts-pagination>Page navigation with first/last and info text
Nav<ts-nav>Sidebar/horizontal nav with nested items and badges
Stepper<ts-stepper>Multi-step wizard indicator
Command Palette<ts-command-palette>Cmd+K searchable command menu
ComponentTagDescription
Dialog<ts-dialog>Confirmation dialog with exit animations
Modal<ts-modal>Full dialog overlay with focus trapping
Drawer<ts-drawer>Slide-in side panel
Tooltip<ts-tooltip>Hover/focus information popup
Popover<ts-popover>Rich interactive floating panel
Alert<ts-alert>Inline contextual feedback message
Toast<ts-toast>Floating notification with pause-on-hover
Banner<ts-banner>Full-width page-level notification
Menu<ts-menu>Dropdown menu with dividers and checkbox items
ComponentTagDescription
App Layout<ts-app-layout>CSS Grid app shell with sidebar/header/content
Sidebar<ts-sidebar>Collapsible sidebar with header/nav/footer
Page Header<ts-page-header>Structured header with breadcrumb and actions
Container<ts-container>Centered max-width page container
Grid<ts-grid>CSS Grid with auto-fill responsive columns
Stack<ts-stack>Vertical flex layout with consistent gap
Row<ts-row>Horizontal flex row with responsive stacking
Spacer<ts-spacer>Explicit spacing between elements
Scroll Area<ts-scroll-area>Custom styled scrollbar container
Toolbar<ts-toolbar>Horizontal action bar
Accordion<ts-accordion>Collapsible content sections
Tree<ts-tree>Hierarchical expandable list with checkboxes
PackageDescription
@tessera-ui/coreCore components for vanilla HTML and any framework
@tessera-ui/reactTessera UI components for React
@tessera-ui/vueTessera UI components for Vue
@tessera-ui/angularTessera UI components for Angular