Files
roi-theme/schemas/components/share-buttons.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

113 lines
3.3 KiB
JSON

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