Untitled
unknown
typescript
a year ago
2.1 kB
4
Indexable
Never
"use client"; import * as React from "react"; import { cn } from "@/lib/utils"; import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle, } from "@/components/ui/navigation-menu"; import { Icons } from "@/components/icons"; const components: { title: string; href: string; description: string }[] = [ { title: "Test1", href: "/", description: "", }, { title: "Test2", href: "/", description: "", }, ]; export function NavigationMenuDemo() { return ( <NavigationMenu> <NavigationMenuList> <NavigationMenuItem> <NavigationMenuTrigger>Dashaboard</NavigationMenuTrigger> <NavigationMenuContent> <ul className="grid grid-flow-row auto-rows-max gap-3 p-4"> {components.map((component) => ( <ListItem key={component.title} title={component.title} href={component.href}> {component.description} </ListItem> ))} </ul> </NavigationMenuContent> </NavigationMenuItem> </NavigationMenuList> </NavigationMenu> ); } const ListItem = React.forwardRef< React.ElementRef<"a">, React.ComponentPropsWithoutRef<"a"> >(({ className, title, children, ...props }, ref) => { return ( <li> <NavigationMenuLink asChild> <a ref={ref} className={cn( "block relative select-none space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground", className )} {...props}> <div className="text-sm font-medium leading-none">{title}</div> <p className="line-clamp-2 text-sm leading-snug text-muted-foreground"> {children} </p> </a> </NavigationMenuLink> </li> ); }); ListItem.displayName = "ListItem";