"use strict"; const common_vendor = require("../common/vendor.js"); const lightConfig = { "dark-2": "shade(20%)", "light-3": "tint(30%)", "light-5": "tint(50%)", "light-7": "tint(70%)", "light-9": "tint(90%)" }; const darkConfig = { "light-3": "shade(20%)", "light-5": "shade(30%)", "light-7": "shade(50%)", "light-9": "shade(70%)", "dark-2": "tint(20%)" }; const generateVarsMap = (color, type = "primary", isDark = false) => { const colors2 = { [`--color-${type}`]: color }; const config = isDark ? darkConfig : lightConfig; for (const key in config) { colors2[`--color-${type}-${key}`] = `color(${color} ${config[key]})`; } return colors2; }; const generateVars = (options, extra = {}, isDark = false) => { const varsMap = Object.keys(options).reduce( (prev, key) => { return Object.assign( prev, generateVarsMap(options[key], key, isDark) ); }, extra ); const vars = Object.keys(varsMap).reduce((prev, key) => { const color = common_vendor.lib.convert(varsMap[key]); return `${prev}${key}:${color};`; }, ""); return vars; }; exports.generateVars = generateVars;