Producto
Tokens, componentes y patrones para construir interfaces consistentes — del e-commerce a la app de farmacia.
Elementos generales
Las piezas fundacionales: tokens de diseño, botones, inputs, tarjetas, header y reglas de accesibilidad. Todo lo que se reutiliza dentro de cualquier componente más complejo.
Espaciado · Radio · Sombra
Variantes y estados
Cuándo usar cada botón
| Variante | Cuándo usar | Evitar | Ejemplos |
|---|---|---|---|
buttonClass("primary") | Acción principal de la pantalla (1 por vista). Convierte o avanza el flujo. | No usar más de uno por sección. No para acciones destructivas. | Comprar · Continuar · Guardar cambios |
buttonClass("bright") | CTA promocional o de alta visibilidad sobre fondos claros y banners. | No mezclar con Primario en el mismo bloque (compiten por atención). | Aprovechar oferta · Ver promoción |
buttonClass("action") | Botón flotante o de asistente IA donde se necesita azul cobalto vivo y sombra elevada. | No usar en formularios densos: su saturación domina la jerarquía. | Pedir al asistente · Generar con IA |
buttonClass("secondary") | Acción complementaria al Primario (cancelar, volver, alternativa). | No usar sola como CTA principal. | Cancelar · Ver detalles |
buttonClass("outline") | Acciones terciarias con jerarquía media en superficies blancas. | Evitar sobre fondos de color: el stroke gris pierde contraste. | Descargar PDF · Exportar |
buttonClass("soft") | Botones agrupados en toolbars, tablas o filtros donde un border duplicaría líneas. | No usar como CTA principal ni sobre fondos oscuros. | Filtrar · Ordenar · Columnas |
buttonClass("ghost") | Acciones de bajo énfasis dentro de cards o como link visual. | No combinar dos Ghost seguidos: parecen texto plano. | Ver más · Saltar paso |
Campos y formularios
Tarjeta de producto
Patrón de navegación e-commerce
Reglas mínimas
- →Contraste mínimo 4.5:1 para texto cuerpo, 3:1 para texto grande.
- →Focus ring visible siempre — outline 2px Azul Brillante con offset 2px.
- →Áreas táctiles ≥ 44×44 px en mobile.
- →Iconos sin texto deben llevar aria-label descriptivo.
- →Estados disabled comunicados además de por opacidad (cursor, aria).
Mensajes y notificaciones
Patrones de toast para confirmar acciones, reportar errores, mostrar progreso y notificar eventos. Usa colores de marca: azul profundo para éxito, naranja para advertencias, rojo para errores. Nunca uses verde.
Para confirmar una acción del usuario. Glass + gradient azul, pill blanca con check. Reemplaza al toast.success plano.
Cuatro severidades con iconografía clara. Nunca uses verde — azul profundo para éxito.
Cuando hay una acción reversible o un siguiente paso claro, ponla a un click de distancia.
Para operaciones asíncronas, usa toast.promise. El usuario ve progreso sin bloquear la UI.
Cuando necesitas mostrar datos estructurados, un toast custom mantiene todo compacto.
Cuando ocurren varios cambios en cascada, notifica el resumen, no cada micro-paso.
Los toasts de error deben persistir más tiempo. Los de éxito pueden desaparecer rápido.
Componentes
Patrones compuestos listos para usar: formularios asistidos por IA, jerarquías, grids editables y tableros para gestión. Cada uno se apoya en los elementos generales del bloque anterior.
Patrones de formulario asistido por IA
Demuestra los buenos patrones cuando un agente acompaña al usuario: stepper visible para reducir carga cognitiva, autocomplete con predicción inline (ghost text + Tab para aceptar), sugerencias contextuales del agente, validación con propuesta de corrección, y resumen final tipeado por el agente. El usuario siempre puede sobrescribir cualquier valor sugerido.
Nueva orden de reabastecimiento
El agente sugiere, tú decides. Cada campo se pre-llena con razón visible — siempre puedes sobrescribir.
¿A qué tienda enviamos?
El agente prioriza tiendas con stock bajo en tu región.
Un solo H4 por paso, eyebrow mono para contexto, hint del agente debajo. El usuario sabe siempre dónde está.
La predicción aparece atenuada dentro del input. Tab acepta, ↵ confirma de la lista. Nunca bloquea escritura libre.
El agente pre-llena con razón visible (“Aceptar sugerencia” / “Editar antes de aceptar”). Cero magia oculta.
Cuando algo se sale del rango, el sistema muestra el problema y propone la corrección en un solo click.
Variante con múltiples campos por pantalla
Misma promesa que el formulario por pasos, pero optimizado para usuarios expertos que quieren ver y editar todo de una. La IA aporta un CTA de auto-completado global, asistencia campo por campo (autocomplete con ghost text, sugerencias inline, presets) y un panel lateral con resumen en vivo. La validación es local: nunca bloquea otros campos.
Nueva orden — todos los campos en una pantalla
Para usuarios expertos. La IA puede pre-llenar todo o solo asistir campo por campo.
Secciones agrupadas con ícono + eyebrow + título corto. Sin stepper: una progress bar fina comunica avance.
Un solo CTA pre-llena todos los campos. Aparece un panel lateral explicando por qué eligió cada valor.
Cada input mantiene su patrón: ghost text en autocomplete, suffix con valor sugerido, presets para fechas.
El panel lateral re-tipea el resumen cada vez que cambia un campo crítico. Cero magia escondida.
Cuando un campo no está bien
El feedback útil es contextual: aparece donde el ojo ya está, dice qué está mal y, cuando es posible, ofrece la corrección en un solo click. Severidad jerarquizada (info → warn → error), validación blanda mientras escribe y firme al salir, nunca un muro de errores rojos para el usuario.
No grites antes de tiempo. Mientras el usuario escribe, sólo da hints en gris. La firmeza llega al onBlur o submit.
Si puedes adivinar la intención (typo de email, formato de teléfono), ofrécelo como un click.
Cuando hay varios criterios (password, código), muéstralos como checklist que se llena en tiempo real.
- Mínimo 8 caracteres
- 1 mayúscula
- 1 número
- 1 símbolo (!@#$…)
Estados claros: idle → cheking → ok / taken. Nunca dejes el usuario sin saber qué pasó.
Cuando el valor es válido sintácticamente pero raro en contexto, muestra warning con cifra de referencia y opción de ajuste.
Si hay varios errores, listálos arriba con anchor a cada campo. El usuario nunca debe cazar errores.
Resuélvelos y reintenta. El resto del formulario está OK.
- Tiendaok
- Email del responsablerequiere atención
- Cantidadrequiere atención
- Vigenciaok
- Loterequiere atención
Vista de empleados en lista
Lista jerárquica expandible para visualizar la estructura del equipo: tags por rol y ubicación, y métricas clave (tamaño de equipo, OKR con tendencia, antigüedad y performance) leíbles en una sola línea. La indentación + línea vertical comunican profundidad sin saturar.
- CRCarolina RestrepoProductoC-LevelBogotáChief Product OfficerEquipo42OKR92%Antigüedad6 añosPerf4.8/5
- MVMateo VélezDiseñoLeadHíbridoHead of DesignEquipo12OKR88%Antigüedad3 añosPerf4.6/5
- AGAna María GómezIngenieríaLeadRemotoHead of EngineeringEquipo18OKR81%Antigüedad4 añosPerf4.5/5
- JMJulián MoraInvestigaciónLeadMedellínHead of ResearchEquipo6OKR86%Antigüedad2 añosPerf4.4/5
Tabla editable tipo Excel
Grid navegable por teclado: flechas para moverte, Enter o doble-click para editar, Tab para saltar a la siguiente columna, Esc para cancelar. Cabeceras tipo A, B, C y barra de fórmula con la celda activa — el patrón mental que cualquier usuario de Excel ya conoce.
AProductotext | BSKUtext | CCategoríaselect | DStocknumber | EPrecionumber | FEstadoselect | GTagstags | |
|---|---|---|---|---|---|---|---|
| 1 | Acetaminofén 500mg x20 | FT-0021 | Medicamentos | 1.240 | $ 12.300 | Activo | GenéricoTop |
| 2 | Vitamina C 1000mg | FT-0044 | Vitaminas | 860 | $ 38.900 | Activo | Top |
| 3 | Protector solar SPF 50 | FT-0118 | Belleza | 312 | $ 64.500 | Activo | ImportadoNuevo |
| 4 | Crema corporal hidratante | FT-0231 | Cuidado | 540 | $ 29.900 | Activo | Promo |
| 5 | Pañal etapa 3 x40 | FT-0309 | Bebés | 180 | $ 54.200 | Bajo stock | Top |
| 6 | Shampoo anticaspa 400ml | FT-0412 | Belleza | 0 | $ 27.800 | Agotado | — |
| 7 | Ibuprofeno 400mg x10 | FT-0577 | Medicamentos | 2.100 | $ 8.900 | Activo | RecetaGenérico |
| 8 | Multivitamínico adultos | FT-0688 | Vitaminas | 470 | $ 45.600 | Activo | Nuevo |
| 9 | Jabón antibacterial | FT-0790 | Cuidado | 1.320 | $ 6.500 | Activo | Promo |
| 10 | Fórmula infantil 800g | FT-0815 | Bebés | 92 | $ 78.900 | Bajo stock | Importado |
| 11 | Mascarilla facial x5 | FT-0902 | Belleza | 640 | $ 19.900 | Activo | NuevoPromo |
| 12 | Termómetro digital | FT-1010 | Cuidado | 210 | $ 32.000 | Activo | — |
| 13 | — | — | — | — | — | — | — |
| 14 | — | — | — | — | — | — | — |
Kanban con filtros
Primera vista de la suite de gestión de proyectos: tablero kanban con columnas de flujo (Backlog → En curso → Revisión → Listo), tarjetas con proyecto, prioridad, responsables, due-date y progreso de subtareas. Los filtros combinables (proyecto, prioridad, responsable) y la búsqueda libre permiten cortar el tablero sin perder el contexto visual. Vencimientos vencidos en rojo, prioridad y proyecto codificados en azules de la marca.
Kanban de contratación
Segundo ejemplo de la suite: pipeline de hiring con etapas (Aplicaciones → Screening → Entrevistas → Oferta → Contratado). Tarjetas con foto-iniciales, posición, seniority, ubicación, rango salarial, calificación y próximo paso. Filtros por posición, seniority y fuente; los candidatos que llevan más de 10 días en una etapa se marcan en rojo para evitar que se enfríen.
Project management
Vistas para planear y dar seguimiento: timeline con dependencias, calendario, roadmap por trimestres y planeación de sprint. Comparten paleta y atomos con los kanbans para sentirse parte de un mismo sistema.
Timeline · Gantt con dependencias
Barras por proyecto con relleno proporcional al progreso, línea vertical de “hoy” y agrupación por proyecto con color propio. El filtro superior recorta a un solo proyecto para hacer foco. Pensado para horizontes de 4 semanas; escala bien para roadmaps tácticos sin volverse Microsoft Project.
Calendario · mensual y semanal
Misma data, dos densidades: una vista de mes para ver volumen y ritmo, y una de semana con franjas horarias para coordinar reuniones y bloques de trabajo. Cada evento hereda el color de su proyecto para reconocerse de un vistazo.
Roadmap por trimestres
Swimlanes por equipo, columnas por trimestre y barras que abarcan uno o varios Q. Los hitos se marcan con un diamante bajo la barra. La columna actual tiene un tinte azul muy sutil para anclar el presente sin robar protagonismo a lo que viene.
Sprint · capacity planner
Carga por persona en story points con barra de ocupación: si alguien se pasa de su capacidad, la barra cambia a naranja y aparece un aviso. La tabla de historias permite reasignar en vivo para balancear el sprint antes de empezar.
| Historia | Puntos | Prioridad | Asignado a | |
|---|---|---|---|---|
| Buscador con autocomplete IA | 5 | MR | ||
| Modal de detalle de producto | 3 | JC | ||
| Filtros guardados | 5 | JC | ||
| A/B test pricing | 8 | AN | ||
| Empty states catálogo | 2 | LP | ||
| Notificaciones push | 5 | DR | ||
| Onboarding tarjetas | 3 | LP | ||
| Migración API v2 | 13 | DR | ||
| Reglas de puntos | 5 | MR | ||
| Métricas evento checkout | 2 | AN |
