kuratlielia

Expanding Button Group

Buttons 11

About

A compact row of icon action buttons where the one you point at or focus grows to reveal its label while neighbours slide aside, and an action can confirm in place with a check and a past-tense word.

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

Code

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

Usage.tsx

import ExpandingButtonGroup from "@/components/ui/expanding-button-group";
import { Archive, Clock3, Forward, Reply, Trash2 } from "lucide-react";

export default function ExpandingButtonGroupDemo() {
  const items = [
    { id: "reply", label: "Reply", icon: <Reply />, onSelect: () => {} },
    { id: "forward", label: "Forward", icon: <Forward />, onSelect: () => {} },
    {
      id: "archive",
      label: "Archive",
      doneLabel: "Archived",
      icon: <Archive />,
      onSelect: () => true,
    },
    {
      id: "snooze",
      label: "Snooze",
      doneLabel: "Snoozed",
      icon: <Clock3 />,
      onSelect: () => true,
    },
    {
      id: "delete",
      label: "Delete",
      doneLabel: "Deleted",
      tone: "danger" as const,
      icon: <Trash2 />,
      onSelect: () => true,
    },
  ];

  return (
    <div className="flex min-h-[220px] w-full items-center justify-center bg-[var(--background)] p-10">
      <ExpandingButtonGroup
        label="Message actions"
        defaultExpanded="reply"
        items={items}
      />
    </div>
  );
}

Dependencies

More by kuratlielia

View all
  • Activity Heatmap

    Activity Heatmap

    341
  • Image Compare

    Image Compare

    104
  • User Menu

    User Menu

    93
  • Date Range Picker

    Date Range Picker

    62
  • Stats Band

    Stats Band

    52
  • Usage Meter

    Usage Meter

    45
  • Signature Pad

    Signature Pad

    37
  • Timeline

    Timeline

    33

More in Buttons

View all
  • Button

    Button

    5
  • Texture Button

    Texture Button

    92
  • App Store Button

    App Store Button

    453
  • Eclipse Button

    Eclipse Button

    39
  • Button

    Button

    47
  • Split Button

    Split Button

    14
  • Button

    Button

    4
  • Button Group

    Button Group

    37