apps/docs/svelte/components/drag-drop-provider.mdx
The DragDropProvider component is the root component for drag and drop interactions. It creates a DragDropManager instance and makes it available to all descendant components via Svelte's context API.
<script>
import {DragDropProvider} from '@dnd-kit/svelte';
function onDragEnd(event) {
// Handle drag end
}
</script>
<DragDropProvider {onDragEnd}>
<!-- Your draggable and droppable elements -->
</DragDropProvider>
The DragDropProvider accepts callback props for all drag and drop lifecycle stages:
| Prop | Description |
|---|---|
onBeforeDragStart | Fired before a drag operation begins. Can be used to prepare state. |
onDragStart | Fired when a drag operation starts. |
onDragMove | Fired when the dragged element moves. |
onDragOver | Fired when the dragged element moves over a droppable target. Call event.preventDefault() to prevent the default behavior of plugins that respond to this event. |
onDragEnd | Fired when a drag operation ends (dropped or canceled). |
onCollision | Fired when collisions are detected between draggable and droppable elements. |
// Add a plugin alongside defaults
plugins={(defaults) => [...defaults, MyPlugin]}
// Replace defaults entirely
plugins={[MyPlugin]}