Skip to content
nexubDesign System
v2.4.0

Library

Components

86+ accessible, token-driven React components built on Radix UI primitives, fully typed and themeable. Most have a React Native twin in @nexub/react-native with the same name and props.

Actions

Button

Triggers an action or event. Supports multiple variants, sizes, and semantic tones.

Button Group

Groups related buttons together with optional attachment and orientation.

Split Button

A primary action with related secondary actions behind a chevron, as one connected control.

Beta
Icon Button

A square button designed to hold a single icon, with an accessible label.

Navigation Rail

Navigation for medium-width windows: icons over labels, with an active pill behind the icon.

Beta
Tabs

Layered content panels switched by tab triggers. Built on Radix UI Tabs.

Breadcrumb

Hierarchical navigation trail showing page location.

Pagination

Page navigation control with prev/next and page number buttons.

Data Display

Amount

Honest money: Intl formatting, tabular numerals, the currency’s minor unit and a true minus sign.

Beta
Table

Semantic HTML table with styled variants.

Data Table

Feature-rich data table with sorting and row selection powered by TanStack Table.

Empty State

Placeholder UI shown when a list or page has no content.

Error State

Full-page or section error view with retry action.

Number Ticker

A number whose digits roll to new values on the spatial spring. The first render never animates.

Beta

Form & Input

Money Input

An amount field: locale-aware parsing as you type, grouped on blur, the currency symbol leading.

Beta
Input

Text input field for forms. Supports size variants, icons, addons, and validation states.

Textarea

A multi-line text input with configurable resize behaviour, size, and validation states.

Number Input

A numeric input with increment and decrement controls, supporting min/max clamping and step.

Search Input

A text input pre-wired with a search icon and a clear button for filtering content.

Password Input

A password field with a built-in toggle to reveal or hide the entered value.

Label

An accessible form label that optionally shows a required asterisk and links to an input via htmlFor.

Helper Text

Small supporting text placed beneath a form field to provide hints or validation feedback.

Form Field

Wraps Label, Input, HelperText and FormError into a single accessible group.

Date Picker

Calendar date picker with text input.

Date Range Picker

Dual-calendar date range selector.

Labels & Badges

Badge

Small status indicator or label. Communicates state, category, or count.

Status Pill

Deprecated — use Badge. A pill indicator for status values like active, pending, error.

Deprecated
Filter Chip

Interactive chip for filtering, supports selected/unselected state.

Chip

Compact label chip, optionally dismissible.

Tag

Deprecated — use Badge. Non-interactive label tag for categorisation.

Deprecated
Eyebrow Chip

A compact eyebrow label, typically used above headings.

Avatar

Avatar

Displays a user's profile picture with initials fallback.

Avatar Group

Stacked group of avatars with overflow count.

Feedback

Alert

Inline contextual message with optional title, icon, and dismiss action.

Banner

Deprecated — use Alert. Full-width announcement banner, typically used at the top of a page.

Deprecated
Callout

Deprecated — use Alert. Highlighted content block for tips, warnings, or notes.

Deprecated
Toast

Imperative toast notifications using the toast object. Render <Toaster /> once in your layout.

Spinner

Animated loading indicator. Inherits color from context.

Loading States

Skeleton

Placeholder loading animation that mimics content layout.

Progress

Horizontal progress bar with optional tone and animation.

Disclosure

Accordion

Vertically stacked list of collapsible sections.

Collapsible

Toggle visibility of content with smooth animation.

Scroll Area

Scrollable container with custom styled scrollbars.

Interactive

Rating

Star rating input, supports controlled and read-only modes.

Slider

Range slider built on Radix UI Slider.

Toggle

Pressable toggle button built on Radix UI Toggle.

Toggle Group

Group of toggle buttons where one or many can be active.

Segmented Control

Tab-style control for mutually exclusive selections.

Form Controls

Select

Accessible dropdown select built on Radix UI. Supports groups and search.

Checkbox

Binary checkbox input built on Radix UI.

Radio Group

Group of mutually exclusive radio inputs.

Radio Card

A radio group where each option is a whole card: title, description and optional icon, one choice.

Beta
Checkbox Card

A checkbox drawn as a whole card: title, description and optional icon. Pick any number.

Beta
Switch

Toggle control for binary on/off settings. Built on Radix UI Switch.

Combobox

Command-palette style searchable dropdown built on cmdk.

Autocomplete

Type-to-search input with matching options dropdown.

Overlays

Dialog

Modal dialog built on Radix UI. Fully accessible with focus trapping and ARIA roles.

Alert Dialog

Confirmation dialog that requires an explicit user action before proceeding.

Popover

Floating content panel anchored to a trigger element.

Tooltip

Floating label that appears on hover. Built on Radix UI Tooltip.

Hover Card

Rich tooltip card revealed on hover.

Drawer

Slide-in panel from any edge of the screen.

Sheet

Alias for Drawer — slide-in sheet panel.

Layout

Card

Surface container for grouping related content. Supports flat, surface, and interactive variants.

Media Card

An image card with a glass caption over a soft scrim. With `href`, the whole card is one link.

Beta
Stack

Vertical stack layout with configurable gap.

Flex

Flexbox layout primitive.

Grid

CSS Grid layout primitive.

Box

Generic container primitive with style token props.

Dividers

Separator

A horizontal or vertical visual divider.

Gradient Divider

A decorative gradient-faded horizontal rule.

Typography

Heading

Semantic heading component with size, weight, and tone control.

Text

Paragraph text component with size, tone, and weight variants.

Inline Primitives

Code

Inline code span for technical terms and short code snippets.

Kbd

Keyboard key display — renders a styled <kbd> element.

Link

Styled anchor link with variant and external support.

Text Gradient

Renders text with a brand gradient fill.

Motion

Fade

Animates opacity between 0 and 1 based on the `in` prop.

Slide

Slides content in from a direction based on the `in` prop.

Scale

Scales content in/out from its center.

Collapse

Expands and collapses content along the block axis.

AI

Prompt Input

The composer for a chat: an auto-growing text field with Send, which turns into Stop while a reply streams.

Beta
Message Bubble

One message in a conversation. User messages sit in a bubble at the end; assistant replies run full width. MessageActions adds copy, feedback and regenerate.

Beta
Streaming Text

Assistant text as it arrives: new chunks fade in, text already shown stays still, and a caret marks the end.

Beta
Thinking Indicator

Shows the assistant is working before the first token arrives: a morphing shape and a shimmering label.

Beta
Citation

Numbered source markers for running text, with a hover preview, plus SourceChip and SourceList for the sources under a reply.

Beta