Migración completa a Clean Architecture con componentes funcionales

- Reorganización de estructura: Admin/, Public/, Shared/, Schemas/
- 12 componentes migrados: TopNotificationBar, Navbar, CtaLetsTalk, Hero,
  FeaturedImage, TableOfContents, CtaBoxSidebar, SocialShare, CtaPost,
  RelatedPost, ContactForm, Footer
- Panel de administración con tabs Bootstrap 5 funcionales
- Schemas JSON para configuración de componentes
- Renderers dinámicos con CSSGeneratorService (cero CSS hardcodeado)
- FormBuilders para UI admin con Design System consistente
- Fix: Bootstrap JS cargado en header para tabs funcionales
- Fix: buildTextInput maneja valores mixed (bool/string)
- Eliminación de estructura legacy (src/, admin/, assets/css/componente-*)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-25 21:20:06 -06:00
parent 90de6df77c
commit 0846a3bf03
224 changed files with 21670 additions and 17816 deletions

View File

@@ -1,150 +0,0 @@
{
"component_name": "contact-form-section",
"version": "1.0.0",
"description": "Sección de contacto con información y formulario funcional mediante AJAX",
"groups": {
"section": {
"label": "Configuración de la Sección",
"priority": 10,
"fields": {
"show_section": {
"type": "boolean",
"label": "Mostrar sección",
"default": true,
"description": "Activar o desactivar la sección completa"
},
"section_title": {
"type": "text",
"label": "Título de la sección",
"default": "¿Tienes alguna pregunta?",
"required": true,
"description": "Título principal de la sección de contacto"
},
"section_subtitle": {
"type": "textarea",
"label": "Subtítulo",
"default": "Completa el formulario y nuestro equipo te responderá en menos de 24 horas.",
"description": "Descripción o subtítulo de la sección"
}
}
},
"contact_info": {
"label": "Información de Contacto",
"priority": 20,
"fields": {
"phone_enabled": {
"type": "boolean",
"label": "Mostrar teléfono",
"default": true
},
"phone_label": {
"type": "text",
"label": "Etiqueta de teléfono",
"default": "Teléfono"
},
"phone_value": {
"type": "text",
"label": "Número de teléfono",
"default": "+52 55 1234 5678"
},
"email_enabled": {
"type": "boolean",
"label": "Mostrar email",
"default": true
},
"email_label": {
"type": "text",
"label": "Etiqueta de email",
"default": "Email"
},
"email_value": {
"type": "email",
"label": "Dirección de email",
"default": "contacto@example.com"
},
"location_enabled": {
"type": "boolean",
"label": "Mostrar ubicación",
"default": true
},
"location_label": {
"type": "text",
"label": "Etiqueta de ubicación",
"default": "Ubicación"
},
"location_value": {
"type": "text",
"label": "Ubicación",
"default": "Ciudad de México, México"
}
}
},
"form": {
"label": "Configuración del Formulario",
"priority": 30,
"fields": {
"submit_button_text": {
"type": "text",
"label": "Texto del botón",
"default": "Enviar Mensaje",
"required": true,
"description": "Texto del botón de envío"
},
"submit_button_icon": {
"type": "text",
"label": "Ícono del botón",
"default": "bi-send-fill",
"description": "Clase de Bootstrap Icons"
},
"success_message": {
"type": "textarea",
"label": "Mensaje de éxito",
"default": "¡Gracias! Tu mensaje ha sido enviado correctamente. Te responderemos pronto.",
"description": "Mensaje al enviar exitosamente"
},
"error_message": {
"type": "textarea",
"label": "Mensaje de error",
"default": "Hubo un error al enviar el mensaje. Por favor, intenta de nuevo.",
"description": "Mensaje al fallar el envío"
},
"to_email": {
"type": "email",
"label": "Email de destino",
"default": "",
"description": "Email donde se recibirán los mensajes (deja vacío para usar el admin email)"
}
}
},
"styles": {
"label": "Estilos",
"priority": 40,
"fields": {
"background_color": {
"type": "text",
"label": "Clase de fondo",
"default": "bg-secondary bg-opacity-25",
"description": "Clase de Bootstrap para el fondo"
},
"icon_color": {
"type": "color",
"label": "Color de íconos",
"default": "#FF8600",
"description": "Color de los íconos de contacto"
},
"button_bg_color": {
"type": "color",
"label": "Color del botón",
"default": "#FF8600",
"description": "Color de fondo del botón"
},
"button_hover_bg": {
"type": "color",
"label": "Color del botón (hover)",
"default": "#FF6B00",
"description": "Color de fondo del botón al hover"
}
}
}
}
}

View File

@@ -1,186 +0,0 @@
{
"component_name": "contact-modal",
"version": "1.0.0",
"description": "Modal de contacto Bootstrap 5 con formulario AJAX para consultas de clientes",
"groups": {
"general": {
"label": "Configuración General",
"priority": 10,
"fields": {
"modal_title": {
"type": "text",
"label": "Título del modal",
"default": "¿Tienes alguna pregunta?",
"required": true,
"description": "Título que aparece en el encabezado del modal"
},
"modal_description": {
"type": "textarea",
"label": "Descripción",
"default": "Completa el formulario y nuestro equipo te responderá en menos de 24 horas.",
"description": "Texto descriptivo debajo del título"
}
}
},
"form_fields": {
"label": "Campos del Formulario",
"priority": 20,
"fields": {
"fullName": {
"type": "object",
"label": "Campo Nombre Completo",
"default": {
"label": "Nombre completo",
"placeholder": "",
"required": true
},
"fields": {
"label": {"type": "text", "label": "Etiqueta"},
"placeholder": {"type": "text", "label": "Placeholder"},
"required": {"type": "boolean", "label": "Requerido"}
}
},
"company": {
"type": "object",
"label": "Campo Empresa",
"default": {
"label": "Empresa",
"placeholder": "",
"required": false
},
"fields": {
"label": {"type": "text", "label": "Etiqueta"},
"placeholder": {"type": "text", "label": "Placeholder"},
"required": {"type": "boolean", "label": "Requerido"}
}
},
"whatsapp": {
"type": "object",
"label": "Campo WhatsApp",
"default": {
"label": "WhatsApp",
"placeholder": "",
"required": true
},
"fields": {
"label": {"type": "text", "label": "Etiqueta"},
"placeholder": {"type": "text", "label": "Placeholder"},
"required": {"type": "boolean", "label": "Requerido"}
}
},
"email": {
"type": "object",
"label": "Campo Email",
"default": {
"label": "Correo electrónico",
"placeholder": "",
"required": true
},
"fields": {
"label": {"type": "text", "label": "Etiqueta"},
"placeholder": {"type": "text", "label": "Placeholder"},
"required": {"type": "boolean", "label": "Requerido"}
}
},
"comments": {
"type": "object",
"label": "Campo Comentarios",
"default": {
"label": "¿En qué podemos ayudarte?",
"placeholder": "",
"required": false,
"rows": 4
},
"fields": {
"label": {"type": "text", "label": "Etiqueta"},
"placeholder": {"type": "text", "label": "Placeholder"},
"required": {"type": "boolean", "label": "Requerido"},
"rows": {"type": "number", "label": "Filas"}
}
}
}
},
"submit_button": {
"label": "Botón de Envío",
"priority": 30,
"fields": {
"text": {
"type": "text",
"label": "Texto del botón",
"default": "Enviar Mensaje",
"required": true,
"description": "Texto que aparece en el botón de envío"
},
"icon": {
"type": "text",
"label": "Ícono del botón",
"default": "bi-send-fill",
"description": "Clase de Bootstrap Icons (ej: bi-send-fill)"
}
}
},
"messages": {
"label": "Mensajes del Sistema",
"priority": 40,
"fields": {
"success": {
"type": "textarea",
"label": "Mensaje de éxito",
"default": "Mensaje enviado exitosamente. Te responderemos pronto.",
"description": "Mensaje cuando el formulario se envía correctamente"
},
"error": {
"type": "textarea",
"label": "Mensaje de error",
"default": "Error al enviar el mensaje. Por favor intenta nuevamente.",
"description": "Mensaje cuando ocurre un error"
},
"validation_error": {
"type": "textarea",
"label": "Mensaje de validación",
"default": "Por favor completa todos los campos requeridos.",
"description": "Mensaje cuando faltan campos obligatorios"
}
}
},
"settings": {
"label": "Configuración Avanzada",
"priority": 50,
"fields": {
"modal_id": {
"type": "text",
"label": "ID del modal",
"default": "contactModal",
"readonly": true,
"description": "ID HTML del modal (no modificar)"
},
"form_id": {
"type": "text",
"label": "ID del formulario",
"default": "modalContactForm",
"readonly": true,
"description": "ID HTML del formulario (no modificar)"
},
"ajax_action": {
"type": "text",
"label": "Acción AJAX",
"default": "roi_contact_modal_submit",
"readonly": true,
"description": "Nombre de la acción AJAX (no modificar)"
},
"email_to": {
"type": "email",
"label": "Email de destino",
"default": "",
"description": "Email donde se recibirán los mensajes (vacío = admin email)"
},
"email_subject": {
"type": "text",
"label": "Asunto del email",
"default": "Nuevo mensaje de contacto desde el sitio web",
"description": "Asunto del email que se enviará"
}
}
}
}
}

View File

@@ -1,208 +0,0 @@
{
"component_name": "cta-below-content",
"version": "1.0.0",
"description": "Call to Action que se muestra debajo del contenido del post",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar CTA",
"default": true,
"required": true,
"description": "Activa o desactiva el componente de Call to Action"
},
"layout": {
"type": "select",
"label": "Layout del CTA",
"default": "two-column",
"options": {
"two-column": "Dos columnas (texto izquierda, botón derecha)",
"centered": "Centrado",
"stacked": "Apilado"
},
"required": true,
"description": "Distribución del contenido en el CTA"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"title": {
"type": "text",
"label": "Título del CTA",
"default": "Accede a 200,000+ Análisis de Precios Unitarios",
"maxlength": 200,
"required": true,
"description": "Título principal que aparece en el CTA"
},
"subtitle": {
"type": "textarea",
"label": "Subtítulo del CTA",
"default": "Consulta estructuras completas, insumos y dosificaciones de los APUs más utilizados en construcción en México.",
"maxlength": 500,
"rows": 3,
"required": true,
"description": "Texto descriptivo que complementa el título"
}
}
},
"button": {
"label": "Configuración del Botón",
"priority": 30,
"fields": {
"button_text": {
"type": "text",
"label": "Texto del botón",
"default": "Ver Catálogo Completo",
"maxlength": 100,
"required": true,
"description": "Texto que aparece en el botón de acción"
},
"button_url": {
"type": "url",
"label": "URL del botón",
"default": "#",
"required": true,
"description": "URL de destino al hacer clic en el botón"
},
"button_target": {
"type": "select",
"label": "Abrir enlace en",
"default": "_self",
"options": {
"_self": "Misma ventana",
"_blank": "Nueva ventana"
},
"description": "Atributo target del enlace del botón"
},
"button_color": {
"type": "select",
"label": "Color del botón",
"default": "light",
"options": {
"light": "Blanco",
"dark": "Negro",
"primary": "Azul",
"success": "Verde",
"danger": "Rojo",
"warning": "Amarillo"
},
"description": "Color de fondo del botón"
},
"button_size": {
"type": "select",
"label": "Tamaño del botón",
"default": "lg",
"options": {
"sm": "Pequeño",
"md": "Mediano",
"lg": "Grande"
},
"description": "Tamaño del botón de acción"
},
"show_icon": {
"type": "boolean",
"label": "Mostrar icono en botón",
"default": true,
"description": "Muestra u oculta el icono de flecha en el botón"
},
"icon_class": {
"type": "text",
"label": "Clase del icono",
"default": "bi bi-arrow-right",
"conditional_logic": {
"field": "show_icon",
"operator": "==",
"value": true
},
"description": "Clase de Bootstrap Icons para el icono del botón"
}
}
},
"styles": {
"label": "Estilos y Colores",
"priority": 40,
"fields": {
"gradient_start_color": {
"type": "color",
"label": "Color de inicio del gradiente",
"default": "#FF8600",
"description": "Color hexadecimal de inicio del gradiente"
},
"gradient_end_color": {
"type": "color",
"label": "Color de fin del gradiente",
"default": "#FFB800",
"description": "Color hexadecimal de fin del gradiente"
},
"gradient_angle": {
"type": "number",
"label": "Ángulo del gradiente",
"default": 135,
"min": 0,
"max": 360,
"description": "Ángulo en grados del gradiente (0-360)"
},
"text_color": {
"type": "color",
"label": "Color del texto",
"default": "#FFFFFF",
"description": "Color del texto del título y subtítulo"
},
"container_classes": {
"type": "text",
"label": "Clases CSS del contenedor",
"default": "my-5 p-4 rounded cta-section",
"description": "Clases CSS adicionales para el contenedor principal"
}
}
},
"advanced": {
"label": "Configuración Avanzada",
"priority": 50,
"fields": {
"animation_enabled": {
"type": "boolean",
"label": "Activar animación de entrada",
"default": false,
"description": "Activa animaciones de entrada para hacer el CTA más llamativo"
},
"animation_type": {
"type": "select",
"label": "Tipo de animación",
"default": "fade-in",
"options": {
"fade-in": "Fade In",
"slide-up": "Slide Up",
"scale": "Scale"
},
"conditional_logic": {
"field": "animation_enabled",
"operator": "==",
"value": true
},
"description": "Tipo de animación de entrada"
},
"animation_duration": {
"type": "number",
"label": "Duración de animación (ms)",
"default": 500,
"min": 100,
"max": 3000,
"step": 50,
"conditional_logic": {
"field": "animation_enabled",
"operator": "==",
"value": true
},
"description": "Duración de la animación en milisegundos"
}
}
}
}
}

View File

@@ -1,191 +0,0 @@
{
"component_name": "cta-box-sidebar",
"version": "1.0.0",
"description": "CTA Box para sidebar con llamado a la acción destacado",
"groups": {
"content": {
"label": "Contenido del CTA",
"priority": 10,
"fields": {
"title": {
"type": "text",
"label": "Título",
"default": "¿Listo para potenciar tus proyectos?",
"maxlength": 100,
"required": true,
"description": "Título principal del CTA box"
},
"description": {
"type": "textarea",
"label": "Descripción",
"default": "Accede a nuestra biblioteca completa de APUs y herramientas profesionales.",
"maxlength": 200,
"required": true,
"description": "Texto descriptivo del CTA"
}
}
},
"button": {
"label": "Configuración del Botón",
"priority": 20,
"fields": {
"button_text": {
"type": "text",
"label": "Texto del botón",
"default": "Solicitar Demo",
"maxlength": 50,
"required": true,
"description": "Texto que aparece en el botón CTA"
},
"button_icon": {
"type": "text",
"label": "Ícono del botón",
"default": "bi-calendar-check",
"description": "Clase de Bootstrap Icons (ej: bi-calendar-check)"
},
"button_action": {
"type": "select",
"label": "Acción del botón",
"default": "modal",
"options": {
"modal": "Abrir Modal",
"link": "Ir a URL",
"custom": "JavaScript Personalizado"
},
"required": true,
"description": "Tipo de acción al hacer clic"
},
"modal_target": {
"type": "text",
"label": "ID del modal",
"default": "#contactModal",
"description": "ID del modal a abrir (si button_action es 'modal')"
},
"link_url": {
"type": "url",
"label": "URL de destino",
"default": "",
"description": "URL del enlace (si button_action es 'link')"
},
"link_target": {
"type": "select",
"label": "Abrir enlace en",
"default": "_self",
"options": {
"_self": "Misma pestaña",
"_blank": "Nueva pestaña"
},
"description": "Target del enlace"
},
"custom_onclick": {
"type": "textarea",
"label": "JavaScript personalizado",
"default": "",
"description": "Código JavaScript para onclick (si button_action es 'custom')"
}
}
},
"config": {
"label": "Configuración General",
"priority": 30,
"fields": {
"height": {
"type": "text",
"label": "Altura del CTA box",
"default": "250px",
"description": "Altura del CTA box (CSS válido)"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en móviles",
"default": true,
"description": "Mostrar en dispositivos móviles"
},
"custom_css_class": {
"type": "text",
"label": "Clase CSS personalizada",
"default": "",
"description": "Clase CSS adicional para el contenedor"
}
}
},
"styles": {
"label": "Estilos de Color",
"priority": 40,
"fields": {
"background_gradient": {
"type": "boolean",
"label": "Usar gradiente",
"default": false,
"description": "Usar gradiente en vez de color sólido"
},
"background_color": {
"type": "color",
"label": "Color de fondo",
"default": "#FF8600",
"description": "Color de fondo del CTA box"
},
"gradient_start": {
"type": "color",
"label": "Color inicial del gradiente",
"default": "#FF8600",
"description": "Color inicial del gradiente"
},
"gradient_end": {
"type": "color",
"label": "Color final del gradiente",
"default": "#FF6B00",
"description": "Color final del gradiente"
},
"title_color": {
"type": "color",
"label": "Color del título",
"default": "#ffffff",
"description": "Color del texto del título"
},
"description_color": {
"type": "text",
"label": "Color de la descripción",
"default": "rgba(255, 255, 255, 0.95)",
"description": "Color del texto de la descripción"
},
"button_bg_color": {
"type": "color",
"label": "Color de fondo del botón",
"default": "#ffffff",
"description": "Color de fondo del botón"
},
"button_text_color": {
"type": "color",
"label": "Color del texto del botón",
"default": "#FF8600",
"description": "Color del texto del botón"
},
"button_hover_bg": {
"type": "color",
"label": "Color de fondo del botón (hover)",
"default": "#0E2337",
"description": "Color de fondo del botón al hover"
},
"button_hover_text": {
"type": "color",
"label": "Color del texto del botón (hover)",
"default": "#ffffff",
"description": "Color del texto del botón al hover"
},
"shadow_color": {
"type": "text",
"label": "Color de sombra",
"default": "rgba(255, 133, 0, 0.2)",
"description": "Color de la sombra"
},
"border_radius": {
"type": "text",
"label": "Radio del borde",
"default": "8px",
"description": "Radio del borde (CSS válido)"
}
}
}
}
}

View File

@@ -1,220 +0,0 @@
{
"component_name": "footer",
"version": "1.0.0",
"description": "Footer completo del sitio con 3 widgets, newsletter, copyright y redes sociales",
"groups": {
"widget_1": {
"label": "Widget 1",
"priority": 10,
"fields": {
"enabled": {
"type": "boolean",
"label": "Activar widget 1",
"default": true,
"description": "Mostrar u ocultar este widget"
},
"title": {
"type": "text",
"label": "Título del widget",
"default": "Recursos",
"description": "Título de la columna del widget"
},
"links": {
"type": "repeater",
"label": "Enlaces",
"description": "Lista de enlaces del widget",
"default": [
{"text": "Home", "url": "/"},
{"text": "Features", "url": "#features"},
{"text": "Pricing", "url": "#pricing"},
{"text": "FAQs", "url": "#faqs"},
{"text": "About", "url": "#about"}
],
"fields": {
"text": {
"type": "text",
"label": "Texto del enlace",
"required": true
},
"url": {
"type": "text",
"label": "URL",
"required": true
}
}
}
}
},
"widget_2": {
"label": "Widget 2",
"priority": 20,
"fields": {
"enabled": {
"type": "boolean",
"label": "Activar widget 2",
"default": true
},
"title": {
"type": "text",
"label": "Título del widget",
"default": "Servicios"
},
"links": {
"type": "repeater",
"label": "Enlaces",
"default": [
{"text": "Análisis", "url": "#analisis"},
{"text": "Presupuestos", "url": "#presupuestos"},
{"text": "Cotizaciones", "url": "#cotizaciones"},
{"text": "Proyectos", "url": "#proyectos"}
],
"fields": {
"text": {"type": "text", "label": "Texto", "required": true},
"url": {"type": "text", "label": "URL", "required": true}
}
}
}
},
"widget_3": {
"label": "Widget 3",
"priority": 30,
"fields": {
"enabled": {
"type": "boolean",
"label": "Activar widget 3",
"default": true
},
"title": {
"type": "text",
"label": "Título del widget",
"default": "Empresa"
},
"links": {
"type": "repeater",
"label": "Enlaces",
"default": [
{"text": "Acerca de", "url": "#acerca"},
{"text": "Blog", "url": "/blog"},
{"text": "Contacto", "url": "#contacto"},
{"text": "Política de Privacidad", "url": "/privacidad"}
],
"fields": {
"text": {"type": "text", "label": "Texto", "required": true},
"url": {"type": "text", "label": "URL", "required": true}
}
}
}
},
"newsletter": {
"label": "Newsletter",
"priority": 40,
"fields": {
"enabled": {
"type": "boolean",
"label": "Activar newsletter",
"default": true,
"description": "Mostrar u ocultar sección de newsletter"
},
"title": {
"type": "text",
"label": "Título",
"default": "Suscríbete a nuestro newsletter",
"required": true,
"description": "Título de la sección de newsletter"
},
"description": {
"type": "textarea",
"label": "Descripción",
"default": "Recibe actualizaciones mensuales sobre nuestros productos y servicios.",
"description": "Texto descriptivo debajo del título"
},
"placeholder": {
"type": "text",
"label": "Placeholder del email",
"default": "Correo electrónico",
"description": "Texto placeholder del campo de email"
},
"button_text": {
"type": "text",
"label": "Texto del botón",
"default": "Suscribirse",
"required": true,
"description": "Texto del botón de suscripción"
}
}
},
"copyright": {
"label": "Copyright",
"priority": 50,
"fields": {
"text": {
"type": "text",
"label": "Texto de copyright",
"default": "ROI Theme. Todos los derechos reservados.",
"required": true,
"description": "Texto que aparece después del año"
},
"year_auto": {
"type": "boolean",
"label": "Año automático",
"default": true,
"description": "Mostrar el año actual automáticamente"
}
}
},
"social_links": {
"label": "Redes Sociales",
"priority": 60,
"fields": {
"twitter": {
"type": "text",
"label": "Twitter URL",
"default": "",
"description": "URL completa de perfil de Twitter (deja vacío para ocultar)"
},
"instagram": {
"type": "text",
"label": "Instagram URL",
"default": "",
"description": "URL completa de perfil de Instagram"
},
"facebook": {
"type": "text",
"label": "Facebook URL",
"default": "",
"description": "URL completa de página de Facebook"
},
"linkedin": {
"type": "text",
"label": "LinkedIn URL",
"default": "",
"description": "URL completa de perfil o página de LinkedIn"
}
}
},
"styles": {
"label": "Estilos",
"priority": 70,
"fields": {
"background_color": {
"type": "text",
"label": "Clase de fondo",
"default": "bg-dark",
"description": "Clase de Bootstrap para el fondo (ej: bg-dark, bg-secondary)"
},
"text_color": {
"type": "text",
"label": "Clase de color de texto",
"default": "text-white",
"description": "Clase de Bootstrap para el color de texto"
},
"link_hover_color": {
"type": "color",
"label": "Color de enlaces al hover",
"default": "#FF8600",
"description": "Color de los enlaces cuando se pasa el mouse sobre ellos"
}
}
}
}
}

View File

@@ -1,410 +0,0 @@
{
"component_name": "hero-section",
"version": "1.0.0",
"description": "Sección hero con badges de categorías y título H1 con gradiente",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Mostrar hero section",
"default": true,
"required": true,
"description": "Activa o desactiva la sección hero"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "posts",
"options": {
"all": "Todas las páginas",
"home": "Solo página de inicio",
"posts": "Solo posts individuales",
"pages": "Solo páginas",
"custom": "Tipos de post específicos"
},
"required": true,
"description": "Define en qué páginas se mostrará la hero section"
},
"custom_post_types": {
"type": "text",
"label": "Tipos de post personalizados",
"default": "",
"placeholder": "Ej: post,page,producto",
"conditional_logic": {
"field": "show_on_pages",
"operator": "==",
"value": "custom"
},
"description": "Slugs de tipos de post separados por comas"
}
}
},
"categories": {
"label": "Badges de Categorías",
"priority": 20,
"fields": {
"show_categories": {
"type": "boolean",
"label": "Mostrar badges de categorías",
"default": true,
"description": "Muestra badges con las categorías del post"
},
"categories_source": {
"type": "select",
"label": "Fuente de categorías",
"default": "post_categories",
"options": {
"post_categories": "Categorías del post",
"post_tags": "Etiquetas del post",
"custom_taxonomy": "Taxonomía personalizada",
"custom_list": "Lista personalizada"
},
"conditional_logic": {
"field": "show_categories",
"operator": "==",
"value": true
},
"required": true,
"description": "Define de dónde obtener las categorías"
},
"custom_taxonomy_name": {
"type": "text",
"label": "Nombre de taxonomía personalizada",
"default": "",
"placeholder": "Ej: project_category",
"conditional_logic": {
"field": "categories_source",
"operator": "==",
"value": "custom_taxonomy"
},
"description": "Slug de la taxonomía personalizada"
},
"custom_categories_list": {
"type": "textarea",
"label": "Lista personalizada de categorías",
"default": "",
"placeholder": "Análisis de Precios|#\nConstrucción|#\nMateriales|#",
"rows": 5,
"conditional_logic": {
"field": "categories_source",
"operator": "==",
"value": "custom_list"
},
"description": "Una categoría por línea en formato: Nombre|URL"
},
"max_categories": {
"type": "number",
"label": "Máximo de categorías a mostrar",
"default": 5,
"min": 1,
"max": 20,
"conditional_logic": {
"field": "show_categories",
"operator": "==",
"value": true
},
"description": "Número máximo de badges a mostrar"
},
"category_icon": {
"type": "text",
"label": "Ícono de categoría",
"default": "bi-folder-fill",
"placeholder": "Ej: bi-folder-fill",
"conditional_logic": {
"field": "show_categories",
"operator": "==",
"value": true
},
"description": "Clase del ícono Bootstrap para los badges"
},
"categories_alignment": {
"type": "select",
"label": "Alineación de categorías",
"default": "center",
"options": {
"left": "Izquierda",
"center": "Centro",
"right": "Derecha"
},
"conditional_logic": {
"field": "show_categories",
"operator": "==",
"value": true
},
"description": "Alineación de los badges de categorías"
}
}
},
"title": {
"label": "Título Principal",
"priority": 30,
"fields": {
"title_source": {
"type": "select",
"label": "Fuente del título",
"default": "post_title",
"options": {
"post_title": "Título del post",
"custom_field": "Campo personalizado",
"custom_text": "Texto personalizado"
},
"required": true,
"description": "Define de dónde obtener el texto del título"
},
"custom_field_name": {
"type": "text",
"label": "Nombre del campo personalizado",
"default": "",
"placeholder": "Ej: hero_title",
"conditional_logic": {
"field": "title_source",
"operator": "==",
"value": "custom_field"
},
"description": "Nombre del custom field de WordPress"
},
"custom_text": {
"type": "textarea",
"label": "Texto personalizado",
"default": "",
"rows": 3,
"maxlength": 500,
"conditional_logic": {
"field": "title_source",
"operator": "==",
"value": "custom_text"
},
"description": "Texto personalizado para el título"
},
"title_tag": {
"type": "select",
"label": "Etiqueta HTML del título",
"default": "h1",
"options": {
"h1": "H1",
"h2": "H2",
"h3": "H3",
"div": "DIV"
},
"description": "Etiqueta HTML para el título"
},
"title_classes": {
"type": "text",
"label": "Clases CSS adicionales",
"default": "display-5 fw-bold",
"placeholder": "Ej: display-5 fw-bold",
"description": "Clases CSS adicionales para el título"
},
"title_alignment": {
"type": "select",
"label": "Alineación del título",
"default": "center",
"options": {
"left": "Izquierda",
"center": "Centro",
"right": "Derecha"
},
"description": "Alineación del título"
},
"enable_gradient": {
"type": "boolean",
"label": "Activar gradiente en el texto",
"default": false,
"description": "Aplica efecto de gradiente al texto del título"
},
"gradient_color_start": {
"type": "color",
"label": "Color inicial del gradiente",
"default": "#1e3a5f",
"conditional_logic": {
"field": "enable_gradient",
"operator": "==",
"value": true
},
"description": "Color de inicio del gradiente"
},
"gradient_color_end": {
"type": "color",
"label": "Color final del gradiente",
"default": "#FF8600",
"conditional_logic": {
"field": "enable_gradient",
"operator": "==",
"value": true
},
"description": "Color final del gradiente"
},
"gradient_direction": {
"type": "select",
"label": "Dirección del gradiente",
"default": "to-right",
"options": {
"to-right": "Izquierda a derecha",
"to-left": "Derecha a izquierda",
"to-bottom": "Arriba a abajo",
"to-top": "Abajo a arriba",
"diagonal": "Diagonal"
},
"conditional_logic": {
"field": "enable_gradient",
"operator": "==",
"value": true
},
"description": "Dirección del gradiente"
}
}
},
"styles": {
"label": "Estilos",
"priority": 40,
"fields": {
"background_type": {
"type": "select",
"label": "Tipo de fondo",
"default": "gradient",
"options": {
"color": "Color sólido",
"gradient": "Gradiente",
"image": "Imagen",
"none": "Sin fondo"
},
"required": true,
"description": "Tipo de fondo para la hero section"
},
"background_color": {
"type": "color",
"label": "Color de fondo",
"default": "#1e3a5f",
"conditional_logic": {
"field": "background_type",
"operator": "==",
"value": "color"
},
"description": "Color sólido de fondo"
},
"gradient_start_color": {
"type": "color",
"label": "Color inicial del gradiente",
"default": "#1e3a5f",
"conditional_logic": {
"field": "background_type",
"operator": "==",
"value": "gradient"
},
"description": "Color de inicio del gradiente de fondo"
},
"gradient_end_color": {
"type": "color",
"label": "Color final del gradiente",
"default": "#2c5282",
"conditional_logic": {
"field": "background_type",
"operator": "==",
"value": "gradient"
},
"description": "Color final del gradiente de fondo"
},
"gradient_angle": {
"type": "number",
"label": "Ángulo del gradiente (grados)",
"default": 135,
"min": 0,
"max": 360,
"conditional_logic": {
"field": "background_type",
"operator": "==",
"value": "gradient"
},
"description": "Ángulo del gradiente en grados (0-360)"
},
"background_image_url": {
"type": "media",
"label": "Imagen de fondo",
"default": "",
"media_type": "image",
"conditional_logic": {
"field": "background_type",
"operator": "==",
"value": "image"
},
"description": "Imagen de fondo para la hero section"
},
"background_overlay": {
"type": "boolean",
"label": "Overlay oscuro sobre imagen",
"default": true,
"conditional_logic": {
"field": "background_type",
"operator": "==",
"value": "image"
},
"description": "Agrega capa oscura sobre la imagen de fondo"
},
"overlay_opacity": {
"type": "number",
"label": "Opacidad del overlay (%)",
"default": 60,
"min": 0,
"max": 100,
"conditional_logic": {
"field": "background_overlay",
"operator": "==",
"value": true
},
"description": "Opacidad de la capa oscura (0-100)"
},
"text_color": {
"type": "color",
"label": "Color del texto",
"default": "#FFFFFF",
"description": "Color del texto del título y elementos"
},
"padding_vertical": {
"type": "select",
"label": "Padding vertical",
"default": "normal",
"options": {
"compact": "Compacto (2rem)",
"normal": "Normal (3rem)",
"spacious": "Espacioso (4rem)",
"extra-spacious": "Extra espacioso (5rem)"
},
"description": "Espaciado vertical de la sección"
},
"margin_bottom": {
"type": "select",
"label": "Margen inferior",
"default": "normal",
"options": {
"none": "Sin margen",
"small": "Pequeño (1rem)",
"normal": "Normal (1.5rem)",
"large": "Grande (2rem)"
},
"description": "Margen inferior de la sección"
},
"category_badge_background": {
"type": "color",
"label": "Fondo de badges",
"default": "rgba(255, 255, 255, 0.2)",
"description": "Color de fondo de los badges de categorías"
},
"category_badge_text_color": {
"type": "color",
"label": "Color del texto de badges",
"default": "#FFFFFF",
"description": "Color del texto en los badges de categorías"
},
"category_badge_blur": {
"type": "boolean",
"label": "Efecto blur en badges",
"default": true,
"description": "Aplica efecto de desenfoque (backdrop-filter) a los badges"
}
}
}
}
}

View File

@@ -1,421 +0,0 @@
{
"component_name": "navbar",
"version": "1.0.0",
"description": "Barra de navegación principal con menú Bootstrap, logo y botón CTA",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Mostrar navbar",
"default": true,
"required": true,
"description": "Activa o desactiva la barra de navegación"
},
"is_sticky": {
"type": "boolean",
"label": "Navbar fijo (sticky)",
"default": true,
"description": "Mantiene el navbar fijo al hacer scroll"
},
"hide_on_scroll": {
"type": "boolean",
"label": "Ocultar al hacer scroll hacia abajo",
"default": false,
"description": "Oculta el navbar cuando el usuario hace scroll hacia abajo"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en dispositivos móviles",
"default": true,
"description": "Muestra el navbar en pantallas pequeñas con menú hamburguesa"
}
}
},
"logo": {
"label": "Logo",
"priority": 20,
"fields": {
"logo_type": {
"type": "select",
"label": "Tipo de logo",
"default": "image",
"options": {
"image": "Imagen",
"text": "Texto",
"none": "Sin logo"
},
"required": true,
"description": "Define el tipo de logo a mostrar"
},
"logo_image_url": {
"type": "media",
"label": "Imagen del logo",
"default": "",
"media_type": "image",
"conditional_logic": {
"field": "logo_type",
"operator": "==",
"value": "image"
},
"required": true,
"description": "Sube la imagen del logo (recomendado: PNG transparente)"
},
"logo_image_width": {
"type": "number",
"label": "Ancho del logo (px)",
"default": 150,
"min": 50,
"max": 400,
"conditional_logic": {
"field": "logo_type",
"operator": "==",
"value": "image"
},
"description": "Ancho del logo en píxeles"
},
"logo_text": {
"type": "text",
"label": "Texto del logo",
"default": "",
"maxlength": 50,
"conditional_logic": {
"field": "logo_type",
"operator": "==",
"value": "text"
},
"description": "Texto a mostrar como logo"
},
"logo_link": {
"type": "url",
"label": "Enlace del logo",
"default": "",
"placeholder": "Dejar vacío para usar la URL del home",
"description": "URL de destino al hacer clic en el logo"
},
"logo_position": {
"type": "select",
"label": "Posición del logo",
"default": "left",
"options": {
"left": "Izquierda",
"center": "Centro",
"right": "Derecha"
},
"description": "Posición del logo en el navbar"
}
}
},
"menu": {
"label": "Menú de Navegación",
"priority": 30,
"fields": {
"menu_location": {
"type": "select",
"label": "Ubicación del menú",
"default": "primary",
"options": {
"primary": "Menú Principal",
"secondary": "Menú Secundario",
"custom": "Menú personalizado"
},
"required": true,
"description": "Selecciona qué menú de WordPress mostrar"
},
"custom_menu_id": {
"type": "number",
"label": "ID del menú personalizado",
"default": 0,
"min": 0,
"conditional_logic": {
"field": "menu_location",
"operator": "==",
"value": "custom"
},
"description": "ID del menú personalizado de WordPress"
},
"menu_alignment": {
"type": "select",
"label": "Alineación del menú",
"default": "left",
"options": {
"left": "Izquierda",
"center": "Centro",
"right": "Derecha"
},
"description": "Alineación de los items del menú"
},
"enable_dropdowns": {
"type": "boolean",
"label": "Habilitar menús desplegables",
"default": true,
"description": "Permite submenús desplegables"
},
"dropdown_animation": {
"type": "select",
"label": "Animación de dropdowns",
"default": "fade",
"options": {
"none": "Sin animación",
"fade": "Aparecer gradualmente",
"slide": "Deslizar"
},
"conditional_logic": {
"field": "enable_dropdowns",
"operator": "==",
"value": true
},
"description": "Tipo de animación para los submenús"
},
"mobile_breakpoint": {
"type": "select",
"label": "Breakpoint para menú móvil",
"default": "lg",
"options": {
"sm": "Small (576px)",
"md": "Medium (768px)",
"lg": "Large (992px)",
"xl": "Extra Large (1200px)"
},
"description": "Punto de quiebre para mostrar menú hamburguesa"
}
}
},
"cta_button": {
"label": "Botón CTA (Call to Action)",
"priority": 40,
"fields": {
"button_enabled": {
"type": "boolean",
"label": "Mostrar botón CTA",
"default": true,
"description": "Activa o desactiva el botón de llamada a la acción"
},
"button_text": {
"type": "text",
"label": "Texto del botón",
"default": "Let's Talk",
"maxlength": 30,
"conditional_logic": {
"field": "button_enabled",
"operator": "==",
"value": true
},
"required": true,
"description": "Texto que aparece en el botón"
},
"button_icon": {
"type": "text",
"label": "Ícono del botón",
"default": "bi-lightning-charge-fill",
"placeholder": "Ej: bi-lightning-charge-fill",
"conditional_logic": {
"field": "button_enabled",
"operator": "==",
"value": true
},
"description": "Clase del ícono Bootstrap (dejar vacío para sin ícono)"
},
"button_action_type": {
"type": "select",
"label": "Tipo de acción del botón",
"default": "modal",
"options": {
"modal": "Abrir modal",
"link": "Ir a URL",
"scroll": "Scroll a sección"
},
"conditional_logic": {
"field": "button_enabled",
"operator": "==",
"value": true
},
"required": true,
"description": "Acción que se ejecuta al hacer clic"
},
"button_modal_target": {
"type": "text",
"label": "ID del modal",
"default": "#contactModal",
"placeholder": "#contactModal",
"conditional_logic": {
"field": "button_action_type",
"operator": "==",
"value": "modal"
},
"required": true,
"description": "ID del modal de Bootstrap a abrir (incluir #)"
},
"button_link_url": {
"type": "url",
"label": "URL del enlace",
"default": "",
"placeholder": "https://",
"conditional_logic": {
"field": "button_action_type",
"operator": "==",
"value": "link"
},
"required": true,
"description": "URL de destino del botón"
},
"button_link_target": {
"type": "select",
"label": "Abrir enlace en",
"default": "_self",
"options": {
"_self": "Misma ventana",
"_blank": "Nueva ventana"
},
"conditional_logic": {
"field": "button_action_type",
"operator": "==",
"value": "link"
},
"description": "Destino del enlace"
},
"button_scroll_target": {
"type": "text",
"label": "ID de la sección",
"default": "",
"placeholder": "#contact",
"conditional_logic": {
"field": "button_action_type",
"operator": "==",
"value": "scroll"
},
"required": true,
"description": "ID de la sección a la que hacer scroll (incluir #)"
},
"button_position": {
"type": "select",
"label": "Posición del botón",
"default": "right",
"options": {
"left": "Antes del menú",
"right": "Después del menú"
},
"conditional_logic": {
"field": "button_enabled",
"operator": "==",
"value": true
},
"description": "Ubicación del botón en el navbar"
}
}
},
"styles": {
"label": "Estilos",
"priority": 50,
"fields": {
"background_color": {
"type": "color",
"label": "Color de fondo",
"default": "#1e3a5f",
"description": "Color de fondo del navbar (por defecto: navy primary)"
},
"text_color": {
"type": "color",
"label": "Color del texto",
"default": "#FFFFFF",
"description": "Color del texto de los links del menú"
},
"hover_color": {
"type": "color",
"label": "Color hover",
"default": "#FF8600",
"description": "Color al pasar el mouse sobre los links (por defecto: orange primary)"
},
"active_color": {
"type": "color",
"label": "Color del item activo",
"default": "#FF8600",
"description": "Color del item de menú activo/actual"
},
"button_background": {
"type": "color",
"label": "Color de fondo del botón",
"default": "#FF8600",
"description": "Color de fondo del botón CTA"
},
"button_text_color": {
"type": "color",
"label": "Color del texto del botón",
"default": "#FFFFFF",
"description": "Color del texto del botón CTA"
},
"button_hover_background": {
"type": "color",
"label": "Color hover del botón",
"default": "#FF6B35",
"description": "Color de fondo del botón al hacer hover"
},
"padding_vertical": {
"type": "select",
"label": "Padding vertical",
"default": "normal",
"options": {
"compact": "Compacto (0.5rem)",
"normal": "Normal (1rem)",
"spacious": "Espacioso (1.5rem)"
},
"description": "Espaciado vertical del navbar"
},
"shadow_enabled": {
"type": "boolean",
"label": "Activar sombra",
"default": true,
"description": "Agrega sombra debajo del navbar"
},
"shadow_intensity": {
"type": "select",
"label": "Intensidad de la sombra",
"default": "medium",
"options": {
"light": "Ligera",
"medium": "Media",
"strong": "Fuerte"
},
"conditional_logic": {
"field": "shadow_enabled",
"operator": "==",
"value": true
},
"description": "Intensidad de la sombra del navbar"
},
"border_bottom_enabled": {
"type": "boolean",
"label": "Borde inferior",
"default": false,
"description": "Agrega un borde en la parte inferior del navbar"
},
"border_bottom_color": {
"type": "color",
"label": "Color del borde inferior",
"default": "#FF8600",
"conditional_logic": {
"field": "border_bottom_enabled",
"operator": "==",
"value": true
},
"description": "Color del borde inferior"
},
"border_bottom_width": {
"type": "number",
"label": "Grosor del borde (px)",
"default": 3,
"min": 1,
"max": 10,
"conditional_logic": {
"field": "border_bottom_enabled",
"operator": "==",
"value": true
},
"description": "Grosor del borde inferior en píxeles"
}
}
}
}
}

View File

@@ -1,145 +0,0 @@
{
"component_name": "related-posts",
"version": "1.0.0",
"description": "Posts relacionados al final del contenido principal",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar posts relacionados",
"default": true,
"required": true,
"description": "Activa o desactiva el componente de posts relacionados"
},
"section_title": {
"type": "text",
"label": "Título de la sección",
"default": "Descubre Más Contenido",
"maxlength": 200,
"required": true,
"description": "Título que aparece antes del grid de posts"
}
}
},
"query": {
"label": "Configuración de Consulta",
"priority": 20,
"fields": {
"posts_per_page": {
"type": "number",
"label": "Posts por página",
"default": 12,
"min": 1,
"max": 100,
"required": true,
"description": "Cantidad de posts a mostrar por página"
},
"post_selection": {
"type": "select",
"label": "Criterio de selección",
"default": "category",
"options": {
"category": "Misma categoría",
"tags": "Mismos tags",
"both": "Categoría y tags",
"recent": "Más recientes",
"random": "Aleatorio"
},
"required": true,
"description": "Cómo seleccionar los posts relacionados"
},
"exclude_current_post": {
"type": "boolean",
"label": "Excluir post actual",
"default": true,
"description": "Excluye el post actual de los resultados"
}
}
},
"layout": {
"label": "Diseño y Disposición",
"priority": 30,
"fields": {
"columns": {
"type": "select",
"label": "Número de columnas",
"default": "3",
"options": {
"1": "1 columna",
"2": "2 columnas",
"3": "3 columnas",
"4": "4 columnas"
},
"required": true,
"description": "Número de columnas en el grid"
},
"card_height": {
"type": "select",
"label": "Altura de cards",
"default": "equal",
"options": {
"auto": "Automática",
"equal": "Igual (centrado)"
},
"description": "Controla cómo se muestran las cards"
}
}
},
"pagination": {
"label": "Paginación",
"priority": 40,
"fields": {
"show_pagination": {
"type": "boolean",
"label": "Mostrar paginación",
"default": true,
"description": "Muestra u oculta la paginación"
},
"pagination_position": {
"type": "select",
"label": "Posición de la paginación",
"default": "center",
"options": {
"left": "Izquierda",
"center": "Centro",
"right": "Derecha"
},
"conditional_logic": {
"field": "show_pagination",
"operator": "==",
"value": true
},
"description": "Alineación de la paginación"
}
}
},
"styles": {
"label": "Estilos",
"priority": 50,
"fields": {
"container_classes": {
"type": "text",
"label": "Clases CSS del contenedor",
"default": "my-5 related-posts",
"description": "Clases CSS adicionales para el contenedor principal"
},
"grid_gap": {
"type": "select",
"label": "Espaciado del grid",
"default": "4",
"options": {
"1": "Muy pequeño",
"2": "Pequeño",
"3": "Normal",
"4": "Grande",
"5": "Muy grande"
},
"description": "Espaciado entre cards"
}
}
}
}
}

View File

@@ -1,112 +0,0 @@
{
"component_name": "share-buttons",
"version": "1.0.0",
"description": "Botones para compartir contenido en redes sociales",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar botones de compartir",
"default": true,
"required": true,
"description": "Activa o desactiva los botones de compartir en redes sociales"
},
"show_label": {
"type": "boolean",
"label": "Mostrar etiqueta",
"default": true,
"description": "Muestra u oculta el texto de etiqueta antes de los botones"
},
"label_text": {
"type": "text",
"label": "Texto de etiqueta",
"default": "Compartir:",
"maxlength": 100,
"conditional_logic": {
"field": "show_label",
"operator": "==",
"value": true
},
"description": "Texto que aparece antes de los botones"
}
}
},
"networks": {
"label": "Redes Sociales",
"priority": 20,
"fields": {
"enabled_networks": {
"type": "multiselect",
"label": "Redes sociales habilitadas",
"default": ["facebook", "instagram", "linkedin", "whatsapp", "twitter", "email"],
"options": {
"facebook": "Facebook",
"instagram": "Instagram",
"linkedin": "LinkedIn",
"whatsapp": "WhatsApp",
"twitter": "Twitter / X",
"email": "Email"
},
"required": true,
"description": "Lista de redes sociales que se mostrarán"
},
"show_network_labels": {
"type": "boolean",
"label": "Mostrar nombres de redes",
"default": false,
"description": "Muestra el nombre de la red social junto al icono"
}
}
},
"button_styles": {
"label": "Estilos de Botones",
"priority": 30,
"fields": {
"button_style": {
"type": "select",
"label": "Estilo de botones",
"default": "outline",
"options": {
"outline": "Outline (contorno)",
"solid": "Solid (relleno)"
},
"required": true,
"description": "Estilo visual de los botones"
},
"button_size": {
"type": "select",
"label": "Tamaño de botones",
"default": "sm",
"options": {
"sm": "Pequeño",
"md": "Mediano",
"lg": "Grande"
},
"required": true,
"description": "Tamaño de los botones"
}
}
},
"advanced": {
"label": "Configuración Avanzada",
"priority": 40,
"fields": {
"container_classes": {
"type": "text",
"label": "Clases CSS del contenedor",
"default": "my-5 py-4 border-top",
"description": "Clases CSS adicionales para el contenedor principal"
},
"buttons_wrapper_classes": {
"type": "text",
"label": "Clases CSS del wrapper de botones",
"default": "d-flex gap-2 flex-wrap share-buttons",
"description": "Clases CSS para el wrapper de los botones"
}
}
}
}
}

View File

@@ -1,171 +0,0 @@
{
"component_name": "table-of-contents",
"version": "1.0.0",
"description": "Tabla de contenido con ScrollSpy para navegación lateral",
"groups": {
"visibility": {
"label": "Visibilidad y Comportamiento",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar tabla de contenido",
"default": true,
"required": true,
"description": "Activa o desactiva el componente de tabla de contenido"
},
"sticky": {
"type": "boolean",
"label": "Posición sticky",
"default": true,
"description": "Mantiene el TOC visible al hacer scroll"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en móviles",
"default": false,
"description": "Muestra el TOC en dispositivos móviles"
}
}
},
"config": {
"label": "Configuración General",
"priority": 20,
"fields": {
"title": {
"type": "text",
"label": "Título del TOC",
"default": "Tabla de Contenido",
"maxlength": 100,
"required": true,
"description": "Título que aparece en el encabezado del TOC"
},
"heading_levels": {
"type": "multiselect",
"label": "Niveles de encabezados",
"default": ["h2", "h3"],
"options": {
"h2": "H2",
"h3": "H3",
"h4": "H4",
"h5": "H5",
"h6": "H6"
},
"required": true,
"description": "Niveles de encabezados a incluir en el TOC"
},
"auto_generate": {
"type": "boolean",
"label": "Generar automáticamente",
"default": true,
"description": "Generar TOC desde el contenido del post"
},
"offset_top": {
"type": "number",
"label": "Offset top (px)",
"default": 100,
"min": 0,
"max": 500,
"description": "Offset desde el top para el ScrollSpy"
},
"smooth_scroll": {
"type": "boolean",
"label": "Scroll suave",
"default": true,
"description": "Activar scroll suave al hacer clic en enlaces"
},
"max_height": {
"type": "text",
"label": "Altura máxima",
"default": "calc(100vh - 400px)",
"description": "Altura máxima del contenedor TOC (CSS válido)"
},
"custom_css_class": {
"type": "text",
"label": "Clase CSS personalizada",
"default": "",
"description": "Clase CSS adicional para el contenedor"
}
}
},
"manual_items": {
"label": "Items Manuales",
"priority": 30,
"fields": {
"items": {
"type": "repeater",
"label": "Items del TOC",
"default": [],
"description": "Items manuales si auto_generate es false",
"subfields": {
"text": {
"type": "text",
"label": "Texto del enlace",
"required": true
},
"anchor": {
"type": "text",
"label": "ID del ancla (sin #)",
"required": true
},
"level": {
"type": "number",
"label": "Nivel (2-6)",
"default": 2,
"min": 2,
"max": 6
}
}
}
}
},
"styles": {
"label": "Estilos Personalizados",
"priority": 40,
"fields": {
"background_color": {
"type": "color",
"label": "Color de fondo",
"default": "#ffffff",
"description": "Color de fondo del contenedor"
},
"border_color": {
"type": "color",
"label": "Color de borde",
"default": "#E6E9ED",
"description": "Color del borde del contenedor"
},
"title_color": {
"type": "color",
"label": "Color del título",
"default": "#0E2337",
"description": "Color del texto del título"
},
"link_color": {
"type": "color",
"label": "Color de enlaces",
"default": "#6B7280",
"description": "Color de los enlaces del TOC"
},
"link_hover_color": {
"type": "color",
"label": "Color de enlaces (hover)",
"default": "#0E2337",
"description": "Color de los enlaces al pasar el mouse"
},
"active_border_color": {
"type": "color",
"label": "Color de borde activo",
"default": "#0E2337",
"description": "Color del borde izquierdo del item activo"
},
"active_bg_color": {
"type": "color",
"label": "Color de fondo activo",
"default": "#F9FAFB",
"description": "Color de fondo del item activo"
}
}
}
}
}

View File

@@ -1,258 +0,0 @@
{
"component_name": "top_notification_bar",
"version": "1.0.0",
"description": "Barra de notificación superior con anuncio destacado, ícono y enlace de acción",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Mostrar barra de notificación",
"default": true,
"required": true,
"description": "Activa o desactiva la barra de notificación superior"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "all",
"options": {
"all": "Todas las páginas",
"home": "Solo página de inicio",
"posts": "Solo posts individuales",
"pages": "Solo páginas",
"custom": "Páginas específicas"
},
"required": true,
"description": "Define en qué páginas se mostrará la barra"
},
"custom_page_ids": {
"type": "text",
"label": "IDs de páginas específicas",
"default": "",
"placeholder": "Ej: 1,5,10",
"conditional_logic": {
"field": "show_on_pages",
"operator": "==",
"value": "custom"
},
"description": "IDs de páginas separados por comas"
},
"hide_on_mobile": {
"type": "boolean",
"label": "Ocultar en dispositivos móviles",
"default": false,
"description": "Oculta la barra en pantallas menores a 768px"
},
"is_dismissible": {
"type": "boolean",
"label": "Permitir cerrar",
"default": false,
"description": "Agrega botón X para que el usuario pueda cerrar la barra"
},
"dismissible_cookie_days": {
"type": "number",
"label": "Días antes de volver a mostrar",
"default": 7,
"min": 1,
"max": 365,
"conditional_logic": {
"field": "is_dismissible",
"operator": "==",
"value": true
},
"description": "Días que permanece oculta después de cerrarla"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"icon_type": {
"type": "select",
"label": "Tipo de ícono",
"default": "bootstrap",
"options": {
"bootstrap": "Bootstrap Icons",
"custom": "Imagen personalizada",
"none": "Sin ícono"
},
"required": true,
"description": "Selecciona el tipo de ícono a mostrar"
},
"bootstrap_icon": {
"type": "text",
"label": "Clase de ícono Bootstrap",
"default": "bi-megaphone-fill",
"placeholder": "Ej: bi-megaphone-fill",
"conditional_logic": {
"field": "icon_type",
"operator": "==",
"value": "bootstrap"
},
"required": true,
"description": "Nombre de la clase del ícono sin el prefijo 'bi' (ej: megaphone-fill)"
},
"custom_icon_url": {
"type": "media",
"label": "Imagen personalizada",
"default": "",
"media_type": "image",
"conditional_logic": {
"field": "icon_type",
"operator": "==",
"value": "custom"
},
"description": "Sube una imagen personalizada (recomendado: PNG 24x24px)"
},
"announcement_label": {
"type": "text",
"label": "Etiqueta del anuncio",
"default": "Nuevo:",
"placeholder": "Ej: Nuevo:, Importante:, Aviso:",
"maxlength": 30,
"required": true,
"description": "Texto destacado en negrita antes del mensaje"
},
"announcement_text": {
"type": "textarea",
"label": "Texto del anuncio",
"default": "Accede a más de 200,000 Análisis de Precios Unitarios actualizados para 2025.",
"maxlength": 200,
"rows": 3,
"required": true,
"description": "Mensaje principal del anuncio (máximo 200 caracteres)"
},
"link_enabled": {
"type": "boolean",
"label": "Mostrar enlace",
"default": true,
"description": "Activa o desactiva el enlace de acción"
},
"link_text": {
"type": "text",
"label": "Texto del enlace",
"default": "Ver Catálogo",
"maxlength": 50,
"conditional_logic": {
"field": "link_enabled",
"operator": "==",
"value": true
},
"required": true,
"description": "Texto del enlace de acción"
},
"link_url": {
"type": "url",
"label": "URL del enlace",
"default": "#",
"placeholder": "https://",
"conditional_logic": {
"field": "link_enabled",
"operator": "==",
"value": true
},
"required": true,
"description": "URL de destino del enlace"
},
"link_target": {
"type": "select",
"label": "Abrir enlace en",
"default": "_self",
"options": {
"_self": "Misma ventana",
"_blank": "Nueva ventana"
},
"conditional_logic": {
"field": "link_enabled",
"operator": "==",
"value": true
},
"description": "Define cómo se abrirá el enlace"
}
}
},
"styles": {
"label": "Estilos",
"priority": 30,
"fields": {
"background_color": {
"type": "color",
"label": "Color de fondo",
"default": "#FF8600",
"description": "Color de fondo de la barra (por defecto: orange primary)"
},
"text_color": {
"type": "color",
"label": "Color del texto",
"default": "#FFFFFF",
"description": "Color del texto del anuncio"
},
"link_color": {
"type": "color",
"label": "Color del enlace",
"default": "#FFFFFF",
"description": "Color del enlace de acción"
},
"font_size": {
"type": "select",
"label": "Tamaño de fuente",
"default": "small",
"options": {
"extra-small": "Muy pequeño (0.75rem)",
"small": "Pequeño (0.875rem)",
"normal": "Normal (1rem)",
"large": "Grande (1.125rem)"
},
"description": "Tamaño del texto del anuncio"
},
"padding_vertical": {
"type": "select",
"label": "Padding vertical",
"default": "normal",
"options": {
"compact": "Compacto (0.5rem)",
"normal": "Normal (0.75rem)",
"spacious": "Espacioso (1rem)"
},
"description": "Espaciado vertical interno de la barra"
},
"text_alignment": {
"type": "select",
"label": "Alineación del texto",
"default": "center",
"options": {
"left": "Izquierda",
"center": "Centro",
"right": "Derecha"
},
"description": "Alineación del contenido de la barra"
},
"animation_enabled": {
"type": "boolean",
"label": "Activar animación",
"default": false,
"description": "Activa animación de entrada al cargar la página"
},
"animation_type": {
"type": "select",
"label": "Tipo de animación",
"default": "slide-down",
"options": {
"slide-down": "Deslizar desde arriba",
"fade-in": "Aparecer gradualmente"
},
"conditional_logic": {
"field": "animation_enabled",
"operator": "==",
"value": true
},
"description": "Tipo de animación de entrada"
}
}
}
}
}

403
schemas/contact-form.json Normal file
View File

@@ -0,0 +1,403 @@
{
"component_name": "contact-form",
"version": "1.0.0",
"description": "Formulario de contacto con envio a webhook configurable (antes del footer)",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar componente",
"default": true,
"editable": true,
"required": true
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en escritorio",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas >= 992px"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en movil",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas < 992px"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "all",
"editable": true,
"options": ["all", "posts", "pages"],
"description": "Tipos de contenido donde se muestra"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"section_title": {
"type": "text",
"label": "Titulo de seccion",
"default": "¿Tienes alguna pregunta?",
"editable": true
},
"section_description": {
"type": "textarea",
"label": "Descripcion",
"default": "Completa el formulario y nuestro equipo te responderá en menos de 24 horas.",
"editable": true
},
"submit_button_text": {
"type": "text",
"label": "Texto boton enviar",
"default": "Enviar Mensaje",
"editable": true
},
"submit_button_icon": {
"type": "text",
"label": "Icono boton",
"default": "bi-send-fill",
"editable": true,
"description": "Clase de Bootstrap Icons"
}
}
},
"contact_info": {
"label": "Info de Contacto",
"priority": 30,
"fields": {
"show_contact_info": {
"type": "boolean",
"label": "Mostrar info contacto",
"default": true,
"editable": true
},
"phone_label": {
"type": "text",
"label": "Label telefono",
"default": "Teléfono",
"editable": true
},
"phone_value": {
"type": "text",
"label": "Numero telefono",
"default": "+52 55 1234 5678",
"editable": true
},
"email_label": {
"type": "text",
"label": "Label email",
"default": "Email",
"editable": true
},
"email_value": {
"type": "text",
"label": "Direccion email",
"default": "contacto@apumexico.com",
"editable": true
},
"location_label": {
"type": "text",
"label": "Label ubicacion",
"default": "Ubicación",
"editable": true
},
"location_value": {
"type": "text",
"label": "Direccion ubicacion",
"default": "Ciudad de México, México",
"editable": true
}
}
},
"form_labels": {
"label": "Labels del Formulario",
"priority": 30,
"fields": {
"fullname_placeholder": {
"type": "text",
"label": "Placeholder nombre",
"default": "Nombre completo *",
"editable": true
},
"company_placeholder": {
"type": "text",
"label": "Placeholder empresa",
"default": "Empresa",
"editable": true
},
"whatsapp_placeholder": {
"type": "text",
"label": "Placeholder WhatsApp",
"default": "WhatsApp *",
"editable": true
},
"email_placeholder": {
"type": "text",
"label": "Placeholder email",
"default": "Correo electrónico *",
"editable": true
},
"message_placeholder": {
"type": "text",
"label": "Placeholder mensaje",
"default": "¿En qué podemos ayudarte?",
"editable": true
}
}
},
"integration": {
"label": "Integracion",
"priority": 40,
"fields": {
"webhook_url": {
"type": "url",
"label": "URL del Webhook",
"default": "",
"editable": true,
"description": "URL donde se enviaran los datos del formulario (no visible en frontend)",
"secret": true
},
"webhook_method": {
"type": "select",
"label": "Metodo HTTP",
"default": "POST",
"editable": true,
"options": ["POST", "GET"]
},
"include_page_url": {
"type": "boolean",
"label": "Incluir URL de pagina",
"default": true,
"editable": true,
"description": "Envia la URL de la pagina donde se envio el formulario"
},
"include_timestamp": {
"type": "boolean",
"label": "Incluir timestamp",
"default": true,
"editable": true,
"description": "Envia fecha/hora del envio"
}
}
},
"messages": {
"label": "Mensajes",
"priority": 40,
"fields": {
"success_message": {
"type": "textarea",
"label": "Mensaje exito",
"default": "¡Gracias por contactarnos! Te responderemos pronto.",
"editable": true
},
"error_message": {
"type": "textarea",
"label": "Mensaje error",
"default": "Hubo un error al enviar el mensaje. Por favor intenta de nuevo.",
"editable": true
},
"sending_message": {
"type": "text",
"label": "Mensaje enviando",
"default": "Enviando...",
"editable": true
},
"validation_required": {
"type": "text",
"label": "Error campo requerido",
"default": "Este campo es obligatorio",
"editable": true
},
"validation_email": {
"type": "text",
"label": "Error email invalido",
"default": "Por favor ingresa un email válido",
"editable": true
}
}
},
"colors": {
"label": "Colores",
"priority": 50,
"fields": {
"section_bg_color": {
"type": "color",
"label": "Fondo seccion",
"default": "rgba(108, 117, 125, 0.25)",
"editable": true,
"description": "bg-secondary bg-opacity-25"
},
"title_color": {
"type": "color",
"label": "Color titulo",
"default": "#212529",
"editable": true
},
"description_color": {
"type": "color",
"label": "Color descripcion",
"default": "#212529",
"editable": true
},
"icon_color": {
"type": "color",
"label": "Color iconos",
"default": "#FF8600",
"editable": true
},
"info_label_color": {
"type": "color",
"label": "Color labels info",
"default": "#212529",
"editable": true
},
"info_value_color": {
"type": "color",
"label": "Color valores info",
"default": "#6c757d",
"editable": true,
"description": "text-muted"
},
"input_border_color": {
"type": "color",
"label": "Borde inputs",
"default": "#dee2e6",
"editable": true
},
"input_focus_border": {
"type": "color",
"label": "Borde inputs focus",
"default": "#FF8600",
"editable": true
},
"button_bg_color": {
"type": "color",
"label": "Fondo boton",
"default": "#FF8600",
"editable": true
},
"button_text_color": {
"type": "color",
"label": "Texto boton",
"default": "#ffffff",
"editable": true
},
"button_hover_bg": {
"type": "color",
"label": "Fondo boton hover",
"default": "#e67a00",
"editable": true
},
"success_bg_color": {
"type": "color",
"label": "Fondo mensaje exito",
"default": "#d1e7dd",
"editable": true
},
"success_text_color": {
"type": "color",
"label": "Texto mensaje exito",
"default": "#0f5132",
"editable": true
},
"error_bg_color": {
"type": "color",
"label": "Fondo mensaje error",
"default": "#f8d7da",
"editable": true
},
"error_text_color": {
"type": "color",
"label": "Texto mensaje error",
"default": "#842029",
"editable": true
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 60,
"fields": {
"section_padding_y": {
"type": "text",
"label": "Padding vertical",
"default": "3rem",
"editable": true,
"description": "py-5 de Bootstrap"
},
"section_margin_top": {
"type": "text",
"label": "Margen superior",
"default": "3rem",
"editable": true,
"description": "mt-5 de Bootstrap"
},
"title_margin_bottom": {
"type": "text",
"label": "Margen inf. titulo",
"default": "0.75rem",
"editable": true,
"description": "mb-3 de Bootstrap"
},
"description_margin_bottom": {
"type": "text",
"label": "Margen inf. descripcion",
"default": "1.5rem",
"editable": true,
"description": "mb-4 de Bootstrap"
},
"form_gap": {
"type": "text",
"label": "Espacio entre campos",
"default": "1rem",
"editable": true,
"description": "g-3 de Bootstrap"
}
}
},
"visual_effects": {
"label": "Efectos Visuales",
"priority": 70,
"fields": {
"input_border_radius": {
"type": "text",
"label": "Radio inputs",
"default": "6px",
"editable": true
},
"button_border_radius": {
"type": "text",
"label": "Radio boton",
"default": "6px",
"editable": true
},
"button_padding": {
"type": "text",
"label": "Padding boton",
"default": "0.75rem 2rem",
"editable": true
},
"transition_duration": {
"type": "text",
"label": "Duracion transicion",
"default": "0.3s",
"editable": true
},
"textarea_rows": {
"type": "text",
"label": "Filas textarea",
"default": "4",
"editable": true
}
}
}
}
}

View File

@@ -0,0 +1,252 @@
{
"component_name": "cta-box-sidebar",
"version": "1.0.0",
"description": "Caja CTA en sidebar para captar leads con título, descripción y botón de acción",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar componente",
"default": true,
"editable": true,
"required": true
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en escritorio",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas >= 992px"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en móvil",
"default": false,
"editable": true,
"description": "Muestra el componente en pantallas < 992px"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "posts",
"editable": true,
"options": ["all", "posts", "pages"],
"description": "Tipos de contenido donde se muestra"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"title": {
"type": "text",
"label": "Título",
"default": "¿Listo para potenciar tus proyectos?",
"editable": true
},
"description": {
"type": "textarea",
"label": "Descripción",
"default": "Accede a nuestra biblioteca completa de APUs y herramientas profesionales.",
"editable": true
},
"button_text": {
"type": "text",
"label": "Texto del botón",
"default": "Solicitar Demo",
"editable": true
},
"button_icon": {
"type": "text",
"label": "Icono del botón",
"default": "bi bi-calendar-check",
"editable": true,
"description": "Clase Bootstrap Icons (ej: bi bi-calendar-check)"
},
"button_action": {
"type": "select",
"label": "Acción del botón",
"default": "modal",
"editable": true,
"options": ["modal", "link", "scroll"],
"description": "Comportamiento al hacer clic"
},
"button_link": {
"type": "url",
"label": "URL del botón",
"default": "#contactModal",
"editable": true,
"description": "URL o ID del modal (ej: #contactModal)"
}
}
},
"typography": {
"label": "Tipografía",
"priority": 30,
"fields": {
"title_font_size": {
"type": "text",
"label": "Tamaño título",
"default": "1.25rem",
"editable": true
},
"title_font_weight": {
"type": "text",
"label": "Peso título",
"default": "700",
"editable": true
},
"description_font_size": {
"type": "text",
"label": "Tamaño descripción",
"default": "0.9rem",
"editable": true
},
"button_font_size": {
"type": "text",
"label": "Tamaño texto botón",
"default": "1rem",
"editable": true
},
"button_font_weight": {
"type": "text",
"label": "Peso texto botón",
"default": "700",
"editable": true
}
}
},
"colors": {
"label": "Colores",
"priority": 40,
"fields": {
"background_color": {
"type": "color",
"label": "Fondo contenedor",
"default": "#FF8600",
"editable": true
},
"title_color": {
"type": "color",
"label": "Color título",
"default": "#ffffff",
"editable": true
},
"description_color": {
"type": "color",
"label": "Color descripción",
"default": "rgba(255, 255, 255, 0.95)",
"editable": true
},
"button_background_color": {
"type": "color",
"label": "Fondo botón",
"default": "#ffffff",
"editable": true
},
"button_text_color": {
"type": "color",
"label": "Color texto botón",
"default": "#FF8600",
"editable": true
},
"button_hover_background": {
"type": "color",
"label": "Fondo botón hover",
"default": "#1e3a5f",
"editable": true,
"description": "Color navy-primary del Design System"
},
"button_hover_text_color": {
"type": "color",
"label": "Texto botón hover",
"default": "#ffffff",
"editable": true
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 50,
"fields": {
"container_padding": {
"type": "text",
"label": "Padding contenedor",
"default": "24px",
"editable": true
},
"title_margin_bottom": {
"type": "text",
"label": "Margen inferior título",
"default": "1rem",
"editable": true
},
"description_margin_bottom": {
"type": "text",
"label": "Margen inferior descripción",
"default": "1rem",
"editable": true
},
"button_padding": {
"type": "text",
"label": "Padding botón",
"default": "0.75rem 1.5rem",
"editable": true
},
"icon_margin_right": {
"type": "text",
"label": "Margen derecho icono",
"default": "0.5rem",
"editable": true
}
}
},
"visual_effects": {
"label": "Efectos Visuales",
"priority": 60,
"fields": {
"border_radius": {
"type": "text",
"label": "Radio de borde contenedor",
"default": "8px",
"editable": true
},
"box_shadow": {
"type": "text",
"label": "Sombra contenedor",
"default": "0 4px 12px rgba(255, 133, 0, 0.2)",
"editable": true
},
"button_border_radius": {
"type": "text",
"label": "Radio de borde botón",
"default": "8px",
"editable": true
},
"transition_duration": {
"type": "text",
"label": "Duración transición",
"default": "0.3s",
"editable": true
}
}
},
"behavior": {
"label": "Comportamiento",
"priority": 70,
"fields": {
"text_align": {
"type": "select",
"label": "Alineación texto",
"default": "center",
"editable": true,
"options": ["left", "center", "right"]
}
}
}
}
}

300
schemas/cta-lets-talk.json Normal file
View File

@@ -0,0 +1,300 @@
{
"component_name": "cta-lets-talk",
"version": "1.0.0",
"description": "Botón CTA principal 'Let's Talk' que abre modal de contacto. Ubicado en navbar.",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Mostrar botón Let's Talk",
"default": true,
"editable": true,
"required": true,
"description": "Activa o desactiva el botón CTA en el navbar"
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en escritorio",
"default": true,
"editable": true,
"description": "Muestra el botón en pantallas desktop (≥992px)"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en móvil",
"default": false,
"editable": true,
"description": "Muestra el botón en pantallas móviles (<992px). Por defecto oculto para ahorrar espacio en navbar móvil"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "all",
"editable": true,
"required": true,
"options": {
"all": "Todas las páginas",
"home": "Solo página de inicio",
"posts": "Solo posts individuales",
"pages": "Solo páginas"
},
"description": "Define en qué páginas se mostrará el botón"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"button_text": {
"type": "text",
"label": "Texto del botón",
"default": "Let's Talk",
"editable": true,
"required": true,
"maxlength": 30,
"placeholder": "Ej: Let's Talk, Contáctanos, Hablemos",
"description": "Texto visible en el botón CTA"
},
"icon_class": {
"type": "text",
"label": "Clase del ícono Bootstrap",
"default": "bi-lightning-charge-fill",
"editable": true,
"required": true,
"placeholder": "Ej: bi-lightning-charge-fill, bi-chat-dots",
"description": "Clase del ícono Bootstrap Icons que aparece antes del texto"
},
"show_icon": {
"type": "boolean",
"label": "Mostrar ícono",
"default": true,
"editable": true,
"description": "Muestra u oculta el ícono del botón"
},
"modal_target": {
"type": "text",
"label": "ID del modal de destino",
"default": "#contactModal",
"editable": true,
"required": true,
"placeholder": "#contactModal",
"description": "ID del modal que se abrirá al hacer clic (incluir #)"
},
"aria_label": {
"type": "text",
"label": "Etiqueta ARIA (accesibilidad)",
"default": "Abrir formulario de contacto",
"editable": true,
"maxlength": 100,
"description": "Texto descriptivo para lectores de pantalla (SEO y accesibilidad)"
}
}
},
"typography": {
"label": "Tipografía",
"priority": 30,
"fields": {
"font_size": {
"type": "text",
"label": "Tamaño de fuente",
"default": "1rem",
"editable": true,
"description": "Tamaño del texto del botón (usar unidades CSS: rem, px, em)"
},
"font_weight": {
"type": "select",
"label": "Peso de fuente",
"default": "600",
"editable": true,
"options": {
"400": "Normal (400)",
"500": "Medium (500)",
"600": "Semibold (600)",
"700": "Bold (700)"
},
"description": "Grosor del texto del botón"
},
"text_transform": {
"type": "select",
"label": "Transformación de texto",
"default": "none",
"editable": true,
"options": {
"none": "Normal",
"uppercase": "MAYÚSCULAS",
"lowercase": "minúsculas",
"capitalize": "Capitalizado"
},
"description": "Estilo de capitalización del texto"
}
}
},
"colors": {
"label": "Colores",
"priority": 40,
"fields": {
"background_color": {
"type": "color",
"label": "Color de fondo",
"default": "#FF8600",
"editable": true,
"description": "Color de fondo del botón (por defecto: orange primary)"
},
"background_hover_color": {
"type": "color",
"label": "Color de fondo (hover)",
"default": "#FF6B35",
"editable": true,
"description": "Color de fondo al pasar el mouse sobre el botón"
},
"text_color": {
"type": "color",
"label": "Color del texto",
"default": "#FFFFFF",
"editable": true,
"description": "Color del texto y del ícono del botón"
},
"text_hover_color": {
"type": "color",
"label": "Color del texto (hover)",
"default": "#FFFFFF",
"editable": true,
"description": "Color del texto al pasar el mouse"
},
"border_color": {
"type": "color",
"label": "Color del borde",
"default": "transparent",
"editable": true,
"description": "Color del borde del botón (use 'transparent' para sin borde)"
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 50,
"fields": {
"padding_top_bottom": {
"type": "text",
"label": "Padding vertical (arriba/abajo)",
"default": "0.5rem",
"editable": true,
"description": "Espaciado interno vertical del botón (usar unidades CSS)"
},
"padding_left_right": {
"type": "text",
"label": "Padding horizontal (izq/der)",
"default": "1.5rem",
"editable": true,
"description": "Espaciado interno horizontal del botón (usar unidades CSS)"
},
"margin_left": {
"type": "text",
"label": "Margen izquierdo (desktop)",
"default": "1rem",
"editable": true,
"description": "Margen a la izquierda del botón en pantallas grandes (separación del menú)"
},
"icon_spacing": {
"type": "text",
"label": "Espaciado del ícono",
"default": "0.5rem",
"editable": true,
"description": "Espacio entre el ícono y el texto (usar unidades CSS)"
}
}
},
"visual_effects": {
"label": "Efectos Visuales",
"priority": 60,
"fields": {
"border_radius": {
"type": "text",
"label": "Radio de bordes",
"default": "6px",
"editable": true,
"description": "Redondeo de las esquinas del botón (usar unidades CSS)"
},
"border_width": {
"type": "text",
"label": "Grosor del borde",
"default": "0",
"editable": true,
"description": "Grosor del borde del botón (usar unidades CSS: px, rem)"
},
"box_shadow": {
"type": "text",
"label": "Sombra",
"default": "none",
"editable": true,
"placeholder": "Ej: 0 2px 4px rgba(0,0,0,0.1)",
"description": "Sombra del botón (usar sintaxis CSS box-shadow o 'none')"
},
"transition_duration": {
"type": "text",
"label": "Duración de transición",
"default": "0.3s",
"editable": true,
"description": "Velocidad de las animaciones del botón (usar unidades CSS: s, ms)"
}
}
},
"behavior": {
"label": "Comportamiento",
"priority": 70,
"fields": {
"enable_modal": {
"type": "boolean",
"label": "Activar apertura de modal",
"default": true,
"editable": true,
"description": "Si está activo, el botón abrirá el modal especificado. Si está inactivo, usará la URL personalizada"
},
"custom_url": {
"type": "url",
"label": "URL personalizada (alternativa al modal)",
"default": "",
"editable": true,
"placeholder": "https://ejemplo.com/contacto",
"description": "URL a la que redirigirá el botón si 'Activar apertura de modal' está desactivado"
},
"open_in_new_tab": {
"type": "boolean",
"label": "Abrir en nueva pestaña",
"default": false,
"editable": true,
"description": "Si usa URL personalizada, abre el enlace en nueva pestaña"
}
}
},
"layout": {
"label": "Estructura",
"priority": 80,
"fields": {
"position_in_navbar": {
"type": "select",
"label": "Posición en navbar",
"default": "end",
"editable": false,
"options": {
"end": "Final (derecha)",
"start": "Inicio (izquierda)",
"center": "Centro"
},
"description": "Ubicación del botón en el navbar (no editable, definido por diseño)"
},
"z_index": {
"type": "text",
"label": "Z-Index",
"default": "auto",
"editable": false,
"description": "Orden de apilamiento del botón (no editable)"
}
}
}
}
}

248
schemas/cta-post.json Normal file
View File

@@ -0,0 +1,248 @@
{
"component_name": "cta-post",
"version": "1.0.0",
"description": "CTA promocional que aparece debajo del contenido del post",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar componente",
"default": true,
"editable": true,
"required": true
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en escritorio",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas >= 992px"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en movil",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas < 992px"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "posts",
"editable": true,
"options": ["all", "posts", "pages"],
"description": "Tipos de contenido donde se muestra"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"title": {
"type": "text",
"label": "Titulo",
"default": "Accede a 200,000+ Analisis de Precios Unitarios",
"editable": true
},
"description": {
"type": "textarea",
"label": "Descripcion",
"default": "Consulta estructuras completas, insumos y dosificaciones de los APUs mas utilizados en construccion en Mexico.",
"editable": true
},
"button_text": {
"type": "text",
"label": "Texto del boton",
"default": "Ver Catalogo Completo",
"editable": true
},
"button_url": {
"type": "url",
"label": "URL del boton",
"default": "/catalogo",
"editable": true
},
"button_icon": {
"type": "text",
"label": "Icono del boton",
"default": "bi-arrow-right",
"editable": true,
"description": "Clase de Bootstrap Icons (ej: bi-arrow-right)"
}
}
},
"typography": {
"label": "Tipografia",
"priority": 30,
"fields": {
"title_font_size": {
"type": "text",
"label": "Tamano titulo",
"default": "1.5rem",
"editable": true,
"description": "h4 de Bootstrap"
},
"title_font_weight": {
"type": "text",
"label": "Peso titulo",
"default": "700",
"editable": true,
"description": "fw-bold"
},
"description_font_size": {
"type": "text",
"label": "Tamano descripcion",
"default": "1rem",
"editable": true
},
"button_font_size": {
"type": "text",
"label": "Tamano boton",
"default": "1.125rem",
"editable": true,
"description": "btn-lg de Bootstrap"
}
}
},
"colors": {
"label": "Colores",
"priority": 40,
"fields": {
"gradient_start": {
"type": "color",
"label": "Gradiente inicio",
"default": "#FF8600",
"editable": true,
"description": "Color naranja primario"
},
"gradient_end": {
"type": "color",
"label": "Gradiente fin",
"default": "#FFB800",
"editable": true,
"description": "Color naranja claro"
},
"title_color": {
"type": "color",
"label": "Color titulo",
"default": "#ffffff",
"editable": true
},
"description_color": {
"type": "color",
"label": "Color descripcion",
"default": "#ffffff",
"editable": true
},
"button_bg_color": {
"type": "color",
"label": "Fondo boton",
"default": "#ffffff",
"editable": true,
"description": "btn-light de Bootstrap"
},
"button_text_color": {
"type": "color",
"label": "Texto boton",
"default": "#212529",
"editable": true,
"description": "Color oscuro para contraste"
},
"button_hover_bg": {
"type": "color",
"label": "Fondo boton hover",
"default": "#f8f9fa",
"editable": true
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 50,
"fields": {
"container_margin_top": {
"type": "text",
"label": "Margen superior",
"default": "3rem",
"editable": true,
"description": "my-5 de Bootstrap"
},
"container_margin_bottom": {
"type": "text",
"label": "Margen inferior",
"default": "3rem",
"editable": true
},
"container_padding": {
"type": "text",
"label": "Padding interno",
"default": "1.5rem",
"editable": true,
"description": "p-4 de Bootstrap"
},
"title_margin_bottom": {
"type": "text",
"label": "Margen inf. titulo",
"default": "0.5rem",
"editable": true,
"description": "mb-2 de Bootstrap"
},
"button_icon_margin": {
"type": "text",
"label": "Margen icono boton",
"default": "0.5rem",
"editable": true,
"description": "ms-2 de Bootstrap"
}
}
},
"visual_effects": {
"label": "Efectos Visuales",
"priority": 60,
"fields": {
"border_radius": {
"type": "text",
"label": "Radio de borde",
"default": "0.375rem",
"editable": true,
"description": "rounded de Bootstrap"
},
"gradient_angle": {
"type": "text",
"label": "Angulo gradiente",
"default": "135deg",
"editable": true
},
"button_border_radius": {
"type": "text",
"label": "Radio boton",
"default": "0.375rem",
"editable": true
},
"button_padding": {
"type": "text",
"label": "Padding boton",
"default": "0.5rem 1rem",
"editable": true,
"description": "btn-lg de Bootstrap"
},
"transition_duration": {
"type": "text",
"label": "Duracion transicion",
"default": "0.3s",
"editable": true
},
"box_shadow": {
"type": "text",
"label": "Sombra contenedor",
"default": "none",
"editable": true
}
}
}
}
}

143
schemas/featured-image.json Normal file
View File

@@ -0,0 +1,143 @@
{
"component_name": "featured-image",
"version": "1.0.0",
"description": "Imagen destacada del post con estilos configurables",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Mostrar imagen destacada",
"default": true,
"editable": true,
"required": true,
"description": "Activa o desactiva la imagen destacada en posts"
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en desktop",
"default": true,
"editable": true,
"required": true,
"description": "Muestra la imagen en dispositivos desktop (>=768px)"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en mobile",
"default": true,
"editable": true,
"required": true,
"description": "Muestra la imagen en dispositivos moviles (<768px)"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "posts",
"editable": true,
"required": true,
"options": {
"all": "Todas las paginas",
"posts": "Solo posts individuales",
"pages": "Solo paginas"
},
"description": "Define en que tipo de contenido se muestra la imagen"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"image_size": {
"type": "select",
"label": "Tamano de imagen",
"default": "roi-featured-large",
"editable": true,
"options": {
"roi-featured-large": "Grande (1200x600)",
"roi-featured-medium": "Mediano (800x400)",
"full": "Original (tamano completo)"
},
"description": "Tamano de imagen de WordPress a utilizar"
},
"lazy_loading": {
"type": "boolean",
"label": "Carga diferida (lazy loading)",
"default": true,
"editable": true,
"description": "Mejora rendimiento cargando imagen cuando es visible"
},
"link_to_media": {
"type": "boolean",
"label": "Enlazar a imagen completa",
"default": false,
"editable": true,
"description": "Abre la imagen en tamano completo al hacer clic"
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 30,
"fields": {
"margin_top": {
"type": "text",
"label": "Margen superior",
"default": "1rem",
"editable": true,
"description": "Espacio arriba del contenedor (ej: 1rem, 16px)"
},
"margin_bottom": {
"type": "text",
"label": "Margen inferior",
"default": "2rem",
"editable": true,
"description": "Espacio debajo del contenedor (ej: 2rem, 32px)"
}
}
},
"visual_effects": {
"label": "Efectos Visuales",
"priority": 40,
"fields": {
"border_radius": {
"type": "text",
"label": "Radio de bordes",
"default": "12px",
"editable": true,
"description": "Redondeo de esquinas del contenedor (ej: 12px, 0.75rem)"
},
"box_shadow": {
"type": "text",
"label": "Sombra",
"default": "0 8px 24px rgba(0, 0, 0, 0.1)",
"editable": true,
"description": "Sombra CSS del contenedor"
},
"hover_effect": {
"type": "boolean",
"label": "Efecto hover",
"default": true,
"editable": true,
"description": "Aplica efecto de escala sutil al pasar el mouse"
},
"hover_scale": {
"type": "text",
"label": "Escala en hover",
"default": "1.02",
"editable": true,
"description": "Factor de escala en hover (ej: 1.02 = 2% mas grande)"
},
"transition_duration": {
"type": "text",
"label": "Duracion de transicion",
"default": "0.3s",
"editable": true,
"description": "Duracion de animaciones (ej: 0.3s, 300ms)"
}
}
}
}
}

301
schemas/footer.json Normal file
View File

@@ -0,0 +1,301 @@
{
"component_name": "footer",
"version": "1.0.0",
"description": "Footer del sitio con 3 menus de navegacion y formulario de newsletter",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar componente",
"default": true,
"editable": true,
"required": true
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en escritorio",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas >= 992px"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en movil",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas < 992px"
}
}
},
"widget_1": {
"label": "Widget 1 (Menu)",
"priority": 20,
"fields": {
"widget_1_title": {
"type": "text",
"label": "Titulo Widget 1",
"default": "Recursos",
"editable": true,
"description": "El contenido se gestiona desde Apariencia > Menus > Footer Menu 1"
},
"widget_1_visible": {
"type": "boolean",
"label": "Mostrar Widget 1",
"default": true,
"editable": true
}
}
},
"widget_2": {
"label": "Widget 2 (Menu)",
"priority": 30,
"fields": {
"widget_2_title": {
"type": "text",
"label": "Titulo Widget 2",
"default": "Soporte",
"editable": true,
"description": "El contenido se gestiona desde Apariencia > Menus > Footer Menu 2"
},
"widget_2_visible": {
"type": "boolean",
"label": "Mostrar Widget 2",
"default": true,
"editable": true
}
}
},
"widget_3": {
"label": "Widget 3 (Menu)",
"priority": 40,
"fields": {
"widget_3_title": {
"type": "text",
"label": "Titulo Widget 3",
"default": "Empresa",
"editable": true,
"description": "El contenido se gestiona desde Apariencia > Menus > Footer Menu 3"
},
"widget_3_visible": {
"type": "boolean",
"label": "Mostrar Widget 3",
"default": true,
"editable": true
}
}
},
"newsletter": {
"label": "Newsletter",
"priority": 50,
"fields": {
"newsletter_visible": {
"type": "boolean",
"label": "Mostrar Newsletter",
"default": true,
"editable": true
},
"newsletter_title": {
"type": "text",
"label": "Titulo",
"default": "Suscribete al Newsletter",
"editable": true
},
"newsletter_description": {
"type": "textarea",
"label": "Descripcion",
"default": "Recibe las ultimas actualizaciones de APUs.",
"editable": true
},
"newsletter_placeholder": {
"type": "text",
"label": "Placeholder email",
"default": "Email",
"editable": true
},
"newsletter_button_text": {
"type": "text",
"label": "Texto boton",
"default": "Suscribirse",
"editable": true
},
"newsletter_webhook_url": {
"type": "url",
"label": "URL del Webhook",
"default": "",
"editable": true,
"description": "URL donde se enviara el email de suscripcion (no visible en frontend)",
"secret": true
},
"newsletter_success_message": {
"type": "text",
"label": "Mensaje exito",
"default": "Gracias por suscribirte!",
"editable": true
},
"newsletter_error_message": {
"type": "text",
"label": "Mensaje error",
"default": "Error al suscribirse. Intenta de nuevo.",
"editable": true
}
}
},
"footer_bottom": {
"label": "Pie de Footer",
"priority": 60,
"fields": {
"copyright_text": {
"type": "text",
"label": "Texto copyright",
"default": "2025 Pagina de Analisis de Precios Unitarios. Todos los derechos reservados.",
"editable": true,
"description": "El simbolo (c) se agrega automaticamente"
}
}
},
"colors": {
"label": "Colores",
"priority": 70,
"fields": {
"bg_color": {
"type": "color",
"label": "Fondo footer",
"default": "#212529",
"editable": true,
"description": "bg-dark de Bootstrap"
},
"text_color": {
"type": "color",
"label": "Color texto",
"default": "#ffffff",
"editable": true
},
"title_color": {
"type": "color",
"label": "Color titulos",
"default": "#ffffff",
"editable": true
},
"link_color": {
"type": "color",
"label": "Color links",
"default": "#ffffff",
"editable": true
},
"link_hover_color": {
"type": "color",
"label": "Color links hover",
"default": "#FF8600",
"editable": true
},
"input_bg_color": {
"type": "color",
"label": "Fondo input",
"default": "#ffffff",
"editable": true
},
"input_text_color": {
"type": "color",
"label": "Texto input",
"default": "#212529",
"editable": true
},
"input_border_color": {
"type": "color",
"label": "Borde input",
"default": "#dee2e6",
"editable": true
},
"button_bg_color": {
"type": "color",
"label": "Fondo boton",
"default": "#0d6efd",
"editable": true,
"description": "btn-primary de Bootstrap"
},
"button_text_color": {
"type": "color",
"label": "Texto boton",
"default": "#ffffff",
"editable": true
},
"button_hover_bg": {
"type": "color",
"label": "Fondo boton hover",
"default": "#0b5ed7",
"editable": true
},
"border_top_color": {
"type": "color",
"label": "Color borde superior (copyright)",
"default": "rgba(255, 255, 255, 0.2)",
"editable": true
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 80,
"fields": {
"padding_y": {
"type": "text",
"label": "Padding vertical",
"default": "3rem",
"editable": true,
"description": "py-5 de Bootstrap"
},
"margin_top": {
"type": "text",
"label": "Margen superior",
"default": "0",
"editable": true
},
"widget_title_margin_bottom": {
"type": "text",
"label": "Margen inf. titulos",
"default": "1rem",
"editable": true
},
"link_margin_bottom": {
"type": "text",
"label": "Margen inf. links",
"default": "0.5rem",
"editable": true
},
"copyright_padding_y": {
"type": "text",
"label": "Padding vertical copyright",
"default": "1.5rem",
"editable": true
}
}
},
"visual_effects": {
"label": "Efectos Visuales",
"priority": 90,
"fields": {
"input_border_radius": {
"type": "text",
"label": "Radio input",
"default": "6px",
"editable": true
},
"button_border_radius": {
"type": "text",
"label": "Radio boton",
"default": "6px",
"editable": true
},
"transition_duration": {
"type": "text",
"label": "Duracion transicion",
"default": "0.3s",
"editable": true
}
}
}
}
}

254
schemas/hero.json Normal file
View File

@@ -0,0 +1,254 @@
{
"component_name": "hero",
"version": "1.0.0",
"description": "Sección hero con título del post/página, badges de categorías y fondo degradado",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Mostrar sección Hero",
"default": true,
"editable": true,
"required": true,
"description": "Activa o desactiva la sección hero"
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en desktop",
"default": true,
"editable": true,
"required": true,
"description": "Muestra el hero en dispositivos desktop (≥768px)"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en mobile",
"default": true,
"editable": true,
"required": true,
"description": "Muestra el hero en dispositivos móviles (<768px)"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "posts",
"editable": true,
"required": true,
"options": {
"all": "Todas las páginas",
"posts": "Solo posts individuales",
"pages": "Solo páginas",
"home": "Solo página de inicio"
},
"description": "Define en qué tipo de contenido se mostrará el hero"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"show_categories": {
"type": "boolean",
"label": "Mostrar badges de categorías",
"default": true,
"editable": true,
"description": "Muestra las categorías del post como badges sobre el título"
},
"show_badge_icon": {
"type": "boolean",
"label": "Mostrar ícono en badges",
"default": true,
"editable": true,
"description": "Muestra un ícono junto al texto de cada badge"
},
"badge_icon_class": {
"type": "text",
"label": "Clase del ícono de badge",
"default": "bi-folder-fill",
"editable": true,
"placeholder": "bi-folder-fill",
"description": "Clase Bootstrap Icons para los badges de categorías"
},
"title_tag": {
"type": "select",
"label": "Etiqueta HTML del título",
"default": "h1",
"editable": true,
"options": {
"h1": "H1 (recomendado para SEO)",
"h2": "H2",
"div": "DIV (sin semántica)"
},
"description": "Etiqueta HTML para el título principal"
}
}
},
"colors": {
"label": "Colores",
"priority": 30,
"fields": {
"gradient_start": {
"type": "color",
"label": "Color degradado (inicio)",
"default": "#1e3a5f",
"editable": true,
"description": "Color inicial del degradado de fondo (navy primary)"
},
"gradient_end": {
"type": "color",
"label": "Color degradado (fin)",
"default": "#2c5282",
"editable": true,
"description": "Color final del degradado de fondo (navy light)"
},
"title_color": {
"type": "color",
"label": "Color del título",
"default": "#FFFFFF",
"editable": true,
"description": "Color del texto del título principal"
},
"badge_bg_color": {
"type": "color",
"label": "Color fondo badges",
"default": "#FFFFFF",
"editable": true,
"description": "Color de fondo de los badges (se aplica con transparencia)"
},
"badge_text_color": {
"type": "color",
"label": "Color texto badges",
"default": "#FFFFFF",
"editable": true,
"description": "Color del texto de los badges de categorías"
},
"badge_icon_color": {
"type": "color",
"label": "Color ícono badges",
"default": "#FFB800",
"editable": true,
"description": "Color del ícono en los badges (orange light)"
},
"badge_hover_bg": {
"type": "color",
"label": "Color fondo badges (hover)",
"default": "#FF8600",
"editable": true,
"description": "Color de fondo al pasar el mouse sobre badges"
}
}
},
"typography": {
"label": "Tipografía",
"priority": 40,
"fields": {
"title_font_size": {
"type": "text",
"label": "Tamaño título desktop",
"default": "2.5rem",
"editable": true,
"description": "Tamaño de fuente del título en desktop (display-5)"
},
"title_font_size_mobile": {
"type": "text",
"label": "Tamaño título mobile",
"default": "1.75rem",
"editable": true,
"description": "Tamaño de fuente del título en dispositivos móviles"
},
"title_font_weight": {
"type": "select",
"label": "Peso del título",
"default": "700",
"editable": true,
"options": {
"400": "Normal (400)",
"500": "Medium (500)",
"600": "Semibold (600)",
"700": "Bold (700)"
},
"description": "Peso de la fuente del título"
},
"title_line_height": {
"type": "text",
"label": "Altura de línea título",
"default": "1.4",
"editable": true,
"description": "Espaciado entre líneas del título"
},
"badge_font_size": {
"type": "text",
"label": "Tamaño fuente badges",
"default": "0.813rem",
"editable": true,
"description": "Tamaño de fuente de los badges de categorías"
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 50,
"fields": {
"padding_vertical": {
"type": "text",
"label": "Padding vertical",
"default": "3rem",
"editable": true,
"description": "Espaciado interno superior e inferior"
},
"margin_bottom": {
"type": "text",
"label": "Margen inferior",
"default": "1.5rem",
"editable": true,
"description": "Espacio debajo del hero"
},
"badge_padding": {
"type": "text",
"label": "Padding de badges",
"default": "0.375rem 0.875rem",
"editable": true,
"description": "Espaciado interno de los badges"
},
"badge_border_radius": {
"type": "text",
"label": "Border radius badges",
"default": "20px",
"editable": true,
"description": "Redondeo de esquinas de los badges"
}
}
},
"visual_effects": {
"label": "Efectos",
"priority": 60,
"fields": {
"box_shadow": {
"type": "text",
"label": "Sombra del hero",
"default": "0 4px 16px rgba(30, 58, 95, 0.25)",
"editable": true,
"description": "Sombra CSS del contenedor hero"
},
"title_text_shadow": {
"type": "text",
"label": "Sombra del título",
"default": "1px 1px 2px rgba(0, 0, 0, 0.2)",
"editable": true,
"description": "Sombra del texto del título para mejor legibilidad"
},
"badge_backdrop_blur": {
"type": "text",
"label": "Blur de fondo badges",
"default": "10px",
"editable": true,
"description": "Efecto blur del fondo de los badges"
}
}
}
}
}

384
schemas/navbar.json Normal file
View File

@@ -0,0 +1,384 @@
{
"component_name": "navbar",
"version": "2.0.0",
"description": "Menú de navegación principal de WordPress con soporte Bootstrap 5",
"groups": {
"visibility": {
"label": "Activación y Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar Navbar",
"default": true,
"editable": true,
"required": true,
"description": "Activa o desactiva el menú de navegación"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en Mobile",
"default": true,
"editable": true,
"description": "Muestra el menú en dispositivos móviles (<768px)"
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en Desktop",
"default": true,
"editable": true,
"description": "Muestra el menú en dispositivos de escritorio (≥768px)"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "all",
"editable": true,
"options": {
"all": "Todas las páginas",
"home": "Solo página de inicio",
"posts": "Solo posts individuales",
"pages": "Solo páginas"
},
"description": "Define en qué páginas se muestra el navbar"
},
"sticky_enabled": {
"type": "boolean",
"label": "Navbar fijo (sticky)",
"default": true,
"editable": true,
"description": "Mantiene el navbar fijo en la parte superior al hacer scroll"
}
}
},
"layout": {
"label": "Layout y Estructura",
"priority": 20,
"fields": {
"container_type": {
"type": "select",
"label": "Tipo de contenedor",
"default": "container",
"editable": true,
"options": {
"container": "Container (ancho fijo)",
"container-fluid": "Container Fluid (ancho completo)"
},
"description": "Define el tipo de contenedor Bootstrap"
},
"padding_vertical": {
"type": "text",
"label": "Padding vertical",
"default": "0.75rem 0",
"editable": true,
"description": "Espaciado vertical del navbar (ej: 0.75rem 0)"
},
"z_index": {
"type": "text",
"label": "Z-index",
"default": "1030",
"editable": true,
"description": "Prioridad de capa (mayor número = más arriba, ej: 1030)"
}
}
},
"behavior": {
"label": "Configuración del Menú",
"priority": 30,
"fields": {
"menu_location": {
"type": "select",
"label": "Ubicación del menú",
"default": "primary",
"editable": true,
"options": {
"primary": "Menú Principal",
"secondary": "Menú Secundario",
"custom": "Menú personalizado"
},
"required": true,
"description": "Selecciona qué menú de WordPress mostrar"
},
"custom_menu_id": {
"type": "text",
"label": "ID del menú personalizado",
"default": "0",
"editable": true,
"conditional_logic": {
"field": "menu_location",
"operator": "==",
"value": "custom"
},
"description": "ID del menú personalizado de WordPress"
},
"enable_dropdowns": {
"type": "boolean",
"label": "Habilitar submenús desplegables",
"default": true,
"editable": true,
"description": "Permite submenús desplegables (depth 2)"
},
"mobile_breakpoint": {
"type": "select",
"label": "Breakpoint para menú móvil",
"default": "lg",
"editable": true,
"options": {
"sm": "Small (576px)",
"md": "Medium (768px)",
"lg": "Large (992px)",
"xl": "Extra Large (1200px)"
},
"description": "Punto de quiebre para mostrar menú hamburguesa"
}
}
},
"media": {
"label": "Logo/Marca",
"priority": 40,
"fields": {
"show_brand": {
"type": "boolean",
"label": "Mostrar logo/marca",
"default": false,
"editable": true,
"description": "Muestra el logo o nombre de la marca en el navbar"
},
"use_logo": {
"type": "boolean",
"label": "Usar logo (imagen)",
"default": false,
"editable": true,
"conditional_logic": {
"field": "show_brand",
"operator": "==",
"value": true
},
"description": "Usa una imagen como logo en lugar de texto"
},
"logo_url": {
"type": "text",
"label": "URL del logo",
"default": "",
"editable": true,
"conditional_logic": {
"field": "use_logo",
"operator": "==",
"value": true
},
"description": "URL completa de la imagen del logo"
},
"logo_height": {
"type": "text",
"label": "Altura del logo",
"default": "40px",
"editable": true,
"conditional_logic": {
"field": "use_logo",
"operator": "==",
"value": true
},
"description": "Altura del logo (ej: 40px, 2.5rem)"
},
"brand_text": {
"type": "text",
"label": "Texto de la marca",
"default": "Mi Sitio",
"editable": true,
"maxlength": 50,
"conditional_logic": {
"field": "show_brand",
"operator": "==",
"value": true
},
"description": "Texto que se muestra como marca (si no hay logo)"
},
"brand_font_size": {
"type": "text",
"label": "Tamaño de fuente",
"default": "1.5rem",
"editable": true,
"conditional_logic": {
"field": "show_brand",
"operator": "==",
"value": true
},
"description": "Tamaño de fuente de la marca (ej: 1.5rem, 24px)"
},
"brand_color": {
"type": "color",
"label": "Color de la marca",
"default": "#FFFFFF",
"editable": true,
"conditional_logic": {
"field": "show_brand",
"operator": "==",
"value": true
},
"description": "Color del texto de la marca"
},
"brand_hover_color": {
"type": "color",
"label": "Color hover de la marca",
"default": "#FF8600",
"editable": true,
"conditional_logic": {
"field": "show_brand",
"operator": "==",
"value": true
},
"description": "Color al pasar el mouse sobre la marca"
}
}
},
"links": {
"label": "Estilos de Enlaces",
"priority": 50,
"fields": {
"text_color": {
"type": "color",
"label": "Color del texto",
"default": "#FFFFFF",
"editable": true,
"description": "Color del texto de los links del menú"
},
"hover_color": {
"type": "color",
"label": "Color hover",
"default": "#FF8600",
"editable": true,
"description": "Color al pasar el mouse sobre los links"
},
"active_color": {
"type": "color",
"label": "Color del item activo",
"default": "#FF8600",
"editable": true,
"description": "Color del item de menú activo/actual"
},
"font_size": {
"type": "text",
"label": "Tamaño de fuente",
"default": "0.9rem",
"editable": true,
"description": "Tamaño de fuente de los enlaces (ej: 0.9rem, 14px)"
},
"font_weight": {
"type": "text",
"label": "Grosor de fuente",
"default": "500",
"editable": true,
"description": "Grosor de la fuente (100-900, ej: 500)"
},
"padding": {
"type": "text",
"label": "Padding de enlaces",
"default": "0.5rem 0.65rem",
"editable": true,
"description": "Espaciado interno de los enlaces (ej: 0.5rem 0.65rem)"
},
"border_radius": {
"type": "text",
"label": "Border radius hover",
"default": "4px",
"editable": true,
"description": "Radio de borde al pasar el mouse (ej: 4px)"
},
"show_underline_effect": {
"type": "boolean",
"label": "Mostrar efecto de subrayado",
"default": true,
"editable": true,
"description": "Muestra una línea animada debajo del enlace al hover"
},
"underline_color": {
"type": "color",
"label": "Color del subrayado",
"default": "#FF8600",
"editable": true,
"conditional_logic": {
"field": "show_underline_effect",
"operator": "==",
"value": true
},
"description": "Color de la línea de subrayado"
}
}
},
"visual_effects": {
"label": "Estilos de Dropdown",
"priority": 60,
"fields": {
"background_color": {
"type": "color",
"label": "Fondo de dropdown",
"default": "#FFFFFF",
"editable": true,
"description": "Color de fondo de los submenús desplegables"
},
"border_radius": {
"type": "text",
"label": "Border radius",
"default": "8px",
"editable": true,
"description": "Radio de borde del dropdown (ej: 8px)"
},
"shadow": {
"type": "text",
"label": "Sombra del dropdown",
"default": "0 8px 24px rgba(0, 0, 0, 0.12)",
"editable": true,
"description": "Sombra CSS del dropdown"
},
"item_color": {
"type": "color",
"label": "Color de items",
"default": "#495057",
"editable": true,
"description": "Color del texto de los items del dropdown"
},
"item_hover_background": {
"type": "color",
"label": "Fondo hover de items",
"default": "rgba(255, 133, 0, 0.1)",
"editable": true,
"description": "Color de fondo al pasar el mouse sobre items"
},
"item_padding": {
"type": "text",
"label": "Padding de items",
"default": "0.625rem 1.25rem",
"editable": true,
"description": "Espaciado interno de items del dropdown"
},
"dropdown_max_height": {
"type": "text",
"label": "Altura máxima del dropdown",
"default": "300px",
"editable": true,
"description": "Altura máxima del submenú. Si se excede, aparece scroll (ej: 300px, 20rem)"
}
}
},
"colors": {
"label": "Estilos del Navbar",
"priority": 70,
"fields": {
"background_color": {
"type": "color",
"label": "Color de fondo",
"default": "#1e3a5f",
"editable": true,
"description": "Color de fondo del navbar"
},
"box_shadow": {
"type": "text",
"label": "Sombra del navbar",
"default": "0 4px 12px rgba(30, 58, 95, 0.15)",
"editable": true,
"description": "Sombra CSS del navbar"
}
}
}
}
}

295
schemas/related-post.json Normal file
View File

@@ -0,0 +1,295 @@
{
"component_name": "related-post",
"version": "1.0.0",
"description": "Seccion de posts relacionados con grid de cards y paginacion",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar componente",
"default": true,
"editable": true,
"required": true
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en escritorio",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas >= 992px"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en movil",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas < 992px"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "posts",
"editable": true,
"options": ["all", "posts", "pages"],
"description": "Tipos de contenido donde se muestra"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"section_title": {
"type": "text",
"label": "Titulo de seccion",
"default": "Descubre Mas Contenido",
"editable": true
},
"posts_per_page": {
"type": "text",
"label": "Posts por pagina",
"default": "12",
"editable": true,
"description": "Numero de posts a mostrar"
},
"orderby": {
"type": "select",
"label": "Ordenar por",
"default": "rand",
"editable": true,
"options": ["rand", "date", "title", "comment_count", "menu_order"],
"description": "Criterio de ordenamiento"
},
"order": {
"type": "select",
"label": "Direccion",
"default": "DESC",
"editable": true,
"options": ["ASC", "DESC"],
"description": "Ascendente o descendente"
},
"show_pagination": {
"type": "boolean",
"label": "Mostrar paginacion",
"default": true,
"editable": true
},
"pagination_text_first": {
"type": "text",
"label": "Texto Inicio",
"default": "Inicio",
"editable": true
},
"pagination_text_last": {
"type": "text",
"label": "Texto Fin",
"default": "Fin",
"editable": true
},
"pagination_text_more": {
"type": "text",
"label": "Texto Ver mas",
"default": "Ver mas",
"editable": true
}
}
},
"typography": {
"label": "Tipografia",
"priority": 30,
"fields": {
"section_title_size": {
"type": "text",
"label": "Tamano titulo seccion",
"default": "1.75rem",
"editable": true,
"description": "Clase h3 de Bootstrap"
},
"section_title_weight": {
"type": "text",
"label": "Peso titulo seccion",
"default": "500",
"editable": true
},
"card_title_size": {
"type": "text",
"label": "Tamano titulo card",
"default": "1rem",
"editable": true,
"description": "Clase h6 de Bootstrap"
},
"card_title_weight": {
"type": "text",
"label": "Peso titulo card",
"default": "500",
"editable": true
}
}
},
"colors": {
"label": "Colores",
"priority": 40,
"fields": {
"section_title_color": {
"type": "color",
"label": "Color titulo seccion",
"default": "#212529",
"editable": true
},
"card_bg_color": {
"type": "color",
"label": "Fondo card",
"default": "#ffffff",
"editable": true
},
"card_title_color": {
"type": "color",
"label": "Color titulo card",
"default": "#212529",
"editable": true
},
"card_hover_bg_color": {
"type": "color",
"label": "Fondo card hover",
"default": "#f8f9fa",
"editable": true
},
"pagination_bg_color": {
"type": "color",
"label": "Fondo paginacion",
"default": "#ffffff",
"editable": true
},
"pagination_text_color": {
"type": "color",
"label": "Texto paginacion",
"default": "#0d6efd",
"editable": true
},
"pagination_active_bg": {
"type": "color",
"label": "Fondo activo paginacion",
"default": "#0d6efd",
"editable": true
},
"pagination_active_text": {
"type": "color",
"label": "Texto activo paginacion",
"default": "#ffffff",
"editable": true
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 50,
"fields": {
"section_margin_top": {
"type": "text",
"label": "Margen superior",
"default": "3rem",
"editable": true,
"description": "my-5 de Bootstrap"
},
"section_margin_bottom": {
"type": "text",
"label": "Margen inferior",
"default": "3rem",
"editable": true
},
"title_margin_bottom": {
"type": "text",
"label": "Margen inf. titulo",
"default": "1.5rem",
"editable": true,
"description": "mb-4 de Bootstrap"
},
"grid_gap": {
"type": "text",
"label": "Espacio entre cards",
"default": "1.5rem",
"editable": true,
"description": "g-4 de Bootstrap"
},
"card_padding": {
"type": "text",
"label": "Padding card",
"default": "1.5rem",
"editable": true,
"description": "p-4 de Bootstrap"
},
"pagination_margin_top": {
"type": "text",
"label": "Margen sup. paginacion",
"default": "1rem",
"editable": true,
"description": "mt-4 de Bootstrap"
}
}
},
"visual_effects": {
"label": "Efectos Visuales",
"priority": 60,
"fields": {
"card_border_radius": {
"type": "text",
"label": "Radio borde card",
"default": "0.375rem",
"editable": true
},
"card_shadow": {
"type": "text",
"label": "Sombra card",
"default": "0 .125rem .25rem rgba(0,0,0,.075)",
"editable": true,
"description": "shadow-sm de Bootstrap"
},
"card_hover_shadow": {
"type": "text",
"label": "Sombra card hover",
"default": "0 .5rem 1rem rgba(0,0,0,.15)",
"editable": true
},
"card_transition": {
"type": "text",
"label": "Transicion card",
"default": "0.3s ease",
"editable": true
}
}
},
"layout": {
"label": "Disposicion",
"priority": 80,
"fields": {
"columns_desktop": {
"type": "select",
"label": "Columnas desktop",
"default": "3",
"editable": true,
"options": ["2", "3", "4"],
"description": "Columnas en pantallas grandes"
},
"columns_tablet": {
"type": "select",
"label": "Columnas tablet",
"default": "2",
"editable": true,
"options": ["1", "2", "3"],
"description": "Columnas en pantallas medianas"
},
"columns_mobile": {
"type": "select",
"label": "Columnas movil",
"default": "1",
"editable": true,
"options": ["1", "2"],
"description": "Columnas en pantallas pequenas"
}
}
}
}
}

318
schemas/social-share.json Normal file
View File

@@ -0,0 +1,318 @@
{
"component_name": "social-share",
"version": "1.0.0",
"description": "Botones para compartir contenido en redes sociales",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar componente",
"default": true,
"editable": true,
"required": true
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en escritorio",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas >= 992px"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en movil",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas < 992px"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "posts",
"editable": true,
"options": ["all", "posts", "pages"],
"description": "Tipos de contenido donde se muestra"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"label_text": {
"type": "text",
"label": "Texto etiqueta",
"default": "Compartir:",
"editable": true
},
"show_label": {
"type": "boolean",
"label": "Mostrar etiqueta",
"default": true,
"editable": true
}
}
},
"networks": {
"label": "Redes Sociales",
"priority": 30,
"fields": {
"show_facebook": {
"type": "boolean",
"label": "Mostrar Facebook",
"default": true,
"editable": true
},
"facebook_url": {
"type": "url",
"label": "URL Facebook",
"default": "",
"editable": true,
"description": "URL de tu pagina de Facebook"
},
"show_instagram": {
"type": "boolean",
"label": "Mostrar Instagram",
"default": true,
"editable": true
},
"instagram_url": {
"type": "url",
"label": "URL Instagram",
"default": "",
"editable": true,
"description": "URL de tu perfil de Instagram"
},
"show_linkedin": {
"type": "boolean",
"label": "Mostrar LinkedIn",
"default": true,
"editable": true
},
"linkedin_url": {
"type": "url",
"label": "URL LinkedIn",
"default": "",
"editable": true,
"description": "URL de tu perfil de LinkedIn"
},
"show_whatsapp": {
"type": "boolean",
"label": "Mostrar WhatsApp",
"default": true,
"editable": true
},
"whatsapp_number": {
"type": "text",
"label": "Numero WhatsApp",
"default": "",
"editable": true,
"description": "Numero con codigo de pais (ej: 521234567890)"
},
"show_twitter": {
"type": "boolean",
"label": "Mostrar X (Twitter)",
"default": true,
"editable": true
},
"twitter_url": {
"type": "url",
"label": "URL X (Twitter)",
"default": "",
"editable": true,
"description": "URL de tu perfil de X"
},
"show_email": {
"type": "boolean",
"label": "Mostrar Email",
"default": true,
"editable": true
},
"email_address": {
"type": "text",
"label": "Direccion Email",
"default": "",
"editable": true,
"description": "Email de contacto"
}
}
},
"typography": {
"label": "Tipografia",
"priority": 40,
"fields": {
"label_font_size": {
"type": "text",
"label": "Tamano etiqueta",
"default": "1rem",
"editable": true
},
"icon_font_size": {
"type": "text",
"label": "Tamano iconos",
"default": "1rem",
"editable": true
}
}
},
"colors": {
"label": "Colores",
"priority": 50,
"fields": {
"label_color": {
"type": "color",
"label": "Color etiqueta",
"default": "#6c757d",
"editable": true,
"description": "text-muted de Bootstrap"
},
"facebook_color": {
"type": "color",
"label": "Color Facebook",
"default": "#0d6efd",
"editable": true,
"description": "Bootstrap primary"
},
"instagram_color": {
"type": "color",
"label": "Color Instagram",
"default": "#dc3545",
"editable": true,
"description": "Bootstrap danger"
},
"linkedin_color": {
"type": "color",
"label": "Color LinkedIn",
"default": "#0dcaf0",
"editable": true,
"description": "Bootstrap info"
},
"whatsapp_color": {
"type": "color",
"label": "Color WhatsApp",
"default": "#198754",
"editable": true,
"description": "Bootstrap success"
},
"twitter_color": {
"type": "color",
"label": "Color X (Twitter)",
"default": "#212529",
"editable": true,
"description": "Bootstrap dark"
},
"email_color": {
"type": "color",
"label": "Color Email",
"default": "#6c757d",
"editable": true,
"description": "Bootstrap secondary"
},
"button_background": {
"type": "color",
"label": "Fondo botones",
"default": "#ffffff",
"editable": true
},
"border_top_color": {
"type": "color",
"label": "Color borde superior",
"default": "#dee2e6",
"editable": true
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 60,
"fields": {
"container_margin_top": {
"type": "text",
"label": "Margen superior",
"default": "3rem",
"editable": true,
"description": "my-5 de Bootstrap"
},
"container_margin_bottom": {
"type": "text",
"label": "Margen inferior",
"default": "3rem",
"editable": true
},
"container_padding_top": {
"type": "text",
"label": "Padding superior",
"default": "1.5rem",
"editable": true,
"description": "py-4 de Bootstrap"
},
"container_padding_bottom": {
"type": "text",
"label": "Padding inferior",
"default": "1.5rem",
"editable": true
},
"label_margin_bottom": {
"type": "text",
"label": "Margen inf. etiqueta",
"default": "1rem",
"editable": true,
"description": "mb-3 de Bootstrap"
},
"buttons_gap": {
"type": "text",
"label": "Espacio entre botones",
"default": "0.5rem",
"editable": true,
"description": "gap-2 de Bootstrap"
},
"button_padding": {
"type": "text",
"label": "Padding botones",
"default": "0.25rem 0.5rem",
"editable": true,
"description": "btn-sm de Bootstrap"
}
}
},
"visual_effects": {
"label": "Efectos Visuales",
"priority": 70,
"fields": {
"border_top_width": {
"type": "text",
"label": "Grosor borde superior",
"default": "1px",
"editable": true
},
"button_border_width": {
"type": "text",
"label": "Grosor borde botones",
"default": "2px",
"editable": true
},
"button_border_radius": {
"type": "text",
"label": "Radio borde botones",
"default": "0.375rem",
"editable": true
},
"transition_duration": {
"type": "text",
"label": "Duracion transicion",
"default": "0.3s",
"editable": true
},
"hover_box_shadow": {
"type": "text",
"label": "Sombra hover",
"default": "0 4px 12px rgba(0, 0, 0, 0.15)",
"editable": true
}
}
}
}
}

View File

@@ -0,0 +1,333 @@
{
"component_name": "table-of-contents",
"version": "1.0.0",
"description": "Tabla de contenido con navegación automática y ScrollSpy",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar componente",
"default": true,
"editable": true,
"required": true
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en escritorio",
"default": true,
"editable": true,
"description": "Muestra el componente en pantallas >= 992px"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en móvil",
"default": false,
"editable": true,
"description": "Muestra el componente en pantallas < 992px"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "posts",
"editable": true,
"options": ["all", "posts", "pages"],
"description": "Tipos de contenido donde se muestra"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"title": {
"type": "text",
"label": "Título",
"default": "Tabla de Contenido",
"editable": true
},
"auto_generate": {
"type": "boolean",
"label": "Generar automáticamente",
"default": true,
"editable": true,
"description": "Genera TOC desde los encabezados del contenido"
},
"heading_levels": {
"type": "text",
"label": "Niveles de encabezados",
"default": "h2,h3",
"editable": true,
"description": "Separados por coma: h2,h3,h4"
},
"smooth_scroll": {
"type": "boolean",
"label": "Scroll suave",
"default": true,
"editable": true
}
}
},
"typography": {
"label": "Tipografía",
"priority": 30,
"fields": {
"title_font_size": {
"type": "text",
"label": "Tamaño título",
"default": "1rem",
"editable": true
},
"title_font_weight": {
"type": "text",
"label": "Peso título",
"default": "600",
"editable": true
},
"link_font_size": {
"type": "text",
"label": "Tamaño enlaces",
"default": "0.9rem",
"editable": true
},
"link_line_height": {
"type": "text",
"label": "Altura de línea",
"default": "1.3",
"editable": true
},
"level_three_font_size": {
"type": "text",
"label": "Tamaño nivel H3",
"default": "0.85rem",
"editable": true
},
"level_four_font_size": {
"type": "text",
"label": "Tamaño nivel H4",
"default": "0.8rem",
"editable": true
}
}
},
"colors": {
"label": "Colores",
"priority": 40,
"fields": {
"background_color": {
"type": "color",
"label": "Fondo",
"default": "#ffffff",
"editable": true
},
"border_color": {
"type": "color",
"label": "Borde",
"default": "#E6E9ED",
"editable": true
},
"title_color": {
"type": "color",
"label": "Color título",
"default": "#1e3a5f",
"editable": true,
"description": "navy-primary del Design System"
},
"title_border_color": {
"type": "color",
"label": "Borde inferior título",
"default": "#E6E9ED",
"editable": true
},
"link_color": {
"type": "color",
"label": "Color enlaces",
"default": "#495057",
"editable": true,
"description": "neutral-600 del template"
},
"link_hover_color": {
"type": "color",
"label": "Color hover enlaces",
"default": "#1e3a5f",
"editable": true,
"description": "navy-primary del Design System"
},
"link_hover_background": {
"type": "color",
"label": "Fondo hover enlaces",
"default": "#F9FAFB",
"editable": true
},
"active_border_color": {
"type": "color",
"label": "Borde activo",
"default": "#1e3a5f",
"editable": true,
"description": "navy-primary del Design System"
},
"active_background_color": {
"type": "color",
"label": "Fondo activo",
"default": "#F9FAFB",
"editable": true
},
"active_text_color": {
"type": "color",
"label": "Texto activo",
"default": "#1e3a5f",
"editable": true,
"description": "navy-primary del Design System"
},
"scrollbar_track_color": {
"type": "color",
"label": "Pista scrollbar",
"default": "#F9FAFB",
"editable": true
},
"scrollbar_thumb_color": {
"type": "color",
"label": "Thumb scrollbar",
"default": "#6B7280",
"editable": true
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 50,
"fields": {
"container_padding": {
"type": "text",
"label": "Padding contenedor",
"default": "12px 16px",
"editable": true
},
"margin_bottom": {
"type": "text",
"label": "Margen inferior",
"default": "13px",
"editable": true
},
"title_padding_bottom": {
"type": "text",
"label": "Padding inferior título",
"default": "8px",
"editable": true
},
"title_margin_bottom": {
"type": "text",
"label": "Margen inferior título",
"default": "0.75rem",
"editable": true
},
"item_margin_bottom": {
"type": "text",
"label": "Margen inferior items",
"default": "0.15rem",
"editable": true
},
"link_padding": {
"type": "text",
"label": "Padding enlaces",
"default": "0.3rem 0.85rem",
"editable": true
},
"level_three_padding_left": {
"type": "text",
"label": "Padding izq. nivel 3",
"default": "1.5rem",
"editable": true
},
"level_four_padding_left": {
"type": "text",
"label": "Padding izq. nivel 4",
"default": "2rem",
"editable": true
},
"scrollbar_width": {
"type": "text",
"label": "Ancho scrollbar",
"default": "6px",
"editable": true
}
}
},
"visual_effects": {
"label": "Efectos Visuales",
"priority": 60,
"fields": {
"border_radius": {
"type": "text",
"label": "Radio de borde",
"default": "8px",
"editable": true
},
"box_shadow": {
"type": "text",
"label": "Sombra",
"default": "0 2px 8px rgba(0, 0, 0, 0.08)",
"editable": true
},
"border_width": {
"type": "text",
"label": "Grosor borde",
"default": "1px",
"editable": true
},
"link_border_radius": {
"type": "text",
"label": "Radio borde enlaces",
"default": "4px",
"editable": true
},
"active_border_left_width": {
"type": "text",
"label": "Grosor borde activo",
"default": "3px",
"editable": true
},
"transition_duration": {
"type": "text",
"label": "Duración transición",
"default": "0.3s",
"editable": true
},
"scrollbar_border_radius": {
"type": "text",
"label": "Radio scrollbar",
"default": "3px",
"editable": true
}
}
},
"behavior": {
"label": "Comportamiento",
"priority": 70,
"fields": {
"is_sticky": {
"type": "boolean",
"label": "Sticky",
"default": true,
"editable": true,
"description": "Fija el TOC al hacer scroll"
},
"scroll_offset": {
"type": "text",
"label": "Offset de scroll",
"default": "100",
"editable": true,
"description": "Píxeles de offset para navegación"
},
"max_height": {
"type": "text",
"label": "Altura máxima",
"default": "calc(100vh - 71px - 10px - 250px - 15px - 15px)",
"editable": true
}
}
}
}
}

View File

@@ -0,0 +1,172 @@
{
"component_name": "top-notification-bar",
"version": "1.0.0",
"description": "Barra de notificación superior con anuncio destacado, ícono y enlace de acción",
"groups": {
"visibility": {
"label": "Visibilidad",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Mostrar barra de notificación",
"default": true,
"editable": true,
"required": true,
"description": "Activa o desactiva la barra de notificación superior"
},
"show_on_pages": {
"type": "select",
"label": "Mostrar en",
"default": "all",
"editable": true,
"required": true,
"options": {
"all": "Todas las páginas",
"home": "Solo página de inicio",
"posts": "Solo posts individuales",
"pages": "Solo páginas"
},
"description": "Define en qué páginas se mostrará la barra"
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en desktop",
"default": true,
"editable": true,
"required": true,
"description": "Muestra la barra en dispositivos desktop (pantallas grandes)"
},
"show_on_mobile": {
"type": "boolean",
"label": "Mostrar en mobile",
"default": true,
"editable": true,
"required": true,
"description": "Muestra la barra en dispositivos móviles (pantallas pequeñas)"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"icon_class": {
"type": "text",
"label": "Clase del ícono Bootstrap",
"default": "bi-megaphone-fill",
"editable": true,
"required": true,
"placeholder": "Ej: bi-megaphone-fill",
"description": "Clase del ícono Bootstrap Icons (sin prefijo 'bi')"
},
"label_text": {
"type": "text",
"label": "Etiqueta del anuncio",
"default": "Nuevo:",
"editable": true,
"required": true,
"maxlength": 30,
"placeholder": "Ej: Nuevo:, Importante:, Aviso:",
"description": "Texto destacado en negrita antes del mensaje"
},
"message_text": {
"type": "textarea",
"label": "Texto del mensaje",
"default": "Accede a más de 200,000 Análisis de Precios Unitarios actualizados para 2025.",
"editable": true,
"required": true,
"maxlength": 200,
"rows": 3,
"description": "Mensaje principal del anuncio (máximo 200 caracteres)"
},
"link_text": {
"type": "text",
"label": "Texto del enlace",
"default": "Ver Catálogo",
"editable": true,
"required": true,
"maxlength": 50,
"description": "Texto del enlace de acción"
},
"link_url": {
"type": "url",
"label": "URL del enlace",
"default": "#",
"editable": true,
"required": true,
"placeholder": "https://",
"description": "URL de destino del enlace"
}
}
},
"colors": {
"label": "Colores",
"priority": 30,
"fields": {
"background_color": {
"type": "color",
"label": "Color de fondo",
"default": "#0E2337",
"editable": true,
"description": "Color de fondo de la barra (por defecto: navy dark)"
},
"text_color": {
"type": "color",
"label": "Color del texto",
"default": "#FFFFFF",
"editable": true,
"description": "Color del texto del mensaje"
},
"label_color": {
"type": "color",
"label": "Color de la etiqueta",
"default": "#FF8600",
"editable": true,
"description": "Color del texto en negrita (etiqueta del anuncio)"
},
"icon_color": {
"type": "color",
"label": "Color del ícono",
"default": "#FF8600",
"editable": true,
"description": "Color del ícono Bootstrap"
},
"link_color": {
"type": "color",
"label": "Color del enlace",
"default": "#FFFFFF",
"editable": true,
"description": "Color del enlace de acción"
},
"link_hover_color": {
"type": "color",
"label": "Color del enlace (hover)",
"default": "#FF8600",
"editable": true,
"description": "Color del enlace al pasar el mouse"
}
}
},
"spacing": {
"label": "Espaciado",
"priority": 40,
"fields": {
"font_size": {
"type": "text",
"label": "Tamaño de fuente",
"default": "0.9rem",
"editable": true,
"description": "Tamaño del texto (usar unidades CSS: rem, px, em)"
},
"padding": {
"type": "text",
"label": "Padding vertical",
"default": "0.5rem 0",
"editable": true,
"description": "Espaciado interno vertical (usar formato CSS: 0.5rem 0)"
}
}
}
}
}