label? | string | Component | — | No | Label untuk file upload. |
title? | string | 'Unggah File' | No | Title di dalam dropzone. |
description? | string | 'Unggah atau seret dan lepas ke dalam kotak ini.' | No | Description di dalam dropzone. |
type? | string | '' | No | Tipe file yang diizinkan (MIME types, e.g., "image/*,application/pdf"). |
multiple? | boolean | false | No | Apakah bisa upload multiple files. |
maxSize? | number | 0 | No | Ukuran maksimum file dalam bytes (0 = unlimited). |
allowedExtensions? | string[] | — | No | Ekstensi file yang diizinkan (e.g., ['png', 'jpg', 'pdf']). |
maxFiles? | number | — | No | Maksimal jumlah file yang bisa diupload (hanya untuk multiple=true). |
maxTotalSizeMB? | number | — | No | Maksimal ukuran total semua file dalam MB (hanya untuk multiple=true). |
validateMagicNumber? | boolean | true | No | Validasi magic number (file signature) untuk keamanan. |
disabled? | boolean | false | No | Apakah disabled. |
class? | string | '' | No | HTML standard attribute `class` untuk styles (fallthrough). |
onChange? | (files: File[], errors: FileValidationResult[]) => void | — | No | Callback ketika file berubah. |
onRemove? | (file: File, index: number) => void | — | No | Callback ketika file dihapus. |