Skip to content

Commit 12e0f4f

Browse files
eps1lonKent C. Dodds
authored and
Kent C. Dodds
committed
feat: add pointer events (#295)
* feat: Add pointer events * chore: camelcase pointer event names
1 parent 6add01f commit 12e0f4f

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

src/__tests__/events.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,22 @@ const eventTypes = [
124124
events: ['transitionEnd'],
125125
elementType: 'div',
126126
},
127+
{
128+
type: 'Pointer',
129+
events: [
130+
'pointerOver',
131+
'pointerEnter',
132+
'pointerDown',
133+
'pointerMove',
134+
'pointerUp',
135+
'pointerCancel',
136+
'pointerOut',
137+
'pointerLeave',
138+
'gotPointerCapture',
139+
'lostPointerCapture',
140+
],
141+
elementType: 'div',
142+
},
127143
]
128144

129145
eventTypes.forEach(({type, events, elementType}) => {

src/events.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,47 @@ const eventMap = {
297297
EventType: 'TransitionEvent',
298298
defaultInit: {bubbles: true, cancelable: true},
299299
},
300+
// pointer events
301+
pointerOver: {
302+
EventType: 'PointerEvent',
303+
defaultInit: {bubbles: true, cancelable: true},
304+
},
305+
pointerEnter: {
306+
EventType: 'PointerEvent',
307+
defaultInit: {bubbles: false, cancelable: false},
308+
},
309+
pointerDown: {
310+
EventType: 'PointerEvent',
311+
defaultInit: {bubbles: true, cancelable: true},
312+
},
313+
pointerMove: {
314+
EventType: 'PointerEvent',
315+
defaultInit: {bubbles: true, cancelable: true},
316+
},
317+
pointerUp: {
318+
EventType: 'PointerEvent',
319+
defaultInit: {bubbles: true, cancelable: true},
320+
},
321+
pointerCancel: {
322+
EventType: 'PointerEvent',
323+
defaultInit: {bubbles: true, cancelable: false},
324+
},
325+
pointerOut: {
326+
EventType: 'PointerEvent',
327+
defaultInit: {bubbles: true, cancelable: true},
328+
},
329+
pointerLeave: {
330+
EventType: 'PointerEvent',
331+
defaultInit: {bubbles: false, cancelable: false},
332+
},
333+
gotPointerCapture: {
334+
EventType: 'PointerEvent',
335+
defaultInit: {bubbles: false, cancelable: false},
336+
},
337+
lostPointerCapture: {
338+
EventType: 'PointerEvent',
339+
defaultInit: {bubbles: false, cancelable: false},
340+
},
300341
}
301342

302343
const eventAliasMap = {

typings/events.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,16 @@ export type EventType =
7070
| 'animationIteration'
7171
| 'transitionEnd'
7272
| 'doubleClick'
73+
| 'pointerOver'
74+
| 'pointerEnter'
75+
| 'pointerDown'
76+
| 'pointerMove'
77+
| 'pointerUp'
78+
| 'pointerCancel'
79+
| 'pointerOut'
80+
| 'pointerLeave'
81+
| 'gotPointerCapture'
82+
| 'lostPointerCapture'
7383

7484
export type FireFunction = (
7585
element: Document | Element | Window,

0 commit comments

Comments
 (0)