v0.7.0 — la piel
La piel: el theming pasa de release-grade en color/spacing/radios/motion/dark-light a release-grade también en tipografía y dimensiones estructurales — la brecha que dejó la auditoría de personalización (32 hallazgos).
npm i @milpa/designTodo aditivo: cada token nuevo defaultea a su valor actual, así que el build por defecto es pixel-idéntico salvo un ajuste deliberado de 70ch→65ch en dos bloques de prose. 68 piezas con contrato · 193 pares WCAG AA · audit de cierre 0 pares nuevos (release sin color).
Added
--font-heading/--font-body— el split 2-tier que reemplaza el--font-displayúnico; ambos defaultean al mismo stack ('Space Grotesk', system-ui, sans-serif).--font-displayqueda vivo como alias (var(--font-heading)) — nadie que lo consuma se rompe. Además una regla base:is(h1..h6) { font-family: var(--font-heading) }, así que CUALQUIER heading —no solo los.mui-*__title— sigue la fuente de títulos.--font-serif— fuente de prose/quotes; defaultea avar(--font-body)(cero cambio hasta que el consumidor ponga un serif editorial).--weight-semibold(600) — completa la escala 400/500/600/700.- Grupo
sizede tokens públicos (diez, default = literal que reemplazan):--focus-width/--focus-offset,--border-width,--container-max/narrow/wide,--header-h/--sidebar-w/--drawer-width,--measure. - Doc de carga de fuentes en
THEMING.md: snippet self-host@font-face+ alternativa<link>, y nota de que la degradación asystem-uies intencional (el paquete no envía fuentes).
Changed
verify-themevalida los 7 grupos del contrato por FORMA (tipo + no-vacío) para cualquier token no-color que un skin setee — no solo color. El contrato distingue hard-gate (contraste AA) de form-gate (longitud/número/tiempo/…) y deja de sobre-declarar.- Tailwind
fontFamilypasa a var-based (heading/body/serif/mono + display alias) — themeable desde Tailwind también. - Los cuatro bundles repuntan sus literales a los tokens nuevos: ~45 sitios de fuente → heading/body/serif, 42 anillos de foco →
--focus-width/--focus-offset(signo preservado en offsets negativos), ~86 bordes →--border-width, container/app-shell/drawer/measure → sus tokens;aspect-ratioreusa--media-ratio. - COMPAT — ninguna ruptura:
--font-displaysigue resolviendo (alias vivo). Quien quiera títulos ≠ cuerpo ahora setea--font-heading/--font-bodypor separado.
Fixed
- Ancho de lectura de prose unificado a
--measure(65ch):.mui-api__desc/__deprecated-noteusaban70chinconsistente — el único cambio visual del release (angostamiento de 5ch en esos dos sitios).
Changelog completo: CHANGELOG.md · Theming: THEMING.md · La constitución: DESIGN.md