react-native-keyboard-controller
Version:
Keyboard manager which works in identical way on both iOS and Android
101 lines (100 loc) • 3.45 kB
JavaScript
;
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