libreria-astro-lefebvre
Version:
Librería de componentes Astro, React y Vue para Lefebvre
36 lines (34 loc) • 2.23 kB
text/typescript
import type { ComponentMetadata } from '../interfaces/types';
export const metadata: ComponentMetadata = {
component_name: 'Contenido_2026_Quito',
category: 'Contenido con listas',
name: 'Bloque de datos de contacto con iconos teléfono/email/ubicación 2026',
description: 'Bloque vertical de datos de contacto con título h2 y listado de ítems; cada ítem combina un icono SVG (3 variantes fijas: teléfono, email o localización) y un texto HTML. El ÚLTIMO ítem del listado se resalta en azul. Genera structured data schema.org ContactPoint extrayendo automáticamente el primer ítem de cada tipo (phone/email/locator)',
framework: 'Astro',
priority: 1,
tags: ['contenido', 'contacto', 'icono', 'seo', 'listado'],
fields: [
{
name: 'title',
type: 'text',
help: 'Título del bloque de contacto (h2). Se usa también como nombre del ContactPoint en el structured data SEO. Se renderiza siempre; si se deja vacío, aparece el h2 vacío',
label: 'Título del bloque',
mandatory: false,
example_value: 'Contacto comercial'
},
{
name: 'items',
type: 'list',
help: 'Listado de datos de contacto. Cada item tiene un icono (teléfono, email o localización) y un texto. El structured data SEO extrae el PRIMER item con icono "phone" como teléfono, el PRIMER con "email" como email, y el PRIMER con "locator" como localidad. Además, el ÚLTIMO item del listado se resalta en azul',
label: 'Listado de items de contacto',
mandatory: false,
items: {
type: 'object',
fields: [
{ name: 'icon', type: 'select', help: 'Icono del item. Los 3 valores válidos renderizan un SVG específico. Además, el icono determina qué tipo de dato (teléfono/email/localidad) se usa en el structured data SEO', label: 'Icono', options: ['phone', 'email', 'locator'], options_labels: ['Teléfono', 'Email', 'Localización'], example_value: 'phone' },
{ name: 'text', type: 'text', help: 'Texto del item (número de teléfono, dirección de email, dirección postal, etc.). Admite HTML (útil para enlaces mailto: o tel:)', label: 'Texto', example_value: '+34 91 210 80 00' }
]
}
}
]
};