Docs
Build in the light.
Lumo is a copy-paste registry of e-commerce components. Install a block, own the code, theme the glow.
Installation
Add any block straight into your repo with the shadcn CLI. Dependencies come with it.
npx shadcn add product-cardnpx shadcn add cart-drawer- 1Run shadcn initSet up components.json and the cn utility in your project.
- 2Add a Lumo blockThe source and its dependencies land in your repo.
- 3Wire your dataMap your backend onto the normalized model and ship.
Configuration
Point Tailwind at the source, then tune the theme tokens.
tailwind.config.ts
export default {
content: [
'./app/**/*.{ts,tsx}',
'./components/**/*.{ts,tsx}',
],
}globals.css
:root {
--background: 48 100% 98%;
--foreground: 44 29% 18%;
--primary: 39 100% 56%;
--radius: 1rem;
}Basic usage
Import the block you installed and compose it.
app/page.tsx
import { ProductCard } from '@/components/lumo/product-card'
export function App({ product }) {
return (
<ProductCard
product={product}
onAddToCart={(p, variant) => addLine(p, variant)}
/>
)
}Why Lumo
TypeScript first
Full type safety and editor IntelliSense.
Accessible
WCAG 2.1 AA, keyboard and ARIA built in.
Light by design
A warm theme driven by CSS variables.
Customizable
Theme every token, edit the source freely.
Tree-shakeable
Ship only the blocks you install.
Headless
Bring any backend, one normalized model.