UNPKG

@drivy/cobalt

Version:

Opinionated design system for Drivy's projects.

36 lines (33 loc) 1.39 kB
import React from 'react'; import cx from 'classnames'; function enforceCTA(cta, variant) { if (!cta || !React.isValidElement(cta)) { return cta; } return variant === "error" ? React.cloneElement(cta, { size: "small", primary: true, destructive: true, }) : React.cloneElement(cta, { size: "small", variant, }); } const Callout = ({ title, children, cta, variant = "neutral", illustrationUrl, className, }) => { // force CTA to match Callout variant const enforcedCTA = enforceCTA(cta, variant); return (React.createElement("div", { className: cx("cobalt-callout", { "cobalt-callout--warning": variant === "warning", "cobalt-callout--neutral": variant === "neutral", "cobalt-callout--error": variant === "error", }, className) }, React.createElement("div", { className: "cobalt-callout__content" }, title && React.createElement("div", { className: "cobalt-callout__title" }, title), React.createElement("div", { className: "cobalt-callout__body" }, children), enforcedCTA), illustrationUrl && (React.createElement("img", { className: "cobalt-callout__illustration", src: illustrationUrl })))); }; export { Callout, Callout as default }; //# sourceMappingURL=index.js.map