keyboard.height
How far the keyboard stands over the window's bottom now, in points; 0 while hidden. A motion value the keyboard moves every frame, as it animates and as a finger drags it down, so a view bound to it rides on the keyboard with no JavaScript (docs/keyboard.md#keyboard).
Usage
Dismiss and observe the keyboard
import { Box, Button, Text, VStack, keyboard } from 'kuito';
export default function KeyboardState() {
keyboard.frame.value; // { screenX, screenY, width, height } or null
// In a component, until it unmounts; elsewhere, until remove().
keyboard.watch('didShow', (event) => console.log(event.frame.height, event.duration));
return (
<VStack>
<Text>{keyboard.visible.value ? 'typing' : ''}</Text>
{/* Rides on the keyboard. */}
<Box translateY={keyboard.height.map((height) => -height)} />
<Button onPress={() => keyboard.dismiss()}>Done</Button>
</VStack>
);
}Properties and methods 3
| Name | Type | Required | Description |
|---|---|---|---|
value | number | Yes | A value moves there now; an animation (timing, spring, decay, ...) moves it there. |
follows | (source: Readable<number> | GestureSource) => Motion<number> | Yes | Moves with source on the UI thread, with no code: a gesture's field
(drag.x), another motion value or a derived one. Null stops it. |
map | <U>(fn: (value: number) => U) => Derived<U> | Yes | A value computed from this one, on the UI thread. |
follows — method signatures
Signatures
(source: Readable<number> | GestureSource): Motion<number>Parameters
| Name | Type | Required | Description |
|---|---|---|---|
source | Readable<number> | GestureSource | Yes | — |
Returns
Motion<number>
map — method signatures
Signatures
<U>(fn: (value: number) => U): Derived<U>Type parameters
| Name | Constraint | Default |
|---|---|---|
U | — | — |
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
fn | (value: number) => U | Yes | — |
Returns
Derived<U>
Generated from the public TypeScript declarations: signatures, props and defaults come from the checked source, descriptions from its JSDoc. No defaults are invented.