@drivy/cobalt
Version:
Opinionated design system for Drivy's projects.
31 lines (28 loc) • 1.41 kB
JavaScript
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