@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.
Files changed (79) hide show
  1. package/harmony/gesture_handler/LICENSE +21 -0
  2. package/harmony/gesture_handler/OAT.xml +44 -0
  3. package/harmony/gesture_handler/README.OpenSource +11 -0
  4. package/harmony/gesture_handler/README.md +1 -0
  5. package/harmony/gesture_handler/build-profile.json5 +7 -7
  6. package/harmony/gesture_handler/hvigorfile.ts +2 -2
  7. package/harmony/gesture_handler/index.ets +2 -2
  8. package/harmony/gesture_handler/oh-package.json5 +13 -11
  9. package/harmony/gesture_handler/src/main/cpp/CMakeLists.txt +8 -8
  10. package/harmony/gesture_handler/src/main/cpp/GestureHandlerPackage.cpp +33 -33
  11. package/harmony/gesture_handler/src/main/cpp/GestureHandlerPackage.h +14 -14
  12. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerButtonComponentDescriptor.h +60 -60
  13. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.cpp +17 -17
  14. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.h +11 -11
  15. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerRootViewComponentDescriptor.h +60 -60
  16. package/harmony/gesture_handler/src/main/ets/CircularBuffer.ts +42 -42
  17. package/harmony/gesture_handler/src/main/ets/Event.ts +67 -67
  18. package/harmony/gesture_handler/src/main/ets/EventDispatcher.ts +37 -37
  19. package/harmony/gesture_handler/src/main/ets/GestureHandler.ts +663 -663
  20. package/harmony/gesture_handler/src/main/ets/GestureHandlerArkUIAdapter.ets +201 -201
  21. package/harmony/gesture_handler/src/main/ets/GestureHandlerFactory.ts +44 -44
  22. package/harmony/gesture_handler/src/main/ets/GestureHandlerOrchestrator.ts +280 -280
  23. package/harmony/gesture_handler/src/main/ets/GestureHandlerPackage.ts +22 -22
  24. package/harmony/gesture_handler/src/main/ets/GestureHandlerRegistry.ts +27 -27
  25. package/harmony/gesture_handler/src/main/ets/InteractionManager.ts +108 -108
  26. package/harmony/gesture_handler/src/main/ets/LeastSquareSolver.ts +182 -182
  27. package/harmony/gesture_handler/src/main/ets/NativeViewGestureHandler.ts +114 -114
  28. package/harmony/gesture_handler/src/main/ets/OutgoingEvent.ts +33 -33
  29. package/harmony/gesture_handler/src/main/ets/PanGestureHandler.ts +327 -327
  30. package/harmony/gesture_handler/src/main/ets/PointerTracker.ts +239 -239
  31. package/harmony/gesture_handler/src/main/ets/RNGHError.ts +4 -4
  32. package/harmony/gesture_handler/src/main/ets/RNGHLogger.ts +28 -28
  33. package/harmony/gesture_handler/src/main/ets/RNGHRootTouchHandler.ets +57 -57
  34. package/harmony/gesture_handler/src/main/ets/RNGestureHandlerButton.ets +36 -36
  35. package/harmony/gesture_handler/src/main/ets/RNGestureHandlerModule.ts +125 -125
  36. package/harmony/gesture_handler/src/main/ets/RNGestureHandlerRootView.ets +56 -55
  37. package/harmony/gesture_handler/src/main/ets/RNOHScrollLocker.ts +10 -10
  38. package/harmony/gesture_handler/src/main/ets/State.ts +46 -46
  39. package/harmony/gesture_handler/src/main/ets/TapGestureHandler.ts +205 -205
  40. package/harmony/gesture_handler/src/main/ets/Vector2D.ts +36 -36
  41. package/harmony/gesture_handler/src/main/ets/VelocityTracker.ts +98 -98
  42. package/harmony/gesture_handler/src/main/ets/View.ts +70 -70
  43. package/harmony/gesture_handler/src/main/ets/ViewRegistry.ts +42 -42
  44. package/harmony/gesture_handler/src/main/ets/pages/Index.ets +16 -16
  45. package/harmony/gesture_handler/src/main/ets/webviewability/WebviewAbility.ts +41 -41
  46. package/harmony/gesture_handler/src/main/module.json5 +6 -6
  47. package/harmony/gesture_handler/src/main/resources/base/element/color.json +7 -7
  48. package/harmony/gesture_handler/src/main/resources/base/element/string.json +15 -15
  49. package/harmony/gesture_handler/src/main/resources/base/profile/main_pages.json +5 -5
  50. package/harmony/gesture_handler/src/main/resources/en_US/element/string.json +15 -15
  51. package/harmony/gesture_handler/src/main/resources/zh_CN/element/string.json +15 -15
  52. package/harmony/gesture_handler.har +0 -0
  53. package/lib/commonjs/components/touchables/GenericTouchable.js +9 -9
  54. package/lib/commonjs/components/touchables/TouchableOpacity.js +2 -2
  55. package/lib/commonjs/handlers/createNativeWrapper.js +6 -6
  56. package/lib/commonjs/handlers/gestures/GestureDetector.js +3 -3
  57. package/lib/module/components/touchables/GenericTouchable.js +9 -9
  58. package/lib/module/components/touchables/TouchableOpacity.js +2 -2
  59. package/lib/module/handlers/createNativeWrapper.js +6 -6
  60. package/lib/module/handlers/gestures/GestureDetector.js +3 -3
  61. package/package.json +70 -70
  62. package/src/RNGestureHandlerModule.ts +6 -6
  63. package/src/components/GestureButtons.tsx +334 -334
  64. package/src/components/GestureHandlerButton.tsx +5 -5
  65. package/src/components/GestureHandlerRootView.tsx +34 -34
  66. package/src/components/RNGestureHandlerButton.tsx +23 -23
  67. package/src/components/touchables/GenericTouchable.tsx +301 -301
  68. package/src/components/touchables/TouchableOpacity.tsx +76 -76
  69. package/src/components/touchables/TouchableWithoutFeedback.tsx +14 -14
  70. package/src/components/touchables/index.ts +7 -7
  71. package/src/handlers/NativeViewGestureHandler.ts +55 -55
  72. package/src/handlers/PanGestureHandler.ts +327 -327
  73. package/src/handlers/TapGestureHandler.ts +95 -95
  74. package/src/handlers/createHandler.tsx +535 -535
  75. package/src/handlers/createNativeWrapper.tsx +81 -81
  76. package/src/handlers/gestureHandlerCommon.ts +15 -15
  77. package/src/handlers/gestures/GestureDetector.tsx +823 -823
  78. package/src/index.ts +172 -172
  79. package/src/init.ts +18 -18
@@ -1,76 +1,76 @@
1
- import {
2
- Animated,
3
- Easing,
4
- StyleSheet,
5
- View,
6
- TouchableOpacityProps as RNTouchableOpacityProps,
7
- } from 'react-native';
8
- import GenericTouchable, {
9
- TOUCHABLE_STATE,
10
- GenericTouchableProps,
11
- } from './GenericTouchable';
12
- import * as React from 'react';
13
- import { Component } from 'react';
14
-
15
- export type TouchableOpacityProps = RNTouchableOpacityProps &
16
- GenericTouchableProps & {
17
- useNativeAnimations?: boolean;
18
- };
19
-
20
- /**
21
- * TouchableOpacity bases on timing animation which has been used in RN's core
22
- */
23
- export default class TouchableOpacity extends Component<TouchableOpacityProps> {
24
- static defaultProps = {
25
- ...GenericTouchable.defaultProps,
26
- activeOpacity: 0.2,
27
- };
28
-
29
- // opacity is 1 one by default but could be overwritten
30
- getChildStyleOpacityWithDefault = () => {
31
- const childStyle = StyleSheet.flatten(this.props.style) || {};
32
- return childStyle.opacity == null
33
- ? 1
34
- : (childStyle.opacity.valueOf() as number);
35
- };
36
-
37
- opacity = new Animated.Value(this.getChildStyleOpacityWithDefault());
38
-
39
- setOpacityTo = (value: number, duration: number) => {
40
- Animated.timing(this.opacity, {
41
- toValue: value,
42
- duration: duration,
43
- easing: Easing.inOut(Easing.quad),
44
- useNativeDriver: this.props.useNativeAnimations ?? true,
45
- }).start();
46
- };
47
-
48
- onStateChange = (_from: number, to: number) => {
49
- if (to === TOUCHABLE_STATE.BEGAN) {
50
- this.setOpacityTo(this.props.activeOpacity!, 0);
51
- } else if (
52
- to === TOUCHABLE_STATE.UNDETERMINED ||
53
- to === TOUCHABLE_STATE.MOVED_OUTSIDE
54
- ) {
55
- this.setOpacityTo(this.getChildStyleOpacityWithDefault(), 150);
56
- }
57
- };
58
-
59
- render() {
60
- const { style = {}, ...rest } = this.props;
61
- return (
62
- <GenericTouchable
63
- {...rest}
64
- style={[
65
- style,
66
- {
67
- opacity: this.opacity as unknown as number, // TODO: fix this
68
- },
69
- ]}
70
- onStateChange={this.onStateChange}
71
- >
72
- {this.props.children ? this.props.children : <View />}
73
- </GenericTouchable>
74
- );
75
- }
76
- }
1
+ import {
2
+ Animated,
3
+ Easing,
4
+ StyleSheet,
5
+ View,
6
+ TouchableOpacityProps as RNTouchableOpacityProps,
7
+ } from 'react-native';
8
+ import GenericTouchable, {
9
+ TOUCHABLE_STATE,
10
+ GenericTouchableProps,
11
+ } from './GenericTouchable';
12
+ import * as React from 'react';
13
+ import { Component } from 'react';
14
+
15
+ export type TouchableOpacityProps = RNTouchableOpacityProps &
16
+ GenericTouchableProps & {
17
+ useNativeAnimations?: boolean;
18
+ };
19
+
20
+ /**
21
+ * TouchableOpacity bases on timing animation which has been used in RN's core
22
+ */
23
+ export default class TouchableOpacity extends Component<TouchableOpacityProps> {
24
+ static defaultProps = {
25
+ ...GenericTouchable.defaultProps,
26
+ activeOpacity: 0.2,
27
+ };
28
+
29
+ // opacity is 1 one by default but could be overwritten
30
+ getChildStyleOpacityWithDefault = () => {
31
+ const childStyle = StyleSheet.flatten(this.props.style) || {};
32
+ return childStyle.opacity == null
33
+ ? 1
34
+ : (childStyle.opacity.valueOf() as number);
35
+ };
36
+
37
+ opacity = new Animated.Value(this.getChildStyleOpacityWithDefault());
38
+
39
+ setOpacityTo = (value: number, duration: number) => {
40
+ Animated.timing(this.opacity, {
41
+ toValue: value,
42
+ duration: duration,
43
+ easing: Easing.inOut(Easing.quad),
44
+ useNativeDriver: this.props.useNativeAnimations ?? true,
45
+ }).start();
46
+ };
47
+
48
+ onStateChange = (_from: number, to: number) => {
49
+ if (to === TOUCHABLE_STATE.BEGAN) {
50
+ this.setOpacityTo(this.props.activeOpacity!, 0);
51
+ } else if (
52
+ to === TOUCHABLE_STATE.UNDETERMINED ||
53
+ to === TOUCHABLE_STATE.MOVED_OUTSIDE
54
+ ) {
55
+ this.setOpacityTo(this.getChildStyleOpacityWithDefault(), 150);
56
+ }
57
+ };
58
+
59
+ render() {
60
+ const { style = {}, ...rest } = this.props;
61
+ return (
62
+ <GenericTouchable
63
+ {...rest}
64
+ style={[
65
+ style,
66
+ {
67
+ opacity: this.opacity as unknown as number, // TODO: fix this
68
+ },
69
+ ]}
70
+ onStateChange={this.onStateChange}
71
+ >
72
+ {this.props.children ? this.props.children : <View />}
73
+ </GenericTouchable>
74
+ );
75
+ }
76
+ }
@@ -1,14 +1,14 @@
1
- import * as React from 'react';
2
- import { PropsWithChildren } from 'react';
3
- import GenericTouchable, { GenericTouchableProps } from './GenericTouchable';
4
-
5
- export type TouchableWithoutFeedbackProps = GenericTouchable;
6
-
7
- const TouchableWithoutFeedback = React.forwardRef<
8
- TouchableWithoutFeedbackProps,
9
- PropsWithChildren<GenericTouchableProps>
10
- >((props, ref) => <GenericTouchable ref={ref} {...props} />);
11
-
12
- TouchableWithoutFeedback.defaultProps = GenericTouchable.defaultProps;
13
-
14
- export default TouchableWithoutFeedback;
1
+ import * as React from 'react';
2
+ import { PropsWithChildren } from 'react';
3
+ import GenericTouchable, { GenericTouchableProps } from './GenericTouchable';
4
+
5
+ export type TouchableWithoutFeedbackProps = GenericTouchable;
6
+
7
+ const TouchableWithoutFeedback = React.forwardRef<
8
+ TouchableWithoutFeedbackProps,
9
+ PropsWithChildren<GenericTouchableProps>
10
+ >((props, ref) => <GenericTouchable ref={ref} {...props} />);
11
+
12
+ TouchableWithoutFeedback.defaultProps = GenericTouchable.defaultProps;
13
+
14
+ export default TouchableWithoutFeedback;
@@ -1,7 +1,7 @@
1
- // export type { TouchableHighlightProps } from './TouchableHighlight';
2
- export type { TouchableOpacityProps } from './TouchableOpacity';
3
- // export type { TouchableWithoutFeedbackProps } from './TouchableWithoutFeedback';
4
- // export { default as TouchableNativeFeedback } from './TouchableNativeFeedback';
5
- export { default as TouchableWithoutFeedback } from './TouchableWithoutFeedback';
6
- export { default as TouchableOpacity } from './TouchableOpacity';
7
- // export { default as TouchableHighlight } from './TouchableHighlight';
1
+ // export type { TouchableHighlightProps } from './TouchableHighlight';
2
+ export type { TouchableOpacityProps } from './TouchableOpacity';
3
+ // export type { TouchableWithoutFeedbackProps } from './TouchableWithoutFeedback';
4
+ // export { default as TouchableNativeFeedback } from './TouchableNativeFeedback';
5
+ export { default as TouchableWithoutFeedback } from './TouchableWithoutFeedback';
6
+ export { default as TouchableOpacity } from './TouchableOpacity';
7
+ // export { default as TouchableHighlight } from './TouchableHighlight';
@@ -1,55 +1,55 @@
1
- import createHandler from './createHandler';
2
- import {
3
- BaseGestureHandlerProps,
4
- baseGestureHandlerProps,
5
- } from 'react-native-gesture-handler/src/handlers/gestureHandlerCommon';
6
-
7
- export const nativeViewGestureHandlerProps = [
8
- 'shouldActivateOnStart',
9
- 'disallowInterruption',
10
- ] as const;
11
-
12
- export interface NativeViewGestureConfig {
13
- /**
14
- * Android only.
15
- *
16
- * Determines whether the handler should check for an existing touch event on
17
- * instantiation.
18
- */
19
- shouldActivateOnStart?: boolean;
20
-
21
- /**
22
- * When `true`, cancels all other gesture handlers when this
23
- * `NativeViewGestureHandler` receives an `ACTIVE` state event.
24
- */
25
- disallowInterruption?: boolean;
26
- }
27
-
28
- export interface NativeViewGestureHandlerProps
29
- extends BaseGestureHandlerProps<NativeViewGestureHandlerPayload>,
30
- NativeViewGestureConfig {}
31
-
32
- export type NativeViewGestureHandlerPayload = {
33
- /**
34
- * True if gesture was performed inside of containing view, false otherwise.
35
- */
36
- pointerInside: boolean;
37
- };
38
-
39
- export const nativeViewProps = [
40
- ...baseGestureHandlerProps,
41
- ...nativeViewGestureHandlerProps,
42
- ] as const;
43
-
44
- export const nativeViewHandlerName = 'NativeViewGestureHandler';
45
-
46
- export type NativeViewGestureHandler = typeof NativeViewGestureHandler;
47
- // eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file
48
- export const NativeViewGestureHandler = createHandler<
49
- NativeViewGestureHandlerProps,
50
- NativeViewGestureHandlerPayload
51
- >({
52
- name: nativeViewHandlerName,
53
- allowedProps: nativeViewProps,
54
- config: {},
55
- });
1
+ import createHandler from './createHandler';
2
+ import {
3
+ BaseGestureHandlerProps,
4
+ baseGestureHandlerProps,
5
+ } from 'react-native-gesture-handler/src/handlers/gestureHandlerCommon';
6
+
7
+ export const nativeViewGestureHandlerProps = [
8
+ 'shouldActivateOnStart',
9
+ 'disallowInterruption',
10
+ ] as const;
11
+
12
+ export interface NativeViewGestureConfig {
13
+ /**
14
+ * Android only.
15
+ *
16
+ * Determines whether the handler should check for an existing touch event on
17
+ * instantiation.
18
+ */
19
+ shouldActivateOnStart?: boolean;
20
+
21
+ /**
22
+ * When `true`, cancels all other gesture handlers when this
23
+ * `NativeViewGestureHandler` receives an `ACTIVE` state event.
24
+ */
25
+ disallowInterruption?: boolean;
26
+ }
27
+
28
+ export interface NativeViewGestureHandlerProps
29
+ extends BaseGestureHandlerProps<NativeViewGestureHandlerPayload>,
30
+ NativeViewGestureConfig {}
31
+
32
+ export type NativeViewGestureHandlerPayload = {
33
+ /**
34
+ * True if gesture was performed inside of containing view, false otherwise.
35
+ */
36
+ pointerInside: boolean;
37
+ };
38
+
39
+ export const nativeViewProps = [
40
+ ...baseGestureHandlerProps,
41
+ ...nativeViewGestureHandlerProps,
42
+ ] as const;
43
+
44
+ export const nativeViewHandlerName = 'NativeViewGestureHandler';
45
+
46
+ export type NativeViewGestureHandler = typeof NativeViewGestureHandler;
47
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file
48
+ export const NativeViewGestureHandler = createHandler<
49
+ NativeViewGestureHandlerProps,
50
+ NativeViewGestureHandlerPayload
51
+ >({
52
+ name: nativeViewHandlerName,
53
+ allowedProps: nativeViewProps,
54
+ config: {},
55
+ });