UIPackage
Menu

Framework

Change language

Boilerplate repo

Navigation Menu

navigation-menuui

Top-of-page horizontal navigation with hover/click triggered megamenus. Use for marketing sites and product navs that need rich content — featured links, mini-cards, and submenu columns.

Also available for React ->

Installation

$npx shadcn-vue@latest add https://uipkge.dev/r/vue/navigation-menu.json
Named registry:npx shadcn-vue@latest add @uipkge/navigation-menuInstalls to:app/components/ui/navigation-menu/

Examples

Loading interactive previews…

Props

NameType / ValuesDefaultRequired
classHTMLAttributes['class']optional
viewportbooleantrueoptional

Used by

Files installed (11)

  • app/components/ui/navigation-menu/NavigationMenu.vue1.1 kB
    <script setup lang="ts">
    import type { NavigationMenuRootEmits, NavigationMenuRootProps } from 'reka-ui'
    import type { HTMLAttributes } from 'vue'
    import { reactiveOmit } from '@vueuse/core'
    import { NavigationMenuRoot, useForwardPropsEmits } from 'reka-ui'
    import { cn } from '@/lib/utils'
    import NavigationMenuViewport from './NavigationMenuViewport.vue'
    
    const props = withDefaults(
      defineProps<
        NavigationMenuRootProps & {
          class?: HTMLAttributes['class']
          viewport?: boolean
        }
      >(),
      {
        viewport: true,
      },
    )
    const emits = defineEmits<NavigationMenuRootEmits>()
    
    const delegatedProps = reactiveOmit(props, 'class', 'viewport')
    const forwarded = useForwardPropsEmits(delegatedProps, emits)
    </script>
    
    <template>
      <NavigationMenuRoot
        v-slot="slotProps"
        data-uipkge
        data-slot="navigation-menu"
        :data-viewport="viewport"
        v-bind="forwarded"
        :class="cn('group/navigation-menu relative flex max-w-max flex-1 items-center justify-center', props.class)"
      >
        <slot v-bind="slotProps" />
        <NavigationMenuViewport v-if="viewport" />
      </NavigationMenuRoot>
    </template>
    
  • app/components/ui/navigation-menu/NavigationMenuContent.vue2 kB
  • app/components/ui/navigation-menu/navigation-menu-content.variants.ts0.8 kB
  • app/components/ui/navigation-menu/NavigationMenuIndicator.vue1 kB
  • app/components/ui/navigation-menu/NavigationMenuItem.vue0.6 kB
  • app/components/ui/navigation-menu/NavigationMenuLink.vue1.2 kB
  • app/components/ui/navigation-menu/NavigationMenuList.vue0.7 kB
  • app/components/ui/navigation-menu/NavigationMenuTrigger.vue1 kB
  • app/components/ui/navigation-menu/NavigationMenuViewport.vue1.2 kB
  • app/components/ui/navigation-menu/navigation-menu.variants.ts0.9 kB
  • app/components/ui/navigation-menu/index.ts0.9 kB

Raw manifest:https://uipkge.dev/r/vue/navigation-menu.json