@rnhooks/keyboard
Version:
React Native Hook for Keyboard
56 lines (44 loc) • 1.89 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('react-native')) :
typeof define === 'function' && define.amd ? define(['react', 'react-native'], factory) :
(global = global || self, global['react-native-hooks-keyboard'] = factory(global.React, global.reactNative));
}(this, function (react, reactNative) { 'use strict';
var react__default = 'default' in react ? react['default'] : react;
/* 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];
});
return index;
}));
//# sourceMappingURL=react-native-hooks-keyboard.js.map