Skip to content

Commit

Permalink
fix: teleport ssr issue
Browse files Browse the repository at this point in the history
  • Loading branch information
zernonia committed Aug 22, 2023
1 parent a943661 commit 54e0eac
Show file tree
Hide file tree
Showing 8 changed files with 92 additions and 167 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
"@commitlint/config-conventional": "^17.7.0",
"eslint": "^8.43.0",
"lint-staged": "^14.0.0",
"simple-git-hooks": "^2.9.0",
"pnpm": "^8.6.12"
"pnpm": "^8.6.12",
"simple-git-hooks": "^2.9.0"
},
"commitlint": {
"extends": [
Expand Down
6 changes: 3 additions & 3 deletions packages/radix-nuxt/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { addComponent, defineNuxtModule } from '@nuxt/kit'
import { addComponent, defineNuxtModule } from '@nuxt/kit'

import type { } from '@nuxt/schema' // workaround for TS bug with "phantom" deps
import * as components from 'radix-vue'
import * as components from '../../radix-vue'

export default defineNuxtModule({
meta: {
Expand All @@ -20,4 +20,4 @@ export default defineNuxtModule({
})
}
},
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { Presence } from '@/Presence'
import { type PointerDownOutsideEvent } from '@/DismissableLayer'
import NavigationMenuContentImpl, { type NavigationMenuContentImplEmits, type NavigationMenuContentImplProps } from './NavigationMenuContentImpl.vue'
import { useEmitAsProps } from '@/shared'
import { useMounted } from '@vueuse/core'
export interface NavigationMenuContentProps extends NavigationMenuContentImplProps {}
export type NavigationMenuContentEmits = NavigationMenuContentImplEmits
Expand All @@ -16,6 +17,7 @@ const emits = defineEmits<NavigationMenuContentEmits>()
const emitsAsProps = useEmitAsProps(emits)
const isClientMounted = useMounted()
const context = inject(NAVIGATION_MENU_INJECTION_KEY)
const itemContext = inject(NAVIGATION_MENU_ITEM_INJECTION_KEY)
Expand Down Expand Up @@ -43,7 +45,7 @@ export default {
</script>

<template>
<Teleport :to="context?.viewport.value" :disabled="!context?.viewport.value">
<Teleport v-if="isClientMounted" :to="context?.viewport.value" :disabled="!context?.viewport.value">
<Presence :present="open || isLastActiveValue">
<NavigationMenuContentImpl
:data-state="getOpenState(open)"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,10 +183,6 @@ function handleDismiss() {
})
currentElement.value?.dispatchEvent(rootContentDismissEvent)
}
defineExpose({
...props,
})
</script>

<template>
Expand All @@ -197,7 +193,7 @@ defineExpose({
:data-motion="motionAttribute"
:data-state="getOpenState(context?.modelValue.value === itemContext!.value)"
:data-orientation="context?.orientation"
:disable-outside-pointer-events="disableOutsidePointerEvents"
v-bind="props"
@keydown="handleKeydown"
@escape-key-down="handleEscapeKeyDown"
@pointer-down-outside="handlePointerDownOutside"
Expand Down
79 changes: 0 additions & 79 deletions playground/nuxt/app.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,88 +5,9 @@ import Card from './components/Card.vue'
<template>
<div class="w-full flex flex-col items-center">
<div class="max-w-6xl w-full grid grid-cols-3 gap-4 pt-40 pb-40">
<Card>
<AccordionDemo />
</Card>
<Card>
<AlertDialogDemo />
</Card>
<Card>
<AspectRatioDemo />
</Card>
<Card class="col-span-2">
<NavigationMenuDemo />
</Card>
<Card>
<CollapsibleDemo />
</Card>
<Card>
<AvatarDemo />
</Card>
<Card>
<CheckboxDemo />
</Card>
<Card>
<ScrollAreaDemo />
</Card>
<Card class="col-span-2">
<ContextMenuDemo />
</Card>
<Card class="col-span-2">
<DialogDemo />
</Card>
<Card>
<DropdownMenuDemo />
</Card>
<Card>
<MenubarDemo />
</Card>

<Card>
<HoverCardDemo />
</Card>
<Card>
<LabelDemo />
</Card>
<Card>
<PopoverDemo />
</Card>
<Card>
<ProgressDemo />
</Card>
<Card>
<RadioGroupDemo />
</Card>
<Card>
<SelectDemo />
</Card>
<Card>
<SelectMultipleDemo />
</Card>
<Card>
<SeparatorDemo />
</Card>
<Card>
<SliderDemo />
</Card>
<Card>
<SwitchDemo />
</Card>
<Card>
<TabsDemo />
</Card>
<Card>
<ToggleDemo />
</Card>
<Card>
<ToggleGroupDemo />
</Card>
<Card class="col-span-2">
<ToolbarDemo />
</Card>
<Card>
<TooltipDemo />
</Card>
</div>
</div>
</template>
Expand Down
2 changes: 1 addition & 1 deletion playground/nuxt/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"postinstall": "nuxt prepare"
},
"dependencies": {
"radix-vue": "file:../../packages/radix-vue"
"radix-vue": "link:../../packages/radix-vue"
},
"devDependencies": {
"@iconify/vue": "^4.1.1",
Expand Down
Loading

0 comments on commit 54e0eac

Please sign in to comment.