@mostajs/palette-ui
v0.1.0
Published
Compositeur de palettes (zéro dépendance, no-build) : sélecteurs → tokens dérivés → table de contrastes WCAG → CSS exploitable, avec la planche du système de design (12 sections) et les aperçus PC/mobile aux largeurs réelles. Le même ESM tourne côté serve
Maintainers
Readme
@mostajs/palette-ui
Auteur : Dr Hamid MADANI [email protected] · AGPL-3.0-or-later · zéro dépendance · ESM, sans build
Le compositeur de palettes de @mostajs/palette : sélecteurs → tokens dérivés → table de contrastes WCAG → CSS exploitable, avec la planche du système de design (12 sections) et les aperçus PC / mobile.
En production : https://palette.amia.fr
Le point d'architecture
@mostajs/palette et ce module sont de l'ESM pur sans dépendance : le même code produit le premier rendu (serveur) et le recalcul (navigateur). Zéro build, zéro framework — l'app sert simplement les deux fichiers en statique.
Les aperçus sont de vraies iframes aux largeurs réelles (1280 px / 390 px) : les media queries s'appliquent pour de bon, ce qu'un <div> rétréci ne permet pas.
API
| Export | Rôle |
|---|---|
| palettePage(vm) | la page complète (compositeur + aperçus + script client) |
| composer(vm) · preview() | les deux panneaux |
| designSystem(tokens, { scales }) | la planche : palette, typo, boutons, champs, cartes, alertes, nav, tableaux, badges, icônes, divers, espacements |
| boardDocument(css, tokens) | la planche en document autonome (pour une iframe) |
| contrastTable(report) · galleryPanel · projectPanel · fontPanel · importPanel · readInput(text) | les briques |
| BOARD_CSS · COMPOSER_CSS | les styles |
Garanties (testées)
- Aucune couleur en dur dans la planche : tout passe par
var(--token)— ce qu'on voit est ce que le CSS exporté produira. - Accessible là où les socles ne le sont pas :
:focus-visiblepartout, états:active, transitions. - RTL : propriétés logiques, aucun
left/rightphysique. - Round-trip : ce que l'app exporte,
readInput()sait le relire (CSS ou JSON).
24 tests verts (@mostajs/mjs-unit).
