You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					61 lines
				
				1.4 KiB
			
		
		
			
		
	
	
					61 lines
				
				1.4 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								/*!
							 | 
						||
| 
								 | 
							
									Copyright (c) 2018 Jed Watson.
							 | 
						||
| 
								 | 
							
									Licensed under the MIT License (MIT), see
							 | 
						||
| 
								 | 
							
									http://jedwatson.github.io/classnames
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								/* global define */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(function () {
							 | 
						||
| 
								 | 
							
									'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									var hasOwn = {}.hasOwnProperty;
							 | 
						||
| 
								 | 
							
									var nativeCodeString = '[native code]';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									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(arg);
							 | 
						||
| 
								 | 
							
											} else if (Array.isArray(arg)) {
							 | 
						||
| 
								 | 
							
												if (arg.length) {
							 | 
						||
| 
								 | 
							
													var inner = classNames.apply(null, arg);
							 | 
						||
| 
								 | 
							
													if (inner) {
							 | 
						||
| 
								 | 
							
														classes.push(inner);
							 | 
						||
| 
								 | 
							
													}
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
											} else if (argType === 'object') {
							 | 
						||
| 
								 | 
							
												if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
							 | 
						||
| 
								 | 
							
													classes.push(arg.toString());
							 | 
						||
| 
								 | 
							
													continue;
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
												for (var key in arg) {
							 | 
						||
| 
								 | 
							
													if (hasOwn.call(arg, key) && arg[key]) {
							 | 
						||
| 
								 | 
							
														classes.push(key);
							 | 
						||
| 
								 | 
							
													}
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										return classes.join(' ');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (typeof module !== 'undefined' && module.exports) {
							 | 
						||
| 
								 | 
							
										classNames.default = classNames;
							 | 
						||
| 
								 | 
							
										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;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}());
							 |