@react-native-ohos/react-native-keyboard-controller 1.17.0-beta.2 → 1.17.0

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 (408) hide show
  1. package/LICENSE +21 -21
  2. package/README.OpenSource +11 -11
  3. package/README.md +686 -19
  4. package/harmony/keyboard_controller/BuildProfile.ets +16 -16
  5. package/harmony/keyboard_controller/Index.ets +29 -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 -18
  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/ClippingScrollViewComponentDescriptor.h +86 -0
  13. package/harmony/keyboard_controller/src/main/cpp/ClippingScrollViewComponentInstance.cpp +104 -0
  14. package/harmony/keyboard_controller/src/main/cpp/ClippingScrollViewComponentInstance.h +64 -0
  15. package/harmony/keyboard_controller/src/main/cpp/ClippingScrollViewJSIBinder.h +60 -0
  16. package/harmony/keyboard_controller/src/main/cpp/EventEmitters.cpp +119 -96
  17. package/harmony/keyboard_controller/src/main/cpp/EventEmitters.h +111 -111
  18. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentDescriptor.h +94 -94
  19. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentInstance.cpp +840 -288
  20. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentInstance.h +169 -103
  21. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewJSIBinder.h +65 -65
  22. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaComponentDescriptor.h +79 -79
  23. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaComponentInstance.cpp +108 -108
  24. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaComponentInstance.h +83 -83
  25. package/harmony/keyboard_controller/src/main/cpp/KeyboardGestureAreaJSIBinder.h +60 -60
  26. package/harmony/keyboard_controller/src/main/cpp/KeyboardToolbarGroupViewComponentDescriptor.h +46 -0
  27. package/harmony/keyboard_controller/src/main/cpp/KeyboardToolbarGroupViewComponentInstance.cpp +37 -0
  28. package/harmony/keyboard_controller/src/main/cpp/KeyboardToolbarGroupViewComponentInstance.h +32 -0
  29. package/harmony/keyboard_controller/src/main/cpp/KeyboardToolbarGroupViewJSIBinder.h +23 -0
  30. package/harmony/keyboard_controller/src/main/cpp/RNKeyboardController.cpp +103 -46
  31. package/harmony/keyboard_controller/src/main/cpp/RNKeyboardController.h +48 -48
  32. package/harmony/keyboard_controller/src/main/cpp/RNKeyboardControllerPackage.h +20 -0
  33. package/harmony/keyboard_controller/src/main/cpp/RNStatusBarManagerCompat.cpp +45 -45
  34. package/harmony/keyboard_controller/src/main/cpp/RNStatusBarManagerCompat.h +49 -49
  35. package/harmony/keyboard_controller/src/main/cpp/ViewHierarchyNavigator.cpp +207 -186
  36. package/harmony/keyboard_controller/src/main/cpp/ViewHierarchyNavigator.h +131 -112
  37. package/harmony/keyboard_controller/src/main/cpp/keyboardControllerPackage.cpp +77 -64
  38. package/harmony/keyboard_controller/src/main/cpp/keyboardControllerPackage.h +85 -77
  39. package/harmony/keyboard_controller/src/main/ets/Logger.ts +66 -66
  40. package/harmony/keyboard_controller/src/main/ets/{RNKeyboardControllerPackage.ts → RNKeyboardControllerPackage.ets} +70 -66
  41. package/harmony/keyboard_controller/src/main/ets/RNKeyboardControllerTurboModule.ts +465 -273
  42. package/harmony/keyboard_controller/src/main/ets/RNStatusBarManagerCompatTurboModule.ts +128 -119
  43. package/harmony/keyboard_controller/src/main/ets/Type.ts +63 -62
  44. package/harmony/keyboard_controller/src/main/module.json5 +11 -11
  45. package/harmony/keyboard_controller/src/main/resources/base/element/string.json +8 -8
  46. package/harmony/keyboard_controller/src/main/resources/en_US/element/string.json +8 -8
  47. package/harmony/keyboard_controller/src/main/resources/zh_CN/element/string.json +8 -8
  48. package/harmony/keyboard_controller/{ts.ts → ts.ets} +29 -29
  49. package/harmony/keyboard_controller.har +0 -0
  50. package/lib/commonjs/animated.js +22 -11
  51. package/lib/commonjs/animated.js.map +1 -1
  52. package/lib/commonjs/architecture.js +8 -0
  53. package/lib/commonjs/architecture.js.map +1 -0
  54. package/lib/commonjs/bindings.js +40 -5
  55. package/lib/commonjs/bindings.js.map +1 -1
  56. package/lib/commonjs/bindings.native.js +28 -5
  57. package/lib/commonjs/bindings.native.js.map +1 -1
  58. package/lib/commonjs/compat.js +50 -0
  59. package/lib/commonjs/compat.js.map +1 -0
  60. package/lib/commonjs/components/KeyboardAvoidingView/hooks.js +21 -15
  61. package/lib/commonjs/components/KeyboardAvoidingView/hooks.js.map +1 -1
  62. package/lib/commonjs/components/KeyboardAvoidingView/index.js +39 -14
  63. package/lib/commonjs/components/KeyboardAvoidingView/index.js.map +1 -1
  64. package/lib/commonjs/components/KeyboardAwareScrollView/index.js +94 -57
  65. package/lib/commonjs/components/KeyboardAwareScrollView/index.js.map +1 -1
  66. package/lib/commonjs/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js +5 -5
  67. package/lib/commonjs/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js.map +1 -1
  68. package/lib/commonjs/components/KeyboardAwareScrollView/utils.js.map +1 -1
  69. package/lib/commonjs/components/KeyboardChatScrollView/hooks.js +13 -0
  70. package/lib/commonjs/components/KeyboardChatScrollView/hooks.js.map +1 -0
  71. package/lib/commonjs/components/KeyboardChatScrollView/index.js +122 -0
  72. package/lib/commonjs/components/KeyboardChatScrollView/index.js.map +1 -0
  73. package/lib/commonjs/components/KeyboardChatScrollView/types.js +6 -0
  74. package/lib/commonjs/components/KeyboardChatScrollView/types.js.map +1 -0
  75. package/lib/commonjs/components/KeyboardChatScrollView/useChatKeyboard/helpers.js +221 -0
  76. package/lib/commonjs/components/KeyboardChatScrollView/useChatKeyboard/helpers.js.map +1 -0
  77. package/lib/commonjs/components/KeyboardChatScrollView/useChatKeyboard/index.ios.js +149 -0
  78. package/lib/commonjs/components/KeyboardChatScrollView/useChatKeyboard/index.ios.js.map +1 -0
  79. package/lib/commonjs/components/KeyboardChatScrollView/useChatKeyboard/index.js +240 -0
  80. package/lib/commonjs/components/KeyboardChatScrollView/useChatKeyboard/index.js.map +1 -0
  81. package/lib/commonjs/components/KeyboardChatScrollView/useChatKeyboard/types.js +6 -0
  82. package/lib/commonjs/components/KeyboardChatScrollView/useChatKeyboard/types.js.map +1 -0
  83. package/lib/commonjs/components/KeyboardChatScrollView/useEndVisible.js +40 -0
  84. package/lib/commonjs/components/KeyboardChatScrollView/useEndVisible.js.map +1 -0
  85. package/lib/commonjs/components/KeyboardChatScrollView/useExtraContentPadding/index.js +92 -0
  86. package/lib/commonjs/components/KeyboardChatScrollView/useExtraContentPadding/index.js.map +1 -0
  87. package/lib/commonjs/components/KeyboardStickyView/index.js.map +1 -1
  88. package/lib/commonjs/components/KeyboardToolbar/Arrow.js +2 -3
  89. package/lib/commonjs/components/KeyboardToolbar/Arrow.js.map +1 -1
  90. package/lib/commonjs/components/KeyboardToolbar/Button.js +2 -3
  91. package/lib/commonjs/components/KeyboardToolbar/Button.js.map +1 -1
  92. package/lib/commonjs/components/KeyboardToolbar/colors.js.map +1 -1
  93. package/lib/commonjs/components/KeyboardToolbar/colors.native.js.map +1 -1
  94. package/lib/commonjs/components/KeyboardToolbar/compound/components/Background.js +13 -0
  95. package/lib/commonjs/components/KeyboardToolbar/compound/components/Background.js.map +1 -0
  96. package/lib/commonjs/components/KeyboardToolbar/compound/components/Content.js +25 -0
  97. package/lib/commonjs/components/KeyboardToolbar/compound/components/Content.js.map +1 -0
  98. package/lib/commonjs/components/KeyboardToolbar/compound/components/Done.js +58 -0
  99. package/lib/commonjs/components/KeyboardToolbar/compound/components/Done.js.map +1 -0
  100. package/lib/commonjs/components/KeyboardToolbar/compound/components/Next.js +49 -0
  101. package/lib/commonjs/components/KeyboardToolbar/compound/components/Next.js.map +1 -0
  102. package/lib/commonjs/components/KeyboardToolbar/compound/components/Prev.js +49 -0
  103. package/lib/commonjs/components/KeyboardToolbar/compound/components/Prev.js.map +1 -0
  104. package/lib/commonjs/components/KeyboardToolbar/compound/components/index.js +42 -0
  105. package/lib/commonjs/components/KeyboardToolbar/compound/components/index.js.map +1 -0
  106. package/lib/commonjs/components/KeyboardToolbar/compound/components/types.js +6 -0
  107. package/lib/commonjs/components/KeyboardToolbar/compound/components/types.js.map +1 -0
  108. package/lib/commonjs/components/KeyboardToolbar/compound/context.js +17 -0
  109. package/lib/commonjs/components/KeyboardToolbar/compound/context.js.map +1 -0
  110. package/lib/commonjs/components/KeyboardToolbar/constants.js +17 -0
  111. package/lib/commonjs/components/KeyboardToolbar/constants.js.map +1 -0
  112. package/lib/commonjs/components/KeyboardToolbar/index.js +98 -87
  113. package/lib/commonjs/components/KeyboardToolbar/index.js.map +1 -1
  114. package/lib/commonjs/components/KeyboardToolbar/types.js.map +1 -1
  115. package/lib/commonjs/components/ScrollViewWithBottomPadding/index.js +120 -0
  116. package/lib/commonjs/components/ScrollViewWithBottomPadding/index.js.map +1 -0
  117. package/lib/commonjs/components/ScrollViewWithBottomPadding/styles.js +15 -0
  118. package/lib/commonjs/components/ScrollViewWithBottomPadding/styles.js.map +1 -0
  119. package/lib/commonjs/components/hooks/useColorScheme.js.map +1 -1
  120. package/lib/commonjs/components/hooks/useCombinedRef.js +24 -0
  121. package/lib/commonjs/components/hooks/useCombinedRef.js.map +1 -0
  122. package/lib/commonjs/components/hooks/useScrollState.js +62 -0
  123. package/lib/commonjs/components/hooks/useScrollState.js.map +1 -0
  124. package/lib/commonjs/components/index.js +7 -0
  125. package/lib/commonjs/components/index.js.map +1 -1
  126. package/lib/commonjs/constants.js +3 -1
  127. package/lib/commonjs/constants.js.map +1 -1
  128. package/lib/commonjs/context.js +1 -0
  129. package/lib/commonjs/context.js.map +1 -1
  130. package/lib/commonjs/hooks/index.js +14 -1
  131. package/lib/commonjs/hooks/index.js.map +1 -1
  132. package/lib/commonjs/hooks/useKeyboardState/index.js +39 -0
  133. package/lib/commonjs/hooks/useKeyboardState/index.js.map +1 -0
  134. package/lib/commonjs/hooks/useWindowDimensions/index.android.js.map +1 -1
  135. package/lib/commonjs/hooks/useWindowDimensions/index.js.map +1 -1
  136. package/lib/commonjs/index.js +27 -1
  137. package/lib/commonjs/index.js.map +1 -1
  138. package/lib/commonjs/internal.js +54 -18
  139. package/lib/commonjs/internal.js.map +1 -1
  140. package/lib/commonjs/module.js +21 -12
  141. package/lib/commonjs/module.js.map +1 -1
  142. package/lib/commonjs/reanimated.js.map +1 -1
  143. package/lib/commonjs/reanimated.native.js.map +1 -1
  144. package/lib/commonjs/specs/ClippingScrollViewDecoratorViewNativeComponent.js +12 -0
  145. package/lib/commonjs/specs/ClippingScrollViewDecoratorViewNativeComponent.js.map +1 -0
  146. package/lib/commonjs/specs/KeyboardControllerViewNativeComponent.js +8 -2
  147. package/lib/commonjs/specs/KeyboardControllerViewNativeComponent.js.map +1 -1
  148. package/lib/commonjs/specs/KeyboardGestureAreaNativeComponent.js +2 -1
  149. package/lib/commonjs/specs/KeyboardGestureAreaNativeComponent.js.map +1 -1
  150. package/lib/commonjs/specs/KeyboardToolbarGroupViewNativeComponent.js +12 -0
  151. package/lib/commonjs/specs/KeyboardToolbarGroupViewNativeComponent.js.map +1 -0
  152. package/lib/commonjs/specs/NativeKeyboardController.js.map +1 -1
  153. package/lib/commonjs/specs/NativeStatusBarManagerCompat.js.map +1 -1
  154. package/lib/commonjs/specs/OverKeyboardViewNativeComponent.js.map +1 -1
  155. package/lib/commonjs/types.js.map +1 -1
  156. package/lib/commonjs/utils/findNodeHandle/index.js +9 -0
  157. package/lib/commonjs/utils/findNodeHandle/index.js.map +1 -0
  158. package/lib/commonjs/utils/findNodeHandle/index.native.js +13 -0
  159. package/lib/commonjs/utils/findNodeHandle/index.native.js.map +1 -0
  160. package/lib/commonjs/utils.js.map +1 -1
  161. package/lib/commonjs/views/KeyboardExtender/index.js +30 -0
  162. package/lib/commonjs/views/KeyboardExtender/index.js.map +1 -0
  163. package/lib/commonjs/views/OverKeyboardView/index.js.map +1 -1
  164. package/lib/commonjs/views/index.js +7 -0
  165. package/lib/commonjs/views/index.js.map +1 -1
  166. package/lib/module/animated.js +24 -13
  167. package/lib/module/animated.js.map +1 -1
  168. package/lib/module/architecture.js +2 -0
  169. package/lib/module/architecture.js.map +1 -0
  170. package/lib/module/bindings.js +39 -5
  171. package/lib/module/bindings.js.map +1 -1
  172. package/lib/module/bindings.native.js +27 -5
  173. package/lib/module/bindings.native.js.map +1 -1
  174. package/lib/module/compat.js +43 -0
  175. package/lib/module/compat.js.map +1 -0
  176. package/lib/module/components/KeyboardAvoidingView/hooks.js +22 -16
  177. package/lib/module/components/KeyboardAvoidingView/hooks.js.map +1 -1
  178. package/lib/module/components/KeyboardAvoidingView/index.js +38 -14
  179. package/lib/module/components/KeyboardAvoidingView/index.js.map +1 -1
  180. package/lib/module/components/KeyboardAwareScrollView/index.js +97 -60
  181. package/lib/module/components/KeyboardAwareScrollView/index.js.map +1 -1
  182. package/lib/module/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js +5 -5
  183. package/lib/module/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js.map +1 -1
  184. package/lib/module/components/KeyboardAwareScrollView/utils.js.map +1 -1
  185. package/lib/module/components/KeyboardChatScrollView/hooks.js +2 -0
  186. package/lib/module/components/KeyboardChatScrollView/hooks.js.map +1 -0
  187. package/lib/module/components/KeyboardChatScrollView/index.js +115 -0
  188. package/lib/module/components/KeyboardChatScrollView/index.js.map +1 -0
  189. package/lib/module/components/KeyboardChatScrollView/types.js +2 -0
  190. package/lib/module/components/KeyboardChatScrollView/types.js.map +1 -0
  191. package/lib/module/components/KeyboardChatScrollView/useChatKeyboard/helpers.js +207 -0
  192. package/lib/module/components/KeyboardChatScrollView/useChatKeyboard/helpers.js.map +1 -0
  193. package/lib/module/components/KeyboardChatScrollView/useChatKeyboard/index.ios.js +143 -0
  194. package/lib/module/components/KeyboardChatScrollView/useChatKeyboard/index.ios.js.map +1 -0
  195. package/lib/module/components/KeyboardChatScrollView/useChatKeyboard/index.js +234 -0
  196. package/lib/module/components/KeyboardChatScrollView/useChatKeyboard/index.js.map +1 -0
  197. package/lib/module/components/KeyboardChatScrollView/useChatKeyboard/types.js +2 -0
  198. package/lib/module/components/KeyboardChatScrollView/useChatKeyboard/types.js.map +1 -0
  199. package/lib/module/components/KeyboardChatScrollView/useEndVisible.js +33 -0
  200. package/lib/module/components/KeyboardChatScrollView/useEndVisible.js.map +1 -0
  201. package/lib/module/components/KeyboardChatScrollView/useExtraContentPadding/index.js +87 -0
  202. package/lib/module/components/KeyboardChatScrollView/useExtraContentPadding/index.js.map +1 -0
  203. package/lib/module/components/KeyboardStickyView/index.js.map +1 -1
  204. package/lib/module/components/KeyboardToolbar/Arrow.js +2 -2
  205. package/lib/module/components/KeyboardToolbar/Arrow.js.map +1 -1
  206. package/lib/module/components/KeyboardToolbar/Button.js +2 -2
  207. package/lib/module/components/KeyboardToolbar/Button.js.map +1 -1
  208. package/lib/module/components/KeyboardToolbar/colors.js.map +1 -1
  209. package/lib/module/components/KeyboardToolbar/colors.native.js.map +1 -1
  210. package/lib/module/components/KeyboardToolbar/compound/components/Background.js +6 -0
  211. package/lib/module/components/KeyboardToolbar/compound/components/Background.js.map +1 -0
  212. package/lib/module/components/KeyboardToolbar/compound/components/Content.js +18 -0
  213. package/lib/module/components/KeyboardToolbar/compound/components/Content.js.map +1 -0
  214. package/lib/module/components/KeyboardToolbar/compound/components/Done.js +50 -0
  215. package/lib/module/components/KeyboardToolbar/compound/components/Done.js.map +1 -0
  216. package/lib/module/components/KeyboardToolbar/compound/components/Next.js +41 -0
  217. package/lib/module/components/KeyboardToolbar/compound/components/Next.js.map +1 -0
  218. package/lib/module/components/KeyboardToolbar/compound/components/Prev.js +41 -0
  219. package/lib/module/components/KeyboardToolbar/compound/components/Prev.js.map +1 -0
  220. package/lib/module/components/KeyboardToolbar/compound/components/index.js +6 -0
  221. package/lib/module/components/KeyboardToolbar/compound/components/index.js.map +1 -0
  222. package/lib/module/components/KeyboardToolbar/compound/components/types.js +2 -0
  223. package/lib/module/components/KeyboardToolbar/compound/components/types.js.map +1 -0
  224. package/lib/module/components/KeyboardToolbar/compound/context.js +10 -0
  225. package/lib/module/components/KeyboardToolbar/compound/context.js.map +1 -0
  226. package/lib/module/components/KeyboardToolbar/constants.js +11 -0
  227. package/lib/module/components/KeyboardToolbar/constants.js.map +1 -0
  228. package/lib/module/components/KeyboardToolbar/index.js +98 -88
  229. package/lib/module/components/KeyboardToolbar/index.js.map +1 -1
  230. package/lib/module/components/KeyboardToolbar/types.js.map +1 -1
  231. package/lib/module/components/ScrollViewWithBottomPadding/index.js +112 -0
  232. package/lib/module/components/ScrollViewWithBottomPadding/index.js.map +1 -0
  233. package/lib/module/components/ScrollViewWithBottomPadding/styles.js +9 -0
  234. package/lib/module/components/ScrollViewWithBottomPadding/styles.js.map +1 -0
  235. package/lib/module/components/hooks/useColorScheme.js.map +1 -1
  236. package/lib/module/components/hooks/useCombinedRef.js +18 -0
  237. package/lib/module/components/hooks/useCombinedRef.js.map +1 -0
  238. package/lib/module/components/hooks/useScrollState.js +56 -0
  239. package/lib/module/components/hooks/useScrollState.js.map +1 -0
  240. package/lib/module/components/index.js +1 -0
  241. package/lib/module/components/index.js.map +1 -1
  242. package/lib/module/constants.js +3 -0
  243. package/lib/module/constants.js.map +1 -1
  244. package/lib/module/context.js +1 -0
  245. package/lib/module/context.js.map +1 -1
  246. package/lib/module/hooks/index.js +3 -1
  247. package/lib/module/hooks/index.js.map +1 -1
  248. package/lib/module/hooks/useKeyboardState/index.js +33 -0
  249. package/lib/module/hooks/useKeyboardState/index.js.map +1 -0
  250. package/lib/module/hooks/useWindowDimensions/index.android.js.map +1 -1
  251. package/lib/module/hooks/useWindowDimensions/index.js.map +1 -1
  252. package/lib/module/index.js +3 -2
  253. package/lib/module/index.js.map +1 -1
  254. package/lib/module/internal.js +53 -18
  255. package/lib/module/internal.js.map +1 -1
  256. package/lib/module/module.js +21 -12
  257. package/lib/module/module.js.map +1 -1
  258. package/lib/module/reanimated.js.map +1 -1
  259. package/lib/module/reanimated.native.js.map +1 -1
  260. package/lib/module/specs/ClippingScrollViewDecoratorViewNativeComponent.js +6 -0
  261. package/lib/module/specs/ClippingScrollViewDecoratorViewNativeComponent.js.map +1 -0
  262. package/lib/module/specs/KeyboardControllerViewNativeComponent.js +7 -1
  263. package/lib/module/specs/KeyboardControllerViewNativeComponent.js.map +1 -1
  264. package/lib/module/specs/KeyboardGestureAreaNativeComponent.js +2 -1
  265. package/lib/module/specs/KeyboardGestureAreaNativeComponent.js.map +1 -1
  266. package/lib/module/specs/KeyboardToolbarGroupViewNativeComponent.js +5 -0
  267. package/lib/module/specs/KeyboardToolbarGroupViewNativeComponent.js.map +1 -0
  268. package/lib/module/specs/NativeKeyboardController.js.map +1 -1
  269. package/lib/module/specs/NativeStatusBarManagerCompat.js.map +1 -1
  270. package/lib/module/specs/OverKeyboardViewNativeComponent.js.map +1 -1
  271. package/lib/module/types.js.map +1 -1
  272. package/lib/module/utils/findNodeHandle/index.js +2 -0
  273. package/lib/module/utils/findNodeHandle/index.js.map +1 -0
  274. package/lib/module/utils/findNodeHandle/index.native.js +3 -0
  275. package/lib/module/utils/findNodeHandle/index.native.js.map +1 -0
  276. package/lib/module/utils.js.map +1 -1
  277. package/lib/module/views/KeyboardExtender/index.js +23 -0
  278. package/lib/module/views/KeyboardExtender/index.js.map +1 -0
  279. package/lib/module/views/OverKeyboardView/index.js.map +1 -1
  280. package/lib/module/views/index.js +1 -0
  281. package/lib/module/views/index.js.map +1 -1
  282. package/lib/typescript/animated.d.ts +2 -38
  283. package/lib/typescript/architecture.d.ts +1 -0
  284. package/lib/typescript/bindings.d.ts +15 -1
  285. package/lib/typescript/bindings.native.d.ts +10 -1
  286. package/lib/typescript/compat.d.ts +12 -0
  287. package/lib/typescript/components/KeyboardAvoidingView/index.d.ts +5 -0
  288. package/lib/typescript/components/KeyboardAwareScrollView/index.d.ts +4 -1
  289. package/lib/typescript/components/KeyboardChatScrollView/hooks.d.ts +2 -0
  290. package/lib/typescript/components/KeyboardChatScrollView/index.d.ts +17 -0
  291. package/lib/typescript/components/KeyboardChatScrollView/types.d.ts +113 -0
  292. package/lib/typescript/components/KeyboardChatScrollView/useChatKeyboard/helpers.d.ts +132 -0
  293. package/lib/typescript/components/KeyboardChatScrollView/useChatKeyboard/index.d.ts +18 -0
  294. package/lib/typescript/components/KeyboardChatScrollView/useChatKeyboard/index.ios.d.ts +21 -0
  295. package/lib/typescript/components/KeyboardChatScrollView/useChatKeyboard/types.d.ts +37 -0
  296. package/lib/typescript/components/KeyboardChatScrollView/useEndVisible.d.ts +17 -0
  297. package/lib/typescript/components/KeyboardChatScrollView/useExtraContentPadding/index.d.ts +45 -0
  298. package/lib/typescript/components/KeyboardToolbar/Button.d.ts +2 -2
  299. package/lib/typescript/components/KeyboardToolbar/compound/components/Background.d.ts +6 -0
  300. package/lib/typescript/components/KeyboardToolbar/compound/components/Content.d.ts +7 -0
  301. package/lib/typescript/components/KeyboardToolbar/compound/components/Done.d.ts +7 -0
  302. package/lib/typescript/components/KeyboardToolbar/compound/components/Next.d.ts +4 -0
  303. package/lib/typescript/components/KeyboardToolbar/compound/components/Prev.d.ts +4 -0
  304. package/lib/typescript/components/KeyboardToolbar/compound/components/index.d.ts +5 -0
  305. package/lib/typescript/components/KeyboardToolbar/compound/components/types.d.ts +14 -0
  306. package/lib/typescript/components/KeyboardToolbar/compound/context.d.ts +9 -0
  307. package/lib/typescript/components/KeyboardToolbar/constants.d.ts +10 -0
  308. package/lib/typescript/components/KeyboardToolbar/index.d.ts +12 -45
  309. package/lib/typescript/components/KeyboardToolbar/types.d.ts +24 -1
  310. package/lib/typescript/components/ScrollViewWithBottomPadding/index.d.ts +30 -0
  311. package/lib/typescript/components/ScrollViewWithBottomPadding/styles.d.ts +7 -0
  312. package/lib/typescript/components/hooks/useCombinedRef.d.ts +3 -0
  313. package/lib/typescript/components/hooks/useScrollState.d.ts +17 -0
  314. package/lib/typescript/components/index.d.ts +3 -0
  315. package/lib/typescript/constants.d.ts +1 -0
  316. package/lib/typescript/context.d.ts +1 -0
  317. package/lib/typescript/hooks/index.d.ts +2 -0
  318. package/lib/typescript/hooks/useKeyboardState/index.d.ts +4 -0
  319. package/lib/typescript/index.d.ts +4 -3
  320. package/lib/typescript/internal.d.ts +4 -0
  321. package/lib/typescript/specs/ClippingScrollViewDecoratorViewNativeComponent.d.ts +10 -0
  322. package/lib/typescript/specs/KeyboardControllerViewNativeComponent.d.ts +4 -0
  323. package/lib/typescript/specs/KeyboardToolbarGroupViewNativeComponent.d.ts +6 -0
  324. package/lib/typescript/specs/NativeKeyboardController.d.ts +6 -2
  325. package/lib/typescript/types.d.ts +81 -5
  326. package/lib/typescript/utils/findNodeHandle/index.d.ts +4 -0
  327. package/lib/typescript/utils/findNodeHandle/index.native.d.ts +2 -0
  328. package/lib/typescript/views/KeyboardExtender/index.d.ts +5 -0
  329. package/lib/typescript/views/index.d.ts +1 -0
  330. package/package.json +183 -174
  331. package/src/animated.tsx +248 -255
  332. package/src/architecture.ts +1 -0
  333. package/src/bindings.native.ts +97 -62
  334. package/src/bindings.ts +81 -42
  335. package/src/compat.ts +44 -0
  336. package/src/components/KeyboardAvoidingView/hooks.ts +130 -123
  337. package/src/components/KeyboardAvoidingView/index.tsx +232 -188
  338. package/src/components/KeyboardAwareScrollView/index.tsx +452 -389
  339. package/src/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.ts +133 -133
  340. package/src/components/KeyboardAwareScrollView/utils.ts +41 -41
  341. package/src/components/KeyboardChatScrollView/hooks.ts +2 -0
  342. package/src/components/KeyboardChatScrollView/index.tsx +164 -0
  343. package/src/components/KeyboardChatScrollView/types.ts +117 -0
  344. package/src/components/KeyboardChatScrollView/useChatKeyboard/helpers.ts +268 -0
  345. package/src/components/KeyboardChatScrollView/useChatKeyboard/index.ios.ts +260 -0
  346. package/src/components/KeyboardChatScrollView/useChatKeyboard/index.ts +374 -0
  347. package/src/components/KeyboardChatScrollView/useChatKeyboard/types.ts +39 -0
  348. package/src/components/KeyboardChatScrollView/useEndVisible.ts +66 -0
  349. package/src/components/KeyboardChatScrollView/useExtraContentPadding/index.ts +149 -0
  350. package/src/components/KeyboardStickyView/index.tsx +66 -66
  351. package/src/components/KeyboardToolbar/Arrow.tsx +80 -80
  352. package/src/components/KeyboardToolbar/Button.tsx +98 -98
  353. package/src/components/KeyboardToolbar/colors.native.ts +37 -37
  354. package/src/components/KeyboardToolbar/colors.ts +16 -16
  355. package/src/components/KeyboardToolbar/compound/components/Background.tsx +9 -0
  356. package/src/components/KeyboardToolbar/compound/components/Content.tsx +25 -0
  357. package/src/components/KeyboardToolbar/compound/components/Done.tsx +57 -0
  358. package/src/components/KeyboardToolbar/compound/components/Next.tsx +49 -0
  359. package/src/components/KeyboardToolbar/compound/components/Prev.tsx +49 -0
  360. package/src/components/KeyboardToolbar/compound/components/index.ts +5 -0
  361. package/src/components/KeyboardToolbar/compound/components/types.ts +15 -0
  362. package/src/components/KeyboardToolbar/compound/context.ts +25 -0
  363. package/src/components/KeyboardToolbar/constants.ts +14 -0
  364. package/src/components/KeyboardToolbar/index.tsx +220 -223
  365. package/src/components/KeyboardToolbar/types.ts +72 -40
  366. package/src/components/ScrollViewWithBottomPadding/index.tsx +216 -0
  367. package/src/components/ScrollViewWithBottomPadding/styles.ts +10 -0
  368. package/src/components/hooks/useColorScheme.ts +6 -6
  369. package/src/components/hooks/useCombinedRef.ts +22 -0
  370. package/src/components/hooks/useScrollState.ts +81 -0
  371. package/src/components/index.ts +14 -11
  372. package/src/constants.ts +23 -19
  373. package/src/context.ts +70 -68
  374. package/src/hooks/index.ts +91 -90
  375. package/src/hooks/useKeyboardState/index.ts +52 -0
  376. package/src/hooks/useWindowDimensions/index.android.ts +38 -38
  377. package/src/hooks/useWindowDimensions/index.ts +1 -1
  378. package/src/index.ts +27 -23
  379. package/src/internal.ts +146 -84
  380. package/src/module.ts +64 -52
  381. package/src/reanimated.native.ts +132 -132
  382. package/src/reanimated.ts +29 -29
  383. package/src/specs/ClippingScrollViewDecoratorViewNativeComponent.ts +19 -0
  384. package/src/specs/KeyboardControllerViewNativeComponent.ts +82 -71
  385. package/src/specs/KeyboardGestureAreaNativeComponent.ts +21 -20
  386. package/src/specs/KeyboardToolbarGroupViewNativeComponent.ts +10 -0
  387. package/src/specs/NativeKeyboardController.ts +23 -19
  388. package/src/specs/NativeStatusBarManagerCompat.ts +14 -14
  389. package/src/specs/OverKeyboardViewNativeComponent.ts +12 -12
  390. package/src/types.ts +330 -243
  391. package/src/utils/findNodeHandle/index.native.ts +3 -0
  392. package/src/utils/findNodeHandle/index.ts +6 -0
  393. package/src/utils.ts +1 -1
  394. package/src/views/KeyboardExtender/index.tsx +30 -0
  395. package/src/views/OverKeyboardView/index.tsx +43 -43
  396. package/src/views/index.ts +2 -1
  397. package/lib/commonjs/monkey-patch.android.js +0 -57
  398. package/lib/commonjs/monkey-patch.android.js.map +0 -1
  399. package/lib/commonjs/monkey-patch.js +0 -11
  400. package/lib/commonjs/monkey-patch.js.map +0 -1
  401. package/lib/module/monkey-patch.android.js +0 -47
  402. package/lib/module/monkey-patch.android.js.map +0 -1
  403. package/lib/module/monkey-patch.js +0 -5
  404. package/lib/module/monkey-patch.js.map +0 -1
  405. package/lib/typescript/monkey-patch.android.d.ts +0 -2
  406. package/lib/typescript/monkey-patch.d.ts +0 -2
  407. package/src/monkey-patch.android.ts +0 -44
  408. package/src/monkey-patch.ts +0 -4
package/src/module.ts CHANGED
@@ -1,52 +1,64 @@
1
- import { KeyboardControllerNative, KeyboardEvents } from "./bindings";
2
-
3
- import type {
4
- DismissOptions,
5
- KeyboardControllerModule,
6
- KeyboardEventData,
7
- } from "./types";
8
-
9
- let isClosed = false;
10
- let lastEvent: KeyboardEventData | null = null;
11
-
12
- KeyboardEvents.addListener("keyboardDidHide", (e) => {
13
- isClosed = true;
14
- lastEvent = e;
15
- });
16
-
17
- KeyboardEvents.addListener("keyboardDidShow", (e) => {
18
- isClosed = false;
19
- lastEvent = e;
20
- });
21
-
22
- const dismiss = async (
23
- { keepFocus }: DismissOptions = { keepFocus: false },
24
- ): Promise<void> => {
25
- return new Promise((resolve) => {
26
- if (isClosed) {
27
- resolve();
28
-
29
- return;
30
- }
31
-
32
- const subscription = KeyboardEvents.addListener("keyboardDidHide", () => {
33
- resolve(undefined);
34
- subscription.remove();
35
- });
36
-
37
- KeyboardControllerNative.dismiss(keepFocus);
38
- });
39
- };
40
- const isVisible = () => !isClosed;
41
- const state = () => lastEvent;
42
-
43
- export const KeyboardController: KeyboardControllerModule = {
44
- setDefaultMode: KeyboardControllerNative.setDefaultMode,
45
- setInputMode: KeyboardControllerNative.setInputMode,
46
- setFocusTo: KeyboardControllerNative.setFocusTo,
47
- dismiss,
48
- isVisible,
49
- state,
50
- addListener: KeyboardControllerNative.addListener,
51
- removeListeners: KeyboardControllerNative.removeListeners,
52
- };
1
+ import { KeyboardControllerNative, KeyboardEvents } from "./bindings";
2
+
3
+ import type {
4
+ DismissOptions,
5
+ KeyboardControllerModule,
6
+ KeyboardEventData,
7
+ } from "./types";
8
+
9
+ let isClosed = true;
10
+ let lastState: KeyboardEventData = {
11
+ height: 0,
12
+ tag: -1,
13
+ duration: 0,
14
+ timestamp: new Date().getTime(),
15
+ target: -1,
16
+ type: "default",
17
+ appearance: "light",
18
+ };
19
+
20
+ KeyboardEvents.addListener("keyboardDidHide", (e) => {
21
+ isClosed = true;
22
+ lastState = e;
23
+ });
24
+
25
+ KeyboardEvents.addListener("keyboardDidShow", (e) => {
26
+ isClosed = false;
27
+ lastState = e;
28
+ });
29
+
30
+ const dismiss = async (options?: Partial<DismissOptions>): Promise<void> => {
31
+ const keepFocus = options?.keepFocus ?? false;
32
+ const animated = options?.animated ?? true;
33
+
34
+ return new Promise((resolve) => {
35
+ if (isClosed) {
36
+ resolve();
37
+
38
+ return;
39
+ }
40
+
41
+ const subscription = KeyboardEvents.addListener("keyboardDidHide", () => {
42
+ resolve(undefined);
43
+ subscription.remove();
44
+ });
45
+
46
+ KeyboardControllerNative.dismiss(keepFocus, animated);
47
+ });
48
+ };
49
+ const isVisible = () => !isClosed;
50
+ const state = () => lastState;
51
+ const preload = KeyboardControllerNative.preload ?? (() => {});
52
+
53
+ export const KeyboardController: KeyboardControllerModule = {
54
+ setDefaultMode: KeyboardControllerNative.setDefaultMode,
55
+ setInputMode: KeyboardControllerNative.setInputMode,
56
+ setFocusTo: KeyboardControllerNative.setFocusTo,
57
+ preload,
58
+ dismiss,
59
+ isVisible,
60
+ state,
61
+ addListener: KeyboardControllerNative.addListener,
62
+ removeListeners: KeyboardControllerNative.removeListeners,
63
+ getConstants: KeyboardControllerNative.getConstants,
64
+ };
@@ -1,132 +1,132 @@
1
- import { useEvent, useHandler } from "react-native-reanimated";
2
-
3
- import type {
4
- EventWithName,
5
- FocusedInputLayoutChangedEvent,
6
- FocusedInputLayoutHandlerHook,
7
- FocusedInputSelectionChangedEvent,
8
- FocusedInputSelectionHandlerHook,
9
- FocusedInputTextChangedEvent,
10
- FocusedInputTextHandlerHook,
11
- KeyboardHandlerHook,
12
- NativeEvent,
13
- } from "./types";
14
-
15
- type EventContext = Record<string, unknown>;
16
-
17
- export const useAnimatedKeyboardHandler: KeyboardHandlerHook<
18
- EventContext,
19
- EventWithName<NativeEvent>
20
- > = (handlers, dependencies) => {
21
- const { context, doDependenciesDiffer } = useHandler(handlers, dependencies);
22
-
23
- return useEvent(
24
- (event) => {
25
- "worklet";
26
- const {
27
- onKeyboardMoveStart,
28
- onKeyboardMove,
29
- onKeyboardMoveEnd,
30
- onKeyboardMoveInteractive,
31
- } = handlers;
32
-
33
- if (
34
- onKeyboardMoveStart &&
35
- event.eventName.endsWith("onKeyboardMoveStart")
36
- ) {
37
- onKeyboardMoveStart(event, context);
38
- }
39
-
40
- if (onKeyboardMove && event.eventName.endsWith("onKeyboardMove")) {
41
- onKeyboardMove(event, context);
42
- }
43
-
44
- if (onKeyboardMoveEnd && event.eventName.endsWith("onKeyboardMoveEnd")) {
45
- onKeyboardMoveEnd(event, context);
46
- }
47
-
48
- if (
49
- onKeyboardMoveInteractive &&
50
- event.eventName.endsWith("onKeyboardMoveInteractive")
51
- ) {
52
- onKeyboardMoveInteractive(event, context);
53
- }
54
- },
55
- [
56
- "onKeyboardMoveStart",
57
- "onKeyboardMove",
58
- "onKeyboardMoveEnd",
59
- "onKeyboardMoveInteractive",
60
- ],
61
- doDependenciesDiffer,
62
- );
63
- };
64
-
65
- export const useFocusedInputLayoutHandler: FocusedInputLayoutHandlerHook<
66
- EventContext,
67
- EventWithName<FocusedInputLayoutChangedEvent>
68
- > = (handlers, dependencies) => {
69
- const { context, doDependenciesDiffer } = useHandler(handlers, dependencies);
70
-
71
- return useEvent(
72
- (event) => {
73
- "worklet";
74
- const { onFocusedInputLayoutChanged } = handlers;
75
-
76
- if (
77
- onFocusedInputLayoutChanged &&
78
- event.eventName.endsWith("onFocusedInputLayoutChanged")
79
- ) {
80
- onFocusedInputLayoutChanged(event, context);
81
- }
82
- },
83
- ["onFocusedInputLayoutChanged"],
84
- doDependenciesDiffer,
85
- );
86
- };
87
-
88
- export const useFocusedInputTextHandler: FocusedInputTextHandlerHook<
89
- EventContext,
90
- EventWithName<FocusedInputTextChangedEvent>
91
- > = (handlers, dependencies) => {
92
- const { context, doDependenciesDiffer } = useHandler(handlers, dependencies);
93
-
94
- return useEvent(
95
- (event) => {
96
- "worklet";
97
- const { onFocusedInputTextChanged } = handlers;
98
-
99
- if (
100
- onFocusedInputTextChanged &&
101
- event.eventName.endsWith("onFocusedInputTextChanged")
102
- ) {
103
- onFocusedInputTextChanged(event, context);
104
- }
105
- },
106
- ["onFocusedInputTextChanged"],
107
- doDependenciesDiffer,
108
- );
109
- };
110
-
111
- export const useFocusedInputSelectionHandler: FocusedInputSelectionHandlerHook<
112
- EventContext,
113
- EventWithName<FocusedInputSelectionChangedEvent>
114
- > = (handlers, dependencies) => {
115
- const { context, doDependenciesDiffer } = useHandler(handlers, dependencies);
116
-
117
- return useEvent(
118
- (event) => {
119
- "worklet";
120
- const { onFocusedInputSelectionChanged } = handlers;
121
-
122
- if (
123
- onFocusedInputSelectionChanged &&
124
- event.eventName.endsWith("onFocusedInputSelectionChanged")
125
- ) {
126
- onFocusedInputSelectionChanged(event, context);
127
- }
128
- },
129
- ["onFocusedInputSelectionChanged"],
130
- doDependenciesDiffer,
131
- );
132
- };
1
+ import { useEvent, useHandler } from "react-native-reanimated";
2
+
3
+ import type {
4
+ EventWithName,
5
+ FocusedInputLayoutChangedEvent,
6
+ FocusedInputLayoutHandlerHook,
7
+ FocusedInputSelectionChangedEvent,
8
+ FocusedInputSelectionHandlerHook,
9
+ FocusedInputTextChangedEvent,
10
+ FocusedInputTextHandlerHook,
11
+ KeyboardHandlerHook,
12
+ NativeEvent,
13
+ } from "./types";
14
+
15
+ type EventContext = Record<string, unknown>;
16
+
17
+ export const useAnimatedKeyboardHandler: KeyboardHandlerHook<
18
+ EventContext,
19
+ EventWithName<NativeEvent>
20
+ > = (handlers, dependencies) => {
21
+ const { context, doDependenciesDiffer } = useHandler(handlers, dependencies);
22
+
23
+ return useEvent(
24
+ (event) => {
25
+ "worklet";
26
+ const {
27
+ onKeyboardMoveStart,
28
+ onKeyboardMove,
29
+ onKeyboardMoveEnd,
30
+ onKeyboardMoveInteractive,
31
+ } = handlers;
32
+
33
+ if (
34
+ onKeyboardMoveStart &&
35
+ event.eventName.endsWith("onKeyboardMoveStart")
36
+ ) {
37
+ onKeyboardMoveStart(event, context);
38
+ }
39
+
40
+ if (onKeyboardMove && event.eventName.endsWith("onKeyboardMove")) {
41
+ onKeyboardMove(event, context);
42
+ }
43
+
44
+ if (onKeyboardMoveEnd && event.eventName.endsWith("onKeyboardMoveEnd")) {
45
+ onKeyboardMoveEnd(event, context);
46
+ }
47
+
48
+ if (
49
+ onKeyboardMoveInteractive &&
50
+ event.eventName.endsWith("onKeyboardMoveInteractive")
51
+ ) {
52
+ onKeyboardMoveInteractive(event, context);
53
+ }
54
+ },
55
+ [
56
+ "onKeyboardMoveStart",
57
+ "onKeyboardMove",
58
+ "onKeyboardMoveEnd",
59
+ "onKeyboardMoveInteractive",
60
+ ],
61
+ doDependenciesDiffer,
62
+ );
63
+ };
64
+
65
+ export const useFocusedInputLayoutHandler: FocusedInputLayoutHandlerHook<
66
+ EventContext,
67
+ EventWithName<FocusedInputLayoutChangedEvent>
68
+ > = (handlers, dependencies) => {
69
+ const { context, doDependenciesDiffer } = useHandler(handlers, dependencies);
70
+
71
+ return useEvent(
72
+ (event) => {
73
+ "worklet";
74
+ const { onFocusedInputLayoutChanged } = handlers;
75
+
76
+ if (
77
+ onFocusedInputLayoutChanged &&
78
+ event.eventName.endsWith("onFocusedInputLayoutChanged")
79
+ ) {
80
+ onFocusedInputLayoutChanged(event, context);
81
+ }
82
+ },
83
+ ["onFocusedInputLayoutChanged"],
84
+ doDependenciesDiffer,
85
+ );
86
+ };
87
+
88
+ export const useFocusedInputTextHandler: FocusedInputTextHandlerHook<
89
+ EventContext,
90
+ EventWithName<FocusedInputTextChangedEvent>
91
+ > = (handlers, dependencies) => {
92
+ const { context, doDependenciesDiffer } = useHandler(handlers, dependencies);
93
+
94
+ return useEvent(
95
+ (event) => {
96
+ "worklet";
97
+ const { onFocusedInputTextChanged } = handlers;
98
+
99
+ if (
100
+ onFocusedInputTextChanged &&
101
+ event.eventName.endsWith("onFocusedInputTextChanged")
102
+ ) {
103
+ onFocusedInputTextChanged(event, context);
104
+ }
105
+ },
106
+ ["onFocusedInputTextChanged"],
107
+ doDependenciesDiffer,
108
+ );
109
+ };
110
+
111
+ export const useFocusedInputSelectionHandler: FocusedInputSelectionHandlerHook<
112
+ EventContext,
113
+ EventWithName<FocusedInputSelectionChangedEvent>
114
+ > = (handlers, dependencies) => {
115
+ const { context, doDependenciesDiffer } = useHandler(handlers, dependencies);
116
+
117
+ return useEvent(
118
+ (event) => {
119
+ "worklet";
120
+ const { onFocusedInputSelectionChanged } = handlers;
121
+
122
+ if (
123
+ onFocusedInputSelectionChanged &&
124
+ event.eventName.endsWith("onFocusedInputSelectionChanged")
125
+ ) {
126
+ onFocusedInputSelectionChanged(event, context);
127
+ }
128
+ },
129
+ ["onFocusedInputSelectionChanged"],
130
+ doDependenciesDiffer,
131
+ );
132
+ };
package/src/reanimated.ts CHANGED
@@ -1,29 +1,29 @@
1
- import type {
2
- EventWithName,
3
- FocusedInputLayoutChangedEvent,
4
- FocusedInputLayoutHandlerHook,
5
- FocusedInputSelectionChangedEvent,
6
- FocusedInputSelectionHandlerHook,
7
- FocusedInputTextChangedEvent,
8
- FocusedInputTextHandlerHook,
9
- KeyboardHandlerHook,
10
- NativeEvent,
11
- } from "./types";
12
-
13
- const NOOP = () => () => {};
14
- export const useAnimatedKeyboardHandler: KeyboardHandlerHook<
15
- Record<string, unknown>,
16
- EventWithName<NativeEvent>
17
- > = NOOP;
18
- export const useFocusedInputLayoutHandler: FocusedInputLayoutHandlerHook<
19
- Record<string, unknown>,
20
- EventWithName<FocusedInputLayoutChangedEvent>
21
- > = NOOP;
22
- export const useFocusedInputTextHandler: FocusedInputTextHandlerHook<
23
- Record<string, unknown>,
24
- EventWithName<FocusedInputTextChangedEvent>
25
- > = NOOP;
26
- export const useFocusedInputSelectionHandler: FocusedInputSelectionHandlerHook<
27
- Record<string, unknown>,
28
- EventWithName<FocusedInputSelectionChangedEvent>
29
- > = NOOP;
1
+ import type {
2
+ EventWithName,
3
+ FocusedInputLayoutChangedEvent,
4
+ FocusedInputLayoutHandlerHook,
5
+ FocusedInputSelectionChangedEvent,
6
+ FocusedInputSelectionHandlerHook,
7
+ FocusedInputTextChangedEvent,
8
+ FocusedInputTextHandlerHook,
9
+ KeyboardHandlerHook,
10
+ NativeEvent,
11
+ } from "./types";
12
+
13
+ const NOOP = () => () => {};
14
+ export const useAnimatedKeyboardHandler: KeyboardHandlerHook<
15
+ Record<string, unknown>,
16
+ EventWithName<NativeEvent>
17
+ > = NOOP;
18
+ export const useFocusedInputLayoutHandler: FocusedInputLayoutHandlerHook<
19
+ Record<string, unknown>,
20
+ EventWithName<FocusedInputLayoutChangedEvent>
21
+ > = NOOP;
22
+ export const useFocusedInputTextHandler: FocusedInputTextHandlerHook<
23
+ Record<string, unknown>,
24
+ EventWithName<FocusedInputTextChangedEvent>
25
+ > = NOOP;
26
+ export const useFocusedInputSelectionHandler: FocusedInputSelectionHandlerHook<
27
+ Record<string, unknown>,
28
+ EventWithName<FocusedInputSelectionChangedEvent>
29
+ > = NOOP;
@@ -0,0 +1,19 @@
1
+ import { codegenNativeComponent } from "react-native";
2
+
3
+ import type { HostComponent } from "react-native";
4
+ import type { ViewProps } from "react-native";
5
+ import type { Double } from "react-native/Libraries/Types/CodegenTypes";
6
+
7
+ export interface NativeProps extends ViewProps {
8
+ contentInsetBottom: Double;
9
+ contentInsetTop: Double;
10
+ applyWorkaroundForContentInsetHitTestBug?: boolean;
11
+ }
12
+
13
+ export default codegenNativeComponent<NativeProps>(
14
+ "ClippingScrollViewDecoratorView",
15
+ {
16
+ interfaceOnly: true,
17
+ excludedPlatforms: ["iOS"],
18
+ },
19
+ ) as HostComponent<NativeProps>;
@@ -1,71 +1,82 @@
1
- import codegenNativeComponent from "react-native/Libraries/Utilities/codegenNativeComponent";
2
-
3
- import type { HostComponent } from "react-native";
4
- import type { ViewProps } from "react-native/Libraries/Components/View/ViewPropTypes";
5
- import type {
6
- DirectEventHandler,
7
- Double,
8
- Int32,
9
- } from "react-native/Libraries/Types/CodegenTypes";
10
-
11
- type KeyboardMoveEvent = Readonly<{
12
- height: Double;
13
- progress: Double;
14
- duration: Int32;
15
- target: Int32;
16
- }>;
17
-
18
- type FocusedInputLayoutChangedEvent = Readonly<{
19
- target: Int32;
20
- parentScrollViewTarget: Int32;
21
- layout: {
22
- x: Double;
23
- y: Double;
24
- width: Double;
25
- height: Double;
26
- absoluteX: Double;
27
- absoluteY: Double;
28
- };
29
- }>;
30
-
31
- type FocusedInputTextChangedEvent = Readonly<{
32
- text: string;
33
- }>;
34
-
35
- type FocusedInputSelectionChangedEvent = Readonly<{
36
- target: Int32;
37
- selection: {
38
- start: {
39
- x: Double;
40
- y: Double;
41
- position: Int32;
42
- };
43
- end: {
44
- x: Double;
45
- y: Double;
46
- position: Int32;
47
- };
48
- };
49
- }>;
50
-
51
- export interface NativeProps extends ViewProps {
52
- // props
53
- enabled?: boolean;
54
- statusBarTranslucent?: boolean;
55
- navigationBarTranslucent?: boolean;
56
- preserveEdgeToEdge?: boolean;
57
- // callbacks
58
- /// keyboard
59
- onKeyboardMoveStart?: DirectEventHandler<KeyboardMoveEvent>;
60
- onKeyboardMove?: DirectEventHandler<KeyboardMoveEvent>;
61
- onKeyboardMoveEnd?: DirectEventHandler<KeyboardMoveEvent>;
62
- onKeyboardMoveInteractive?: DirectEventHandler<KeyboardMoveEvent>;
63
- /// focused input
64
- onFocusedInputLayoutChanged?: DirectEventHandler<FocusedInputLayoutChangedEvent>;
65
- onFocusedInputTextChanged?: DirectEventHandler<FocusedInputTextChangedEvent>;
66
- onFocusedInputSelectionChanged?: DirectEventHandler<FocusedInputSelectionChangedEvent>;
67
- }
68
-
69
- export default codegenNativeComponent<NativeProps>(
70
- "RNKeyboardControllerView",
71
- ) as HostComponent<NativeProps>;
1
+ import codegenNativeCommands from "react-native/Libraries/Utilities/codegenNativeCommands";
2
+ import codegenNativeComponent from "react-native/Libraries/Utilities/codegenNativeComponent";
3
+
4
+ import type { HostComponent } from "react-native";
5
+ import type { ViewProps } from "react-native/Libraries/Components/View/ViewPropTypes";
6
+ import type {
7
+ DirectEventHandler,
8
+ Double,
9
+ Int32,
10
+ } from "react-native/Libraries/Types/CodegenTypes";
11
+
12
+ type KeyboardMoveEvent = Readonly<{
13
+ height: Double;
14
+ progress: Double;
15
+ duration: Int32;
16
+ target: Int32;
17
+ }>;
18
+
19
+ type FocusedInputLayoutChangedEvent = Readonly<{
20
+ target: Int32;
21
+ parentScrollViewTarget: Int32;
22
+ layout: {
23
+ x: Double;
24
+ y: Double;
25
+ width: Double;
26
+ height: Double;
27
+ absoluteX: Double;
28
+ absoluteY: Double;
29
+ };
30
+ }>;
31
+
32
+ type FocusedInputTextChangedEvent = Readonly<{
33
+ text: string;
34
+ }>;
35
+
36
+ type FocusedInputSelectionChangedEvent = Readonly<{
37
+ target: Int32;
38
+ selection: {
39
+ start: {
40
+ x: Double;
41
+ y: Double;
42
+ position: Int32;
43
+ };
44
+ end: {
45
+ x: Double;
46
+ y: Double;
47
+ position: Int32;
48
+ };
49
+ };
50
+ }>;
51
+
52
+ export interface NativeProps extends ViewProps {
53
+ // props
54
+ enabled?: boolean;
55
+ statusBarTranslucent?: boolean;
56
+ navigationBarTranslucent?: boolean;
57
+ preserveEdgeToEdge?: boolean;
58
+ // callbacks
59
+ /// keyboard
60
+ onKeyboardMoveStart?: DirectEventHandler<KeyboardMoveEvent>;
61
+ onKeyboardMove?: DirectEventHandler<KeyboardMoveEvent>;
62
+ onKeyboardMoveEnd?: DirectEventHandler<KeyboardMoveEvent>;
63
+ onKeyboardMoveInteractive?: DirectEventHandler<KeyboardMoveEvent>;
64
+ /// focused input
65
+ onFocusedInputLayoutChanged?: DirectEventHandler<FocusedInputLayoutChangedEvent>;
66
+ onFocusedInputTextChanged?: DirectEventHandler<FocusedInputTextChangedEvent>;
67
+ onFocusedInputSelectionChanged?: DirectEventHandler<FocusedInputSelectionChangedEvent>;
68
+ }
69
+
70
+ interface NativeCommands {
71
+ synchronizeFocusedInputLayout: (
72
+ viewRef: React.ElementRef<HostComponent<NativeProps>>,
73
+ ) => void;
74
+ }
75
+
76
+ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
77
+ supportedCommands: ["synchronizeFocusedInputLayout"],
78
+ });
79
+
80
+ export default codegenNativeComponent<NativeProps>("RNKeyboardControllerView", {
81
+ interfaceOnly: true,
82
+ }) as HostComponent<NativeProps>;
@@ -1,20 +1,21 @@
1
- import codegenNativeComponent from "react-native/Libraries/Utilities/codegenNativeComponent";
2
-
3
- import type { HostComponent } from "react-native";
4
- import type { ViewProps } from "react-native/Libraries/Components/View/ViewPropTypes";
5
- import type {
6
- Double,
7
- WithDefault,
8
- } from "react-native/Libraries/Types/CodegenTypes";
9
-
10
- export interface NativeProps extends ViewProps {
11
- interpolator?: WithDefault<"linear" | "ios", "linear">;
12
- showOnSwipeUp?: boolean;
13
- enableSwipeToDismiss?: boolean;
14
- offset?: Double;
15
- textInputNativeID?: string;
16
- }
17
-
18
- export default codegenNativeComponent<NativeProps>("RNKeyboardGestureArea", {
19
- excludedPlatforms: ["iOS"],
20
- }) as HostComponent<NativeProps>;
1
+ import codegenNativeComponent from "react-native/Libraries/Utilities/codegenNativeComponent";
2
+
3
+ import type { HostComponent } from "react-native";
4
+ import type { ViewProps } from "react-native/Libraries/Components/View/ViewPropTypes";
5
+ import type {
6
+ Double,
7
+ WithDefault,
8
+ } from "react-native/Libraries/Types/CodegenTypes";
9
+
10
+ export interface NativeProps extends ViewProps {
11
+ interpolator?: WithDefault<"linear" | "ios", "linear">;
12
+ showOnSwipeUp?: boolean;
13
+ enableSwipeToDismiss?: boolean;
14
+ offset?: Double;
15
+ textInputNativeID?: string;
16
+ }
17
+
18
+ export default codegenNativeComponent<NativeProps>("RNKeyboardGestureArea", {
19
+ excludedPlatforms: ["iOS"],
20
+ interfaceOnly: true,
21
+ }) as HostComponent<NativeProps>;
@@ -0,0 +1,10 @@
1
+ import codegenNativeComponent from "react-native/Libraries/Utilities/codegenNativeComponent";
2
+
3
+ import type { HostComponent } from "react-native";
4
+ import type { ViewProps } from "react-native/Libraries/Components/View/ViewPropTypes";
5
+
6
+ export interface NativeProps extends ViewProps {}
7
+
8
+ export default codegenNativeComponent<NativeProps>("KeyboardToolbarGroupView", {
9
+ interfaceOnly: true,
10
+ }) as HostComponent<NativeProps>;