Skip to content

Commit 10e1b1e

Browse files
authored
Merge pull request #665 from dnum-mi/docs/vitepress/ajout_doc_bandeau_d_information
docs(DsfrNotice): 📝 ajout du DsfrNotice à la documentation
2 parents 306a385 + c9c7fe0 commit 10e1b1e

39 files changed

+210
-119
lines changed

.vitepress/config.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export default defineConfig({
4343
},
4444
outline:{
4545
level: [2, 3],
46-
label: 'Sur cette page:',
46+
label: 'Sur cette page :',
4747
},
4848
logo: '/nouveau-logo-marianne-gouvernement.png',
4949
// https://vitepress.dev/reference/default-theme-config
@@ -92,6 +92,10 @@ export default defineConfig({
9292
text: 'DsfrBadge',
9393
link: '/composants/DsfrBadge.md',
9494
},
95+
{
96+
text: 'DsfrNotice',
97+
link: '/composants/DsfrNotice.md',
98+
},
9599
]
96100
},
97101
{

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,27 @@ de composants. Il peut s'utiliser facilement en tant que plugin.
88

99
### TL;DR
1010

11-
Avec npm:
11+
Avec npm :
1212

1313
```shell
1414
npm init vue-dsfr
1515
```
1616

17-
Avec pnpm:
17+
Avec pnpm :
1818

1919
```shell
2020
pnpm create vue-dsfr
2121
```
2222

23-
Avec yarn:
23+
Avec yarn :
2424

2525
```shell
2626
yarn create vue-dsfr
2727
```
2828

2929
Et suivez le guide !
3030

31-
### Détails:
31+
### Détails :
3232

3333
Cf. [le site officiel](https://vue-dsfr.netlify.app/?path=/story/docs-2-guide-d-utilisation--page)
3434

@@ -65,7 +65,7 @@ const app = createApp(App)
6565
.mount('#app')
6666
```
6767

68-
Et ensuite, les composants sont utilisables directement dans les composants de l'application:
68+
Et ensuite, les composants sont utilisables directement dans les composants de l'application :
6969

7070
```html
7171
<template>

docs/docs-demo/IconesOfficielles.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="fr-p-2w">
33
<p>
4-
Une icône dans un &lt;span> ici: <span class="fr-icon-checkbox-circle-line" />
4+
Une icône dans un &lt;span> ici : <span class="fr-icon-checkbox-circle-line" />
55
</p>
66
<button class="fr-btn fr-icon-checkbox-circle-line fr-btn--icon-left">
77
Une icône dans un bouton ici

docs/ecosysteme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# L’écosystème de VueDsfr
22

3-
L’écosystème de VueDsfr, c’est:
3+
L’écosystème de VueDsfr, c’est :
44

55
- La bibliothèque <VIconLink href="https://www.npmjs.com/package/@gouvminint/vue-dsfr" icon="si-npm">`@dnum-mi/vue-dsfr`</VIconLink> ;
66
- L’assistant <VIconLink href="https://www.npmjs.com/package/create-vue-dsfr" icon="si-npm">`create-vue-dsfr` </VIconLink> ;

docs/icones.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ title: Utiliser des icônes
99
Pour utiliser les icônes officielles avec les classes CSS du DSFR, il n’y a pas d’actions en plus à faire,
1010
puisque c’est le CSS officiel du DSFR qui est utilisé.
1111

12-
Ci-dessous un exemple:
12+
Ci-dessous un exemple :
1313

1414
::: code-group
1515

@@ -24,7 +24,7 @@ Ci-dessous un exemple :
2424

2525
Plusieurs composants (`DsfrButton`, `DsfrBadge`, `DsfrCallout`...) ont la prop `icon` qui permet d’ajouter une icône.
2626

27-
Attention, cette icône n’est pas forcément une icône officielle du DSFR. En effet, VueDsfr utilise la bibliothèque [`oh-vue-icons`](https://oh-vue-icons.netlify.app/). Cette prop `icon` est donc:
27+
Attention, cette icône n’est pas forcément une icône officielle du DSFR. En effet, VueDsfr utilise la bibliothèque [`oh-vue-icons`](https://oh-vue-icons.netlify.app/). Cette prop `icon` est donc :
2828

2929
- soit une `string` qui doit être un nom d’icône valide pour OhVueIcon ;
3030
- soit la prop complète attendue par le composant `OhVueIcon` de la bibliothèque [`oh-vue-icons`](https://oh-vue-icons.netlify.app/).
@@ -44,7 +44,7 @@ Dans les deux cas il faut que cette icône ait été ajoutée (cf. plus loin)
4444

4545
## Les icônes déjà enregistrées dans VIcon (OhVueIcon) dans VueDsfr
4646

47-
Voici la liste des icônes déjà enregistrées dans la bibliothèque VueDsfr:
47+
Voici la liste des icônes déjà enregistrées dans la bibliothèque VueDsfr :
4848

4949
::: code-group
5050
<<< ../src/icons.ts
@@ -57,11 +57,11 @@ Ces icônes ont été ajoutées parce qu’elles sont utilisées dans les compos
5757
::: warning
5858
Il faudra utiliser le nom en **kebab-case** dans la prop `icon` des composants ou dans la prop `name` de `VIcon`
5959

60-
exemple:
60+
exemple :
6161

6262
```vue
6363
<template>
64-
Une icône ici: <VIcon name="ri-close-line" />
64+
Une icône ici : <VIcon name="ri-close-line" />
6565
</template>
6666
```
6767

@@ -78,14 +78,14 @@ Il est fort probable que vous vouliez utiliser d’autres icônes que celle qui
7878
### Ajouter des icônes Remix icons
7979

8080
Il est possible d’utiliser facilement toutes les icônes [Remix Icon](https://remixicon.com/) grâce à
81-
[OhVueIcons](https://oh-vue-icons.js.org/): le composant `VIcon` est enregistré globalement si la bibliothèque est
81+
[OhVueIcons](https://oh-vue-icons.js.org/) : le composant `VIcon` est enregistré globalement si la bibliothèque est
8282
utilisée en tant que plugin.
8383

8484
#### 1. Réexporter les icônes souhaitées depuis `oh-vue-icons`
8585

8686
La première étape est de créer un fichier `src/icons.ts` qui ré-exporte les icônes que vous souhaitez utiliser (il est déjà créé si vous avez utilisé `create-vue-dsfr` pour créer votre projet).
8787

88-
Ci-dessous un exemple:
88+
Ci-dessous un exemple :
8989

9090
```typescript
9191
// src/icons.ts
@@ -97,11 +97,11 @@ export {
9797
} from 'oh-vue-icons/icons/ri/index.js' // Import de quelques icônes de Remix Icon (ri)
9898
```
9999

100-
Ensuite, deux possibilités: soit on les ajoute au plugin, soit directement à `OhVueIcon`. Cf. les prochaines sections selon votre projet.
100+
Ensuite, deux possibilités : soit on les ajoute au plugin, soit directement à `OhVueIcon`. Cf. les prochaines sections selon votre projet.
101101

102102
#### 2.a. Si VueDsfr est utilisé en tant que plugin
103103

104-
Si vous utilisez VueDsfr en tant que plugin, il faudra importer ce fichier `src/icons.ts` dans votre point d’entrée Vue (en général `src/main.ts`) et donner dans l’objet `options` du plugin VueDsfr la propriété `icons` avec un tableau des icônes à enregistrer, comme ci-dessous:
104+
Si vous utilisez VueDsfr en tant que plugin, il faudra importer ce fichier `src/icons.ts` dans votre point d’entrée Vue (en général `src/main.ts`) et donner dans l’objet `options` du plugin VueDsfr la propriété `icons` avec un tableau des icônes à enregistrer, comme ci-dessous :
105105

106106
```typescript{10,13}
107107
// src/main.ts
@@ -123,7 +123,7 @@ createApp(App)
123123

124124
#### 2.b. Si VueDsfr n’est *pas* utilisé en tant que plugin
125125

126-
Si vous n’utilisez VueDsfr en tant que plugin, il faudra importer le fichier `src/icons.ts` dans votre point d’entrée Vue (en général `src/main.ts`), importer `addIcons` (import nommé) de `oh-vue-icons` et donner les icônes à enregistrer, c’est-à-dire celles qui sont exportées par `src/icons.ts`, comme ci-dessous:
126+
Si vous n’utilisez VueDsfr en tant que plugin, il faudra importer le fichier `src/icons.ts` dans votre point d’entrée Vue (en général `src/main.ts`), importer `addIcons` (import nommé) de `oh-vue-icons` et donner les icônes à enregistrer, c’est-à-dire celles qui sont exportées par `src/icons.ts`, comme ci-dessous :
127127

128128
```typescript{5,14,17}
129129
// src/main.ts
@@ -156,7 +156,7 @@ mises à disposition par [OhVueIcons](https://oh-vue-icons.netlify.app) en les a
156156
Ci-dessous des exemples pour
157157
[Remix Icon](https://remixicon.com/),
158158
[Font Awesome 5](https://fontawesome.com/icons)
159-
et [Bootstrap Icons](https://icons.getbootstrap.com/):
159+
et [Bootstrap Icons](https://icons.getbootstrap.com/) :
160160

161161
```typescript
162162
// src/icons.ts
@@ -180,7 +180,7 @@ export {
180180

181181
## Pour Nuxt 3
182182

183-
Créer/modifier le fichier `vue-dsfr.ts` dans le dossier `plugins` avec un contenu comme celui-ci:
183+
Créer/modifier le fichier `vue-dsfr.ts` dans le dossier `plugins` avec un contenu comme celui-ci :
184184

185185
```typescript
186186
// plugins/vue-dsfr.ts

docs/pour-commencer.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ Ceci est le guide d̛’utilisation de la bibliothèque. Si vous cherchez à con
77

88
La façon la plus simple de commencer un projet est d’utiliser le package `create-vue-dsfr`, qui permet de créer un projet NPM avec tout le nécessaire pour développer un projet utilisant VueDsfr, que ce soit pour Vite (Vue3) ou pour Nuxt (Nuxt3), avec ou sans TypeScript.
99

10-
Avec npm:
10+
Avec npm :
1111

1212
```shell
1313
npm init vue-dsfr
1414
```
1515

16-
Avec pnpm:
16+
Avec pnpm :
1717

1818
```shell
1919
pnpm create vue-dsfr
2020
```
2121

22-
Avec yarn:
22+
Avec yarn :
2323

2424
```shell
2525
yarn create vue-dsfr
@@ -31,13 +31,13 @@ Et suivez les indications de l’assistant.
3131

3232
### Utiliser la bibliothèque en tant que plugin
3333

34-
| Notes: |
34+
| Notes : |
3535
|:---------------------------|
3636
| Pour utiliser cette bibliothèque, il vous faudra **[Vue 3](https://v3.vuejs.org/)** (et **[Vue-Router 4](https://next.router.vuejs.org/)**). Par conséquent, si vous utilisez Nuxt, il vous faut **[Nuxt 3](https://v3.nuxtjs.org/)** (plus de détails plus loin). |
3737

3838
#### Installer la bibliothèque en tant que dépendance du projet
3939

40-
Afin d'installer la bibliothèque, taper ces commandes dans votre console au sein du répertoire du projet:
40+
Afin d'installer la bibliothèque, taper ces commandes dans votre console au sein du répertoire du projet :
4141

4242
```shell
4343
npm install @gouvfr/dsfr @gouvminint/vue-dsfr
@@ -83,7 +83,7 @@ const app = createApp(App)
8383
La bibliothèque **`VueDsfr`** fournit bien plusieurs builds (`esm` et `umd`) et Nuxt3 sait lequel choisir.
8484

8585
Ensuite, il faut ajouter le plugin en créant le dossier `/plugins` s’il n’existe pas et en créant dedans un fichier `vue-dsfr.js`
86-
avec le contenu suivant:
86+
avec le contenu suivant :
8787

8888
```typescript
8989
// /plugins/vue-dsfr.js
@@ -96,7 +96,7 @@ export default defineNuxtPlugin((nuxtApp) => {
9696
})
9797
```
9898

99-
Enfin, il faudra ajouter les feuilles CSS, pour ce faire, ajouter ceci dans `nuxt.config.js`:
99+
Enfin, il faudra ajouter les feuilles CSS, pour ce faire, ajouter ceci dans `nuxt.config.js` :
100100

101101
```typescript{4-7}
102102
import { defineNuxtConfig } from 'nuxt3';
@@ -141,7 +141,7 @@ const app = createApp(App)
141141
```
142142

143143
:::info
144-
N.B.: il faut bien en plus enregistrer globalement le composant **VIcon** car il est utilisé en interne dans VueDsfr.
144+
N.B. : il faut bien en plus enregistrer globalement le composant **VIcon** car il est utilisé en interne dans VueDsfr.
145145
:::
146146

147147
## Utiliser les icônes
@@ -154,32 +154,32 @@ Il est possible d’intégrer moins de CSS pour les petits projets.
154154

155155
### Vue3
156156

157-
Dans le point d’entrée de votre application Vue (souvent `main.js` ou `main.ts`):
157+
Dans le point d’entrée de votre application Vue (souvent `main.js` ou `main.ts`) :
158158

159159
```typescript
160160
import '@gouvfr/dsfr/dist/core/core.main.min.css' // Le CSS minimal du DSFR
161161
import '@gouvfr/dsfr/dist/component/component.main.min.css' // Styles de tous les composants du DSFR
162-
import '@gouvfr/dsfr/dist/utility/utility.main.min.css' // Classes utilitaires: les composants de VueDsfr en ont besoin
162+
import '@gouvfr/dsfr/dist/utility/utility.main.min.css' // Classes utilitaires : les composants de VueDsfr en ont besoin
163163
import '@gouvminint/vue-dsfr/styles' // Les styles propres aux composants de VueDsfr
164164
165-
import '@gouvfr/dsfr/dist/scheme/scheme.min.css' // Facultatif: Si les thèmes sont utilisés (thème sombre, thème clair)
166-
import '@gouvfr/dsfr/dist/utility/icons/icons.min.css' // Facultatif: Si des icônes sont utilisées avec les classes "fr-icon-..."
165+
import '@gouvfr/dsfr/dist/scheme/scheme.min.css' // Facultatif : Si les thèmes sont utilisés (thème sombre, thème clair)
166+
import '@gouvfr/dsfr/dist/utility/icons/icons.min.css' // Facultatif : Si des icônes sont utilisées avec les classes "fr-icon-..."
167167
```
168168
169169
### Nuxt3
170170
171-
Dans `nuxt.config.js`:
171+
Dans `nuxt.config.js` :
172172
173173
```typescript
174174
export default defineNuxtConfig({
175175
css: [
176176
'@gouvfr/dsfr/dist/core/core.main.min.css', // Le CSS du DSFR
177177
'@gouvfr/dsfr/dist/component/component.main.min.css' // Styles de tous les composants du DSFR
178-
'@gouvfr/dsfr/dist/utility/utility.main.min.css' // Classes utilitaires: les composants de VueDsfr en ont besoin
178+
'@gouvfr/dsfr/dist/utility/utility.main.min.css' // Classes utilitaires : les composants de VueDsfr en ont besoin
179179
'@gouvminint/vue-dsfr/styles', // Les styles propres aux composants de VueDsfr
180180

181-
'@gouvfr/dsfr/dist/scheme/scheme.min.css' // Facultatif: Si les thèmes sont utilisés (thème sombre, thème en bernes)
182-
'@gouvfr/dsfr/dist/utility/icons/icons.min.css', // Facultatif: Si des icônes sont utilisées avec les classes "fr-icon-..."
181+
'@gouvfr/dsfr/dist/scheme/scheme.min.css' // Facultatif : Si les thèmes sont utilisés (thème sombre, thème en bernes)
182+
'@gouvfr/dsfr/dist/utility/icons/icons.min.css', // Facultatif : Si des icônes sont utilisées avec les classes "fr-icon-..."
183183
],
184184
ignore: [
185185
'**/*.test.*',

docs/qu-est-ce-que-vue-dsfr.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Pour commencer à l’utiliser, [c’est par ici !](/pour-commencer)
1111

1212
## Rejoindre le serveur Discord
1313

14-
Si vous souhaitez participer au projet, poser une question, émettre une critique (ou nous faire des éloges, elles seront bienvenues aussi), nous vous invitons à rejoindre le serveur Discord grâce à ce lien d’invitation:
14+
Si vous souhaitez participer au projet, poser une question, émettre une critique (ou nous faire des éloges, elles seront bienvenues aussi), nous vous invitons à rejoindre le serveur Discord grâce à ce lien d’invitation :
1515

1616
<div style="text-align: center">
1717
<a href="https://discord.gg/jbBJ9769ZZ" className="fr-btn">

src/components/DsfrAccordion/DsfrAccordion.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ Un accordéon est constitué des éléments suivants :
1111
- un séparateur
1212
- une zone de contenu, masqué par défaut pouvant contenir tout type d'élément, le `slot` par défaut est fait pour ça
1313

14-
Autres props:
14+
Autres props :
1515

16-
- **`id`**: identifiant du contenu de l’accordéon, qui est utilisé aussi pour l’attribut `aria-controls` du bouton qui permet de plier et déplier l’accordéon
17-
- **`expandedId`**: identifiant de l’accordéon actuellement déplié (pour savoir si l’accordéon doit être déplié)
16+
- **`id`** : identifiant du contenu de l’accordéon, qui est utilisé aussi pour l’attribut `aria-controls` du bouton qui permet de plier et déplier l’accordéon
17+
- **`expandedId`** : identifiant de l’accordéon actuellement déplié (pour savoir si l’accordéon doit être déplié)
1818

1919
## Les props
2020

@@ -41,7 +41,7 @@ Un accordéon prend plus de sens lorsqu’il fait partie d’un groupe (comme no
4141

4242
Les accordéons sont tous fermés et comprennent l’en tête et l’icône <VIcon name="ri-arrow-drop-down-line" scale="1.25" /> si la prop **`expandedId`** est `undefined`.
4343

44-
La totalité de la barre de titre est cliquable. L’événement clic sur le titre de l’accordéon peut être intercepté en ajoutant un écouteur sur l’événement `expand` qui envoie l’id de l’accordéon:
44+
La totalité de la barre de titre est cliquable. L’événement clic sur le titre de l’accordéon peut être intercepté en ajoutant un écouteur sur l’événement `expand` qui envoie l’id de l’accordéon :
4545

4646
```vue{6,15,16,25,26}
4747
<script lang="ts" setup>
@@ -79,7 +79,7 @@ const expandedId = ref('')
7979
```
8080

8181
::: tip
82-
Comme l’événement `expand` a comme donnée (payload) l’`id` de l’accordéon, les deux lignes suivantes sont équivalentes:
82+
Comme l’événement `expand` a comme donnée (payload) l’`id` de l’accordéon, les deux lignes suivantes sont équivalentes :
8383

8484
```vue
8585
@expand="id => expandedId = id"

src/components/DsfrAlert/DsfrAlert.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,23 @@ La story sur l’alerte sur le storybook de [VueDsfr](https://vue-dsfr.netlify.a
1515

1616
L’alerte est composée des éléments suivants :
1717

18-
- un titre (prop `title`, de type `string`):
18+
- un titre (prop `title`, de type `string`) :
1919
- obligatoire sur la version MD (si la prop `small` est absente ou à `false`),
2020
- optionnel sur la version SM (si la prop `small` est à `true`).
21-
- un pictogramme et une couleur déterminés par la prop `type` qui peut valoir une des chaînes suivantes:
21+
- un pictogramme et une couleur déterminés par la prop `type` qui peut valoir une des chaînes suivantes :
2222
- `'info'` (valeur par défaut si la prop `type` est absente)
2323
- `'success'`
2424
- `'warning'`
2525
- `'error'`
26-
- un texte de description (avec la prop `description`, de type `string`):
26+
- un texte de description (avec la prop `description`, de type `string`) :
2727
- optionnel sur la version MD
2828
- obligatoire sur la version SM
2929
- une croix de fermeture si la prop `closeable` est à `true`
3030

31-
Autres props:
31+
Autres props :
3232

3333
- `closed` sert à indiquer si l’alerte doit être présente (`false`) ou non (`true`) dans le DOM.
34-
- `titleTag` permet d’indiquer la balise à utiliser pour le `title`: il s’agit de `h3` par défaut, cependant, pour passer les tests RGAA, il faut que les niveaux de titres se suivent et soient cohérents (par exemple, si sur la page il n’y a pas de `<h2>`, il faut passer `'h2'` comme valeur à la prop `titleTag` pour que le titre de la modal soit un `<h2>`).
34+
- `titleTag` permet d’indiquer la balise à utiliser pour le `title` : il s’agit de `h3` par défaut, cependant, pour passer les tests RGAA, il faut que les niveaux de titres se suivent et soient cohérents (par exemple, si sur la page il n’y a pas de `<h2>`, il faut passer `'h2'` comme valeur à la prop `titleTag` pour que le titre de la modal soit un `<h2>`).
3535

3636
## Les props
3737

src/components/DsfrButton/DsfrButtonGroup.stories.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ export default {
2929
},
3030
reverse: {
3131
control: 'boolean',
32-
description: 'Indique si l’ordre des boutons doit être inversé par rapport au DOM.\n\n *N.B.: Ne fonctionne que si `align` est à `right`*',
32+
description: 'Indique si l’ordre des boutons doit être inversé par rapport au DOM.\n\n *N.B. : Ne fonctionne que si `align` est à `right`*',
3333
},
3434
iconRight: {
3535
control: 'boolean',
36-
description: 'Inverse la position des icônes par rapport au texte.\n\n *N.B.: Ne fonctionne que si la prop n\'est pas définie sur chaque bouton*',
36+
description: 'Inverse la position des icônes par rapport au texte.\n\n *N.B. : Ne fonctionne que si la prop n\'est pas définie sur chaque bouton*',
3737
},
3838
size: {
3939
control: 'radio',

0 commit comments

Comments
 (0)