Files
roi-theme/schemas/components/hero-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

411 lines
13 KiB
JSON

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