UNPKG

@vectara/vectara-ui

Version:

Vectara's design system, codified as a React and Sass component library

25 lines (24 loc) 660 B
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; };