lerpa
ver1.0.0
node20.11
branch⎇ main
uptime14d 03:42:17
cpu3.2%
mem14 MB
teams4,213
utc00:00:00
LIVE
$lerpa --make-it-yours

Customizing

Lerpa UI hands you source files, not a black-box dependency. Once a component is in components/ui, it's your code — rename it, rewrite it, delete the parts you don't need.

Edit freely

There's no node_modules version to override and no upstream API to track. Change the JSX, swap class names, remove an animation — whatever fits your app. The only thing to keep in mind is that update will overwrite a component, so review diffs if you re-pull a file you've edited.

Prefer tokens over hard-coded values

When restyling, reach for the design tokens first. Editing a CSS variable changes every component consistently and keeps light/dark and contrast intact — see Theming.

globals.css
:root {
  --accent: oklch(0.70 0.18 295); /* recolors all components */
  --radius: 1.25rem;              /* rounder corners everywhere */
}

Add variants

Many components use class-variance-authority for their variants. Adding a new look is just another entry in the variant map:

components/ui/button.tsx
const button = cva("inline-flex items-center justify-center rounded-md ...", {
  variants: {
    variant: {
      default: "bg-[var(--accent)] text-[var(--bg)]",
      outline: "border border-[var(--edge-2)] text-[var(--text)]",
      // add your own:
      glow: "bg-[var(--accent)] shadow-[var(--shadow-glow-md)]",
    },
  },
  defaultVariants: { variant: "default" },
});

Compose, don't fork the library

Need a one-off? Wrap a component in your own and pass props through, rather than copying it again. Because each component is self-contained, composition stays clean.

lerpa · running
turbopack142ms
a11yAAA
tokens14
network14kb