Docs
Getting started
1 · Pick a component
Browse components, open one, tune the playground until it feels right, then copy the usage snippet. It follows your settings live.
2 · Install in one command
No setup. This drops the component straight into your project. Single files, zero third-party dependencies. Copy the exact command from the component's page, or use the pattern:
npx shadcn@latest add https://lib.tirup.in/r/<name>.json
Prefer short names? Register my namespace once, then use @mehta/<name>:
npx shadcn@latest registry add @mehta=https://lib.tirup.in/r/{name}.json
npx shadcn@latest add @mehta/<name>3 · Theming
Components read the dark class on <html> and adapt automatically. Reduced-motion users get a still frame, and simulations sleep when settled.
4 · Mobile
Interactive demos are desktop-first. Gate heavy components behind a pointer or screen-size check, load them client-side only, and skip them entirely on small screens.
5 · Performance
Cost scales with the size of the box. Demos sleep when settled, pause offscreen and in hidden tabs, and render one still frame for reduced-motion users.
6 · License
MIT. Free forever. Every component is yours once installed: copy it, modify it, ship it. No keys, no lock-in, no paid core.
7 · Credit
Liquid Ascii was inspired by React Bits' Liquid ASCII. The implementation here is my own, written from scratch.