Shadcn Hooks

useMouse

A hook to track mouse position with optional touch support

Loading...

Installation

npx shadcn@latest add @shadcnhooks/use-mouse

API

export type UseMouseCoordType = 'page' | 'client' | 'screen' | 'movement'
export type UseMouseSourceType = 'mouse' | 'touch' | null

export interface UseMouseInitialValue {
  x: number
  y: number
}

export interface UseMouseState extends UseMouseInitialValue {
  sourceType: UseMouseSourceType
}

export interface UseMouseOptions {
  type?: UseMouseCoordType
  touch?: boolean
  resetOnTouchEnds?: boolean
  initialValue?: UseMouseInitialValue
  window?: Window
}

/**
 * Reactive mouse position with optional touch support.
 */
export function useMouse(options?: UseMouseOptions): UseMouseState

Credits

Last updated on

On this page