UNPKG

@sendbird/uikit-react-native-foundation

Version:

A foundational UI kit for building chat-enabled React Native apps.

85 lines (84 loc) 2.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _reactNative = require("react-native"); var _FastImageInternal = _interopRequireDefault(require("./FastImageInternal")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } function convertCache(cache) { switch (cache) { case 'force-cache': case 'only-if-cached': return 'cacheOnly'; default: return 'immutable'; } } function convertSource(source) { if (Array.isArray(source)) { return convertSource(source[0]); } if (typeof source === 'number') { return source; } return { uri: source === null || source === void 0 ? void 0 : source.uri, headers: source === null || source === void 0 ? void 0 : source.headers, cache: convertCache(source === null || source === void 0 ? void 0 : source.cache) //'immutable' | 'web' | 'cacheOnly' }; } function convertDefaultSource(source) { if (typeof source === 'number') { return source; } return undefined; } function convertResizeMode(mode) { switch (mode) { case 'center': return 'center'; case 'contain': return 'contain'; case 'cover': return 'cover'; case 'stretch': return 'stretch'; default: return undefined; } } const Image_FastImage = ({ source, defaultSource, resizeMode, onLoad, onError, style, tintColor, disableFastImage = false, ...props }) => { if (disableFastImage) { return /*#__PURE__*/_react.default.createElement(_reactNative.Image, _extends({}, props, { source: source, style: [style, { tintColor }], onError: onError && (e => onError(e.nativeEvent)), onLoad: onLoad && (e => onLoad(e.nativeEvent.source)) })); } return /*#__PURE__*/_react.default.createElement(_FastImageInternal.default, _extends({}, props, { onLoad: onLoad && (e => onLoad(e.nativeEvent)), onError: onError && (() => onError({})), style: style, source: convertSource(source), defaultSource: convertDefaultSource(defaultSource), resizeMode: convertResizeMode(resizeMode) })); }; var _default = exports.default = Image_FastImage; //# sourceMappingURL=Image.fastimage.js.map