@react-native-ohos/react-native-keyboard-controller 1.16.7 → 1.16.8

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 +833 -287
  16. package/harmony/keyboard_controller/src/main/cpp/KeyboardControllerViewComponentInstance.h +169 -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 +43 -41
  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 +44 -42
  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 +397 -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
@@ -1 +1 @@
1
- {"version":3,"names":["codegenNativeComponent"],"sources":["KeyboardControllerViewNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from \"react-native/Libraries/Utilities/codegenNativeComponent\";\r\n\r\nimport type { HostComponent } from \"react-native\";\r\nimport type { ViewProps } from \"react-native/Libraries/Components/View/ViewPropTypes\";\r\nimport type {\r\n DirectEventHandler,\r\n Double,\r\n Int32,\r\n} from \"react-native/Libraries/Types/CodegenTypes\";\r\n\r\ntype KeyboardMoveEvent = Readonly<{\r\n height: Double;\r\n progress: Double;\r\n duration: Int32;\r\n target: Int32;\r\n}>;\r\n\r\ntype FocusedInputLayoutChangedEvent = Readonly<{\r\n target: Int32;\r\n parentScrollViewTarget: Int32;\r\n layout: {\r\n x: Double;\r\n y: Double;\r\n width: Double;\r\n height: Double;\r\n absoluteX: Double;\r\n absoluteY: Double;\r\n };\r\n}>;\r\n\r\ntype FocusedInputTextChangedEvent = Readonly<{\r\n text: string;\r\n}>;\r\n\r\ntype FocusedInputSelectionChangedEvent = Readonly<{\r\n target: Int32;\r\n selection: {\r\n start: {\r\n x: Double;\r\n y: Double;\r\n position: Int32;\r\n };\r\n end: {\r\n x: Double;\r\n y: Double;\r\n position: Int32;\r\n };\r\n };\r\n}>;\r\n\r\nexport interface NativeProps extends ViewProps {\r\n // props\r\n enabled?: boolean;\r\n statusBarTranslucent?: boolean;\r\n navigationBarTranslucent?: boolean;\r\n preserveEdgeToEdge?: boolean;\r\n // callbacks\r\n /// keyboard\r\n onKeyboardMoveStart?: DirectEventHandler<KeyboardMoveEvent>;\r\n onKeyboardMove?: DirectEventHandler<KeyboardMoveEvent>;\r\n onKeyboardMoveEnd?: DirectEventHandler<KeyboardMoveEvent>;\r\n onKeyboardMoveInteractive?: DirectEventHandler<KeyboardMoveEvent>;\r\n /// focused input\r\n onFocusedInputLayoutChanged?: DirectEventHandler<FocusedInputLayoutChangedEvent>;\r\n onFocusedInputTextChanged?: DirectEventHandler<FocusedInputTextChangedEvent>;\r\n onFocusedInputSelectionChanged?: DirectEventHandler<FocusedInputSelectionChangedEvent>;\r\n}\r\n\r\nexport default codegenNativeComponent<NativeProps>(\r\n \"RNKeyboardControllerView\",\r\n) as HostComponent<NativeProps>;\r\n"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;AAoE5F,eAAeA,sBAAsB,CACnC,0BACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["codegenNativeComponent"],"sources":["KeyboardControllerViewNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from \"react-native/Libraries/Utilities/codegenNativeComponent\";\n\nimport type { HostComponent } from \"react-native\";\nimport type { ViewProps } from \"react-native/Libraries/Components/View/ViewPropTypes\";\nimport type {\n DirectEventHandler,\n Double,\n Int32,\n} from \"react-native/Libraries/Types/CodegenTypes\";\n\ntype KeyboardMoveEvent = Readonly<{\n height: Double;\n progress: Double;\n duration: Int32;\n target: Int32;\n}>;\n\ntype FocusedInputLayoutChangedEvent = Readonly<{\n target: Int32;\n parentScrollViewTarget: Int32;\n layout: {\n x: Double;\n y: Double;\n width: Double;\n height: Double;\n absoluteX: Double;\n absoluteY: Double;\n };\n}>;\n\ntype FocusedInputTextChangedEvent = Readonly<{\n text: string;\n}>;\n\ntype FocusedInputSelectionChangedEvent = Readonly<{\n target: Int32;\n selection: {\n start: {\n x: Double;\n y: Double;\n position: Int32;\n };\n end: {\n x: Double;\n y: Double;\n position: Int32;\n };\n };\n}>;\n\nexport interface NativeProps extends ViewProps {\n // props\n enabled?: boolean;\n statusBarTranslucent?: boolean;\n navigationBarTranslucent?: boolean;\n preserveEdgeToEdge?: boolean;\n // callbacks\n /// keyboard\n onKeyboardMoveStart?: DirectEventHandler<KeyboardMoveEvent>;\n onKeyboardMove?: DirectEventHandler<KeyboardMoveEvent>;\n onKeyboardMoveEnd?: DirectEventHandler<KeyboardMoveEvent>;\n onKeyboardMoveInteractive?: DirectEventHandler<KeyboardMoveEvent>;\n /// focused input\n onFocusedInputLayoutChanged?: DirectEventHandler<FocusedInputLayoutChangedEvent>;\n onFocusedInputTextChanged?: DirectEventHandler<FocusedInputTextChangedEvent>;\n onFocusedInputSelectionChanged?: DirectEventHandler<FocusedInputSelectionChangedEvent>;\n}\n\nexport default codegenNativeComponent<NativeProps>(\n \"RNKeyboardControllerView\",\n) as HostComponent<NativeProps>;\n"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;AAoE5F,eAAeA,sBAAsB,CACnC,0BACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["codegenNativeComponent","excludedPlatforms"],"sources":["KeyboardGestureAreaNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from \"react-native/Libraries/Utilities/codegenNativeComponent\";\r\n\r\nimport type { HostComponent } from \"react-native\";\r\nimport type { ViewProps } from \"react-native/Libraries/Components/View/ViewPropTypes\";\r\nimport type {\r\n Double,\r\n WithDefault,\r\n} from \"react-native/Libraries/Types/CodegenTypes\";\r\n\r\nexport interface NativeProps extends ViewProps {\r\n interpolator?: WithDefault<\"linear\" | \"ios\", \"linear\">;\r\n showOnSwipeUp?: boolean;\r\n enableSwipeToDismiss?: boolean;\r\n offset?: Double;\r\n textInputNativeID?: string;\r\n}\r\n\r\nexport default codegenNativeComponent<NativeProps>(\"RNKeyboardGestureArea\", {\r\n excludedPlatforms: [\"iOS\"],\r\n}) as HostComponent<NativeProps>;\r\n"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;AAiB5F,eAAeA,sBAAsB,CAAc,uBAAuB,EAAE;EAC1EC,iBAAiB,EAAE,CAAC,KAAK;AAC3B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["codegenNativeComponent","excludedPlatforms"],"sources":["KeyboardGestureAreaNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from \"react-native/Libraries/Utilities/codegenNativeComponent\";\n\nimport type { HostComponent } from \"react-native\";\nimport type { ViewProps } from \"react-native/Libraries/Components/View/ViewPropTypes\";\nimport type {\n Double,\n WithDefault,\n} from \"react-native/Libraries/Types/CodegenTypes\";\n\nexport interface NativeProps extends ViewProps {\n interpolator?: WithDefault<\"linear\" | \"ios\", \"linear\">;\n showOnSwipeUp?: boolean;\n enableSwipeToDismiss?: boolean;\n offset?: Double;\n textInputNativeID?: string;\n}\n\nexport default codegenNativeComponent<NativeProps>(\"RNKeyboardGestureArea\", {\n excludedPlatforms: [\"iOS\"],\n}) as HostComponent<NativeProps>;\n"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;AAiB5F,eAAeA,sBAAsB,CAAc,uBAAuB,EAAE;EAC1EC,iBAAiB,EAAE,CAAC,KAAK;AAC3B,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sources":["NativeKeyboardController.ts"],"sourcesContent":["import { TurboModuleRegistry } from \"react-native\";\r\n\r\nimport type { TurboModule } from \"react-native\";\r\n\r\nexport interface Spec extends TurboModule {\r\n readonly getConstants: () => {};\r\n\r\n // methods\r\n setInputMode(mode: number): void;\r\n setDefaultMode(): void;\r\n dismiss(keepFocus: boolean): void;\r\n setFocusTo(direction: string): void;\r\n\r\n // event emitter\r\n addListener: (eventName: string) => void;\r\n removeListeners: (count: number) => void;\r\n}\r\n\r\nexport default TurboModuleRegistry.get<Spec>(\"KeyboardController\");\r\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAkBlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sources":["NativeKeyboardController.ts"],"sourcesContent":["import { TurboModuleRegistry } from \"react-native\";\n\nimport type { TurboModule } from \"react-native\";\n\nexport interface Spec extends TurboModule {\n readonly getConstants: () => {};\n\n // methods\n setInputMode(mode: number): void;\n setDefaultMode(): void;\n dismiss(keepFocus: boolean): void;\n setFocusTo(direction: string): void;\n\n // event emitter\n addListener: (eventName: string) => void;\n removeListeners: (count: number) => void;\n}\n\nexport default TurboModuleRegistry.get<Spec>(\"KeyboardController\");\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAkBlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,oBAAoB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sources":["NativeStatusBarManagerCompat.ts"],"sourcesContent":["import { TurboModuleRegistry } from \"react-native\";\r\n\r\nimport type { TurboModule } from \"react-native\";\r\n\r\nexport interface Spec extends TurboModule {\r\n readonly getConstants: () => {};\r\n\r\n setHidden(hidden: boolean): void;\r\n setColor(color: number, animated: boolean): void;\r\n setTranslucent(translucent: boolean): void;\r\n setStyle(style: string): void;\r\n}\r\n\r\nexport default TurboModuleRegistry.get<Spec>(\"StatusBarManagerCompat\");\r\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAalD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sources":["NativeStatusBarManagerCompat.ts"],"sourcesContent":["import { TurboModuleRegistry } from \"react-native\";\n\nimport type { TurboModule } from \"react-native\";\n\nexport interface Spec extends TurboModule {\n readonly getConstants: () => {};\n\n setHidden(hidden: boolean): void;\n setColor(color: number, animated: boolean): void;\n setTranslucent(translucent: boolean): void;\n setStyle(style: string): void;\n}\n\nexport default TurboModuleRegistry.get<Spec>(\"StatusBarManagerCompat\");\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAalD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,wBAAwB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["codegenNativeComponent"],"sources":["OverKeyboardViewNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from \"react-native/Libraries/Utilities/codegenNativeComponent\";\r\n\r\nimport type { HostComponent } from \"react-native\";\r\nimport type { ViewProps } from \"react-native/Libraries/Components/View/ViewPropTypes\";\r\n\r\nexport interface NativeProps extends ViewProps {\r\n visible?: boolean;\r\n}\r\n\r\nexport default codegenNativeComponent<NativeProps>(\r\n \"OverKeyboardView\",\r\n) as HostComponent<NativeProps>;\r\n"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;AAS5F,eAAeA,sBAAsB,CACnC,kBACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["codegenNativeComponent"],"sources":["OverKeyboardViewNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from \"react-native/Libraries/Utilities/codegenNativeComponent\";\n\nimport type { HostComponent } from \"react-native\";\nimport type { ViewProps } from \"react-native/Libraries/Components/View/ViewPropTypes\";\n\nexport interface NativeProps extends ViewProps {\n visible?: boolean;\n}\n\nexport default codegenNativeComponent<NativeProps>(\n \"OverKeyboardView\",\n) as HostComponent<NativeProps>;\n"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;AAS5F,eAAeA,sBAAsB,CACnC,kBACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\r\nimport type {\r\n EmitterSubscription,\r\n NativeSyntheticEvent,\r\n TextInputProps,\r\n ViewProps,\r\n} from \"react-native\";\r\n\r\n// DirectEventHandler events declaration\r\nexport type NativeEvent = {\r\n progress: number;\r\n height: number;\r\n duration: number;\r\n target: number;\r\n};\r\nexport type FocusedInputLayoutChangedEvent = {\r\n target: number;\r\n parentScrollViewTarget: number;\r\n layout: {\r\n x: number;\r\n y: number;\r\n width: number;\r\n height: number;\r\n absoluteX: number;\r\n absoluteY: number;\r\n };\r\n};\r\nexport type FocusedInputTextChangedEvent = {\r\n text: string;\r\n};\r\nexport type FocusedInputSelectionChangedEvent = {\r\n target: number;\r\n selection: {\r\n start: {\r\n x: number;\r\n y: number;\r\n position: number;\r\n };\r\n end: {\r\n x: number;\r\n y: number;\r\n position: number;\r\n };\r\n };\r\n};\r\nexport type EventWithName<T> = {\r\n eventName: string;\r\n} & T;\r\n\r\n// native View/Module declarations\r\nexport type KeyboardControllerProps = {\r\n // callback props\r\n onKeyboardMoveStart?: (\r\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\r\n ) => void;\r\n onKeyboardMove?: (\r\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\r\n ) => void;\r\n onKeyboardMoveEnd?: (\r\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\r\n ) => void;\r\n onKeyboardMoveInteractive?: (\r\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\r\n ) => void;\r\n onFocusedInputLayoutChanged?: (\r\n e: NativeSyntheticEvent<EventWithName<FocusedInputLayoutChangedEvent>>,\r\n ) => void;\r\n onFocusedInputTextChanged?: (\r\n e: NativeSyntheticEvent<EventWithName<FocusedInputTextChangedEvent>>,\r\n ) => void;\r\n onFocusedInputSelectionChanged?: (\r\n e: NativeSyntheticEvent<EventWithName<FocusedInputSelectionChangedEvent>>,\r\n ) => void;\r\n // fake props used to activate reanimated bindings\r\n onKeyboardMoveReanimated?: (\r\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\r\n ) => void;\r\n onFocusedInputLayoutChangedReanimated?: (\r\n e: NativeSyntheticEvent<EventWithName<FocusedInputLayoutChangedEvent>>,\r\n ) => void;\r\n onFocusedInputTextChangedReanimated?: (\r\n e: NativeSyntheticEvent<EventWithName<FocusedInputTextChangedEvent>>,\r\n ) => void;\r\n onFocusedInputSelectionChangedReanimated?: (\r\n e: NativeSyntheticEvent<EventWithName<FocusedInputSelectionChangedEvent>>,\r\n ) => void;\r\n // props\r\n statusBarTranslucent?: boolean;\r\n navigationBarTranslucent?: boolean;\r\n preserveEdgeToEdge?: boolean;\r\n enabled?: boolean;\r\n} & ViewProps;\r\n\r\nexport type KeyboardGestureAreaProps = {\r\n interpolator?: \"ios\" | \"linear\";\r\n /**\r\n * Whether to allow to show a keyboard from dismissed state by swipe up.\r\n * Default to `false`.\r\n */\r\n showOnSwipeUp?: boolean;\r\n /**\r\n * Whether to allow to control a keyboard by gestures. The strategy how\r\n * it should be controlled is determined by `interpolator` property.\r\n * Defaults to `true`.\r\n */\r\n enableSwipeToDismiss?: boolean;\r\n /**\r\n * Extra distance to the keyboard.\r\n */\r\n offset?: number;\r\n /**\r\n * A corresponding `nativeID` value from the corresponding `TextInput`.\r\n */\r\n textInputNativeID?: string;\r\n} & ViewProps;\r\n\r\nexport type OverKeyboardViewProps = PropsWithChildren<{\r\n visible: boolean;\r\n}>;\r\n\r\nexport type Direction = \"next\" | \"prev\" | \"current\";\r\nexport type DismissOptions = {\r\n keepFocus: boolean;\r\n};\r\nexport type KeyboardControllerModule = {\r\n // android only\r\n setDefaultMode: () => void;\r\n setInputMode: (mode: number) => void;\r\n // all platforms\r\n dismiss: (options?: DismissOptions) => Promise<void>;\r\n setFocusTo: (direction: Direction) => void;\r\n isVisible: () => boolean;\r\n state: () => KeyboardEventData | null;\r\n addListener: (eventName: string) => void;\r\n removeListeners: (count: number) => void;\r\n};\r\nexport type KeyboardControllerNativeModule = {\r\n // android only\r\n setDefaultMode: () => void;\r\n setInputMode: (mode: number) => void;\r\n // all platforms\r\n dismiss: (keepFocus: boolean) => void;\r\n setFocusTo: (direction: Direction) => void;\r\n // native event module stuff\r\n addListener: (eventName: string) => void;\r\n removeListeners: (count: number) => void;\r\n};\r\n\r\n// Event module declarations\r\nexport type KeyboardControllerEvents =\r\n | \"keyboardWillShow\"\r\n | \"keyboardDidShow\"\r\n | \"keyboardWillHide\"\r\n | \"keyboardDidHide\";\r\nexport type KeyboardEventData = {\r\n height: number;\r\n duration: number;\r\n timestamp: number;\r\n target: number;\r\n type: NonNullable<TextInputProps[\"keyboardType\"]>;\r\n appearance: NonNullable<TextInputProps[\"keyboardAppearance\"]>;\r\n};\r\nexport type KeyboardEventsModule = {\r\n addListener: (\r\n name: KeyboardControllerEvents,\r\n cb: (e: KeyboardEventData) => void,\r\n ) => EmitterSubscription;\r\n};\r\nexport type FocusedInputAvailableEvents = \"focusDidSet\";\r\nexport type FocusedInputEventData = {\r\n current: number;\r\n count: number;\r\n};\r\nexport type FocusedInputEventsModule = {\r\n addListener: (\r\n name: FocusedInputAvailableEvents,\r\n cb: (e: FocusedInputEventData) => void,\r\n ) => EmitterSubscription;\r\n};\r\nexport type WindowDimensionsAvailableEvents = \"windowDidResize\";\r\nexport type WindowDimensionsEventData = {\r\n width: number;\r\n height: number;\r\n};\r\nexport type WindowDimensionsEventsModule = {\r\n addListener: (\r\n name: WindowDimensionsAvailableEvents,\r\n cb: (e: WindowDimensionsEventData) => void,\r\n ) => EmitterSubscription;\r\n};\r\n\r\n// reanimated hook declaration\r\nexport type KeyboardHandlerHook<TContext, Event> = (\r\n handlers: {\r\n onKeyboardMoveStart?: (e: NativeEvent, context: TContext) => void;\r\n onKeyboardMove?: (e: NativeEvent, context: TContext) => void;\r\n onKeyboardMoveEnd?: (e: NativeEvent, context: TContext) => void;\r\n onKeyboardMoveInteractive?: (e: NativeEvent, context: TContext) => void;\r\n },\r\n dependencies?: unknown[],\r\n) => (e: NativeSyntheticEvent<Event>) => void;\r\nexport type FocusedInputLayoutHandlerHook<TContext, Event> = (\r\n handlers: {\r\n onFocusedInputLayoutChanged?: (\r\n e: FocusedInputLayoutChangedEvent,\r\n context: TContext,\r\n ) => void;\r\n },\r\n dependencies?: unknown[],\r\n) => (e: NativeSyntheticEvent<Event>) => void;\r\nexport type FocusedInputTextHandlerHook<TContext, Event> = (\r\n handlers: {\r\n onFocusedInputTextChanged?: (\r\n e: FocusedInputTextChangedEvent,\r\n context: TContext,\r\n ) => void;\r\n },\r\n dependencies?: unknown[],\r\n) => (e: NativeSyntheticEvent<Event>) => void;\r\nexport type FocusedInputSelectionHandlerHook<TContext, Event> = (\r\n handlers: {\r\n onFocusedInputSelectionChanged?: (\r\n e: FocusedInputSelectionChangedEvent,\r\n context: TContext,\r\n ) => void;\r\n },\r\n dependencies?: unknown[],\r\n) => (e: NativeSyntheticEvent<Event>) => void;\r\n\r\n// package types\r\nexport type Handlers<T> = Record<string, T | undefined>;\r\nexport type KeyboardHandler = Partial<{\r\n onStart: (e: NativeEvent) => void;\r\n onMove: (e: NativeEvent) => void;\r\n onEnd: (e: NativeEvent) => void;\r\n onInteractive: (e: NativeEvent) => void;\r\n}>;\r\nexport type KeyboardHandlers = Handlers<KeyboardHandler>;\r\nexport type FocusedInputHandler = Partial<{\r\n onChangeText: (e: FocusedInputTextChangedEvent) => void;\r\n onSelectionChange: (e: FocusedInputSelectionChangedEvent) => void;\r\n}>;\r\nexport type FocusedInputHandlers = Handlers<FocusedInputHandler>;\r\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport type {\n EmitterSubscription,\n NativeSyntheticEvent,\n TextInputProps,\n ViewProps,\n} from \"react-native\";\n\n// DirectEventHandler events declaration\nexport type NativeEvent = {\n progress: number;\n height: number;\n duration: number;\n target: number;\n};\nexport type FocusedInputLayoutChangedEvent = {\n target: number;\n parentScrollViewTarget: number;\n layout: {\n x: number;\n y: number;\n width: number;\n height: number;\n absoluteX: number;\n absoluteY: number;\n };\n};\nexport type FocusedInputTextChangedEvent = {\n text: string;\n};\nexport type FocusedInputSelectionChangedEvent = {\n target: number;\n selection: {\n start: {\n x: number;\n y: number;\n position: number;\n };\n end: {\n x: number;\n y: number;\n position: number;\n };\n };\n};\nexport type EventWithName<T> = {\n eventName: string;\n} & T;\n\n// native View/Module declarations\nexport type KeyboardControllerProps = {\n // callback props\n onKeyboardMoveStart?: (\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\n ) => void;\n onKeyboardMove?: (\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\n ) => void;\n onKeyboardMoveEnd?: (\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\n ) => void;\n onKeyboardMoveInteractive?: (\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\n ) => void;\n onFocusedInputLayoutChanged?: (\n e: NativeSyntheticEvent<EventWithName<FocusedInputLayoutChangedEvent>>,\n ) => void;\n onFocusedInputTextChanged?: (\n e: NativeSyntheticEvent<EventWithName<FocusedInputTextChangedEvent>>,\n ) => void;\n onFocusedInputSelectionChanged?: (\n e: NativeSyntheticEvent<EventWithName<FocusedInputSelectionChangedEvent>>,\n ) => void;\n // fake props used to activate reanimated bindings\n onKeyboardMoveReanimated?: (\n e: NativeSyntheticEvent<EventWithName<NativeEvent>>,\n ) => void;\n onFocusedInputLayoutChangedReanimated?: (\n e: NativeSyntheticEvent<EventWithName<FocusedInputLayoutChangedEvent>>,\n ) => void;\n onFocusedInputTextChangedReanimated?: (\n e: NativeSyntheticEvent<EventWithName<FocusedInputTextChangedEvent>>,\n ) => void;\n onFocusedInputSelectionChangedReanimated?: (\n e: NativeSyntheticEvent<EventWithName<FocusedInputSelectionChangedEvent>>,\n ) => void;\n // props\n statusBarTranslucent?: boolean;\n navigationBarTranslucent?: boolean;\n preserveEdgeToEdge?: boolean;\n enabled?: boolean;\n} & ViewProps;\n\nexport type KeyboardGestureAreaProps = {\n interpolator?: \"ios\" | \"linear\";\n /**\n * Whether to allow to show a keyboard from dismissed state by swipe up.\n * Default to `false`.\n */\n showOnSwipeUp?: boolean;\n /**\n * Whether to allow to control a keyboard by gestures. The strategy how\n * it should be controlled is determined by `interpolator` property.\n * Defaults to `true`.\n */\n enableSwipeToDismiss?: boolean;\n /**\n * Extra distance to the keyboard.\n */\n offset?: number;\n /**\n * A corresponding `nativeID` value from the corresponding `TextInput`.\n */\n textInputNativeID?: string;\n} & ViewProps;\n\nexport type OverKeyboardViewProps = PropsWithChildren<{\n visible: boolean;\n}>;\n\nexport type Direction = \"next\" | \"prev\" | \"current\";\nexport type DismissOptions = {\n keepFocus: boolean;\n};\nexport type KeyboardControllerModule = {\n // android only\n setDefaultMode: () => void;\n setInputMode: (mode: number) => void;\n // all platforms\n dismiss: (options?: DismissOptions) => Promise<void>;\n setFocusTo: (direction: Direction) => void;\n isVisible: () => boolean;\n state: () => KeyboardEventData | null;\n addListener: (eventName: string) => void;\n removeListeners: (count: number) => void;\n};\nexport type KeyboardControllerNativeModule = {\n // android only\n setDefaultMode: () => void;\n setInputMode: (mode: number) => void;\n // all platforms\n dismiss: (keepFocus: boolean) => void;\n setFocusTo: (direction: Direction) => void;\n // native event module stuff\n addListener: (eventName: string) => void;\n removeListeners: (count: number) => void;\n};\n\n// Event module declarations\nexport type KeyboardControllerEvents =\n | \"keyboardWillShow\"\n | \"keyboardDidShow\"\n | \"keyboardWillHide\"\n | \"keyboardDidHide\";\nexport type KeyboardEventData = {\n height: number;\n tag: number;\n duration: number;\n timestamp: number;\n target: number;\n type: NonNullable<TextInputProps[\"keyboardType\"]>;\n appearance: NonNullable<TextInputProps[\"keyboardAppearance\"]>;\n};\nexport type KeyboardEventsModule = {\n addListener: (\n name: KeyboardControllerEvents,\n cb: (e: KeyboardEventData) => void,\n ) => EmitterSubscription;\n};\nexport type FocusedInputAvailableEvents = \"focusDidSet\";\nexport type FocusedInputEventData = {\n current: number;\n count: number;\n};\nexport type FocusedInputEventsModule = {\n addListener: (\n name: FocusedInputAvailableEvents,\n cb: (e: FocusedInputEventData) => void,\n ) => EmitterSubscription;\n};\nexport type WindowDimensionsAvailableEvents = \"windowDidResize\";\nexport type WindowDimensionsEventData = {\n width: number;\n height: number;\n};\nexport type WindowDimensionsEventsModule = {\n addListener: (\n name: WindowDimensionsAvailableEvents,\n cb: (e: WindowDimensionsEventData) => void,\n ) => EmitterSubscription;\n};\n\n// reanimated hook declaration\nexport type KeyboardHandlerHook<TContext, Event> = (\n handlers: {\n onKeyboardMoveStart?: (e: NativeEvent, context: TContext) => void;\n onKeyboardMove?: (e: NativeEvent, context: TContext) => void;\n onKeyboardMoveEnd?: (e: NativeEvent, context: TContext) => void;\n onKeyboardMoveInteractive?: (e: NativeEvent, context: TContext) => void;\n },\n dependencies?: unknown[],\n) => (e: NativeSyntheticEvent<Event>) => void;\nexport type FocusedInputLayoutHandlerHook<TContext, Event> = (\n handlers: {\n onFocusedInputLayoutChanged?: (\n e: FocusedInputLayoutChangedEvent,\n context: TContext,\n ) => void;\n },\n dependencies?: unknown[],\n) => (e: NativeSyntheticEvent<Event>) => void;\nexport type FocusedInputTextHandlerHook<TContext, Event> = (\n handlers: {\n onFocusedInputTextChanged?: (\n e: FocusedInputTextChangedEvent,\n context: TContext,\n ) => void;\n },\n dependencies?: unknown[],\n) => (e: NativeSyntheticEvent<Event>) => void;\nexport type FocusedInputSelectionHandlerHook<TContext, Event> = (\n handlers: {\n onFocusedInputSelectionChanged?: (\n e: FocusedInputSelectionChangedEvent,\n context: TContext,\n ) => void;\n },\n dependencies?: unknown[],\n) => (e: NativeSyntheticEvent<Event>) => void;\n\n// package types\nexport type Handlers<T> = Record<string, T | undefined>;\nexport type KeyboardHandler = Partial<{\n onStart: (e: NativeEvent) => void;\n onMove: (e: NativeEvent) => void;\n onEnd: (e: NativeEvent) => void;\n onInteractive: (e: NativeEvent) => void;\n}>;\nexport type KeyboardHandlers = Handlers<KeyboardHandler>;\nexport type FocusedInputHandler = Partial<{\n onChangeText: (e: FocusedInputTextChangedEvent) => void;\n onSelectionChange: (e: FocusedInputSelectionChangedEvent) => void;\n}>;\nexport type FocusedInputHandlers = Handlers<FocusedInputHandler>;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["uuid","Math","random","toString","slice"],"sources":["utils.ts"],"sourcesContent":["export const uuid = () => Math.random().toString(36).slice(-6);\r\n"],"mappings":"AAAA,OAAO,MAAMA,IAAI,GAAGA,CAAA,KAAMC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["uuid","Math","random","toString","slice"],"sources":["utils.ts"],"sourcesContent":["export const uuid = () => Math.random().toString(36).slice(-6);\n"],"mappings":"AAAA,OAAO,MAAMA,IAAI,GAAGA,CAAA,KAAMC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Platform","StyleSheet","View","RCTOverKeyboardView","useWindowDimensions","OverKeyboardView","children","visible","height","width","inner","style","styles","absolute","OS","global","_IS_FABRIC","undefined","createElement","collapsable","create","position"],"sources":["index.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { Platform, StyleSheet, View } from \"react-native\";\r\n\r\nimport { RCTOverKeyboardView } from \"../../bindings\";\r\nimport { useWindowDimensions } from \"../../hooks\";\r\n\r\nimport type { OverKeyboardViewProps } from \"../../types\";\r\nimport type { PropsWithChildren } from \"react\";\r\n\r\nconst OverKeyboardView = ({\r\n children,\r\n visible,\r\n}: PropsWithChildren<OverKeyboardViewProps>) => {\r\n const { height, width } = useWindowDimensions();\r\n const inner = useMemo(() => ({ height, width }), [height, width]);\r\n const style = useMemo(\r\n () => [\r\n styles.absolute,\r\n // On iOS - stretch view to full window dimensions to make yoga work\r\n // On Android Fabric we temporarily use the same approach\r\n // @ts-expect-error `_IS_FABRIC` is injected by REA\r\n Platform.OS === \"ios\" || global._IS_FABRIC ? inner : undefined,\r\n ],\r\n [inner],\r\n );\r\n\r\n return (\r\n <RCTOverKeyboardView visible={visible}>\r\n {/* `OverKeyboardView` should always have a single child */}\r\n <View collapsable={false} style={style}>\r\n {children}\r\n </View>\r\n </RCTOverKeyboardView>\r\n );\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n absolute: {\r\n position: \"absolute\",\r\n },\r\n});\r\n\r\nexport default OverKeyboardView;\r\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAEzD,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,mBAAmB,QAAQ,aAAa;AAKjD,MAAMC,gBAAgB,GAAGA,CAAC;EACxBC,QAAQ;EACRC;AACwC,CAAC,KAAK;EAC9C,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGL,mBAAmB,CAAC,CAAC;EAC/C,MAAMM,KAAK,GAAGX,OAAO,CAAC,OAAO;IAAES,MAAM;IAAEC;EAAM,CAAC,CAAC,EAAE,CAACD,MAAM,EAAEC,KAAK,CAAC,CAAC;EACjE,MAAME,KAAK,GAAGZ,OAAO,CACnB,MAAM,CACJa,MAAM,CAACC,QAAQ;EACf;EACA;EACA;EACAb,QAAQ,CAACc,EAAE,KAAK,KAAK,IAAIC,MAAM,CAACC,UAAU,GAAGN,KAAK,GAAGO,SAAS,CAC/D,EACD,CAACP,KAAK,CACR,CAAC;EAED,oBACEZ,KAAA,CAAAoB,aAAA,CAACf,mBAAmB;IAACI,OAAO,EAAEA;EAAQ,gBAEpCT,KAAA,CAAAoB,aAAA,CAAChB,IAAI;IAACiB,WAAW,EAAE,KAAM;IAACR,KAAK,EAAEA;EAAM,GACpCL,QACG,CACa,CAAC;AAE1B,CAAC;AAED,MAAMM,MAAM,GAAGX,UAAU,CAACmB,MAAM,CAAC;EAC/BP,QAAQ,EAAE;IACRQ,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,eAAehB,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Platform","StyleSheet","View","RCTOverKeyboardView","useWindowDimensions","OverKeyboardView","children","visible","height","width","inner","style","styles","absolute","OS","global","_IS_FABRIC","undefined","createElement","collapsable","create","position"],"sources":["index.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { Platform, StyleSheet, View } from \"react-native\";\n\nimport { RCTOverKeyboardView } from \"../../bindings\";\nimport { useWindowDimensions } from \"../../hooks\";\n\nimport type { OverKeyboardViewProps } from \"../../types\";\nimport type { PropsWithChildren } from \"react\";\n\nconst OverKeyboardView = ({\n children,\n visible,\n}: PropsWithChildren<OverKeyboardViewProps>) => {\n const { height, width } = useWindowDimensions();\n const inner = useMemo(() => ({ height, width }), [height, width]);\n const style = useMemo(\n () => [\n styles.absolute,\n // On iOS - stretch view to full window dimensions to make yoga work\n // On Android Fabric we temporarily use the same approach\n // @ts-expect-error `_IS_FABRIC` is injected by REA\n Platform.OS === \"ios\" || global._IS_FABRIC ? inner : undefined,\n ],\n [inner],\n );\n\n return (\n <RCTOverKeyboardView visible={visible}>\n {/* `OverKeyboardView` should always have a single child */}\n <View collapsable={false} style={style}>\n {children}\n </View>\n </RCTOverKeyboardView>\n );\n};\n\nconst styles = StyleSheet.create({\n absolute: {\n position: \"absolute\",\n },\n});\n\nexport default OverKeyboardView;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAEzD,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,mBAAmB,QAAQ,aAAa;AAKjD,MAAMC,gBAAgB,GAAGA,CAAC;EACxBC,QAAQ;EACRC;AACwC,CAAC,KAAK;EAC9C,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGL,mBAAmB,CAAC,CAAC;EAC/C,MAAMM,KAAK,GAAGX,OAAO,CAAC,OAAO;IAAES,MAAM;IAAEC;EAAM,CAAC,CAAC,EAAE,CAACD,MAAM,EAAEC,KAAK,CAAC,CAAC;EACjE,MAAME,KAAK,GAAGZ,OAAO,CACnB,MAAM,CACJa,MAAM,CAACC,QAAQ;EACf;EACA;EACA;EACAb,QAAQ,CAACc,EAAE,KAAK,KAAK,IAAIC,MAAM,CAACC,UAAU,GAAGN,KAAK,GAAGO,SAAS,CAC/D,EACD,CAACP,KAAK,CACR,CAAC;EAED,oBACEZ,KAAA,CAAAoB,aAAA,CAACf,mBAAmB;IAACI,OAAO,EAAEA;EAAQ,gBAEpCT,KAAA,CAAAoB,aAAA,CAAChB,IAAI;IAACiB,WAAW,EAAE,KAAM;IAACR,KAAK,EAAEA;EAAM,GACpCL,QACG,CACa,CAAC;AAE1B,CAAC;AAED,MAAMM,MAAM,GAAGX,UAAU,CAACmB,MAAM,CAAC;EAC/BP,QAAQ,EAAE;IACRQ,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,eAAehB,gBAAgB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["default","OverKeyboardView"],"sources":["index.ts"],"sourcesContent":["export { default as OverKeyboardView } from \"./OverKeyboardView\";\r\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,gBAAgB,QAAQ,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["default","OverKeyboardView"],"sources":["index.ts"],"sourcesContent":["export { default as OverKeyboardView } from \"./OverKeyboardView\";\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,gBAAgB,QAAQ,oBAAoB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { FocusedInputEventsModule, KeyboardControllerNativeModule, KeyboardControllerProps, KeyboardEventsModule, KeyboardGestureAreaProps, OverKeyboardViewProps, WindowDimensionsEventsModule } from "./types";
3
2
  export declare const KeyboardControllerNative: KeyboardControllerNativeModule;
4
3
  export declare const KeyboardEvents: KeyboardEventsModule;
@@ -8,6 +7,6 @@ export declare const KeyboardEvents: KeyboardEventsModule;
8
7
  */
9
8
  export declare const FocusedInputEvents: FocusedInputEventsModule;
10
9
  export declare const WindowDimensionsEvents: WindowDimensionsEventsModule;
11
- export declare const KeyboardControllerView: import("react").FC<KeyboardControllerProps>;
12
- export declare const KeyboardGestureArea: import("react").FC<KeyboardGestureAreaProps>;
13
- export declare const RCTOverKeyboardView: import("react").FC<OverKeyboardViewProps>;
10
+ export declare const KeyboardControllerView: React.FC<KeyboardControllerProps>;
11
+ export declare const KeyboardGestureArea: React.FC<KeyboardGestureAreaProps>;
12
+ export declare const RCTOverKeyboardView: React.FC<OverKeyboardViewProps>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { FocusedInputEventsModule, KeyboardControllerNativeModule, KeyboardControllerProps, KeyboardEventsModule, KeyboardGestureAreaProps, OverKeyboardViewProps, WindowDimensionsEventsModule } from "./types";
3
2
  export declare const KeyboardControllerNative: KeyboardControllerNativeModule;
4
3
  export declare const KeyboardEvents: KeyboardEventsModule;
@@ -14,16 +14,16 @@ export type KeyboardAwareScrollViewProps = {
14
14
  } & ScrollViewProps;
15
15
  declare const KeyboardAwareScrollView: React.ForwardRefExoticComponent<{
16
16
  /** The distance between keyboard and focused `TextInput` when keyboard is shown. Default is `0`. */
17
- bottomOffset?: number | undefined;
17
+ bottomOffset?: number;
18
18
  /** Prevents automatic scrolling of the `ScrollView` when the keyboard gets hidden, maintaining the current screen position. Default is `false`. */
19
- disableScrollOnKeyboardHide?: boolean | undefined;
19
+ disableScrollOnKeyboardHide?: boolean;
20
20
  /** Controls whether this `KeyboardAwareScrollView` instance should take effect. Default is `true` */
21
- enabled?: boolean | undefined;
21
+ enabled?: boolean;
22
22
  /** Adjusting the bottom spacing of KeyboardAwareScrollView. Default is `0` */
23
- extraKeyboardSpace?: number | undefined;
23
+ extraKeyboardSpace?: number;
24
24
  /** Custom component for `ScrollView`. Default is `ScrollView` */
25
- ScrollViewComponent?: React.ComponentType<ScrollViewProps> | undefined;
25
+ ScrollViewComponent?: React.ComponentType<ScrollViewProps>;
26
26
  } & ScrollViewProps & {
27
- children?: React.ReactNode;
27
+ children?: React.ReactNode | undefined;
28
28
  } & React.RefAttributes<ScrollView>>;
29
29
  export default KeyboardAwareScrollView;
@@ -1,2 +1,2 @@
1
- export declare const debounce: <F extends (...args: Parameters<F>) => ReturnType<F>>(worklet: F, wait?: number) => (...args: Parameters<F>) => void | ReturnType<F>;
1
+ export declare const debounce: <F extends (...args: Parameters<F>) => ReturnType<F>>(worklet: F, wait?: number) => (...args: Parameters<F>) => ReturnType<F> | void;
2
2
  export declare const scrollDistanceWithRespectToSnapPoints: (defaultScrollValue: number, snapPoints?: number[]) => number;
@@ -25,15 +25,15 @@ declare const KeyboardStickyView: React.ForwardRefExoticComponent<{
25
25
  /**
26
26
  * Adds additional `translateY` when keyboard is close. By default `0`.
27
27
  */
28
- closed?: number | undefined;
28
+ closed?: number;
29
29
  /**
30
30
  * Adds additional `translateY` when keyboard is open. By default `0`.
31
31
  */
32
- opened?: number | undefined;
33
- } | undefined;
32
+ opened?: number;
33
+ };
34
34
  /** Controls whether this `KeyboardStickyView` instance should take effect. Default is `true` */
35
- enabled?: boolean | undefined;
35
+ enabled?: boolean;
36
36
  } & ViewProps & {
37
- children?: React.ReactNode;
37
+ children?: React.ReactNode | undefined;
38
38
  } & React.RefAttributes<View>>;
39
39
  export default KeyboardStickyView;
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import type { KeyboardToolbarTheme } from "./types";
3
+ import type { PropsWithChildren } from "react";
3
4
  import type { ViewStyle } from "react-native";
4
5
  type ButtonProps = {
5
6
  disabled?: boolean;
@@ -11,5 +12,5 @@ type ButtonProps = {
11
12
  style?: ViewStyle;
12
13
  theme: KeyboardToolbarTheme;
13
14
  };
14
- declare const _default: ({ children, onPress, disabled, accessibilityLabel, accessibilityHint, testID, style, }: React.PropsWithChildren<ButtonProps>) => React.JSX.Element;
15
+ declare const _default: ({ children, onPress, disabled, accessibilityLabel, accessibilityHint, testID, style, }: PropsWithChildren<ButtonProps>) => React.JSX.Element;
15
16
  export default _default;
@@ -106,6 +106,7 @@ export type KeyboardControllerNativeModule = {
106
106
  export type KeyboardControllerEvents = "keyboardWillShow" | "keyboardDidShow" | "keyboardWillHide" | "keyboardDidHide";
107
107
  export type KeyboardEventData = {
108
108
  height: number;
109
+ tag: number;
109
110
  duration: number;
110
111
  timestamp: number;
111
112
  target: number;
package/package.json CHANGED
@@ -1,174 +1,177 @@
1
- {
2
- "name": "@react-native-ohos/react-native-keyboard-controller",
3
- "version": "1.16.7",
4
- "description": "Keyboard manager which works in identical way on iOS and Android and harmony",
5
- "main": "lib/commonjs/index",
6
- "module": "lib/module/index",
7
- "types": "lib/typescript/index.d.ts",
8
- "react-native": "src/index",
9
- "source": "src/index",
10
- "files": [
11
- "src",
12
- "lib",
13
- "android",
14
- "ios",
15
- "harmony",
16
- "cpp",
17
- "react-native-keyboard-controller.podspec",
18
- "jest",
19
- "!lib/typescript/example",
20
- "!harmony/keyboard_controller/build",
21
- "!android/build",
22
- "!android/.gradle",
23
- "!android/gradle",
24
- "!android/gradlew",
25
- "!android/gradlew.bat",
26
- "!ios/build",
27
- "!ios/KeyboardControllerNative",
28
- "!**/__tests__",
29
- "!**/__fixtures__",
30
- "!**/__mocks__"
31
- ],
32
- "scripts": {
33
- "format": "prettier '**/*' --ignore-unknown --write",
34
- "test": "jest",
35
- "typescript": "tsc --noEmit --project tsconfig.build.json",
36
- "lint": "eslint --quiet \"**/*.{js,ts,tsx}\"",
37
- "lint-clang": "find ios/ -iname *.h -o -iname *.m -o -iname *.mm | grep -v -e Pods -e build | xargs clang-format -i -n --Werror",
38
- "prepare": "bob build",
39
- "release": "release-it",
40
- "example": "yarn --cwd example",
41
- "pods": "cd example && pod-install --quiet",
42
- "bootstrap": "yarn example && yarn && yarn pods"
43
- },
44
- "keywords": [
45
- "react-native",
46
- "keyboard",
47
- "interactive",
48
- "dismiss",
49
- "animation",
50
- "focused input",
51
- "text changed",
52
- "selection changed",
53
- "avoiding view",
54
- "avoid keyboard",
55
- "sticky view",
56
- "over keyboard view",
57
- "keyboard aware scroll view",
58
- "keyboard toolbar",
59
- "keyboard done button",
60
- "keyboard next button",
61
- "keyboard previous button",
62
- "ios",
63
- "android",
64
- "harmony"
65
- ],
66
- "repository": "https://github.com/react-native-oh-library/react-native-keyboard-controller",
67
- "author": "Kiryl Ziusko <zyusko.kirik@gmail.com> (https://github.com/kirillzyusko)",
68
- "license": "MIT",
69
- "bugs": {
70
- "url": "https://github.com/react-native-oh-library/react-native-keyboard-controller/issues"
71
- },
72
- "homepage": "https://github.com/react-native-oh-library/react-native-keyboard-controller/tree/br_rnoh0.77#readme",
73
- "publishConfig": {
74
- "registry": "https://registry.npmjs.org/"
75
- },
76
- "devDependencies": {
77
- "@commitlint/config-conventional": "^11.0.0",
78
- "@react-native/babel-preset": "0.77.0",
79
- "@react-native/eslint-config": "0.77.0",
80
- "@release-it/conventional-changelog": "^2.0.0",
81
- "@testing-library/react-hooks": "^8.0.1",
82
- "@types/jest": "^29.5.13",
83
- "@types/react": "^18.2.6",
84
- "@typescript-eslint/eslint-plugin": "^6.7.4",
85
- "@typescript-eslint/parser": "^6.7.4",
86
- "clang-format": "^1.8.0",
87
- "commitlint": "^11.0.0",
88
- "eslint": "^8.19.0",
89
- "eslint-config-prettier": "^8.5.0",
90
- "eslint-import-resolver-typescript": "^3.6.1",
91
- "eslint-plugin-eslint-comments": "^3.2.0",
92
- "eslint-plugin-ft-flow": "^3.0.11",
93
- "eslint-plugin-import": "^2.28.1",
94
- "eslint-plugin-jest": "^26.5.3",
95
- "eslint-plugin-prettier": "^4.2.1",
96
- "eslint-plugin-react-compiler": "^0.0.0-experimental-0998c1e-20240625",
97
- "eslint-plugin-react-perf": "^3.3.2",
98
- "husky": "^6.0.0",
99
- "jest": "^29.6.3",
100
- "pod-install": "^0.1.0",
101
- "prettier": "^2.8.8",
102
- "react": "18.3.1",
103
- "react-native": "0.77.1",
104
- "react-native-builder-bob": "^0.18.0",
105
- "react-native-reanimated": "3.18.0",
106
- "react-test-renderer": "18.2.0",
107
- "release-it": "^14.2.2",
108
- "typescript": "5.6.3"
109
- },
110
- "peerDependencies": {
111
- "react": "*",
112
- "react-native": "*",
113
- "react-native-reanimated": ">=3.0.0",
114
- "react-native-keyboard-controller": "1.16.5"
115
- },
116
- "jest": {
117
- "preset": "react-native",
118
- "modulePathIgnorePatterns": [
119
- "<rootDir>/example/node_modules",
120
- "<rootDir>/lib/"
121
- ]
122
- },
123
- "commitlint": {
124
- "extends": [
125
- "@commitlint/config-conventional"
126
- ]
127
- },
128
- "release-it": {
129
- "git": {
130
- "commitMessage": "chore: release ${version}",
131
- "tagName": "v${version}"
132
- },
133
- "npm": {
134
- "publish": true
135
- },
136
- "github": {
137
- "release": true
138
- },
139
- "plugins": {
140
- "@release-it/conventional-changelog": {
141
- "preset": "angular"
142
- }
143
- }
144
- },
145
- "prettier": {
146
- "quoteProps": "consistent",
147
- "trailingComma": "all"
148
- },
149
- "react-native-builder-bob": {
150
- "source": "src",
151
- "output": "lib",
152
- "targets": [
153
- "commonjs",
154
- "module",
155
- [
156
- "typescript",
157
- {
158
- "project": "tsconfig.build.json"
159
- }
160
- ]
161
- ]
162
- },
163
- "codegenConfig": {
164
- "name": "reactnativekeyboardcontroller",
165
- "type": "all",
166
- "jsSrcsDir": "./src/specs",
167
- "android": {
168
- "javaPackageName": "com.reactnativekeyboardcontroller"
169
- }
170
- },
171
- "harmony": {
172
- "alias": "react-native-keyboard-controller"
173
- }
174
- }
1
+ {
2
+ "name": "@react-native-ohos/react-native-keyboard-controller",
3
+ "version": "1.16.8",
4
+ "description": "Keyboard manager which works in identical way on iOS and Android and harmony",
5
+ "main": "lib/commonjs/index",
6
+ "module": "lib/module/index",
7
+ "types": "lib/typescript/index.d.ts",
8
+ "react-native": "src/index",
9
+ "source": "src/index",
10
+ "files": [
11
+ "src",
12
+ "lib",
13
+ "android",
14
+ "ios",
15
+ "harmony",
16
+ "cpp",
17
+ "react-native-keyboard-controller.podspec",
18
+ "jest",
19
+ "!lib/typescript/example",
20
+ "!harmony/keyboard_controller/build",
21
+ "!android/build",
22
+ "!android/.gradle",
23
+ "!android/gradle",
24
+ "!android/gradlew",
25
+ "!android/gradlew.bat",
26
+ "!ios/build",
27
+ "!ios/KeyboardControllerNative",
28
+ "!**/__tests__",
29
+ "!**/__fixtures__",
30
+ "!**/__mocks__"
31
+ ],
32
+ "scripts": {
33
+ "format": "prettier '**/*' --ignore-unknown --write",
34
+ "test": "jest",
35
+ "typescript": "tsc --noEmit --project tsconfig.build.json",
36
+ "lint": "eslint --quiet \"**/*.{js,ts,tsx}\"",
37
+ "lint-clang": "find ios/ -iname *.h -o -iname *.m -o -iname *.mm | grep -v -e Pods -e build | xargs clang-format -i -n --Werror",
38
+ "prepare": "bob build",
39
+ "release": "release-it",
40
+ "example": "yarn --cwd example",
41
+ "pods": "cd example && pod-install --quiet",
42
+ "bootstrap": "yarn example && yarn && yarn pods"
43
+ },
44
+ "keywords": [
45
+ "react-native",
46
+ "keyboard",
47
+ "interactive",
48
+ "dismiss",
49
+ "animation",
50
+ "focused input",
51
+ "text changed",
52
+ "selection changed",
53
+ "avoiding view",
54
+ "avoid keyboard",
55
+ "sticky view",
56
+ "over keyboard view",
57
+ "keyboard aware scroll view",
58
+ "keyboard toolbar",
59
+ "keyboard done button",
60
+ "keyboard next button",
61
+ "keyboard previous button",
62
+ "ios",
63
+ "android",
64
+ "harmony",
65
+ "ohos",
66
+ "openharmony",
67
+ "rnoh"
68
+ ],
69
+ "repository": "https://gitcode.com/CPF-RN/rntpc_react-native-keyboard-controller",
70
+ "author": "Kiryl Ziusko <zyusko.kirik@gmail.com> (https://github.com/kirillzyusko)",
71
+ "license": "MIT",
72
+ "bugs": {
73
+ "url": "https://gitcode.com/CPF-RN/rntpc_react-native-keyboard-controller/issues"
74
+ },
75
+ "homepage": "https://gitcode.com/CPF-RN/rntpc_react-native-keyboard-controller/tree/br_rnoh0.77#readme",
76
+ "publishConfig": {
77
+ "registry": "https://registry.npmjs.org/"
78
+ },
79
+ "devDependencies": {
80
+ "@commitlint/config-conventional": "^11.0.0",
81
+ "@react-native/babel-preset": "0.77.0",
82
+ "@react-native/eslint-config": "0.77.0",
83
+ "@release-it/conventional-changelog": "^2.0.0",
84
+ "@testing-library/react-hooks": "^8.0.1",
85
+ "@types/jest": "^29.5.13",
86
+ "@types/react": "^18.2.6",
87
+ "@typescript-eslint/eslint-plugin": "^6.7.4",
88
+ "@typescript-eslint/parser": "^6.7.4",
89
+ "clang-format": "^1.8.0",
90
+ "commitlint": "^11.0.0",
91
+ "eslint": "^8.19.0",
92
+ "eslint-config-prettier": "^8.5.0",
93
+ "eslint-import-resolver-typescript": "^3.6.1",
94
+ "eslint-plugin-eslint-comments": "^3.2.0",
95
+ "eslint-plugin-ft-flow": "^3.0.11",
96
+ "eslint-plugin-import": "^2.28.1",
97
+ "eslint-plugin-jest": "^26.5.3",
98
+ "eslint-plugin-prettier": "^4.2.1",
99
+ "eslint-plugin-react-compiler": "^0.0.0-experimental-0998c1e-20240625",
100
+ "eslint-plugin-react-perf": "^3.3.2",
101
+ "husky": "^6.0.0",
102
+ "jest": "^29.6.3",
103
+ "pod-install": "^0.1.0",
104
+ "prettier": "^2.8.8",
105
+ "react": "18.3.1",
106
+ "react-native": "0.77.1",
107
+ "react-native-builder-bob": "^0.18.0",
108
+ "react-native-reanimated": "3.18.0",
109
+ "react-test-renderer": "18.2.0",
110
+ "release-it": "^14.2.2",
111
+ "typescript": "5.6.3"
112
+ },
113
+ "peerDependencies": {
114
+ "react": "*",
115
+ "react-native": "*",
116
+ "react-native-reanimated": ">=3.0.0",
117
+ "react-native-keyboard-controller": "1.16.5"
118
+ },
119
+ "jest": {
120
+ "preset": "react-native",
121
+ "modulePathIgnorePatterns": [
122
+ "<rootDir>/example/node_modules",
123
+ "<rootDir>/lib/"
124
+ ]
125
+ },
126
+ "commitlint": {
127
+ "extends": [
128
+ "@commitlint/config-conventional"
129
+ ]
130
+ },
131
+ "release-it": {
132
+ "git": {
133
+ "commitMessage": "chore: release ${version}",
134
+ "tagName": "v${version}"
135
+ },
136
+ "npm": {
137
+ "publish": true
138
+ },
139
+ "github": {
140
+ "release": true
141
+ },
142
+ "plugins": {
143
+ "@release-it/conventional-changelog": {
144
+ "preset": "angular"
145
+ }
146
+ }
147
+ },
148
+ "prettier": {
149
+ "quoteProps": "consistent",
150
+ "trailingComma": "all"
151
+ },
152
+ "react-native-builder-bob": {
153
+ "source": "src",
154
+ "output": "lib",
155
+ "targets": [
156
+ "commonjs",
157
+ "module",
158
+ [
159
+ "typescript",
160
+ {
161
+ "project": "tsconfig.build.json"
162
+ }
163
+ ]
164
+ ]
165
+ },
166
+ "codegenConfig": {
167
+ "name": "reactnativekeyboardcontroller",
168
+ "type": "all",
169
+ "jsSrcsDir": "./src/specs",
170
+ "android": {
171
+ "javaPackageName": "com.reactnativekeyboardcontroller"
172
+ }
173
+ },
174
+ "harmony": {
175
+ "alias": "react-native-keyboard-controller"
176
+ }
177
+ }