High-level component library built on GPUI for improved developer experience
- 🎨 Design Token System: 3-layer token architecture (Global → Alias → Component)
- ♿ Accessibility First: WCAG 2.1 AA compliance with built-in ARIA and keyboard navigation
- 🎭 Theme Support: Light, dark, and custom themes with runtime switching
- 📦 Atomic Design: Scalable component hierarchy (Atoms → Molecules → Organisms)
- 🦀 Type-Safe: Full Rust type safety with builder pattern APIs
- ⚡ GPU Accelerated: Built on GPUI's Metal rendering pipeline
Add to your Cargo.toml:
[dependencies]
purdah-gpui-components = "0.1"use purdah_gpui_components::prelude::*;
fn main() {
// Use the theme system
let theme = Theme::light();
// Access design tokens
let primary_color = theme.alias.color_primary;
let base_spacing = theme.global.spacing_base;
// Switch themes
let dark_theme = theme.with_mode(ThemeMode::Dark);
}- Getting Started
- Theme System
- API Reference (coming soon)
- Design token system
- Theme system (light/dark modes)
- Icon system (Lucide integration)
- Core atoms (Button, Input, Label)
- Remaining atoms (Badge, Avatar, Checkbox, Radio, Switch, Spinner)
- Core molecules (SearchBar, FormGroup, Card)
- Additional molecules (TabGroup, Dropdown, Tooltip, Popover)
- Accessibility utilities (FocusTrap, Announcer)
- Complex molecules (Tooltip, Popover)
- Organisms (Dialog, Drawer, Table, CommandPalette)
- Layout components (VStack, HStack, Spacer, Container, Divider)
- Component showcase application
- Comprehensive documentation (Getting Started, Theming guides)
- Example applications (Showcase, Form Demo, Dashboard)
- Performance optimization (Ongoing)
Contributions welcome! This is an early-stage project.
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.