element-plus
Version:
A Component Library for Vue 3
52 lines (47 loc) • 1.8 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var index = require('../use-global-config/index.js');
const defaultNamespace = "el";
const statePrefix = "is-";
const _bem = (namespace, block, blockSuffix, element, modifier) => {
let cls = `${namespace}-${block}`;
if (blockSuffix) {
cls += `-${blockSuffix}`;
}
if (element) {
cls += `__${element}`;
}
if (modifier) {
cls += `--${modifier}`;
}
return cls;
};
const useNamespace = (block) => {
const globalConfig = index.useGlobalConfig("namespace");
const namespace = vue.computed(() => globalConfig.value || defaultNamespace);
const b = (blockSuffix = "") => _bem(vue.unref(namespace), block, blockSuffix, "", "");
const e = (element) => element ? _bem(vue.unref(namespace), block, "", element, "") : "";
const m = (modifier) => modifier ? _bem(vue.unref(namespace), block, "", "", modifier) : "";
const be = (blockSuffix, element) => blockSuffix && element ? _bem(vue.unref(namespace), block, blockSuffix, element, "") : "";
const em = (element, modifier) => element && modifier ? _bem(vue.unref(namespace), block, "", element, modifier) : "";
const bm = (blockSuffix, modifier) => blockSuffix && modifier ? _bem(vue.unref(namespace), block, blockSuffix, "", modifier) : "";
const bem = (blockSuffix, element, modifier) => blockSuffix && element && modifier ? _bem(vue.unref(namespace), block, blockSuffix, element, modifier) : "";
const is = (name, ...args) => {
const state = args.length >= 1 ? args[0] : true;
return name && state ? `${statePrefix}${name}` : "";
};
return {
namespace,
b,
e,
m,
be,
em,
bm,
bem,
is
};
};
exports.useNamespace = useNamespace;
//# sourceMappingURL=index.js.map