Interface IOptions

An options object for initializing a Drag object.

interface IOptions {
    document?: Document | ShadowRoot;
    dragImage?: HTMLElement;
    mimeData: MimeData;
    proposedAction?: DropAction;
    source?: any;
    supportedActions?: SupportedActions;


document?: Document | ShadowRoot

The root element for dragging DOM artifacts (defaults to document).

dragImage?: HTMLElement

An optional drag image which follows the mouse cursor.


The drag image can be any DOM element. It is not limited to image or canvas elements as with the native drag-drop APIs.

If provided, this will be positioned at the mouse cursor on each mouse move event. A CSS transform can be used to offset the node from its specified position.

The drag image will automatically have the lm-mod-drag-image class name added.

The default value is null.

mimeData: MimeData

The populated mime data for the drag operation.

proposedAction?: DropAction

The optional proposed drop action for the drag operation.


This can be provided as a hint to the drop targets as to which drop action is preferred.

The default value is 'copy'.

source?: any

An optional object which indicates the source of the drag.


For advanced applications, the drag initiator may wish to expose a source object to the drop targets. That object can be specified here and will be carried along with the drag events.

The default value is null.

supportedActions?: SupportedActions

The drop actions supported by the drag initiator.


A drop target must indicate that it intends to perform one of the supported actions in order to receive a drop event. However, it is not required to actually perform that action when handling the drop event. Therefore, the initiator must be prepared to handle any drop action performed by a drop target.

The default value is 'all'.