@shayrn/react-native-scaler
Version:
Responsive scaling utilities for React Native CLI and Expo apps
121 lines (119 loc) • 3.17 kB
TypeScript
declare const screenWidth: number;
declare const screenHeight: number;
declare const configureScaler: (config: {
referenceWidth?: number;
referenceHeight?: number;
}) => void;
declare const scale: (size: number, options?: {
min?: number;
max?: number;
useUniform?: boolean;
}) => number;
declare const scaleFont: (fontSize: number, options?: {
min?: number;
max?: number;
respectAccessibility?: boolean;
}) => number;
declare const scaleLineHeight: (lineHeight: number, options?: {
min?: number;
max?: number;
respectAccessibility?: boolean;
}) => number;
declare const scaleRadius: (radius: number, options?: {
min?: number;
max?: number;
}) => number;
declare const scaleWidth: (size: number, options?: {
min?: number;
max?: number;
}) => number;
declare const scaleHeight: (size: number, options?: {
min?: number;
max?: number;
}) => number;
declare const getPixelSize: (layoutSize: number) => number;
declare const deviceInfo: {
pixelRatio: number;
fontScale: number;
isHighDensity: boolean;
isTablet: boolean;
isSmallDevice: boolean;
aspectRatio: number;
};
declare const responsive: {
width: (value: number, options?: {
min?: number;
max?: number;
}) => number;
height: (value: number, options?: {
min?: number;
max?: number;
}) => number;
font: (value: number, options?: {
min?: number;
max?: number;
respectAccessibility?: boolean;
}) => number;
lineHeight: (value: number, options?: {
min?: number;
max?: number;
respectAccessibility?: boolean;
}) => number;
radius: (value: number, options?: {
min?: number;
max?: number;
}) => number;
spacing: (value: number, options?: {
min?: number;
max?: number;
useUniform?: boolean;
}) => number;
adaptiveSpacing: (value: number) => number;
pixelPerfect: (value: number) => number;
};
declare const responsiveStyles: {
container: {
padding: number;
margin: number;
borderRadius: number;
gap: number;
};
text: {
fontSize: number;
lineHeight: number;
};
adaptiveText: {
fontSize: number;
lineHeight: number;
};
};
declare const onOrientationChange: (callback: () => void) => {
remove: () => void;
};
declare const getScales: () => {
width: number;
height: number;
uniform: number;
pixel: number;
font: number;
};
declare const scales: {
width: number;
height: number;
uniform: number;
pixel: number;
font: number;
};
type ScaleOptions = {
min?: number;
max?: number;
useUniform?: boolean;
};
type FontScaleOptions = {
min?: number;
max?: number;
respectAccessibility?: boolean;
};
type DeviceInfo = typeof deviceInfo;
export { configureScaler, deviceInfo, getPixelSize, getScales, onOrientationChange, responsive, responsiveStyles, scale, scaleFont, scaleHeight, scaleLineHeight, scaleRadius, scaleWidth, scales, screenHeight, screenWidth };
export type { DeviceInfo, FontScaleOptions, ScaleOptions };