@whitemordred/react-native-bootstrap5
Version:
A complete React Native library that replicates Bootstrap 5.3 with 100% feature parity, full theming support, CSS variables, and dark/light mode
126 lines • 2.94 kB
TypeScript
/**
* Platform-specific utilities for React Native Bootstrap 5
* Provides helpers for cross-platform compatibility
*/
export declare const PlatformUtils: {
/**
* Check if running on mobile platforms (iOS/Android)
*/
isMobile: boolean;
/**
* Check if running on desktop platforms (Windows/macOS/Web)
*/
isDesktop: boolean;
/**
* Check if running on web
*/
isWeb: boolean;
/**
* Check if running on Windows
*/
isWindows: boolean;
/**
* Check if running on macOS
*/
isMacOS: boolean;
/**
* Get platform-specific spacing
*/
getSpacing: (base: number) => number;
/**
* Get platform-specific font sizes
*/
getFontSize: (base: number) => number;
/**
* Get platform-specific border radius
*/
getBorderRadius: (base: number) => number;
/**
* Get platform-specific shadow/elevation
*/
getShadow: (elevation: number) => {};
/**
* Get platform-specific pressable feedback
*/
getPressableFeedback: () => {
activeOpacity: number;
android_ripple?: undefined;
} | {
android_ripple: {
color: string;
};
activeOpacity?: undefined;
} | {
activeOpacity?: undefined;
android_ripple?: undefined;
};
/**
* Get platform-specific accessibility props
*/
getAccessibilityProps: (label: string, role?: string) => {
'aria-label'?: string | undefined;
role?: string | undefined;
accessible: boolean;
accessibilityLabel: string;
accessibilityRole: any;
};
/**
* Check if hover states are supported
*/
supportsHover: boolean;
/**
* Get platform-specific input styling
*/
getInputStyle: (baseStyle: any) => any;
/**
* Get platform-specific modal presentation
*/
getModalProps: () => {
presentationStyle: string;
animationType?: undefined;
} | {
animationType: string;
presentationStyle?: undefined;
};
};
/**
* Platform-specific constants
*/
export declare const PlatformConstants: {
/**
* Default safe area insets for each platform
*/
safeAreaInsets: {
top: number;
bottom: number;
left: number;
right: number;
};
/**
* Platform-specific breakpoints
*/
breakpoints: {
xs: number;
sm: number;
md: number;
lg: number;
xl: number;
xxl: number;
desktop: number;
};
/**
* Platform-specific z-index values
*/
zIndex: {
dropdown: number;
sticky: number;
fixed: number;
modalBackdrop: number;
modal: number;
popover: number;
tooltip: number;
toast: number;
};
};
export default PlatformUtils;
//# sourceMappingURL=PlatformUtils.d.ts.map