UNPKG

libreria-astro-lefebvre

Version:

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

98 lines (96 loc) 4.7 kB
import type { ComponentMetadata } from '../interfaces/types'; export const metadata: ComponentMetadata = { component_name: 'Formulario_2025_Seul', category: 'Formulario', name: 'Formulario LF2 con layout conmutable imagen lateral o título+descripción 2025', description: 'Formulario de leads integrado con la plataforma LF2 de Lefebvre (se inyecta dinámicamente vía apiManager.pintarFormularioAutogestionado). Alterna entre dos layouts mutuamente excluyentes: CON imagen lateral grande (sin título ni descripción visibles) o SIN imagen pero con título h2 + descripción en columna lateral. Soporta businessAction para tracking y orientación del formulario (izquierda o derecha)', framework: 'Astro', priority: 1, tags: ['formulario', 'lf2', 'leads', 'imagen', 'contacto'], fields: [ { name: 'title', type: 'text', help: 'Título (h2) del bloque. IMPORTANTE: solo se muestra si "Mostrar imagen" está desactivado. Con imagen activada, el título NO aparece. No admite HTML', label: 'Texto del título', mandatory: false, example_value: 'Solicita información sobre GenIA-L' }, { name: 'description', type: 'text', help: 'Descripción que aparece debajo del título. IMPORTANTE: igual que el título, solo se muestra si "Mostrar imagen" está desactivado. No admite HTML', label: 'Texto de la descripción', mandatory: false, example_value: 'Uno de nuestros comerciales se pondrá en contacto contigo en menos de 24 horas' }, { name: 'imageSrc', type: 'image', help: 'URL de la imagen lateral. Solo se renderiza si "Mostrar imagen" está activado', label: 'Src de la imagen', mandatory: false, example_value: 'https://assets.lefebvre.es/media/img/preview-comp/comp-3-4.png' }, { name: 'lf2FormTitle', type: 'text', help: 'Nombre EXACTO del formulario tal como está dado de alta en LF2 (incluye normalmente un código numérico + nombre). Este valor se pasa a apiManager.pintarFormularioAutogestionado() para cargar el formulario correcto. Si es erróneo, el formulario no se renderizará', label: 'Nombre del formulario en LF2', mandatory: false, example_value: '' }, { name: 'businessAction', type: 'text', help: 'Identificador de acción comercial de LF2 que se asociará al lead. Si se deja vacío, no se envía acción comercial (el formulario funciona pero sin tracking de acción específica)', label: 'businessAction del formulario en LF2', mandatory: false, example_value: '27925' }, { name: 'orientation', type: 'select', help: 'Posición del formulario respecto a la imagen/texto. "Izquierda" coloca el formulario a la izquierda (flex-row); "Derecha" lo coloca a la derecha (flex-row-reverse)', label: 'Orientación del contenido', options: ['left', 'right'], options_labels: ['Izquierda', 'Derecha'], example_value: 'left' }, { name: 'loading', type: 'select', help: 'Tipo de carga de la imagen lateral (solo aplica si "Mostrar imagen" está activado). "eager" si el formulario está above-the-fold; "lazy" si se renderiza fuera del viewport inicial', label: 'Carga de la imagen', options: ['lazy', 'eager'], options_labels: ['Diferida', 'Inmediata'], example_value: 'lazy' }, { name: 'showImage', type: 'boolean', help: 'Alterna entre dos layouts. ACTIVADO: muestra una imagen lateral grande junto al formulario (sin título ni descripción visibles). DESACTIVADO: muestra título y descripción (columna 1/3) + formulario (columna 1/2), sin imagen', label: 'Mostrar imagen', mandatory: false, options: ['false', 'true'], options_labels: ['Falso', 'Verdadero'], example_value: true }, { name: 'subdirectory', type: 'text', help: 'Ruta base del sitio (p. ej. "/genia-l"). Se antepone a la ruta al construir la URL absoluta del "target" en el structured data SEO. Déjalo vacío si el sitio cuelga de la raíz', label: 'Subdirectorio', mandatory: false, example_value: '' }, { name: 'siteUrl', type: 'text', help: 'Origen público del sitio (protocolo + host, sin barra final, p. ej. "https://lefebvre.es"). Se usa para la URL absoluta del "target" en el structured data SEO. Necesario en SSR tras un proxy, donde Astro.url resuelve al host interno (localhost). Si se deja vacío, se usa Astro.site o el host de la petición', label: 'URL del sitio', mandatory: false, example_value: '' } ] };