UNPKG

@bem-react/classnames

Version:
36 lines (32 loc) 964 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); /** * Generate className string with unique tokens. * * @example * classnames('Button', 'Header-Button', undefined) // -> Button Header-Button * * @param tokens ClassNames tokens. */ function classnames() { var tokens = []; for (var _i = 0; _i < arguments.length; _i++) { tokens[_i] = arguments[_i]; } var className = ''; var uniqueCache = new Set(); var classNameList = tokens.join(' ').split(' '); for (var _a = 0, classNameList_1 = classNameList; _a < classNameList_1.length; _a++) { var value = classNameList_1[_a]; if (value === '' || uniqueCache.has(value)) { continue; } uniqueCache.add(value); if (className.length > 0) { className += ' '; } className += value; } return className; } exports.classnames = classnames;