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
Copy file name to clipboardExpand all lines: docs/guide/migrations.md
+87-1Lines changed: 87 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,18 +27,104 @@ Pour rendre la migration la plus douce possible un composant `VIcon` a été ajo
27
27
28
28
#### Implication et changements à faire sur vos projets
29
29
30
+
##### Vue + vite
31
+
30
32
Il vous suffira donc dans vos projets d’importer VIcon depuis `@gouvminint/vue-dsfr` dans tous les fichiers où vous utilisez VIcon de OhVueIcons.
31
33
32
-
Il faudra peut-être dans certains cas renommer les icônes car la syntaxe attendue par `@iconify/vue` est `nom-de-collection:nom-d-icone` alors que `oh-vue-icon` attendait simplement `nom-de-collection-nom-d-icone`.
34
+
Il faudra enlever les références à `oh-vue-icons`, par exemple dans `main.ts` :
Il faudra supprimer le fichier `icons.ts` qui n’est plus utile.
67
+
68
+
Si vous importiez vous-même `OhVueIcon` de `oh-vue-icons` dans certains composants, il faudra remplacer le module de l’import par `@gouvminint/vue-dsfr` :
69
+
70
+
```vue
71
+
<script lang="ts" setup>
72
+
import { OhVueIcon as VIcon } from 'oh-vue-icons' // [!code --]
73
+
import { VIcon } from '@gouvminint/vue-dsfr' // [!code ++]
74
+
</script>
75
+
```
76
+
77
+
Il faudra peut-être dans certains cas renommer les icônes car la syntaxe attendue par `@iconify/vue` est `nom-de-collection:nom-d-icone` alors que `oh-vue-icon` attendait simplement `nom-de-collection-nom-d-icone` et les noms de collections ne sont pas forcément identiques entre `oh-vue-icons` et `@iconify/vue`.
78
+
79
+
::: tip Astuce
80
+
Si vous en êtes resté aux icônes remix icons, le nom de la collection étant d’une part sans tiret `-` et d’autre part identique entre `oh-vue-icons` et `@iconify/vue` (`ri`), vous n’aurez rien à modifier. Idem pour Bootstrap Icons (`bi`).
81
+
:::
82
+
83
+
Dans les cas ou le nom de la collection ne contient pas de tiret `-`, alors le `-` est accepté en tant que séparateur entre le nom de collection et le nom d’icône.
84
+
85
+
##### Nuxt
86
+
87
+
Il faudra utiliser la [v2](https://github.com/laruiss/vue-dsfr-nuxt-module/releases/tag/v2.0.0) de [`vue-dsfr-nuxt-module`](https://github.com/laruiss/vue-dsfr-nuxt-module), et enlever `oh-vue-icons` des dépendances et supprimer les références à `oh-vue-icons` :
88
+
89
+
Dans `nuxt.config.ts` :
90
+
91
+
```diff
92
+
-import * as icons from './icons'
93
+
// (...)
94
+
export default defineNuxtConfig({
95
+
// (...)
96
+
- runtimeConfig: {
97
+
- public: {
98
+
- vueDsfr: {
99
+
- icons: Object.values(icons),
100
+
- },
101
+
- },
102
+
- },
103
+
104
+
```
105
+
106
+
et supprimer le fichier `icons.ts` si vous en avez un
107
+
108
+
Il faudra peut-être dans certains cas renommer les icônes car la syntaxe attendue par `@iconify/vue` est `nom-de-collection:nom-d-icone` alors que `oh-vue-icon` attendait simplement `nom-de-collection-nom-d-icone` et les noms de collections ne sont pas forcément identiques entre `oh-vue-icons` et `@iconify/vue`.
33
109
34
110
Dans les cas ou le nom de la collection ne contient pas de tiret `-`, alors le `-` est accepté en tant que séparateur entre le nom de collection et le nom d’icône.
35
111
112
+
::: tip Astuce
113
+
Si vous en êtes resté aux icônes remix icons, le nom de la collection étant d’une part sans tiret `-` et d’autre part identique entre `oh-vue-icons` et `@iconify/vue` (`ri`), vous n’aurez rien à modifier. Idem pour Bootstrap Icons (`bi`).
114
+
:::
115
+
36
116
### Les onglets
37
117
38
118
Avant la version 6.x de VueDsfr, pour activer un onglet particulier, il fallait passer la prop `selected` au bon titre d’onglet et à la bonne zone de contenu.
39
119
120
+
Nous avions exposé un composable `useTabs()` pour faciliter un peu cette gestion. C’était pourtant déjà trop compliqué à notre goût.
121
+
40
122
Désormais c’est beaucoup plus simple, il suffit d’utiliser `v-model` sur le composant parent `DsfrTabs`.
41
123
124
+
### Les accordéons
125
+
126
+
Désormais, comme pour les onglets, pour choisir un accordéon particulier à ouvrir, il faudra utiliser `v-model` sur le composant [`DsfrAccordionsGroup`](/composants/DsfrAccordionsGroup), tel que décrit dans la [documentation](/composants/DsfrAccordionsGroup).
127
+
42
128
## Migration vers 3.x (depuis 1.x ou 2.x)
43
129
44
130
La migration de la version 1.x ou 2.x vers la version 3.x nécessite un certain nombre de changements
Copy file name to clipboardExpand all lines: src/components/DsfrAccordion/DsfrAccordionsGroup.md
+7-3Lines changed: 7 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# DsfrAccordionsGroup - Documentation Vue.js
1
+
# Groupe d’accordéons - `DsfrAccordionsGroup`
2
2
3
3
## 🌟 Introduction
4
4
@@ -14,13 +14,17 @@ Le composant `DsfrAccordionsGroup` agit comme un conteneur pour les composants d
14
14
15
15
| Nom de Prop | Type | Par défaut | Description |
16
16
|-------------|------|------------|-------------|
17
-
|`modelValue`|`number`|`-1`| Index de l'accordéon actuellement actif. Ce prop est utilisé pour le contrôle externe de l'accordéon sélectionné. |
17
+
|`modelValue`|`number`|`-1`| Index de l'accordéon actuellement actif. Cette prop est utilisée pour le contrôle externe de l'accordéon ouvert (un seul peut être ouvert à la fois). |
18
18
19
19
## 📡 Événements
20
20
21
21
| Nom de l'Événement | Payload | Description |
22
22
|--------------------|---------|-------------|
23
-
|`update:modelValue`|`number`| Émis lorsque l'accordéon actif change. Le payload est l'index du nouvel accordéon actif. |
23
+
|`update:modelValue`|`number`| Émis lorsque l'accordéon actif change. Le payload est l'index du nouvel accordéon ouvert. |
24
+
25
+
::: tip Astuce
26
+
Il est donc possible (et recommandé) d’utiliser la directive `v-model` sur ce composant.
0 commit comments