Skip to content

Commit 1dccf2f

Browse files
authored
Merge pull request #1015 from dnum-mi/docs/add-doc-to-some-components
docs/add doc to some components
2 parents 2965746 + 0438598 commit 1dccf2f

File tree

26 files changed

+1185
-19
lines changed

26 files changed

+1185
-19
lines changed

.vitepress/config.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,20 @@ const composants = [
174174
text: 'DsfrFileUpload',
175175
link: '/composants/DsfrFileUpload.md',
176176
},
177+
{
178+
text: 'DsfrFollow',
179+
link: '/composants/DsfrFollow.md',
180+
items: [
181+
{
182+
text: 'DsfrNewsLetter',
183+
link: '/composants/DsfrNewsLetter.md',
184+
},
185+
{
186+
text: 'DsfrSocialNetworks',
187+
link: '/composants/DsfrSocialNetworks.md',
188+
},
189+
],
190+
},
177191
{
178192
text: 'DsfrFooter',
179193
link: '/composants/DsfrFooter.md',
@@ -228,6 +242,10 @@ const composants = [
228242
text: 'DsfrLanguageSelector',
229243
link: '/composants/DsfrLanguageSelector.md',
230244
},
245+
{
246+
text: 'DsfrLogo',
247+
link: '/composants/DsfrLogo.md',
248+
},
231249
{
232250
text: 'DsfrModal',
233251
link: '/composants/DsfrModal.md',
@@ -248,6 +266,10 @@ const composants = [
248266
text: 'DsfrPicture',
249267
link: '/composants/DsfrPicture.md',
250268
},
269+
{
270+
text: 'DsfrQuote',
271+
link: '/composants/DsfrQuote.md',
272+
},
251273
{
252274
text: 'DsfrRadioButton',
253275
link: '/composants/DsfrRadioButton.md',
@@ -280,6 +302,22 @@ const composants = [
280302
text: 'DsfrSelect',
281303
link: '/composants/DsfrSelect.md',
282304
},
305+
{
306+
text: 'DsfrSkipLinks',
307+
link: '/composants/DsfrSkipLinks.md',
308+
},
309+
{
310+
text: 'DsfrShare',
311+
link: '/composants/DsfrShare.md',
312+
},
313+
{
314+
text: 'DsfrStepper',
315+
link: '/composants/DsfrStepper.md',
316+
},
317+
{
318+
text: 'DsfrSummary',
319+
link: '/composants/DsfrSummary.md',
320+
},
283321
{
284322
text: 'DsfrTable',
285323
link: '/composants/DsfrTable.md',

.vitepress/theme/style.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,10 @@
199199
width: 100%;
200200
}
201201

202+
.w-90 {
203+
width: 90%;
204+
}
205+
202206
.h-full {
203207
width: 100%;
204208
}

docs/composants.md

Lines changed: 63 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ Le storybook est toujours disponible [ici](https://storybook.vue-ds.fr)
1818
- [DsfrBadge](./composants/DsfrBadge)
1919
- [DsfrTag](./composants/DsfrTag)
2020

21+
## Barre de recherche
22+
23+
- [DsfrSearchBar](./composants/DsfrSearchBar)
24+
2125
## Boutons et contrôles segmentés
2226

2327
- [DsfrButton](./composants/DsfrButton)
@@ -30,58 +34,107 @@ Le storybook est toujours disponible [ici](https://storybook.vue-ds.fr)
3034
- [DsfrCard](./composants/DsfrCard)
3135
- [DsfrTile](./composants/DsfrTile)
3236

37+
## Citation
38+
39+
- [DsfrQuote](./composants/DsfrQuote)
40+
3341
## Consentement
3442

3543
- [DsfrConsent](./composants/DsfrConsent)
3644

37-
## En-tête de page
45+
## Étapier (indicateur d’étape)
46+
47+
- [DsfrStepper](./composants/DsfrStepper)
48+
49+
## En-tête, pied de page et logo
3850

3951
- [DsfrHeader](./composants/DsfrHeader)
4052
- [DsfrHeaderMenuLink](./composants/DsfrHeaderMenuLink)
4153
- [DsfrLanguageSelector](./composants/DsfrLanguageSelector)
54+
- [DsfrFooter](./composants/DsfrFooter)
55+
- [DsfrFooterLink](./composants/DsfrFooterLink)
56+
- [DsfrLogo](./composants/DsfrLogo)
4257

4358
## Fil d’ariane
4459

4560
- [DsfrBreadcrumb](./composants/DsfrBreadcrumb)
4661

4762
## Formulaire (éléments de)
4863

64+
- [DsfrCheckbox](./composants/DsfrCheckbox)
65+
- [DsfrCheckboxSet](./composants/DsfrCheckboxSet)
66+
- [DsfrFieldset](./composants/DsfrFieldset)
4967
- [DsfrFileUpload](./composants/DsfrFileUpload)
5068
- [DsfrFileDownload](./composants/DsfrFileDownload)
5169
- [DsfrInput](./composants/DsfrInput)
70+
- [DsfrInputGroup](./composants/DsfrInputGroup)
5271
- [DsfrRadioButton](./composants/DsfrRadioButton)
5372
- [DsfrRadioButtonSet](./composants/DsfrRadioButtonSet)
54-
- [DsfrCheckbox](./composants/DsfrCheckbox)
55-
- [DsfrCheckboxSet](./composants/DsfrCheckboxSet)
56-
- [DsfrInputGroup](./composants/DsfrInputGroup)
5773
- [DsfrRange](./composants/DsfrRange)
58-
- [DsfrFieldset](./composants/DsfrFieldset)
74+
- [DsfrToggleSwitch](./composants/DsfrToggleSwitch)
75+
76+
## Icône
77+
78+
- [VIcon](./composants/VIcon)
79+
80+
## Image et vidéos
81+
82+
- [DsfrPicture](./composants/DsfrPicture)
83+
- [DsfrVideo](./composants/DsfrVideo)
84+
- [DsfrTranscription](./composants/DsfrTranscription)
5985

6086
## Infobulle (Information contextuelle)
6187

6288
- [DsfrTooltip](./composants/DsfrTooltip)
6389

90+
## Liens d’évitement
91+
92+
- [DsfrSkipLinks](./composants/DsfrSkipLinks)
93+
94+
## Mise en avant et mise en exergue
95+
96+
- [DsfrCallout](./composants/DsfrCallout)
97+
- [DsfrHighlight](./composants/DsfrHighlight)
98+
6499
## Modale
65100

66101
- [DsfrModal](./composants/DsfrModal)
67102

103+
## Notice
104+
105+
- [DsfrNotice](./composants/DsfrNotice)
106+
68107
## Onglets
69108

70109
- [DsfrTabs](./composants/DsfrTabs)
71110

72-
## Pages d’erreurs
111+
## Partage et réseaux sociaux
73112

74-
- [DsfrErrorPage](./composants/DsfrErrorPage)
113+
- [DsfrFollow](./composants/DsfrFollow)
114+
- [DsfrNewsLetter](./composants/DsfrNewsLetter)
115+
- [DsfrSocialNetworks](./composants/DsfrSocialNetworks)
116+
- [DsfrShare](./composants/DsfrShare)
75117

76-
## Pied de page
118+
## Pagination
77119

78-
- [DsfrFooter](./composants/DsfrFooter)
79-
- [DsfrFooterLink](./composants/DsfrFooterLink)
120+
- [DsfrPagination](./composants/DsfrPagination)
121+
122+
## Pages d’erreurs
123+
124+
- [DsfrErrorPage](./composants/DsfrErrorPage)
80125

81126
## Retour en haut de page
82127

83128
- [DsfrBackToTop](./composants/DsfrBackToTop)
84129

130+
## Sommaire
131+
132+
- [DsfrSummary](./composants/DsfrSummary)
133+
134+
## Sélecteur de langage
135+
136+
- [DsfrLanguageSelector](./composants/DsfrLanguageSelector)
137+
85138
## Tableau
86139

87140
Conseillé pour des tableaux complexes :

docs/guide/icones.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ import { VIcon } from '@gouvminint/vue-dsfr'
9797
Si vous développez des applications destinées à des agents internes avec potentiellement des accès internet réduits, il
9898
est possible que les appels vers l’API iconify soient bloqués. Vous voudrez donc éviter ces appels réseaux.
9999

100-
Dans ce but, depuis la version [7.3.0](https://github.com/dnum-mi/vue-dsfr/releases/tag/v7.3.0), la dépendance `@iconify/vue`
100+
Dans ce but, depuis la version [8.0.0](https://github.com/dnum-mi/vue-dsfr/releases/tag/v8.0.0), la dépendance `@iconify/vue`
101101
n’est plus incluse dans la bibliothèque, et doit être installée dans votre application.
102102

103103
Avec cette modification, il est possible d’ajouter des collections d’icônes qui ne feront pas d’appels réseaux.

src/components/DsfrCallout/DsfrCallout.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,26 @@ Ce composant ne déclenche pas d'événements personnalisés.
3030

3131
- `default` : Contenu additionnel à afficher à l'intérieur de l'encadré. Ce slot est intégré dans la structure principale du composant et s'affiche sous le texte principal.
3232

33+
## 📝 Exemples
34+
3335
::: code-group
3436

35-
<Story data-title="Démo" min-h="200px">
37+
<Story data-title="Démo" min-h="420px">
3638
<DsfrCalloutDemo />
3739
</Story>
3840

3941
<<< docs-demo/DsfrCalloutDemo.vue [Code de la démo]
42+
:::
43+
44+
## ⚙️ Code source du composant
45+
46+
::: code-group
4047

4148
<<< DsfrCallout.vue
49+
<<< DsfrCallout.types.ts
4250

4351
:::
4452

4553
<script setup lang="ts">
4654
import DsfrCalloutDemo from './docs-demo/DsfrCalloutDemo.vue'
4755
</script>
48-
49-
## ⚙️ Code source du composant
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Suivre (lettre d’information et réseaux sociaux) - `DsfrFollow`
2+
3+
## 🌟 Introduction
4+
5+
Le composant `DsfrFollow` est un conteneur pratique permettant d'afficher une section combinée pour une inscription à une newsletter et une liste de réseaux sociaux. Idéal pour renforcer l'engagement des utilisateurs sur votre site, ce composant combine flexibilité et respect des standards de la [Design System de l'État Français (DSFR)](https://www.systeme-de-design.gouv.fr/).
6+
7+
🏅 La documentation sur « Suivre » sur le [DSFR](https://www.systeme-de-design.gouv.fr/composants-et-modeles/composants/lettre-d-information-et-reseaux-sociaux)
8+
9+
<VIcon name="vi-file-type-storybook" /> La story sur « Suivre » sur le storybook de [VueDsfr](https://storybook.vue-ds.fr/?path=/docs/composants-dsfrfollow--docs)
10+
11+
## 📐 Structure
12+
13+
Le composant affiche une grille responsive contenant :
14+
15+
- Une **section newsletter**, propulsée par le composant enfant `DsfrNewsLetter`.
16+
- Une **section réseaux sociaux**, utilisant le composant `DsfrSocialNetworks`.
17+
- Un **slot par défaut**, permettant d'insérer un contenu personnalisé.
18+
19+
## 🛠️ Props
20+
21+
| Nom | Type | Défaut | Description |
22+
|-------------------|-----------------------------------------------------------|--------------|-----------------------------------------------------------------------------|
23+
| `newsletterData` | `DsfrNewsLetterProps` | `undefined` | Données pour configurer la section newsletter. |
24+
| `networks` | `DsfrSocialNetwork[]` | `[]` | Liste des réseaux sociaux à afficher avec leurs détails (`type`, `name`, `href`). |
25+
| `onlyCallout` | `boolean` (hérité de `DsfrNewsLetterProps`) | `false` | Indique si seule une version "callout" de la newsletter doit être utilisée. |
26+
27+
### Props de `DsfrNewsLetter`
28+
29+
Voici les principales options de configuration pour `newsletterData` :
30+
31+
| Nom | Type | Défaut | Description |
32+
|------------------|--------------------------|--------------|-----------------------------------------------------------------------------|
33+
| `title` | `string` | `undefined` | Titre de la section newsletter. |
34+
| `description` | `string` | `undefined` | Texte descriptif au-dessus du champ email. |
35+
| `email` | `string` | `undefined` | Adresse email pré-remplie (si applicable). |
36+
| `error` | `string` | `undefined` | Message d'erreur à afficher en cas de problème. |
37+
| `placeholder` | `string` | `undefined` | Placeholder du champ email. |
38+
| `buttonText` | `string` | `undefined` | Texte du bouton d'action. |
39+
| `buttonAction` | `($event: MouseEvent) => void` | `undefined` | Fonction déclenchée au clic du bouton. |
40+
41+
### Props de `DsfrSocialNetworks`
42+
43+
Les réseaux sociaux (`networks`) sont des objets de type :
44+
45+
| Nom | Type | Description |
46+
|-------|------------------------|---------------------------------------------------------------------------|
47+
| `type` | `'facebook' | 'twitter-x' | 'instagram' | 'linkedin' | 'youtube'` | Type de réseau social (icône associée). |
48+
| `name` | `string` | Nom à afficher pour le réseau social. |
49+
| `href` | `string` | URL vers le profil ou la page sociale. |
50+
51+
## 📡 Événements
52+
53+
Aucun événement spécifique n'est émis par ce composant. Les événements doivent être gérés via les props des sous-composants `DsfrNewsLetter` et `DsfrSocialNetworks`.
54+
55+
## 🧩 Slots
56+
57+
| Nom | Contenu |
58+
|---------|----------------------------------------------------------------------------------------------|
59+
| `default` | Permet d'insérer du contenu personnalisé dans le conteneur global du composant. |
60+
61+
## 📝 Exemples
62+
63+
### Exemple de base
64+
65+
```vue
66+
<DsfrFollow
67+
:newsletterData="{
68+
title: 'Abonnez-vous à notre newsletter !',
69+
description: 'Restez informé(e) de nos actualités et nouveautés.',
70+
buttonText: 'S\'inscrire',
71+
placeholder: 'Votre email'
72+
}"
73+
:networks="[
74+
{ type: 'facebook', name: 'Facebook', href: 'https://facebook.com' },
75+
{ type: 'twitter-x', name: 'Twitter', href: 'https://twitter.com' },
76+
{ type: 'linkedin', name: 'LinkedIn', href: 'https://linkedin.com' }
77+
]"
78+
/>
79+
```
80+
81+
### Exemple complet
82+
83+
::: code-group
84+
85+
<Story data-title="Démo" min-h="400px">
86+
<DsfrFollowDemo />
87+
</Story>
88+
89+
<<< docs-demo/DsfrFollowDemo.vue [Code de la démo]
90+
91+
:::
92+
93+
## ⚙️ Code source du composant
94+
95+
::: code-group
96+
97+
<<< DsfrFollow.vue
98+
<<< DsfrFollow.types.ts
99+
100+
:::
101+
102+
<script setup lang="ts">
103+
import DsfrFollowDemo from './docs-demo/DsfrFollowDemo.vue'
104+
</script>

0 commit comments

Comments
 (0)