cv-dropzone
Controlled visual shell for drag/drop or upload drop areas.
cv-dropzone does not inspect DragEvent, DataTransfer, file lists, or upload services. Consumers own all drag state and upload behavior.
Usage
Anatomy
<cv-dropzone> (host)
└── <div part="base" aria-busy="false">
├── <div part="content">
│ └── <slot>
├── <div part="overlay">
│ └── <slot name="message">
└── <div part="loading-overlay" role="status"> optional
└── <slot name="loading">Attributes
| Attribute | Type | Default | Description |
|---|---|---|---|
active | Boolean | false | Shows active drop overlay |
loading | Boolean | false | Shows loading overlay and sets aria-busy |
disabled | Boolean | false | Sets disabled semantics for the shell |
message | String | "" | Fallback active overlay message |
loading-label | String | "Loading" | Fallback loading label |
Slots
| Slot | Description |
|---|---|
(default) | Underlying page/list/content |
message | Active overlay content |
loading | Loading overlay content |
CSS Parts
| Part | Description |
|---|---|
base | Root shell |
content | Default content wrapper |
overlay | Active drop overlay |
loading-overlay | Loading overlay |
Events
None. Native drag/drop and upload events remain app-owned.