UNPKG

libreria-astro-lefebvre

Version:

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

150 lines (148 loc) 6.47 kB
import type { ComponentMetadata } from '../interfaces/types'; export const metadata: ComponentMetadata = { component_name: 'Formulario_2025_Teruel', category: 'Formulario', name: 'Tarjeta horizontal con imagen, dos botones y popup con formulario LF2 2025', description: 'Tarjeta horizontal con imagen + texto + dos botones (uno que navega a un enlace externo, otro que abre un popup). El popup contiene título h2, imagen lateral, descripción HTML y formulario LF2 inyectado dinámicamente. Incluye toggle de borde inferior separador (útil cuando se usan varias tarjetas seguidas — p. ej. dentro de Contenido_2026_Michigan)', framework: 'Astro', priority: 1, tags: ['contenido', 'card', 'imagen', 'popup', 'formulario', 'lf2', 'modal', 'cta'], fields: [ { name: 'orientation', type: 'select', help: 'Posición de la imagen respecto al texto. "Izquierda" coloca la imagen a la izquierda y el texto a la derecha (flex-row). "Derecha" invierte el orden (flex-row-reverse)', label: 'Orientación del contenido', options: ['left', 'right'], options_labels: ['Izquierda', 'Derecha'], mandatory: false, example_value: 'left', }, { name: 'bottomBorder', type: 'boolean', help: 'Activa/desactiva el borde inferior separador. Útil cuando se usan varias tarjetas seguidas (p. ej. dentro de Contenido_2026_Michigan) para poner borde en todas excepto la última', label: 'Mostrar borde inferior', mandatory: false, options: ['false', 'true'], options_labels: ['Falso', 'Verdadero'], example_value: true }, { name: 'title', type: 'text', help: 'Título de la tarjeta (h2). Se renderiza siempre; si se deja vacío aparece el h2 vacío. No admite HTML. También se usa como alt de la imagen principal', label: 'Texto del título', mandatory: false, example_value: 'Automatización de contratos con IA' }, { name: 'description', type: 'text', help: 'Descripción de la tarjeta. Admite HTML (útil para listas, negritas, etc.). Se renderiza siempre', label: 'Texto de la descripción', mandatory: false, example_value: 'Redacta borradores de contratos en segundos a partir de plantillas personalizables, con revisión automática de cláusulas' }, { name: 'imageSrc', type: 'image', help: 'URL de la imagen principal de la tarjeta (lateral al texto)', label: 'Src de la imagen', mandatory: false, example_value: 'https://assets.lefebvre.es/media/img/preview-comp/comp-16-9.png' }, { name: 'showBtn', type: 'boolean', help: 'Activa/desactiva el botón primario (enlace externo). Recuerda: también requiere "Url del enlace" relleno; si está vacío el botón no aparece', label: 'Mostrar botón', mandatory: false, options: ['false', 'true'], options_labels: ['Falso', 'Verdadero'], example_value: false }, { name: 'txtBtn', type: 'text', help: 'Texto del botón primario (enlace). Solo se muestra si "Mostrar botón" está activado Y "Url del enlace" tiene valor', label: 'Texto del botón', mandatory: false, example_value: 'Saber más' }, { name: 'linkBtn', type: 'text', help: 'URL de destino del botón primario (se abre en la misma pestaña). Si se deja vacío, el botón NO aparece aunque "Mostrar botón" esté activado', label: 'Url del enlace', mandatory: false, example_value: '/genia-l/automatizacion-contratos' }, { name: 'showBtnModal', type: 'boolean', help: 'Activa/desactiva el botón que abre el popup con el formulario LF2. Si está activado, al hacer click se abre un modal con título, imagen, descripción y formulario LF2 inyectado dinámicamente', label: 'Mostrar botón modal', mandatory: false, options: ['false', 'true'], options_labels: ['Falso', 'Verdadero'], example_value: true }, { name: 'txtBtnModal', type: 'text', help: 'Texto del botón que abre el popup. Solo se muestra si "Mostrar botón modal" está activado', label: 'Texto del botón modal', mandatory: false, example_value: 'Descargar guía en PDF' }, { name: 'titleModal', type: 'text', help: 'Título (h2) que aparece dentro del popup, junto al formulario LF2', label: 'Texto del título modal', mandatory: false, example_value: 'Descarga la guía de automatización jurídica' }, { name: 'subtitleModal', type: 'text', help: 'Subtítulo del modal. AVISO: este campo está DECLARADO en el carbin pero en el .astro está comentado (L76), por lo que NO se renderiza actualmente. Déjalo vacío o usa "Descripción del modal"', label: 'Texto del subtítulo modal (no se usa)', mandatory: false, example_value: '' }, { name: 'descriptionModal', type: 'text', help: 'Descripción que aparece dentro del popup, antes del formulario LF2. Admite HTML', label: 'Texto de la descripción modal', mandatory: false, example_value: 'Déjanos tus datos y te enviaremos el whitepaper de 40 páginas con los casos de uso más relevantes' }, { name: 'imageModal', type: 'image', help: 'Imagen que aparece en la columna izquierda del popup (la portada de la guía, por ejemplo)', label: 'Src de la imagen modal', mandatory: false, example_value: 'https://assets.lefebvre.es/media/img/preview-comp/comp-16-9.png' }, { name: 'altModal', type: 'text', help: 'Texto alternativo de la imagen del popup para accesibilidad', label: 'Alt de la imagen modal', mandatory: false, example_value: 'Portada de la guía de automatización jurídica' }, { name: 'lf2FormTitle', type: 'text', help: 'Nombre EXACTO del formulario tal como está dado de alta en LF2. Se pasa a apiManager.pintarFormularioAutogestionado() para cargar el formulario correcto dentro del popup. Si es erróneo, el formulario no se renderizará', label: 'Nombre del formulario en LF2', mandatory: false, example_value: '' } ] };