Sobre el proyecto
Classnames es una utilidad de JavaScript que construye una cadena de nombres de clases CSS separados por espacios a partir de entradas condicionales. Se puede instalar desde npm como `classnames` y usar en Node.js, Browserify, webpack, RequireJS, o directamente en un navegador mediante un script independiente.
La función principal `classNames` acepta cualquier número de argumentos. Las cadenas se incluyen directamente, mientras que las claves de objetos solo se incluyen cuando su valor asociado es verdadero. Los valores falsos como `false`, `null`, `undefined`, `0` y cadenas vacías se ignoran. Las matrices se aplanan recursivamente usando las mismas reglas. Las claves de objetos computadas de ES2015 se pueden usar para generar nombres de clases dinámicos.
El paquete se usa comúnmente con React para simplificar las props condicionales de `className`, reemplazando la concatenación manual de cadenas y el antiguo complemento `classSet` de React. Puede combinar una clase base, un nombre de clase proporcionado por el componente y clases dependientes del estado en una sola llamada.
Se proporcionan dos variantes opcionales. `classnames/dedupe` elimina clases duplicadas y permite que una entrada de objeto falsa posterior excluya una clase anterior; el README señala que esta variante es más lenta. `classnames/bind` está destinado a CSS Modules o configuraciones similares, mapeando nombres de clases lógicos a valores de un objeto de estilos importado.
Para navegadores antiguos como Internet Explorer 8 y anteriores, la versión 2.x requiere un polyfill de `Array.isArray`. El proyecto sigue el Versionado Semántico, incluye un conjunto de pruebas y se publica bajo la Licencia MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.