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>
This commit is contained in:
171
schemas/components/table-of-contents.json
Normal file
171
schemas/components/table-of-contents.json
Normal file
@@ -0,0 +1,171 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user