UNPKG

@rnhooks/keyboard

Version:
56 lines (43 loc) 1.64 kB
'use strict'; 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