@eslam-elmeniawy/react-native-common-components
Version:
Common `ReactNative` components packed in library for usage in projects.
121 lines (117 loc) • 4.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _ImagePlaceholderStyles = _interopRequireDefault(require("./ImagePlaceholder.styles.js"));
var _Placeholder = _interopRequireDefault(require("./Placeholder.js"));
var _Loading = _interopRequireDefault(require("./Loading.js"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
// External imports.
// Types imports.
// Internal imports.
const Image = /*#__PURE__*/React.memo(props => {
try {
const FastImage = require('@d11/react-native-fast-image').default;
require('react-native-svg');
const {
source,
placeholder,
vectorPlaceholder,
resizeMode,
priority,
cache,
loadingProps,
theme,
isLoading,
isError,
progress,
progressSize,
setLoadingState,
setErrorState,
setProgressState,
setProgressSizeState
} = props;
let _resizeMode;
switch (resizeMode) {
case 'contain':
_resizeMode = FastImage.resizeMode.contain;
break;
case 'stretch':
_resizeMode = FastImage.resizeMode.stretch;
break;
case 'center':
_resizeMode = FastImage.resizeMode.center;
break;
default:
_resizeMode = FastImage.resizeMode.cover;
break;
}
let _priority;
switch (priority) {
case 'low':
_priority = FastImage.priority.low;
break;
case 'high':
_priority = FastImage.priority.high;
break;
default:
_priority = FastImage.priority.normal;
break;
}
let _cache;
switch (cache) {
case 'web':
_cache = FastImage.cacheControl.web;
break;
case 'cacheOnly':
_cache = FastImage.cacheControl.cacheOnly;
break;
default:
_cache = FastImage.cacheControl.immutable;
break;
}
let _shouldDisplayLoading = isLoading;
if (loadingProps?.showLoading === false) {
_shouldDisplayLoading = false;
}
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Placeholder.default, {
source: source,
placeholder: placeholder,
vectorPlaceholder: vectorPlaceholder,
resizeMode: resizeMode,
isLoading: isLoading,
isError: isError,
progress: progress,
progressSize: progressSize
}), Boolean(source) && !isError && /*#__PURE__*/(0, _jsxRuntime.jsx)(FastImage, {
style: _ImagePlaceholderStyles.default.image,
source: {
uri: source,
priority: _priority,
cache: _cache
},
resizeMode: _resizeMode,
onLoadStart: () => setLoadingState(true),
onLoadEnd: () => setLoadingState(false),
onError: () => setErrorState(true),
onProgress: e => setProgressState(e.nativeEvent.total > 0 ? e.nativeEvent.loaded / e.nativeEvent.total : 0)
}), _shouldDisplayLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loading.default, {
loadingProps: loadingProps,
theme: theme,
setProgressSizeState: setProgressSizeState,
progress: progress,
progressSize: progressSize
})]
});
} catch (error) {
return null;
}
});
var _default = exports.default = Image;
//# sourceMappingURL=Image.js.map