A React component library implementing the Logos Design System (LSD) using shadcn / Radix UI and Tailwind CSS.
@nipsysdev/lsd-react follows a minimalist design system. The library offers a comprehensive set of UI components with built-in light and dark theme support.
npm install @nipsysdev/lsd-react
# or
pnpm add @nipsysdev/lsd-reactimport { Button, Input, Card } from '@nipsysdev/lsd-react';
import '@nipsysdev/lsd-react/css';
function App() {
return (
<div className="min-h-screen bg-background text-foreground">
<Card className="p-6">
<h1 className="text-2xl mb-4">Welcome to LSD React</h1>
<Input placeholder="Enter your name" className="mb-4" />
<Button>Submit</Button>
</Card>
</div>
);
}LSD React uses CSS custom properties for theming. The theme can be switched by adding/removing the .dark class on the root element (or any container).
:root {
--lsd-text: 0 0 0; /* Black */
--lsd-border: 0 0 0; /* Black */
--lsd-surface-primary: 255 255 255; /* White */
--lsd-surface-secondary: 255 255 255; /* White */
}.dark {
--lsd-text: 255 255 255; /* White */
--lsd-border: 255 255 255; /* White */
--lsd-surface-primary: 0 0 0; /* Black */
--lsd-surface-secondary: 0 0 0; /* Black */
}LSD React provides a comprehensive set of UI components:
- Input: Text input with size variants
- Autocomplete: Searchable dropdown with async support
- Select: Native select with custom styling
- Checkbox: Accessible checkbox component
- Switch: Toggle switch component
- Label: Form label with variants
- Tabs: Tabbed interface with size variants
- Sidebar: Collapsible sidebar with submenus
- Breadcrumb: Navigation breadcrumb (coming soon)
- Card: Container with header, content, and footer
- Sheet: Slide-out panel component
- Separator: Visual divider
- ScrollArea: Custom scrollable area
- Badge: Status and label badges
- Typography: Text components with variants
- Skeleton: Loading placeholder
- Progress: Progress bar with indeterminate state
- Dialog: Modal dialog component
- AlertDialog: Confirmation dialog
- Popover: Popup content component
- Tooltip: Hover tooltip
- Sonner: Toast notifications
- Button: Versatile button with variants and sizes
- ButtonGroup: Grouped buttons
- Toggle: Toggle button component
- ToggleGroup: Grouped toggle buttons
- Node.js >= 24.0.0
- pnpm >= 10
git clone https://github.com/nipsysdev/lsd-react.git
cd lsd-react
pnpm installpnpm dev- Start development serverpnpm build- Build the librarypnpm cosmos- Start React Cosmos dev serverpnpm cosmos:export- Export Cosmos sitepnpm lint- Run lintingpnpm type-check- Run TypeScript type checking
Licensed under GNU GPL v3+