Lompat ke isi
CirccaHIG

Komponen / Form & input

FileUpload

Area unggah lampiran (PO customer, BAST, faktur) dengan daftar file dan progres per file.
React · BetaFigma · siapFigmaSumber

Import

tsx
import { FileUpload, formatFileSize } from '@divistant/circca-react';

Props · FileUpload

Komponen tidak mengunggah sendiri. Juga menerima atribut <div> untuk wadah luar.
PropTipeDefaultKeterangan
filesFileUploadItem[][]{ id, name, size, progress?, status: "uploading" | "done" | "error", error?, meta? } — dikelola pemanggil.
onFilesAdd(files: File[]) => void—File yang lolos accept & maxSize, dari pilih file maupun tarik-lepas.
onRemove(id: string) => void—Hapus file / batalkan unggahan berjalan.
onRetry(id: string) => void—Ulangi unggahan gagal. Tanpa ini tombol "Coba lagi" tidak tampil.
onReject(rejections: FileUploadRejection[]) => void—File ditolak ({ file, reason: "type" | "size", message }). Pesan juga tampil di daftar sampai ditutup.
acceptstring—Sama dengan atribut accept: ".pdf,.jpg,.png" atau "application/pdf,image/*".
multiplebooleanfalseBoleh lebih dari satu file.
maxSizenumber—Ukuran maksimum per file (byte).
hintReactNode—Petunjuk (properti Figma "Hint"): "PDF, JPG, atau PNG · maks. 10 MB". Default dari maxSize.
prompt / browseLabelReactNode / string'Tarik file ke sini atau' / 'pilih file'Teks ajakan dan tombol pilih file.
hideDropzonebooleanfalseSembunyikan area drop, mis. field satu file yang sudah terisi.
invalid / disabled / requiredbooleanfalseMengikuti FormField bila dibungkus.
namestring—Nama input file asli.
aria-labelstring—Nama aksesibel bila tidak dibungkus FormField.

Props · formatFileSize

Utilitas ukuran file Bahasa Indonesia.
PropTipeDefaultKeterangan
(bytes, locale?)(number, string) => string—"820 B", "48 KB", "2,4 MB".

Sumber

Kode komponen ada di packages/react/src/components/file-upload. Gaya hanya memakai kelas token Circca HIG — tidak ada warna, spasi, atau radius mentah.

Esc
↑↓ pilih↵ buka12 hasil