Skip to content

Commit b6b1755

Browse files
authored
Merge pull request #674 from dnum-mi/develop
Develop
2 parents e363297 + 5a6da24 commit b6b1755

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1397
-542
lines changed

.husky/commit-msg

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
npx --no -- commitlint --edit "$1"

.husky/pre-commit

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
npx lint-staged

.husky/pre-push

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
npm test

.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: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,29 @@ 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

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

3535
## Comment contribuer
3636

@@ -43,7 +43,7 @@ et **la fusion doit être demandée dans `develop`.**
4343

4444
### Détails
4545

46-
Cf [le site officiel](https://vue-dsfr.netlify.app/?path=/story/docs-3-guide-du-d%C3%A9veloppeur--page)
46+
Cf [le site officiel](https://vue-dsfr.netlify.app/?path=/docs/docs-3-guide-du-d%C3%A9veloppeur--docs)
4747

4848
## Utiliser la bibliothèque dans un projet existant (ou un nouveau projet sans passer par [`create-vue-dsfr`](https://www.npmjs.com/package/create-vue-dsfr))
4949
### Installer la bibliothèque
@@ -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>

commitlint.config.cjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = {extends: ['@commitlint/config-conventional']}

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.*',

0 commit comments

Comments
 (0)