Lint errors

Signed-off-by: Rodrigo Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
rodrigo committed 2025-04-12 20:32:39 -03:00
1 parent 9742d62ba2
commit 5acec6b71e
196 files changed
+10885 -6655

No files matched your search

+43 -28
View File
@@ -1,13 +1,21 @@
import React from 'react';
import React from "react";
type ButtonVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'outline' | 'link';
type ButtonVariant =
| "primary"
| "secondary"
| "success"
| "danger"
| "warning"
| "info"
| "outline"
| "link";
interface ButtonProps {
children: React.ReactNode;
type?: 'button' | 'submit' | 'reset';
type?: "button" | "submit" | "reset";
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
variant?: ButtonVariant;
size?: 'sm' | 'md' | 'lg';
size?: "sm" | "md" | "lg";
disabled?: boolean;
className?: string;
icon?: React.ReactNode;
@@ -15,46 +23,53 @@ interface ButtonProps {
export function Button({
children,
type = 'button',
type = "button",
onClick,
variant = 'primary',
size = 'md',
variant = "primary",
size = "md",
disabled = false,
className = '',
className = "",
icon,
}: ButtonProps) {
const baseClasses = 'inline-flex items-center justify-center font-medium rounded-md focus:outline-none transition-colors';
const baseClasses =
"inline-flex items-center justify-center font-medium rounded-md focus:outline-none transition-colors";
// Definir classes de variante
const variantClasses = {
primary: 'bg-blue-600 text-white hover:bg-blue-700 focus:ring-2 focus:ring-offset-2 focus:ring-blue-500',
secondary: 'bg-gray-600 text-white hover:bg-gray-700 focus:ring-2 focus:ring-offset-2 focus:ring-gray-500',
success: 'bg-green-600 text-white hover:bg-green-700 focus:ring-2 focus:ring-offset-2 focus:ring-green-500',
danger: 'bg-red-600 text-white hover:bg-red-700 focus:ring-2 focus:ring-offset-2 focus:ring-red-500',
warning: 'bg-yellow-500 text-white hover:bg-yellow-600 focus:ring-2 focus:ring-offset-2 focus:ring-yellow-400',
info: 'bg-blue-400 text-white hover:bg-blue-500 focus:ring-2 focus:ring-offset-2 focus:ring-blue-300',
outline: 'bg-white text-gray-700 border border-gray-300 hover:bg-gray-50 focus:ring-2 focus:ring-offset-2 focus:ring-blue-500',
link: 'bg-transparent text-blue-600 hover:text-blue-800 hover:underline focus:ring-0',
primary:
"bg-blue-600 text-white hover:bg-blue-700 focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",
secondary:
"bg-gray-600 text-white hover:bg-gray-700 focus:ring-2 focus:ring-offset-2 focus:ring-gray-500",
success:
"bg-green-600 text-white hover:bg-green-700 focus:ring-2 focus:ring-offset-2 focus:ring-green-500",
danger:
"bg-red-600 text-white hover:bg-red-700 focus:ring-2 focus:ring-offset-2 focus:ring-red-500",
warning:
"bg-yellow-500 text-white hover:bg-yellow-600 focus:ring-2 focus:ring-offset-2 focus:ring-yellow-400",
info: "bg-blue-400 text-white hover:bg-blue-500 focus:ring-2 focus:ring-offset-2 focus:ring-blue-300",
outline:
"bg-white text-gray-700 border border-gray-300 hover:bg-gray-50 focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",
link: "bg-transparent text-blue-600 hover:text-blue-800 hover:underline focus:ring-0",
};
// Definir classes de tamanho
const sizeClasses = {
sm: 'px-2.5 py-1.5 text-xs',
md: 'px-4 py-2 text-sm',
lg: 'px-6 py-3 text-base',
sm: "px-2.5 py-1.5 text-xs",
md: "px-4 py-2 text-sm",
lg: "px-6 py-3 text-base",
};
// Definir classes de estado desabilitado
const disabledClasses = 'opacity-50 cursor-not-allowed';
const disabledClasses = "opacity-50 cursor-not-allowed";
const buttonClasses = [
baseClasses,
variantClasses[variant],
sizeClasses[size],
disabled ? disabledClasses : '',
disabled ? disabledClasses : "",
className,
].join(' ');
].join(" ");
return (
<button
type={type}