From 7c666a3f9e84e629d3a7bd8e5b14322fb7fad5ba Mon Sep 17 00:00:00 2001 From: Robin Malfait Date: Thu, 9 Jun 2022 12:40:48 +0200 Subject: [PATCH] only render the Dialog on the client --- packages/@headlessui-vue/src/components/dialog/dialog.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/@headlessui-vue/src/components/dialog/dialog.ts b/packages/@headlessui-vue/src/components/dialog/dialog.ts index dd1b24c7f3..02ee4e069f 100644 --- a/packages/@headlessui-vue/src/components/dialog/dialog.ts +++ b/packages/@headlessui-vue/src/components/dialog/dialog.ts @@ -78,10 +78,13 @@ export let Dialog = defineComponent({ }, emits: { close: (_close: boolean) => true }, setup(props, { emit, attrs, slots, expose }) { + let ready = computed(() => typeof window !== 'undefined') let nestedDialogCount = ref(0) let usesOpenClosedState = useOpenClosed() let open = computed(() => { + if (ready.value === false) return false + if (props.open === Missing && usesOpenClosedState !== null) { // Update the `open` prop based on the open closed state return match(usesOpenClosedState.value, {