Saurabh

Dock

Buttons 84

About

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Dock to your project and fits it to your theme.

Code

How Dock is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

"use client";

import { useState } from "react";
import {
  Calendar,
  Home,
  Mail,
  Music,
  Settings,
  Sparkles,
  Github,
} from "lucide-react";
import { Dock, DockItem, DockSeparator } from "@/components/ui/dock";

export default function DockPreview() {
  const [active, setActive] = useState("home");

  const items = [
    { id: "home", label: "Home", icon: Home },
    { id: "calendar", label: "Calendar", icon: Calendar },
    { id: "mail", label: "Mail", icon: Mail },
    { id: "music", label: "Music", icon: Music },
  ];

  return (
    <Dock>
      {items.map((item) => {
        const Icon = item.icon;

        return (
          <DockItem
            key={item.id}
            active={active === item.id}
            onClick={() => setActive(item.id)}
            aria-label={item.label}
          >
            <Icon className="h-5 w-5" />
          </DockItem>
        );
      })}

      <DockSeparator />

      <DockItem
        active={active === "github"}
        onClick={() => setActive("github")}
        aria-label="GitHub"
      >
        <Github className="h-5 w-5" />
      </DockItem>

      <DockItem
        active={active === "sparkles"}
        onClick={() => setActive("sparkles")}
        aria-label="Sparkles"
      >
        <Sparkles className="h-5 w-5" />
      </DockItem>

      <DockItem
        active={active === "settings"}
        onClick={() => setActive("settings")}
        aria-label="Settings"
      >
        <Settings className="h-5 w-5" />
      </DockItem>
    </Dock>
  );
}

Dependencies

More by Saurabh

View all
  • BeUI Tilt Card

    BeUI Tilt Card

    369
  • BeUI Expandable Tabs

    BeUI Expandable Tabs

    344
  • BeUI File Upload

    BeUI File Upload

    291
  • BeUI Bouncy Accordion

    BeUI Bouncy Accordion

    200
  • BeUI Create Menu

    BeUI Create Menu

    199
  • BeUI Expanable Action Bar

    BeUI Expanable Action Bar

    183
  • Loader

    Loader

    173
  • BeUI OTP Input

    BeUI OTP Input

    166

More in Buttons

View all
  • Button

    Button

    14
  • Button

    Button

    34
  • Texture Button

    Texture Button

    92
  • Button Save

    Button Save

    46
  • Button

    Button

    64
  • Button Group

    Button Group

    3
  • Notification Button

    Notification Button

    103
  • Button

    Button