UNPKG

@amaui/style

Version:
34 lines (33 loc) 1.35 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.classNames = void 0; const unique_1 = __importDefault(require("@amaui/utils/unique")); const utils_1 = require("./utils"); function classNames(value, prefix = '', array = false) { let classNameValues = []; const method = (item, prop) => { if ((0, utils_1.is)('string', item) && item.length) classNameValues.push(item); else if ((0, utils_1.is)('object', item)) Object.keys(item).forEach(prop_ => method(item[prop_], prop_)); else if ((0, utils_1.is)('array', item)) item.forEach(item_ => method(item_)); else if (prop && !!item) classNameValues.push(prop); }; // Move through the value method(value); classNameValues = classNameValues.filter(Boolean).map(item_ => { let item = item_.trim(); if (['.', '#'].indexOf(item[0]) > -1) item = item.slice(1); return `${prefix || ''}${item}`; }); classNameValues = (0, unique_1.default)(classNameValues); return array ? classNameValues : classNameValues.join(' '); } exports.classNames = classNames; exports.default = classNames;