UNPKG

958 BTypeScriptView Raw
1// LICENSE is MIT
2//
3// Copyright (c) 2018
4// Dave Keen <http://www.keendevelopment.ch>
5// Adi Dahiya <https://github.com/adidahiya>
6// Jason Killian <https://github.com/JKillian>
7// Sean Kelley <https://github.com/seansfkelley>
8// Michal Adamczyk <https://github.com/mradamczyk>
9// Marvin Hagemeister <https://github.com/marvinhagemeister>
10
11declare namespace classNames {
12 type Value = string | number | boolean | undefined | null;
13 type Mapping = Record<string, any>;
14 interface ArgumentArray extends Array<Argument> {}
15 interface ReadonlyArgumentArray extends ReadonlyArray<Argument> {}
16 type Argument = Value | Mapping | ArgumentArray | ReadonlyArgumentArray;
17}
18
19interface ClassNames {
20 (...args: classNames.ArgumentArray): string;
21
22 default: ClassNames;
23}
24
25/**
26 * A simple JavaScript utility for conditionally joining classNames together.
27 */
28declare const classNames: ClassNames;
29
30export as namespace classNames;
31
32export = classNames;