@octopusdeploy/design-system-components
Version:
The design systems component library.
32 lines (31 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Adornment = Adornment;
const jsx_runtime_1 = require("react/jsx-runtime");
const css_1 = require("@emotion/css");
const design_system_tokens_1 = require("@octopusdeploy/design-system-tokens");
const react_1 = require("react");
const Badge_1 = require("../Badge");
const Tag_1 = require("../Tag");
function Adornment({ adornment }) {
if (isBadgeProps(adornment))
return (0, jsx_runtime_1.jsx)(Badge_1.Badge, { size: "medium", ...adornment });
if (isTagProps(adornment))
return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(Tag_1.Tag, { ...adornment }) }));
return (0, jsx_runtime_1.jsx)("div", { className: styles.iconWrapper, children: adornment });
}
function isPropsObject(adornment) {
return typeof adornment === "object" && !(0, react_1.isValidElement)(adornment);
}
function isBadgeProps(adornment) {
return isPropsObject(adornment) && "variant" in adornment;
}
function isTagProps(adornment) {
return isPropsObject(adornment) && "label" in adornment;
}
const styles = {
iconWrapper: (0, css_1.css)({
font: design_system_tokens_1.text.heading.small,
fontSize: design_system_tokens_1.fontSize["2xLarge"],
}),
};