UNPKG

@appello/mobile

Version:

Common package with many useful features for mobile development

26 lines (25 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useKeyboardListener = void 0; const react_1 = require("react"); const react_native_1 = require("react-native"); const useKeyboardListener = (props = {}) => { const { onOpen, onClose } = props; const [keyboardHeight, setKeyboardHeight] = (0, react_1.useState)(0); (0, react_1.useEffect)(() => { const showSubscription = react_native_1.Keyboard.addListener('keyboardDidShow', e => { setKeyboardHeight(e.endCoordinates.height); onOpen === null || onOpen === void 0 ? void 0 : onOpen(); }); const hideSubscription = react_native_1.Keyboard.addListener('keyboardDidHide', () => { setKeyboardHeight(0); onClose === null || onClose === void 0 ? void 0 : onClose(); }); return () => { showSubscription.remove(); hideSubscription.remove(); }; }, []); return keyboardHeight; }; exports.useKeyboardListener = useKeyboardListener;