clsx

WebJar for clsx

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

clsx
Last Version

Last Version

1.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

clsx
WebJar for clsx
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/lukeed/clsx

Download clsx

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/clsx/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>clsx</artifactId>
    <version>1.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/clsx/
implementation 'org.webjars.npm:clsx:1.1.1'
// https://jarcasting.com/artifacts/org.webjars.npm/clsx/
implementation ("org.webjars.npm:clsx:1.1.1")
'org.webjars.npm:clsx:jar:1.1.1'
<dependency org="org.webjars.npm" name="clsx" rev="1.1.1">
  <artifact name="clsx" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='clsx', version='1.1.1')
)
libraryDependencies += "org.webjars.npm" % "clsx" % "1.1.1"
[org.webjars.npm/clsx "1.1.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

clsx CI codecov

A tiny (228B) utility for constructing className strings conditionally.
Also serves as a faster & smaller drop-in replacement for the classnames module.

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

import clsx from 'clsx';

// Strings (variadic)
clsx('foo', true && 'bar', 'baz');
//=> 'foo bar baz'

// Objects
clsx({ foo:true, bar:false, baz:isTrue() });
//=> 'foo baz'

// Objects (variadic)
clsx({ foo:true }, { bar:false }, null, { '--foobar':'hello' });
//=> 'foo --foobar'

// Arrays
clsx(['foo', 0, false, 'bar']);
//=> 'foo bar'

// Arrays (variadic)
clsx(['foo'], ['', 0, false, 'bar'], [['baz', [['hello'], 'there']]]);
//=> 'foo bar baz hello there'

// Kitchen sink (with nesting)
clsx('foo', [1 && 'bar', { baz:false, bat:null }, ['hello', ['world']]], 'cya');
//=> '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.

clsx(true, false, '', null, undefined, 0, NaN);
//=> ''

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 [email protected] and beware of #17.

Related

  • obj-str - A smaller (96B) and similiar utility that only works with Objects.

License

MIT © Luke Edwards

Versions

Version
1.1.1
1.1.0
1.0.4
1.0.3