Código abierto · Angular 22 · MIT

Componentes de UI, innecesariamente bien hechos.

Needless UI da estilo a elementos nativos con una sola hoja de estilos independiente del framework y tokens de diseño W3C. Sus directivas de Angular añaden el comportamiento de Angular Aria, así que todos los componentes son accesibles desde el primer renderizado.

Por qué existe

  • Elementos nativos ante todo

    <button nuiButton> es un botón de verdad. Los formularios, el teclado y los lectores de pantalla funcionan porque no hay nada que lo envuelva.

  • Una hoja de estilos, cualquier framework

    Los componentes son CSS puro en capas de cascada: Angular hoy, React después y HTML simple siempre.

  • Tu CSS siempre gana

    Todo va dentro de @layer nui, así que tus propios estilos lo sobrescriben sin !important ni guerras de especificidad.

  • Accesible por diseño

    Al generar la paleta, cada par de colores se comprueba según las WCAG 2.2 AA. El foco, los colores forzados y el movimiento reducido ya vienen resueltos.

  • Innecesariamente personalizable

    Resortes, efectos al pulsar, animaciones de entrada, formas de esquina, radio y densidad: un atributo para toda la aplicación o un input por componente, sobre tokens de diseño W3C estándar.

  • Angular moderno

    Signal inputs, zoneless, renderizado en el servidor y un punto de entrada por componente, para que las aplicaciones solo incluyan lo que importan.

Dos imports y listo

Añade el paquete, importa la hoja de estilos una sola vez y usa los componentes en cualquier componente standalone.

install.sh
pnpm add @needless-ui/angular @angular/aria @angular/cdk
usage.ts
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() {}
}