@@ -53,18 +53,22 @@ const props = withDefaults(defineProps<DsfrFooterProps>(), {
5353 {
5454 label: ' info.gouv.fr' ,
5555 href: ' https://info.gouv.fr' ,
56+ title: ' Informations gouvernementales, nouvelle fenêtre' ,
5657 },
5758 {
5859 label: ' service-public.fr' ,
5960 href: ' https://service-public.fr' ,
61+ title: ' Informations et démarches administratives, nouvelle fenêtre' ,
6062 },
6163 {
6264 label: ' legifrance.gouv.fr' ,
6365 href: ' https://legifrance.gouv.fr' ,
66+ title: ' Service public de diffusion du droit, nouvelle fenêtre' ,
6467 },
6568 {
6669 label: ' data.gouv.fr' ,
6770 href: ' https://data.gouv.fr' ,
71+ title: ' Plateforme des données publiques, nouvelle fenêtre' ,
6872 },
6973 ],
7074 operatorLinkText: ' Revenir à l’accueil' ,
@@ -95,6 +99,12 @@ const isExternalLink = computed(() => {
9599 const to = props .licenceTo || (props .licenceLinkProps as { to: RouteLocationRaw }).to
96100 return to && typeof to === ' string' && to .startsWith (' http' )
97101})
102+
103+ const licenceLinkAttrs = computed (() => {
104+ const { to, href, ... attrs } = props .licenceLinkProps ?? {}
105+ return attrs
106+ })
107+
98108const routerLinkLicenceTo = computed (() => {
99109 return isExternalLink .value ? ' ' : props .licenceTo
100110})
@@ -184,17 +194,19 @@ const externalOperatorLink = computed(() => {
184194 </p >
185195 <ul class =" fr-footer__content-list" >
186196 <li
187- v-for =" (link , index) in ecosystemLinks"
197+ v-for =" ({ href, label, title, ...attrs } , index) in ecosystemLinks"
188198 :key =" index"
189199 class =" fr-footer__content-item"
190200 >
191201 <a
192202 class =" fr-footer__content-link"
193- :href =" link. href"
203+ :href =" href"
194204 target =" _blank"
195205 rel =" noopener noreferrer"
206+ :title =" title"
207+ v-bind =" attrs"
196208 >
197- {{ link. label }}
209+ {{ label }}
198210 </a >
199211 </li >
200212 </ul >
@@ -225,11 +237,11 @@ const externalOperatorLink = computed(() => {
225237 <component
226238 :is =" isExternalLink ? 'a' : 'RouterLink'"
227239 class =" fr-link-licence no-content-after"
228- :to =" isExternalLink ? null : routerLinkLicenceTo"
229- :href =" aLicenceHref"
240+ :to =" isExternalLink ? undefined : routerLinkLicenceTo"
241+ :href =" isExternalLink ? aLicenceHref : undefined "
230242 :target =" isExternalLink ? '_blank' : undefined"
231243 rel =" noopener noreferrer"
232- v-bind =" licenceLinkProps "
244+ v-bind =" licenceLinkAttrs "
233245 >
234246 {{ licenceName }}
235247 </component >
0 commit comments