{
"items": [
{
"imageUrl": "https://picsum.photos/seed/b5-1/600/400",
"title": "Primer bloque",
"text": "Contenido destacado principal",
"ctaText": "Ver más",
"ctaHref": "#"
},
{
"imageUrl": "https://picsum.photos/seed/b5-2/600/400",
"title": "Segundo bloque",
"text": "Información complementaria"
},
{
"imageUrl": "https://picsum.photos/seed/b5-3/600/400",
"title": "Tercer bloque",
"text": "Detalles adicionales"
},
{
"imageUrl": "https://picsum.photos/seed/b5-4/600/400",
"title": "Cuarto bloque",
"text": "Contenido extra del grid"
},
{
"imageUrl": "https://picsum.photos/seed/b5-5/600/400",
"title": "Quinto bloque",
"text": "Último elemento del layout"
}
]
}BentoGridx5.vueGrid bento de 5 celdas con 9 variantes de layout: 2 basadas en grid-template-areas (D, E) con celdas que abarcan filas, y 7 basadas en filas flex (2y3, 3y2, 1y4, 4y1, 1y2y2, 2y2y1, 1y3y1). Cada celda usa BentoCard con estilos overlay, split o side. Responsive automático con colapso a 2 y 1 columna.
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
items | BentoItem[] | [] | Array de hasta 5 items con imageUrl, title, text, ctaText, ctaHref y colores opcionales. |
variant | VariantName | 'D' | Variante de layout. Areas: D, E. Filas: 2y3, 3y2, 1y4, 4y1, 1y2y2, 2y2y1, 1y3y1. |
gap | string | '0.75rem' | Espacio entre celdas (valor CSS). |
cardStyle | 'overlay' | 'split' | 'side' | 'overlay' | Estilo visual de cada tarjeta. |
borderRadius | string | '0.75rem' | Border radius de cada celda. |
interface BentoItem {
imageUrl?: string // URL de la imagen de fondo
title?: string // Título de la tarjeta
text?: string // Texto descriptivo
ctaText?: string // Texto del call-to-action
ctaHref?: string // URL del CTA
ctaTarget?: '_self' | '_blank'
titleColor?: string // Color del título
textColor?: string // Color del texto
ctaColor?: string // Color del CTA
}// Area-based (grid-template-areas con celdas spanning)
D: [a b c] // a = tall (2 filas)
[a d e]
E: [a b e] // e = tall (2 filas)
[c d e]
// Row-based (filas flex con grid interno)
2y3: [a b] [c d e]
3y2: [a b c] [d e]
1y4: [a] [b c d e]
4y1: [a b c d] [e]
1y2y2: [a] [b c] [d e]
2y2y1: [a b] [c d] [e]
1y3y1: [a] [b c d] [e]<BentoGridx5
:items="[
{ imageUrl: '/img/hero.jpg', title: 'Principal', text: 'Celda destacada' },
{ imageUrl: '/img/feat1.jpg', title: 'Feature 1' },
{ imageUrl: '/img/feat2.jpg', title: 'Feature 2' },
{ imageUrl: '/img/feat3.jpg', title: 'Feature 3' },
{ imageUrl: '/img/feat4.jpg', title: 'Feature 4' },
]"
variant="2y3"
gap="1rem"
card-style="overlay"
border-radius="0.75rem"
/>