Saltar al contenido principal

Tarjeta

Contenedor de tarjetas de uso general.

Uso básico​

Uso básico
Paisaje con tinta

Montañas lejanas como índigo, aguas cercanas veladas en niebla.

Esta es el área de contenido de la tarjeta.

Tarjeta interactiva

Cuando es clickable, toda la tarjeta adquiere la semántica de un button y admite la activación con Enter / Space.

import { LhCard } from '@lh-ui/react'

export default function Demo() {
return (
<LhCard title="Paisaje con tinta china" style={{ width: 300 }}>
<p>Montañas lejanas como tinta, aguas cercanas entre la bruma.</p>
</LhCard>
)
}

Card Props​

PropDescripciónTipoValores permitidosPredeterminado
titleTítulo (si no hay header, renderiza la cabecera por defecto)string——
shadowCuándo se muestra la sombra'always' | 'hover' | 'never'—'always'
clickableToda la tarjeta es cliclable (asume la semántica de teclado de button)boolean—false
loadingCarga (placeholder de esqueleto en el área de contenido; la tarjeta entera bloquea la interacción)boolean—false
coverÁrea de portadaReactNode——
headerContenido de la cabecera (sustituye a la cabecera por defecto)ReactNode——
extraÁrea adicional a la derecha de la cabeceraReactNode——
footerÁrea inferiorReactNode——
themeVarsVariables de tema a nivel de componente; sustituye la configuración de ConfigProviderRecord<string, string>——
bgPatternPatrón de fondo a nivel de componentestring——
sxProps rápidas de layoutSxProps——

Eventos de Card​

EventoDescripciónFirma del callbackEquivalente en Vue
onClickSe dispara al hacer clic (solo si clickable y no loading)(event: MouseEvent) => void@click
Interacción de teclado

Cuando clickable y no loading, la tarjeta se renderiza como role="button" y responde a Enter / Space (Space ejecuta preventDefault para evitar el desplazamiento); consulta Accesibilidad.

Equivalencia de slots de Vue

Los slots cover / header / extra / footer de plus se corresponden en React con props ReactNode del mismo nombre; el slot por defecto pasa a ser children.

Estilos​

import '@lh-ui/react/style/card'