UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

57 lines (46 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerCssVars = exports.configCssVars = void 0; var _colorVarsMap = require("../style/color-vars-map"); var _util = require("./util"); var _dynamicCss = require("./dynamicCss"); /** * css 变量 注册到 style 标签中 * @param allCssVarsData css 变量对象(不加--前缀) * @param cssVarsPriority css 变量优先级 * @param styleFlagPrefix style 标签 标识前缀 */ var registerCssVars = function registerCssVars(allCssVarsData) { var cssVarsPriority = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; var styleFlagPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'c7n-ui'; // Convert to css variables var cssList = Object.keys(allCssVarsData).map(function (key) { return "--".concat(key, ": ").concat(allCssVarsData[key], ";"); }); cssVarsPriority = Math.floor(cssVarsPriority); var selector = ':root'.repeat(cssVarsPriority <= 1 || Number.isNaN(cssVarsPriority) ? 1 : cssVarsPriority); var cssStr = "\n ".concat(selector, " {\n ").concat(cssList.join('\n'), "\n }\n ").trim(); if ((0, _dynamicCss.canUseDom)()) { (0, _dynamicCss.updateCSS)(cssStr, "".concat(styleFlagPrefix, "-dynamic-theme")); } }; /** * 配置 css 变量 * @param varsData css 变量对象(不加--前缀) * @param cssVarsPriority css 变量优先级 * @param styleFlagPrefix style 标签 标识前缀 * @param colorVarsMap 颜色 css vars 级联关系, 默认值为组件库内部变量关系 */ exports.registerCssVars = registerCssVars; var configCssVars = function configCssVars(varsData) { var cssVarsPriority = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; var styleFlagPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'c7n-ui'; var colorVarsMap = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _colorVarsMap.defaultColorCssVarsMap; if (!varsData) return; var allCssVarsData = (0, _util.getAllCssVars)(varsData, colorVarsMap); registerCssVars(allCssVarsData, cssVarsPriority, styleFlagPrefix); }; exports.configCssVars = configCssVars; //# sourceMappingURL=configCssVars.js.map