# Componentes UI Adaptados de Vristo - Studio Panel ## Fecha: 2025-11-10 Se han implementado componentes UI profesionales adaptados de **Vristo React** para el `studio-panel`, siguiendo el diseño de Figma y la estructura visual mostrada en las imágenes de contexto. --- ## 📦 Componentes Implementados ### 1. **Modal** (`Modal.tsx`) Modal reutilizable con Headless UI y Tailwind CSS. **Características:** - ✅ Backdrop blur - ✅ Animaciones de entrada/salida - ✅ Tamaños configurables (sm, md, lg, xl, full) - ✅ Header, body y footer personalizables - ✅ Botón de cerrar opcional - ✅ Diseño oscuro consistente **Uso:** ```tsx setIsOpen(false)} title="Nueva Escena" size="md" footer={} > {/* Contenido */} ``` --- ### 2. **VerticalTabs** (`VerticalTabs.tsx`) Tabs verticales para el panel derecho del studio. **Características:** - ✅ Layout vertical con sidebar - ✅ Iconos personalizables - ✅ Estados activo/inactivo/disabled - ✅ Animaciones suaves - ✅ Border lateral en tab activo (azul) - ✅ Scroll automático en contenido **Uso:** ```tsx , content: } ]} /> ``` --- ### 3. **DropdownMenu** (`DropdownMenu.tsx`) Menú desplegable contextual con Headless UI. **Características:** - ✅ Posicionamiento configurable (4 opciones) - ✅ Items con iconos - ✅ Dividers entre secciones - ✅ Items deshabilitados - ✅ Items de peligro (rojo) - ✅ Hover states suaves **Uso:** ```tsx } items={[ { label: 'Editar', onClick: handleEdit }, { divider: true }, { label: 'Eliminar', onClick: handleDelete, danger: true } ]} placement="bottom-end" /> ``` --- ### 4. **Toggle** (`Toggle.tsx`) Switch toggle con Headless UI. **Características:** - ✅ Tres tamaños (sm, md, lg) - ✅ Label y descripción opcionales - ✅ Estados disabled - ✅ Focus ring accesible - ✅ Animaciones smooth **Uso:** ```tsx ``` --- ### 5. **Select** (`Select.tsx`) Select dropdown personalizado. **Características:** - ✅ Opciones con iconos - ✅ Placeholder configurable - ✅ Estados error - ✅ Label opcional - ✅ Check mark en opción seleccionada - ✅ Hover y focus states **Uso:** ```tsx