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 { CommandIcon } from "@phosphor-icons/react";
import { DynamicButton } from "@/components/ui/dynamic-button";

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

Dependencies

More by dqnamo

View all
  • Agent Dock

    Agent Dock

    568
  • Animated Banner

    Animated Banner

    358
  • Scroll Fade List

    Scroll Fade List

    304
  • Model Selector Prompt

    Model Selector Prompt

    165
  • Game of Life Loader

    Game of Life Loader

    136
  • Animated Signature

    Animated Signature

    61
  • Iridescent Foil

    Iridescent Foil

    57
  • Scramble Text

    Scramble Text

    36

More in Buttons

View all
  • Button

    Button

    10
  • Button

    Button

    1
  • Eclipse Button

    Eclipse Button

    42
  • Native Button

    Native Button

    12
  • Texture Button

    Texture Button

    103
  • Button

    Button

  • Button

    Button

    77
  • Split Button

    Split Button

    15