Skip to content

Commit

Permalink
feat(useMouse): support for movement detection (#2589)
Browse files Browse the repository at this point in the history
Co-authored-by: Sergey Danilchenko <s.danilchenko@ttbooking.ru>
  • Loading branch information
daniser and Sergey Danilchenko committed Jan 3, 2023
1 parent 4d3051a commit 0c39d0c
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions packages/core/useMouse/index.ts
Expand Up @@ -7,11 +7,12 @@ import type { Position } from '../types'

export interface UseMouseOptions extends ConfigurableWindow, ConfigurableEventFilter {
/**
* Mouse position based by page or client
* Mouse position based by page, client, or relative to previous position
*
* @default 'page'
*/
type?: 'page' | 'client'
type?: 'page' | 'client' | 'movement'

/**
* Listen to `touchmove` events
*
Expand Down Expand Up @@ -63,6 +64,10 @@ export function useMouse(options: UseMouseOptions = {}) {
x.value = event.clientX
y.value = event.clientY
}
else if (type === 'movement') {
x.value = event.movementX
y.value = event.movementY
}
sourceType.value = 'mouse'
}
const reset = () => {
Expand Down Expand Up @@ -95,7 +100,7 @@ export function useMouse(options: UseMouseOptions = {}) {
if (window) {
useEventListener(window, 'mousemove', mouseHandlerWrapper, { passive: true })
useEventListener(window, 'dragover', mouseHandlerWrapper, { passive: true })
if (touch) {
if (touch && type !== 'movement') {
useEventListener(window, 'touchstart', touchHandlerWrapper, { passive: true })
useEventListener(window, 'touchmove', touchHandlerWrapper, { passive: true })
if (resetOnTouchEnds)
Expand Down

0 comments on commit 0c39d0c

Please sign in to comment.