UNPKG

@eslam-elmeniawy/react-native-common-components

Version:

Common `ReactNative` components packed in library for usage in projects.

59 lines (56 loc) 1.49 kB
"use strict"; // External imports. import * as React from 'react'; import { StyleSheet } from 'react-native'; // Types imports. // Internal imports. import styles from "./ImagePlaceholder.styles.js"; let Image = null; let VectorImage = null; try { Image = require('react-native').Image; } catch (error) { console.warn('Error loading Image from react-native:', error); Image = null; } try { VectorImage = require('react-native-vector-image').default; } catch (error) { console.warn('Error loading `react-native-vector-image`:', error); VectorImage = null; } const Placeholder = /*#__PURE__*/React.memo(props => { const { source, placeholder, vectorPlaceholder, resizeMode, isLoading, isError } = props; if (!source || isError || isLoading) { const _resizeMode = resizeMode ?? 'cover'; if (placeholder && Image) { return /*#__PURE__*/React.createElement(Image, { source: placeholder, style: StyleSheet.flatten([styles.image, { resizeMode: _resizeMode }]), resizeMode: _resizeMode }); } if (vectorPlaceholder && VectorImage) { return /*#__PURE__*/React.createElement(VectorImage, { source: vectorPlaceholder, style: StyleSheet.flatten([styles.image, { resizeMode: _resizeMode }]), resizeMode: _resizeMode }); } return null; } return null; }); export default Placeholder; //# sourceMappingURL=Placeholder.js.map