@react-native-ohos/react-native-keyboard-controller 1.16.7 → 1.16.9-rc.1

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.
Files changed (182) hide show
  1. package/LICENSE +21 -21
  2. package/README.OpenSource +10 -10
  3. package/README.md +610 -19
  4. package/harmony/keyboard_controller/BuildProfile.ets +16 -16
  5. package/harmony/keyboard_controller/Index.ets +28 -28
  6. package/harmony/keyboard_controller/build-profile.json5 +31 -31
  7. package/harmony/keyboard_controller/hvigorfile.ts +6 -6
  8. package/harmony/keyboard_controller/obfuscation-rules.txt +17 -17
  9. package/harmony/keyboard_controller/oh-package-lock.json5 +28 -19
  10. package/harmony/keyboard_controller/oh-package.json5 +10 -10
  11. package/harmony/keyboard_controller/src/main/cpp/CMakeLists.txt +7 -7
  12. package/harmony/keyboard_controller/src/main/cpp/EventEmitters.cpp +119 -96
  13. package/harmony/keyboard_controller/src/main/cpp/EventEmitters.h +111 -111
  14. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentDescriptor.h +94 -94
  15. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentInstance.cpp +845 -287
  16. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentInstance.h +170 -103
  17. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewJSIBinder.h +65 -65
  18. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaComponentDescriptor.h +79 -79
  19. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaComponentInstance.cpp +107 -107
  20. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaComponentInstance.h +83 -83
  21. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaJSIBinder.h +60 -60
  22. package/harmony/keyboard_controller/src/main/cpp/RNKeyboardController.cpp +46 -46
  23. package/harmony/keyboard_controller/src/main/cpp/RNKeyboardController.h +48 -48
  24. package/harmony/keyboard_controller/src/main/cpp/RNStatusBarManagerCompat.cpp +45 -45
  25. package/harmony/keyboard_controller/src/main/cpp/RNStatusBarManagerCompat.h +49 -49
  26. package/harmony/keyboard_controller/src/main/cpp/ViewHierarchyNavigator.cpp +186 -186
  27. package/harmony/keyboard_controller/src/main/cpp/ViewHierarchyNavigator.h +112 -112
  28. package/harmony/keyboard_controller/src/main/cpp/keyboardControllerPackage.cpp +64 -64
  29. package/harmony/keyboard_controller/src/main/cpp/keyboardControllerPackage.h +77 -77
  30. package/harmony/keyboard_controller/src/main/ets/Logger.ts +66 -66
  31. package/harmony/keyboard_controller/src/main/ets/RNKeyboardControllerPackage.ts +66 -66
  32. package/harmony/keyboard_controller/src/main/ets/RNKeyboardControllerTurboModule.ts +441 -273
  33. package/harmony/keyboard_controller/src/main/ets/RNStatusBarManagerCompatTurboModule.ts +128 -119
  34. package/harmony/keyboard_controller/src/main/ets/Type.ts +62 -62
  35. package/harmony/keyboard_controller/src/main/module.json5 +11 -11
  36. package/harmony/keyboard_controller/src/main/resources/base/element/string.json +8 -8
  37. package/harmony/keyboard_controller/src/main/resources/en_US/element/string.json +8 -8
  38. package/harmony/keyboard_controller/src/main/resources/zh_CN/element/string.json +8 -8
  39. package/harmony/keyboard_controller/ts.ts +29 -29
  40. package/harmony/keyboard_controller.har +0 -0
  41. package/lib/commonjs/animated.js +2 -2
  42. package/lib/commonjs/animated.js.map +1 -1
  43. package/lib/commonjs/bindings.js +3 -3
  44. package/lib/commonjs/bindings.js.map +1 -1
  45. package/lib/commonjs/bindings.native.js +3 -3
  46. package/lib/commonjs/bindings.native.js.map +1 -1
  47. package/lib/commonjs/components/KeyboardAvoidingView/hooks.js.map +1 -1
  48. package/lib/commonjs/components/KeyboardAvoidingView/index.js +3 -3
  49. package/lib/commonjs/components/KeyboardAvoidingView/index.js.map +1 -1
  50. package/lib/commonjs/components/KeyboardAwareScrollView/index.js +39 -39
  51. package/lib/commonjs/components/KeyboardAwareScrollView/index.js.map +1 -1
  52. package/lib/commonjs/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js +3 -3
  53. package/lib/commonjs/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js.map +1 -1
  54. package/lib/commonjs/components/KeyboardAwareScrollView/utils.js.map +1 -1
  55. package/lib/commonjs/components/KeyboardStickyView/index.js.map +1 -1
  56. package/lib/commonjs/components/KeyboardToolbar/Arrow.js.map +1 -1
  57. package/lib/commonjs/components/KeyboardToolbar/Button.js.map +1 -1
  58. package/lib/commonjs/components/KeyboardToolbar/colors.js.map +1 -1
  59. package/lib/commonjs/components/KeyboardToolbar/colors.native.js.map +1 -1
  60. package/lib/commonjs/components/KeyboardToolbar/index.js +3 -3
  61. package/lib/commonjs/components/KeyboardToolbar/index.js.map +1 -1
  62. package/lib/commonjs/components/KeyboardToolbar/types.js.map +1 -1
  63. package/lib/commonjs/components/hooks/useColorScheme.js.map +1 -1
  64. package/lib/commonjs/components/index.js.map +1 -1
  65. package/lib/commonjs/constants.js.map +1 -1
  66. package/lib/commonjs/context.js +0 -1
  67. package/lib/commonjs/context.js.map +1 -1
  68. package/lib/commonjs/hooks/index.js.map +1 -1
  69. package/lib/commonjs/hooks/useWindowDimensions/index.android.js.map +1 -1
  70. package/lib/commonjs/hooks/useWindowDimensions/index.js.map +1 -1
  71. package/lib/commonjs/index.js.map +1 -1
  72. package/lib/commonjs/internal.js +18 -18
  73. package/lib/commonjs/internal.js.map +1 -1
  74. package/lib/commonjs/module.js.map +1 -1
  75. package/lib/commonjs/monkey-patch.android.js +4 -4
  76. package/lib/commonjs/monkey-patch.android.js.map +1 -1
  77. package/lib/commonjs/monkey-patch.js.map +1 -1
  78. package/lib/commonjs/reanimated.js.map +1 -1
  79. package/lib/commonjs/reanimated.native.js.map +1 -1
  80. package/lib/commonjs/specs/KeyboardControllerViewNativeComponent.js.map +1 -1
  81. package/lib/commonjs/specs/KeyboardGestureAreaNativeComponent.js.map +1 -1
  82. package/lib/commonjs/specs/NativeKeyboardController.js.map +1 -1
  83. package/lib/commonjs/specs/NativeStatusBarManagerCompat.js.map +1 -1
  84. package/lib/commonjs/specs/OverKeyboardViewNativeComponent.js.map +1 -1
  85. package/lib/commonjs/types.js.map +1 -1
  86. package/lib/commonjs/utils.js.map +1 -1
  87. package/lib/commonjs/views/OverKeyboardView/index.js.map +1 -1
  88. package/lib/commonjs/views/index.js.map +1 -1
  89. package/lib/module/animated.js +2 -2
  90. package/lib/module/animated.js.map +1 -1
  91. package/lib/module/bindings.js +3 -3
  92. package/lib/module/bindings.js.map +1 -1
  93. package/lib/module/bindings.native.js +3 -3
  94. package/lib/module/bindings.native.js.map +1 -1
  95. package/lib/module/components/KeyboardAvoidingView/hooks.js.map +1 -1
  96. package/lib/module/components/KeyboardAvoidingView/index.js +3 -3
  97. package/lib/module/components/KeyboardAvoidingView/index.js.map +1 -1
  98. package/lib/module/components/KeyboardAwareScrollView/index.js +39 -39
  99. package/lib/module/components/KeyboardAwareScrollView/index.js.map +1 -1
  100. package/lib/module/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js +3 -3
  101. package/lib/module/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js.map +1 -1
  102. package/lib/module/components/KeyboardAwareScrollView/utils.js.map +1 -1
  103. package/lib/module/components/KeyboardStickyView/index.js.map +1 -1
  104. package/lib/module/components/KeyboardToolbar/Arrow.js.map +1 -1
  105. package/lib/module/components/KeyboardToolbar/Button.js.map +1 -1
  106. package/lib/module/components/KeyboardToolbar/colors.js.map +1 -1
  107. package/lib/module/components/KeyboardToolbar/colors.native.js.map +1 -1
  108. package/lib/module/components/KeyboardToolbar/index.js +3 -3
  109. package/lib/module/components/KeyboardToolbar/index.js.map +1 -1
  110. package/lib/module/components/KeyboardToolbar/types.js.map +1 -1
  111. package/lib/module/components/hooks/useColorScheme.js.map +1 -1
  112. package/lib/module/components/index.js.map +1 -1
  113. package/lib/module/constants.js.map +1 -1
  114. package/lib/module/context.js +0 -1
  115. package/lib/module/context.js.map +1 -1
  116. package/lib/module/hooks/index.js.map +1 -1
  117. package/lib/module/hooks/useWindowDimensions/index.android.js.map +1 -1
  118. package/lib/module/hooks/useWindowDimensions/index.js.map +1 -1
  119. package/lib/module/index.js.map +1 -1
  120. package/lib/module/internal.js +18 -18
  121. package/lib/module/internal.js.map +1 -1
  122. package/lib/module/module.js.map +1 -1
  123. package/lib/module/monkey-patch.android.js +4 -4
  124. package/lib/module/monkey-patch.android.js.map +1 -1
  125. package/lib/module/monkey-patch.js.map +1 -1
  126. package/lib/module/reanimated.js.map +1 -1
  127. package/lib/module/reanimated.native.js.map +1 -1
  128. package/lib/module/specs/KeyboardControllerViewNativeComponent.js.map +1 -1
  129. package/lib/module/specs/KeyboardGestureAreaNativeComponent.js.map +1 -1
  130. package/lib/module/specs/NativeKeyboardController.js.map +1 -1
  131. package/lib/module/specs/NativeStatusBarManagerCompat.js.map +1 -1
  132. package/lib/module/specs/OverKeyboardViewNativeComponent.js.map +1 -1
  133. package/lib/module/types.js.map +1 -1
  134. package/lib/module/utils.js.map +1 -1
  135. package/lib/module/views/OverKeyboardView/index.js.map +1 -1
  136. package/lib/module/views/index.js.map +1 -1
  137. package/lib/typescript/bindings.d.ts +3 -4
  138. package/lib/typescript/bindings.native.d.ts +0 -1
  139. package/lib/typescript/components/KeyboardAwareScrollView/index.d.ts +6 -6
  140. package/lib/typescript/components/KeyboardAwareScrollView/utils.d.ts +1 -1
  141. package/lib/typescript/components/KeyboardStickyView/index.d.ts +5 -5
  142. package/lib/typescript/components/KeyboardToolbar/Button.d.ts +2 -1
  143. package/lib/typescript/types.d.ts +1 -0
  144. package/package.json +177 -174
  145. package/src/animated.tsx +255 -255
  146. package/src/bindings.native.ts +62 -62
  147. package/src/bindings.ts +42 -42
  148. package/src/components/KeyboardAvoidingView/hooks.ts +123 -123
  149. package/src/components/KeyboardAvoidingView/index.tsx +188 -188
  150. package/src/components/KeyboardAwareScrollView/index.tsx +389 -389
  151. package/src/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.ts +133 -133
  152. package/src/components/KeyboardAwareScrollView/utils.ts +41 -41
  153. package/src/components/KeyboardStickyView/index.tsx +66 -66
  154. package/src/components/KeyboardToolbar/Arrow.tsx +80 -80
  155. package/src/components/KeyboardToolbar/Button.tsx +98 -98
  156. package/src/components/KeyboardToolbar/colors.native.ts +37 -37
  157. package/src/components/KeyboardToolbar/colors.ts +16 -16
  158. package/src/components/KeyboardToolbar/index.tsx +223 -223
  159. package/src/components/KeyboardToolbar/types.ts +40 -40
  160. package/src/components/hooks/useColorScheme.ts +5 -5
  161. package/src/components/index.ts +11 -11
  162. package/src/constants.ts +19 -19
  163. package/src/context.ts +68 -69
  164. package/src/hooks/index.ts +90 -90
  165. package/src/hooks/useWindowDimensions/index.android.ts +38 -38
  166. package/src/hooks/useWindowDimensions/index.ts +1 -1
  167. package/src/index.ts +23 -23
  168. package/src/internal.ts +84 -84
  169. package/src/module.ts +52 -52
  170. package/src/monkey-patch.android.ts +44 -44
  171. package/src/monkey-patch.ts +4 -4
  172. package/src/reanimated.native.ts +132 -132
  173. package/src/reanimated.ts +29 -29
  174. package/src/specs/KeyboardControllerViewNativeComponent.ts +71 -71
  175. package/src/specs/KeyboardGestureAreaNativeComponent.ts +20 -20
  176. package/src/specs/NativeKeyboardController.ts +19 -19
  177. package/src/specs/NativeStatusBarManagerCompat.ts +14 -14
  178. package/src/specs/OverKeyboardViewNativeComponent.ts +12 -12
  179. package/src/types.ts +244 -243
  180. package/src/utils.ts +1 -1
  181. package/src/views/OverKeyboardView/index.tsx +43 -43
  182. package/src/views/index.ts +1 -1
package/src/bindings.ts CHANGED
@@ -1,42 +1,42 @@
1
- import { View } from "react-native";
2
-
3
- import type {
4
- FocusedInputEventsModule,
5
- KeyboardControllerNativeModule,
6
- KeyboardControllerProps,
7
- KeyboardEventsModule,
8
- KeyboardGestureAreaProps,
9
- OverKeyboardViewProps,
10
- WindowDimensionsEventsModule,
11
- } from "./types";
12
- import type { EmitterSubscription } from "react-native";
13
-
14
- const NOOP = () => {};
15
-
16
- export const KeyboardControllerNative: KeyboardControllerNativeModule = {
17
- setDefaultMode: NOOP,
18
- setInputMode: NOOP,
19
- dismiss: NOOP,
20
- setFocusTo: NOOP,
21
- addListener: NOOP,
22
- removeListeners: NOOP,
23
- };
24
- export const KeyboardEvents: KeyboardEventsModule = {
25
- addListener: () => ({ remove: NOOP } as EmitterSubscription),
26
- };
27
- /**
28
- * This API is not documented, it's for internal usage only (for now), and is a subject to potential breaking changes in future.
29
- * Use it with cautious.
30
- */
31
- export const FocusedInputEvents: FocusedInputEventsModule = {
32
- addListener: () => ({ remove: NOOP } as EmitterSubscription),
33
- };
34
- export const WindowDimensionsEvents: WindowDimensionsEventsModule = {
35
- addListener: () => ({ remove: NOOP } as EmitterSubscription),
36
- };
37
- export const KeyboardControllerView =
38
- View as unknown as React.FC<KeyboardControllerProps>;
39
- export const KeyboardGestureArea =
40
- View as unknown as React.FC<KeyboardGestureAreaProps>;
41
- export const RCTOverKeyboardView =
42
- View as unknown as React.FC<OverKeyboardViewProps>;
1
+ import { View } from "react-native";
2
+
3
+ import type {
4
+ FocusedInputEventsModule,
5
+ KeyboardControllerNativeModule,
6
+ KeyboardControllerProps,
7
+ KeyboardEventsModule,
8
+ KeyboardGestureAreaProps,
9
+ OverKeyboardViewProps,
10
+ WindowDimensionsEventsModule,
11
+ } from "./types";
12
+ import type { EmitterSubscription } from "react-native";
13
+
14
+ const NOOP = () => {};
15
+
16
+ export const KeyboardControllerNative: KeyboardControllerNativeModule = {
17
+ setDefaultMode: NOOP,
18
+ setInputMode: NOOP,
19
+ dismiss: NOOP,
20
+ setFocusTo: NOOP,
21
+ addListener: NOOP,
22
+ removeListeners: NOOP,
23
+ };
24
+ export const KeyboardEvents: KeyboardEventsModule = {
25
+ addListener: () => ({ remove: NOOP } as EmitterSubscription),
26
+ };
27
+ /**
28
+ * This API is not documented, it's for internal usage only (for now), and is a subject to potential breaking changes in future.
29
+ * Use it with cautious.
30
+ */
31
+ export const FocusedInputEvents: FocusedInputEventsModule = {
32
+ addListener: () => ({ remove: NOOP } as EmitterSubscription),
33
+ };
34
+ export const WindowDimensionsEvents: WindowDimensionsEventsModule = {
35
+ addListener: () => ({ remove: NOOP } as EmitterSubscription),
36
+ };
37
+ export const KeyboardControllerView =
38
+ View as unknown as React.FC<KeyboardControllerProps>;
39
+ export const KeyboardGestureArea =
40
+ View as unknown as React.FC<KeyboardGestureAreaProps>;
41
+ export const RCTOverKeyboardView =
42
+ View as unknown as React.FC<OverKeyboardViewProps>;
@@ -1,123 +1,123 @@
1
- import { useSharedValue } from "react-native-reanimated";
2
-
3
- import {useKeyboardHandler} from "../../hooks";
4
- import {useKeyboardContext} from "../../context";
5
- import { useState } from "react";
6
- import { Platform } from "react-native";
7
-
8
- const OS = Platform.OS;
9
-
10
- export const useKeyboardAnimation = () => {
11
- const { reanimated } = useKeyboardContext();
12
- // calculate it only once on mount, to avoid `SharedValue` reads during a render
13
- const [initialHeight] = useState(() => -reanimated.height.value);
14
- const [initialProgress] = useState(() => reanimated.progress.value);
15
-
16
- const heightWhenOpened = useSharedValue(initialHeight);
17
- const height = useSharedValue(initialHeight);
18
- const progress = useSharedValue(initialProgress);
19
- const isClosed = useSharedValue(initialProgress === 0);
20
-
21
- useKeyboardHandler(
22
- {
23
- onStart: (e) => {
24
- "worklet";
25
-
26
- if (e.height > 0) {
27
- // eslint-disable-next-line react-compiler/react-compiler
28
- isClosed.value = false;
29
- heightWhenOpened.value = e.height;
30
- }
31
- },
32
- onMove: (e) => {
33
- "worklet";
34
-
35
- progress.value = e.progress;
36
- height.value = e.height;
37
- },
38
- onInteractive: (e) => {
39
- "worklet";
40
-
41
- progress.value = e.progress;
42
- height.value = e.height;
43
- },
44
- onEnd: (e) => {
45
- "worklet";
46
- if(Platform.OS as string === 'harmony'){
47
- heightWhenOpened.value = e.height;
48
- }
49
-
50
- isClosed.value = e.height === 0;
51
-
52
- // `height` update happens in `onMove` handler
53
- // in `onEnd` we need to update only if `onMove`
54
- // wasn't called (i. e. duration === 0)
55
- //
56
- // we can not call this code without condition below
57
- // because in some corner cases (iOS with `secureTextEntry`)
58
- // `onEnd` can be emitted before `onMove` and in this case
59
- // it may lead to choppy/glitchy/jumpy UI
60
- // see https://github.com/kirillzyusko/react-native-keyboard-controller/issues/327
61
- if (e.duration === 0) {
62
- progress.value = e.progress;
63
- height.value = e.height;
64
- }
65
- },
66
- },
67
- [],
68
- );
69
-
70
- return { height, progress, heightWhenOpened, isClosed };
71
- };
72
-
73
- export const useTranslateAnimation = () => {
74
- const { reanimated } = useKeyboardContext();
75
-
76
- // calculate it only once on mount, to avoid `SharedValue` reads during a render
77
- const [initialProgress] = useState(() => reanimated.progress.value);
78
-
79
- const padding = useSharedValue(initialProgress);
80
- const translate = useSharedValue(0);
81
-
82
- useKeyboardHandler(
83
- {
84
- onStart: (e) => {
85
- "worklet";
86
-
87
- if (e.height === 0) {
88
- // eslint-disable-next-line react-compiler/react-compiler
89
- padding.value = 0;
90
- }
91
- if (OS === "ios") {
92
- translate.value = e.progress;
93
- }
94
- },
95
- onMove: (e) => {
96
- "worklet";
97
-
98
- if (OS === "android") {
99
- translate.value = e.progress;
100
- }
101
- },
102
- onInteractive: (e) => {
103
- "worklet";
104
-
105
- padding.value = 0;
106
-
107
- translate.value = e.progress;
108
- },
109
- onEnd: (e) => {
110
- "worklet";
111
-
112
- padding.value = e.progress;
113
-
114
- if (OS === "android") {
115
- translate.value = e.progress;
116
- }
117
- },
118
- },
119
- [],
120
- );
121
-
122
- return { translate, padding };
123
- };
1
+ import { useSharedValue } from "react-native-reanimated";
2
+
3
+ import {useKeyboardHandler} from "../../hooks";
4
+ import {useKeyboardContext} from "../../context";
5
+ import { useState } from "react";
6
+ import { Platform } from "react-native";
7
+
8
+ const OS = Platform.OS;
9
+
10
+ export const useKeyboardAnimation = () => {
11
+ const { reanimated } = useKeyboardContext();
12
+ // calculate it only once on mount, to avoid `SharedValue` reads during a render
13
+ const [initialHeight] = useState(() => -reanimated.height.value);
14
+ const [initialProgress] = useState(() => reanimated.progress.value);
15
+
16
+ const heightWhenOpened = useSharedValue(initialHeight);
17
+ const height = useSharedValue(initialHeight);
18
+ const progress = useSharedValue(initialProgress);
19
+ const isClosed = useSharedValue(initialProgress === 0);
20
+
21
+ useKeyboardHandler(
22
+ {
23
+ onStart: (e) => {
24
+ "worklet";
25
+
26
+ if (e.height > 0) {
27
+ // eslint-disable-next-line react-compiler/react-compiler
28
+ isClosed.value = false;
29
+ heightWhenOpened.value = e.height;
30
+ }
31
+ },
32
+ onMove: (e) => {
33
+ "worklet";
34
+
35
+ progress.value = e.progress;
36
+ height.value = e.height;
37
+ },
38
+ onInteractive: (e) => {
39
+ "worklet";
40
+
41
+ progress.value = e.progress;
42
+ height.value = e.height;
43
+ },
44
+ onEnd: (e) => {
45
+ "worklet";
46
+ if(Platform.OS as string === 'harmony'){
47
+ heightWhenOpened.value = e.height;
48
+ }
49
+
50
+ isClosed.value = e.height === 0;
51
+
52
+ // `height` update happens in `onMove` handler
53
+ // in `onEnd` we need to update only if `onMove`
54
+ // wasn't called (i. e. duration === 0)
55
+ //
56
+ // we can not call this code without condition below
57
+ // because in some corner cases (iOS with `secureTextEntry`)
58
+ // `onEnd` can be emitted before `onMove` and in this case
59
+ // it may lead to choppy/glitchy/jumpy UI
60
+ // see https://github.com/kirillzyusko/react-native-keyboard-controller/issues/327
61
+ if (e.duration === 0) {
62
+ progress.value = e.progress;
63
+ height.value = e.height;
64
+ }
65
+ },
66
+ },
67
+ [],
68
+ );
69
+
70
+ return { height, progress, heightWhenOpened, isClosed };
71
+ };
72
+
73
+ export const useTranslateAnimation = () => {
74
+ const { reanimated } = useKeyboardContext();
75
+
76
+ // calculate it only once on mount, to avoid `SharedValue` reads during a render
77
+ const [initialProgress] = useState(() => reanimated.progress.value);
78
+
79
+ const padding = useSharedValue(initialProgress);
80
+ const translate = useSharedValue(0);
81
+
82
+ useKeyboardHandler(
83
+ {
84
+ onStart: (e) => {
85
+ "worklet";
86
+
87
+ if (e.height === 0) {
88
+ // eslint-disable-next-line react-compiler/react-compiler
89
+ padding.value = 0;
90
+ }
91
+ if (OS === "ios") {
92
+ translate.value = e.progress;
93
+ }
94
+ },
95
+ onMove: (e) => {
96
+ "worklet";
97
+
98
+ if (OS === "android") {
99
+ translate.value = e.progress;
100
+ }
101
+ },
102
+ onInteractive: (e) => {
103
+ "worklet";
104
+
105
+ padding.value = 0;
106
+
107
+ translate.value = e.progress;
108
+ },
109
+ onEnd: (e) => {
110
+ "worklet";
111
+
112
+ padding.value = e.progress;
113
+
114
+ if (OS === "android") {
115
+ translate.value = e.progress;
116
+ }
117
+ },
118
+ },
119
+ [],
120
+ );
121
+
122
+ return { translate, padding };
123
+ };