Introduction

Build consistent interfaces without slowing down product work.

Alpha UI is a React component system for teams that want fast implementation and reliable defaults. It includes polished primitives, typed APIs, and predictable composition patterns.

27

Production-ready components

4

Organized component families

Type-safe

Typed props and stories included

Normal Details

This documentation focuses only on components already built in the library. Every section here is practical: install, compose, test states, and ship UI screens without custom glue code.

Technical Details

The docs are aligned with the package export surface to keep examples production-safe. Component usage, props, and grouped taxonomy are intentionally consistent with build output and typed APIs.

Installation

Install Alpha UI once, then import what you need. Tree-shaking keeps your bundle compact.

Terminal
npm install alpha-ui-kit

Transfer List

Shuttle list for moving one or more items between lists. Includes both basic and enhanced interaction patterns.

Basic transfer list

Includes move selected and move all actions, matching the classic transfer-list pattern.

Choices

4 items

Chosen

4 items

Enhanced transfer list

Adds select-all/clear behavior and selected counters for each panel.

Choices

0/7 selected

Chosen

0/1 selected
Limitation: this pattern is best suited for desktop layouts with enough horizontal space.
transfer-list-example.tsx
import { TransferList } from 'alpha-ui-kit'

const items = [
  { value: 'item-1', label: 'List item 1' },
  { value: 'item-2', label: 'List item 2' },
  { value: 'item-3', label: 'List item 3' },
  { value: 'item-4', label: 'List item 4' },
  { value: 'item-5', label: 'List item 5' },
  { value: 'item-6', label: 'List item 6' },
  { value: 'item-7', label: 'List item 7' },
  { value: 'item-8', label: 'List item 8' },
]

export default function TransferExample() {
  return (
    <TransferList
      items={items}
      defaultValue={['item-5', 'item-6', 'item-7', 'item-8']}
      showMoveAll
      showSelectAll
      leftTitle="Choices"
      rightTitle="Chosen"
    />
  )
}

Quick Start

A small setup showing card-based composition plus the new form primitives.

app.tsx
import { Button, Card, Input, Textarea } from 'alpha-ui-kit'
import 'alpha-ui-kit/styles.css'

export default function App() {
  return (
    <Card className="max-w-xl">
      <Input label="Name" placeholder="Ada Lovelace" />
      <Textarea label="Project Brief" rows={4} />
      <Button className="mt-4">Create Project</Button>
    </Card>
  )
}

Buttons

Live playground: change props from controls and see both output and generated code update instantly.

Live output

buttons-playground.tsx
import { Button } from 'alpha-ui-kit'

export default function Example() {
  return (
    <Button variant="contained" color="primary" size="medium">
      Continue
    </Button>
  )
}
This matches the docs behavior for configuration and output. Next, we can add the same playground pattern for Input, Select, and Modal.

Inputs

Production-ready input primitives with labels, helper text, variants, and consistent visual styling.

Use full legal name.

Choose your primary stack.

Choose a planned launch date.

inputs-example.tsx
import { Input, Select, Calendar, Textarea, Checkbox, RadioGroup, RadioGroupItem, Switch, Button } from 'alpha-ui-kit'

export default function FormDemo() {
  return (
    <div className="space-y-4 max-w-md">
      <Input label="Name" placeholder="Ada Lovelace" />
      <Select label="Framework" defaultValue="react">
        <option value="react">React</option>
        <option value="next">Next.js</option>
        <option value="vue">Vue</option>
      </Select>
      <Calendar label="Launch Date" />
      <Textarea label="Project Notes" rows={3} />
      <Checkbox label="Accept terms" description="You can continue after accepting." />
      <RadioGroup defaultValue="starter">
        <RadioGroupItem value="starter" label="Starter" />
        <RadioGroupItem value="pro" label="Pro" />
      </RadioGroup>
      <Switch label="Enable notifications" defaultChecked />
      <Button fullWidth>Submit</Button>
    </div>
  )
}

Input Types

Alpha UI Input supports all common HTML input types so you can build complete form flows end-to-end.

input-types-example.tsx
import { Input } from 'alpha-ui-kit'

export default function InputTypesDemo() {
  return (
    <div className="grid gap-4 md:grid-cols-2">
      <Input type="text" label="Text" placeholder="Enter text" />
      <Input type="email" label="Email" placeholder="name@example.com" />
      <Input type="password" label="Password" placeholder="Enter password" />
      <Input type="number" label="Number" placeholder="42" />
      <Input type="search" label="Search" placeholder="Search..." />
      <Input type="tel" label="Phone" placeholder="+1 555 0100" />
      <Input type="url" label="Website" placeholder="https://example.com" />
      <Input type="date" label="Date" />
      <Input type="time" label="Time" />
      <Input type="datetime-local" label="Datetime" />
      <Input type="month" label="Month" />
      <Input type="week" label="Week" />
      <Input type="color" label="Color" defaultValue="#0ea5e9" />
    </div>
  )
}

Text Field Deep Dive

Theory and feature map aligned with mature Text Field documentation patterns: props, modes, behavior, and accessibility guidance.

Feature map

  • Basic text field variants (outlined, filled, standard)
  • Form props: label, helper text, required, disabled
  • Validation and error messaging
  • Multiline behavior
  • Select mode
  • Start and end adornments
  • Sizing and margin density
  • Full width and constrained width usage
  • Controlled and uncontrolled patterns
  • Color and visual customization hooks
  • Accessibility and aria mapping
  • Known limitations and integration guidance

Getting started theory

  1. 1Install once and import styles globally.
  2. 2Use composable primitives with consistent props across input controls.
  3. 3Start from docs sections and then move into component-specific examples.
  4. 4Keep navigation consistent across pages so users never lose orientation.

Technical Theory

  • All docs examples are based on components exported from src/index.ts to prevent drift between docs and package API.
  • Inputs share a consistent prop model (label, helper text, error states) so forms can scale without custom wrappers.
  • Interactive primitives support controlled and uncontrolled modes for product screens and Storybook demos.
  • The docs route is grouped by component families (Basic, Layout, Interactive, Data) for faster mental parsing and onboarding.

Unified TextField demos

This value is invalid

Use multiline for longer text

Select rendered from the same TextField wrapper

Basic Components

Badges, alerts, cards, and avatars are available as composable primitives with visual variants.

Card

Composable surface with header/content/footer slots.

DefaultPrimarySuccessWarningDanger

Alert + Avatar

Messaging and identity primitives for app states.

QX

Alpha UI Team

Design system maintainers

Heads up

This alert is dismissible and supports semantic variants.

Layout Components

Container, grid, navbar, and sidebar help structure entire product surfaces with reusable layout primitives.

Grid item 1
Grid item 2
Grid item 3

Interactive Components

Dialogs, menus, tabs, accordions, tooltips, and toasts are implemented with variant and state control APIs.

Tabs support controlled and uncontrolled modes.
Supports single and multiple open modes, controlled and uncontrolled usage.

Data Components

Table, pagination, and stepper primitives cover common workflows for records, navigation, and process progress.

InvoiceCustomerStatusTotal
INV-1201Aya JohnsonPaid$1,240
INV-1202Mason LeePending$420
INV-1203Priya PatelFailed$980

Account setup

Profile and organization details.
2

Project configuration

Configure roles, environments, and permissions.
3

Go live

Deploy and monitor the initial release.

Component Index

Everything currently available from the package, grouped by purpose.

Basic

Button

Action button with variants, sizes, and loading states.

Input

Text field with labels, helper text, and validation states.

TextField

Unified input wrapper supporting multiline and select modes.

Textarea

Multi-line input with the same ergonomic API as Input.

Select

Native select wrapper with size and status variants.

Calendar

Date input primitive with label, helper text, and validation states.

Checkbox

Accessible checkbox with optional label and description.

RadioGroup

Single-select option groups with keyboard-friendly semantics.

Switch

Toggle control for boolean settings with labels and descriptions.

Card

Composable surface with header, content, and footer slots.

Badge

Small status indicators for labels and states.

Alert

Informational callout with title and description primitives.

Avatar

User identity component with image and fallback support.

Layout

Container

Responsive layout wrapper for page-level sections.

Grid

Flexible grid utility component for aligned layouts.

Navbar

Composable top navigation structure with brand and links.

Sidebar

Sidebar container with sectioned navigation items.

Interactive

Modal

Layered dialog for confirmation and focused tasks.

Dropdown

Compact action menu for contextual controls.

Tabs

Segment content into interactive tabbed views.

Accordion

Progressive disclosure UI for grouped content.

Tooltip

Hover/focus helper content with placement options.

Toast

Transient system feedback via toast notifications.

Data

Table

Semantic data table primitives for structured content.

Pagination

Page navigation controls for long datasets.

Stepper

Step-by-step progress indicator with current state.

TransferList

Move one or more items between lists with selectable transfer actions.