UNPKG

@hummingbirdui/hummingbird

Version:

An open-source system designed for rapid development, without sacrificing the granular control of utility-first CSS.

134 lines (124 loc) 2.95 kB
@utility card { @layer base { --card-bg: var(--background-color-subtle); --card-color: var(--text-color-muted); --card-border-width: 1px; --card-border-color: var(--border-color-base); --card-border-radius: var(--radius-lg); --card-padding-x: --spacing(4); --card-padding-y: --spacing(4); --card-cap-padding-x: --spacing(2); --card-cap-padding-y: --spacing(2); --card-cap-bg: transparent; --card-cap-color: null; --card-title-color: var(--text-color-default); --card-title-space-y: --spacing(2); @apply relative flex flex-col min-w-0 wrap-break-word text-sm rounded-[var(--card-border-radius)] bg-[var(--card-bg)] text-[var(--card-color)] border-[length:var(--card-border-width)] border-[var(--card-border-color)]; } } @utility card-action { @layer base { @apply cursor-pointer text-left transition-[background] duration-200 no-underline; @variant hover { --card-bg: var(--background-color-muted); } } } @utility card-aside { @layer base { @apply flex-row; } } @utility card-img-top { @layer base { @apply rounded-t-[var(--card-border-radius)] w-full; } } @utility card-img-bottom { @layer base { @apply rounded-b-[var(--card-border-radius)] w-full; } } @utility card-img-right { @layer base { @apply rounded-r-[var(--card-border-radius)] h-full object-cover; } } @utility card-img-left { @layer base { @apply rounded-l-[var(--card-border-radius)] h-full object-cover; } } @utility card-img { @layer base { @apply rounded-none w-full; } } @utility card-header { @layer base { @apply mb-0 px-[var(--card-padding-x)] py-[var(--card-padding-y)] text-[var(--card-cap-color)] bg-[var(--card-cap-bg)] border-b-[length:var(--card-border-width)] border-[var(--card-border-color)]; } } @utility card-body { @layer base { @apply flex-[1_1_auto] px-[var(--card-padding-x)] py-[var(--card-padding-y)]; } } @utility card-footer { @layer base { @apply px-[var(--card-cap-padding-x)] py-[var(--card-cap-padding-y)] text-[var(--card-cap-color)] bg-[var(--card-cap-bg)]; } } @utility card-title { @layer base { @apply text-xl font-bold text-[var(--card-title-color)] mb-[var(--card-title-space-y)]; &:has(+ .card-subtitle) { @apply mb-0; } } } @utility card-subtitle { @layer base { @apply text-base font-medium mb-[var(--card-title-space-y)]; } } @utility card-text { @layer base { @apply text-sm; } } @utility card-img-overlay { @layer components { --card-title-color: var(--color-white); --card-border-width: 0px; @apply overflow-hidden rounded-lg; img { @apply brightness-[0.6]; } .card-body { @apply absolute top-0 right-0 bottom-0 left-0 p-[var(--card-padding-x)] rounded-[var(--card-border-radius)] text-white; } } }