14
} from 'react-reconciler/src/ReactInternalTypes';
15
import type {Container, SuspenseInstance} from '../client/ReactDOMHostConfig';
16
import type {DOMEventName} from '../events/DOMEventNames';
17
+import type {LanePriority} from 'react-reconciler/src/ReactFiberLane.new';
18
19
import {
20
isReplayableDiscreteEvent,
50
51
import {
52
InputContinuousLanePriority as InputContinuousLanePriority_old,
52
- DefaultLanePriority as DefaultLanePriority_old,
53
getCurrentUpdateLanePriority as getCurrentUpdateLanePriority_old,
54
setCurrentUpdateLanePriority as setCurrentUpdateLanePriority_old,
55
} from 'react-reconciler/src/ReactFiberLane.old';
56
import {
57
InputContinuousLanePriority as InputContinuousLanePriority_new,
58
- DefaultLanePriority as DefaultLanePriority_new,
58
getCurrentUpdateLanePriority as getCurrentUpdateLanePriority_new,
59
setCurrentUpdateLanePriority as setCurrentUpdateLanePriority_new,
61
- SyncLanePriority,
62
- IdleLanePriority,
63
- NoLanePriority,
60
} from 'react-reconciler/src/ReactFiberLane.new';
61
import {getCurrentPriorityLevel as getCurrentPriorityLevel_old} from 'react-reconciler/src/SchedulerWithReactIntegration.old';
62
import {
67
NormalPriority as NormalSchedulerPriority,
68
UserBlockingPriority as UserBlockingSchedulerPriority,
69
} from 'react-reconciler/src/SchedulerWithReactIntegration.new';
74
-import type {LanePriority} from 'react-reconciler/src/ReactFiberLane.new';
70
+import {
71
+ DiscreteEventPriority,
72
+ ContinuousEventPriority,
73
+ DefaultEventPriority,
74
+ IdleEventPriority,
75
+} from 'react-reconciler/src/ReactEventPriorities';
76
77
const InputContinuousLanePriority = enableNewReconciler
78
? InputContinuousLanePriority_new
79
: InputContinuousLanePriority_old;
79
-const DefaultLanePriority = enableNewReconciler
80
- ? DefaultLanePriority_new
81
- : DefaultLanePriority_old;
80
const getCurrentUpdateLanePriority = enableNewReconciler
81
? getCurrentUpdateLanePriority_new
82
: getCurrentUpdateLanePriority_old;
92
): LanePriority {
93
switch (schedulerPriorityLevel) {
94
case ImmediateSchedulerPriority:
97
- return SyncLanePriority;
95
+ return DiscreteEventPriority;
96
case UserBlockingSchedulerPriority:
99
- return InputContinuousLanePriority;
97
+ return ContinuousEventPriority;
98
case NormalSchedulerPriority:
99
case LowSchedulerPriority:
100
// TODO: Handle LowSchedulerPriority, somehow. Maybe the same lane as hydration.
103
- return DefaultLanePriority;
101
+ return DefaultEventPriority;
102
case IdleSchedulerPriority:
105
- return IdleLanePriority;
103
+ return IdleEventPriority;
104
default:
107
- return NoLanePriority;
105
+ return DefaultEventPriority;
106
}
107
}
108
140
const eventPriority = getEventPriority(domEventName);
141
let listenerWrapper;
142
switch (eventPriority) {
145
- case SyncLanePriority:
143
+ case DiscreteEventPriority:
144
listenerWrapper = dispatchDiscreteEvent;
145
break;
148
- case InputContinuousLanePriority:
146
+ case ContinuousEventPriority:
147
listenerWrapper = dispatchContinuousEvent;
148
break;
151
- case DefaultLanePriority:
149
+ case DefaultEventPriority:
150
default:
151
listenerWrapper = dispatchEvent;
152
break;
405
case 'popstate':
406
case 'select':
407
case 'selectstart':
410
- return SyncLanePriority;
408
+ return DiscreteEventPriority;
409
case 'drag':
410
case 'dragenter':
411
case 'dragexit':
425
// eslint-disable-next-line no-fallthrough
426
case 'mouseenter':
427
case 'mouseleave':
430
- return InputContinuousLanePriority;
428
+ return ContinuousEventPriority;
429
case 'message': {
430
// We might be in the Scheduler callback.
431
// Eventually this mechanism will be replaced by a check
434
return schedulerPriorityToLanePriority(schedulerPriority);
435
}
436
default:
439
- return DefaultLanePriority;
437
+ return DefaultEventPriority;
438
}
439
}