Saurabh

Dock

Buttons 89

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

    374
  • BeUI Expandable Tabs

    BeUI Expandable Tabs

    351
  • BeUI File Upload

    BeUI File Upload

    296
  • BeUI Bouncy Accordion

    BeUI Bouncy Accordion

    206
  • Animated Sidebar

    Animated Sidebar

    200
  • BeUI Create Menu

    BeUI Create Menu

    199
  • BeUI Expanable Action Bar

    BeUI Expanable Action Bar

    194
  • Loader

    Loader

    187

More in Buttons

View all
  • Texture Button

    Texture Button

    97
  • Button

    Button

    5
  • Button Group

    Button Group

  • Eclipse Button

    Eclipse Button

    39
  • Button

    Button

    4
  • HeroUI Button Group

    HeroUI Button Group

  • App Store Button

    App Store Button

    458
  • Base Button

    Base Button

    4