Skip to content

Commit

Permalink
fix: missing forwarded in MenuContent (#488)
Browse files Browse the repository at this point in the history
  • Loading branch information
zernonia committed Nov 2, 2023
1 parent 520d7df commit ef5651e
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 15 deletions.
9 changes: 4 additions & 5 deletions packages/radix-vue/src/Menu/MenuContent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,27 @@ import MenuRootContentModal from './MenuRootContentModal.vue'
import MenuRootContentNonModal from './MenuRootContentNonModal.vue'
import { injectMenuContext, injectMenuRootContext } from './MenuRoot.vue'
import { Presence } from '@/Presence'
import { useEmitAsProps } from '@/shared'
import { useForwardPropsEmits } from '@/shared'
const props = defineProps<MenuContentProps>()
const emits = defineEmits<MenuContentEmits>()
const forwarded = useForwardPropsEmits(props, emits)
const menuContext = injectMenuContext()
const rootContext = injectMenuRootContext()
const emitsAsProps = useEmitAsProps(emits)
</script>

<template>
<Presence :present="forceMount || menuContext.open.value">
<MenuRootContentModal
v-if="rootContext.modal.value"
v-bind="{ ...$attrs, ...props, ...emitsAsProps }"
v-bind="{ ...$attrs, ...forwarded }"
>
<slot />
</MenuRootContentModal>
<MenuRootContentNonModal
v-else
v-bind="{ ...$attrs, ...props, ...emitsAsProps }"
v-bind="{ ...$attrs, ...forwarded }"
>
<slot />
</MenuRootContentNonModal>
Expand Down
8 changes: 3 additions & 5 deletions packages/radix-vue/src/Menu/MenuRootContentModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,26 @@ import MenuContentImpl, {
type MenuRootContentProps,
} from './MenuContentImpl.vue'
import { injectMenuContext } from './MenuRoot.vue'
import { useEmitAsProps, useHideOthers } from '@/shared'
import { useForwardPropsEmits, useHideOthers } from '@/shared'
import { usePrimitiveElement } from '@/Primitive'
const props = defineProps<MenuRootContentModalProps>()
const emits = defineEmits<MenuRootContentModalEmits>()
const forwarded = useForwardPropsEmits(props, emits)
const menuContext = injectMenuContext()
interface MenuRootContentModalProps extends MenuRootContentProps {}
type MenuRootContentModalEmits = MenuContentImplEmits
const emitsAsProps = useEmitAsProps(emits)
const { primitiveElement, currentElement } = usePrimitiveElement()
useHideOthers(currentElement)
</script>

<template>
<MenuContentImpl
ref="primitiveElement"
v-bind="{ ...props, ...emitsAsProps }"
v-bind="forwarded"
:trap-focus="menuContext.open.value"
:disable-outside-pointer-events="menuContext.open.value"
:disable-outside-scroll="true"
Expand Down
8 changes: 3 additions & 5 deletions packages/radix-vue/src/Menu/MenuRootContentNonModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,21 @@ import MenuContentImpl, {
type MenuRootContentProps,
} from './MenuContentImpl.vue'
import { injectMenuContext } from './MenuRoot.vue'
import { useEmitAsProps } from '@/shared'
import { useForwardPropsEmits } from '@/shared'
const props = defineProps<MenuRootContentNonModalProps>()
const emits = defineEmits<MenuRootContentModalEmits>()
const forwarded = useForwardPropsEmits(props, emits)
const menuContext = injectMenuContext()
interface MenuRootContentNonModalProps extends MenuRootContentProps {}
type MenuRootContentModalEmits = MenuContentImplEmits
const emitsAsProps = useEmitAsProps(emits)
</script>
<template>
<MenuContentImpl
v-bind="{ ...props, ...emitsAsProps }"
v-bind="forwarded"
:trap-focus="false"
:disable-outside-pointer-events="false"
:disable-outside-scroll="false"
Expand Down

0 comments on commit ef5651e

Please sign in to comment.