UNPKG

@penaprieto/design-system

Version:

Multi-brand React design system with design tokens from Figma

95 lines (81 loc) 2.17 kB
/* Base Card */ .ds-card { display: flex; flex-direction: column; background-color: var(--semantic-bg-surface-default); border-radius: var(--br-sm, 8px); overflow: hidden; -webkit-font-smoothing: antialiased; box-sizing: border-box; transition: all 0.2s ease-in-out; } /* Variants */ .ds-card--elevated { box-shadow: var(--semantic-elevation-elevation1); } .ds-card--elevated:hover { box-shadow: var(--semantic-elevation-elevation2); } .ds-card--outlined { border: 1px solid var(--semantic-border-default-default); } .ds-card--outlined:hover { border-color: var(--semantic-border-default-hover); } .ds-card--filled { background-color: var(--semantic-bg-surface-subtle); } /* Clickable */ .ds-card--clickable { cursor: pointer; user-select: none; } .ds-card--clickable:focus-visible { outline: none; box-shadow: var(--semantic-focus-corp); } .ds-card--clickable:active { transform: scale(0.98); } /* Image */ .ds-card__image { width: 100%; height: 200px; overflow: hidden; background-color: var(--semantic-bg-surface-subtle); } .ds-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; } /* Header */ .ds-card__header { padding: var(--size5, 24px); border-bottom: 1px solid var(--semantic-border-default-subtle); font-family: var(--heading-h5-fontFamily, var(--font-family, 'Satoshi', sans-serif)); font-size: var(--heading-h5-fontSize, 20px); font-weight: var(--heading-h5-fontWeight, 700); line-height: var(--heading-h5-lineHeight, 150%); color: var(--semantic-text-corp-primary); } /* Body */ .ds-card__body { padding: var(--size5, 24px); flex: 1; font-family: var(--body-regular-fontFamily, var(--font-family, 'Satoshi', sans-serif)); font-size: var(--body-regular-fontSize, 16px); font-weight: var(--body-regular-fontWeight, 400); line-height: var(--body-regular-lineHeight, 150%); color: var(--semantic-text-corp-secondary); } /* Footer */ .ds-card__footer { padding: var(--size5, 24px); border-top: 1px solid var(--semantic-border-default-subtle); display: flex; align-items: center; justify-content: flex-end; gap: var(--size3, 12px); }