@gf-ui/components
Version:
27 lines (26 loc) • 955 B
JavaScript
import { setStyleSheet, color16ToRgb } from "../../utils/index";
let tepId = 0;
function checkInternalColor(color) {
const defaultColor = ["default", "primary", "success", "info", "warning", "danger"];
return defaultColor.includes(color);
}
export function getButtonColor(color) {
if (checkInternalColor(color)) {
return `gf-button--${color}`;
}
return `gf-button-${++tepId}`;
}
export function getButtonStyle(color, textColor) {
if (checkInternalColor(color))
return {};
let rgb = color16ToRgb(color, 0.8);
const tempClass = `gf-button-${tepId}`;
const colorTemplate = (colors) => ` border-color:${colors} !important; background-color:${colors} !important;`;
const classHover = `.${tempClass}:hover{ ${colorTemplate(rgb)} }`;
const classActive = `.${tempClass}:active{ ${colorTemplate(color)} }`;
[classActive, classHover].forEach(css => setStyleSheet(css));
return {
background: color,
color: textColor
};
}