https://github.com/cloud-shuttle/radix-leptos
High-performance, accessible UI components for Leptos - Rust port of Radix UI primitives with 57+ components, 1200+ tests, and 538KB optimized bundle
https://github.com/cloud-shuttle/radix-leptos
Last synced: 5 months ago
JSON representation
High-performance, accessible UI components for Leptos - Rust port of Radix UI primitives with 57+ components, 1200+ tests, and 538KB optimized bundle
- Host: GitHub
- URL: https://github.com/cloud-shuttle/radix-leptos
- Owner: cloud-shuttle
- License: mit
- Created: 2025-08-31T07:46:54.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-22T02:53:31.000Z (9 months ago)
- Last Synced: 2025-09-22T04:19:00.541Z (9 months ago)
- Language: Rust
- Size: 16.5 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Roadmap: ROADMAP_TO_V1.0.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# π Radix-Leptos
**High-performance, accessible UI components for Leptos with 57+ components and 1200+ tests**
[](https://crates.io/crates/radix-leptos)
[](https://docs.rs/radix-leptos)
[](LICENSE)
[](https://www.rust-lang.org/)
A Rust port of [Radix UI](https://www.radix-ui.com/) primitives for [Leptos](https://leptos.dev/), providing accessible, unstyled UI components with exceptional performance.
## β¨ Features
- **π High Performance**: 538KB optimized WASM bundle (down from 5.8MB!)
- **βΏ Accessibility First**: Built with ARIA compliance and keyboard navigation
- **π¨ Unstyled Components**: Clean, customizable components without opinionated styling
- **π SSR & Hydration**: Full support for server-side rendering and hydration
- **π§ͺ Comprehensive Testing**: 1,792+ passing tests with TDD infrastructure, property-based testing, and mutation testing
- **π± Responsive Design**: Mobile-first components with touch support
- **π§ Feature Flags**: `core`, `experimental`, and `full` feature sets for optimal bundle sizes
- **π Type Safety**: Full Rust type safety with excellent IDE support
- **β‘ Zero Runtime**: No JavaScript runtime overhead, pure WASM performance
- **π§ͺ TDD Infrastructure**: World-class Test-Driven Development with 1,792+ passing tests
- **π¬ Property-Based Testing**: Edge case detection with `proptest`
- **π― Quality Gates**: Automated compliance checking and mutation testing
## πΊοΈ Roadmap
**Radix-Leptos is on track to achieve complete parity with [Radix UI Primitives](https://www.radix-ui.com/primitives/docs/overview/introduction):**
### π **Current Progress: 95% Complete**
- β
**57 Components** implemented with TDD
- β
**Complete TDD Infrastructure** (100%)
- β
**1,865+ Passing Tests** across all crates
- π **3+ Components** planned for v1.0.0
### π **Recent Releases**
- **v0.9.0 (January 2025)**: β
**COMPLETE** - **Architecture Refactoring & Critical Fixes Release**
- ποΈ **Complete Architecture Refactoring** (modular components)
- π§ **45 Critical Compilation Errors Fixed** β 0 errors
- β
**1,865 Tests Passing (100% Success Rate)**
- π **Feature Gating System** (core/experimental/full)
- π¦ **Full Backward Compatibility**
### π **Upcoming Releases**
- **v0.3.0 (September 2025)**: β
**COMPLETE** - Core form components (Dialog, Form, Select, etc.)
- **v0.4.0 (September 2025)**: β
**COMPLETE** - Navigation and layout components
- **v0.5.0 (September 2025)**: β
**COMPLETE** - Advanced data visualization and specialized components
- **v0.6.0 (September 2025)**: β
**COMPLETE** - Enhanced components and advanced UI patterns
- **v1.0.0 (Q2 2026)**: Complete Radix UI parity
π **[View Full Roadmap](ROADMAP_vs_RADIX_UI.md)** | π **[Component Progress](COMPONENT_PROGRESS.md)**
## π¦ Installation
```toml
[dependencies]
radix-leptos = "0.9.0"
leptos = "0.8.8" # β
Full compatibility with latest Leptos!
# For minimal bundle size (recommended for production)
radix-leptos = { version = "0.8.5", features = ["core"] }
# For all components
radix-leptos = { version = "0.8.5", features = ["full"] }
# For experimental components (use with caution)
radix-leptos = { version = "0.8.5", features = ["experimental"] }
```
## β
**Leptos 0.8.8 Compatibility**
**Radix-Leptos v0.8.5 is fully compatible with Leptos 0.8.8!**
| Radix-Leptos Version | Leptos Version | Status |
|---------------------|----------------|---------|
| 0.8.4 | 0.8.7 and earlier | β
Compatible |
| 0.8.4 | 0.8.8 | β **Broken** (compilation errors) |
| **0.8.5** | **0.8.8** | β
**Compatible** |
| **0.8.5** | 0.8.7 and earlier | β
**Compatible** |
### **What's Fixed in v0.8.5**
- β
**4 Critical Compilation Errors** resolved
- β
**Signal Attribute System** updated for Leptos 0.8.8
- β
**Dark Mode Components** fully functional
- β
**Theme Provider Components** fully functional
- β
**Zero Breaking Changes** to public API
- β
**Zero Migration Required** for users
## π Quick Start
```rust
use leptos::*;
use radix_leptos::*;
#[component]
pub fn App() -> impl IntoView {
view! {
Click me!
}
}
```
## ποΈ **Module Structure & Feature Flags**
Radix-Leptos is organized into a clean, modular architecture with feature flags for optimal bundle sizes:
### **π¦ Core Modules**
- **`components/`** - All UI components organized by functionality
- **`theming/`** - Theme system with prebuilt themes and customization
- **`utils/`** - Shared utilities (merge_classes, generate_id, etc.)
### **π§ Feature Flags**
| Feature | Description | Components Included |
|---------|-------------|-------------------|
| `core` | **Production-ready components** | Button, Checkbox, Dialog, Form, Input, Select, etc. |
| `experimental` | **Incomplete/experimental components** | Chart, DataTable, VirtualList, RichTextEditor, etc. |
| `full` | **All components** | `core` + `experimental` |
### **π Component Organization**
```
components/
βββ Core Components (always available)
β βββ button.rs, checkbox.rs, dialog.rs
β βββ form.rs, input.rs, select.rs
β βββ pagination/, form_validation/
βββ Experimental Components (feature-gated)
β βββ chart.rs, data_table.rs
β βββ virtual_list.rs, rich_text_editor.rs
β βββ [Many more...]
βββ mod.rs (with feature gating)
```
### **π― Usage Recommendations**
- **Production**: Use `features = ["core"]` for stable, tested components
- **Development**: Use `features = ["full"]` for access to all components
- **Experimental**: Use `features = ["experimental"]` to test incomplete components
## π More Examples
### Basic Button Component
```rust
use radix_leptos::Button;
#[component]
pub fn MyButton() -> impl IntoView {
view! {
"Click me!"
}
}
```
### Advanced Pagination
```rust
use radix_leptos::pagination::*;
#[component]
pub fn MyPagination() -> impl IntoView {
let (current_page, set_current_page) = signal(1);
view! {
}
}
```
## π¦ Available Components
### Core Components (Available with `core` feature)
- **Pagination**: Page navigation with multiple variants and sizes
- **Navigation**: Basic navigation utilities and patterns
- **Core Utilities**: Essential traits and helper functions
### Full Components (Available with `full` feature)
- **Form Components**: Button, TextInput, Select, Checkbox, RadioGroup, Switch, Slider
- **Feedback Components**: Toast, Alert, Badge, Avatar, Progress
- **Media Components**: Image, Video, Audio, Carousel
- **Navigation Components**: DropdownMenu, NavigationMenu, Menubar, HoverCard, Popover, ScrollArea, Toggle, ToggleGroup, Toolbar
- **Data Visualization**: Chart, DataTable, VirtualList, SplitPane, LineChart, BarChart, PieChart, ScatterPlot
- **Advanced Components**: DragDrop, RichTextEditor, ColorPicker, ImageViewer, CodeEditor, Timeline, Gauge, CommandPalette
- **Enhanced Components**: Context Menu, Collapsible, Aspect Ratio, Calendar, Date Picker, File Upload, Search, Combobox, Avatar, Separator, Label, Toast
## π§ͺ Testing & Examples
```bash
# Run comprehensive tests
pnpm run test:all
# Start development server
pnpm run start:dev
# Build production bundle
pnpm run build:prod
```
## π Performance Metrics
| Metric | Before | After | Improvement |
|--------|--------|-------|-------------|
| **Bundle Size** | 5.8MB | 538KB | **92.7% reduction** |
| **Load Time** | ~15s | ~130ms | **98.3% faster** |
| **Components** | 36 | 9 (core) | **Optimized for production** |
| **Memory Usage** | High | Low | **Efficient WASM** |
## π Why Choose Radix-Leptos?
| Feature | Radix-Leptos | Traditional JS | Other Rust UI |
|---------|---------------|----------------|---------------|
| **Bundle Size** | 538KB | 2-5MB+ | 1-3MB+ |
| **Performance** | Native WASM | JavaScript | WASM + JS |
| **Type Safety** | Rust-level | TypeScript | Rust-level |
| **Accessibility** | Built-in ARIA | Varies | Varies |
| **Styling** | Unstyled | Often opinionated | Mixed |
| **SSR Support** | Full | Limited | Limited |
| **Memory Usage** | Low | High | Medium |
## π§ͺ Testing
```bash
# Run all tests
pnpm run test:all
# Run specific test categories
pnpm run test:comprehensive
pnpm run test:pagination
pnpm run test:performance
pnpm run test:cross-browser
# Manual testing
open http://localhost:8081/manual-test-suite.html
```
## ποΈ Architecture
```
radix-leptos/
βββ crates/ # Core library crates
β βββ radix-leptos-core/ # Core utilities and traits
β βββ radix-leptos-primitives/ # UI component primitives
β βββ radix-leptos/ # Main library facade
βββ examples/ # Example applications
βββ docs/ # Documentation
β βββ remediation/ # Remediation documentation
β βββ releases/ # Release notes and changelogs
β βββ developer-guide/ # Development guidelines
β βββ user-guide/ # User documentation
βββ tests/ # Comprehensive test suite
β βββ unit/ # Unit tests
β βββ integration/ # Integration tests
β βββ e2e/ # End-to-end tests
β βββ performance/ # Performance tests
βββ scripts/ # Development scripts
βββ remediation/ # Error fixing and remediation
βββ maintenance/ # Build and deployment
βββ testing/ # Test automation
```
## π οΈ Development Scripts
The project includes organized automation scripts for development and maintenance:
### Remediation Scripts (`scripts/remediation/`)
- **Error fixing scripts** for systematic code remediation
- **Phase execution scripts** for organized error resolution
- **Complete remediation automation** for large-scale fixes
### Maintenance Scripts (`scripts/maintenance/`)
- **Build automation** for development and production
- **Deployment scripts** for automated releases
- **Test execution** for comprehensive validation
### Usage
```bash
# Run complete remediation
./scripts/remediation/run_full_remediation.sh
# Build for production
./scripts/maintenance/build-production.sh
# Run all tests
./scripts/maintenance/run-tests.sh
```
## π§ Feature Flags
### Core Features (`core`)
- Pagination components
- Basic navigation
- Essential utilities
### Full Features (`full`)
- All components
- Advanced interactions
- Extended functionality
## π Documentation
- [π Complete Documentation](docs/) - All guides, APIs, and resources
- [π Development Roadmap](docs/ROADMAP.md) - Future features and timeline
- [π§ͺ Testing Guide](docs/guides/TESTING_GUIDE.md) - How to test components
- [π Performance Guide](docs/guides/OPTIMIZATION_RESULTS.md) - Bundle optimization details
- [π Production Deployment](docs/guides/PRODUCTION_DEPLOYMENT_GUIDE.md) - Deployment guide
- [API Documentation](https://docs.rs/radix-leptos) - Official crates.io docs
## π€ Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π Acknowledgments
- [Radix UI](https://www.radix-ui.com/) for the original design system
- [Leptos](https://leptos.dev/) for the amazing Rust web framework
- The Rust community for continuous support
## π Roadmap
- [x] Core component library
- [x] Performance optimization
- [x] Comprehensive testing
- [x] Production deployment
- [ ] Additional components
- [ ] Theme system
- [ ] Animation library
- [ ] Component playground
**π [View Full Development Roadmap](ROADMAP.md)**
## π Community & Support
- **π Documentation**: [https://docs.rs/radix-leptos](https://docs.rs/radix-leptos)
- **π Issues**: [GitHub Issues](https://github.com/cloud-shuttle/radix-leptos/issues)
- **π¬ Discussions**: [GitHub Discussions](https://github.com/cloud-shuttle/radix-leptos/discussions)
- **π Examples**: [Examples Directory](./examples/)
- **π§ͺ Testing**: [Test Suite](./tests/)
- **π Performance**: [Performance Analysis](./docs/PERFORMANCE.md)
## π Production Ready
Radix-Leptos is **production-ready** with:
- β
**Comprehensive Testing**: 10+ Playwright tests
- β
**Performance Optimized**: 538KB bundle size
- β
**Accessibility Compliant**: WCAG guidelines
- β
**Cross-Browser**: Chrome, Firefox, Safari, Edge
- β
**Mobile Support**: Touch and responsive design
- β
**Type Safe**: Full Rust type safety
---
**Ready for production use with 538KB optimized bundle! π**
**Latest Version: v0.8.5** - β
**Leptos 0.8.8 Compatibility Release** with 1,792+ passing tests!