UNPKG

@gocodingnow/rn-native-base-boilerplate

Version:
28 lines (21 loc) 1.13 kB
import {Dimensions} from 'react-native' const {width, height} = Dimensions.get('window') const [shortDimension, longDimension] = width < height ? [width, height] : [height, width] //Default guideline sizes are based on standard ~5" screen mobile device let guidelineBaseWidth = parseInt(process.env.SIZE_MATTERS_BASE_WIDTH || '428', 10) let guidelineBaseHeight = parseInt(process.env.SIZE_MATTERS_BASE_HEIGHT || '926', 10) export const setSizeMattersBaseWidth = baseWidth => { guidelineBaseWidth = baseWidth } export const setSizeMattersBaseHeight = baseHeight => { guidelineBaseHeight = baseHeight } export const scale = (size: number) => (shortDimension / guidelineBaseWidth) * size export const verticalScale = (size: number) => (longDimension / guidelineBaseHeight) * size export const moderateScale = (size: number, factor = 0.5) => size + (scale(size) - size) * factor export const moderateVerticalScale = (size: number, factor = 0.5) => size + (verticalScale(size) - size) * factor export const s = scale export const vs = verticalScale export const ms = moderateScale export const mvs = moderateVerticalScale