merge-class-names

v1.4.2
A function that merges given class names, no matter their format: string with single or multiple class names or an array of class names. Filters out invalid class names as well.
class class names class list merge

npm downloads CI tested with jest

Merge-Class-Names

Warning

This package is no longer maintained. Consider clsx, equally tiny and more powerful utility that does the same thing.

A function that merges given class names, no matter their format. Filters out invalid class names as well.

tl;dr

  • Install by executing npm install merge-class-names or yarn add merge-class-names.
  • Import by adding import mergeClassNames from 'merge-class-names'.
  • Use it in className like so: <div className={mergeClassNames('foo', condition && 'bar', arrayOfClasses)} />

Accepted formats

  • Strings with one or multiple class names: a, a b
  • Array of strings with one or multiple class names: ['a', 'b'], ['a b', 'c d'].

Examples

> mergeClassNames('a', 'b', 'c');
< 'a b c'

> mergeClassNames('a b', 'c d', 'e f');
< 'a b c d e f'

> mergeClassNames(['a', 'b'], ['c', 'd']);
< 'a b c d'

> mergeClassNames(['a b', 'c d'], ['e f', 'g h']);
< 'a b c d e f g h'

> mergeClassNames('a', 'b', falsyCondition && 'c');
< 'a b'

> mergeClassNames('a', 'b', 'c', null, ['d', null], () => {}, 'e', undefined);
< 'a b c d e'

License

The MIT License.

Author

Wojciech Maj
[email protected]
https://wojtekmaj.pl
npm i merge-class-names

Metadata

  • MIT
  • Whatever
  • Wojciech Maj
  • released 8/26/2021

Downloads

Maintainers