Skip to content

Commit f2cd5ab

Browse files
authored
Merge pull request #1094 from afreismuth-ippon/feat/add-language-selector-title-as-props
Feat/add language selector title as props
2 parents 9ce9143 + 1408a54 commit f2cd5ab

File tree

5 files changed

+22
-13
lines changed

5 files changed

+22
-13
lines changed

src/components/DsfrFooter/DsfrFooterPartners.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ Le composant `DsfrFooterPartners` est conçu pour afficher une liste de partenai
1313

1414
## 🛠️ Props
1515

16-
| Propriété | Type | Description | Valeur par défaut |
17-
|----------------|-------------------------|---------------------------------------------------------------------------------|-------------------|
18-
| `mainPartner` | `DsfrFooterPartner` | Objet représentant le partenaire principal avec lien, logo, et nom. | `undefined` |
19-
| `subPartners` | `DsfrFooterPartner[]` | Tableau d'objets représentant les sous-partenaires. | `[]` |
20-
| `title` | `string` | Titre de la section des partenaires. | `''` |
16+
| Propriété | Type | Description | Valeur par défaut |
17+
|----------------|-----------------------|---------------------------------------------------------------------------------|-------------------|
18+
| `mainPartner` | `DsfrFooterPartner` | Objet représentant le partenaire principal avec lien, logo, et nom. | `undefined` |
19+
| `subPartners` | `DsfrFooterPartner[]` | Tableau d'objets représentant les sous-partenaires. | `[]` |
20+
| `title` | `string` | Titre de la section des partenaires. | `''` |
21+
| `titleTag` | `TitleTag` | Tag HTML pour le titre. | `'h3'` |
2122

2223
## 📡Événements
2324

src/components/DsfrFooter/DsfrFooterPartners.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<script lang="ts" setup>
2+
import type { TitleTag } from '@/common-types'
3+
24
export type DsfrFooterPartner = {
35
href: string
46
logo: string
@@ -9,23 +11,26 @@ export type DsfrFooterPartnersProps = {
911
mainPartner?: DsfrFooterPartner
1012
subPartners?: DsfrFooterPartner[]
1113
title?: string
14+
titleTag?: TitleTag
1215
}
1316
1417
withDefaults(defineProps<DsfrFooterPartnersProps>(), {
1518
mainPartner: undefined,
1619
subPartners: () => [],
1720
title: '',
21+
titleTag: 'h4',
1822
})
1923
</script>
2024

2125
<template>
2226
<div class="fr-footer__partners">
23-
<h4
27+
<component
28+
:is="titleTag"
2429
v-if="title"
2530
class="fr-footer__partners-title"
2631
>
2732
{{ title }}
28-
</h4>
33+
</component>
2934
<div class="fr-footer__partners-logos">
3035
<div
3136
v-if="mainPartner"

src/components/DsfrLanguageSelector/DsfrLanguageSelector.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@ Ce composant est utilisé en interne dans [DsfrHeader](/composants/DsfrHeader) (
2424

2525
## 🛠️ Props
2626

27-
| Propriété | Type | Description | Valeur par défaut |
28-
|--------------------|-------------------------------|---------------------------------------------------------------|---------------------------|
29-
| `id` | `string` | Identifiant unique pour les éléments de contrôle d'accessibilité. | `useRandomId('language-selector')` |
30-
| `languages` | [`DsfrLanguageSelectorElement[]`](/types#dsfrlanguageselector) | Liste des langues disponibles. Chaque langue est représentée par un objet contenant un `codeIso` et un `label`. | `[]` |
31-
| `currentLanguage` | `string` | Code ISO de la langue actuellement sélectionnée. | `'fr'` |
27+
| Propriété | Type | Description | Valeur par défaut |
28+
|-------------------|-------------------------------|--------------------------------------------------------------------------------------------------------------|---------------------------|
29+
| `id` | `string` | Identifiant unique pour les éléments de contrôle d'accessibilité. | `useRandomId('language-selector')` |
30+
| `languages` | [`DsfrLanguageSelectorElement[]`](/types#dsfrlanguageselector) | Liste des langues disponibles. Chaque langue est représentée par un objet contenant un `codeIso` et un `label`. | `[]` |
31+
| `currentLanguage` | `string` | Code ISO de la langue actuellement sélectionnée. | `'fr'` |
32+
| `title` | `string` | Attribut `title` | `'Sélectionner une langue'` |
3233

3334
## 📡Événements
3435

src/components/DsfrLanguageSelector/DsfrLanguageSelector.types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ export type DsfrLanguageSelectorProps = {
77
id?: string
88
languages: DsfrLanguageSelectorElement[]
99
currentLanguage?: string
10+
title?: string
1011
}

src/components/DsfrLanguageSelector/DsfrLanguageSelector.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const props = withDefaults(defineProps<DsfrLanguageSelectorProps>(), {
1212
id: () => useRandomId('language-selector'),
1313
languages: () => [],
1414
currentLanguage: 'fr',
15+
title: 'Sélectionner une langue',
1516
})
1617
1718
const emit = defineEmits<{ (e: 'select', payload: DsfrLanguageSelectorElement): void }>()
@@ -52,7 +53,7 @@ watch(expanded, (newValue, oldValue) => {
5253
class="fr-translate__btn fr-btn fr-btn--tertiary"
5354
:aria-controls="id"
5455
:aria-expanded="expanded"
55-
title="Sélectionner une langue"
56+
:title
5657
type="button"
5758
@click.prevent.stop="expanded = !expanded"
5859
>

0 commit comments

Comments
 (0)