Back to home

Component Catalog

Browse all 104 Primstack primitives. Each one is typed, tested, and accessible.

Button

Versatile button with multiple variants, sizes, and states.

form-inputsactionform

Input

Styled text input with theme-aware focus states.

form-inputsformtext

Select

Accessible select menu built on Radix UI.

form-inputsformdropdown

Checkbox

Accessible checkbox with indeterminate state support.

form-inputsformtoggle

Slider

Range slider with optional label display.

form-inputsformrange

Card

Composable container with header, content, and footer slots.

data-displaycontainersurface

Badge

Small status label with color variants.

data-displaylabelstatus

Table

Composable HTML table with theme-aware styling.

data-displaydatagrid

Avatar

User avatar with image, fallback initials, and size variants.

data-displayuserprofile

CodeBlock

Syntax-highlighted code display with copy support.

data-displaycodesyntax

Alert

Contextual feedback messages with variant styling.

feedbackmessagenotification

Toast

Temporary notification popups with action support.

feedbacknotificationpopup

Dialog

Modal dialog with overlay, accessible focus management.

overlaysmodalpopup

Tabs

Tabbed interface with accessible keyboard navigation.

navigationtabbedswitch

Accordion

Collapsible content sections with smooth animations.

navigationcollapseexpand

Textarea

Multi-line text input with auto-resize support.

form-inputsformtext

Switch

Toggle switch for boolean settings.

form-inputsformtoggle

RadioGroup

Accessible radio button group for single selection.

form-inputsformselection

Calendar

Standalone month-grid calendar supporting single date, date range, and multi-select modes.

form-inputscalendardate

DatePicker

Calendar-based date selection input.

form-inputsformdate

FileUpload

Drag-and-drop file upload zone with preview.

form-inputsformfile

Form

Structured form layout with field groups and validation.

form-structureformvalidation

Label

Accessible form label with Radix UI integration.

form-structureformaccessibility

DataTable

Full-featured data table with sorting, filtering, and pagination.

data-displaydatagrid

AvatarGroup

Stacked avatar display for multiple users.

data-displayusergroup

Callout

Highlighted content block for tips, warnings, or notes.

data-displaynotetip

EmptyState

Placeholder UI for empty lists, search results, or pages.

data-displayplaceholderempty

FileTree

Hierarchical file/folder tree display.

data-displayfiletree

Tree

Generic tree view with expand/collapse nodes.

data-displaytreehierarchy

MarkdownRenderer

Renders markdown content with GFM support.

data-displaymarkdowncontent

Progress

Horizontal progress bar with percentage display.

feedbackloadingbar

CircularProgress

Circular progress ring with percentage or label.

feedbackloadingring

Spinner

Loading spinner with size variants.

feedbackloadingindicator

Skeleton

Placeholder loading shimmer for content areas.

feedbackloadingplaceholder

StatusIndicator

Colored dot indicator for online/offline/busy states.

feedbackstatusdot

StepIndicator

Multi-step progress tracker for wizards and flows.

feedbackstepperwizard

AlertDialog

Confirmation dialog requiring explicit user action.

overlaysmodalconfirm

Drawer

Slide-out panel from any edge of the screen.

overlayspanelslide

Popover

Floating content panel anchored to a trigger.

overlayspopupfloating

Tooltip

Hover/focus tooltip with configurable placement.

overlayshinthover

DropdownMenu

Accessible dropdown menu with submenus and keyboard navigation.

overlaysmenudropdown

ContextMenu

Right-click context menu with submenus.

overlaysright-clickmenu

Command

Command palette with fuzzy search and keyboard shortcuts.

overlayssearchpalette

Navbar

Top navigation bar with brand, links, and mobile menu.

navigationheadertop-bar

Sidebar

Collapsible side navigation with groups and menu items.

navigationside-navmenu

Breadcrumb

Navigation breadcrumb trail with separator support.

navigationtrailpath

Pagination

Page navigation with previous/next and page numbers.

navigationpagespaging

Separator

Visual divider line, horizontal or vertical.

layoutdividerline

ScrollArea

Custom-styled scrollable area with thin scrollbars.

layoutscrolloverflow

AspectRatio

Enforces a fixed aspect ratio on child content.

layoutratioimage

Collapsible

Show/hide content with a trigger toggle.

layouttoggleexpand

Text

Themed text and heading components with size/weight variants.

typographytextheading

CopyButton

One-click copy-to-clipboard button with feedback.

utilitiesclipboardcopy

IconButton

Square button optimized for icon-only actions.

utilitiesiconaction

KeyboardShortcut

Styled keyboard shortcut display (⌘K, Ctrl+S).

utilitieskeyboardshortcut

ChatMessage

Chat bubble for user and assistant messages.

agenticchatmessage

ChatInput

Message input with send button for chat interfaces.

agenticchatinput

ChatContainer

Scrollable container for chat message lists.

agenticchatcontainer

ConversationThread

Full conversation view with date separators.

agenticchatthread

ToolCall

Display for AI tool/function call execution.

agenticaitool

ToolOutput

Formatted display for AI tool execution results.

agenticaitool

ToolPermissions

UI for granting/denying AI tool access.

agenticaipermissions

ToolSelector

Multi-select interface for choosing AI tools.

agenticaitools

ModelSelector

AI model picker with provider grouping.

agenticaimodel

AgentSettings

Configuration panel for AI agent parameters.

agenticaiconfig

PromptInput

Rich prompt input with model/tool attachments.

agenticaiprompt

ResponseCard

Styled container for AI response content.

agenticairesponse

ThinkingIndicator

Animated dots showing AI is processing.

agenticailoading

StreamingText

Typewriter-style text animation for streaming responses.

agenticaistreaming

AIProgress

Multi-step AI task progress with status indicators.

agenticaiprogress

TokenCounter

Visual token usage meter for AI interactions.

agenticaitokens

SystemMessage

Styled system/info message for chat interfaces.

agenticaisystem

HoverCard

Rich hover-triggered content preview card.

overlayshoverpreview

SegmentedControl

Toggle group for switching between related views.

form-inputstogglesegment

Stat

Display a statistic with label, value, and trend.

data-displaystatmetric

Timeline

Vertical timeline for events and activity feeds.

data-displaytimelineactivity

DataList

Key-value pairs displayed as a definition list.

data-displaylistkey-value

PinInput

Multi-digit PIN or OTP input with auto-advance.

form-inputspinotp

Choicebox

Selectable card group for radio or checkbox selection.

form-inputschoicecard

SplitButton

Primary action button with dropdown for alternatives.

form-inputsbuttondropdown

Marquee

Infinitely scrolling horizontal content strip.

layoutmarqueescroll

ContentEditor

Rich text editor built on Tiptap with markdown support, bubble menu, and slash commands.

form-inputseditorrich-text

Chart

Personality-aware chart components built on Recharts with automatic token theming.

data-vizchartgraph

Resizable

Resizable panel groups with drag handles for flexible layouts.

layoutlayoutresize

PageHeader

Responsive page header with title, description, breadcrumb, and action slot.

layoutheaderpage

StatsCard

Card displaying a row of stats with trend arrows and help text.

data-displaystatcard

ChartCard

Card wrapper for charts with title, description, action, and footer.

data-displaychartcard

SectionCard

Settings-style card with header/content/footer separated by dividers.

data-displaycardsection

FormDialog

Pre-wired dialog with submit/cancel buttons and loading state.

overlaysdialogform

DetailDrawer

Drawer with avatar header, title, subtitle, and scrollable content.

overlaysdrawerdetail

SettingsToggle

Two-column settings row with label, description, and toggle switch.

form-inputssettingstoggle

ProgressList

Stacked list of labeled progress bars with optional values.

feedbackprogresslist

UserCell

Compact avatar + name + meta row for tables and lists.

data-displayavataruser

EmptyCard

Card with centered empty state for tables and data views.

data-displayemptycard

PricingTable

Multi-tier pricing cards with feature comparison and billing toggle.

saaspricingplans

TeamManager

Team member list with invite dialog, role management, and team switching.

saasteammembers

APIKeyManager

API key list with create dialog, reveal flow, and revoke confirmation.

saasapikey

WebhookConfig

Webhook endpoint management with event selection and delivery log.

saaswebhookevents

NotificationCenter

Notification popover with bell icon, tabs, and notification list.

saasnotificationbell

QuotaCard

Usage quota display with progress bars, thresholds, and upgrade CTA.

saasquotausage

InvoiceTable

Invoice list with status badges, currency formatting, and detail dialog.

saasinvoicebilling

AuditLog

Activity feed with actor avatars, action badges, filters, and metadata expansion.

saasauditlog

OnboardingWizard

Multi-step onboarding flow with step indicator, validation, and skip support.

saasonboardingwizard

KanbanBoard

Drag-and-drop kanban board with columns, cards, WIP limits, and custom renderers.

saaskanbanboard