Usage notes
`resolveDragData` converts a browser drag event into app data. `createPlacements`
turns that data into one or more timeline clip placements. The hook resolves
target track, drop time, snapping, edit mode, grouped drops, and command
results around those app callbacks.
Signature
Interface UseTimelineExternalClipDropOptionsType parameters
| Name | Constraint | Default | Description |
|---|---|---|---|
DragData | None | None | App-owned payload resolved from the native drag event. |
TrackKind | None | string | App-defined track kind values used by target tracks. |
Properties
| Name | Signature | Description |
|---|---|---|
canDropOnTrack? | canDropOnTrack?: TimelineExternalClipDropGuard<DragData, TrackKind> | Optional app policy for rejecting target tracks before placement creation. |
collapsedTrackHeight? | collapsedTrackHeight?: number | Collapsed track height in pixels. |
createPlacements | (context: TimelineExternalClipDropContext<DragData, TrackKind>): typeOperator | null | Creates one or more clip placements from the resolved drop context. |
edgeThreshold? | edgeThreshold?: number | Mouse/pen edge hit threshold in pixels. |
editMode? | editMode?: TimelineExternalClipDropEditMode | (context: Omit<TimelineExternalClipDropContext<DragData, TrackKind>, "editMode">) => TimelineExternalClipDropEditMode | Edit mode for committed drops. Defaults to overwrite. |
group? | group?: TimelineExternalClipDropGroupOptions | (context: TimelineExternalClipDropContext<DragData, TrackKind>) => TimelineExternalClipDropGroupOptions | null | undefined | Optional metadata applied when a drop creates a grouped multi-placement edit. |
resolveDragData | (event: DragEvent<HTMLElement>): DragData | null | Resolves app-owned drag data from the native drag event. |
rulerHeight? | rulerHeight?: number | Height of the top ruler region in pixels. |
snap? | snap?: boolean | Whether to resolve magnetic snapping for placed clips. Multi-placement drops share one group delta. Defaults to true. |
touchEdgeThreshold? | touchEdgeThreshold?: number | Touch edge hit threshold in pixels. |
trackHeight? | trackHeight?: number | Default expanded track height in pixels. |
viewportWidth? | viewportWidth?: number | Optional viewport width used for track hit testing. Defaults to the drop surface width. |