diff --git a/CHANGELOG.md b/CHANGELOG.md index 338b59fe..d0973196 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ Le format suit [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/) et le pr ## [Unreleased] +### Fixed + +- **La page `Introduction` du Storybook posé par `ng add @4sh/ui-kit-schematics` renvoyait vers la démo et les fichiers Figma du starter** (FSHSP-145). `scripts/schematics-assets.build.mjs` copiait `Introduction.mdx` tel quel en le traitant comme sans dépendance au monorepo, alors que ses sections « Application de démonstration » et « Ressources Figma » sont propres à ce dépôt. `scaffoldStorybook` pose désormais un scaffold (`src/ng-add/files/storybook/docs/Introduction.mdx`, sans ces deux sections) avant la copie brute des assets, pour la court-circuiter sur ce fichier précis. + ## [0.5.0] - 2026-08-20 ### Fixed diff --git a/projects/ui-kit-schematics/src/ng-add/files/storybook/docs/Introduction.mdx b/projects/ui-kit-schematics/src/ng-add/files/storybook/docs/Introduction.mdx new file mode 100644 index 00000000..5995958e --- /dev/null +++ b/projects/ui-kit-schematics/src/ng-add/files/storybook/docs/Introduction.mdx @@ -0,0 +1,216 @@ +import { Meta } from '@storybook/addon-docs/blocks'; + + + +
+
+ # Bienvenue dans la documentation du Design System +
+ +
+ ## Stack Technique + +
+
+

Angular 22

+

Framework principal : architecture standalone et API signals native.

+
+
+

Composants

+

Composants + [Angular CDK](https://material.angular.io/cdk/categories) (overlay, a11y, focus-trap). Style co-localisé, zéro librairie UI propriétaire.

+
+
+

Storybook 10

+

Documentation vivante et terrain de jeu des composants, connecté à Figma via addon-designs.

+
+
+
+ +
+ ### Fondations & outillage + +
+
+
+ Design System intégré basé sur les design tokens +
+
+

Design System Intégré

+

Thème cohérent basé sur vos design tokens Figma, propagé à tous les composants.

+
+
+ +
+
+ Fichiers de tokens JSON configurables +
+
+

Configuration Flexible

+

Personnalisez facilement les couleurs, la typographie et les espacements via les fichiers de tokens JSON.

+
+
+ +
+
+ Interface de gestion Token Flow Manager +
+
+

Token Flow Manager

+

Visualisez et éditez vos tokens de style directement côté code via un dashboard local visuel, sans altérer votre formatage JSON.

+
+
+ +
+
+ Système de grille Gridaflex +
+
+

Gridaflex

+

Système de grille flexbox et gestion des breakpoints / media queries, alimenté par les tokens responsive.

+
+
+ +
+
+ Librairie d'icônes FontAwesome +
+
+

Librairie d'icônes

+

Icônes FontAwesome Free intégrées par defaut via le composant ui-icon, décoratives par défaut (a11y).

+
+
+
+
+
+ + diff --git a/projects/ui-kit-schematics/src/ng-add/index.ts b/projects/ui-kit-schematics/src/ng-add/index.ts index e2b7ff2c..fcb7ecfa 100644 --- a/projects/ui-kit-schematics/src/ng-add/index.ts +++ b/projects/ui-kit-schematics/src/ng-add/index.ts @@ -316,7 +316,8 @@ const UI_IMAGE_MARKER_RE = /^[ \t]*\/\/ <\/?ui-image>\n/gm; * là-bas (`manager.ts`, `brand-toolbar.ts`, `preview-head.html`, les pages de * doc transverses) vient des assets, synchronisé depuis ce dépôt ; ce qui doit * diverger (`main.js` et ses globs, `preview.ts` et ses couplages, `myTheme.ts` - * et sa marque, les tsconfig) est un scaffold écrit pour le consommateur. + * et sa marque, les tsconfig, `docs/Introduction.mdx` et ses liens vers la + * démo/le Figma DE CE DÉPÔT) est un scaffold écrit pour le consommateur. * * La règle tourne APRÈS la copie des composants, et pas avant : c'est l'arbre * qui dit si `ui-image` en fait partie. Sa preview a besoin de providers que @@ -351,6 +352,15 @@ function scaffoldStorybook(): Rule { } }; + // `Introduction.mdx` des assets cite la démo et les Figma DE CE DÉPÔT + // (sections "Application de démonstration" / "Ressources Figma") : sans + // objet chez un consommateur. Scaffold posé en premier pour que `create()` + // dans `copyAll` le trouve déjà là et n'écrase pas avec la version brute. + create( + 'storybook/docs/Introduction.mdx', + readFileSync(join(scaffolds, 'docs/Introduction.mdx'), 'utf8'), + ); + copyAll(assets, 'storybook'); for (const name of ['main.js', 'myTheme.ts', 'tsconfig.json', 'tsconfig.doc.json']) { diff --git a/scripts/schematics-assets.build.mjs b/scripts/schematics-assets.build.mjs index 7609c5dd..c04ae90c 100644 --- a/scripts/schematics-assets.build.mjs +++ b/scripts/schematics-assets.build.mjs @@ -278,8 +278,12 @@ function main() { // dur les stories de tous les composants du monorepo. Ni l'une ni l'autre // ne transposent tel quel chez un consommateur qui n'a copié qu'une partie // des composants. - // `Introduction`, elle, n'a aucune dépendance au monorepo (texte + images - // statiques) : FSHSP-138 corrige son absence, oubliée jusqu'ici. + // `Introduction`, elle, est en majorité indépendante du monorepo (texte + + // images statiques) : FSHSP-138 corrige son absence, oubliée jusqu'ici. Ses + // sections "Application de démonstration" / "Ressources Figma" restent + // spécifiques À CE DÉPÔT : `ng-add` les court-circuite avec un scaffold + // (`src/ng-add/files/storybook/docs/Introduction.mdx`), posé avant cette + // copie brute — voir `scaffoldStorybook`. const introSrc = join(ROOT, 'storybook/docs/Introduction.mdx'); if (existsSync(introSrc)) { mkdirSync(join(ASSETS, 'storybook/docs'), { recursive: true });