Material Plus
Uma biblioteca React que segue diretamente a especificação do Material Design 3 e acrescenta os componentes que outras bibliotecas Material deixam de fora. Lê os tokens que a página já tem, pelo que convive com uma configuração Material existente.
Sobre este projeto
O Material Plus é uma biblioteca de componentes React que implementa o Material Design 3 diretamente em vez de envolver uma implementação já existente, pelo que os seus papéis de cor, a sua escala tipográfica e as suas formas são os que a especificação nomeia. O que acrescenta é a pilha de componentes que um projeto Material acaba por escrever de qualquer maneira: o campo que trata corretamente a composição dos métodos de entrada asiáticos, o invólucro de ícones que combina com o seu próprio conjunto — extraídos, documentados e testados. Vai também além da especificação onde as aplicações o pedem: versões alargadas dos componentes que o Material nomeia, e os gráficos, a tabela de dados e a paleta de comandos, que não nomeia de todo.
O tema define-se numa linha: fixa-se uma cor de origem e todos os papéis de cor seguem atrás, tal como o Material gera um esquema a partir de uma cor. Nada na biblioteca atua ao nível da página — sem reposição de estilos, sem provider, sem estilos globais — e lê os tokens do sistema Material que a página já traz. Um projeto que já usa Material mantém a sua configuração e ganha os componentes que lhe faltavam. A composição em coreano, japonês e chinês sobrevive ao que quer que o manipulador de alterações faça com o valor, que é a falha que a maioria dos campos Material carrega em silêncio.
O pacote é apenas ESM, com declarações de TypeScript, e permite tree shaking a sério: um componente são 3,8 kB comprimidos com gzip contra 130,6 kB para os mais de cento e vinte, e a folha de estilos divide-se do mesmo modo. Funciona dentro de um componente de servidor do Next.js sem nada configurado, resolve-se em todos os empacotadores principais e recebe as traduções como um módulo entregue uma só vez no arranque.
Funcionalidades
Site de documentação
Tipos de TypeScript
Vários idiomas
Verificado por testes
Acessível de origem
Modo escuro
Permite tree shaking
