felipemenezes098

Table Row Actions

Component 11

About

A data table with a per-row ellipsis dropdown menu exposing edit, copy, and remove actions.

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

Code

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

Usage.tsx

import { Button } from "@/components/ui/table-row-actions-utils/button";
import {
  DropdownMenu,
  DropdownMenuContent,
  DropdownMenuGroup,
  DropdownMenuItem,
  DropdownMenuLabel,
  DropdownMenuSeparator,
  DropdownMenuTrigger,
} from "@/components/ui/table-row-actions-utils/dropdown-menu";
import {
  Table,
  TableBody,
  TableCell,
  TableHead,
  TableHeader,
  TableRow,
} from "@/components/ui/table-row-actions-utils/table";
import {
  CopyIcon,
  MoreHorizontalIcon,
  PencilIcon,
  TrashIcon,
} from "lucide-react";

const members = [
  { name: "Ava Carter", email: "ava@acme.com", role: "Owner" },
  { name: "Ben Lopez", email: "ben@acme.com", role: "Member" },
  { name: "Cara Diaz", email: "cara@acme.com", role: "Member" },
];

export default function Default() {
  return (
    <div className="flex w-full items-center justify-center p-6">
      <div className="w-full max-w-xl overflow-hidden rounded-lg border">
        <Table>
          <TableHeader>
            <TableRow>
              <TableHead>Name</TableHead>
              <TableHead>Role</TableHead>
              <TableHead className="w-12" />
            </TableRow>
          </TableHeader>
          <TableBody>
            {members.map((member, i) => (
              <TableRow key={member.email}>
                <TableCell>
                  <div className="flex flex-col">
                    <span className="font-medium">{member.name}</span>
                    <span className="text-muted-foreground">
                      {member.email}
                    </span>
                  </div>
                </TableCell>
                <TableCell>{member.role}</TableCell>
                <TableCell>
                  <DropdownMenu defaultOpen={i === 0}>
                    <DropdownMenuTrigger
                      render={
                        <Button
                          variant="ghost"
                          size="icon-sm"
                          aria-label={`Actions for ${member.name}`}
                        >
                          <MoreHorizontalIcon />
                        </Button>
                      }
                    />
                    <DropdownMenuContent align="end" className="w-40">
                      <DropdownMenuGroup>
                        <DropdownMenuLabel>Actions</DropdownMenuLabel>
                      </DropdownMenuGroup>
                      <DropdownMenuSeparator />
                      <DropdownMenuItem>
                        <PencilIcon />
                        Edit
                      </DropdownMenuItem>
                      <DropdownMenuItem>
                        <CopyIcon />
                        Copy email
                      </DropdownMenuItem>
                      <DropdownMenuSeparator />
                      <DropdownMenuItem variant="destructive">
                        <TrashIcon />
                        Remove
                      </DropdownMenuItem>
                    </DropdownMenuContent>
                  </DropdownMenu>
                </TableCell>
              </TableRow>
            ))}
          </TableBody>
        </Table>
      </div>
    </div>
  );
}

Dependencies

More by felipemenezes098

View all
  • Centered Hero with Image Fan

    Centered Hero with Image Fan

    919
  • Editorial Collage Hero

    Editorial Collage Hero

    422
  • Split Hero With Image Cards

    Split Hero With Image Cards

    399
  • Editorial Image Hero

    Editorial Image Hero

    385
  • Scroll 01

    Scroll 01

    335
  • Real Estate Search Hero

    Real Estate Search Hero

    184
  • Editorial Hero

    Editorial Hero

    171
  • Hero with Dashboard Mockup

    Hero with Dashboard Mockup

    121