Open Source · Angular 22 · MIT
UI-Komponenten, unnötig gut durchdacht.
Needless UI gestaltet native Elemente mit einem einzigen frameworkunabhängigen Stylesheet und W3C-Design-Tokens. Die Angular-Direktiven ergänzen das Verhalten aus Angular Aria, sodass jede Komponente vom ersten Rendern an barrierefrei ist.
Warum es Needless UI gibt
Native Elemente zuerst
<button nuiButton>ist ein echter Button. Formulare, Tastatur und Screenreader funktionieren, weil nichts ihn umhüllt.Ein Stylesheet für jedes Framework
Die Komponenten sind reines CSS in Cascade Layers: heute Angular, als Nächstes React und schlichtes HTML sowieso.
Dein CSS gewinnt immer
Alles steckt in
@layer nui, deshalb überschreiben deine eigenen Styles es ohne!importantund ohne Kampf um Spezifität.Barrierefrei von Grund auf
Beim Generieren der Palette wird jedes Farbpaar gegen WCAG 2.2 AA geprüft. Fokus, Forced Colors und reduzierte Bewegung sind bereits berücksichtigt.
Unnötig anpassbar
Federn, Druckeffekte, Eingangsanimationen, Eckenformen, Radius und Dichte: ein Attribut für die ganze App oder ein Input pro Komponente, auf Basis standardisierter W3C-Design-Tokens.
Modernes Angular
Signal Inputs, zoneless, serverseitiges Rendering und ein Entry Point pro Komponente – so liefern Apps nur aus, was sie importieren.
Zwei Imports, fertig
Füge das Paket hinzu, importiere das Stylesheet einmal und verwende die Komponenten in jeder Standalone-Komponente.
pnpm add @needless-ui/angular @angular/aria @angular/cdkimport { 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() {}
}