usePointerSwipe
Reactive swipe detection based on PointerEvents.
Demo
Swipe
Usage
html
<script setup>
import { ref } from 'vue'
import { usePointerSwipe } from '@vueuse/core'
const el = ref(null)
const { isSwiping, direction } = usePointerSwipe(el)
</script>
<template>
<div ref="el">
Swipe here
</div>
</template>
<script setup>
import { ref } from 'vue'
import { usePointerSwipe } from '@vueuse/core'
const el = ref(null)
const { isSwiping, direction } = usePointerSwipe(el)
</script>
<template>
<div ref="el">
Swipe here
</div>
</template>
Type Declarations
Show Type Declarations
typescript
export interface UsePointerSwipeOptions {
/**
* @default 50
*/
threshold?: number
/**
* Callback on swipe start.
*/
onSwipeStart?: (e: PointerEvent) => void
/**
* Callback on swipe move.
*/
onSwipe?: (e: PointerEvent) => void
/**
* Callback on swipe end.
*/
onSwipeEnd?: (e: PointerEvent, direction: SwipeDirection) => void
/**
* Pointer types to listen to.
*
* @default ['mouse', 'touch', 'pen']
*/
pointerTypes?: PointerType[]
}
export interface UsePointerSwipeReturn {
readonly isSwiping: Ref<boolean>
direction: Readonly<Ref<SwipeDirection | null>>
readonly posStart: Position
readonly posEnd: Position
distanceX: Readonly<Ref<number>>
distanceY: Readonly<Ref<number>>
stop: () => void
}
/**
* Reactive swipe detection based on PointerEvents.
*
* @see https://vueuse.org/usePointerSwipe
* @param target
* @param options
*/
export declare function usePointerSwipe(
target: MaybeComputedRef<HTMLElement | null | undefined>,
options?: UsePointerSwipeOptions
): UsePointerSwipeReturn
export interface UsePointerSwipeOptions {
/**
* @default 50
*/
threshold?: number
/**
* Callback on swipe start.
*/
onSwipeStart?: (e: PointerEvent) => void
/**
* Callback on swipe move.
*/
onSwipe?: (e: PointerEvent) => void
/**
* Callback on swipe end.
*/
onSwipeEnd?: (e: PointerEvent, direction: SwipeDirection) => void
/**
* Pointer types to listen to.
*
* @default ['mouse', 'touch', 'pen']
*/
pointerTypes?: PointerType[]
}
export interface UsePointerSwipeReturn {
readonly isSwiping: Ref<boolean>
direction: Readonly<Ref<SwipeDirection | null>>
readonly posStart: Position
readonly posEnd: Position
distanceX: Readonly<Ref<number>>
distanceY: Readonly<Ref<number>>
stop: () => void
}
/**
* Reactive swipe detection based on PointerEvents.
*
* @see https://vueuse.org/usePointerSwipe
* @param target
* @param options
*/
export declare function usePointerSwipe(
target: MaybeComputedRef<HTMLElement | null | undefined>,
options?: UsePointerSwipeOptions
): UsePointerSwipeReturn
Source
Contributors
Anthony Fu
Jeffrey Li
Curt Grimes
sun0day
Jelf
wheat
MinatoHikari
Ilya Komichev
lstoeferle