From c015148f298188b2e0a018a62aa86a111e5d3543 Mon Sep 17 00:00:00 2001 From: Sylvain Marroufin Date: Tue, 13 Dec 2022 13:54:23 +0100 Subject: [PATCH] chore: put back stop propagation on mode hover (#121) --- src/runtime/components/elements/Dropdown.vue | 7 +++++++ src/runtime/components/overlays/Popover.vue | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/runtime/components/elements/Dropdown.vue b/src/runtime/components/elements/Dropdown.vue index c5591f9a..06b496ab 100644 --- a/src/runtime/components/elements/Dropdown.vue +++ b/src/runtime/components/elements/Dropdown.vue @@ -172,6 +172,13 @@ onMounted(() => { } const menuProvidesSymbols = Object.getOwnPropertySymbols(menuProvides) menuApi.value = menuProvidesSymbols.length && menuProvides[menuProvidesSymbols[0]] + // stop trigger click propagation on hover + menuApi.value?.buttonRef?.addEventListener('click', (e: Event) => { + // ignore links as it would break navigation + if (props.mode === 'hover' && (e.target as Element)?.tagName !== 'A') { + e.stopPropagation() + } + }, true) }, 200) }) diff --git a/src/runtime/components/overlays/Popover.vue b/src/runtime/components/overlays/Popover.vue index 6523bd8c..4297d2d5 100644 --- a/src/runtime/components/overlays/Popover.vue +++ b/src/runtime/components/overlays/Popover.vue @@ -86,6 +86,13 @@ onMounted(() => { } const popoverProvidesSymbols = Object.getOwnPropertySymbols(popoverProvides) popoverApi.value = popoverProvidesSymbols.length && popoverProvides[popoverProvidesSymbols[0]] + // stop trigger click propagation on hover + popoverApi.value?.button?.addEventListener('click', (e: Event) => { + // ignore links as it would break navigation + if (props.mode === 'hover' && (e.target as Element)?.tagName !== 'A') { + e.stopPropagation() + } + }, true) }, 200) })