UNPKG

@pmndrs/uikit

Version:

Build performant 3D user interfaces with Three.js and yoga.

46 lines (45 loc) 1.79 kB
import { Intersection, Object3DEventMap } from 'three'; declare module 'three' { interface Object3DEventMap { childadded: { child: Object3D; }; childremoved: { child: Object3D; }; click: ThreeMouseEvent; contextmenu: ThreeMouseEvent; dblclick: ThreeMouseEvent; wheel: ThreeMouseEvent; pointerup: ThreePointerEvent; pointerdown: ThreePointerEvent; pointerover: ThreePointerEvent; pointerout: ThreePointerEvent; pointerenter: ThreePointerEvent; pointerleave: ThreePointerEvent; pointermove: ThreePointerEvent; pointercancel: ThreePointerEvent; } } export type ThreeMouseEvent = Intersection & { nativeEvent?: unknown; stopPropagation?: () => void; stopImmediatePropagation?: () => void; }; export type ThreePointerEvent = ThreeMouseEvent & { pointerId?: number; }; export type EventHandlersProperties = { onClick?: (event: Object3DEventMap['click']) => void; onContextMenu?: (event: Object3DEventMap['contextmenu']) => void; onDblClick?: (event: Object3DEventMap['dblclick']) => void; onWheel?: (event: Object3DEventMap['wheel']) => void; onPointerUp?: (event: Object3DEventMap['pointerup']) => void; onPointerDown?: (event: Object3DEventMap['pointerdown']) => void; onPointerOver?: (event: Object3DEventMap['pointerover']) => void; onPointerOut?: (event: Object3DEventMap['pointerout']) => void; onPointerEnter?: (event: Object3DEventMap['pointerenter']) => void; onPointerLeave?: (event: Object3DEventMap['pointerleave']) => void; onPointerMove?: (event: Object3DEventMap['pointermove']) => void; onPointerCancel?: (event: Object3DEventMap['pointercancel']) => void; };