Installation
Get started with Allem UI in your React project.
1. Install the package
npm install @allem-ui/reactOr use your preferred package manager:
pnpm add @allem-ui/reactyarn add @allem-ui/react2. Setup Tailwind CSS
Allem UI uses Tailwind CSS v4 for styling. Add the @source directive to your main CSS file (e.g. globals.css) so Tailwind scans the component classes:
@import "tailwindcss"; @source "@allem-ui/react"; @source "@allem-ui/theme";
If you use standalone packages, add a @source line for each one:
@source "@allem-ui/command"; @source "@allem-ui/file-upload"; @source "@allem-ui/rich-text"; @source "@allem-ui/onboarding"; @source "@allem-ui/chat"; @source "@allem-ui/data-grid"; @source "@allem-ui/kanban"; @source "@allem-ui/date-picker"; @source "@allem-ui/pricing"; @source "@allem-ui/changelog";
Why is this needed? The @sourcedirective tells Tailwind CSS v4 to scan the package for class names. Without it, component styles like padding, borders, and colors won't be generated in your CSS output.
3. Add React Aria variants
Allem UI components use React Aria data attributes for interactive states. Add these custom variants to your CSS:
/* React Aria data attribute variants */ @custom-variant selected (&[data-selected]); @custom-variant pressed (&[data-pressed]); @custom-variant dragging (&[data-dragging]); @custom-variant focus-visible (&[data-focus-visible]); @custom-variant disabled (&[data-disabled]); @custom-variant placeholder-shown (&[data-placeholder]);
4. Add theme animations
Some components use custom animations. Add them to your CSS:
@theme {
--animate-allem-spin: spin 0.6s linear infinite;
--animate-allem-pulse: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
--animate-allem-fade-in: allemFadeIn 0.2s ease-out;
--animate-allem-slide-up: allemSlideUp 0.2s ease-out;
}
@keyframes allemFadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes allemSlideUp {
0% { opacity: 0; transform: translateY(4px); }
100% { opacity: 1; transform: translateY(0); }
}5. Start using components
import { Button } from "@allem-ui/react";
export function App() {
return <Button color="primary">Click me</Button>;
}Framework support
Allem UI works with Next.js, Vite, Remix, and any React framework. Components that use interactivity include the "use client" directive for React Server Components compatibility.