diff --git a/packages/radix-vue/src/shared/useGraceArea.ts b/packages/radix-vue/src/shared/useGraceArea.ts index af4b92c4e..c85a00d09 100644 --- a/packages/radix-vue/src/shared/useGraceArea.ts +++ b/packages/radix-vue/src/shared/useGraceArea.ts @@ -49,7 +49,7 @@ export function useGraceArea(triggerElement: Ref, conta const pointerPosition = { x: event.clientX, y: event.clientY } const hasEnteredTarget = triggerElement.value?.contains(target) || containerElement.value?.contains(target) const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea.value) - const isAnotherGraceAreaTrigger = target.hasAttribute('data-grace-area-trigger') + const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]') if (hasEnteredTarget) { handleRemoveGraceArea()