UNPKG

@drivy/cobalt

Version:

Opinionated design system for Drivy's projects.

27 lines (24 loc) 1.36 kB
import { jsx, jsxs, Fragment } from 'react/jsx-runtime'; 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 ? (jsx("span", { className: cx("cob-Button__Icon", { "cob-Button__Icon--left": !!children && iconPosition === "left", "cob-Button__Icon--right": !!children && iconPosition === "right", }), children: jsx(Icon, { source: icon }) }, iconPosition)) : null; const leftIcon = iconPosition === "left" ? iconMarkup : null; const rightIcon = iconPosition === "right" ? iconMarkup : null; const childContent = children ? (jsx("span", { className: "cob-Button__content", children: children }, "children")) : null; return (jsxs(Fragment, { children: [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