You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Le bouton est un élément d’interaction avec l’interface permettant à l’utilisateur d’effectuer une action.
4
6
5
7
Le `DsfrButton` est un composant Vue élégant et réutilisable, conçu pour simplifier la création de boutons personnalisés. Il intègre des tailles ajustables, des icônes optionnelles et un gestionnaire de clics, tout en respectant le style de `DSFR`. Son utilisation est simple, avec une grande flexibilité pour s'adapter à différents contextes.
6
8
9
+
🏅 La documentation sur l’alerte sur le [DSFR](https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/bouton)
10
+
11
+
<VIconname="vi-file-type-storybook" /> La story sur l’alerte sur le storybook de [VueDsfr](https://vue-dsfr.netlify.app/?path=/docs/composants-dsfrbutton--docs)
12
+
13
+
## 📐 Structure
14
+
15
+
Les boutons sont composés de :
16
+
17
+
- Un label - obligatoire, soit en utilisant la prop `label` soit en utilisant le slot par défaut ;
18
+
- Une icône, pouvant être modifiée (voir les icônes disponibles) - optionnelle.
19
+
7
20
## 🛠️ Les props
8
21
9
22
| Nom | Type | Défaut | Obligatoire | Description |
Un bouton large avec une icône 'maison' à gauche et le texte 'Accueil' :
33
44
34
-
Un bouton large avec une icône 'maison' et le texte 'Accueil'. L'événement de clic est géré par la méthode `handleClick()`.
45
+
::: code-group
35
46
36
-
```vue
37
-
<DsfrButton
38
-
size="sm"
39
-
label="Petit Bouton"
40
-
@click="handleClick()"
41
-
>
42
-
Contenu supplémentaire
43
-
</DsfrButton>
44
-
```
47
+
<Storydata-title="Démo">
48
+
<DsfrButtonExample1 />
49
+
</Story>
45
50
46
-
Un petit bouton avec le texte 'Petit Bouton' et du contenu supplémentaire dans le slot par défaut. L'événement de clic est géré par la méthode `handleClick()`.
51
+
<<< docs-demo/DsfrButtonExample1.vue [Code de la démo]
52
+
:::
53
+
54
+
Un petit bouton avec le texte 'Aller plus loin', du contenu supplémentaire dans le slot par défaut, et une icône à droite :
55
+
56
+
::: code-group
57
+
58
+
<Storydata-title="Démo">
59
+
<DsfrButtonExample2 />
60
+
</Story>
61
+
62
+
<<< docs-demo/DsfrButtonExample2.vue [Code de la démo]
63
+
:::
47
64
48
65
## 📝 (Presque) toutes les variantes 🌈 de boutons
49
66
@@ -53,13 +70,17 @@ Un petit bouton avec le texte 'Petit Bouton' et du contenu supplémentaire dans
53
70
<DsfrButtonDemo />
54
71
</Story>
55
72
56
-
<<< docs-demo/DsfrButtonExample.vue [Code de la démo]
73
+
<<< docs-demo/DsfrButtonDemo.vue [Code de la démo]
57
74
58
75
<<< DsfrButton.vue
76
+
77
+
<<< DsfrButton.types.ts
59
78
:::
60
79
61
80
Et voilà ! Notre DsfrButton est prêt à illuminer votre interface avec style et fonctionnalité. N'oubliez pas d'appuyer sur ces boutons avec panache ! 🚀
description: 'Indique si le groupe de boutons doit apparaître en empilement horizontal (toujours, ou seulement sur les tailles de vue spécifiées)',
29
29
},
30
+
equisized: {
31
+
control: 'boolean',
32
+
description: 'Indique si la taille des boutons doit être la même pour tous les boutons (prend la taille du plus large) si est à `true`, ou si chaque bouton doit avoir sa propre taille si est à `false`',
33
+
},
30
34
reverse: {
31
35
control: 'boolean',
32
36
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`*',
@@ -43,7 +47,7 @@ export default {
43
47
align: {
44
48
control: 'radio',
45
49
options: ['default','center','right'],
46
-
description: 'Indique l\'alignement du groupe de boutons',
50
+
description: 'Indique l’alignement du groupe de boutons',
0 commit comments