ivue-material-plus
Version:
A high quality UI components Library with Vue.js
54 lines (51 loc) • 1.32 kB
JavaScript
import { isCssColor } from '../helpers.mjs';
const colorable = ({ textColor = "#ffffff" }) => {
const setBackgroundColor = (color, data = {}) => {
if (Array.isArray(color)) {
data.style = {
background: `linear-gradient(135deg,${color[0]} 0%, ${color[1]} 100%)`,
color: textColor
};
} else if (isCssColor(color)) {
data.style = {
...data.style,
"background-color": `${color}`,
"border-color": `${color}`,
color: textColor
};
} else if (color) {
data.class = {
...data.class,
[color]: true
};
}
return data;
};
const setTextColor = (color, data = {}) => {
if (Array.isArray(color)) {
data.style = {
...data.style,
background: `linear-gradient(135deg,${color[0]} 0%, ${color[1]} 100%)`,
color: `${color[0]}`
};
} else if (isCssColor(color)) {
data.style = {
...data.style,
color: `${color}`
};
} else if (color) {
const [colorName] = color.toString().trim().split(" ", 2);
data.class = {
...data.class,
[colorName + "--text"]: true
};
}
return data;
};
return {
setBackgroundColor,
setTextColor
};
};
export { colorable };
//# sourceMappingURL=colorable.mjs.map