UNPKG

@octopusdeploy/design-system-components

Version:
32 lines (31 loc) 1.28 kB
"use strict"; 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"], }), };