analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
55 lines • 1.7 kB
TypeScript
import { ButtonHTMLAttributes, ReactNode } from 'react';
/**
* SelectionButton component for Analytica Ensino platforms
*
* Um botão com ícone e texto para ações e navegação com estado de seleção.
* Ideal para filtros, tags, categorias, seleção de tipos, etc.
* Suporta forwardRef para acesso programático ao elemento DOM.
*
* @param icon - O ícone a ser exibido no botão
* @param label - O texto/label a ser exibido
* @param selected - Estado de seleção do botão
* @param className - Classes CSS adicionais
* @param props - Todos os outros atributos HTML padrão de button
* @returns Um elemento button estilizado
*
* @example
* ```tsx
* <SelectionButton
* icon={<TagIcon />}
* label="Categoria"
* selected={false}
* onClick={() => handleSelection()}
* />
* ```
*
* @example
* ```tsx
* // Usando ref para foco programático
* const buttonRef = useRef<HTMLButtonElement>(null);
*
* const handleFocus = () => {
* buttonRef.current?.focus();
* };
*
* <SelectionButton
* ref={buttonRef}
* icon={<TagIcon />}
* label="Categoria"
* selected={isSelected}
* onClick={() => setSelected(!isSelected)}
* />
* ```
*/
declare const SelectionButton: import("react").ForwardRefExoticComponent<{
/** Ícone a ser exibido no botão */
icon: ReactNode;
/** Texto/label a ser exibido ao lado do ícone */
label: string;
/** Estado de seleção do botão */
selected?: boolean;
/** Additional CSS classes to apply */
className?: string;
} & ButtonHTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
export default SelectionButton;
//# sourceMappingURL=SelectionButton.d.ts.map