<script setup lang="ts">
import { NavigationMenuContent as ShadcnNavigationMenuContent } from '@/components/core/navigation-menu';
import type {
  UiNavigationMenuContentProps,
  UiNavigationMenuContentEmits,
} from './types';

defineOptions({
  name: 'UiNavigationMenuContent',
});

const props = defineProps<UiNavigationMenuContentProps>();

const emit = defineEmits<UiNavigationMenuContentEmits>();
</script>

<template>
  <ShadcnNavigationMenuContent
    :force-mount="props.forceMount ? true : undefined"
    :disable-outside-pointer-events="props.disableOutsidePointerEvents"
    @escape-key-down="emit('escapeKeyDown', $event)"
    @pointer-down-outside="emit('outsideClick', $event)"
    @focus-outside="emit('outsideFocus', $event)"
    @interact-outside="emit('outsideInteract', $event)"
  >
    <slot />
  </ShadcnNavigationMenuContent>
</template>
