rharuow-ds
Version:
Modern React Design System with 20 components and auto color system. Define only 2 colors (primary/secondary) and get automatic variations (hover, light, dark) with proper text contrast (WCAG AA). Includes: Table, Card, Button, Chip, Pagination, Input, Te
34 lines (33 loc) • 1.25 kB
TypeScript
import React from 'react';
export interface ImageInputProps {
/** Nome do campo (para integração com forms) */
name?: string;
/** Label do campo */
label?: string;
/** Se o campo está desabilitado */
disabled?: boolean;
/** Mensagem de erro */
error?: string;
/** Classes CSS adicionais */
className?: string;
/** Se true, exibe o input em formato circular (ideal para avatars) */
avatar?: boolean;
/** URL da imagem atual (para exibir imagem já salva) */
value?: string;
/** Callback chamado quando o usuário confirma o upload da imagem selecionada */
onUpload?: (file: File) => Promise<string> | string;
/** Callback chamado quando o usuário remove a imagem */
onRemove?: (imageUrl?: string) => Promise<void> | void;
/** Tipos de arquivo aceitos (padrão: "image/*") */
accept?: string;
/** Tamanho máximo do arquivo em bytes */
maxSize?: number;
/** Texto exibido quando não há imagem */
placeholder?: string;
/** Se true, mostra estado de loading durante upload */
loading?: boolean;
/** Tamanho do componente */
size?: 'sm' | 'md' | 'lg';
}
export declare const ImageInput: React.FC<ImageInputProps>;
export default ImageInput;