mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-08-20 12:00:53 +08:00
Accept arrays and nested arrays as classNames does
This commit is contained in:
@@ -8,9 +8,16 @@ classNames('foo', 'bar'); // => 'foo bar'
|
||||
classNames('foo', { bar: true }); // => 'foo bar'
|
||||
classNames({ foo: true }, { bar: true }); // => 'foo bar'
|
||||
classNames({ foo: true, bar: true }); // => 'foo bar'
|
||||
classNames(10, 11); // => '10 11';
|
||||
|
||||
// lots of arguments of various types
|
||||
classNames('foo', { bar: true, duck: false }, 'baz', { quux: true }) // => 'foo bar baz quux'
|
||||
classNames('foo', { bar: true, duck: false }, 'baz', { quux: true }); // => 'foo bar baz quux'
|
||||
|
||||
classNames(['foo', 'bar', 'baz']); // => 'foo bar baz'
|
||||
classNames([1, 2, 3]); // => '1 2 3'
|
||||
classNames([{ foo: true, bar: false }, { baz: true }]); // => 'foo baz'
|
||||
|
||||
classNames(["foo", ["bar", {baz: true}]]); // => 'foo bar baz'
|
||||
|
||||
// other falsy values are just ignored
|
||||
// NOTE: We don't really want to allow this kind of thing with Typescript (otherwise what's the point!)
|
||||
|
||||
Vendored
+6
-2
@@ -1,14 +1,18 @@
|
||||
// Type definitions for classnames
|
||||
// Project: https://github.com/JedWatson/classnames
|
||||
// Definitions by: Dave Keen <http://www.keendevelopment.ch>, Adi Dahiya <https://github.com/adidahiya>
|
||||
// Definitions by: Dave Keen <http://www.keendevelopment.ch>, Adi Dahiya <https://github.com/adidahiya>, Jason Killian <https://github.com/JKillian>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare type ClassValue = string | number | ClassDictionary | ClassArray;
|
||||
|
||||
interface ClassDictionary {
|
||||
[id: string]: boolean;
|
||||
}
|
||||
|
||||
interface ClassArray extends Array<ClassValue> { }
|
||||
|
||||
interface ClassNamesFn {
|
||||
(...classes: (string | ClassDictionary)[]): string;
|
||||
(...classes: ClassValue[]): string;
|
||||
}
|
||||
|
||||
declare var classNames: ClassNamesFn;
|
||||
|
||||
Reference in New Issue
Block a user