Files
roi-theme/schemas/components/contact-form-section.json
FrankZamora 90de6df77c Fase-01: Preparación del entorno y estructura inicial
- Verificación de entorno XAMPP (PHP 8.0.30, Composer 2.9.1, WP-CLI 2.12.0)
- Configuración de Composer con PSR-4 para 24 namespaces
- Configuración de PHPUnit con 140 tests preparados
- Configuración de PHPCS con WordPress Coding Standards
- Scripts de backup y rollback con mejoras de seguridad
- Estructura de contextos (admin/, public/, shared/)
- Schemas JSON para 11 componentes del sistema
- Código fuente inicial con arquitectura limpia en src/
- Documentación de procedimientos de emergencia

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 16:34:49 -06:00

151 lines
4.5 KiB
JSON

{
"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"
}
}
}
}
}