Introduction
A portable, mobile-first component library built on shadcn patterns with Polkadot branding. Copy the components/ folder into your project and start building.
Getting Started
1
Copy the components folder
cp -r src/components/{ui,lib,styles} your-project/src/components/
2
Import the CSS variables
// In your root layout or globals.cssimport './components/styles/globals.css'
3
Add the Tailwind preset
// tailwind.config.jsmodule.exports = {presets: [require('./src/components/styles/tailwind-preset')],// ...}
4
Install dependencies
npm install clsx tailwind-merge class-variance-authority lucide-react @radix-ui/react-{slot,dialog,popover,select,switch,toggle,tabs,tooltip,dropdown-menu,avatar,label,separator}
What's Included
20 components ready to use. Click any to see examples and props.
Portability
The portable deliverable is everything inside src/components/:
src/components/ui/ # All component fileslib/utils.ts # cn() utilitystyles/globals.css # CSS variables (light + dark themes)tailwind-preset.js # Tailwind preset: colors, typography, shadows, animations
Components use @/components/lib/utils internally. Adjust your tsconfig paths or do a find-replace if your alias differs.
Customization
Since you own the source files, customize anything directly. Change CSS variables in globals.css for theme-wide changes, add new variants in the CVA configs, or override styles via className props. Every component forwards className and uses tailwind-merge so your overrides always win.