@react-native-ohos/react-native-keyboard-controller 1.16.6-rc.1 → 1.16.7-beta.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.
Files changed (173) hide show
  1. package/LICENSE +21 -21
  2. package/README.OpenSource +10 -10
  3. package/README.md +19 -19
  4. package/harmony/keyboard_controller/BuildProfile.ets +16 -16
  5. package/harmony/keyboard_controller/Index.ets +28 -7
  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.json5 +10 -10
  10. package/harmony/keyboard_controller/src/main/cpp/CMakeLists.txt +7 -7
  11. package/harmony/keyboard_controller/src/main/cpp/EventEmitters.cpp +95 -95
  12. package/harmony/keyboard_controller/src/main/cpp/EventEmitters.h +111 -90
  13. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentDescriptor.h +94 -73
  14. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentInstance.cpp +286 -171
  15. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentInstance.h +103 -76
  16. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewJSIBinder.h +65 -44
  17. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaComponentDescriptor.h +79 -58
  18. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaComponentInstance.cpp +107 -86
  19. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaComponentInstance.h +83 -62
  20. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaJSIBinder.h +60 -39
  21. package/harmony/keyboard_controller/src/main/cpp/RNKeyboardController.cpp +46 -25
  22. package/harmony/keyboard_controller/src/main/cpp/RNKeyboardController.h +48 -27
  23. package/harmony/keyboard_controller/src/main/cpp/RNStatusBarManagerCompat.cpp +45 -24
  24. package/harmony/keyboard_controller/src/main/cpp/RNStatusBarManagerCompat.h +49 -28
  25. package/harmony/keyboard_controller/src/main/cpp/ViewHierarchyNavigator.cpp +186 -0
  26. package/harmony/keyboard_controller/src/main/cpp/ViewHierarchyNavigator.h +112 -0
  27. package/harmony/keyboard_controller/src/main/cpp/keyboardControllerPackage.cpp +64 -43
  28. package/harmony/keyboard_controller/src/main/cpp/keyboardControllerPackage.h +77 -56
  29. package/harmony/keyboard_controller/src/main/ets/Logger.ts +66 -45
  30. package/harmony/keyboard_controller/src/main/ets/RNKeyboardControllerPackage.ts +66 -45
  31. package/harmony/keyboard_controller/src/main/ets/RNKeyboardControllerTurboModule.ts +273 -238
  32. package/harmony/keyboard_controller/src/main/ets/RNStatusBarManagerCompatTurboModule.ts +119 -98
  33. package/harmony/keyboard_controller/src/main/ets/Type.ts +62 -41
  34. package/harmony/keyboard_controller/src/main/module.json5 +11 -11
  35. package/harmony/keyboard_controller/src/main/resources/base/element/string.json +8 -8
  36. package/harmony/keyboard_controller/src/main/resources/en_US/element/string.json +8 -8
  37. package/harmony/keyboard_controller/src/main/resources/zh_CN/element/string.json +8 -8
  38. package/harmony/keyboard_controller/ts.ts +29 -8
  39. package/harmony/keyboard_controller.har +0 -0
  40. package/lib/commonjs/animated.js +2 -2
  41. package/lib/commonjs/animated.js.map +1 -1
  42. package/lib/commonjs/bindings.js +3 -3
  43. package/lib/commonjs/bindings.js.map +1 -1
  44. package/lib/commonjs/bindings.native.js +3 -3
  45. package/lib/commonjs/bindings.native.js.map +1 -1
  46. package/lib/commonjs/components/KeyboardAvoidingView/hooks.js.map +1 -1
  47. package/lib/commonjs/components/KeyboardAvoidingView/index.js +3 -3
  48. package/lib/commonjs/components/KeyboardAvoidingView/index.js.map +1 -1
  49. package/lib/commonjs/components/KeyboardAwareScrollView/index.js +39 -39
  50. package/lib/commonjs/components/KeyboardAwareScrollView/index.js.map +1 -1
  51. package/lib/commonjs/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js +3 -3
  52. package/lib/commonjs/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js.map +1 -1
  53. package/lib/commonjs/components/KeyboardAwareScrollView/utils.js.map +1 -1
  54. package/lib/commonjs/components/KeyboardStickyView/index.js.map +1 -1
  55. package/lib/commonjs/components/KeyboardToolbar/Arrow.js.map +1 -1
  56. package/lib/commonjs/components/KeyboardToolbar/Button.js.map +1 -1
  57. package/lib/commonjs/components/KeyboardToolbar/colors.js.map +1 -1
  58. package/lib/commonjs/components/KeyboardToolbar/colors.native.js.map +1 -1
  59. package/lib/commonjs/components/KeyboardToolbar/index.js +3 -3
  60. package/lib/commonjs/components/KeyboardToolbar/index.js.map +1 -1
  61. package/lib/commonjs/components/KeyboardToolbar/types.js.map +1 -1
  62. package/lib/commonjs/components/hooks/useColorScheme.js.map +1 -1
  63. package/lib/commonjs/components/index.js.map +1 -1
  64. package/lib/commonjs/constants.js.map +1 -1
  65. package/lib/commonjs/context.js.map +1 -1
  66. package/lib/commonjs/hooks/index.js.map +1 -1
  67. package/lib/commonjs/hooks/useWindowDimensions/index.android.js.map +1 -1
  68. package/lib/commonjs/hooks/useWindowDimensions/index.js.map +1 -1
  69. package/lib/commonjs/index.js.map +1 -1
  70. package/lib/commonjs/internal.js +18 -18
  71. package/lib/commonjs/internal.js.map +1 -1
  72. package/lib/commonjs/module.js.map +1 -1
  73. package/lib/commonjs/monkey-patch.android.js +4 -4
  74. package/lib/commonjs/monkey-patch.android.js.map +1 -1
  75. package/lib/commonjs/monkey-patch.js.map +1 -1
  76. package/lib/commonjs/reanimated.js.map +1 -1
  77. package/lib/commonjs/reanimated.native.js.map +1 -1
  78. package/lib/commonjs/specs/KeyboardControllerViewNativeComponent.js.map +1 -1
  79. package/lib/commonjs/specs/KeyboardGestureAreaNativeComponent.js.map +1 -1
  80. package/lib/commonjs/specs/NativeKeyboardController.js.map +1 -1
  81. package/lib/commonjs/specs/NativeStatusBarManagerCompat.js.map +1 -1
  82. package/lib/commonjs/specs/OverKeyboardViewNativeComponent.js.map +1 -1
  83. package/lib/commonjs/types.js.map +1 -1
  84. package/lib/commonjs/utils.js.map +1 -1
  85. package/lib/commonjs/views/OverKeyboardView/index.js.map +1 -1
  86. package/lib/commonjs/views/index.js.map +1 -1
  87. package/lib/module/animated.js +2 -2
  88. package/lib/module/animated.js.map +1 -1
  89. package/lib/module/bindings.js +3 -3
  90. package/lib/module/bindings.js.map +1 -1
  91. package/lib/module/bindings.native.js +3 -3
  92. package/lib/module/bindings.native.js.map +1 -1
  93. package/lib/module/components/KeyboardAvoidingView/hooks.js.map +1 -1
  94. package/lib/module/components/KeyboardAvoidingView/index.js +3 -3
  95. package/lib/module/components/KeyboardAvoidingView/index.js.map +1 -1
  96. package/lib/module/components/KeyboardAwareScrollView/index.js +39 -39
  97. package/lib/module/components/KeyboardAwareScrollView/index.js.map +1 -1
  98. package/lib/module/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js +3 -3
  99. package/lib/module/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js.map +1 -1
  100. package/lib/module/components/KeyboardAwareScrollView/utils.js.map +1 -1
  101. package/lib/module/components/KeyboardStickyView/index.js.map +1 -1
  102. package/lib/module/components/KeyboardToolbar/Arrow.js.map +1 -1
  103. package/lib/module/components/KeyboardToolbar/Button.js.map +1 -1
  104. package/lib/module/components/KeyboardToolbar/colors.js.map +1 -1
  105. package/lib/module/components/KeyboardToolbar/colors.native.js.map +1 -1
  106. package/lib/module/components/KeyboardToolbar/index.js +3 -3
  107. package/lib/module/components/KeyboardToolbar/index.js.map +1 -1
  108. package/lib/module/components/KeyboardToolbar/types.js.map +1 -1
  109. package/lib/module/components/hooks/useColorScheme.js.map +1 -1
  110. package/lib/module/components/index.js.map +1 -1
  111. package/lib/module/constants.js.map +1 -1
  112. package/lib/module/context.js.map +1 -1
  113. package/lib/module/hooks/index.js.map +1 -1
  114. package/lib/module/hooks/useWindowDimensions/index.android.js.map +1 -1
  115. package/lib/module/hooks/useWindowDimensions/index.js.map +1 -1
  116. package/lib/module/index.js.map +1 -1
  117. package/lib/module/internal.js +18 -18
  118. package/lib/module/internal.js.map +1 -1
  119. package/lib/module/module.js.map +1 -1
  120. package/lib/module/monkey-patch.android.js +4 -4
  121. package/lib/module/monkey-patch.android.js.map +1 -1
  122. package/lib/module/monkey-patch.js.map +1 -1
  123. package/lib/module/reanimated.js.map +1 -1
  124. package/lib/module/reanimated.native.js.map +1 -1
  125. package/lib/module/specs/KeyboardControllerViewNativeComponent.js.map +1 -1
  126. package/lib/module/specs/KeyboardGestureAreaNativeComponent.js.map +1 -1
  127. package/lib/module/specs/NativeKeyboardController.js.map +1 -1
  128. package/lib/module/specs/NativeStatusBarManagerCompat.js.map +1 -1
  129. package/lib/module/specs/OverKeyboardViewNativeComponent.js.map +1 -1
  130. package/lib/module/types.js.map +1 -1
  131. package/lib/module/utils.js.map +1 -1
  132. package/lib/module/views/OverKeyboardView/index.js.map +1 -1
  133. package/lib/module/views/index.js.map +1 -1
  134. package/package.json +173 -173
  135. package/src/animated.tsx +255 -256
  136. package/src/bindings.native.ts +62 -62
  137. package/src/bindings.ts +42 -42
  138. package/src/components/KeyboardAvoidingView/hooks.ts +123 -123
  139. package/src/components/KeyboardAvoidingView/index.tsx +188 -188
  140. package/src/components/KeyboardAwareScrollView/index.tsx +389 -389
  141. package/src/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.ts +133 -133
  142. package/src/components/KeyboardAwareScrollView/utils.ts +41 -41
  143. package/src/components/KeyboardStickyView/index.tsx +66 -66
  144. package/src/components/KeyboardToolbar/Arrow.tsx +80 -80
  145. package/src/components/KeyboardToolbar/Button.tsx +98 -98
  146. package/src/components/KeyboardToolbar/colors.native.ts +37 -37
  147. package/src/components/KeyboardToolbar/colors.ts +16 -16
  148. package/src/components/KeyboardToolbar/index.tsx +223 -223
  149. package/src/components/KeyboardToolbar/types.ts +40 -40
  150. package/src/components/hooks/useColorScheme.ts +5 -5
  151. package/src/components/index.ts +11 -11
  152. package/src/constants.ts +19 -19
  153. package/src/context.ts +68 -68
  154. package/src/hooks/index.ts +90 -90
  155. package/src/hooks/useWindowDimensions/index.android.ts +38 -38
  156. package/src/hooks/useWindowDimensions/index.ts +1 -1
  157. package/src/index.ts +23 -23
  158. package/src/internal.ts +84 -84
  159. package/src/module.ts +52 -52
  160. package/src/monkey-patch.android.ts +44 -44
  161. package/src/monkey-patch.ts +4 -4
  162. package/src/reanimated.native.ts +132 -132
  163. package/src/reanimated.ts +29 -29
  164. package/src/specs/KeyboardControllerViewNativeComponent.ts +71 -71
  165. package/src/specs/KeyboardGestureAreaNativeComponent.ts +20 -20
  166. package/src/specs/NativeKeyboardController.ts +19 -19
  167. package/src/specs/NativeStatusBarManagerCompat.ts +14 -14
  168. package/src/specs/OverKeyboardViewNativeComponent.ts +12 -12
  169. package/src/types.ts +243 -243
  170. package/src/utils.ts +1 -1
  171. package/src/views/OverKeyboardView/index.tsx +43 -43
  172. package/src/views/index.ts +1 -1
  173. package/react-native-keyboard-controller.podspec +0 -61
@@ -1,98 +1,98 @@
1
- import React, { useMemo } from "react";
2
- import {
3
- Platform,
4
- TouchableNativeFeedback,
5
- TouchableOpacity,
6
- View,
7
- } from "react-native";
8
-
9
- import useColorScheme from "../hooks/useColorScheme";
10
-
11
- import type { KeyboardToolbarTheme } from "./types";
12
- import type { PropsWithChildren } from "react";
13
- import type { ViewStyle } from "react-native";
14
-
15
- type ButtonProps = {
16
- disabled?: boolean;
17
- onPress: () => void;
18
- accessibilityLabel: string;
19
- accessibilityHint: string;
20
- testID: string;
21
- rippleRadius?: number;
22
- style?: ViewStyle;
23
- theme: KeyboardToolbarTheme;
24
- };
25
-
26
- const ButtonIOS = ({
27
- children,
28
- onPress,
29
- disabled,
30
- accessibilityLabel,
31
- accessibilityHint,
32
- testID,
33
- style,
34
- }: PropsWithChildren<ButtonProps>) => {
35
- // immediately switch to plain view to avoid animation flickering
36
- // when fade out animation happens and view becomes disabled
37
- const Container = disabled
38
- ? (View as unknown as typeof TouchableOpacity)
39
- : TouchableOpacity;
40
- const accessibilityState = useMemo(() => ({ disabled }), [disabled]);
41
-
42
- return (
43
- <Container
44
- accessibilityState={accessibilityState}
45
- accessibilityRole="button"
46
- accessibilityLabel={accessibilityLabel}
47
- accessibilityHint={accessibilityHint}
48
- onPress={onPress}
49
- style={style}
50
- testID={testID}
51
- >
52
- {children}
53
- </Container>
54
- );
55
- };
56
- const ButtonAndroid = ({
57
- children,
58
- onPress,
59
- disabled,
60
- accessibilityLabel,
61
- accessibilityHint,
62
- testID,
63
- rippleRadius = 18,
64
- style,
65
- theme,
66
- }: PropsWithChildren<ButtonProps>) => {
67
- const colorScheme = useColorScheme();
68
- const accessibilityState = useMemo(() => ({ disabled }), [disabled]);
69
- const ripple = useMemo(
70
- () =>
71
- TouchableNativeFeedback.Ripple(
72
- theme[colorScheme].ripple,
73
- true,
74
- rippleRadius,
75
- ),
76
- [colorScheme, rippleRadius, theme],
77
- );
78
-
79
- return (
80
- <TouchableNativeFeedback
81
- accessibilityState={accessibilityState}
82
- accessibilityRole="button"
83
- accessibilityLabel={accessibilityLabel}
84
- accessibilityHint={accessibilityHint}
85
- onPress={onPress}
86
- background={ripple}
87
- testID={testID}
88
- style={style}
89
- >
90
- <View style={style}>{children}</View>
91
- </TouchableNativeFeedback>
92
- );
93
- };
94
-
95
- export default Platform.select({
96
- android: ButtonAndroid,
97
- default: ButtonIOS,
98
- });
1
+ import React, { useMemo } from "react";
2
+ import {
3
+ Platform,
4
+ TouchableNativeFeedback,
5
+ TouchableOpacity,
6
+ View,
7
+ } from "react-native";
8
+
9
+ import useColorScheme from "../hooks/useColorScheme";
10
+
11
+ import type { KeyboardToolbarTheme } from "./types";
12
+ import type { PropsWithChildren } from "react";
13
+ import type { ViewStyle } from "react-native";
14
+
15
+ type ButtonProps = {
16
+ disabled?: boolean;
17
+ onPress: () => void;
18
+ accessibilityLabel: string;
19
+ accessibilityHint: string;
20
+ testID: string;
21
+ rippleRadius?: number;
22
+ style?: ViewStyle;
23
+ theme: KeyboardToolbarTheme;
24
+ };
25
+
26
+ const ButtonIOS = ({
27
+ children,
28
+ onPress,
29
+ disabled,
30
+ accessibilityLabel,
31
+ accessibilityHint,
32
+ testID,
33
+ style,
34
+ }: PropsWithChildren<ButtonProps>) => {
35
+ // immediately switch to plain view to avoid animation flickering
36
+ // when fade out animation happens and view becomes disabled
37
+ const Container = disabled
38
+ ? (View as unknown as typeof TouchableOpacity)
39
+ : TouchableOpacity;
40
+ const accessibilityState = useMemo(() => ({ disabled }), [disabled]);
41
+
42
+ return (
43
+ <Container
44
+ accessibilityState={accessibilityState}
45
+ accessibilityRole="button"
46
+ accessibilityLabel={accessibilityLabel}
47
+ accessibilityHint={accessibilityHint}
48
+ onPress={onPress}
49
+ style={style}
50
+ testID={testID}
51
+ >
52
+ {children}
53
+ </Container>
54
+ );
55
+ };
56
+ const ButtonAndroid = ({
57
+ children,
58
+ onPress,
59
+ disabled,
60
+ accessibilityLabel,
61
+ accessibilityHint,
62
+ testID,
63
+ rippleRadius = 18,
64
+ style,
65
+ theme,
66
+ }: PropsWithChildren<ButtonProps>) => {
67
+ const colorScheme = useColorScheme();
68
+ const accessibilityState = useMemo(() => ({ disabled }), [disabled]);
69
+ const ripple = useMemo(
70
+ () =>
71
+ TouchableNativeFeedback.Ripple(
72
+ theme[colorScheme].ripple,
73
+ true,
74
+ rippleRadius,
75
+ ),
76
+ [colorScheme, rippleRadius, theme],
77
+ );
78
+
79
+ return (
80
+ <TouchableNativeFeedback
81
+ accessibilityState={accessibilityState}
82
+ accessibilityRole="button"
83
+ accessibilityLabel={accessibilityLabel}
84
+ accessibilityHint={accessibilityHint}
85
+ onPress={onPress}
86
+ background={ripple}
87
+ testID={testID}
88
+ style={style}
89
+ >
90
+ <View style={style}>{children}</View>
91
+ </TouchableNativeFeedback>
92
+ );
93
+ };
94
+
95
+ export default Platform.select({
96
+ android: ButtonAndroid,
97
+ default: ButtonIOS,
98
+ });
@@ -1,37 +1,37 @@
1
- import { Platform, PlatformColor } from "react-native";
2
-
3
- import type { KeyboardToolbarTheme } from "./types";
4
- import type { ColorValue } from "react-native";
5
-
6
- export const colors: KeyboardToolbarTheme = {
7
- light: {
8
- primary: Platform.select<ColorValue>({
9
- ios: PlatformColor("link"),
10
- default: "#2c2c2c",
11
- }),
12
- disabled: Platform.select<ColorValue>({
13
- ios: PlatformColor("systemGray4"),
14
- default: "#B0BEC5",
15
- }),
16
- background: Platform.select({
17
- ios: "#F8F8F8",
18
- default: "#f3f3f4",
19
- }),
20
- ripple: "#bcbcbcbc",
21
- },
22
- dark: {
23
- primary: Platform.select<ColorValue>({
24
- ios: PlatformColor("label"),
25
- default: "#fafafa",
26
- }),
27
- disabled: Platform.select<ColorValue>({
28
- ios: PlatformColor("systemGray"),
29
- default: "#707070",
30
- }),
31
- background: Platform.select({
32
- ios: "#555756",
33
- default: "#2C2C2E",
34
- }),
35
- ripple: "#F8F8F888",
36
- },
37
- };
1
+ import { Platform, PlatformColor } from "react-native";
2
+
3
+ import type { KeyboardToolbarTheme } from "./types";
4
+ import type { ColorValue } from "react-native";
5
+
6
+ export const colors: KeyboardToolbarTheme = {
7
+ light: {
8
+ primary: Platform.select<ColorValue>({
9
+ ios: PlatformColor("link"),
10
+ default: "#2c2c2c",
11
+ }),
12
+ disabled: Platform.select<ColorValue>({
13
+ ios: PlatformColor("systemGray4"),
14
+ default: "#B0BEC5",
15
+ }),
16
+ background: Platform.select({
17
+ ios: "#F8F8F8",
18
+ default: "#f3f3f4",
19
+ }),
20
+ ripple: "#bcbcbcbc",
21
+ },
22
+ dark: {
23
+ primary: Platform.select<ColorValue>({
24
+ ios: PlatformColor("label"),
25
+ default: "#fafafa",
26
+ }),
27
+ disabled: Platform.select<ColorValue>({
28
+ ios: PlatformColor("systemGray"),
29
+ default: "#707070",
30
+ }),
31
+ background: Platform.select({
32
+ ios: "#555756",
33
+ default: "#2C2C2E",
34
+ }),
35
+ ripple: "#F8F8F888",
36
+ },
37
+ };
@@ -1,16 +1,16 @@
1
- import type { KeyboardToolbarTheme } from "./types";
2
-
3
- export const colors: KeyboardToolbarTheme = {
4
- light: {
5
- primary: "#2c2c2c",
6
- disabled: "#B0BEC5",
7
- background: "#f3f3f4",
8
- ripple: "#bcbcbcbc",
9
- },
10
- dark: {
11
- primary: "#fafafa",
12
- disabled: "#707070",
13
- background: "#2C2C2E",
14
- ripple: "#F8F8F888",
15
- },
16
- };
1
+ import type { KeyboardToolbarTheme } from "./types";
2
+
3
+ export const colors: KeyboardToolbarTheme = {
4
+ light: {
5
+ primary: "#2c2c2c",
6
+ disabled: "#B0BEC5",
7
+ background: "#f3f3f4",
8
+ ripple: "#bcbcbcbc",
9
+ },
10
+ dark: {
11
+ primary: "#fafafa",
12
+ disabled: "#707070",
13
+ background: "#2C2C2E",
14
+ ripple: "#F8F8F888",
15
+ },
16
+ };