Why Bloc UI?
An honest comparison with the main Angular component libraries. Pick what fits your project — we'd rather you use the right tool than the wrong one.
In one sentence
Bloc UI gives you the behaviour and accessibility of a full component library with zero design opinions — you bring your own styles (or drop in @bloc-ui/theme), and nothing fights Tailwind.
At a glance
| Bloc UI | Angular Material | PrimeNG | Spartan UI | |
|---|---|---|---|---|
| Design system | Barebone, opt-in theme | Material Design (opinionated) | Multiple themes | shadcn-style, Tailwind-first |
| Tailwind-friendly | Yes — zero-specificity base, cascade layers | Fights Tailwind; needs overrides | Partial, theme-dependent | Yes — built on Tailwind |
| Standalone + NgModule | Both | Both | Both | Standalone only |
| Tree-shakeable entry points | Yes — secondary entry points per component | Per-module imports | Per-component modules | Yes — copy-paste per component |
| Signal-based inputs | Yes | Partial | Partial | Yes |
| Bundle footprint | Small — individual packages | Large | Large | Small — copy-paste |
| Angular version target | Angular 21+ | Angular 15+ | Angular 16+ | Angular 17+ |
| License | MIT | MIT | MIT | MIT |
When to pick Bloc UI
- You're on Angular 21+ and want modern standalone + signal-based components.
- You use Tailwind (or a custom design system) and don't want component styles fighting your utility classes.
- You want the behaviour of a component library — a11y, keyboard navigation, forms integration — without inheriting anyone's design opinions.
- You care about bundle size and prefer individual, tree-shakeable packages.
When to pick something else
- You want a full Material Design out-of-the-box experience → use Angular Material.
- You need breadth — 80+ components including advanced data grid → use PrimeNG.
- You prefer copy-paste shadcn-style components and don't mind owning the source → use Spartan UI.