Interface DragModel<M, Id>

    interface DragModel<M, Id> {
        active: Cell<Id | null>;
        at: Vec;
        pointer: Writable<Vec>;
        preview: Read<M>;
        grip(
            handle: AnyShape,
            id: Id,
            seed: () => Inner<Vec>,
            onGrab?: () => void,
        ): () => void;
    }

    Type Parameters

    • M
    • Id
    Index

    Methods

    Properties

    Methods

    Properties

    active: Cell<Id | null>

    Which element is being dragged (null when idle).

    at: Vec

    Where the dragged handle sits this frame (float the dragged element here).

    pointer: Writable<Vec>

    The free pointer for the active drag (bound by grip).

    preview: Read<M>

    Previewed model while dragging, else the committed model.