Adopción y migración v6
Contrato común con adaptadores y verificación por proyecto, sin actualizaciones remotas silenciosas.
Cambios que hay que revisar
v6 conserva nombres existentes cuando permiten transición, pero cambia comportamiento. No es una actualización puramente cosmética: acento índigo, primario neutro, tres modos, Georgia editorial, Inter tabular, radio field separado, panel 20 px, geometría pill y retiro del isotipo antiguo, con L oficial y Vínculo complementario.
accent-solid sigue siendo acento. Un consumidor v5 que lo use como primary debe migrar a action. mark se conserva como alias de texto deprecado; no autoriza volver a renderizar el isotipo antiguo. La L se obtiene del SVG oficial, no del token de color. --font-display de Poppins deja de controlar display. La densidad compacta ya no reduce target ni radios por inercia.
Matriz de proyectos
| Proyecto | Registro | Adaptador y alcance |
|---|---|---|
| legalty-design-system | Guía y fuente | HeroUI v3; emisores CSS y JSON compartidos |
| legalty-landing-demo-source | Marketing | Georgia editorial, CTA neutro, pulir sin copiar su CSS completo |
| dashboard-legalty-app | App, interno y portal | NextUI v2; sincronización versionada y revisión de primary/action, fields y cifras |
| onboardings-app | Transaccional | Pasos, pago, validación, carga y recuperación; marketing solo fuera de la tarea |
| legalty-hiring | Marketing y formulario | Convocatoria editorial; solicitud transaccional |
| legalty-genz | Según superficie | Clasificar pantallas por intención antes de integrar; no heredar otra paleta |
| backend-legalty-app | Correo/PDF | Traducir roles a plantillas de salida; no importar CSS de app en documentos |
| mcp-server-legalty | Sin UI propia | Propagar metadatos correctos; no aplica tema visual a respuestas de API |
La matriz guía la adopción; esta actualización modifica el repositorio del DS, no declara migrados los consumidores.
Secuencia por consumidor
- Fijar versión 6.0.0 y registrar kit, modo, tema y extensiones en DESIGN.md.
- Obtener CSS/JSON versionados; revisar diff. Adaptar primary/action y field/control antes de sincronizar en producción.
- Migrar shell, botones, campos y tipografía. Sustituir el isotipo antiguo por wordmark o L oficial según el espacio. Adoptar el favicon L desde public/brand/official/letter.
- Migrar formularios, dinero, toast y gráficos. Mantener etiquetas y recuperación.
- Verificar claro/oscuro, móvil, teclado, densidad, estados y tareas prioritarias internas. Guardar evidencia.
- Pilotear una sección, revisar con usuarios y ampliar. Mantener rollback a la versión anterior.
En NextUI v2 mapear primary al rol action y focus al índigo. Un tema compilado requiere regeneración; importar tokens.css no cambia clases compiladas antiguas. HeroUI v3 sigue variables en runtime; no importar el bridge del kit en otros proyectos.
Receta común de producto
La revisión operativa del 15/10/2026 mantiene v6 y añade roles field-* y patrones de pasos/opciones. Registrar también meta.revision del JSON consumido. Dashboard y portal declaran data-mode="app"; expediente, onboarding, pagos y solicitudes usan transactional. Marketing conserva su propia raíz. App y transaccional consumen modes.app.color / modes.transactional.color sobre la base, nunca solo color.light/dark.
<html data-mode="transactional" data-theme="light">
<link rel="stylesheet" href="/design-system/tokens.css" />
<link rel="stylesheet" href="/design-system/components.css" />
<label for="nombre">Nombre de la empresa</label>
<input id="nombre" class="lg-field" aria-describedby="ayuda" />
<p id="ayuda">Como aparecerá en tus documentos.</p>
<button class="lg-button" data-variant="primary">Continuar</button>
</html>
Versionar ambos CSS junto al JSON. No copiar colores a Tailwind ni importar una URL mutable en runtime. Conservar la geometría pill y los estados de selección/foco al adaptar el kit. Los portales de menús y modales deben usar el modo de su producto. Un onboarding dentro de una landing necesita esa frontera explícita también para sus overlays.
Validar con contenido largo, lista de empresas con scroll, cifra pendiente en un paso activo, hover de pestaña activa, botones deshabilitados, input enfocado e inválido, modal abierto y viewport de 320 px. El texto normal debe alcanzar 4,5:1, el borde funcional y foco 3:1; el check de contrato prueba los pares en ambos temas y los tres modos. La matriz de Modos muestra los valores calculados y permite probar los registros sin cambiar la preferencia global.
Criterio de cierre
No quedan usos activos del isotipo antiguo, botones primarios de acento ni titulares de marketing en tareas. Targets y padding pill medidos, fuentes cargadas, estados accesibles, importes equivalentes al origen, controles sin recorte. Build y checks del consumidor completados. La validación del DS no sustituye la de cada app.
La documentación histórica de alternativas vive en docs/vnext y capturas. La colección vigente contiene L oficial y Vínculo complementario. Verificar sus roles antes de migrar consumidores; las demás exploraciones permanecen fuera de la distribución pública.