UNPKG

element-plus

Version:

A Component Library for Vue 3

73 lines (68 loc) 2.42 kB
'use strict'; 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}` : ""; }; const cssVar = (object) => { const styles = {}; for (const key in object) { styles[`--${namespace.value}-${key}`] = object[key]; } return styles; }; const cssVarBlock = (object) => { const styles = {}; for (const key in object) { styles[`--${namespace.value}-${block}-${key}`] = object[key]; } return styles; }; const cssVarName = (name) => `--${namespace.value}-${name}`; const cssVarBlockName = (name) => `--${namespace.value}-${block}-${name}`; return { namespace, b, e, m, be, em, bm, bem, is, cssVar, cssVarName, cssVarBlock, cssVarBlockName }; }; exports.defaultNamespace = defaultNamespace; exports.useNamespace = useNamespace; //# sourceMappingURL=index.js.map