UNPKG

react-native-keyboard-controller

Version:

Keyboard manager which works in identical way on both iOS and Android

52 lines (50 loc) 1.83 kB
import type { PropsWithChildren } from "react"; import type { ViewProps } from "react-native"; export type KeyboardGestureAreaProps = { /** * Determines how the keyboard position will be controlled: * - `ios` - keyboard will be following finger only when finger touches keyboard * - `linear` - keyboard will be following finger position linearly. * * @platform android */ interpolator?: "ios" | "linear"; /** * Whether to allow to show a keyboard from dismissed state by swipe up. * Default to `false`. * * @platform android */ showOnSwipeUp?: boolean; /** * Whether to allow to control a keyboard by gestures. The strategy how * it should be controlled is determined by `interpolator` property. * Defaults to `true`. * * @platform android */ enableSwipeToDismiss?: boolean; /** * Extra distance to the keyboard. */ offset?: number; /** * A corresponding `nativeID` value from the associated `TextInput` (a string that links the `KeyboardGestureArea` to one or more `TextInput` components). * This is **required on iOS** in order to apply the `offset` when the keyboard is shown. Only the currently focused `TextInput` with a matching `nativeID` * will receive offset behavior. * * @platform ios */ textInputNativeID?: string; } & ViewProps; export type OverKeyboardViewProps = PropsWithChildren<{ /** * A boolean prop indicating whether the view is visible or not. If it's true then view is shown on the screen. If it's false then view is hidden. */ visible: boolean; }>; export type KeyboardBackgroundViewProps = PropsWithChildren<ViewProps>; export type KeyboardExtenderProps = PropsWithChildren<{ /** Controls whether this `KeyboardExtender` instance should take an effect. Default is `true`. */ enabled?: boolean; }>;