Skip to content

Commit 626d3c5

Browse files
authored
Remove pointer-events: none from Reka UI (#129)
1 parent 4c57c8e commit 626d3c5

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

vue/src/Modal.vue

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { DialogOverlay, DialogPortal, DialogRoot } from 'reka-ui'
33
import ModalContent from './ModalContent.vue'
44
import HeadlessModal from './HeadlessModal.vue'
55
import SlideoverContent from './SlideoverContent.vue'
6-
import { ref } from 'vue'
6+
import { onBeforeMount, onUnmounted, ref } from 'vue'
77
88
const modal = ref(null)
99
const rendered = ref(false)
@@ -41,6 +41,26 @@ defineExpose({
4141
return modal.value?.shouldRender
4242
},
4343
})
44+
45+
let observer
46+
47+
onBeforeMount(() => {
48+
// Workaround for: https://github.com/unovue/reka-ui/issues/1540
49+
observer = new MutationObserver(() => {
50+
if (document.body.style.pointerEvents === 'none') {
51+
document.body.style.pointerEvents = ''
52+
}
53+
})
54+
55+
observer.observe(document.body, { attributes: true, attributeFilter: ['style'] })
56+
})
57+
58+
onUnmounted(() => {
59+
if (observer) {
60+
observer.disconnect()
61+
observer = null
62+
}
63+
})
4464
</script>
4565
4666
<template>

0 commit comments

Comments
 (0)