Spaces:
Build error
Build error
import clsx from "clsx"; | |
import React from "react"; | |
interface ModalButtonProps { | |
testId?: string; | |
variant?: "default" | "text-like"; | |
onClick?: () => void; | |
text: string; | |
className: React.HTMLProps<HTMLButtonElement>["className"]; | |
icon?: React.ReactNode; | |
type?: "button" | "submit"; | |
disabled?: boolean; | |
intent?: string; | |
} | |
export function ModalButton({ | |
testId, | |
variant = "default", | |
onClick, | |
text, | |
className, | |
icon, | |
type = "button", | |
disabled, | |
intent, | |
}: ModalButtonProps) { | |
return ( | |
<button | |
data-testid={testId} | |
type={type === "submit" ? "submit" : "button"} | |
disabled={disabled} | |
onClick={onClick} | |
className={clsx( | |
variant === "default" && "text-sm font-[500] py-[10px] rounded", | |
variant === "text-like" && "text-xs leading-4 font-normal", | |
icon && "flex items-center justify-center gap-2", | |
disabled && "opacity-50 cursor-not-allowed", | |
className, | |
)} | |
name={intent && "intent"} | |
value={intent} | |
> | |
{icon} | |
{text} | |
</button> | |
); | |
} | |