25 lines
909 B
TypeScript
25 lines
909 B
TypeScript
import React from "react";
|
|
|
|
import { cn } from "@/lib/utils";
|
|
|
|
interface RainbowButtonProps
|
|
extends React.ButtonHTMLAttributes<HTMLButtonElement> { }
|
|
|
|
export function RainbowButton({
|
|
children,
|
|
className,
|
|
...props
|
|
}: RainbowButtonProps) {
|
|
return (
|
|
<button
|
|
className={cn(
|
|
"group relative inline-flex h-11 animate-rainbow cursor-pointer items-center justify-center rounded-xl border-0 bg-[length:200%] px-8 py-2 font-medium text-primary-foreground transition-colors [background-image:linear-gradient(90deg,hsl(var(--color-1)),hsl(var(--color-5)),hsl(var(--color-3)),hsl(var(--color-4)),hsl(var(--color-2)))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
|
|
className,
|
|
)}
|
|
{...props}
|
|
>
|
|
{children}
|
|
</button>
|
|
);
|
|
}
|