react-native-gesture-handler 2.4.0 → 2.5.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +3 -2
- package/android/build.gradle +28 -4
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.kt +9 -5
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +6 -1
- package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +103 -22
- package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.kt +29 -2
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +74 -84
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +4 -0
- package/android/src/main/jni/Android.mk +1 -2
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +12 -9
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +1 -0
- package/ios/Handlers/RNFlingHandler.m +43 -1
- package/ios/Handlers/{RNNativeViewHandler.m → RNNativeViewHandler.mm} +13 -1
- package/ios/Handlers/RNPanHandler.m +27 -0
- package/ios/RNGestureHandler.h +1 -0
- package/ios/RNGestureHandler.m +22 -4
- package/ios/RNGestureHandlerManager.mm +10 -2
- package/ios/RNGestureHandlerModule.mm +4 -1
- package/ios/RNManualActivationRecognizer.m +10 -3
- package/ios/RNRootViewGestureRecognizer.m +12 -1
- package/lib/commonjs/RNGestureHandlerModule.macos.js +81 -0
- package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -0
- package/lib/commonjs/components/DrawerLayout.js +38 -11
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js +4 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/fabric/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +2 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +14 -0
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +12 -0
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -0
- package/lib/commonjs/handlers/createHandler.js +25 -11
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector.js +83 -63
- package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +13 -2
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +13 -9
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +5 -0
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
- package/lib/commonjs/mocks.js +2 -0
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/utils.js +6 -3
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.macos.js +57 -0
- package/lib/module/RNGestureHandlerModule.macos.js.map +1 -0
- package/lib/module/components/DrawerLayout.js +38 -11
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchable.js +4 -1
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/fabric/RNGestureHandlerButtonNativeComponent.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +1 -1
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PressabilityDebugView.js +3 -0
- package/lib/module/handlers/PressabilityDebugView.js.map +1 -0
- package/lib/module/handlers/PressabilityDebugView.web.js +5 -0
- package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -0
- package/lib/module/handlers/createHandler.js +26 -12
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector.js +83 -63
- package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +13 -2
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +13 -9
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
- package/lib/module/handlers/gestures/panGesture.js +5 -0
- package/lib/module/handlers/gestures/panGesture.js.map +1 -1
- package/lib/module/mocks.js +2 -0
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/utils.js +2 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/utils.js.map +1 -1
- package/lib/typescript/RNGestureHandlerModule.macos.d.ts +34 -0
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
- package/lib/typescript/components/DrawerLayout.d.ts +3 -0
- package/lib/typescript/components/GestureButtons.d.ts +6 -0
- package/lib/typescript/fabric/RNGestureHandlerButtonNativeComponent.d.ts +1 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +2 -2
- package/lib/typescript/handlers/PanGestureHandler.d.ts +2 -1
- package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -0
- package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +1 -0
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector.d.ts +2 -1
- package/lib/typescript/handlers/gestures/gesture.d.ts +3 -0
- package/lib/typescript/handlers/gestures/panGesture.d.ts +1 -0
- package/lib/typescript/mocks.d.ts +1 -0
- package/lib/typescript/web/NodeManager.d.ts +2 -2
- package/package.json +1 -1
- package/src/RNGestureHandlerModule.macos.ts +62 -0
- package/src/components/DrawerLayout.tsx +34 -10
- package/src/components/GestureButtons.tsx +7 -0
- package/src/components/touchables/GenericTouchable.tsx +1 -0
- package/src/fabric/RNGestureHandlerButtonNativeComponent.ts +1 -0
- package/src/handlers/ForceTouchGestureHandler.ts +3 -2
- package/src/handlers/PanGestureHandler.ts +2 -0
- package/src/handlers/PressabilityDebugView.tsx +2 -0
- package/src/handlers/PressabilityDebugView.web.tsx +4 -0
- package/src/handlers/{createHandler.ts → createHandler.tsx} +32 -17
- package/src/handlers/gestureHandlerCommon.ts +2 -0
- package/src/handlers/gestures/GestureDetector.tsx +107 -81
- package/src/handlers/gestures/gesture.ts +16 -0
- package/src/handlers/gestures/gestureStateManager.ts +13 -8
- package/src/handlers/gestures/panGesture.ts +5 -0
- package/src/mocks.ts +2 -0
- package/src/utils.ts +3 -1
- package/src/web/utils.ts +1 -1
- package/ios/RNGestureHandler.xcodeproj/project.xcworkspace/xcuserdata/jakubpiasecki.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/RNGestureHandler.xcodeproj/xcuserdata/jakubpiasecki.xcuserdatad/xcschemes/xcschememanagement.plist +0 -19
@@ -126,6 +126,8 @@ export type BaseGestureHandlerProps<
|
|
126
126
|
onHandlerStateChange?: (
|
127
127
|
event: HandlerStateChangeEvent<ExtraEventPayloadT>
|
128
128
|
) => void;
|
129
|
+
// implicit `children` prop has been removed in @types/react^18.0.0
|
130
|
+
children?: React.ReactNode;
|
129
131
|
};
|
130
132
|
|
131
133
|
function isConfigParam(param: unknown, name: string) {
|
@@ -268,11 +268,34 @@ function updateHandlers(
|
|
268
268
|
}
|
269
269
|
|
270
270
|
if (preparedGesture.animatedHandlers) {
|
271
|
-
|
271
|
+
const previousHandlersValue =
|
272
|
+
preparedGesture.animatedHandlers.value ?? [];
|
273
|
+
const newHandlersValue = (preparedGesture.config
|
272
274
|
.filter((g) => g.shouldUseReanimated) // ignore gestures that shouldn't run on UI
|
273
275
|
.map((g) => g.handlers) as unknown) as HandlerCallbacks<
|
274
276
|
Record<string, unknown>
|
275
277
|
>[];
|
278
|
+
|
279
|
+
// if amount of gesture configs changes, we need to update the callbacks in shared value
|
280
|
+
let shouldUpdateSharedValue =
|
281
|
+
previousHandlersValue.length !== newHandlersValue.length;
|
282
|
+
|
283
|
+
if (!shouldUpdateSharedValue) {
|
284
|
+
// if the amount is the same, we need to check if any of the configs inside has changed
|
285
|
+
for (let i = 0; i < newHandlersValue.length; i++) {
|
286
|
+
if (
|
287
|
+
// we can use the `gestureId` prop as it's unique for every config instance
|
288
|
+
newHandlersValue[i].gestureId !== previousHandlersValue[i].gestureId
|
289
|
+
) {
|
290
|
+
shouldUpdateSharedValue = true;
|
291
|
+
break;
|
292
|
+
}
|
293
|
+
}
|
294
|
+
}
|
295
|
+
|
296
|
+
if (shouldUpdateSharedValue) {
|
297
|
+
preparedGesture.animatedHandlers.value = newHandlersValue;
|
298
|
+
}
|
276
299
|
}
|
277
300
|
|
278
301
|
scheduleFlushOperations();
|
@@ -299,90 +322,90 @@ function needsToReattach(
|
|
299
322
|
return false;
|
300
323
|
}
|
301
324
|
|
302
|
-
function
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
325
|
+
function isStateChangeEvent(
|
326
|
+
event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent
|
327
|
+
): event is GestureStateChangeEvent {
|
328
|
+
'worklet';
|
329
|
+
// @ts-ignore Yes, the oldState prop is missing on GestureTouchEvent, that's the point
|
330
|
+
return event.oldState != null;
|
331
|
+
}
|
309
332
|
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
}
|
333
|
+
function isTouchEvent(
|
334
|
+
event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent
|
335
|
+
): event is GestureTouchEvent {
|
336
|
+
'worklet';
|
337
|
+
return event.eventType != null;
|
338
|
+
}
|
317
339
|
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
340
|
+
function getHandler(
|
341
|
+
type: CALLBACK_TYPE,
|
342
|
+
gesture: HandlerCallbacks<Record<string, unknown>>
|
343
|
+
) {
|
344
|
+
'worklet';
|
345
|
+
switch (type) {
|
346
|
+
case CALLBACK_TYPE.BEGAN:
|
347
|
+
return gesture.onBegin;
|
348
|
+
case CALLBACK_TYPE.START:
|
349
|
+
return gesture.onStart;
|
350
|
+
case CALLBACK_TYPE.UPDATE:
|
351
|
+
return gesture.onUpdate;
|
352
|
+
case CALLBACK_TYPE.CHANGE:
|
353
|
+
return gesture.onChange;
|
354
|
+
case CALLBACK_TYPE.END:
|
355
|
+
return gesture.onEnd;
|
356
|
+
case CALLBACK_TYPE.FINALIZE:
|
357
|
+
return gesture.onFinalize;
|
358
|
+
case CALLBACK_TYPE.TOUCHES_DOWN:
|
359
|
+
return gesture.onTouchesDown;
|
360
|
+
case CALLBACK_TYPE.TOUCHES_MOVE:
|
361
|
+
return gesture.onTouchesMove;
|
362
|
+
case CALLBACK_TYPE.TOUCHES_UP:
|
363
|
+
return gesture.onTouchesUp;
|
364
|
+
case CALLBACK_TYPE.TOUCHES_CANCELLED:
|
365
|
+
return gesture.onTouchesCancelled;
|
323
366
|
}
|
367
|
+
}
|
324
368
|
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
return gesture.onChange;
|
339
|
-
case CALLBACK_TYPE.END:
|
340
|
-
return gesture.onEnd;
|
341
|
-
case CALLBACK_TYPE.FINALIZE:
|
342
|
-
return gesture.onFinalize;
|
343
|
-
case CALLBACK_TYPE.TOUCHES_DOWN:
|
344
|
-
return gesture.onTouchesDown;
|
345
|
-
case CALLBACK_TYPE.TOUCHES_MOVE:
|
346
|
-
return gesture.onTouchesMove;
|
347
|
-
case CALLBACK_TYPE.TOUCHES_UP:
|
348
|
-
return gesture.onTouchesUp;
|
349
|
-
case CALLBACK_TYPE.TOUCHES_CANCELLED:
|
350
|
-
return gesture.onTouchesCancelled;
|
351
|
-
}
|
369
|
+
function touchEventTypeToCallbackType(
|
370
|
+
eventType: TouchEventType
|
371
|
+
): CALLBACK_TYPE {
|
372
|
+
'worklet';
|
373
|
+
switch (eventType) {
|
374
|
+
case TouchEventType.TOUCHES_DOWN:
|
375
|
+
return CALLBACK_TYPE.TOUCHES_DOWN;
|
376
|
+
case TouchEventType.TOUCHES_MOVE:
|
377
|
+
return CALLBACK_TYPE.TOUCHES_MOVE;
|
378
|
+
case TouchEventType.TOUCHES_UP:
|
379
|
+
return CALLBACK_TYPE.TOUCHES_UP;
|
380
|
+
case TouchEventType.TOUCHES_CANCELLED:
|
381
|
+
return CALLBACK_TYPE.TOUCHES_CANCELLED;
|
352
382
|
}
|
383
|
+
return CALLBACK_TYPE.UNDEFINED;
|
384
|
+
}
|
353
385
|
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
return CALLBACK_TYPE.UNDEFINED;
|
386
|
+
function runWorklet(
|
387
|
+
type: CALLBACK_TYPE,
|
388
|
+
gesture: HandlerCallbacks<Record<string, unknown>>,
|
389
|
+
event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent,
|
390
|
+
...args: any[]
|
391
|
+
) {
|
392
|
+
'worklet';
|
393
|
+
const handler = getHandler(type, gesture);
|
394
|
+
if (gesture.isWorklet[type]) {
|
395
|
+
// @ts-ignore Logic below makes sure the correct event is send to the
|
396
|
+
// correct handler.
|
397
|
+
handler?.(event, ...args);
|
398
|
+
} else if (handler) {
|
399
|
+
console.warn(tagMessage('Animated gesture callback must be a worklet'));
|
369
400
|
}
|
401
|
+
}
|
370
402
|
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
'worklet';
|
378
|
-
const handler = getHandler(type, gesture);
|
379
|
-
if (gesture.isWorklet[type]) {
|
380
|
-
// @ts-ignore Logic below makes sure the correct event is send to the
|
381
|
-
// correct handler.
|
382
|
-
handler?.(event, ...args);
|
383
|
-
} else if (handler) {
|
384
|
-
console.warn(tagMessage('Animated gesture callback must be a worklet'));
|
385
|
-
}
|
403
|
+
function useAnimatedGesture(
|
404
|
+
preparedGesture: GestureConfigReference,
|
405
|
+
needsRebuild: boolean
|
406
|
+
) {
|
407
|
+
if (!Reanimated) {
|
408
|
+
return;
|
386
409
|
}
|
387
410
|
|
388
411
|
// Hooks are called conditionally, but the condition is whether the
|
@@ -490,10 +513,9 @@ function useAnimatedGesture(
|
|
490
513
|
|
491
514
|
interface GestureDetectorProps {
|
492
515
|
gesture?: ComposedGesture | GestureType;
|
516
|
+
children?: React.ReactNode;
|
493
517
|
}
|
494
|
-
export const GestureDetector:
|
495
|
-
props
|
496
|
-
) => {
|
518
|
+
export const GestureDetector = (props: GestureDetectorProps) => {
|
497
519
|
const gestureConfig = props.gesture;
|
498
520
|
const gesture = gestureConfig?.toGestureArray?.() ?? [];
|
499
521
|
const useReanimatedHook = gesture.some((g) => g.shouldUseReanimated);
|
@@ -605,7 +627,11 @@ export const GestureDetector: React.FunctionComponent<GestureDetectorProps> = (
|
|
605
627
|
}
|
606
628
|
};
|
607
629
|
|
608
|
-
class Wrap extends React.Component<{
|
630
|
+
class Wrap extends React.Component<{
|
631
|
+
onGestureHandlerEvent?: unknown;
|
632
|
+
// implicit `children` prop has been removed in @types/react^18.0.0
|
633
|
+
children?: React.ReactNode;
|
634
|
+
}> {
|
609
635
|
render() {
|
610
636
|
// I don't think that fighting with types over such a simple function is worth it
|
611
637
|
// The only thing it does is add 'collapsable: false' to the child component
|
@@ -53,6 +53,7 @@ type TouchEventHandlerType = (
|
|
53
53
|
) => void;
|
54
54
|
|
55
55
|
export type HandlerCallbacks<EventPayloadT extends Record<string, unknown>> = {
|
56
|
+
gestureId: number;
|
56
57
|
handlerTag: number;
|
57
58
|
onBegin?: (event: GestureStateChangeEvent<EventPayloadT>) => void;
|
58
59
|
onStart?: (event: GestureStateChangeEvent<EventPayloadT>) => void;
|
@@ -115,17 +116,32 @@ export abstract class Gesture {
|
|
115
116
|
abstract prepare(): void;
|
116
117
|
}
|
117
118
|
|
119
|
+
let nextGestureId = 0;
|
118
120
|
export abstract class BaseGesture<
|
119
121
|
EventPayloadT extends Record<string, unknown>
|
120
122
|
> extends Gesture {
|
123
|
+
private gestureId = -1;
|
121
124
|
public handlerTag = -1;
|
122
125
|
public handlerName = '';
|
123
126
|
public config: BaseGestureConfig = {};
|
124
127
|
public handlers: HandlerCallbacks<EventPayloadT> = {
|
128
|
+
gestureId: -1,
|
125
129
|
handlerTag: -1,
|
126
130
|
isWorklet: [],
|
127
131
|
};
|
128
132
|
|
133
|
+
constructor() {
|
134
|
+
super();
|
135
|
+
|
136
|
+
// Used to check whether the gesture config has been updated when wrapping it
|
137
|
+
// with `useMemo`. Since every config will have a unique id, when the dependencies
|
138
|
+
// don't change, the config won't be recreated and the id will stay the same.
|
139
|
+
// If the id is different, it means that the config has changed and the gesture
|
140
|
+
// needs to be updated.
|
141
|
+
this.gestureId = nextGestureId++;
|
142
|
+
this.handlers.gestureId = this.gestureId;
|
143
|
+
}
|
144
|
+
|
129
145
|
private addDependency(
|
130
146
|
key: 'simultaneousWith' | 'requireToFail',
|
131
147
|
gesture: Exclude<GestureRef, number>
|
@@ -13,14 +13,19 @@ const warningMessage = tagMessage(
|
|
13
13
|
'react-native-reanimated is required in order to use synchronous state management'
|
14
14
|
);
|
15
15
|
|
16
|
+
// check if reanimated module is available, but look for useSharedValue as conditional
|
17
|
+
// require of reanimated can sometimes return content of `utils.ts` file (?)
|
18
|
+
const REANIMATED_AVAILABLE = Reanimated?.useSharedValue !== undefined;
|
19
|
+
const setGestureState = Reanimated?.setGestureState;
|
20
|
+
|
16
21
|
export const GestureStateManager = {
|
17
22
|
create(handlerTag: number): GestureStateManagerType {
|
18
23
|
'worklet';
|
19
24
|
return {
|
20
25
|
begin: () => {
|
21
26
|
'worklet';
|
22
|
-
if (
|
23
|
-
|
27
|
+
if (REANIMATED_AVAILABLE) {
|
28
|
+
setGestureState(handlerTag, State.BEGAN);
|
24
29
|
} else {
|
25
30
|
console.warn(warningMessage);
|
26
31
|
}
|
@@ -28,8 +33,8 @@ export const GestureStateManager = {
|
|
28
33
|
|
29
34
|
activate: () => {
|
30
35
|
'worklet';
|
31
|
-
if (
|
32
|
-
|
36
|
+
if (REANIMATED_AVAILABLE) {
|
37
|
+
setGestureState(handlerTag, State.ACTIVE);
|
33
38
|
} else {
|
34
39
|
console.warn(warningMessage);
|
35
40
|
}
|
@@ -37,8 +42,8 @@ export const GestureStateManager = {
|
|
37
42
|
|
38
43
|
fail: () => {
|
39
44
|
'worklet';
|
40
|
-
if (
|
41
|
-
|
45
|
+
if (REANIMATED_AVAILABLE) {
|
46
|
+
setGestureState(handlerTag, State.FAILED);
|
42
47
|
} else {
|
43
48
|
console.warn(warningMessage);
|
44
49
|
}
|
@@ -46,8 +51,8 @@ export const GestureStateManager = {
|
|
46
51
|
|
47
52
|
end: () => {
|
48
53
|
'worklet';
|
49
|
-
if (
|
50
|
-
|
54
|
+
if (REANIMATED_AVAILABLE) {
|
55
|
+
setGestureState(handlerTag, State.END);
|
51
56
|
} else {
|
52
57
|
console.warn(warningMessage);
|
53
58
|
}
|
@@ -131,6 +131,11 @@ export class PanGesture extends ContinousBaseGesture<
|
|
131
131
|
return this;
|
132
132
|
}
|
133
133
|
|
134
|
+
activateAfterLongPress(duration: number) {
|
135
|
+
this.config.activateAfterLongPress = duration;
|
136
|
+
return this;
|
137
|
+
}
|
138
|
+
|
134
139
|
onChange(
|
135
140
|
callback: (
|
136
141
|
event: GestureUpdateEvent<
|
package/src/mocks.ts
CHANGED
@@ -21,6 +21,7 @@ const attachGestureHandler = NOOP;
|
|
21
21
|
const createGestureHandler = NOOP;
|
22
22
|
const dropGestureHandler = NOOP;
|
23
23
|
const updateGestureHandler = NOOP;
|
24
|
+
const flushOperations = NOOP;
|
24
25
|
const NativeViewGestureHandler = View;
|
25
26
|
const TapGestureHandler = View;
|
26
27
|
const ForceTouchGestureHandler = View;
|
@@ -59,6 +60,7 @@ export default {
|
|
59
60
|
createGestureHandler,
|
60
61
|
dropGestureHandler,
|
61
62
|
updateGestureHandler,
|
63
|
+
flushOperations,
|
62
64
|
// probably can be removed
|
63
65
|
Directions,
|
64
66
|
State,
|
package/src/utils.ts
CHANGED
package/src/web/utils.ts
CHANGED
Binary file
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
-
<plist version="1.0">
|
4
|
-
<dict>
|
5
|
-
<key>SchemeUserState</key>
|
6
|
-
<dict>
|
7
|
-
<key>RNGestureHandler-tvOS.xcscheme_^#shared#^_</key>
|
8
|
-
<dict>
|
9
|
-
<key>orderHint</key>
|
10
|
-
<integer>1</integer>
|
11
|
-
</dict>
|
12
|
-
<key>RNGestureHandler.xcscheme_^#shared#^_</key>
|
13
|
-
<dict>
|
14
|
-
<key>orderHint</key>
|
15
|
-
<integer>0</integer>
|
16
|
-
</dict>
|
17
|
-
</dict>
|
18
|
-
</dict>
|
19
|
-
</plist>
|