UNPKG

@drivy/cobalt

Version:

Opinionated design system for Drivy's projects.

37 lines (36 loc) 1.54 kB
import { Fragment, jsx, jsxs } from "react/jsx-runtime"; import classnames from "classnames"; import { Icon } from "../Icon/index.js"; const getButtonContent = ({ children, icon, iconPosition = icon ? "left" : void 0 })=>{ if (!children && !icon) throw new Error("Either an icon or children are required"); const iconMarkup = icon ? /*#__PURE__*/ jsx("span", { className: classnames("cob-Button__Icon", { "cob-Button__Icon--left": !!children && "left" === iconPosition, "cob-Button__Icon--right": !!children && "right" === iconPosition }), children: /*#__PURE__*/ jsx(Icon, { source: icon }) }, iconPosition) : null; const leftIcon = "left" === iconPosition ? iconMarkup : null; const rightIcon = "right" === iconPosition ? iconMarkup : null; const childContent = children ? /*#__PURE__*/ jsx("span", { className: "cob-Button__content", children: children }, "children") : null; return /*#__PURE__*/ jsxs(Fragment, { children: [ leftIcon, childContent, rightIcon ] }); }; const getButtonCommonClassNames = ({ rounded, size, fullWidth, className, disabled })=>classnames(className, "cob-Button", { "cob-Button--rounded": rounded, "cob-Button--fullWidth": fullWidth, "cob-Button--large": "large" === size, "cob-Button--disabled": disabled }); export { getButtonCommonClassNames, getButtonContent }; //# sourceMappingURL=helpers.js.map