UNPKG

@rnhooks/keyboard

Version:
49 lines (39 loc) 1.36 kB
import { useState, useEffect } from 'react'; import { Keyboard } from 'react-native'; /* eslint-disable no-unused-vars */ var index = (function (config) { if (config === void 0) { config = {}; } var _config = config, _config$useWillShow = _config.useWillShow, useWillShow = _config$useWillShow === void 0 ? false : _config$useWillShow, _config$useWillHide = _config.useWillHide, useWillHide = _config$useWillHide === void 0 ? false : _config$useWillHide; var _useState = useState(false), visible = _useState[0], setVisible = _useState[1]; var showEvent = useWillShow ? 'keyboardWillShow' : 'keyboardDidShow'; var hideEvent = useWillHide ? 'keyboardWillHide' : 'keyboardDidHide'; function dismiss() { Keyboard.dismiss(); setVisible(false); } useEffect(function () { function onKeyboardShow() { setVisible(true); } function onKeyboardHide() { setVisible(false); } var showSubscription = Keyboard.addListener(showEvent, onKeyboardShow); var hideSubscription = Keyboard.addListener(hideEvent, onKeyboardHide); return function () { showSubscription.remove(); hideSubscription.remove(); }; }, [useWillShow, useWillHide]); return [visible, dismiss]; }); export default index; //# sourceMappingURL=react-native-hooks-keyboard.esm.js.map