@blinkk/selective-edit
Version:
Selective structured text editor.
58 lines (57 loc) • 2.02 kB
TypeScript
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 {};