Código aberto · Angular 22 · MIT
Componentes de UI, desnecessariamente bem feitos.
O Needless UI estiliza elementos nativos com uma única folha de estilo independente de framework e design tokens W3C. Suas diretivas Angular adicionam o comportamento do Angular Aria, então todo componente é acessível desde a primeira renderização.
Por que ele existe
Elementos nativos em primeiro lugar
<button nuiButton>é um botão de verdade. Formulários, teclado e leitores de tela funcionam porque nada o envolve.Uma folha de estilo, qualquer framework
Os componentes são CSS puro em camadas de cascata: Angular hoje, React em seguida, HTML simples sempre.
Seu CSS sempre vence
Tudo fica dentro de
@layer nui, então seus próprios estilos o sobrescrevem sem!importantnem brigas de especificidade.Acessível desde a base
Cada par de cores é verificado segundo as WCAG 2.2 AA quando a paleta é gerada. Foco, cores forçadas e movimento reduzido já vêm resolvidos.
Desnecessariamente personalizável
Molas, efeitos ao pressionar, animações de entrada, formatos de canto, raio e densidade: um atributo para a aplicação inteira ou um input por componente, sobre design tokens W3C padronizados.
Angular moderno
Signal inputs, zoneless, renderização no servidor e um ponto de entrada por componente, para que as aplicações incluam só o que importam.
Dois imports e pronto
Adicione o pacote, importe a folha de estilo uma vez e use os componentes em qualquer componente standalone.
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() {}
}