@attio/react-native-bottom-sheet-toolbox
Version:
24 lines (23 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useKeyboardAwareSafeAreaBottomInset = useKeyboardAwareSafeAreaBottomInset;
var _reactNative = require("react-native");
var _reactNativeReanimated = require("react-native-reanimated");
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
var _context = require("../context");
function useKeyboardAwareSafeAreaBottomInset(fallbackInset) {
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
const keyboardHeightSharedValue = (0, _context.useKeyboardHeightSharedValue)();
return (0, _reactNativeReanimated.useDerivedValue)(() => {
switch (_reactNative.Platform.OS) {
case "android":
return insets.bottom + Math.min(keyboardHeightSharedValue.get(), fallbackInset);
case "ios":
return insets.bottom - Math.min(keyboardHeightSharedValue.get(), insets.bottom - fallbackInset);
}
return fallbackInset;
}, [insets.bottom, keyboardHeightSharedValue, fallbackInset]);
}
//# sourceMappingURL=use-keyboard-aware-safe-area-bottom-inset.js.map