@react-native-oh-tpl/react-native-gesture-handler 2.12.6-1 → 2.12.6-2
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/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
|
+
}
|