Skip to content

Commit bb4d8d4

Browse files
authored
Merge pull request #954 from dnum-mi/fix/dsfr-tooltip-focus-and-escape
fix: 🐛 affiche l’infobulle au focus et la cache avec ESC
2 parents b1ad8bd + dff2afb commit bb4d8d4

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/components/DsfrTooltip/DsfrTooltip.vue

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,20 @@ const clickListener = (event: MouseEvent) => {
8989
show.value = false
9090
}
9191
92+
const onEscapeKey = (event: KeyboardEvent) => {
93+
if (event.key === 'Escape') {
94+
show.value = false
95+
}
96+
}
97+
9298
onMounted(() => {
9399
document.documentElement.addEventListener('click', clickListener)
100+
document.documentElement.addEventListener('keydown', onEscapeKey)
94101
})
95102
96103
onUnmounted(() => {
97104
document.documentElement.removeEventListener('click', clickListener)
105+
document.documentElement.removeEventListener('keydown', onEscapeKey)
98106
})
99107
100108
const onMouseEnter = () => {
@@ -127,6 +135,8 @@ const onClick = () => {
127135
@click.stop="onClick()"
128136
@mouseenter="onMouseEnter()"
129137
@mouseleave="onMouseLeave()"
138+
@focus="onMouseEnter()"
139+
@blur="onMouseLeave()"
130140
>
131141
<!-- @slot Slot par défaut pour le contenu de l’infobulle -->
132142
<slot />

0 commit comments

Comments
 (0)