Documentation
Welcome to C-Comic UI! Learn how to install and use our comic-style component library in your Next.js and React applications. Get perfectly bold, playful, and accessible UI elements right out of the box.
Installation & User Guide
Install the package via npm or yarn. This will inject the core styles, comic variables, and radices into your project.
npm install c-comic-uiAfter installing, wrap your application in the ThemeProvider (if applicable) and start importing components directly.
import { Button } from "c-comic-ui";
export default function App() {
return (
<Button variant="default">CLASH!</Button>
);
}Advanced Specific Components
We also provide several specialized, high-functionality components you can pull via CLI:
Timeline
A chronologically ordered activity feed UI pattern.
npx c-comic add timelineToken Usage Indicator
For AI applications, an integrated progress usage meter displaying prompt vs response tokens.
npx c-comic add token-usageRich Card
Expanded cards formatted to accept full cover media actions, complete with action hero buttons.
npx c-comic add rich-cardComponent Usage & Code Snippets
Here is the code to implement each component.
Empty State Polished UI
Keep users smiling even when there's no data.
import { Button } from "c-comic-ui";
import { Ghost, Plus } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Error Pages (404/500) Polished UI
Turn frustration into a fun storytelling moment.
import { Button } from "c-comic-ui";
import { MapIcon, Home, RefreshCcw } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Onboarding Flow Polished UI
In-app guided tours with comic-style tooltips.
import { Button } from "c-comic-ui";
import { Sparkles, ArrowRight } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Keyboard Shortcuts UI Polished UI
Power user tooltips showing keybindings in style.
// Import your components from "c-comic-ui";
import { Keyboard, Command } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
</>
);
}Theme Switcher Polished UI
Loud, chunky toggle for dark/light/system modes.
import { Button } from "c-comic-ui";
import { Sun, Moon, Monitor } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Accessibility Helpers Polished UI
Oversized focus rings & screen reader indications.
import { Button } from "c-comic-ui";
import { MousePointerClick, Accessibility, Eye, User } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Multi-Step Wizard Advanced Forms
Break complex forms into fun, bite-sized comic panels.
import { Label, Input, Button } from "c-comic-ui";
import { Check, MapPin, ArrowRight } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Label />
<Input />
<Button />
</>
);
}Form Validation Advanced Forms
In-your-face validation states with bold colors and icons.
import { Label, Input } from "c-comic-ui";
import { AlertTriangle, CheckCircle, Check } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Label />
<Input />
</>
);
}File Upload Zone Advanced Forms
A playful drag & drop target that feels interactive.
import { Button } from "c-comic-ui";
import { UploadCloud, FileText, CheckCircle, Trash2 } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Date & Time Picker Advanced Forms
Custom date selector bypassing default browser inputs.
import { Button } from "c-comic-ui";
import { ChevronRight, Clock } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Rich Text Editor Advanced Forms
WYSIWYG layout combining a bold toolbar and content area.
import { Button } from "c-comic-ui";
import { Bold, Italic, Heading1, Heading2, ListIcon, Link2, ImageIcon, Code } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Autosave & Drafts Advanced Forms
Continuous save badges that provide peace of mind.
import { Label, Input, Button } from "c-comic-ui";
import { Cloud, Loader2 } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Label />
<Input />
<Button />
</>
);
}Breadcrumbs Navigation & Discovery
Fun, heavily bordered block-style breadcrumbs.
// Import your components from "c-comic-ui";
import { Home, ChevronRight } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
</>
);
}Command Palette Navigation & Discovery
Cmd+K interface for global navigation and actions.
import { Badge } from "c-comic-ui";
import { Search, Calendar, Folder, Settings2 } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Badge />
</>
);
}Global Search Navigation & Discovery
Search bar with live preview dropdown.
import { Input, Button, Avatar, AvatarFallback } from "c-comic-ui";
import { Search, FileBox } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Input />
<Button />
<Avatar />
<AvatarFallback />
</>
);
}Collapsible Sidebar Navigation & Discovery
A fun, chunky sidebar navigation for dashboards.
import { Button, Badge } from "c-comic-ui";
import { AlignLeft, Home, Compass, Star, Folder, Users, Settings2 } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
<Badge />
</>
);
}Login / Sign Up Auth & Security
Classic comic-style login form with social providers and hard shadows.
import { Button, Label, Input } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Button />
<Label />
<Input />
</>
);
}Forgot Password Auth & Security
Password recovery flow using strong borders.
import { Input, Button } from "c-comic-ui";
import { Lock, ArrowRight } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Input />
<Button />
</>
);
}Email Verification Auth & Security
A fun inbox-checking prompt.
import { Button } from "c-comic-ui";
import { Mail } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}2FA / OTP Input Auth & Security
Six-digit verification code entry.
import { Input, Button } from "c-comic-ui";
import { ShieldCheck } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Input />
<Button />
</>
);
}Device Management Auth & Security
Active sessions and connected devices list.
import { Badge, Button } from "c-comic-ui";
import { Laptop, Smartphone, Monitor } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Badge />
<Button />
</>
);
}Pricing Table SaaS & Billing
Clear and bold pricing tiers that grab the user's attention.
import { Button } from "c-comic-ui";
import { Check } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Subscription Management SaaS & Billing
Account overview panel showing current plan, dates, and upgrade paths.
import { Badge, Button } from "c-comic-ui";
import { Zap } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Badge />
<Button />
</>
);
}Billing History & Invoices SaaS & Billing
Invoice history table with comic-styled download actions.
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell, Badge, Button } from "c-comic-ui";
import { Download } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Table />
<TableHeader />
<TableRow />
<TableHead />
<TableBody />
<TableCell />
<Badge />
<Button />
</>
);
}API Usage Meter SaaS & Billing
Visual indicator for tracking quota consumption.
import { Progress } from "c-comic-ui";
import { AlertCircle } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Progress />
</>
);
}Team Roles & Permissions SaaS & Billing
Manage organization members with styled Selects and Avatars.
import { Button, Avatar, AvatarFallback, Badge, Select, SelectTrigger, SelectValue, SelectContent, SelectGroup, SelectItem } from "c-comic-ui";
import { Users, Trash2 } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
<Avatar />
<AvatarFallback />
<Badge />
<Select />
<SelectTrigger />
<SelectValue />
<SelectContent />
<SelectGroup />
<SelectItem />
</>
);
}API Key Management SaaS & Billing
Panel to reveal, revoke, or generate new API credentials.
import { Badge, Input, Button } from "c-comic-ui";
import { Key, Copy, Plus } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Badge />
<Input />
<Button />
</>
);
}Model Switcher AI & LLM
A playful, heavy-bordered dropdown to select active LLM models.
import { Select, SelectTrigger, SelectValue, SelectContent, SelectGroup, SelectLabel, SelectItem } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Select />
<SelectTrigger />
<SelectValue />
<SelectContent />
<SelectGroup />
<SelectLabel />
<SelectItem />
</>
);
}Chat Bubbles AI & LLM
Action-packed text bubbles distinguishing User and Assistant.
// Import your components from "c-comic-ui";
import { User, Bot } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
</>
);
}Code Block (with copy) AI & LLM
Syntax highlighting block with a comic-style copy button.
// Import your components from "c-comic-ui";
import { Copy } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
</>
);
}Prompt Templates AI & LLM
Grid of starting prompts for user discovery.
// Import your components from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
</>
);
}Conversation Sidebar AI & LLM
History list for AI chats with bold active states.
// Import your components from "c-comic-ui";
import { Plus, MessageSquare } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
</>
);
}Streaming Text & Indicators AI & LLM
Loading states and token usage specifically designed for LLMs.
import { Badge } from "c-comic-ui";
import { Hash } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Badge />
</>
);
}Regenerate/Edit Prompt Actions AI & LLM
Pill-shaped toolbars below assistant messages for quick actions.
import { Button } from "c-comic-ui";
import { RefreshCcw, SquarePen } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Loaders & Progress Feedback
Indicate loading state with spinners, skeletons, or progress bars.
import { Progress, Skeleton } from "c-comic-ui";
import { Loader2 } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Progress />
<Skeleton />
</>
);
}Toast Notifications Feedback
Brief, non-interruptive notifications that slide in.
import { Button } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Alerts Feedback
Important messages that deserve the user's attention.
import { Alert, AlertTitle, AlertDescription } from "c-comic-ui";
import { Terminal, AlertCircle, CheckCircle2 } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Alert />
<AlertTitle />
<AlertDescription />
</>
);
}Confirmation Dialog Feedback
Interruptive dialog for destructive actions.
import { AlertDialog, AlertDialogTrigger, Button, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<AlertDialog />
<AlertDialogTrigger />
<Button />
<AlertDialogContent />
<AlertDialogHeader />
<AlertDialogTitle />
<AlertDialogDescription />
<AlertDialogFooter />
<AlertDialogCancel />
<AlertDialogAction />
</>
);
}Inline Validation Forms
Show validation errors inline with form inputs.
import { Label, Input } from "c-comic-ui";
import { AlertCircle } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Label />
<Input />
</>
);
}Data Table Complex Data
Highly structured table for sorting, filtering, and pagination.
import { Table, TableCaption, TableHeader, TableRow, TableHead, TableBody, TableCell, Badge } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Table />
<TableCaption />
<TableHeader />
<TableRow />
<TableHead />
<TableBody />
<TableCell />
<Badge />
</>
);
}List View (Activity) Complex Data
Virtualization-ready list style for tracking activity or generic data.
import { Avatar, AvatarFallback } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Avatar />
<AvatarFallback />
</>
);
}Stats / KPI Block Complex Data
Important high-level metrics for dashboard homepages.
// Import your components from "c-comic-ui";
import { Target } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
</>
);
}Bar Chart Complex Data
Integrated charts (recharts) with bold comic colors.
// Import your components from "c-comic-ui";
import { ResponsiveContainer, BarChart, XAxis, Tooltip, Bar } from "recharts";
export default function App() {
return (
// the corresponding elements
<>
</>
);
}Empty State Complex Data
Playful empty states for lists with no data.
import { Button } from "c-comic-ui";
import { FileBox } from "lucide-react";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Accordion Layout/Structure
A vertically stacked set of interactive headings that each reveal a section of content.
import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Accordion />
<AccordionItem />
<AccordionTrigger />
<AccordionContent />
</>
);
}Tabs Layout/Structure
A set of layered sections of content, displayed one at a time.
import { Tabs, TabsList, TabsTrigger, TabsContent, Button } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Tabs />
<TabsList />
<TabsTrigger />
<TabsContent />
<Button />
</>
);
}Sheet / Side Panel Layout/Structure
Extends from the edges of the window to display mobile panels, drawers, or dialogs.
import { Sheet, SheetTrigger, Button, SheetContent, SheetHeader, SheetTitle, SheetDescription, Label, Input, SheetFooter } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Sheet />
<SheetTrigger />
<Button />
<SheetContent />
<SheetHeader />
<SheetTitle />
<SheetDescription />
<Label />
<Input />
<SheetFooter />
</>
);
}Resizable Panels Layout/Structure
Accessible resizable panel groups and layouts.
import { ResizablePanelGroup, ResizablePanel, ResizableHandle } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<ResizablePanelGroup />
<ResizablePanel />
<ResizableHandle />
</>
);
}Drawer (Mobile Panel) Layout/Structure
A drawer component for React, typically used on mobile for bottom-up dialogs.
import { Drawer, DrawerTrigger, Button, DrawerContent, DrawerHeader, DrawerTitle, DrawerDescription, DrawerClose, DrawerFooter } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Drawer />
<DrawerTrigger />
<Button />
<DrawerContent />
<DrawerHeader />
<DrawerTitle />
<DrawerDescription />
<DrawerClose />
<DrawerFooter />
</>
);
}Button Core/General
Displays a button or a component that looks like a button.
import { Button } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Button />
</>
);
}Input Forms
Displays a form input field or a component that looks like an input field.
import { Input, Button } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Input />
<Button />
</>
);
}Badge Data Display
Displays a badge or a component that looks like a badge.
import { Badge } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Badge />
</>
);
}Avatar Data Display
An image element with a fallback for representing the user.
import { Avatar, AvatarImage, AvatarFallback } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Avatar />
<AvatarImage />
<AvatarFallback />
</>
);
}Checkbox & Label Forms
A control that allows the user to toggle between checked and not checked.
import { Checkbox, Label } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Checkbox />
<Label />
</>
);
}Switch Forms
A control that allows the user to toggle between checked and not checked.
import { Switch, Label } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Switch />
<Label />
</>
);
}Separator Core/General
Visually or semantically separates content.
import { Separator } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Separator />
</>
);
}Skeleton Feedback
Use to show a placeholder while content is loading.
import { Skeleton } from "c-comic-ui";
export default function App() {
return (
// the corresponding elements
<>
<Skeleton />
</>
);
}Components
Below is a brief description of the core components currently available in our library:
- Buttons & Badges: The classic interactive elements with bold comic hover states.
- Forms: Inputs, Labels, Switches, and Checkboxes with high-contrast borders.
- Layouts: Accordions, Tabs, Resizable Panels, Drawers, and Sheets.
- Feedback: Toast notifications (Sonner), Alerts, Alert Dialogs, Skeletons, and Progress Bars.
- Complex Data: Tables, Data Lists, Data Dashboards (Recharts integration), and Empty states.