chore: initial DSMMG v0.2 — refonte architecturale complète
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:
@@ -0,0 +1,37 @@
|
||||
---
|
||||
"@managemate/css": major
|
||||
"@managemate/react": major
|
||||
"@managemate/icons": major
|
||||
---
|
||||
|
||||
# DSMMG 0.2 — refonte architecturale
|
||||
|
||||
**Breaking changes :**
|
||||
|
||||
- **Tokens couleur** : tous les tokens couleur passent sous le préfixe `--mmg-color-*`.
|
||||
- `--mmg-bg-*` → `--mmg-color-bg-*`
|
||||
- `--mmg-text-1/2/3/4` → `--mmg-color-text-{primary,secondary,tertiary,quaternary}`
|
||||
- `--mmg-border-*` → `--mmg-color-border-*`
|
||||
- `--mmg-brand-*` → `--mmg-color-accent-*`
|
||||
- `--mmg-success/warning/danger/info-*` → `--mmg-color-*`
|
||||
- `--mmg-art-*` → `--mmg-color-art-*`
|
||||
- `--mmg-state-*` → `--mmg-color-state-*`
|
||||
- **Tokens typographie** : `--mmg-text-{xs..5xl}` → `--mmg-font-size-*`, `--mmg-leading-*` → `--mmg-line-height-*`, `--mmg-weight-*` → `--mmg-font-weight-*`.
|
||||
- **Suppression `[data-mmg-product]`** : remplacé par presets utilisateur via `[data-mmg-accent]`.
|
||||
- **Composants splittés** : `Advanced.tsx`, `Chrome.tsx`, `Article.tsx` éclatés en un fichier par composant. Imports inchangés via le barrel `index.tsx`.
|
||||
- **Build** : packages désormais distribués via `dist/` (ESM + CJS + types). Les imports depuis `src/` ne sont plus supportés.
|
||||
|
||||
**Nouveautés :**
|
||||
|
||||
- **9 presets accent** utilisateur (`synapse`, `rose`, `blue`, `violet`, `green`, `amber`, `red`, `cyan`, `slate`) avec rampes complètes et variantes dark.
|
||||
- Composant `ThemePicker` + hooks `useAccent`, `useTheme`.
|
||||
- Cascade `@layer reset, tokens, base, components, utilities` pour permettre les surcharges sans `!important`.
|
||||
- Utilitaires CSS `mmg-u-*` (stack, flex, grid, text, bg, padding, margin…).
|
||||
|
||||
**Migration :**
|
||||
|
||||
Lancer le codemod fourni pour migrer ton codebase consommateur :
|
||||
|
||||
```sh
|
||||
node scripts/migrate-tokens.mjs
|
||||
```
|
||||
@@ -0,0 +1,30 @@
|
||||
# Changesets
|
||||
|
||||
Ce dossier contient les "changesets" — des fichiers Markdown qui décrivent les changements à publier.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Pour chaque PR qui modifie un package versionné, ajouter un changeset :
|
||||
```sh
|
||||
pnpm changeset
|
||||
```
|
||||
2. Sélectionner les packages impactés et le bump (patch / minor / major).
|
||||
3. Décrire le changement (1-2 phrases, orienté consommateur).
|
||||
4. Commit le `.changeset/*.md` généré avec ta PR.
|
||||
|
||||
## Release
|
||||
|
||||
Sur `main` :
|
||||
```sh
|
||||
pnpm version-packages # consume les changesets, bump les versions, met à jour CHANGELOG
|
||||
pnpm release # build + publish (registre privé)
|
||||
```
|
||||
|
||||
## Politique de versioning (SemVer strict)
|
||||
|
||||
- **major** : breaking change API publique (rename/suppression d'export, signature de prop modifiée, token renommé).
|
||||
- **minor** : nouveau composant, nouvelle prop, nouveau token, nouvelle variante.
|
||||
- **patch** : bugfix, doc, perf interne sans surface publique.
|
||||
|
||||
Les 4 packages versionnés sont **fixed** (même version) pour éviter les
|
||||
incompatibilités de tokens entre `@managemate/css` et `@managemate/react`.
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
|
||||
"changelog": "@changesets/cli/changelog",
|
||||
"commit": false,
|
||||
"fixed": [["@managemate/css", "@managemate/react", "@managemate/icons", "@managemate/tokens"]],
|
||||
"linked": [],
|
||||
"access": "restricted",
|
||||
"baseBranch": "main",
|
||||
"updateInternalDependencies": "patch",
|
||||
"ignore": ["demo", "storybook", "docs"]
|
||||
}
|
||||
Reference in New Issue
Block a user