UNPKG

analytica-frontend-lib

Version:

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

54 lines 2.06 kB
import { ReactNode } from 'react'; export interface ProgressModalProps { /** Controla se o modal está aberto */ isOpen: boolean; /** Callback ao fechar */ onClose: () => void; /** * Mensagem principal exibida abaixo da imagem. Também é usada como * accessible name do dialog (renderizada visualmente escondida no `<h2>` * do Modal pra leitores de tela). */ message: ReactNode; /** URL ou import de imagem ilustrativa (opcional) */ image?: string; /** Alt text da imagem — se não informado usa a `message` quando for string */ imageAlt?: string; /** * Accessible name quando `message` é ReactNode. Se omitido, cai em * "Carregando". Ignorado quando `message` é string. */ accessibleName?: string; /** * Valor 0-100. Se omitido, mostra indicador indeterminado (pulse sem %). * Use quando o backend não reportar progresso real. */ progress?: number; /** Tamanho do Modal. Default: 'sm' */ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; } /** * Modal de progresso com imagem ilustrativa + mensagem + ProgressBar. * * Pensado para operações assíncronas longas (upload, OCR, correção por IA, etc). * Quando `progress` é omitido, a barra é renderizada em modo indeterminado * (`animate-pulse` sem percentual visível). * * Layout: X no topo direito, imagem centralizada, mensagem abaixo da imagem, * progress bar ao final. A mensagem também é injetada como título invisível * (`sr-only`) no `<h2>` do Modal pra acessibilidade. * * @example * ```tsx * <ProgressModal * isOpen={isLoading} * onClose={() => setIsLoading(false)} * image={myImage} * message="Analisando sua redação..." * // progress opcional — sem valor, usa indicador indeterminado * /> * ``` */ declare const ProgressModal: ({ isOpen, onClose, message, image, imageAlt, accessibleName, progress, size, }: ProgressModalProps) => import("react/jsx-runtime").JSX.Element; export default ProgressModal; //# sourceMappingURL=ProgressModal.d.ts.map