UNPKG

@janiscommerce/ui-native

Version:
14 lines (13 loc) 911 B
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, };