retro-react
Version:
A React component library for building retro-style websites
2 lines (1 loc) • 1.04 kB
JavaScript
import{__rest as e}from"../../_virtual/_tslib.js";import{forwardRef as s,Children as o,isValidElement as i,cloneElement as r}from"react";import{jsxs as t,jsx as a}from"../../node_modules/@theme-ui/core/jsx-runtime/dist/theme-ui-core-jsx-runtime.esm.js";import{classNames as m}from"../../utils/classNames.js";import n from"../../constants/commonClassNames.js";import{Badge as l}from"./Badge.styled.js";const d=s(((s,d)=>{var{id:c,className:p,color:u="primary",size:j="medium",badgeContent:g,pulse:b=!1,showZero:f=!1,children:h,sx:x}=s,v=e(s,["id","className","color","size","badgeContent","pulse","showZero","children","sx"]);const y="number"==typeof g?f||g>0:Boolean(g);return h&&(h=o.map(h,(e=>i(e)?r(e,{sx:Object.assign(Object.assign({},e.props.sx),{margin:1})}):e))),t("div",Object.assign({style:{position:"relative",display:"inline-flex"}},{children:[h,y?a(l,Object.assign({id:c,sx:x,ref:d,$color:u,$pulsate:b,$size:j,className:m("badge-root",p,n),"aria-hidden":"true"},v,{children:g}),void 0):null]}),void 0)}));export{d as Badge};