/** @jsxImportSource react */ import { StyledContainerBase, StyledContainerConfig } from "../../ui/Container"; import { Instance } from "../../ui/Instance"; import { StringProp, StyleProp, ClassProp, Config } from "../../ui/Prop"; import { RenderingContext } from "../../ui/RenderingContext"; export interface DragSourceConfig extends StyledContainerConfig { /** * Data about the drag source that can be used by drop zones to test if * drag source is acceptable and to perform drop operations. */ data?: any; /** * Set to true to hide the element while being dragged. * Use if drop zones are configured to expand to indicate where drop will occur. */ hideOnDrag?: boolean; /** Set to true to indicate that this drag source can be dragged only by using an inner DragHandle. */ handled?: boolean; /** Base CSS class to be applied to the element. Defaults to 'dragsource'. */ baseClass?: string; onDragStart?: (e: React.MouseEvent | React.TouchEvent, instance: Instance) => any; onDragEnd?: (e: React.MouseEvent | React.TouchEvent, instance: Instance) => void; id?: StringProp; /** Custom contents to be displayed during drag & drop operation. */ clone?: Config; /** CSS styles to be applied to the clone of the element being dragged. */ cloneStyle?: StyleProp; /** CSS styles to be applied to the element being dragged. */ draggedStyle?: StyleProp; /** Additional CSS class to be applied to the clone of the element being dragged. */ cloneClass?: ClassProp; /** Additional CSS class to be applied to the element being dragged. */ draggedClass?: ClassProp; } export interface DragSourceInstance extends Instance { dragHandles: any[]; } export declare class DragSource extends StyledContainerBase { styled: boolean; baseClass: string; hideOnDrag: boolean; handled: boolean; data: any; clone?: Config; cloneStyle: any; draggedStyle: any; onDragStart?: (e: React.MouseEvent | React.TouchEvent, instance: DragSourceInstance) => any; onDragEnd?: (e: React.MouseEvent | React.TouchEvent, instance: DragSourceInstance) => void; constructor(config?: DragSourceConfig); init(): void; declareData(): void; explore(context: RenderingContext, instance: DragSourceInstance): void; exploreCleanup(context: RenderingContext, instance: DragSourceInstance): void; render(context: RenderingContext, instance: DragSourceInstance, key: string): import("react/jsx-runtime").JSX.Element; } //# sourceMappingURL=DragSource.d.ts.map