- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Autocomplete
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Dropdown Menu
- Empty
- Field
- Hover Card
- Icon
- Input Group
- Input OTP
- Input
- Item
- Kbd
- Label
- Menubar
- Native Select
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner (Toast)
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toggle
- Toggle Group
- Tooltip
Introduction
Accessible UI primitives for Angular. Install the behavior. Copy the styles.
spartan/ui gives you accessible, customizable components for Angular applications. Built with signals, SSR compatible, and zoneless ready - no full-stack setup required, just add to any Angular project.
How it works
spartan uses a two-layer architecture that gives you both maintained accessibility and complete style ownership:
spartan/ui/brainUnstyled, accessible primitives installed via npm. Handles ARIA attributes, keyboard navigation, and focus management.
You install it: Regular dependency with updates and maintenance included.
spartan/ui/helmStyled components with a shadcn-inspired design system. Built with Tailwind CSS classes you can edit directly.
You copy it: Lives in your codebase. Customize without fighting a theming API.
This hybrid approach means you get the best of both worlds: we maintain the complex accessibility logic, while you own and control every aspect of the styling.
Full-stack development (optional)
Need more than UI components? The spartan/stack provides an opinionated full-stack setup with AnalogJs for end-to-end type-safe development.
Built on: Supabase , Angular , tRPC , Tailwind , AnalogJs , Nx , and Drizzle
FAQ
On This Page