@cdd-team/clsx
v0.1.1
Published
Сборка строки CSS-классов из строк, массивов и объектов-условий
Downloads
567
Readme
@cdd-team/clsx
Собирает строку CSS-классов из строк, чисел, массивов и объектов-условий. Ведёт себя как функция
clsx, без зависимостей. Отличия от clsx:
- экспорт только именованный:
import { clsx } from "@cdd-team/clsx", экспорта по умолчанию иclsx/liteнет; - из объекта берутся только собственные ключи, унаследованные через прототип не попадают в строку;
- ненулевой
bigintпопадает в строку как число (clsx(2n)→"2"),clsxего пропускает.
bun add @cdd-team/clsximport { clsx } from "@cdd-team/clsx";
clsx("button", { "button--active": isActive, "button--disabled": false }); // "button button--active"
clsx(["card", ["card--wide", null]], size === "lg" && "card--lg"); // "card card--wide card--lg"| Значение | Что попадает в строку |
| --- | --- |
| строка, число, bigint | само значение |
| массив | его элементы по тем же правилам, вложенность любая |
| объект | ключи с истинными значениями |
| false, true, null, undefined, 0, "" | ничего |
Типы значений экспортируются: ClassValue, ClassArray, ClassDictionary.
Пакет живёт в монорепозитории
frontend-packages; команды
разработки — в его README.
