Spartan
Accessible Angular UI primitives, Tailwind ready

Spartan is a copy-paste friendly Angular UI toolkit: you install the accessible behavior, then copy the styles into your own codebase so you can tweak everything without fighting a theme API.
It also offers an optional full-stack “stack” setup if you want a bigger end-to-end starter.
What Is the Spartan UI?
Spartan UI is a set of accessible UI primitives for Angular designed around “install behavior, copy styles.” That means the hard accessibility logic stays maintained upstream, while your styling lives in your repo where you can edit it freely.
What features does Spartan UI offer? ✨
It focuses on speed + control: you get solid behavior out of the box, without getting locked into a rigid theming system.
Accessible primitives for Angular (unstyled-first)
Brain + Helm split: install logic, copy styles
CLI to add components and set up a theme quickly
Tailwind-first styling workflow
SSR and “zoneless ready” positioning (great for modern Angular setups)
Dark mode supported via CSS variables + a single
darkclass
What components are included? 📒
You get a pretty broad set of building blocks, covering the usual “app UI” needs.
Navigation and overlays: Dialog, Dropdown Menu, Popover, Sheet, Sidebar, Tooltip
Inputs: Input, Checkbox, Radio Group, Select, Textarea, Toggle Group
Data and layout: Data Table, Pagination, Card, Tabs, Table, Resizable
Dates: Calendar, Date Picker (built using Popover + Calendar)
What are the pros and cons?
If you like owning your UI code and don’t want to wrestle a component library’s styling system, it’s a strong fit. If you want “install and forget” with tons of prebuilt themes and zero Tailwind, it may feel more hands-on.
Pros ✅
You own the styles (easy to tweak, no theming API battles)
Strong “modern Angular” angle (signals, SSR-friendly messaging)
CLI makes adding components and themes much faster
MIT licensed and open source
Cons ⚠️
Requires Tailwind CSS, so it’s not “CSS-framework neutral”
Copy-paste ownership means you maintain your local styling layer (by design)
“Unstyled-first” can feel slower if you want fully designed components instantly
How does Spartan UI integrate with your stack?
Integration is straightforward if you’re already in Angular + Tailwind land, and it supports both Angular CLI and Nx workflows.
Works with Angular CLI and Nx
Tailwind is a prerequisite, and Spartan provides presets/styles you can copy and adjust
Optional spartan/stack for full-stack Angular with AnalogJs + Supabase + tRPC + Drizzle + Nx
Icons default to Lucide via ng-icons (customizable)
FAQ
Does Spartan UI work without the full-stack setup?
Yes, spartan/ui works with any Angular app; the full-stack “stack” is optional.
Is it pre-styled like Material or PrimeNG?
Not by default. It’s unstyled-first: you copy styles into your codebase so you can change everything.
Do I need Tailwind to use it?
Yes, Tailwind CSS is a prerequisite for spartan/ui’s setup.
What’s the easiest way to add components?
Use the Spartan CLI to add components and set up themes in Angular CLI or Nx projects.