Skip to content
Neuramare, home

Announcement

Introducing Needless UI

Accessible Angular components, needlessly well engineered

The Needless UI documentation: “UI components, needlessly well engineered.” with example components.

Today we are releasing Needless UI, an open-source component library for Angular. It is MIT licensed, documented at needlessui.com and developed in the open on GitHub.

Why another component library?

Many component libraries wrap native elements in layers of extra markup and then rebuild what the browser already did well: focus, forms, keyboard support. Needless UI takes the opposite approach. It styles the native element itself — <button nuiButton> is a real button — so forms, keyboards and screen readers work because nothing is wrapped around it.

What’s inside

  • One stylesheet, any framework. Components are plain CSS in cascade layers: Angular today, React next, plain HTML always.
  • Your CSS always wins. Everything ships inside @layer nui, so your own styles override it without !important or specificity battles.
  • Accessible by construction. Every color pair is checked against WCAG 2.2 AA when the palette is generated. Focus, forced colors and reduced motion are handled for you.
  • Needlessly customizable. Springs, press effects, entrances, corner shapes, radius and density — one attribute for the whole app, or one input per component, on standard W3C design tokens.
  • Modern Angular. Signal inputs, zoneless, server rendering and one entry point per component, so apps ship only what they import.

Get started

Install the package and its Angular peers:

pnpm add @needless-ui/angular @angular/aria @angular/cdk

Then import the component you need and put it on the native element:

import { Component } from '@angular/core';
import { NuiButton } from '@needless-ui/angular/button';

@Component({
  selector: 'app-root',
  imports: [NuiButton],
  template: `<button nuiButton (click)="save()">Save changes</button>`,
})
export class App {
  save() {}
}

The documentation covers every component, the design tokens and theming.

What’s next

Because the styles are framework-free, React support is next on the list. Issues, ideas and pull requests are welcome on GitHub.

Published by Neuramare on

All news

Keep reading

More news

Announcements

A New neuramare.com

The new neuramare.com: our apps and games in one place, a living 3D version of our jellyfish logo, news, and company and press information.

Announcements

Napoland Is Now Open Source

Napoland, our online exploration game for phones, is open source: the code under the AGPL-3.0, the maps and items under CC BY-SA 4.0, all on GitHub.

Studio

How We Drew Our Jellyfish in Code

Behind the living logo on neuramare.com: a procedural 3D moon jellyfish drawn with WebGL2 lines in a Web Worker, with a static SVG for reduced motion.