Tactile animations baked in
Spring eases on overlays, ease-out on state changes, shimmer on skeletons. Auto-disabled under prefers-reduced-motion.
65 semantic components, 39 themes, motion and accessibility verified in CI. Built on a single Tailwind plugin so your bundle stays tree-shaken and your markup stays readable.
Compliance review · 7 min ago
2 risk items pending
SLA expires Friday at 5 PM PT.
Spring eases on overlays, ease-out on state changes, shimmer on skeletons. Auto-disabled under prefers-reduced-motion.
Every theme passes the contrast suite. Every primitive ships keyboard states, focus rings, and ARIA semantics.
41 tokens drive every surface. Switch the active theme with a single data attribute on <html>.
Three surface tiers and gradient variants give cards, navbars, and panels a single material language.
Command palette, calendar, stepper, accordion, popover, dropzone, OTP, slider, segmented — out of the box.
Plain Tailwind plugin. Optional React + Vue adapters emit the same lm-* classes with typed props.
Switch the active theme with a single data-lm-theme attribute on <html>. Build per-tenant brands without forking your component code.
data-lm-theme="lumora-light"data-lm-theme="lumora-dark"data-lm-theme="indigo-enterprise"data-lm-theme="emerald-ledger"data-lm-theme="rose-compliance"data-lm-theme="amber-ops"data-lm-theme="violet-suite"data-lm-theme="graphite-command"data-lm-theme="ocean"data-lm-theme="berry-dark"data-lm-theme="carbon"data-lm-theme="aurora-dark"data-lm-theme="lumora-light"data-lm-theme="lumora-dark"data-lm-theme="indigo-enterprise"data-lm-theme="emerald-ledger"data-lm-theme="rose-compliance"data-lm-theme="amber-ops"data-lm-theme="violet-suite"data-lm-theme="graphite-command"data-lm-theme="ocean"data-lm-theme="berry-dark"data-lm-theme="carbon"data-lm-theme="aurora-dark"Add the plugin to your CSS, install the package, and every lm-* class is available. No build config, no adapters required.
pnpm add @lumora-design/core
# or: npm install @lumora-design/core
# optional adapters
pnpm add @lumora-design/react # React adapter
pnpm add @lumora-design/vue # Vue adapterTailwind v4 strips unused classes — your CSS only ships what you use.
/* app/globals.css */
@import "tailwindcss";
@plugin "@lumora-design/core";// app/billing/AccountCard.tsx
import { LumoraButton, LumoraCard } from "@lumora-design/react";
export function AccountCard() {
return (
<LumoraCard variant="glass">
<LumoraCard.Header>
<LumoraCard.Title>Account settings</LumoraCard.Title>
</LumoraCard.Header>
<LumoraCard.Body>
<LumoraButton variant="primary">Save changes</LumoraButton>
</LumoraCard.Body>
</LumoraCard>
);
}| Lumora UI | daisyUI | shadcn/ui | Tailwind UI | Mantine | |
|---|---|---|---|---|---|
| Components (CSS) | 65 | 61 | — | 500+ blocks | 100+ |
| Themes | 39 | 35 | 1 | 1 | 2 |
| Typed React adapter | 126 components | — | Yes | Paid | Yes |
| Typed Vue adapter | 131 components | — | — | — | — |
| Motion + spring tokens | Yes | — | — | — | Yes |
| WCAG AA verified in CI | Yes | — | — | — | Partial |
| Multi-tenant theme runtime | Yes | Partial | — | — | Partial |
| Page-level templates | 6 ready | — | Several | 500+ blocks | — |
| License | MIT | MIT | MIT | Paid | MIT |
Numbers verified against each project's documentation as of April 2026. Lumora components/themes counts come from the live exports — they update on every release.
Production-grade SaaS admin shell with sidebar, KPI strip, table workflow, and bulk actions.
Multi-section settings page with sticky sidebar nav, profile, security, and notification panels.
Sign-in page with SSO buttons, passwordless flow, and a multi-step onboarding wizard.
Plan picker, invoice table, payment method card, and usage meters with sparklines.
Three-column work board with cards, avatars, badges, and a quick-add primary action.
Conversion-grade marketing page: gradient hero, feature grid, pricing table, and FAQ.
Lumora is open source under MIT. Add the Tailwind plugin to any project and start shipping. Adapters and templates come along for the ride.