chore: initial DSMMG v0.2 — refonte architecturale complète
Release / Release / open changeset PR (push) Has been cancelled
CI / Build, typecheck, test, a11y (push) Has been cancelled

Mise en place du Design System ManageMate Group v0.2 — refonte du
système de tokens (préfixe --mmg-color-*), 9 presets accent
user-themable validés WCAG AA, overlays Radix UI + Floating UI,
Storybook 8 + Vitest + axe-core en CI, doc Astro Starlight,
DESIGN.md (format google-labs-code) et exports tokens DTCG/CSS/
TS/Figma/Tailwind v3 et v4.

- 4 packages monorepo pnpm : @managemate/{tokens,css,react,icons}
- 62 composants React headless-first (Sheet, HoverCard, ContextMenu,
  Slider, ToggleGroup, AvatarGroup, UserCard, ProfileHeader,
  MetricCard, PricingCard, FeatureCard, Text/Display/Eyebrow/Lead…)
- Lint contraste WCAG : 37/37 paires AA, branché CI
- Toast pile Sonner-style avec ResizeObserver
- Theming user (9 presets) sans casser sémantique fixe
- Identité Synapse (rose #D12B6A) préservée

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dinawo
2026-05-04 22:07:57 +02:00
parent 5e019857fc
commit 62317f2ad7
172 changed files with 31397 additions and 1 deletions
+58
View File
@@ -0,0 +1,58 @@
import { Meta } from "@storybook/blocks";
<Meta title="Intro" />
# DSMMG — Design System ManageMate Group
Référence pour designers et développeurs des produits ManageMate (Synapse, HRTime, Forge, Orbit, MSLM, Espace-Client, sites publics).
## Principes
1. **Accessibilité non-négociable** — RGAA 4.1 / WCAG 2.2 AA, validé via axe-core en CI sur chaque composant.
2. **Headless-first** — comportement (focus, keyboard, ARIA) découplé du style. Primitives Radix UI / Floating UI dessous.
3. **Tokens partout** — aucun hex en dur, aucun `--mmg-color-synapse` direct. Tout passe par les sémantiques (`--mmg-color-text-primary`, `--mmg-color-bg-surface`) et l'accent (`--mmg-color-accent`).
4. **Tree-shakable** — un composant = un fichier. `sideEffects: false`. Les imports inutilisés sont droppés par les bundlers consommateurs.
## Theming utilisateur
Chaque utilisateur peut choisir son accent (rose Synapse par défaut). 9 presets validés AA :
- `synapse` (rose corporate, défaut)
- `rose`, `blue`, `violet`, `green`, `amber`, `red`, `cyan`, `slate`
Le picker change en live ici (toolbar Storybook → "Accent"). Voir aussi le composant **`<ThemePicker />`** dans `Theming`.
## Density
3 modes adaptables via `[data-mmg-density]` :
- `comfortable` (défaut, public)
- `cozy` (apps métier)
- `compact` (power users)
## Standards
- shadcn/ui + Radix UI (architecture, primitives a11y)
- Linear, Notion, Vercel, Stripe (références SaaS dense)
- DSFR (méthodologie a11y)
- Atlassian DS, IBM Carbon (apps enterprise)
## Conventions de naming
| Catégorie | Préfixe |
|---|---|
| Tokens couleur | `--mmg-color-*` |
| Tokens taille | `--mmg-space-*`, `--mmg-radius-*`, `--mmg-font-size-*` |
| Tokens motion | `--mmg-duration-*`, `--mmg-ease-*` |
| Classes CSS | `mmg-<comp>` |
| Classes utilitaires | `mmg-u-*` |
| Variantes BEM | `mmg-<comp>--<variant>` |
| Sous-éléments BEM | `mmg-<comp>__<part>` |
## Navigation
- **Tokens** — primitives, sémantiques, accent, motion
- **Forms** — Button, Input, Select, Checkbox, Radio, Switch, Combobox
- **Layout** — Container, Stack, Grid, Card, Tile
- **Overlays** — Tooltip, Popover, Menu, Dialog (tous Radix-backed)
- **Navigation** — Header, Footer, Breadcrumb, Tabs, Pagination, AppShell
- **Data display** — DataTable, Stat, Avatar, Tag, Badge, Progress
- **Theming** — ThemePicker, dark mode toggle