DragDropProvider
Creates the drag and drop manager and reports drag events.
import { DragDropProvider } from "@dnd-kit-svelte/svelte"; Everything that can be dragged or dropped on goes inside a DragDropProvider. The hooks find its manager through context. Providers can sit side by side, and each one runs its own drags.
<DragDropProvider onDragEnd={(event) => console.log(event.operation.target?.id)}>
<!-- draggables and droppables -->
</DragDropProvider> Props
These are ordinary props. Unlike hook inputs, a function-valued prop such as a (defaults) => … callback goes in as it is.
| Prop | Type | Description |
|---|---|---|
plugins |
Plugins | (defaults) => Plugins |
Plugins for the manager. An array replaces the defaults, a function receives them. Default: Accessibility, AutoScroller, Cursor, Feedback and PreventSelection. |
sensors |
Sensors | (defaults) => Sensors |
Sensors for every draggable that doesn't set its own. Default: PointerSensor and KeyboardSensor. |
modifiers |
Modifiers | (defaults) => Modifiers |
Modifiers for every draggable that doesn't set its own. Default: none. |
manager |
DragDropManager |
A manager to use instead of creating one. Read once. The provider doesn't destroy a manager you pass in. |
onBeforeDragStart |
(event, manager) => void |
A sensor is about to start a drag. Call event.preventDefault() to stop it. |
onDragStart |
(event, manager) => void |
The drag starts. |
onDragMove |
(event, manager) => void |
The dragged element moves. |
onDragOver |
(event, manager) => void |
The dragged element enters or leaves a drop target. |
onCollision |
(event, manager) => void |
dnd kit has worked out which targets the element is over. |
onDragEnd |
(event, manager) => void |
The drag ends. event.canceled tells a cancel from a drop. |
children |
Snippet |
The content. |
plugins, sensors and modifiers can change after the provider mounts. The provider applies the new lists to its manager.
Event objects
Every event has operation, with source (the dragged entity), target (the drop target, or null), position, transform and status. The event types are exported: BeforeDragStartEvent, DragStartEvent, DragMoveEvent, DragOverEvent, CollisionEvent and DragEndEvent.
import type { DragEndEvent } from "@dnd-kit-svelte/svelte"; See Events for examples.