Об этом проекте

Classnames — это JavaScript-утилита, которая формирует строку CSS-классов, разделённых пробелами, из условных входных данных. Её можно установить из npm как `classnames` и использовать в Node.js, Browserify, webpack, RequireJS или напрямую в браузере через отдельный скрипт. Основная функция `classNames` принимает любое количество аргументов. Строки включаются напрямую, а ключи объекта включаются только тогда, когда связанное с ними значение истинно. Ложные значения, такие как `false`, `null`, `undefined`, `0` и пустые строки, игнорируются. Массивы рекурсивно разворачиваются по тем же правилам. Вычисляемые ключи объектов из ES2015 можно использовать для создания динамических имён классов. Пакет часто применяется с React для упрощения условного свойства `className`, заменяя ручную конкатенацию строк и устаревшее дополнение React `classSet`. Он позволяет объединить базовый класс, класс, переданный компонентом, и классы, зависящие от состояния, в одном вызове. Предоставляются два дополнительных варианта. `classnames/dedupe` удаляет повторяющиеся классы и позволяет более поздней ложной записи объекта исключить более ранний класс; в README отмечается, что этот вариант работает медленнее. `classnames/bind` предназначен для CSS Modules или похожих схем и сопоставляет логические имена классов со значениями из импортированного объекта стилей. Для старых браузеров, таких как Internet Explorer 8 и более ранних, версия 2.x требует полифилл `Array.isArray`. Проект следует принципам семантического версионирования, включает набор тестов и распространяется под лицензией MIT.