@janiscommerce/ui-native
Version:
components library for Janis app
14 lines (13 loc) • 911 B
JavaScript
import { Dimensions, PixelRatio, Platform } from 'react-native';
const guidelineBaseWidth = 360;
const guidelineBaseHeight = 720;
const isIOS = Platform.OS === 'ios';
const isWeb = Platform.OS === 'web';
const { width: viewportWidth, height: viewportHeight } = Dimensions.get('window');
const isSmallDevice = (minWidth = 365) => viewportWidth <= minWidth;
const horizontalScale = (size) => PixelRatio.roundToNearestPixel((viewportWidth / guidelineBaseWidth) * size);
const verticalScale = (size) => PixelRatio.roundToNearestPixel((viewportHeight / guidelineBaseHeight) * size);
const moderateScale = (size, factor = 1) => size + (horizontalScale(size) - size) * factor;
/* istanbul ignore next */
const scaledForDevice = (size, scaleCallback) => isWeb ? size : scaleCallback(size);
export { isIOS, viewportWidth, viewportHeight, isSmallDevice, horizontalScale, verticalScale, moderateScale, scaledForDevice, };