@tolokoban/ui
Version:
React components with theme
35 lines • 2.92 kB
JavaScript
export function styleColor({ color, textColor, backColor, shadow }, defaults = {}) {
const style = {};
if (!color && !textColor && !backColor) {
color = defaults.color;
textColor = defaults.textColor;
backColor = defaults.backColor;
}
if (color) {
style.color = `var(--theme-color-on-${color})`;
style.backgroundColor = `var(--theme-color-${color})`;
}
if (textColor)
style.color = `var(--theme-color-${textColor})`;
if (backColor)
style.backgroundColor = `var(--theme-color-${backColor})`;
if (shadow)
style.boxShadow = `var(--theme-shadow-${shadow}, none)`;
return style;
}
export function styleColorVars({ color, textColor, backColor, }) {
const style = {
"--custom-color-text": "inherit",
"--custom-color-back": "inherit",
};
if (color) {
style["--custom-color-text"] = `var(--theme-color-on-${color})`;
style["--custom-color-back"] = `var(--theme-color-${color})`;
}
if (textColor)
style["--custom-color-text"] = `var(--theme-color-${textColor})`;
if (backColor)
style["--custom-color-back"] = `var(--theme-color-${backColor})`;
return style;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGhlbWUvc3R5bGVzL2NvbG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCQSxNQUFNLFVBQVUsVUFBVSxDQUN0QixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBbUIsRUFDeEQsV0FBcUMsRUFBRTtJQUV2QyxNQUFNLEtBQUssR0FBd0IsRUFBRSxDQUFBO0lBQ3JDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQTtRQUN0QixTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQTtRQUM5QixTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQTtJQUNsQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNSLEtBQUssQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLEtBQUssR0FBRyxDQUFBO1FBQzlDLEtBQUssQ0FBQyxlQUFlLEdBQUcscUJBQXFCLEtBQUssR0FBRyxDQUFBO0lBQ3pELENBQUM7SUFDRCxJQUFJLFNBQVM7UUFBRSxLQUFLLENBQUMsS0FBSyxHQUFHLHFCQUFxQixTQUFTLEdBQUcsQ0FBQTtJQUM5RCxJQUFJLFNBQVM7UUFBRSxLQUFLLENBQUMsZUFBZSxHQUFHLHFCQUFxQixTQUFTLEdBQUcsQ0FBQTtJQUN4RSxJQUFJLE1BQU07UUFBRSxLQUFLLENBQUMsU0FBUyxHQUFHLHNCQUFzQixNQUFNLFNBQVMsQ0FBQTtJQUNuRSxPQUFPLEtBQUssQ0FBQTtBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUMzQixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsR0FDSztJQUNkLE1BQU0sS0FBSyxHQUF3QjtRQUMvQixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLHFCQUFxQixFQUFFLFNBQVM7S0FDbkMsQ0FBQTtJQUNELElBQUksS0FBSyxFQUFFLENBQUM7UUFDUixLQUFLLENBQUMscUJBQXFCLENBQUMsR0FBRyx3QkFBd0IsS0FBSyxHQUFHLENBQUE7UUFDL0QsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEdBQUcscUJBQXFCLEtBQUssR0FBRyxDQUFBO0lBQ2hFLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDVCxLQUFLLENBQUMscUJBQXFCLENBQUMsR0FBRyxxQkFBcUIsU0FBUyxHQUFHLENBQUE7SUFDcEUsSUFBSSxTQUFTO1FBQ1QsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEdBQUcscUJBQXFCLFNBQVMsR0FBRyxDQUFBO0lBQ3BFLE9BQU8sS0FBSyxDQUFBO0FBQ2hCLENBQUMifQ==