Sobre o projeto
Classnames é uma utilidade JavaScript que constrói uma string de nomes de classes CSS separados por espaço a partir de entradas condicionais. Pode ser instalada via npm como `classnames` e usada em Node.js, Browserify, webpack, RequireJS, ou diretamente em um navegador por meio de um script autônomo.
A função principal `classNames` aceita qualquer número de argumentos. Strings são incluídas diretamente, enquanto chaves de objetos são incluídas apenas quando seu valor associado é verdadeiro. Valores falsos como `false`, `null`, `undefined`, `0` e strings vazias são ignorados. Arrays são recursivamente achatados usando as mesmas regras. Chaves de objeto computadas do ES2015 podem ser usadas para gerar nomes de classe dinâmicos.
O pacote é comumente usado com React para simplificar props `className` condicionais, substituindo a concatenação manual de strings e o antigo add-on `classSet` do React. Ele pode combinar uma classe base, um nome de classe fornecido pelo componente e classes dependentes de estado em uma única chamada.
Duas variantes opcionais são fornecidas. `classnames/dedupe` remove classes duplicadas e permite que uma entrada de objeto falsa posterior exclua uma classe anterior; o README observa que esta variante é mais lenta. `classnames/bind` é destinado a CSS Modules ou configurações similares, mapeando nomes de classe lógicos para valores de um objeto de estilos importado.
Para navegadores mais antigos, como Internet Explorer 8 e anteriores, a versão 2.x requer um polyfill `Array.isArray`. O projeto segue o Versionamento Semântico, inclui um conjunto de testes e é lançado sob a Licença MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.