react-native-keyboard-controller 1.11.3 → 1.11.4

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 (109) hide show
  1. package/ios/KeyboardController.xcodeproj/project.pbxproj +4 -0
  2. package/ios/observers/KeyboardMovementObserver.swift +1 -25
  3. package/ios/traversal/KeyboardView.swift +36 -0
  4. package/lib/commonjs/animated.js +14 -12
  5. package/lib/commonjs/animated.js.map +1 -1
  6. package/lib/commonjs/bindings.js +5 -10
  7. package/lib/commonjs/bindings.js.map +1 -1
  8. package/lib/commonjs/bindings.native.js +7 -15
  9. package/lib/commonjs/bindings.native.js.map +1 -1
  10. package/lib/commonjs/components/KeyboardAvoidingView/hooks.js.map +1 -1
  11. package/lib/commonjs/components/KeyboardAvoidingView/index.js +15 -17
  12. package/lib/commonjs/components/KeyboardAvoidingView/index.js.map +1 -1
  13. package/lib/commonjs/components/KeyboardAwareScrollView/index.js +13 -16
  14. package/lib/commonjs/components/KeyboardAwareScrollView/index.js.map +1 -1
  15. package/lib/commonjs/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js +7 -7
  16. package/lib/commonjs/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js.map +1 -1
  17. package/lib/commonjs/components/KeyboardAwareScrollView/utils.js +3 -4
  18. package/lib/commonjs/components/KeyboardAwareScrollView/utils.js.map +1 -1
  19. package/lib/commonjs/components/KeyboardStickyView/index.js +12 -14
  20. package/lib/commonjs/components/KeyboardStickyView/index.js.map +1 -1
  21. package/lib/commonjs/components/KeyboardToolbar/Arrow.js +8 -10
  22. package/lib/commonjs/components/KeyboardToolbar/Arrow.js.map +1 -1
  23. package/lib/commonjs/components/KeyboardToolbar/Button.js +23 -26
  24. package/lib/commonjs/components/KeyboardToolbar/Button.js.map +1 -1
  25. package/lib/commonjs/components/KeyboardToolbar/colors.js +1 -2
  26. package/lib/commonjs/components/KeyboardToolbar/colors.js.map +1 -1
  27. package/lib/commonjs/components/KeyboardToolbar/colors.native.js +1 -2
  28. package/lib/commonjs/components/KeyboardToolbar/colors.native.js.map +1 -1
  29. package/lib/commonjs/components/KeyboardToolbar/index.js +11 -13
  30. package/lib/commonjs/components/KeyboardToolbar/index.js.map +1 -1
  31. package/lib/commonjs/components/KeyboardToolbar/types.js.map +1 -1
  32. package/lib/commonjs/components/hooks/useColorScheme.js +1 -2
  33. package/lib/commonjs/components/hooks/useColorScheme.js.map +1 -1
  34. package/lib/commonjs/components/index.js +2 -2
  35. package/lib/commonjs/components/index.js.map +1 -1
  36. package/lib/commonjs/constants.js +3 -4
  37. package/lib/commonjs/constants.js.map +1 -1
  38. package/lib/commonjs/context.js +1 -2
  39. package/lib/commonjs/context.js.map +1 -1
  40. package/lib/commonjs/hooks.js.map +1 -1
  41. package/lib/commonjs/index.js.map +1 -1
  42. package/lib/commonjs/internal.js +1 -1
  43. package/lib/commonjs/internal.js.map +1 -1
  44. package/lib/commonjs/monkey-patch.android.js +2 -2
  45. package/lib/commonjs/monkey-patch.android.js.map +1 -1
  46. package/lib/commonjs/monkey-patch.js +2 -4
  47. package/lib/commonjs/monkey-patch.js.map +1 -1
  48. package/lib/commonjs/reanimated.js +3 -6
  49. package/lib/commonjs/reanimated.js.map +1 -1
  50. package/lib/commonjs/reanimated.native.js.map +1 -1
  51. package/lib/commonjs/specs/KeyboardControllerViewNativeComponent.js +1 -2
  52. package/lib/commonjs/specs/KeyboardControllerViewNativeComponent.js.map +1 -1
  53. package/lib/commonjs/specs/KeyboardGestureAreaNativeComponent.js +1 -2
  54. package/lib/commonjs/specs/KeyboardGestureAreaNativeComponent.js.map +1 -1
  55. package/lib/commonjs/specs/NativeKeyboardController.js +1 -2
  56. package/lib/commonjs/specs/NativeKeyboardController.js.map +1 -1
  57. package/lib/commonjs/specs/NativeStatusBarManagerCompat.js +1 -2
  58. package/lib/commonjs/specs/NativeStatusBarManagerCompat.js.map +1 -1
  59. package/lib/commonjs/types.js.map +1 -1
  60. package/lib/commonjs/utils.js.map +1 -1
  61. package/lib/module/animated.js +12 -10
  62. package/lib/module/animated.js.map +1 -1
  63. package/lib/module/bindings.js.map +1 -1
  64. package/lib/module/bindings.native.js +3 -6
  65. package/lib/module/bindings.native.js.map +1 -1
  66. package/lib/module/components/KeyboardAvoidingView/hooks.js.map +1 -1
  67. package/lib/module/components/KeyboardAvoidingView/index.js +12 -13
  68. package/lib/module/components/KeyboardAvoidingView/index.js.map +1 -1
  69. package/lib/module/components/KeyboardAwareScrollView/index.js +10 -12
  70. package/lib/module/components/KeyboardAwareScrollView/index.js.map +1 -1
  71. package/lib/module/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js +7 -7
  72. package/lib/module/components/KeyboardAwareScrollView/useSmoothKeyboardHandler.js.map +1 -1
  73. package/lib/module/components/KeyboardAwareScrollView/utils.js +3 -4
  74. package/lib/module/components/KeyboardAwareScrollView/utils.js.map +1 -1
  75. package/lib/module/components/KeyboardStickyView/index.js +9 -10
  76. package/lib/module/components/KeyboardStickyView/index.js.map +1 -1
  77. package/lib/module/components/KeyboardToolbar/Arrow.js +5 -6
  78. package/lib/module/components/KeyboardToolbar/Arrow.js.map +1 -1
  79. package/lib/module/components/KeyboardToolbar/Button.js +20 -22
  80. package/lib/module/components/KeyboardToolbar/Button.js.map +1 -1
  81. package/lib/module/components/KeyboardToolbar/colors.js.map +1 -1
  82. package/lib/module/components/KeyboardToolbar/colors.native.js.map +1 -1
  83. package/lib/module/components/KeyboardToolbar/index.js +8 -9
  84. package/lib/module/components/KeyboardToolbar/index.js.map +1 -1
  85. package/lib/module/components/KeyboardToolbar/types.js.map +1 -1
  86. package/lib/module/components/hooks/useColorScheme.js.map +1 -1
  87. package/lib/module/components/index.js.map +1 -1
  88. package/lib/module/constants.js +3 -3
  89. package/lib/module/constants.js.map +1 -1
  90. package/lib/module/context.js.map +1 -1
  91. package/lib/module/hooks.js.map +1 -1
  92. package/lib/module/index.js.map +1 -1
  93. package/lib/module/internal.js +1 -1
  94. package/lib/module/internal.js.map +1 -1
  95. package/lib/module/monkey-patch.android.js.map +1 -1
  96. package/lib/module/monkey-patch.js.map +1 -1
  97. package/lib/module/reanimated.js.map +1 -1
  98. package/lib/module/reanimated.native.js.map +1 -1
  99. package/lib/module/specs/KeyboardControllerViewNativeComponent.js.map +1 -1
  100. package/lib/module/specs/KeyboardGestureAreaNativeComponent.js.map +1 -1
  101. package/lib/module/specs/NativeKeyboardController.js.map +1 -1
  102. package/lib/module/specs/NativeStatusBarManagerCompat.js.map +1 -1
  103. package/lib/module/types.js.map +1 -1
  104. package/lib/module/utils.js.map +1 -1
  105. package/lib/typescript/animated.d.ts +1 -1
  106. package/lib/typescript/components/KeyboardToolbar/Button.d.ts +1 -1
  107. package/package.json +7 -7
  108. package/src/animated.tsx +7 -3
  109. package/src/components/KeyboardAvoidingView/index.tsx +1 -1
package/src/animated.tsx CHANGED
@@ -72,6 +72,10 @@ type KeyboardProviderProps = {
72
72
  enabled?: boolean;
73
73
  };
74
74
 
75
+ // capture `Platform.OS` in separate variable to avoid deep workletization of entire RN package
76
+ // see https://github.com/kirillzyusko/react-native-keyboard-controller/issues/393 and https://github.com/kirillzyusko/react-native-keyboard-controller/issues/294 for more details
77
+ const OS = Platform.OS;
78
+
75
79
  export const KeyboardProvider = ({
76
80
  children,
77
81
  statusBarTranslucent,
@@ -130,7 +134,7 @@ export const KeyboardProvider = ({
130
134
  const updateSharedValues = (event: NativeEvent, platforms: string[]) => {
131
135
  "worklet";
132
136
 
133
- if (platforms.includes(Platform.OS)) {
137
+ if (platforms.includes(OS)) {
134
138
  progressSV.value = event.progress;
135
139
  heightSV.value = -event.height;
136
140
  }
@@ -201,8 +205,8 @@ export const KeyboardProvider = ({
201
205
  <KeyboardControllerViewAnimated
202
206
  enabled={enabled}
203
207
  onKeyboardMoveReanimated={keyboardHandler}
204
- onKeyboardMoveStart={Platform.OS === "ios" ? onKeyboardMove : undefined}
205
- onKeyboardMove={Platform.OS === "android" ? onKeyboardMove : undefined}
208
+ onKeyboardMoveStart={OS === "ios" ? onKeyboardMove : undefined}
209
+ onKeyboardMove={OS === "android" ? onKeyboardMove : undefined}
206
210
  onKeyboardMoveInteractive={onKeyboardMove}
207
211
  onFocusedInputLayoutChangedReanimated={inputLayoutHandler}
208
212
  onFocusedInputTextChangedReanimated={inputTextHandler}
@@ -79,7 +79,7 @@ const KeyboardAvoidingView = forwardRef<View, React.PropsWithChildren<Props>>(
79
79
  const onLayoutWorklet = useCallback((layout: LayoutRectangle) => {
80
80
  "worklet";
81
81
 
82
- if (keyboard.isClosed.value) {
82
+ if (keyboard.isClosed.value || initialFrame.value === null) {
83
83
  initialFrame.value = layout;
84
84
  }
85
85
  }, []);