{
"items": [
{
"imageUrl": "https://picsum.photos/seed/bg9-1/600/400",
"title": "Primer bloque",
"text": "Contenido destacado principal"
},
{
"imageUrl": "https://picsum.photos/seed/bg9-2/600/400",
"title": "Segundo bloque",
"text": "Información complementaria"
},
{
"imageUrl": "https://picsum.photos/seed/bg9-3/600/400",
"title": "Tercer bloque",
"text": "Sección de detalle"
},
{
"imageUrl": "https://picsum.photos/seed/bg9-4/600/400",
"title": "Cuarto bloque",
"text": "Estadísticas o métricas"
},
{
"imageUrl": "https://picsum.photos/seed/bg9-5/600/400",
"title": "Quinto bloque",
"text": "Galería o showcase"
},
{
"imageUrl": "https://picsum.photos/seed/bg9-6/600/400",
"title": "Sexto bloque",
"text": "Testimonios o quotes"
},
{
"imageUrl": "https://picsum.photos/seed/bg9-7/600/400",
"title": "Séptimo bloque",
"text": "Features o beneficios"
},
{
"imageUrl": "https://picsum.photos/seed/bg9-8/600/400",
"title": "Octavo bloque",
"text": "Integraciones o partners"
},
{
"imageUrl": "https://picsum.photos/seed/bg9-9/600/400",
"title": "Noveno bloque",
"text": "CTA o contacto final"
}
]
}BentoGridx9.vueGrid bento de 9 celdas con 10 variantes de layout basadas en filas (row-based). Cada variante define cuántas celdas hay por fila, con soporte para celdas wide en filas de 1 celda. Incluye animación de entrada escalonada, responsive adaptativo y compatibilidad con BentoCard.
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
variant | VariantName | '3y3y3' | Variante de layout. Define cuántas celdas hay en cada fila. |
items | BentoGridItem[] | 9 items vacíos | Array de hasta 9 items con imageUrl, title, text, ctaText, ctaHref y colores. |
gap | string | '0.75rem' | Espacio entre celdas (valor CSS). |
borderRadius | string | '0.75rem' | Border radius de cada celda. |
rowMinHeight | string | '14rem' | Altura mínima de cada fila en desktop. |
animateEntry | boolean | true | Activa la animación fade-in escalonada al entrar en el viewport. |
// Todas las variantes son row-based (distribución por filas)
'3y3y3' // 3 filas de 3 celdas
'2y3y4' // Piramidal: 2, 3, 4 celdas
'4y3y2' // Piramidal inversa: 4, 3, 2 celdas
'1y4y4' // 1 celda wide arriba + 4 + 4
'4y4y1' // 4 + 4 + 1 celda wide abajo
'4y1y4' // 4 + 1 celda wide centro + 4
'3y2y2y2' // 4 filas: 3, 2, 2, 2
'2y2y2y3' // 4 filas: 2, 2, 2, 3
'1y2y3y3' // 4 filas: 1 wide, 2, 3, 3
'3y3y2y1' // 4 filas: 3, 3, 2, 1 wideinterface BentoGridItem {
imageUrl?: string // URL de la imagen de fondo
title?: string // Título superpuesto
text?: string // Texto descriptivo
ctaText?: string // Texto del botón CTA
ctaHref?: string // URL del CTA
ctaTarget?: '_self' | '_blank'
titleColor?: string // Color del título
textColor?: string // Color del texto
ctaColor?: string // Color del CTA
_id?: string | number // Clave interna para :key
}<BentoGridx9
variant="2y3y4"
:items="[
{ imageUrl: '/img/hero.jpg', title: 'Hero' },
{ imageUrl: '/img/feat1.jpg', title: 'Feature 1', text: 'Descripción' },
{ imageUrl: '/img/feat2.jpg', title: 'Feature 2' },
{ imageUrl: '/img/stat1.jpg', title: 'Estadística' },
{ imageUrl: '/img/stat2.jpg', title: 'Métrica' },
{ imageUrl: '/img/gallery1.jpg', title: 'Galería 1' },
{ imageUrl: '/img/gallery2.jpg', title: 'Galería 2' },
{ imageUrl: '/img/gallery3.jpg', title: 'Galería 3' },
{ imageUrl: '/img/cta.jpg', title: 'CTA', ctaText: 'Contactar', ctaHref: '/contacto' },
]"
gap="0.75rem"
border-radius="0.75rem"
row-min-height="14rem"
:animate-entry="true"
/>