UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

58 lines (55 loc) 1.66 kB
import * as react from 'react'; import { ReactNode, ButtonHTMLAttributes } from 'react'; /** * NavButton component for Analytica Ensino platforms * * Um botão de navegação com ícone e texto para navegação principal. * Ideal para menus de navegação, sidebar, tabs de navegação, 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 para navegação * * @example * ```tsx * <NavButton * icon={<HomeIcon />} * label="Início" * selected={false} * onClick={() => navigate('/')} * /> * ``` * * @example * ```tsx * // Usando ref para foco programático * const buttonRef = useRef<HTMLButtonElement>(null); * * const handleFocus = () => { * buttonRef.current?.focus(); * }; * * <NavButton * ref={buttonRef} * icon={<HomeIcon />} * label="Dashboard" * selected={isActive} * onClick={() => setActiveTab('dashboard')} * /> * ``` */ declare const NavButton: 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> & react.RefAttributes<HTMLButtonElement>>; export { NavButton as default };