UNPKG

@cimpress/react-components

Version:
79 lines (76 loc) 2.59 kB
var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; import React from 'react'; import { css, cx } from '@emotion/css'; import cvar from './theme/cvar'; const cardBase = css ` position: relative; display: flex; flex-direction: column; background-color: ${cvar('color-background')}; border: 1px solid ${cvar('color-border-default')}; border-radius: ${cvar('spacing-4')}; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); `; const cardHeader = css ` padding: ${cvar('spacing-16')} ${cvar('spacing-16')}; margin-bottom: 0; background-color: ${cvar('color-background-light')}; border-bottom: none; background-image: none; color: ${cvar('color-text-default')}; &:first-child { border-radius: 3px 3px 0 0; } > h5 { font-size: 15px; font-weight: 500; } `; const cardMinimal = css ` .crc-card-header { background-color: ${cvar('color-background')}; border-bottom: 1px solid ${cvar('color-border-light')}; } `; const cardLayout = css ` background-color: ${cvar('color-background')}; border: none; border-radius: 2px; box-shadow: none; .crc-card-header { background-color: ${cvar('color-background')}; } `; const cardBlock = css ` flex: 1 1 auto; padding: ${cvar('spacing-16')}; p { margin-bottom: 20px; } `; const cardTitle = css ` margin: 0; `; export const Card = (_a) => { // isMinimal should take priority here for backwards compatibility var { children, header = undefined, isMinimal = false, className = '', variant } = _a, rest = __rest(_a, ["children", "header", "isMinimal", "className", "variant"]); const cardClassName = cx('crc-card', cardBase, className, { [cardMinimal]: isMinimal || variant === 'minimal', [cardLayout]: !isMinimal && variant === 'layout', }); return (React.createElement("div", Object.assign({ className: cardClassName }, rest), header && (React.createElement("div", { className: cx(cardHeader, 'crc-card-header') }, React.createElement("h5", { className: cardTitle }, header))), React.createElement("div", { className: cardBlock }, children))); }; //# sourceMappingURL=Card.js.map