UNPKG

@drivy/cobalt

Version:

Opinionated design system for Drivy's projects.

31 lines (28 loc) 1.41 kB
import React from 'react'; import cx from 'classnames'; import { Icon } from '../Icon/index.js'; const getButtonContent = ({ children, icon, iconPosition = icon ? "left" : undefined, }) => { if (!children && !icon) { throw new Error("Either an icon or children are required"); } const iconMarkup = icon ? (React.createElement("span", { key: iconPosition, className: cx("cob-Button__Icon", { "cob-Button__Icon--left": !!children && iconPosition === "left", "cob-Button__Icon--right": !!children && iconPosition === "right", }) }, React.createElement(Icon, { source: icon }))) : null; const leftIcon = iconPosition === "left" ? iconMarkup : null; const rightIcon = iconPosition === "right" ? iconMarkup : null; const childContent = children ? (React.createElement("span", { key: "children", className: "cob-Button__content" }, children)) : null; return (React.createElement(React.Fragment, null, leftIcon, childContent, rightIcon)); }; const getButtonCommonClassNames = ({ rounded, size, fullWidth, className, disabled, }) => cx(className, "cob-Button", { "cob-Button--rounded": rounded, "cob-Button--fullWidth": fullWidth, "cob-Button--large": size === "large", "cob-Button--disabled": disabled, }); export { getButtonCommonClassNames, getButtonContent }; //# sourceMappingURL=helpers.js.map