@vectara/vectara-ui
Version:
Vectara's design system, codified as a React and Sass component library
25 lines (24 loc) • 660 B
JavaScript
import { cloneElement } from "react";
const sizeToIconSizeMap = {
xs: "xs",
s: "xs",
m: "s",
l: "m"
};
const defaultColorToIconColorMap = {
accent: "accent",
primary: "primary",
success: "success",
danger: "danger",
warning: "warning",
neutral: "neutral",
subdued: "subdued"
};
export const createButtonIcon = (icon, size, color, colorToIconColorMap = defaultColorToIconColorMap) => {
return icon
? cloneElement(icon, {
size: size ? sizeToIconSizeMap[size] : "s",
color: icon.props.color === "inherit" ? colorToIconColorMap[color] : icon.props.color
})
: null;
};