UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

47 lines (45 loc) 2.34 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof3 = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports._bem = _bem; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var array = _interopRequireWildcard(require("./array")); var object = _interopRequireWildcard(require("./object")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var PREFIX = 'van-'; function join(name, mods) { name = PREFIX + name; mods = mods.map(function (mod) { return name + '--' + mod; }); mods.unshift(name); return mods.join(' '); } function traversing(mods, conf) { if (!conf) { return; } // 加前缀 if (typeof conf === 'string' || typeof conf === 'number') { mods.push(conf); } else if (array.isArray(conf)) { // 加前缀 conf.forEach(function (item) { traversing(mods, item); }); } else if ((0, _typeof2.default)(conf) === 'object') { // 加属性 object.keys(conf).forEach(function (key) { conf[key] && mods.push(key); }); } } function _bem(name, conf) { var mods = []; traversing(mods, conf); return join(name, mods); }