"use client"; import {mergeProps} from "@base-ui/react/merge-props"; import {NavigationMenu as BaseNavigationMenu} from "@base-ui/react/navigation-menu"; import {useRender} from "@base-ui/react/use-render"; import {ChevronDown} from "lucide-react"; import * as React from "react"; import {cn} from "@/lib/utilities"; import styles from "./navigation-menu.module.css"; /** Returns the CSS classes used by the navigation menu trigger wrapper. */ export function navigationMenuTriggerStyle(className?: string): string { return cn(styles.trigger, className); } interface NavigationMenuProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface NavigationMenuListProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface NavigationMenuTriggerProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface NavigationMenuContentProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface NavigationMenuLinkProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface NavigationMenuViewportProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface NavigationMenuIndicatorProps extends React.ComponentPropsWithRef<"div"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Overrides the default rendered element while preserving component behavior. * @default undefined */ render?: useRender.RenderProp>; /** * Enables child element composition instead of rendering the default wrapper. * @default false * @deprecated Prefer Base UI's `render` prop. */ asChild?: boolean; } /** * Coordinates navigation menu state and accessibility behavior. * * @remarks * - Renders a `