UNPKG

@ly-js/ui

Version:

`@ly-js/ui` 是基于`vue3`常用库,会在`@ly-js/element`、`@ly-js/vant`中引入

32 lines (30 loc) 724 B
function genBem(name, mods) { if (!mods) { return ""; } if (typeof mods === "string") { return ` ${name}--${mods}`; } if (Array.isArray(mods)) { return mods.reduce((ret, item) => ret + genBem(name, item), ""); } return Object.keys(mods).reduce((ret, key) => ret + (mods[key] ? genBem(name, key) : ""), ""); } function createBEM(name) { return (el, mods) => { if (el && typeof el !== "string") { mods = el; el = ""; } el = el ? `${name}__${el}` : name; return `${el}${genBem(el, mods)}`; }; } function createNamespace(name) { const prefixedName = `ly-${name}`; return [ prefixedName, createBEM(prefixedName) ]; } export { createBEM, createNamespace };