Package detail

merge-class-names

wojtekmaj1.9mMIT1.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

readme

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
kontakt@wojtekmaj.pl
https://wojtekmaj.pl