Command Palette

Search for a command to run...

NavKit

More than just ready-made navbars — a toolkit for crafting sleek, animated navigation with ease.

Copy & Paste Ready

Clean, readable components you can copy directly into your project

Smooth Animations

Built with Framer Motion for fluid, professional interactions

Easy Customization

Tailwind CSS makes styling changes simple and intuitive

Mobile First

Responsive design that works perfectly on all screen sizes

*Some animations may not appear in preview mode but work as expected during development.*

How NavKit Works

NavKit provides pre-built navigation components that you can copy into your project and customize as needed.

1

Browse Components

Choose from various navbar styles and designs

2

Copy Code

Copy the component code directly to your clipboard

3

Customize

Modify colors, spacing, and behavior to match your design

Quick Start

Install the required dependencies to start using NavKit components in your project.

Install Dependencies

$npm install framer-motion lucide-react next-themes

Theme Configuration

Set up dark mode support with automatic system preference detection.

1Create Theme Toggle Component

components/theme-toggle.tsx

"use client"

  import * as React from "react"
  import { Moon, Sun } from "lucide-react"
  import { useTheme } from "next-themes"
  
  import { Button } from "@/components/ui/button"
  
  export function ThemeToggle() {
    const { theme, setTheme } = useTheme()
  
    return (
      <Button
        variant="ghost"
        size="icon"
        onClick={() => setTheme(theme === "light" ? "dark" : "light")}
        className="relative"
      >
        <Sun className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
        <Moon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
        <span className="sr-only">Toggle theme</span>
      </Button>
    )
  }

2Update Root Layout

app/layout.tsx

import { ThemeProvider } from "next-themes";


export default function RootLayout({ 
  children 
}: { 
  children: React.ReactNode 
}) {
  return (
    <html lang="en" suppressHydrationWarning>
      <body>
        <ThemeProvider
          attribute="class"
          defaultTheme="system"
          enableSystem
          disableTransitionOnChange
        >
          {children}
        </ThemeProvider>
      </body>
    </html>
  )
}
Ready to go! Your components now support theme switching.

What You Get

NavKit provides everything you need to create professional navigation experiences.

Component Features

  • Mobile hamburger menus with smooth animations
  • Dark/light mode toggle functionality
  • Active link highlighting and hover effects
  • Dropdown menus and mega menus
  • Search bars and user avatars

Technical Benefits

  • TypeScript support for better development
  • Optimized bundle size with tree shaking
  • Accessible components with proper ARIA labels
  • SEO-friendly semantic HTML structure
  • Cross-browser compatibility