Files
roi-theme/Schemas/contact-form.json
FrankZamora 8735962f52 feat(visibility): sistema de visibilidad por tipo de página
- Añadir PageVisibility use case y repositorio
- Implementar PageTypeDetector para detectar home/single/page/archive
- Actualizar FieldMappers con soporte show_on_[page_type]
- Extender FormBuilders con UI de visibilidad por página
- Refactorizar Renderers para evaluar visibilidad dinámica
- Limpiar schemas removiendo campos de visibilidad legacy
- Añadir MigrationCommand para migrar configuraciones existentes
- Implementar adsense-loader.js para carga lazy de ads
- Actualizar front-page.php con nueva estructura
- Extender DIContainer con nuevos servicios

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 09:16:34 -06:00

397 lines
11 KiB
JSON

{
"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"
}
}
},
"content": {
"label": "Contenido",
"priority": 20,
"fields": {
"section_title": {
"type": "text",
"label": "Titulo de seccion",
"default": "¿Necesitas Ayuda con tu Presupuesto?",
"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": "WhatsApp",
"editable": true
},
"phone_value": {
"type": "text",
"label": "Numero telefono",
"default": "",
"editable": true
},
"email_label": {
"type": "text",
"label": "Label email",
"default": "Email",
"editable": true
},
"email_value": {
"type": "text",
"label": "Direccion email",
"default": "",
"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é tema de precios unitarios 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": "#495057",
"editable": true,
"description": "Fase 4.4 Accesibilidad: Color oscuro con ratio 7.0:1 (WCAG AA)"
},
"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": "#0E2337",
"editable": true,
"description": "Fase 4.4 Accesibilidad: navy-dark para contraste WCAG AA sobre fondo naranja"
},
"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
}
}
}
}
}