Package Exports
- @voilajsx/uikit
- @voilajsx/uikit/accordion
- @voilajsx/uikit/adapters
- @voilajsx/uikit/admin
- @voilajsx/uikit/alert
- @voilajsx/uikit/auth
- @voilajsx/uikit/avatar
- @voilajsx/uikit/badge
- @voilajsx/uikit/blank
- @voilajsx/uikit/breadcrumb
- @voilajsx/uikit/button
- @voilajsx/uikit/calendar
- @voilajsx/uikit/card
- @voilajsx/uikit/checkbox
- @voilajsx/uikit/collapsible
- @voilajsx/uikit/command
- @voilajsx/uikit/container
- @voilajsx/uikit/data-table
- @voilajsx/uikit/detail-page
- @voilajsx/uikit/dialog
- @voilajsx/uikit/dropdown-menu
- @voilajsx/uikit/footer
- @voilajsx/uikit/form
- @voilajsx/uikit/header
- @voilajsx/uikit/hover-card
- @voilajsx/uikit/input
- @voilajsx/uikit/label
- @voilajsx/uikit/menubar
- @voilajsx/uikit/motion
- @voilajsx/uikit/page
- @voilajsx/uikit/pagination
- @voilajsx/uikit/platform
- @voilajsx/uikit/popover
- @voilajsx/uikit/popup
- @voilajsx/uikit/progress
- @voilajsx/uikit/radio-group
- @voilajsx/uikit/select
- @voilajsx/uikit/separator
- @voilajsx/uikit/sheet
- @voilajsx/uikit/skeleton
- @voilajsx/uikit/slider
- @voilajsx/uikit/styles
- @voilajsx/uikit/switch
- @voilajsx/uikit/table
- @voilajsx/uikit/tabs
- @voilajsx/uikit/textarea
- @voilajsx/uikit/theme-provider
- @voilajsx/uikit/themes
- @voilajsx/uikit/toast
- @voilajsx/uikit/toggle
- @voilajsx/uikit/tooltip
- @voilajsx/uikit/utils
- @voilajsx/uikit/wrapper
Readme
@voilajsx/uikit
React UI framework that gets out of your way. Build beautiful applications with 37 components, 5 layouts, and 5 themes. Zero configuration, zero complexity.
npx uikit create myapp --spa --theme elegant
cd myapp && npm run dev
What You Get
🎨 5 Professional Themes - From minimal to luxury, pick your style
🏗️ 5 Layout Systems - Admin, Auth, Page, Popup, Blank
🧩 37 UI Components - Forms, tables, navigation, overlays
⚡ Instant Setup - From idea to running app in 30 seconds
🎯 Developer First - TypeScript, hot reload, minimal API
Built on Tailwind CSS + Radix UI with OKLCH color science for perfect accessibility.
Quick Start
# Create your app (no installation needed)
npx uikit create myapp --multi --theme elegant
cd myapp && npm run dev
Done. Your app is running with routing, layouts, and the elegant theme.
Framework Overview
@voilajsx/uikit is a complete React framework with three main parts:
1. Components (37 total)
import { Button, Card, DataTable, AdminLayout } from '@voilajsx/uikit';
function Dashboard() {
return (
<AdminLayout>
<Card>
<Button>Click me</Button>
<DataTable data={users} />
</Card>
</AdminLayout>
);
}
2. Layouts (5 types)
<AdminLayout> {/* Sidebar + header for dashboards */}
<AuthLayout> {/* Login/signup forms */}
<PageLayout> {/* Marketing pages with header/footer */}
<PopupLayout> {/* Browser extensions */}
<BlankLayout> {/* Clean pages */}
3. Themes (5 presets)
<ThemeProvider theme="elegant" mode="dark">
<App />
</ThemeProvider>
Themes: base
• elegant
• metro
• studio
• vivid
Project Types
Choose your app structure:
# Theme showcase (37 components demo)
npx uikit create myapp
# Single-page app with routing
npx uikit create myapp --spa --theme metro
# Multi-page app with layouts
npx uikit create myapp --multi --theme vivid
Development Commands
npx uikit serve # Start dev server
npx uikit build # Production build
npx uikit bundle # Rebuild themes
npx uikit deploy # Static site deploy
npx uikit deploy --github # Deploy to GitHub Pages
Theme System
5 professional themes that work in light and dark mode:
base
- Clean metallic black, System UI fontselegant
- Professional blue, Montserrat fontsmetro
- Modern green, clean typographystudio
- Bold black/orange, artistic fontsvivid
- Luxury purple/orange, serif fonts
Basic Usage
import { ThemeProvider, useTheme } from '@voilajsx/uikit';
function App() {
return (
<ThemeProvider theme="elegant" mode="dark">
<MyApp />
</ThemeProvider>
);
}
function ThemeSwitcher() {
const { theme, setTheme, toggleMode } = useTheme();
return (
<div>
<select onChange={(e) => setTheme(e.target.value)}>
<option value="base">Base</option>
<option value="elegant">Elegant</option>
<option value="metro">Metro</option>
<option value="studio">Studio</option>
<option value="vivid">Vivid</option>
</select>
<button onClick={toggleMode}>Toggle Dark Mode</button>
</div>
);
}
Custom Themes
// src/themes/presets/my-theme.js
export default {
id: 'my-theme',
name: 'My Custom Theme',
light: {
background: '#FFFFFF',
foreground: '#111111',
primary: '#3B82F6',
// ... more colors
},
dark: {
background: '#111111',
foreground: '#FFFFFF',
primary: '#60A5FA',
// ... more colors
}
};
npx uikit bundle # Rebuild CSS
Component Examples
Forms & Inputs
import { Button, Input, Label, Card, Form } from '@voilajsx/uikit';
function LoginForm() {
return (
<Card>
<Form>
<Label>Email</Label>
<Input type="email" />
<Button>Sign In</Button>
</Form>
</Card>
);
}
Data Tables
import { DataTable } from '@voilajsx/uikit';
function UserList() {
return (
<DataTable
data={users}
columns={[
{ key: 'name', label: 'Name' },
{ key: 'email', label: 'Email' },
{ key: 'role', label: 'Role' }
]}
/>
);
}
Layout Examples
// Admin dashboard
<AdminLayout>
<AdminLayout.Sidebar navigation={nav} />
<AdminLayout.Header title="Dashboard" />
<AdminLayout.Content>
<DataTable data={users} />
</AdminLayout.Content>
</AdminLayout>
// Auth pages
<AuthLayout scheme="hero" imageUrl="/hero.jpg">
<LoginForm />
</AuthLayout>
// Marketing pages
<PageLayout>
<PageLayout.Header logo="MyApp" navigation={nav} />
<PageLayout.Content>
<Hero />
</PageLayout.Content>
<PageLayout.Footer />
</PageLayout>
Key Concepts
Semantic Colors - Use bg-primary
, text-foreground
, bg-background
for theme compatibility
TypeScript First - Full type safety with IntelliSense
Zero Config - Works out of the box, customize when needed
Accessible - Built on Radix UI primitives
Installation
Only when using in existing projects:
npm install @voilajsx/uikit react react-dom
Resources
Built with @voilajsx/uikit ✨