Aligned by design
Design System Guidelines
Repositorio independiente para convertir la identidad Meridian en un sistema de producto: tokens DTCG/OpenPencil, componentes documentados, estados accesibles y patrones listos para Figma/Pencil.dev.
Arquitectura de tokens
Primitive → Semantic → Component coreLa capa primitive trae valores del brand guide; semantic asigna intención por modo; component fija decisiones por UI. Esto permite que Figma, Pencil.dev y CSS consuman el mismo contrato.
Primitive
Color brand/neutral, tipografía, espacio, radio, shadow, motion, z-index.
color.primitive.brand.500
Semantic
Roles de interfaz: fondo, superficie, texto, borde, acción, foco, status.
color.semantic.action.primary.background.default
Component
Button, input, card, badge, modal y navegación con estados explícitos.
component.button.primary.background.hover
| Token | Light | Dark | Uso |
|---|---|---|---|
| background.default | #FFFFFF |
#0E1116 |
Canvas base |
| surface.default | #FFFFFF |
#181D25 |
Cards, modals, tables |
| text.primary | #0E1116 |
#F7F9FC |
Lectura principal |
| action.primary.bg | #2348E0 |
#4F6FEE |
CTA, focusable actions |
| focus.ring | rgba(35,72,224,.28) |
rgba(126,153,246,.34) |
Teclado y accesibilidad |
Secciones heredadas del brand guide
Validated and integrated coreEl design system no copia el brand book completo: integra las secciones que gobiernan UI y handoff. Estrategia, voz, aplicaciones físicas y legal permanecen en el brand guide; color, tipografía, accesibilidad, dark mode, iconografía, grid, motion y data-viz viven aquí como reglas operativas.
Color palette
Escalas brand/neutral, pares AA y roles semánticos para light/dark.
Typography
Space Grotesk, Inter y Space Mono convertidas a tokens de texto y estilos.
Accessibility
Contraste, foco visible, ARIA y estados no dependientes sólo de color.
Dark mode
Re-mapeo por roles, sin inversión literal de assets ni swatches.
Iconography
Tabler-style outline, grid de 24 px, stroke 2 px y tamaños 16/20/24.
Grid & spacing
Escala 8pt, contenedores, gutters y breakpoints para producto.
Motion
Duración, easing, reduced motion y estados loading.
Data visualization
Series, leyendas y estados de tabla/reportes sin depender sólo de color.
Átomos
Color, type, space, shape, depth, icon coreLos átomos son las variables que Figma debe importar como primitives y que CSS consume como custom properties. Cada átomo muestra token path, valor visual, tipo DTCG y scope de uso.
Color primitives
Brand cobalt
Neutral scale
#1A8F5E
warning#C77A11
danger#D03A3A
info#2348E0
Type scale
72 / 1.08 · Space Grotesk Bold48, 34, 24 · Space Grotesk Bold16 / 1.55 · Inter Regular12-14 · Space MonoSpacing 8pt
Gaps, padding, gutters y ritmos verticales salen de esta escala.
Radius + elevation
6md10lg16fullIcon atoms
16px
20px
24px
Grid 24 px, stroke 2 px, outline sin rellenos decorativos.
Border + opacity
1px
strong2px
Moléculas
Small reusable patterns coreCada molécula documenta variantes, estados, ARIA y el token responsable de cada decisión visual. Los ejemplos usan `data-component` para que agentes puedan parsearlos.
Buttons
Field
Tabs
Alerts
Componentes
Product UI examples coreLos componentes están pensados para SaaS/admin: densos, escaneables, sin composición de marketing. Cada uno expone estructura y estados suficientes para implementación.
Release checklist
Generación, tokens, accesibilidad y handoff listos para publicar.
Publish tokens
La librería se versionará como meridian-ds@0.1.0.
Token audit
| Token | Tipo | Modo | Estado |
|---|---|---|---|
| action.primary.bgcomponent.button.primary.background | color | lightdark | ok |
| input.border.errorcomponent.input.border.error | color | global | ok |
| motion.duration.fastduration.fast | duration | global | ok |
Layouts
Responsive product composition recLos layouts traducen la sección de grid/espaciado del brand guide a patrones de producto: navegación lateral, superficies de tabla, formularios y documentación.
640- Container
- 100% - 32
- Grid
- 1 col
- Uso
- Mobile forms
768- Container
- 720
- Grid
- 6 col
- Uso
- Tablet docs
1024- Container
- 960
- Grid
- 12 col
- Uso
- Dashboard
1200- Container
- 1200
- Grid
- 12 col
- Uso
- Desktop workspace
Motion, z-index y estados
Interaction system recLa guía de motion se vuelve tokens de duración/easing; z-index evita stacks arbitrarios; los estados garantizan que hover/focus/disabled/loading/error tengan definición visible y accesible.
Motion
fast 120ms · base 180ms · slow 280ms · easing standard cubic-bezier(.2,.8,.2,1).
Z-index
State matrix
Exportación y handoff
Figma / Pencil.dev / code coreEl contrato vive en design-tokens.json: formato DTCG, metadata Figma y extensiones OpenPencil. El build valida aliases, secciones y ejemplos `data-component`.
DTCG
$type, $value, alias y descripciones.
Figma
Collections, modes, scopes y code syntax para variables.
OpenPencil
Manifest de componentes, estados, ARIA y atributos para agentes.
{
"component.button.primary.background.default": "{color.semantic.action.primary.background.default}",
"component.button.primary.background.hover": "{color.semantic.action.primary.background.hover}",
"component.button.primary.focus.ring": "{color.semantic.focus.ring}"
}