0 is the primary button. A right- or middle-drag must not move a field.
Optionalfocus?: () => voidOptionalreleasePointerCapture?: (pointerId: number) => voidOptionalsetPointerCapture?: (pointerId: number) => voidAbsent in jsdom and on old Safari; the origin-page guard covers what capture would.
The subset of a React pointer event the hook reads, so tests need no synthetic event.