SheetXL - v0.8.0-beta.9+sites.210.e2d420901
    Preparing search index...

    Interface SelectDrag

    useSelectDrag's handle.

    interface SelectDrag {
        begin: (e?: TextSelectionPress) => void;
        blocksHover: (e: { clientX: number; clientY: number }) => boolean;
        isDragging: () => boolean;
        onDragStart: (e: { preventDefault: () => void }) => void;
    }
    Index
    begin: (e?: TextSelectionPress) => void

    Call from the input's pointerdown — non-primary buttons are ignored. Pass the WHOLE event: the selection drag reads its target and position to place the caret itself (useTextSelectionDrag).

    blocksHover: (e: { clientX: number; clientY: number }) => boolean

    true while a pointer press OWNS the input — during the drag, and afterwards until the pointer actually moves (HOVER_WAKE_DISTANCE). The second half is what makes a click dismiss: the press leaves the pointer parked over the very text it just acted on, so without it the next stray mousemove re-arms a hover tip in the same place — indistinguishable from the tip the user clicked to get rid of. Moving the pointer at all is a deliberate hover and wakes it back up.

    isDragging: () => boolean

    true while a pointer-driven text selection is in progress.

    onDragStart: (e: { preventDefault: () => void }) => void

    Wire to the input's dragstart: a press on the field means "select", never "move the text".