components/elements/Badge/Badge.jsxjavascript
import "./Badge.scss";
import "@ui-marcom/icon";
/**
* Single icon-plus-label pill ("badge" element type), also used standalone
* inside {@link BadgeList}. `icon` (a `ui-marcom-icon` name) takes precedence
* over `iconLink` (an arbitrary image URL) when both are given.
*
* @param {Object} props
* @param {string} [props.iconLink] - Fallback icon image URL, used when `icon` is not set.
* @param {string} [props.icon] - `ui-marcom-icon` name; takes precedence over `iconLink`.
* @param {string} [props.text] - Label text.
*/
export const Badge = ({ iconLink, icon, text }) => {
return (
<div className="badge-frame">
<div className="badge">
{icon ? (
<div className="badge__icon">
<ui-marcom-icon className="icon" icon={icon}></ui-marcom-icon>
</div>
) : iconLink ? (
<div className="badge__icon">
<img src={iconLink} alt="" />
</div>
) : null}
<div className="badge__text">
<div className="badge__text--text">{text}</div>
</div>
</div>
</div>
);
};