Home / File/ navigation-menu.tsx — ui Source File

navigation-menu.tsx — ui Source File

Architecture documentation for navigation-menu.tsx, a tsx file in the ui codebase. 5 imports, 0 dependents.

File tsx ComponentRegistry ChartRegistry 5 imports 8 functions

Entity Profile

Dependency Diagram

graph LR
  bef2e1fa_d797_5e4e_8069_981d93331806["navigation-menu.tsx"]
  1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"]
  bef2e1fa_d797_5e4e_8069_981d93331806 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2
  25383e8d_ca91_a50e_c3a8_5f228d02e1df["class-variance-authority"]
  bef2e1fa_d797_5e4e_8069_981d93331806 --> 25383e8d_ca91_a50e_c3a8_5f228d02e1df
  9c463da6_747b_38dc_586b_cbb4873070b1["radix-ui"]
  bef2e1fa_d797_5e4e_8069_981d93331806 --> 9c463da6_747b_38dc_586b_cbb4873070b1
  ef4051f4_aeb7_8d0c_a726_0ba96ad80cf6["utils"]
  bef2e1fa_d797_5e4e_8069_981d93331806 --> ef4051f4_aeb7_8d0c_a726_0ba96ad80cf6
  de6fac54_74ca_6c25_8f8b_d1ba3287dbf2["icon-placeholder"]
  bef2e1fa_d797_5e4e_8069_981d93331806 --> de6fac54_74ca_6c25_8f8b_d1ba3287dbf2
  style bef2e1fa_d797_5e4e_8069_981d93331806 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import * as React from "react"
import { cva } from "class-variance-authority"
import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui"

import { cn } from "@/registry/bases/radix/lib/utils"
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"

function NavigationMenu({
  className,
  children,
  viewport = true,
  ...props
}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
  viewport?: boolean
}) {
  return (
    <NavigationMenuPrimitive.Root
      data-slot="navigation-menu"
      data-viewport={viewport}
      className={cn(
        "cn-navigation-menu group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
        className
      )}
      {...props}
    >
      {children}
      {viewport && <NavigationMenuViewport />}
    </NavigationMenuPrimitive.Root>
  )
}

function NavigationMenuList({
  className,
  ...props
}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {
  return (
    <NavigationMenuPrimitive.List
      data-slot="navigation-menu-list"
      className={cn(
        "cn-navigation-menu-list group flex flex-1 list-none items-center justify-center",
        className
      )}
      {...props}
    />
  )
}

function NavigationMenuItem({
  className,
  ...props
}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {
  return (
    <NavigationMenuPrimitive.Item
      data-slot="navigation-menu-item"
      className={cn("cn-navigation-menu-item relative", className)}
      {...props}
    />
  )
}

// ... (110 more lines)

Subdomains

Dependencies

  • class-variance-authority
  • icon-placeholder
  • radix-ui
  • react
  • utils

Frequently Asked Questions

What does navigation-menu.tsx do?
navigation-menu.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, ChartRegistry subdomain.
What functions are defined in navigation-menu.tsx?
navigation-menu.tsx defines 8 function(s): NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport.
What does navigation-menu.tsx depend on?
navigation-menu.tsx imports 5 module(s): class-variance-authority, icon-placeholder, radix-ui, react, utils.
Where is navigation-menu.tsx in the architecture?
navigation-menu.tsx is located at apps/v4/registry/bases/radix/ui/navigation-menu.tsx (domain: ComponentRegistry, subdomain: ChartRegistry, directory: apps/v4/registry/bases/radix/ui).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free