UNPKG

libreria-astro-lefebvre

Version:

Librería de componentes Astro, React y Vue para Lefebvre

79 lines (78 loc) 4.2 kB
import type { ComponentMetadata } from '../interfaces/types'; export const metadata: ComponentMetadata = { component_name: 'Contenido_2026_Tokyo', category: 'Contenido con listas', name: 'Bloque con imagen de escudo de fondo y grid lateral de logos clicables 2026', description: 'Bloque de contenido con una imagen de escudo como background, título h2, descripción HTML, botón tipo enlace con flecha a la derecha y un grid lateral de logos/imágenes clicables (renderizados con Imagen_2025_Fukushima). El ancho del bloque de texto se adapta automáticamente al número de logos: 1→texto a 2/3, 2→texto a 1/2, 3 o más→texto a 1/3', framework: 'Astro', priority: 1, tags: ['contenido', 'imagen', 'grid', 'logos', 'cta', 'enlace'], fields: [ { name: 'title', type: 'text', help: 'Título principal del bloque (h2). Se renderiza siempre; si se deja vacío, aparece el h2 vacío. No admite HTML', label: 'Texto del título', mandatory: false, example_value: 'Plataforma certificada y segura' }, { name: 'description', type: 'text', help: 'Descripción que aparece debajo del título. Admite HTML. Se renderiza siempre; si se deja vacía, aparece el párrafo vacío', label: 'Texto de la descripción', mandatory: false, example_value: 'GenIA-L cumple con las principales certificaciones de seguridad y protección de datos del sector' }, { name: 'showBtn', type: 'boolean', help: 'Activa o desactiva el botón tipo enlace (texto + flecha). ATENCIÓN: no valida que "Enlace del botón" tenga valor — si activas el botón con URL vacía, el enlace será inválido', label: 'Mostrar botón', mandatory: false, options: ['false', 'true'], options_labels: ['Falso', 'Verdadero'], example_value: true }, { name: 'buttonText', type: 'text', help: 'Texto del botón tipo enlace. Aparece seguido de una flecha SVG. Solo se muestra si "Mostrar botón" está activado', label: 'Label del botón', mandatory: false, example_value: 'Ver todas las certificaciones' }, { name: 'buttonUrl', type: 'text', help: 'URL de destino del botón. Rellena siempre esta URL si activas "Mostrar botón" (el componente no valida esta dependencia)', label: 'Enlace del botón', mandatory: false, example_value: '/genia-l/certificaciones' }, { name: 'subdirectory', type: 'text', help: 'Ruta base del sitio (p. ej. "/genia-l") que se concatena a la URL de la imagen de fondo del bloque (el escudo). Si se deja vacío, la imagen de fondo se carga desde la raíz del sitio: "/images/genial/ico-shield.webp"', label: 'Subdirectorio', mandatory: false, example_value: '/genia-l' }, { name: 'items', type: 'list', help: 'Listado de logos/imágenes que se muestran en el grid lateral del bloque. Cada ítem se renderiza con el componente Imagen_2025_Fukushima. El ancho del bloque de texto se adapta automáticamente al número de ítems: 1 ítem → texto a 2/3, 2 ítems → texto a 1/2, 3 o más → texto a 1/3', label: 'Items del grid', mandatory: false, items: { type: 'object', fields: [ { name: 'link', type: 'text', help: 'URL de destino al hacer click en el logo/imagen. Si se deja vacío, la imagen no es clicable', label: 'Enlace', example_value: '/genia-l/certificaciones/iso-27001' }, { name: 'image', type: 'image', help: 'URL de la imagen/logo del ítem. Si se deja vacía aparece imagen rota', label: 'Imagen', example_value: 'https://assets.lefebvre.es/media/img/preview-comp/comp-16-9.png' }, { name: 'altImage', type: 'text', help: 'Texto alternativo de la imagen para accesibilidad', label: 'Alt Imagen', example_value: 'Logo de certificación ISO 27001' }, { name: 'descriptionImage', type: 'textArea', help: 'Descripción que aparece debajo de la imagen. Admite HTML', label: 'Descripción de la imagen', example_value: 'Certificación ISO 27001 de seguridad de la información' } ] } } ] };