From 14607502a4cb1a75051e2a93ee4b0d1cada7b895 Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann Date: Sun, 23 Jun 2019 14:10:20 +0000 Subject: [PATCH 1/2] feat: Add pointer events --- src/__tests__/events.js | 16 ++++++++++++++++ src/events.js | 41 +++++++++++++++++++++++++++++++++++++++++ typings/events.d.ts | 10 ++++++++++ 3 files changed, 67 insertions(+) diff --git a/src/__tests__/events.js b/src/__tests__/events.js index ffe28af7..ed77aa64 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..57e64ee8 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..0fc07b35 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, From 401ef0772cdb369362a6a964119407861549778e Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann Date: Sun, 23 Jun 2019 17:26:04 +0200 Subject: [PATCH 2/2] chore: camelcase pointer event names --- src/__tests__/events.js | 20 ++++++++++---------- src/events.js | 20 ++++++++++---------- typings/events.d.ts | 20 ++++++++++---------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/__tests__/events.js b/src/__tests__/events.js index ed77aa64..63eb3677 100644 --- a/src/__tests__/events.js +++ b/src/__tests__/events.js @@ -127,16 +127,16 @@ const eventTypes = [ { type: 'Pointer', events: [ - 'pointerover', - 'pointerenter', - 'pointerdown', - 'pointermove', - 'pointerup', - 'pointercancel', - 'pointerout', - 'pointerleave', - 'gotpointercapture', - 'lostpointercapture', + 'pointerOver', + 'pointerEnter', + 'pointerDown', + 'pointerMove', + 'pointerUp', + 'pointerCancel', + 'pointerOut', + 'pointerLeave', + 'gotPointerCapture', + 'lostPointerCapture', ], elementType: 'div', }, diff --git a/src/events.js b/src/events.js index 57e64ee8..474aec25 100644 --- a/src/events.js +++ b/src/events.js @@ -298,43 +298,43 @@ const eventMap = { defaultInit: {bubbles: true, cancelable: true}, }, // pointer events - pointerover: { + pointerOver: { EventType: 'PointerEvent', defaultInit: {bubbles: true, cancelable: true}, }, - pointerenter: { + pointerEnter: { EventType: 'PointerEvent', defaultInit: {bubbles: false, cancelable: false}, }, - pointerdown: { + pointerDown: { EventType: 'PointerEvent', defaultInit: {bubbles: true, cancelable: true}, }, - pointermove: { + pointerMove: { EventType: 'PointerEvent', defaultInit: {bubbles: true, cancelable: true}, }, - pointerup: { + pointerUp: { EventType: 'PointerEvent', defaultInit: {bubbles: true, cancelable: true}, }, - pointercancel: { + pointerCancel: { EventType: 'PointerEvent', defaultInit: {bubbles: true, cancelable: false}, }, - pointerout: { + pointerOut: { EventType: 'PointerEvent', defaultInit: {bubbles: true, cancelable: true}, }, - pointerleave: { + pointerLeave: { EventType: 'PointerEvent', defaultInit: {bubbles: false, cancelable: false}, }, - gotpointercapture: { + gotPointerCapture: { EventType: 'PointerEvent', defaultInit: {bubbles: false, cancelable: false}, }, - lostpointercapture: { + lostPointerCapture: { EventType: 'PointerEvent', defaultInit: {bubbles: false, cancelable: false}, }, diff --git a/typings/events.d.ts b/typings/events.d.ts index 0fc07b35..97d6929f 100644 --- a/typings/events.d.ts +++ b/typings/events.d.ts @@ -70,16 +70,16 @@ export type EventType = | 'animationIteration' | 'transitionEnd' | 'doubleClick' - | 'pointerover' - | 'pointerenter' - | 'pointerdown' - | 'pointermove' - | 'pointerup' - | 'pointercancel' - | 'pointerout' - | 'pointerleave' - | 'gotpointercapture' - | 'lostpointercapture' + | 'pointerOver' + | 'pointerEnter' + | 'pointerDown' + | 'pointerMove' + | 'pointerUp' + | 'pointerCancel' + | 'pointerOut' + | 'pointerLeave' + | 'gotPointerCapture' + | 'lostPointerCapture' export type FireFunction = ( element: Document | Element | Window,