@wordpress/components
Version:
UI components for WordPress.
71 lines • 2.64 kB
TypeScript
/**
* @typedef RenderProp
* @property {(event: import('react').DragEvent) => void} onDraggableStart `onDragStart` handler.
* @property {(event: import('react').DragEvent) => void} onDraggableEnd `onDragEnd` handler.
*/
/**
* @typedef Props
* @property {(props: RenderProp) => JSX.Element | null} children Children.
* @property {(event: import('react').DragEvent) => void} [onDragStart] Callback when dragging starts.
* @property {(event: import('react').DragEvent) => void} [onDragOver] Callback when dragging happens over the document.
* @property {(event: import('react').DragEvent) => void} [onDragEnd] Callback when dragging ends.
* @property {string} [cloneClassname] Classname for the cloned element.
* @property {string} [elementId] ID for the element.
* @property {any} [transferData] Transfer data for the drag event.
* @property {string} [__experimentalTransferDataType] The transfer data type to set.
* @property {import('react').ReactNode} __experimentalDragComponent Component to show when dragging.
*/
/**
* @param {Props} props
* @return {JSX.Element} A draggable component.
*/
export default function Draggable({ children, onDragStart, onDragOver, onDragEnd, cloneClassname, elementId, transferData, __experimentalTransferDataType: transferDataType, __experimentalDragComponent: dragComponent, }: Props): JSX.Element;
export type RenderProp = {
/**
* `onDragStart` handler.
*/
onDraggableStart: (event: import('react').DragEvent) => void;
/**
* `onDragEnd` handler.
*/
onDraggableEnd: (event: import('react').DragEvent) => void;
};
export type Props = {
/**
* Children.
*/
children: (props: RenderProp) => JSX.Element | null;
/**
* Callback when dragging starts.
*/
onDragStart?: ((event: import('react').DragEvent) => void) | undefined;
/**
* Callback when dragging happens over the document.
*/
onDragOver?: ((event: import('react').DragEvent) => void) | undefined;
/**
* Callback when dragging ends.
*/
onDragEnd?: ((event: import('react').DragEvent) => void) | undefined;
/**
* Classname for the cloned element.
*/
cloneClassname?: string | undefined;
/**
* ID for the element.
*/
elementId?: string | undefined;
/**
* Transfer data for the drag event.
*/
transferData?: any;
/**
* The transfer data type to set.
*/
__experimentalTransferDataType?: string | undefined;
/**
* Component to show when dragging.
*/
__experimentalDragComponent: import('react').ReactNode;
};
//# sourceMappingURL=index.d.ts.map