A comprehensive React library for rapidly building functional UI/UX mockups, prototypes, and wireframes with production-ready components.
npm install @khazra/react-ui-builderimport { AppSkeleton } from '@khazra/react-ui-builder';
import '@khazra/react-ui-builder/styles';
function App() {
return (
<AppSkeleton
title="My Prototype App"
theme={{
designStyle: 'flat-minimal',
primaryColor: '#3b82f6',
}}
pages={[
{
path: '/',
title: 'Dashboard',
render: () => <div>Welcome to your dashboard!</div>,
},
]}
/>
);
}- Flat Minimal: Clean, modern design with subtle shadows
- Retro: Nostalgic 80s-inspired aesthetics
- Cyberpunk: Futuristic neon-themed interfaces
- Neubrutalism: Bold, high-contrast design
- Bauhaus: Geometric, functional design principles
- Neumorphic: Soft, tactile interface elements
- Glassmorphism: Translucent, layered effects
- Retro Futurism: Vintage sci-fi inspired design
- AppSkeleton: Full application orchestrator
- Layouts: Sidebar, top bar, composite, and full-page layouts
- Navigation: Vertical, horizontal, and breadcrumb navigation
- Data Tables: Advanced tables with sorting, filtering, pagination
- Authentication: Multiple login styles and protected routes
- Theme System: Advanced color palette generation
- TypeScript: Full type safety throughout
- Responsive: Mobile-first design approach
- Accessible: WCAG compliant components
- Tested: 80%+ test coverage
- Documented: Comprehensive Storybook examples
- Rapid Prototyping: Build functional prototypes in minutes
- Design Systems: Create consistent component libraries
- MVP Development: Launch products faster with pre-built components
- Client Demos: Impressive presentations with realistic data
- Design Exploration: Test different visual styles quickly
- Storybook: Live Component Documentation
- API Reference: Complete TypeScript interfaces and examples
- Design System: Visual guide to all 8 design styles
- Examples: 8+ complete application examples
# Run Storybook locally
npm run storybook
# Build documentation
npm run build-docs
# Preview built documentation
npm run preview-docs- Node.js 18+
- pnpm (recommended) or npm
# Clone the repository
git clone https://github.com/khazra/bolt-ui-builder.git
cd react-library
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Run tests
pnpm test
# Build library
pnpm buildsrc/
βββ lib/ # Library source code
β βββ app-skeleton/ # Main orchestrator component
β βββ auth/ # Authentication components
β βββ components/ # Reusable components
β βββ data/ # Data management components
β βββ hooks/ # Custom React hooks
β βββ layouts/ # Layout components
β βββ navigation/ # Navigation components
β βββ routing/ # Routing utilities
β βββ theme/ # Theme system
β βββ types/ # TypeScript definitions
β βββ utils/ # Utility functions
βββ test/ # Test utilities and E2E tests
βββ docs/ # Documentation and guides
<AppSkeleton theme={{ designStyle: 'flat-minimal' }} /><AppSkeleton theme={{ designStyle: 'retro' }} /><AppSkeleton theme={{ designStyle: 'cyberpunk' }} />See our Storybook documentation for all design styles.
The main component that orchestrates your entire application:
<AppSkeleton
title="My App"
theme={{ designStyle: 'flat-minimal', primaryColor: '#3b82f6' }}
pages={[
{
path: '/',
title: 'Home',
layout: { type: 'sidebar-nav', showNavigation: true },
render: () => <div>Home content</div>,
},
]}
/>Advanced data tables with sorting, filtering, and pagination:
const tableConfig = {
columns: [
{ id: 'name', label: 'Name', sortable: true, filterable: true },
{ id: 'email', label: 'Email', sortable: true },
],
data: [
[{ value: 'John Doe' }, { value: 'john@example.com' }],
[{ value: 'Jane Smith' }, { value: 'jane@example.com' }],
],
pagination: true,
selectable: true,
};
<AppSkeleton
pages={[
{
path: '/users',
title: 'Users',
dataTable: tableConfig,
},
]}
/>Multiple login styles with built-in validation:
<AppSkeleton
login={{
style: 'centered',
title: 'Welcome Back',
showSocialLogin: true,
providers: ['google', 'github'],
}}
pages={[
{
path: '/',
title: 'Dashboard',
requireAuth: true,
render: () => <div>Protected content</div>,
},
]}
/># Run all tests
pnpm test
# Run tests with coverage
pnpm test:coverage
# Run tests in watch mode
pnpm test:watch# Install Playwright browsers
pnpm playwright:install
# Run E2E tests
pnpm playwright
# Run E2E tests with UI
pnpm playwright:ui# Build library
pnpm build
# Build documentation
pnpm build-docs
# Validate build
pnpm validate# Deploy to Surge.sh
pnpm deploy-docs
# Or build and deploy manually
pnpm build-docs
npx surge storybook-static --domain your-domain.surge.shWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Run the test suite
- Submit a pull request
- TypeScript for all code
- 80%+ test coverage required
- Follow existing code style
- Add Storybook stories for new components
- Update documentation as needed
MIT License - see LICENSE file for details.
- Documentation: Storybook Examples
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- β Complete component library
- β 8 design styles
- β Comprehensive documentation
- β 80%+ test coverage
- 1.1.0: Advanced layout components (Grid, Masonry)
- 1.2.0: Form builder components
- 1.3.0: Visual builder interface
- 2.0.0: Plugin system and extensions
Ready to build amazing prototypes? Check out our live examples and start prototyping today! π