@rnhooks/keyboard
Version:
React Native Hook for Keyboard
49 lines (39 loc) • 1.36 kB
JavaScript
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