Introduction
The VitNode UI library - accessible React components built on Base UI and Tailwind CSS v4, with design tokens, motion rules and dark mode included.
VitNode UI is the component library behind every VitNode screen, from the AdminCP to your plugin pages. It gives you buttons, dialogs, forms, tables and around seventy other pieces that share one set of colors, type, spacing and motion, so a plugin looks like it belongs without extra effort.
Use a component
Every component lives in @vitnode/core, which your app already depends on.
Import it from @vitnode/core/components/ui/<name>:
import { Button } from '@vitnode/core/components/ui/button'
export const PublishButton = () => <Button>Publish post</Button>There's nothing to install and no copy-paste step. Components are styled with design tokens, so they follow your theme and switch to dark mode automatically.
What it's built on
- Base UI (
@base-ui/react) for the behavior: focus management, keyboard support, ARIA and positioning. - shadcn/ui in its
base-vegastyle for the starting point of each component's look. - Tailwind CSS v4 for styling, driven by CSS variables.
- Motion for the few animations that need springs, like rolling numbers, the switch thumb and image zoom.
Design principles
Inspired by Apple's Human Interface Guidelines (we're not affiliated, we just like how their stuff feels):
- Respond on press. Everything reacts the moment your pointer goes down. Motion
- Move with purpose. Short, interruptible, no bounce for fun. Motion
- Respect people's settings. Reduced motion, reduced transparency and touch-sized targets. Accessibility
- Sweat the details. Steady numbers and nested corners. Typography · Radius & Elevation
Foundations
Components never hardcode a color, size or curve. They read shared tokens from
your app's src/styles.css, and each foundation has its own page full of live
examples.
Colors
Semantic OKLCH tokens for surfaces, brand, status and charts.
Typography
System font, type scale with built-in tracking, hierarchy.
Motion
Press feedback, interruptible transitions, springs, reduced motion.
Spacing & Layout
Spacing scale, gap rules, breakpoints and line length.
Radius & Elevation
One radius variable, concentric corners and soft shadows.
Icons
Lucide sizes, icons in buttons, labels and brand logos.
Accessibility
Focus rings, touch targets, contrast and announcements.
Popular components
Button
Actions in every variant, from primary to destructive.
Dialog
Focused tasks in a modal window.
Auto Form
Forms generated from a Zod schema, with validation.
Data Table
Search, filters, pagination and bulk actions.
Select
Pick one option from a list.
Toast
Quick feedback after a create, edit or delete.
Sheet
A side panel for details and secondary forms.
Editor
Rich text editing for posts and pages.