Stable, and ready to build upon
The alpha phase was intentionally long. It allowed the API design to evolve under the pressure of real-world usage rather than being prematurely locked into a version that might not hold up. This deliberate approach is what 1.0 capitalizes on. The APIs are now stable and follow semantic versioning, so you can rely on spartan/ui/brain and update with peace of mind. The copy-in spartan/ui/helm layer remains exactly as before—your code to own, read, and tweak. There are no hidden constraints or styling battles.
Built for modern Angular
Every component in the library is constructed on Angular signals and standalone components. spartan is ready for a zoneless architecture and fully compatible with server-side rendering, fitting seamlessly into the way contemporary Angular applications are developed—no special configuration or workarounds required.
The foundational split that has guided spartan from the beginning is still central. spartan/ui/brain handles the complex, often thankless tasks—ARIA implementation, keyboard interactions, focus control—and maintains them consistently. spartan/ui/helm sits on top, handing you complete control over styling, copied directly into your project. You get dependable accessibility while retaining full authority over the visual presentation.
From 30 components to 55+
The initial release included 30 primitives. Now, 1.0 brings more than 55—nearly double—featuring many of the most commonly requested additions over the past two years:
- Data Table – sorting, filtering, and row selection, the most frequently requested feature
- Sidebar – flexible and composable navigation for your app
- Calendar and Date Picker
- Carousel, Autocomplete, Pagination, and Breadcrumb
On top of these, we're introducing Blocks: fully responsive, pre-assembled layouts built from spartan components—authentication screens, sidebar templates, and multi-step forms you can integrate and customize immediately. Less time scaffolding, more time shipping.
You can explore the entire component library as well as the available blocks.
Built by an entire community
A crucial point: spartan/ui is not the work of a single individual, and that is especially true for 1.0. Its success stems from a collective effort—people consistently reviewing pull requests, developing new features, addressing obscure bugs, and engaging in rigorous API design discussions.
A heartfelt acknowledgment goes out to those who shouldered the heaviest responsibilities—Merlin (@MerlinMoos), Marc (@marcjulian), Ashley (@ashley-hunter), Sammy (@thatsamsonkid), Benni (@elite-benni), and Toni (@toniskobic)—as well as everyone who has filed an issue, contributed code, assisted on Discord, or provided financial backing. The list is too long to enumerate individually, and that is a testament to the project's collaborative nature. This is what makes spartan what it is.
If you have contributed or wish to get more involved, feel free to join us in Discord.
Powered by Zerops
spartan's development and deployment infrastructure has been running on Zerops for quite some time. This includes preview environments, the documentation and showcase site, and the daily operational logistics that make maintaining a project of this scope viable. Their backing has been instrumental in allowing us to continue iterating publicly without infrastructure concerns weighing the team down. We are grateful for their support.
Getting started
There is no better moment to dive in.
spartan is released under the MIT license and developed in the open. If it helps you save time, please consider supporting its ongoing development—these contributions finance continued maintenance, new features, and help keep spartan freely accessible to the Angular community.
Here's to 1.0—and to what we'll create on top of it next.
