| /*! |
| Copyright (c) 2016 Jed Watson. |
| Licensed under the MIT License (MIT), see |
| http://jedwatson.github.io/classnames |
| */ |
| /* global define */ |
| |
| (function () { |
| 'use strict'; |
| |
| var hasOwn = {}.hasOwnProperty; |
| |
| function classNames () { |
| var classes = []; |
| |
| for (var i = 0; i < arguments.length; i++) { |
| var arg = arguments[i]; |
| if (!arg) continue; |
| |
| var argType = typeof arg; |
| |
| if (argType === 'string' || argType === 'number') { |
| classes.push(this && this[arg] || arg); |
| } else if (Array.isArray(arg)) { |
| classes.push(classNames.apply(this, arg)); |
| } else if (argType === 'object') { |
| for (var key in arg) { |
| if (hasOwn.call(arg, key) && arg[key]) { |
| classes.push(this && this[key] || key); |
| } |
| } |
| } |
| } |
| |
| return classes.join(' '); |
| } |
| |
| if (typeof module !== 'undefined' && module.exports) { |
| module.exports = classNames; |
| } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) { |
| // register as 'classnames', consistent with npm package name |
| define('classnames', [], function () { |
| return classNames; |
| }); |
| } else { |
| window.classNames = classNames; |
| } |
| }()); |