clsx

A tiny (228B) utility for constructing
classNamestrings conditionally.
Also serves as a faster & smaller drop-in replacement for theclassnamesmodule.
This module is available in three formats:
- ES Module:
dist/clsx.m.js - CommonJS:
dist/clsx.js - UMD:
dist/clsx.min.js
Install
$ npm install --save clsx
Usage
; // Strings (variadic);//=> 'foo bar baz' // Objects;//=> 'foo baz' // Objects (variadic);//=> 'foo --foobar' // Arrays;//=> 'foo bar' // Arrays (variadic);//=> 'foo bar baz hello there' // Kitchen sink (with nesting);//=> 'foo bar hello world cya'API
clsx(...input)
Returns: String
input
Type: Mixed
The clsx function can take any number of arguments, each of which can be an Object, Array, Boolean, or String.
Important: Any falsey values are discarded!
Standalone Boolean values are discarded as well.
;//=> ''Benchmarks
For snapshots of cross-browser results, check out the bench directory~!
Support
All versions of Node.js are supported.
All browsers that support Array.isArray are supported (IE9+).
Note: For IE8 support and older, please install
clsx@1.0.xand beware of #17.
Related
- obj-str - A smaller (96B) and similiar utility that only works with Objects.
License
MIT © Luke Edwards