UNPKG

@fruits-chain/react-native-xiaoshu

Version:
44 lines (35 loc) • 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _reactNative = require("react-native"); var _reactNativeSafeAreaContext = require("react-native-safe-area-context"); const getDefaultValue = (v, dv) => { if (typeof v === 'number') { return v; } if (typeof v === 'boolean' && v) { return dv; } return 0; }; const useSafeHeight = function () { let { top = true, bottom = true } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)(); const insetTop = getDefaultValue(top, insets.top); const insetBottom = getDefaultValue(bottom, insets.bottom); const dimensionsWindow = (0, _reactNative.useWindowDimensions)(); const [height, setHeight] = (0, _react.useState)(dimensionsWindow.height - insetTop - insetBottom); (0, _react.useLayoutEffect)(() => { setHeight(dimensionsWindow.height - insetTop - insetBottom); }, [dimensionsWindow.height, insetTop, insetBottom]); return height; }; var _default = useSafeHeight; exports.default = _default; //# sourceMappingURL=useSafeHeight.js.map