UNPKG

@blinkk/selective-edit

Version:
58 lines (57 loc) 2.02 kB
import { Base, Constructor } from './index'; import { Listeners } from '../utility/listeners'; export interface SortableFieldComponent { sortableUi: SortableUiComponent; } export interface SortableUiComponent { /** * Is the sortable component currently draggable? * * If a user is focused inside a draggable object don't allow the * item to be dragged. * * For instance, if there is an `input` inside of a draggable item * you do not want to allow it to be dragged while in the input * as that would mess up things like selecting text using the mouse. */ canDrag: boolean; listeners: Listeners; handleDragEnter(evt: DragEvent): void; handleDragLeave(evt: DragEvent): void; handleDragOver(evt: DragEvent): void; handleDragStart(evt: DragEvent): void; handleDrop(evt: DragEvent): void; handleFocusIn(evt: FocusEvent): void; handleFocusOut(evt: FocusEvent): void; } export declare type SortableHandler = (startIndex: number, endIndex: number) => void; export declare function SortableMixin<TBase extends Constructor>(Base: TBase): { new (...args: any[]): { _sortableUi?: SortableUiComponent | undefined; sortableUi: SortableUiComponent; }; } & TBase; declare const SortableUi_base: { new (...args: any[]): { _uuid?: string | undefined; readonly uuid: string; readonly uid: string; }; } & typeof Base; export declare class SortableUi extends SortableUi_base implements SortableUiComponent { private dragOrigin?; private dragFocused?; listeners: Listeners; constructor(); private findDragTarget; get canDrag(): boolean; handleDragEnter(evt: DragEvent): void; handleDragLeave(evt: DragEvent): void; handleDragOver(evt: DragEvent): void; handleDragStart(evt: DragEvent): void; handleFocusIn(evt: FocusEvent): void; handleFocusOut(evt: FocusEvent): void; handleDrop(evt: DragEvent): void; get transferType(): string; } export {};