@rnhooks/keyboard
Version:
React Native Hook for Keyboard
56 lines (43 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var react = require('react');
var react__default = _interopDefault(react);
var reactNative = require('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 = react.useState(false),
visible = _useState[0],
setVisible = _useState[1];
var showEvent = useWillShow ? 'keyboardWillShow' : 'keyboardDidShow';
var hideEvent = useWillHide ? 'keyboardWillHide' : 'keyboardDidHide';
function dismiss() {
reactNative.Keyboard.dismiss();
setVisible(false);
}
react.useEffect(function () {
function onKeyboardShow() {
setVisible(true);
}
function onKeyboardHide() {
setVisible(false);
}
var showSubscription = reactNative.Keyboard.addListener(showEvent, onKeyboardShow);
var hideSubscription = reactNative.Keyboard.addListener(hideEvent, onKeyboardHide);
return function () {
showSubscription.remove();
hideSubscription.remove();
};
}, [useWillShow, useWillHide]);
return [visible, dismiss];
});
exports.default = index;
//# sourceMappingURL=react-native-hooks-keyboard.cjs.js.map