retro-react
Version:
A React component library for building retro-style websites
2 lines (1 loc) • 1.2 kB
JavaScript
;var e=require("../../_virtual/_tslib.js"),a=require("react"),r=require("../../node_modules/@theme-ui/core/jsx-runtime/dist/theme-ui-core-jsx-runtime.esm.js"),s=require("../../utils/classNames.js"),i=require("../../constants/commonClassNames.js"),d=require("./Card.styled.js");const t=a.forwardRef(((a,t)=>{var{id:c,sx:o,className:l,children:n,header:m,image:j,footer:u,alt:v=""}=a,g=e.__rest(a,["id","sx","className","children","header","image","footer","alt"]);return r.jsxs(d.Card,Object.assign({ref:t,id:c,role:"group","aria-labelledby":c?`${c}-title`:void 0,"aria-describedby":c?`${c}-content`:void 0,className:s.classNames("card-root",l,i.default),sx:o},g,{children:[m&&r.jsx(d.CardTitle,Object.assign({id:c?`${c}-title`:void 0,className:"card-header"},{children:m}),void 0),j&&r.jsx(d.CardImageWrapper,Object.assign({className:"card-image-wrapper"},{children:r.jsx(d.CardImage,{className:"card-image",src:j,alt:v},void 0)}),void 0),r.jsx(d.CardContent,Object.assign({id:c?`${c}-content`:void 0,className:"card-content"},{children:n}),void 0),u&&r.jsx(d.CardFooter,Object.assign({className:"card-footer"},{children:u}),void 0)]}),void 0)}));t.displayName="Card",exports.Card=t;