UNPKG

react-dnd

Version:
13 lines (12 loc) 873 B
/// <reference types="react" /> import React from 'react'; import { SourceType } from 'dnd-core'; import { DragSourceSpec, DragSourceCollector, DndOptions, DndComponentClass } from './interfaces'; /** * Decorates a component as a dragsource * @param type The dragsource type * @param spec The drag source specification * @param collect The props collector function * @param options DnD optinos */ export default function DragSource<P, S, TargetComponent extends React.Component<P, S> | React.StatelessComponent<P>, CollectedProps, DragObject>(type: SourceType | ((props: P) => SourceType), spec: DragSourceSpec<P, S, TargetComponent, DragObject>, collect: DragSourceCollector<CollectedProps>, options?: DndOptions<P>): <TargetClass extends React.ComponentClass<P>>(DecoratedComponent: TargetClass) => TargetClass & DndComponentClass<P, TargetComponent, TargetClass>;