--- // One row of the Dropzone file list, as the script builds it (core/js/src/dropzone.ts `_createItem`). // Written by hand it shows a state without an upload; goes into the default slot of Dropzone.astro. /** core/scss/ui/forms/_form-dropzone.scss `.dropzone-item-{status}` modifier classes */ type DropzoneItemStatus = 'uploading' | 'success' | 'error' interface Props { /** `.dropzone-item-name`: the file name */ title: string /** `.dropzone-item-meta`: the file size, or the error message */ description?: string status?: DropzoneItemStatus | undefined /** upload progress in percent; renders the progress bar */ value?: number | undefined /** aria-label of the remove button */ removeLabel?: string class?: string /** remaining attributes (data-*, aria-*, …) are forwarded to the root element */ [key: string]: unknown } const { title, description, status, value, removeLabel = 'Remove file', class: className, ...rest } = Astro.props ---