@react-native-oh-tpl/react-native-gesture-handler 2.12.6-1 → 2.12.6-2
Sign up to get free protection for your applications and to get access to all the features.
- package/harmony/gesture_handler/LICENSE +21 -0
- package/harmony/gesture_handler/OAT.xml +44 -0
- package/harmony/gesture_handler/README.OpenSource +11 -0
- package/harmony/gesture_handler/README.md +1 -0
- package/harmony/gesture_handler/build-profile.json5 +7 -7
- package/harmony/gesture_handler/hvigorfile.ts +2 -2
- package/harmony/gesture_handler/index.ets +2 -2
- package/harmony/gesture_handler/oh-package.json5 +13 -11
- package/harmony/gesture_handler/src/main/cpp/CMakeLists.txt +8 -8
- package/harmony/gesture_handler/src/main/cpp/GestureHandlerPackage.cpp +33 -33
- package/harmony/gesture_handler/src/main/cpp/GestureHandlerPackage.h +14 -14
- package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerButtonComponentDescriptor.h +60 -60
- package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.cpp +17 -17
- package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.h +11 -11
- package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerRootViewComponentDescriptor.h +60 -60
- package/harmony/gesture_handler/src/main/ets/CircularBuffer.ts +42 -42
- package/harmony/gesture_handler/src/main/ets/Event.ts +67 -67
- package/harmony/gesture_handler/src/main/ets/EventDispatcher.ts +37 -37
- package/harmony/gesture_handler/src/main/ets/GestureHandler.ts +663 -663
- package/harmony/gesture_handler/src/main/ets/GestureHandlerArkUIAdapter.ets +201 -201
- package/harmony/gesture_handler/src/main/ets/GestureHandlerFactory.ts +44 -44
- package/harmony/gesture_handler/src/main/ets/GestureHandlerOrchestrator.ts +280 -280
- package/harmony/gesture_handler/src/main/ets/GestureHandlerPackage.ts +22 -22
- package/harmony/gesture_handler/src/main/ets/GestureHandlerRegistry.ts +27 -27
- package/harmony/gesture_handler/src/main/ets/InteractionManager.ts +108 -108
- package/harmony/gesture_handler/src/main/ets/LeastSquareSolver.ts +182 -182
- package/harmony/gesture_handler/src/main/ets/NativeViewGestureHandler.ts +114 -114
- package/harmony/gesture_handler/src/main/ets/OutgoingEvent.ts +33 -33
- package/harmony/gesture_handler/src/main/ets/PanGestureHandler.ts +327 -327
- package/harmony/gesture_handler/src/main/ets/PointerTracker.ts +239 -239
- package/harmony/gesture_handler/src/main/ets/RNGHError.ts +4 -4
- package/harmony/gesture_handler/src/main/ets/RNGHLogger.ts +28 -28
- package/harmony/gesture_handler/src/main/ets/RNGHRootTouchHandler.ets +57 -57
- package/harmony/gesture_handler/src/main/ets/RNGestureHandlerButton.ets +36 -36
- package/harmony/gesture_handler/src/main/ets/RNGestureHandlerModule.ts +125 -125
- package/harmony/gesture_handler/src/main/ets/RNGestureHandlerRootView.ets +56 -55
- package/harmony/gesture_handler/src/main/ets/RNOHScrollLocker.ts +10 -10
- package/harmony/gesture_handler/src/main/ets/State.ts +46 -46
- package/harmony/gesture_handler/src/main/ets/TapGestureHandler.ts +205 -205
- package/harmony/gesture_handler/src/main/ets/Vector2D.ts +36 -36
- package/harmony/gesture_handler/src/main/ets/VelocityTracker.ts +98 -98
- package/harmony/gesture_handler/src/main/ets/View.ts +70 -70
- package/harmony/gesture_handler/src/main/ets/ViewRegistry.ts +42 -42
- package/harmony/gesture_handler/src/main/ets/pages/Index.ets +16 -16
- package/harmony/gesture_handler/src/main/ets/webviewability/WebviewAbility.ts +41 -41
- package/harmony/gesture_handler/src/main/module.json5 +6 -6
- package/harmony/gesture_handler/src/main/resources/base/element/color.json +7 -7
- package/harmony/gesture_handler/src/main/resources/base/element/string.json +15 -15
- package/harmony/gesture_handler/src/main/resources/base/profile/main_pages.json +5 -5
- package/harmony/gesture_handler/src/main/resources/en_US/element/string.json +15 -15
- package/harmony/gesture_handler/src/main/resources/zh_CN/element/string.json +15 -15
- package/harmony/gesture_handler.har +0 -0
- package/lib/commonjs/components/touchables/GenericTouchable.js +9 -9
- package/lib/commonjs/components/touchables/TouchableOpacity.js +2 -2
- package/lib/commonjs/handlers/createNativeWrapper.js +6 -6
- package/lib/commonjs/handlers/gestures/GestureDetector.js +3 -3
- package/lib/module/components/touchables/GenericTouchable.js +9 -9
- package/lib/module/components/touchables/TouchableOpacity.js +2 -2
- package/lib/module/handlers/createNativeWrapper.js +6 -6
- package/lib/module/handlers/gestures/GestureDetector.js +3 -3
- package/package.json +70 -70
- package/src/RNGestureHandlerModule.ts +6 -6
- package/src/components/GestureButtons.tsx +334 -334
- package/src/components/GestureHandlerButton.tsx +5 -5
- package/src/components/GestureHandlerRootView.tsx +34 -34
- package/src/components/RNGestureHandlerButton.tsx +23 -23
- package/src/components/touchables/GenericTouchable.tsx +301 -301
- package/src/components/touchables/TouchableOpacity.tsx +76 -76
- package/src/components/touchables/TouchableWithoutFeedback.tsx +14 -14
- package/src/components/touchables/index.ts +7 -7
- package/src/handlers/NativeViewGestureHandler.ts +55 -55
- package/src/handlers/PanGestureHandler.ts +327 -327
- package/src/handlers/TapGestureHandler.ts +95 -95
- package/src/handlers/createHandler.tsx +535 -535
- package/src/handlers/createNativeWrapper.tsx +81 -81
- package/src/handlers/gestureHandlerCommon.ts +15 -15
- package/src/handlers/gestures/GestureDetector.tsx +823 -823
- package/src/index.ts +172 -172
- package/src/init.ts +18 -18
@@ -1,81 +1,81 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import { useImperativeHandle, useRef } from 'react';
|
3
|
-
|
4
|
-
import {
|
5
|
-
NativeViewGestureHandler,
|
6
|
-
NativeViewGestureHandlerProps,
|
7
|
-
nativeViewProps,
|
8
|
-
} from './NativeViewGestureHandler';
|
9
|
-
|
10
|
-
/*
|
11
|
-
* This array should consist of:
|
12
|
-
* - All keys in propTypes from NativeGestureHandler
|
13
|
-
* (and all keys in GestureHandlerPropTypes)
|
14
|
-
* - 'onGestureHandlerEvent'
|
15
|
-
* - 'onGestureHandlerStateChange'
|
16
|
-
*/
|
17
|
-
const NATIVE_WRAPPER_PROPS_FILTER = [
|
18
|
-
...nativeViewProps,
|
19
|
-
'onGestureHandlerEvent',
|
20
|
-
'onGestureHandlerStateChange',
|
21
|
-
] as const;
|
22
|
-
|
23
|
-
export default function createNativeWrapper<P>(
|
24
|
-
Component: React.ComponentType<P>,
|
25
|
-
config: Readonly<NativeViewGestureHandlerProps> = {}
|
26
|
-
) {
|
27
|
-
const ComponentWrapper = React.forwardRef<
|
28
|
-
React.ComponentType<any>,
|
29
|
-
P & NativeViewGestureHandlerProps
|
30
|
-
>((props, ref) => {
|
31
|
-
// filter out props that should be passed to gesture handler wrapper
|
32
|
-
const gestureHandlerProps = Object.keys(props).reduce(
|
33
|
-
(res, key) => {
|
34
|
-
// TS being overly protective with it's types, see https://github.com/microsoft/TypeScript/issues/26255#issuecomment-458013731 for more info
|
35
|
-
const allowedKeys: readonly string[] = NATIVE_WRAPPER_PROPS_FILTER;
|
36
|
-
if (allowedKeys.includes(key)) {
|
37
|
-
// @ts-ignore FIXME(TS)
|
38
|
-
res[key] = props[key];
|
39
|
-
}
|
40
|
-
return res;
|
41
|
-
},
|
42
|
-
{ ...config } // watch out not to modify config
|
43
|
-
);
|
44
|
-
const _ref = useRef<React.ComponentType<P>>();
|
45
|
-
const _gestureHandlerRef = useRef<React.ComponentType<P>>();
|
46
|
-
useImperativeHandle(
|
47
|
-
ref,
|
48
|
-
// @ts-ignore TODO(TS) decide how nulls work in this context
|
49
|
-
() => {
|
50
|
-
const node = _gestureHandlerRef.current;
|
51
|
-
// add handlerTag for relations config
|
52
|
-
if (_ref.current && node) {
|
53
|
-
// @ts-ignore FIXME(TS) think about createHandler return type
|
54
|
-
_ref.current.handlerTag = node.handlerTag;
|
55
|
-
return _ref.current;
|
56
|
-
}
|
57
|
-
return null;
|
58
|
-
},
|
59
|
-
[_ref, _gestureHandlerRef]
|
60
|
-
);
|
61
|
-
return (
|
62
|
-
<NativeViewGestureHandler
|
63
|
-
{...gestureHandlerProps}
|
64
|
-
// @ts-ignore TODO(TS)
|
65
|
-
ref={_gestureHandlerRef}
|
66
|
-
>
|
67
|
-
<Component {...props} ref={_ref} />
|
68
|
-
</NativeViewGestureHandler>
|
69
|
-
);
|
70
|
-
});
|
71
|
-
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
73
|
-
ComponentWrapper.displayName =
|
74
|
-
Component?.displayName ||
|
75
|
-
// @ts-ignore if render doesn't exist it will return undefined and go further
|
76
|
-
Component?.render?.name ||
|
77
|
-
(typeof Component === 'string' && Component) ||
|
78
|
-
'ComponentWrapper';
|
79
|
-
|
80
|
-
return ComponentWrapper;
|
81
|
-
}
|
1
|
+
import * as React from 'react';
|
2
|
+
import { useImperativeHandle, useRef } from 'react';
|
3
|
+
|
4
|
+
import {
|
5
|
+
NativeViewGestureHandler,
|
6
|
+
NativeViewGestureHandlerProps,
|
7
|
+
nativeViewProps,
|
8
|
+
} from './NativeViewGestureHandler';
|
9
|
+
|
10
|
+
/*
|
11
|
+
* This array should consist of:
|
12
|
+
* - All keys in propTypes from NativeGestureHandler
|
13
|
+
* (and all keys in GestureHandlerPropTypes)
|
14
|
+
* - 'onGestureHandlerEvent'
|
15
|
+
* - 'onGestureHandlerStateChange'
|
16
|
+
*/
|
17
|
+
const NATIVE_WRAPPER_PROPS_FILTER = [
|
18
|
+
...nativeViewProps,
|
19
|
+
'onGestureHandlerEvent',
|
20
|
+
'onGestureHandlerStateChange',
|
21
|
+
] as const;
|
22
|
+
|
23
|
+
export default function createNativeWrapper<P>(
|
24
|
+
Component: React.ComponentType<P>,
|
25
|
+
config: Readonly<NativeViewGestureHandlerProps> = {}
|
26
|
+
) {
|
27
|
+
const ComponentWrapper = React.forwardRef<
|
28
|
+
React.ComponentType<any>,
|
29
|
+
P & NativeViewGestureHandlerProps
|
30
|
+
>((props, ref) => {
|
31
|
+
// filter out props that should be passed to gesture handler wrapper
|
32
|
+
const gestureHandlerProps = Object.keys(props).reduce(
|
33
|
+
(res, key) => {
|
34
|
+
// TS being overly protective with it's types, see https://github.com/microsoft/TypeScript/issues/26255#issuecomment-458013731 for more info
|
35
|
+
const allowedKeys: readonly string[] = NATIVE_WRAPPER_PROPS_FILTER;
|
36
|
+
if (allowedKeys.includes(key)) {
|
37
|
+
// @ts-ignore FIXME(TS)
|
38
|
+
res[key] = props[key];
|
39
|
+
}
|
40
|
+
return res;
|
41
|
+
},
|
42
|
+
{ ...config } // watch out not to modify config
|
43
|
+
);
|
44
|
+
const _ref = useRef<React.ComponentType<P>>();
|
45
|
+
const _gestureHandlerRef = useRef<React.ComponentType<P>>();
|
46
|
+
useImperativeHandle(
|
47
|
+
ref,
|
48
|
+
// @ts-ignore TODO(TS) decide how nulls work in this context
|
49
|
+
() => {
|
50
|
+
const node = _gestureHandlerRef.current;
|
51
|
+
// add handlerTag for relations config
|
52
|
+
if (_ref.current && node) {
|
53
|
+
// @ts-ignore FIXME(TS) think about createHandler return type
|
54
|
+
_ref.current.handlerTag = node.handlerTag;
|
55
|
+
return _ref.current;
|
56
|
+
}
|
57
|
+
return null;
|
58
|
+
},
|
59
|
+
[_ref, _gestureHandlerRef]
|
60
|
+
);
|
61
|
+
return (
|
62
|
+
<NativeViewGestureHandler
|
63
|
+
{...gestureHandlerProps}
|
64
|
+
// @ts-ignore TODO(TS)
|
65
|
+
ref={_gestureHandlerRef}
|
66
|
+
>
|
67
|
+
<Component {...props} ref={_ref} />
|
68
|
+
</NativeViewGestureHandler>
|
69
|
+
);
|
70
|
+
});
|
71
|
+
|
72
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
73
|
+
ComponentWrapper.displayName =
|
74
|
+
Component?.displayName ||
|
75
|
+
// @ts-ignore if render doesn't exist it will return undefined and go further
|
76
|
+
Component?.render?.name ||
|
77
|
+
(typeof Component === 'string' && Component) ||
|
78
|
+
'ComponentWrapper';
|
79
|
+
|
80
|
+
return ComponentWrapper;
|
81
|
+
}
|
@@ -1,15 +1,15 @@
|
|
1
|
-
import { RNGestureHandlerModule } from '../RNGestureHandlerModule'; // RNGH: patch
|
2
|
-
|
3
|
-
let flushOperationsScheduled = false;
|
4
|
-
|
5
|
-
export function scheduleFlushOperations() {
|
6
|
-
if (!flushOperationsScheduled) {
|
7
|
-
flushOperationsScheduled = true;
|
8
|
-
queueMicrotask(() => {
|
9
|
-
if (RNGestureHandlerModule) {
|
10
|
-
RNGestureHandlerModule.flushOperations();
|
11
|
-
}
|
12
|
-
flushOperationsScheduled = false;
|
13
|
-
});
|
14
|
-
}
|
15
|
-
}
|
1
|
+
import { RNGestureHandlerModule } from '../RNGestureHandlerModule'; // RNGH: patch
|
2
|
+
|
3
|
+
let flushOperationsScheduled = false;
|
4
|
+
|
5
|
+
export function scheduleFlushOperations() {
|
6
|
+
if (!flushOperationsScheduled) {
|
7
|
+
flushOperationsScheduled = true;
|
8
|
+
queueMicrotask(() => {
|
9
|
+
if (RNGestureHandlerModule) {
|
10
|
+
RNGestureHandlerModule.flushOperations();
|
11
|
+
}
|
12
|
+
flushOperationsScheduled = false;
|
13
|
+
});
|
14
|
+
}
|
15
|
+
}
|