A fluid button with primary, secondary, tertiary, and ghost variants. Supports sizes, leading/trailing icons, icon-only mode, and animated loading state.
"use client"; import { ArrowRight, Plus, Search, Settings } from "lucide-react"; import { Button } from "@/components/ui/button"; export function ButtonIconsDemo() { return ( <div className="flex items-center justify-center min-h-screen bg-background"> <div className="flex flex-wrap items-center gap-3"> <Button leadingIcon={Plus}>Add item</Button> <Button trailingIcon={ArrowRight} variant="secondary">Continue</Button> <Button leadingIcon={Search} variant="tertiary">Search</Button> <Button size="icon" variant="ghost"><Settings /></Button> <Button size="icon-sm" variant="secondary"><Plus /></Button> <Button size="icon-lg"><ArrowRight /></Button> </div> </div> ); } export default { ButtonIconsDemo };
Part of Fluid Functionalism — browse the full library on 21st.dev.