UNPKG

@rnhooks/keyboard

Version:
56 lines (44 loc) 1.89 kB
(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