@govbr-ds/webcomponents
Version:
Biblioteca de Web Components baseado no GovBR-DS
77 lines (76 loc) • 2.97 kB
TypeScript
/**
* Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/upload?tab=designer).
*
* @slot default - Texto personalizado para o botão de upload. Se não fornecido, será exibido "Selecione o arquivo" como texto padrão.
* Use este slot para personalizar o texto do botão de acordo com o contexto do upload, por exemplo: "Anexar documentos",
* "Enviar imagens", etc.
*/
export declare class Upload {
/**
* Identificador único.
* Caso não seja fornecido, um ID gerado automaticamente será usado.
*/
readonly customId: string;
/**
* Referência ao elemento host do componente.
* Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.
*/
el: HTMLBrUploadElement;
/**
* Tipos de arquivo permitidos (ex: 'image/*').
* Esta propriedade define quais tipos de arquivos podem ser selecionados para upload.
*/
accept: string;
/**
* Rótulo principal do campo de upload.
* Este texto ajuda usuários de leitores de tela a identificarem o propósito do upload.
* Exemplos: "Anexar comprovante", "Enviar foto do documento".
*
* @default "Envio de arquivo"
*/
label: string;
/**
* Evento emitido quando um arquivo é selecionado.
* Este estado armazena os arquivos que foram selecionados pelo usuário.
*/
filesSelected: FileList | null;
/**
* Referência ao elemento de arquivo selecionado.
* Este estado armazena o arquivo que foi selecionado para upload.
*/
file: File | null;
/**
* Indica se o componente está desativado.
* Quando definido como `true`, o campo de upload se torna não interativo,
* impedindo que o usuário selecione ou envie arquivos.
* Isso é útil para controlar a interação do usuário em situações específicas,
* como durante o carregamento de dados ou quando o formulário está em um estado inválido.
*/
disabled: boolean;
/**
* Define o estado visual da mensagem.
* Os possíveis valores são:
* - 'info': Mensagem informativa.
* - 'warning': Mensagem de aviso.
* - 'danger': Mensagem de erro ou alerta.
* - 'success': Mensagem de sucesso.
* O valor padrão é 'info'.
*/
state: 'info' | 'warning' | 'danger' | 'success';
/**
* Indica se o componente permite a seleção de múltiplos arquivos.
* Quando definido como `true`, o usuário pode selecionar mais de um arquivo para upload.
*/
multiple: boolean;
elementInternals: ElementInternals;
private getCssClassMap;
private handleRemoveFileSelection;
private renderFilesUploaded;
private onInputChange;
private _calculateFileSize;
private handleDrop;
private handleDragOver;
private handleFileSelection;
private readonly handleInputChange;
render(): any;
}