analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
39 lines • 1.61 kB
TypeScript
import { ButtonHTMLAttributes, ReactNode } from 'react';
/**
* Button component for Analytica Ensino platforms
*
* A flexible button component with multiple variants, sizes and actions.
*
* @param children - The content to display inside the button
* @param size - The size variant (extra-small, small, medium, large, extra-large)
* @param variant - The visual style variant (solid, outline, link)
* @param action - The action type (primary, secondary, positive, negative)
* @param className - Additional CSS classes
* @param props - All other standard button HTML attributes
* @returns A styled button element
*
* @example
* ```tsx
* <Button variant="solid" action="primary" size="medium" onClick={() => console.log('clicked')}>
* Click me
* </Button>
* ```
*/
declare const Button: import("react").ForwardRefExoticComponent<{
/** Content to be displayed inside the button */
children: ReactNode;
/** Ícone à esquerda do texto */
iconLeft?: ReactNode;
/** Ícone à direita do texto */
iconRight?: ReactNode;
/** Size of the button */
size?: "extra-small" | "small" | "medium" | "large" | "extra-large";
/** Visual variant of the button. Use 'raw' for no default styling */
variant?: "solid" | "outline" | "link" | "raw";
/** Action type of the button */
action?: "primary" | "secondary" | "positive" | "negative";
/** Additional CSS classes to apply */
className?: string;
} & ButtonHTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
export default Button;
//# sourceMappingURL=Button.d.ts.map