Skip to content

Instantly share code, notes, and snippets.

@AVGVSTVS96
Last active April 28, 2024 05:43
Show Gist options
  • Save AVGVSTVS96/64214a5a63cf418244e8b07094219964 to your computer and use it in GitHub Desktop.
Save AVGVSTVS96/64214a5a63cf418244e8b07094219964 to your computer and use it in GitHub Desktop.
Using shadcn-ui Navigation Menu for button groups

The Radix and shadcn-ui Navigation Menu components can be used without their content to add accessibility and arrow key navigation to any group of buttons or list of links

Using default Navigation Menu styles for buttons with links

export function NavigationMenuDemo() {
  return (
    <NavigationMenu>
      <NavigationMenuList>
        <NavigationMenuItem>
          <NavigationMenuLink href='/' className={navigationMenuTriggerStyle()}>
            Getting started
          </NavigationMenuLink>
        </NavigationMenuItem>
        <NavigationMenuItem>
          <NavigationMenuLink href='/projects' className={navigationMenuTriggerStyle()}>
            Projects
          </NavigationMenuLink>
        </NavigationMenuItem>
        <NavigationMenuItem>
          <NavigationMenuLink href='/docs' className={navigationMenuTriggerStyle()}>
            Documentation
          </NavigationMenuLink>
        </NavigationMenuItem>
      </NavigationMenuList>
    </NavigationMenu>
  );
}

Using a shadcn-ui Button component with it's own styling

export function NavigationMenuDemo() {
  return (
    <NavigationMenu>
      <NavigationMenuList>
        <NavigationMenuItem>
          <NavigationMenuLink href='/'>
            <Button variant='ghost'>Getting started</Button>
          </NavigationMenuLink>
        </NavigationMenuItem>
        <NavigationMenuItem>
          <NavigationMenuLink href='/projects'>
            <Button variant='ghost'>Projects</Button>
          </NavigationMenuLink>
        </NavigationMenuItem>
        <NavigationMenuItem>
          <NavigationMenuLink href='/docs'>
            <Button variant='ghost'>Projects</Button>
          </NavigationMenuLink>
        </NavigationMenuItem>
      </NavigationMenuList>
    </NavigationMenu>
  );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment