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