import { useMemo } from 'react' ; import { wrap } from '../components/utils' ; import type { UpSetSelectionProps } from '../interfaces' ; export default function useHandler ( p ) { const onClick = p . onClick ; return useMemo ( ( ) => ( { hasClick : onClick != null , hasHover : p . onHover != null , onClick : wrap ( onClick ) , onMouseEnter : wrap ( p . onHover ) , onContextMenu : wrap ( p . onContextMenu ) , onMouseLeave : p . onHover ? ( evt ) => p . onHover ! ( null , evt . nativeEvent , [ ] ) : undefined , onMouseMove : wrap ( p . onMouseMove ) , reset : ( evt ) => ( onClick ? onClick ( null , evt . nativeEvent , [ ] ) : null ) , } ) , [ onClick , p . onHover , p . onContextMenu , p . onMouseMove ] ) ; } export declare type Handlers = ReturnType < typeof useHandler > ;