Files
dsp-thomann-interface/src/components/Button/Button.tsx
2026-07-24 14:50:59 +02:00

37 lines
748 B
TypeScript

import './Button.css';
import type { ButtonHTMLAttributes, ReactNode } from 'react';
type ButtonVariant = 'primary' | 'ghost' | 'toggle' | 'outline';
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
variant?: ButtonVariant;
children: ReactNode;
className?: string;
fontSize?: number;
}
export default function Button({
variant = 'primary',
children,
className = '',
disabled,
fontSize = 13,
type = 'button',
style,
...props
}: ButtonProps) {
return (
<button
type={type}
className={`btn btn-${variant} ${className}`}
disabled={disabled}
style={{
fontSize: `${fontSize}px`,
...style,
}}
{...props}
>
{children}
</button>
);
}