@react-aria/interactions 3.26.0 → 3.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PressResponder.main.js +2 -3
- package/dist/PressResponder.main.js.map +1 -1
- package/dist/PressResponder.mjs +3 -4
- package/dist/PressResponder.module.js +3 -4
- package/dist/PressResponder.module.js.map +1 -1
- package/dist/focusSafely.main.js +1 -0
- package/dist/focusSafely.main.js.map +1 -1
- package/dist/focusSafely.mjs +1 -0
- package/dist/focusSafely.module.js +1 -0
- package/dist/focusSafely.module.js.map +1 -1
- package/dist/main.js.map +1 -1
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/useFocus.main.js +4 -3
- package/dist/useFocus.main.js.map +1 -1
- package/dist/useFocus.mjs +5 -4
- package/dist/useFocus.module.js +5 -4
- package/dist/useFocus.module.js.map +1 -1
- package/dist/useFocusVisible.main.js +16 -13
- package/dist/useFocusVisible.main.js.map +1 -1
- package/dist/useFocusVisible.mjs +18 -15
- package/dist/useFocusVisible.module.js +18 -15
- package/dist/useFocusVisible.module.js.map +1 -1
- package/dist/useFocusWithin.main.js +9 -7
- package/dist/useFocusWithin.main.js.map +1 -1
- package/dist/useFocusWithin.mjs +10 -8
- package/dist/useFocusWithin.module.js +10 -8
- package/dist/useFocusWithin.module.js.map +1 -1
- package/dist/useHover.main.js +5 -5
- package/dist/useHover.main.js.map +1 -1
- package/dist/useHover.mjs +6 -6
- package/dist/useHover.module.js +6 -6
- package/dist/useHover.module.js.map +1 -1
- package/dist/useInteractOutside.main.js +5 -4
- package/dist/useInteractOutside.main.js.map +1 -1
- package/dist/useInteractOutside.mjs +6 -5
- package/dist/useInteractOutside.module.js +6 -5
- package/dist/useInteractOutside.module.js.map +1 -1
- package/dist/usePress.main.js +31 -23
- package/dist/usePress.main.js.map +1 -1
- package/dist/usePress.mjs +31 -23
- package/dist/usePress.module.js +31 -23
- package/dist/usePress.module.js.map +1 -1
- package/dist/utils.main.js +8 -7
- package/dist/utils.main.js.map +1 -1
- package/dist/utils.mjs +9 -8
- package/dist/utils.module.js +9 -8
- package/dist/utils.module.js.map +1 -1
- package/package.json +4 -4
- package/src/PressResponder.tsx +3 -4
- package/src/focusSafely.ts +4 -0
- package/src/index.ts +1 -1
- package/src/useFocus.ts +4 -3
- package/src/useFocusVisible.ts +18 -12
- package/src/useFocusWithin.ts +9 -7
- package/src/useHover.ts +6 -6
- package/src/useInteractOutside.ts +6 -5
- package/src/usePress.ts +46 -32
- package/src/utils.ts +12 -11
package/dist/usePress.mjs
CHANGED
|
@@ -35,7 +35,9 @@ function $f6c31cce2adf654f$var$usePressResponderContext(props) {
|
|
|
35
35
|
// Consume context from <PressResponder> and merge with props.
|
|
36
36
|
let context = (0, $7mdmh$useContext)((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5));
|
|
37
37
|
if (context) {
|
|
38
|
-
|
|
38
|
+
// Prevent mergeProps from merging ref.
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
40
|
+
let { register: register, ref: ref, ...contextProps } = context;
|
|
39
41
|
props = (0, $7mdmh$mergeProps)(contextProps, props);
|
|
40
42
|
register();
|
|
41
43
|
}
|
|
@@ -83,6 +85,7 @@ class $f6c31cce2adf654f$var$PressEvent {
|
|
|
83
85
|
this.altKey = originalEvent.altKey;
|
|
84
86
|
this.x = x;
|
|
85
87
|
this.y = y;
|
|
88
|
+
this.key = originalEvent.key;
|
|
86
89
|
}
|
|
87
90
|
}
|
|
88
91
|
const $f6c31cce2adf654f$var$LINK_CLICKED = Symbol('linkClicked');
|
|
@@ -226,7 +229,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
226
229
|
var _state_metaKeyEvents1;
|
|
227
230
|
if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard((0, $7mdmh$getEventTarget)(e), e.key)) e.preventDefault();
|
|
228
231
|
let target = (0, $7mdmh$getEventTarget)(e);
|
|
229
|
-
let wasPressed = (0, $7mdmh$nodeContains)(state.target,
|
|
232
|
+
let wasPressed = (0, $7mdmh$nodeContains)(state.target, target);
|
|
230
233
|
triggerPressEndEvent($f6c31cce2adf654f$var$createEvent(state.target, e), 'keyboard', wasPressed);
|
|
231
234
|
if (wasPressed) triggerSyntheticClickEvent(e, state.target);
|
|
232
235
|
removeAllGlobalListeners();
|
|
@@ -300,7 +303,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
300
303
|
}, 80);
|
|
301
304
|
// Use a capturing listener to track if a click occurred.
|
|
302
305
|
// If stopPropagation is called it may never reach our handler.
|
|
303
|
-
addGlobalListener(e.currentTarget, 'click', ()=>clicked = true, true);
|
|
306
|
+
if (e.currentTarget) addGlobalListener(e.currentTarget, 'click', ()=>clicked = true, true);
|
|
304
307
|
state.disposables.push(()=>clearTimeout(timeout));
|
|
305
308
|
} else cancelEvent(e);
|
|
306
309
|
// Ignore subsequent onPointerLeave event before onClick on touch devices.
|
|
@@ -324,7 +327,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
324
327
|
state.ignoreEmulatedMouseEvents = false;
|
|
325
328
|
return;
|
|
326
329
|
}
|
|
327
|
-
if (state.target && state.target
|
|
330
|
+
if (state.target && (0, $7mdmh$nodeContains)(state.target, e.target) && state.pointerType != null) ;
|
|
328
331
|
else cancelEvent(e);
|
|
329
332
|
state.isOverTarget = false;
|
|
330
333
|
};
|
|
@@ -356,9 +359,9 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
356
359
|
let state = ref.current;
|
|
357
360
|
let pressProps = {
|
|
358
361
|
onKeyDown (e) {
|
|
359
|
-
if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && (0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
362
|
+
if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && (0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) {
|
|
360
363
|
var _state_metaKeyEvents;
|
|
361
|
-
if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard((0, $7mdmh$getEventTarget)(e
|
|
364
|
+
if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard((0, $7mdmh$getEventTarget)(e), e.key)) e.preventDefault();
|
|
362
365
|
// If the event is repeating, it may have started on a different element
|
|
363
366
|
// after which focus moved to the current element. Ignore these events and
|
|
364
367
|
// only handle the first key down event.
|
|
@@ -382,7 +385,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
382
385
|
} else if (e.key === 'Meta') state.metaKeyEvents = new Map();
|
|
383
386
|
},
|
|
384
387
|
onClick (e) {
|
|
385
|
-
if (e && !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
388
|
+
if (e && !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
386
389
|
if (e && e.button === 0 && !state.isTriggeringEvent && !(0, $7mdmh$openLink).isOpening) {
|
|
387
390
|
let shouldStopPropagation = true;
|
|
388
391
|
if (isDisabled) e.preventDefault();
|
|
@@ -411,7 +414,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
411
414
|
if (typeof PointerEvent !== 'undefined') {
|
|
412
415
|
pressProps.onPointerDown = (e)=>{
|
|
413
416
|
// Only handle left clicks, and ignore events that bubbled through portals.
|
|
414
|
-
if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
417
|
+
if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
415
418
|
// iOS safari fires pointer events from VoiceOver with incorrect coordinates/target.
|
|
416
419
|
// Ignore and let the onClick handler take care of it instead.
|
|
417
420
|
// https://bugs.webkit.org/show_bug.cgi?id=222627
|
|
@@ -432,13 +435,17 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
432
435
|
shouldStopPropagation = triggerPressStart(e, state.pointerType);
|
|
433
436
|
// Release pointer capture so that touch interactions can leave the original target.
|
|
434
437
|
// This enables onPointerLeave and onPointerEnter to fire.
|
|
435
|
-
let target = (0, $7mdmh$getEventTarget)(e
|
|
436
|
-
if ('releasePointerCapture' in target)
|
|
438
|
+
let target = (0, $7mdmh$getEventTarget)(e);
|
|
439
|
+
if ('releasePointerCapture' in target) {
|
|
440
|
+
if ('hasPointerCapture' in target) {
|
|
441
|
+
if (target.hasPointerCapture(e.pointerId)) target.releasePointerCapture(e.pointerId);
|
|
442
|
+
} else target.releasePointerCapture(e.pointerId);
|
|
443
|
+
}
|
|
437
444
|
}
|
|
438
445
|
if (shouldStopPropagation) e.stopPropagation();
|
|
439
446
|
};
|
|
440
447
|
pressProps.onMouseDown = (e)=>{
|
|
441
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
448
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
442
449
|
if (e.button === 0) {
|
|
443
450
|
if (preventFocusOnPress) {
|
|
444
451
|
let dispose = (0, $8a9cb279dc87e130$export$cabe61c495ee3649)(e.target);
|
|
@@ -449,7 +456,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
449
456
|
};
|
|
450
457
|
pressProps.onPointerUp = (e)=>{
|
|
451
458
|
// iOS fires pointerup with zero width and height, so check the pointerType recorded during pointerdown.
|
|
452
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
459
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e)) || state.pointerType === 'virtual') return;
|
|
453
460
|
// Only handle left clicks. If isPressed is true, delay until onClick.
|
|
454
461
|
if (e.button === 0 && !state.isPressed) triggerPressUp(e, state.pointerType || e.pointerType);
|
|
455
462
|
};
|
|
@@ -467,7 +474,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
467
474
|
}
|
|
468
475
|
};
|
|
469
476
|
pressProps.onDragStart = (e)=>{
|
|
470
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
477
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
471
478
|
// Safari does not call onPointerCancel when a drag starts, whereas Chrome and Firefox do.
|
|
472
479
|
cancel(e);
|
|
473
480
|
};
|
|
@@ -476,7 +483,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
476
483
|
// All browsers now support pointer events, but JSDOM still does not.
|
|
477
484
|
pressProps.onMouseDown = (e)=>{
|
|
478
485
|
// Only handle left clicks
|
|
479
|
-
if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
486
|
+
if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
480
487
|
if (state.ignoreEmulatedMouseEvents) {
|
|
481
488
|
e.stopPropagation();
|
|
482
489
|
return;
|
|
@@ -495,7 +502,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
495
502
|
}
|
|
496
503
|
};
|
|
497
504
|
pressProps.onMouseEnter = (e)=>{
|
|
498
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
505
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
499
506
|
let shouldStopPropagation = true;
|
|
500
507
|
if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {
|
|
501
508
|
state.isOverTarget = true;
|
|
@@ -504,7 +511,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
504
511
|
if (shouldStopPropagation) e.stopPropagation();
|
|
505
512
|
};
|
|
506
513
|
pressProps.onMouseLeave = (e)=>{
|
|
507
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
514
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
508
515
|
let shouldStopPropagation = true;
|
|
509
516
|
if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {
|
|
510
517
|
state.isOverTarget = false;
|
|
@@ -514,11 +521,11 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
514
521
|
if (shouldStopPropagation) e.stopPropagation();
|
|
515
522
|
};
|
|
516
523
|
pressProps.onMouseUp = (e)=>{
|
|
517
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
524
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
518
525
|
if (!state.ignoreEmulatedMouseEvents && e.button === 0 && !state.isPressed) triggerPressUp(e, state.pointerType || 'mouse');
|
|
519
526
|
};
|
|
520
527
|
pressProps.onTouchStart = (e)=>{
|
|
521
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
528
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
522
529
|
let touch = $f6c31cce2adf654f$var$getTouchFromEvent(e.nativeEvent);
|
|
523
530
|
if (!touch) return;
|
|
524
531
|
state.activePointerId = touch.identifier;
|
|
@@ -533,7 +540,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
533
540
|
if (shouldStopPropagation) e.stopPropagation();
|
|
534
541
|
};
|
|
535
542
|
pressProps.onTouchMove = (e)=>{
|
|
536
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
543
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
537
544
|
if (!state.isPressed) {
|
|
538
545
|
e.stopPropagation();
|
|
539
546
|
return;
|
|
@@ -553,7 +560,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
553
560
|
if (shouldStopPropagation) e.stopPropagation();
|
|
554
561
|
};
|
|
555
562
|
pressProps.onTouchEnd = (e)=>{
|
|
556
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
563
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
557
564
|
if (!state.isPressed) {
|
|
558
565
|
e.stopPropagation();
|
|
559
566
|
return;
|
|
@@ -575,12 +582,12 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
575
582
|
removeAllGlobalListeners();
|
|
576
583
|
};
|
|
577
584
|
pressProps.onTouchCancel = (e)=>{
|
|
578
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
585
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
579
586
|
e.stopPropagation();
|
|
580
587
|
if (state.isPressed) cancel($f6c31cce2adf654f$var$createTouchEvent(state.target, e));
|
|
581
588
|
};
|
|
582
589
|
pressProps.onDragStart = (e)=>{
|
|
583
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
590
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
584
591
|
cancel(e);
|
|
585
592
|
};
|
|
586
593
|
}
|
|
@@ -690,7 +697,8 @@ function $f6c31cce2adf654f$var$createEvent(target, e) {
|
|
|
690
697
|
metaKey: e.metaKey,
|
|
691
698
|
altKey: e.altKey,
|
|
692
699
|
clientX: clientX,
|
|
693
|
-
clientY: clientY
|
|
700
|
+
clientY: clientY,
|
|
701
|
+
key: e.key
|
|
694
702
|
};
|
|
695
703
|
}
|
|
696
704
|
function $f6c31cce2adf654f$var$getPointClientRect(point) {
|
package/dist/usePress.module.js
CHANGED
|
@@ -35,7 +35,9 @@ function $f6c31cce2adf654f$var$usePressResponderContext(props) {
|
|
|
35
35
|
// Consume context from <PressResponder> and merge with props.
|
|
36
36
|
let context = (0, $7mdmh$useContext)((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5));
|
|
37
37
|
if (context) {
|
|
38
|
-
|
|
38
|
+
// Prevent mergeProps from merging ref.
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
40
|
+
let { register: register, ref: ref, ...contextProps } = context;
|
|
39
41
|
props = (0, $7mdmh$mergeProps)(contextProps, props);
|
|
40
42
|
register();
|
|
41
43
|
}
|
|
@@ -83,6 +85,7 @@ class $f6c31cce2adf654f$var$PressEvent {
|
|
|
83
85
|
this.altKey = originalEvent.altKey;
|
|
84
86
|
this.x = x;
|
|
85
87
|
this.y = y;
|
|
88
|
+
this.key = originalEvent.key;
|
|
86
89
|
}
|
|
87
90
|
}
|
|
88
91
|
const $f6c31cce2adf654f$var$LINK_CLICKED = Symbol('linkClicked');
|
|
@@ -226,7 +229,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
226
229
|
var _state_metaKeyEvents1;
|
|
227
230
|
if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard((0, $7mdmh$getEventTarget)(e), e.key)) e.preventDefault();
|
|
228
231
|
let target = (0, $7mdmh$getEventTarget)(e);
|
|
229
|
-
let wasPressed = (0, $7mdmh$nodeContains)(state.target,
|
|
232
|
+
let wasPressed = (0, $7mdmh$nodeContains)(state.target, target);
|
|
230
233
|
triggerPressEndEvent($f6c31cce2adf654f$var$createEvent(state.target, e), 'keyboard', wasPressed);
|
|
231
234
|
if (wasPressed) triggerSyntheticClickEvent(e, state.target);
|
|
232
235
|
removeAllGlobalListeners();
|
|
@@ -300,7 +303,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
300
303
|
}, 80);
|
|
301
304
|
// Use a capturing listener to track if a click occurred.
|
|
302
305
|
// If stopPropagation is called it may never reach our handler.
|
|
303
|
-
addGlobalListener(e.currentTarget, 'click', ()=>clicked = true, true);
|
|
306
|
+
if (e.currentTarget) addGlobalListener(e.currentTarget, 'click', ()=>clicked = true, true);
|
|
304
307
|
state.disposables.push(()=>clearTimeout(timeout));
|
|
305
308
|
} else cancelEvent(e);
|
|
306
309
|
// Ignore subsequent onPointerLeave event before onClick on touch devices.
|
|
@@ -324,7 +327,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
324
327
|
state.ignoreEmulatedMouseEvents = false;
|
|
325
328
|
return;
|
|
326
329
|
}
|
|
327
|
-
if (state.target && state.target
|
|
330
|
+
if (state.target && (0, $7mdmh$nodeContains)(state.target, e.target) && state.pointerType != null) ;
|
|
328
331
|
else cancelEvent(e);
|
|
329
332
|
state.isOverTarget = false;
|
|
330
333
|
};
|
|
@@ -356,9 +359,9 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
356
359
|
let state = ref.current;
|
|
357
360
|
let pressProps = {
|
|
358
361
|
onKeyDown (e) {
|
|
359
|
-
if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && (0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
362
|
+
if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && (0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) {
|
|
360
363
|
var _state_metaKeyEvents;
|
|
361
|
-
if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard((0, $7mdmh$getEventTarget)(e
|
|
364
|
+
if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard((0, $7mdmh$getEventTarget)(e), e.key)) e.preventDefault();
|
|
362
365
|
// If the event is repeating, it may have started on a different element
|
|
363
366
|
// after which focus moved to the current element. Ignore these events and
|
|
364
367
|
// only handle the first key down event.
|
|
@@ -382,7 +385,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
382
385
|
} else if (e.key === 'Meta') state.metaKeyEvents = new Map();
|
|
383
386
|
},
|
|
384
387
|
onClick (e) {
|
|
385
|
-
if (e && !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
388
|
+
if (e && !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
386
389
|
if (e && e.button === 0 && !state.isTriggeringEvent && !(0, $7mdmh$openLink).isOpening) {
|
|
387
390
|
let shouldStopPropagation = true;
|
|
388
391
|
if (isDisabled) e.preventDefault();
|
|
@@ -411,7 +414,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
411
414
|
if (typeof PointerEvent !== 'undefined') {
|
|
412
415
|
pressProps.onPointerDown = (e)=>{
|
|
413
416
|
// Only handle left clicks, and ignore events that bubbled through portals.
|
|
414
|
-
if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
417
|
+
if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
415
418
|
// iOS safari fires pointer events from VoiceOver with incorrect coordinates/target.
|
|
416
419
|
// Ignore and let the onClick handler take care of it instead.
|
|
417
420
|
// https://bugs.webkit.org/show_bug.cgi?id=222627
|
|
@@ -432,13 +435,17 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
432
435
|
shouldStopPropagation = triggerPressStart(e, state.pointerType);
|
|
433
436
|
// Release pointer capture so that touch interactions can leave the original target.
|
|
434
437
|
// This enables onPointerLeave and onPointerEnter to fire.
|
|
435
|
-
let target = (0, $7mdmh$getEventTarget)(e
|
|
436
|
-
if ('releasePointerCapture' in target)
|
|
438
|
+
let target = (0, $7mdmh$getEventTarget)(e);
|
|
439
|
+
if ('releasePointerCapture' in target) {
|
|
440
|
+
if ('hasPointerCapture' in target) {
|
|
441
|
+
if (target.hasPointerCapture(e.pointerId)) target.releasePointerCapture(e.pointerId);
|
|
442
|
+
} else target.releasePointerCapture(e.pointerId);
|
|
443
|
+
}
|
|
437
444
|
}
|
|
438
445
|
if (shouldStopPropagation) e.stopPropagation();
|
|
439
446
|
};
|
|
440
447
|
pressProps.onMouseDown = (e)=>{
|
|
441
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
448
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
442
449
|
if (e.button === 0) {
|
|
443
450
|
if (preventFocusOnPress) {
|
|
444
451
|
let dispose = (0, $8a9cb279dc87e130$export$cabe61c495ee3649)(e.target);
|
|
@@ -449,7 +456,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
449
456
|
};
|
|
450
457
|
pressProps.onPointerUp = (e)=>{
|
|
451
458
|
// iOS fires pointerup with zero width and height, so check the pointerType recorded during pointerdown.
|
|
452
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
459
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e)) || state.pointerType === 'virtual') return;
|
|
453
460
|
// Only handle left clicks. If isPressed is true, delay until onClick.
|
|
454
461
|
if (e.button === 0 && !state.isPressed) triggerPressUp(e, state.pointerType || e.pointerType);
|
|
455
462
|
};
|
|
@@ -467,7 +474,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
467
474
|
}
|
|
468
475
|
};
|
|
469
476
|
pressProps.onDragStart = (e)=>{
|
|
470
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
477
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
471
478
|
// Safari does not call onPointerCancel when a drag starts, whereas Chrome and Firefox do.
|
|
472
479
|
cancel(e);
|
|
473
480
|
};
|
|
@@ -476,7 +483,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
476
483
|
// All browsers now support pointer events, but JSDOM still does not.
|
|
477
484
|
pressProps.onMouseDown = (e)=>{
|
|
478
485
|
// Only handle left clicks
|
|
479
|
-
if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
486
|
+
if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
480
487
|
if (state.ignoreEmulatedMouseEvents) {
|
|
481
488
|
e.stopPropagation();
|
|
482
489
|
return;
|
|
@@ -495,7 +502,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
495
502
|
}
|
|
496
503
|
};
|
|
497
504
|
pressProps.onMouseEnter = (e)=>{
|
|
498
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
505
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
499
506
|
let shouldStopPropagation = true;
|
|
500
507
|
if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {
|
|
501
508
|
state.isOverTarget = true;
|
|
@@ -504,7 +511,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
504
511
|
if (shouldStopPropagation) e.stopPropagation();
|
|
505
512
|
};
|
|
506
513
|
pressProps.onMouseLeave = (e)=>{
|
|
507
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
514
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
508
515
|
let shouldStopPropagation = true;
|
|
509
516
|
if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {
|
|
510
517
|
state.isOverTarget = false;
|
|
@@ -514,11 +521,11 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
514
521
|
if (shouldStopPropagation) e.stopPropagation();
|
|
515
522
|
};
|
|
516
523
|
pressProps.onMouseUp = (e)=>{
|
|
517
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
524
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
518
525
|
if (!state.ignoreEmulatedMouseEvents && e.button === 0 && !state.isPressed) triggerPressUp(e, state.pointerType || 'mouse');
|
|
519
526
|
};
|
|
520
527
|
pressProps.onTouchStart = (e)=>{
|
|
521
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
528
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
522
529
|
let touch = $f6c31cce2adf654f$var$getTouchFromEvent(e.nativeEvent);
|
|
523
530
|
if (!touch) return;
|
|
524
531
|
state.activePointerId = touch.identifier;
|
|
@@ -533,7 +540,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
533
540
|
if (shouldStopPropagation) e.stopPropagation();
|
|
534
541
|
};
|
|
535
542
|
pressProps.onTouchMove = (e)=>{
|
|
536
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
543
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
537
544
|
if (!state.isPressed) {
|
|
538
545
|
e.stopPropagation();
|
|
539
546
|
return;
|
|
@@ -553,7 +560,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
553
560
|
if (shouldStopPropagation) e.stopPropagation();
|
|
554
561
|
};
|
|
555
562
|
pressProps.onTouchEnd = (e)=>{
|
|
556
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
563
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
557
564
|
if (!state.isPressed) {
|
|
558
565
|
e.stopPropagation();
|
|
559
566
|
return;
|
|
@@ -575,12 +582,12 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
|
|
|
575
582
|
removeAllGlobalListeners();
|
|
576
583
|
};
|
|
577
584
|
pressProps.onTouchCancel = (e)=>{
|
|
578
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
585
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
579
586
|
e.stopPropagation();
|
|
580
587
|
if (state.isPressed) cancel($f6c31cce2adf654f$var$createTouchEvent(state.target, e));
|
|
581
588
|
};
|
|
582
589
|
pressProps.onDragStart = (e)=>{
|
|
583
|
-
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e
|
|
590
|
+
if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e))) return;
|
|
584
591
|
cancel(e);
|
|
585
592
|
};
|
|
586
593
|
}
|
|
@@ -690,7 +697,8 @@ function $f6c31cce2adf654f$var$createEvent(target, e) {
|
|
|
690
697
|
metaKey: e.metaKey,
|
|
691
698
|
altKey: e.altKey,
|
|
692
699
|
clientX: clientX,
|
|
693
|
-
clientY: clientY
|
|
700
|
+
clientY: clientY,
|
|
701
|
+
key: e.key
|
|
694
702
|
};
|
|
695
703
|
}
|
|
696
704
|
function $f6c31cce2adf654f$var$getPointClientRect(point) {
|