UNPKG

react-native-keyboard-controller

Version:

Keyboard manager which works in identical way on both iOS and Android

101 lines (100 loc) 3.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { useResizeMode: true, useKeyboardAnimation: true, useReanimatedKeyboardAnimation: true, useGenericKeyboardHandler: true, useKeyboardHandler: true, useKeyboardController: true, useReanimatedFocusedInput: true, useFocusedInputHandler: true }; exports.useFocusedInputHandler = useFocusedInputHandler; exports.useGenericKeyboardHandler = useGenericKeyboardHandler; exports.useKeyboardAnimation = void 0; exports.useKeyboardController = useKeyboardController; exports.useKeyboardHandler = useKeyboardHandler; exports.useReanimatedFocusedInput = useReanimatedFocusedInput; exports.useResizeMode = exports.useReanimatedKeyboardAnimation = void 0; var _react = require("react"); var _constants = require("../constants"); var _context = require("../context"); var _module = require("../module"); var _useWindowDimensions = require("./useWindowDimensions"); Object.keys(_useWindowDimensions).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _useWindowDimensions[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _useWindowDimensions[key]; } }); }); var _useKeyboardState = require("./useKeyboardState"); Object.keys(_useKeyboardState).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _useKeyboardState[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _useKeyboardState[key]; } }); }); const useResizeMode = () => { (0, _react.useEffect)(() => { _module.KeyboardController.setInputMode(_constants.AndroidSoftInputModes.SOFT_INPUT_ADJUST_RESIZE); return () => _module.KeyboardController.setDefaultMode(); }, []); }; exports.useResizeMode = useResizeMode; const useKeyboardAnimation = () => { useResizeMode(); const context = (0, _context.useKeyboardContext)(); return context.animated; }; exports.useKeyboardAnimation = useKeyboardAnimation; const useReanimatedKeyboardAnimation = () => { useResizeMode(); const context = (0, _context.useKeyboardContext)(); return context.reanimated; }; exports.useReanimatedKeyboardAnimation = useReanimatedKeyboardAnimation; function useGenericKeyboardHandler(handler, deps) { const context = (0, _context.useKeyboardContext)(); (0, _react.useLayoutEffect)(() => { const cleanup = context.setKeyboardHandlers(handler); return () => cleanup(); }, deps); } function useKeyboardHandler(handler, deps) { useResizeMode(); useGenericKeyboardHandler(handler, deps); } function useKeyboardController() { const context = (0, _context.useKeyboardContext)(); return { setEnabled: context.setEnabled, enabled: context.enabled }; } function useReanimatedFocusedInput() { const context = (0, _context.useKeyboardContext)(); return { input: context.layout }; } function useFocusedInputHandler(handler, deps) { const context = (0, _context.useKeyboardContext)(); (0, _react.useLayoutEffect)(() => { const cleanup = context.setInputHandlers(handler); return () => cleanup(); }, deps); } //# sourceMappingURL=index.js.map