dqnamo

Dynamic Button

Buttons

About

An animated button that smoothly resizes its width to fit new content and crossfades its label and icon whenever the action or state changes. Built with motion/react, it uses a spring width transition, a coordinated vertical fade for content swaps, and an active-press scale. Supports primary and secondary variants, an optional icon, content or full width, and respects reduced-motion preferences.

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

Code

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

Usage.tsx

"use client";

import { UsersIcon } from "@phosphor-icons/react";
import { DynamicButton } from "@/components/ui/dynamic-button";

export default function InviteTeammatesSecondary() {
  return (
    <div className="flex min-h-screen w-full items-center justify-center bg-white p-8">
      <DynamicButton variant="secondary" icon={<UsersIcon aria-hidden="true" size={15} weight="bold" />}>
        Invite teammates
      </DynamicButton>
    </div>
  );
}

Dependencies

More by dqnamo

View all
  • Agent Dock

    Agent Dock

    540
  • Animated Banner

    Animated Banner

    340
  • Scroll Fade List

    Scroll Fade List

    300
  • Model Selector Prompt

    Model Selector Prompt

    155
  • Game of Life Loader

    Game of Life Loader

    128
  • Animated Signature

    Animated Signature

    56
  • Iridescent Foil

    Iridescent Foil

    53
  • Scramble Text

    Scramble Text

    33

More in Buttons

View all
  • Button Group

    Button Group

    2
  • App Store Button

    App Store Button

    457
  • Eclipse Button

    Eclipse Button

    6
  • Texture Button

    Texture Button

    95
  • Button

    Button

    5
  • Button Save

    Button Save

    47
  • Base Button

    Base Button

    3
  • HeroUI Button Group

    HeroUI Button Group