UNPKG

libreria-astro-lefebvre

Version:

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

57 lines (56 loc) 5.5 kB
import type { ComponentMetadata } from '../interfaces/types'; export const metadata: ComponentMetadata = { component_name: 'Contenido_2026_Estocolmo', category: 'Contenido con listas', name: 'Wrapper grid responsive que renderiza cards Contenido_2025_Montevideo 2026', description: 'Contenedor grid responsive (1 columna en móvil, 2 en tablet hasta 400px cada una, 3 en desktop hasta 400px cada una) que itera un listado de ítems y renderiza cada uno como Contenido_2025_Montevideo. No añade cabecera ni botones propios — es un wrapper puro que agrupa cards clicables con imagen, tag, título, descripción y autor', framework: 'Astro', priority: 1, tags: ['contenido', 'card', 'grid', 'wrapper', 'imagen', 'autor'], fields: [ { name: 'etiquetaVisible', type: 'select', options: ['fecha', 'keywords'], options_labels: ['Fecha', 'Keywords'], mandatory: false, label: 'Etiqueta visible en la card', help: 'Qué se muestra como badge sobre el título de cada card: la fecha o las keywords. Los datos estructurados (JSON-LD) incluyen ambos siempre, independientemente de esta opción', example_value: 'fecha' }, { name: 'showAutor', type: 'select', options: ['false', 'true'], options_labels: ['No mostrar', 'Mostrar'], mandatory: false, label: 'Mostrar autor en la card', help: 'Si está ACTIVADO, se muestra "Por [autor]" debajo de la descripción de cada card. El nombre del autor se incluye SIEMPRE en los datos estructurados (JSON-LD), con independencia de esta opción. Default: desactivado', example_value: 'false' }, { name: 'items', type: 'list', help: 'Listado de cards que se muestran en un grid responsive: 1 columna en móvil, 2 en tablet (máx 400px cada una) y 3 en escritorio (máx 400px cada una). Cada card es clicable y se renderiza con el componente Contenido_2025_Montevideo', label: 'Listado de items', mandatory: false, items: { type: 'object', fields: [ { name: 'title', type: 'text', help: 'Título de la card (h3). Se muestra siempre; si se deja vacío, aparece el h3 vacío', label: 'Título', example_value: 'Automatización de contratos con GenIA-L' }, { name: 'description', type: 'textArea', help: 'Descripción de la card. Se muestra siempre como párrafo; si se deja vacía, aparece el párrafo vacío', label: 'Descripción', example_value: 'Redacta borradores de contratos en segundos a partir de plantillas personalizables' }, { name: 'link', type: 'text', help: 'URL de destino al hacer click en la card (toda la card es clicable). Si se deja vacío, apunta a "#" (no navega)', label: 'Url del enlace', example_value: '/genia-l/blog/automatizacion-contratos' }, { name: 'fecha', type: 'text', help: 'Fecha (badge) que aparece sobre el título cuando "Etiqueta visible" es Fecha. Si se deja vacía, NO se muestra', label: 'Fecha (etiqueta)', example_value: '10 de enero de 2026' }, { name: 'image', type: 'image', help: 'Imagen de la card (aparece en la parte superior). Se renderiza siempre; si se deja vacía aparece una 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 de la imagen', example_value: 'Captura de la interfaz de GenIA-L generando un contrato automáticamente' }, { name: 'author', type: 'text', help: 'Nombre del autor del contenido. Se incluye SIEMPRE en los datos estructurados (JSON-LD author). Solo se muestra visualmente como "Por [nombre]" si "Mostrar autor en la card" está activado. Si se deja vacío, no se emite autoría', label: 'Nombre del autor', example_value: 'María García López' }, { name: 'authorUrl', type: 'text', help: 'Url a la ficha del autor del contenido. Se incluye SIEMPRE en los datos estructurados (JSON-LD author). Si se deja vacío, no se emite autoría', label: 'Url del autor', example_value: 'https://lefebvre.es/genia-l/blog/autor/maria-garcia-lopez/' }, { name: 'authorType', type: 'select', options: ['Person', 'Organization'], options_labels: ['Persona', 'Organización'], help: 'Tipo schema.org del autor en el JSON-LD. Usar "Organización" cuando el autor sea la propia entidad (p. ej. "Lefebvre"); en el resto de casos, "Persona". Default: Persona', label: 'Tipo de autor (SEO)', example_value: 'Person' }, { name: 'datePublished', type: 'text', help: 'Fecha de publicación en formato ISO 8601 para los datos estructurados (JSON-LD datePublished). No se muestra visualmente. Ej: 2026-01-10T00:00:00.000Z', label: 'Fecha publicación (ISO)', example_value: '2026-01-10T00:00:00.000Z' }, { name: 'dateModified', type: 'text', help: 'Fecha de última modificación en formato ISO 8601 para los datos estructurados (JSON-LD dateModified). No se muestra visualmente. Si se deja vacía, no se emite. Ej: 2026-02-15T00:00:00.000Z', label: 'Fecha modificación (ISO)', example_value: '2026-02-15T00:00:00.000Z' }, { name: 'keywords', type: 'text', help: 'Palabras clave reales para los datos estructurados (JSON-LD keywords), separadas por comas. Se muestran como badge si "Etiqueta visible" es Keywords', label: 'Keywords (SEO)', example_value: 'Legaltech, Contratos, IA' } ] } } ] };