@eslam-elmeniawy/react-native-common-components
Version:
Common `ReactNative` components packed in library for usage in projects.
99 lines (97 loc) • 3.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isIPhoneXMax = exports.isIPhoneX = exports.isIPhoneWithMonobrow = exports.isIPhone16Max = exports.isIPhone14Pro = exports.isIPhone14Max = exports.isIPhone12Max = exports.isIPhone12 = exports.getStatusBarHeight = void 0;
var _reactNative = require("react-native");
// External imports.
const STATUSBAR_DEFAULT_HEIGHT = 20;
const STATUSBAR_X_HEIGHT = 44;
const STATUSBAR_IP12_HEIGHT = 47;
const STATUSBAR_IP12MAX_HEIGHT = 47;
const STATUSBAR_IP14PRO_HEIGHT = 59;
const STATUSBAR_IP14MAX_HEIGHT = 59;
const STATUSBAR_IP16MAX_HEIGHT = 62;
const X_WIDTH = 375;
const X_HEIGHT = 812;
const XSMAX_WIDTH = 414;
const XSMAX_HEIGHT = 896;
const IP12_WIDTH = 390;
const IP12_HEIGHT = 844;
const IP12MAX_WIDTH = 428;
const IP12MAX_HEIGHT = 926;
const IP14PRO_WIDTH = 393;
const IP14PRO_HEIGHT = 852;
const IP14MAX_WIDTH = 430;
const IP14MAX_HEIGHT = 932;
const IP16MAX_WIDTH = 440;
const IP16MAX_HEIGHT = 956;
const {
height: W_HEIGHT,
width: W_WIDTH
} = _reactNative.Dimensions.get('window');
let statusBarHeight = STATUSBAR_DEFAULT_HEIGHT;
let isIPhoneX_v = false;
let isIPhoneXMax_v = false;
let isIPhone12_v = false;
let isIPhone12Max_v = false;
let isIPhone14Pro_v = false;
let isIPhone14Max_v = false;
let isIPhone16Max_v = false;
let isIPhoneWithMonobrow_v = false;
if (_reactNative.Platform.OS === 'ios' && !_reactNative.Platform.isPad && !_reactNative.Platform.isTV) {
if (W_WIDTH === X_WIDTH && W_HEIGHT === X_HEIGHT) {
isIPhoneWithMonobrow_v = true;
isIPhoneX_v = true;
statusBarHeight = STATUSBAR_X_HEIGHT;
} else if (W_WIDTH === XSMAX_WIDTH && W_HEIGHT === XSMAX_HEIGHT) {
isIPhoneWithMonobrow_v = true;
isIPhoneXMax_v = true;
statusBarHeight = STATUSBAR_X_HEIGHT;
} else if (W_WIDTH === IP12_WIDTH && W_HEIGHT === IP12_HEIGHT) {
isIPhoneWithMonobrow_v = true;
isIPhone12_v = true;
statusBarHeight = STATUSBAR_IP12_HEIGHT;
} else if (W_WIDTH === IP12MAX_WIDTH && W_HEIGHT === IP12MAX_HEIGHT) {
isIPhoneWithMonobrow_v = true;
isIPhone12Max_v = true;
statusBarHeight = STATUSBAR_IP12MAX_HEIGHT;
} else if (W_WIDTH === IP14PRO_WIDTH && W_HEIGHT === IP14PRO_HEIGHT) {
isIPhoneWithMonobrow_v = true;
isIPhone14Pro_v = true;
statusBarHeight = STATUSBAR_IP14PRO_HEIGHT;
} else if (W_WIDTH === IP14MAX_WIDTH && W_HEIGHT === IP14MAX_HEIGHT) {
isIPhoneWithMonobrow_v = true;
isIPhone14Max_v = true;
statusBarHeight = STATUSBAR_IP14MAX_HEIGHT;
} else if (W_WIDTH === IP16MAX_WIDTH && W_HEIGHT === IP16MAX_HEIGHT) {
isIPhoneWithMonobrow_v = true;
isIPhone16Max_v = true;
statusBarHeight = STATUSBAR_IP16MAX_HEIGHT;
}
}
const isIPhoneX = () => isIPhoneX_v;
exports.isIPhoneX = isIPhoneX;
const isIPhoneXMax = () => isIPhoneXMax_v;
exports.isIPhoneXMax = isIPhoneXMax;
const isIPhone12 = () => isIPhone12_v;
exports.isIPhone12 = isIPhone12;
const isIPhone12Max = () => isIPhone12Max_v;
exports.isIPhone12Max = isIPhone12Max;
const isIPhone14Pro = () => isIPhone14Pro_v;
exports.isIPhone14Pro = isIPhone14Pro;
const isIPhone14Max = () => isIPhone14Max_v;
exports.isIPhone14Max = isIPhone14Max;
const isIPhone16Max = () => isIPhone16Max_v;
exports.isIPhone16Max = isIPhone16Max;
const isIPhoneWithMonobrow = () => isIPhoneWithMonobrow_v;
exports.isIPhoneWithMonobrow = isIPhoneWithMonobrow;
const getStatusBarHeight = skipAndroid => {
return _reactNative.Platform.select({
ios: statusBarHeight,
android: skipAndroid ? 0 : _reactNative.StatusBar.currentHeight,
default: 0
});
};
exports.getStatusBarHeight = getStatusBarHeight;
//# sourceMappingURL=StatusBarHeight.js.map