diff --git a/src/__tests__/events.js b/src/__tests__/events.js index ffe28af7..63eb3677 100644 --- a/src/__tests__/events.js +++ b/src/__tests__/events.js @@ -124,6 +124,22 @@ const eventTypes = [ events: ['transitionEnd'], elementType: 'div', }, + { + type: 'Pointer', + events: [ + 'pointerOver', + 'pointerEnter', + 'pointerDown', + 'pointerMove', + 'pointerUp', + 'pointerCancel', + 'pointerOut', + 'pointerLeave', + 'gotPointerCapture', + 'lostPointerCapture', + ], + elementType: 'div', + }, ] eventTypes.forEach(({type, events, elementType}) => { diff --git a/src/events.js b/src/events.js index 00189934..474aec25 100644 --- a/src/events.js +++ b/src/events.js @@ -297,6 +297,47 @@ const eventMap = { EventType: 'TransitionEvent', defaultInit: {bubbles: true, cancelable: true}, }, + // pointer events + pointerOver: { + EventType: 'PointerEvent', + defaultInit: {bubbles: true, cancelable: true}, + }, + pointerEnter: { + EventType: 'PointerEvent', + defaultInit: {bubbles: false, cancelable: false}, + }, + pointerDown: { + EventType: 'PointerEvent', + defaultInit: {bubbles: true, cancelable: true}, + }, + pointerMove: { + EventType: 'PointerEvent', + defaultInit: {bubbles: true, cancelable: true}, + }, + pointerUp: { + EventType: 'PointerEvent', + defaultInit: {bubbles: true, cancelable: true}, + }, + pointerCancel: { + EventType: 'PointerEvent', + defaultInit: {bubbles: true, cancelable: false}, + }, + pointerOut: { + EventType: 'PointerEvent', + defaultInit: {bubbles: true, cancelable: true}, + }, + pointerLeave: { + EventType: 'PointerEvent', + defaultInit: {bubbles: false, cancelable: false}, + }, + gotPointerCapture: { + EventType: 'PointerEvent', + defaultInit: {bubbles: false, cancelable: false}, + }, + lostPointerCapture: { + EventType: 'PointerEvent', + defaultInit: {bubbles: false, cancelable: false}, + }, } const eventAliasMap = { diff --git a/typings/events.d.ts b/typings/events.d.ts index 9c58c09a..97d6929f 100644 --- a/typings/events.d.ts +++ b/typings/events.d.ts @@ -70,6 +70,16 @@ export type EventType = | 'animationIteration' | 'transitionEnd' | 'doubleClick' + | 'pointerOver' + | 'pointerEnter' + | 'pointerDown' + | 'pointerMove' + | 'pointerUp' + | 'pointerCancel' + | 'pointerOut' + | 'pointerLeave' + | 'gotPointerCapture' + | 'lostPointerCapture' export type FireFunction = ( element: Document | Element | Window,