@sendbird/uikit-react-native-foundation
Version:
A foundational UI kit for building chat-enabled React Native apps.
69 lines (67 loc) • 2.54 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _uikitUtils = require("@sendbird/uikit-utils");
var _Icon = _interopRequireDefault(require("../../components/Icon"));
var _Text = _interopRequireDefault(require("../../components/Text"));
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
var _Button = _interopRequireDefault(require("../Button"));
var _LoadingSpinner = _interopRequireDefault(require("../LoadingSpinner"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const Placeholder = ({
icon,
loading = false,
message = '',
errorRetryLabel,
onPressRetry
}) => {
const {
colors
} = (0, _useUIKitTheme.default)();
// loading ? styles.containerLoading : errorRetryLabel ? styles.containerError : styles.container
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: (0, _uikitUtils.conditionChaining)([loading, errorRetryLabel], [styles.containerLoading, styles.containerError, styles.container])
}, (0, _uikitUtils.conditionChaining)([loading], [/*#__PURE__*/_react.default.createElement(_LoadingSpinner.default, {
size: 64,
color: colors.ui.placeholder.default.none.highlight
}), /*#__PURE__*/_react.default.createElement(_Icon.default, {
icon: icon,
size: 64,
color: colors.ui.placeholder.default.none.content
})]), Boolean(message) && !loading && /*#__PURE__*/_react.default.createElement(_Text.default, {
body3: true,
color: colors.ui.placeholder.default.none.content
}, message), Boolean(errorRetryLabel) && !loading && /*#__PURE__*/_react.default.createElement(_Button.default, {
variant: 'text',
onPress: onPressRetry,
contentColor: colors.ui.placeholder.default.none.highlight,
icon: 'refresh'
}, errorRetryLabel));
};
const styles = (0, _createStyleSheet.default)({
container: {
width: 200,
height: 100,
alignItems: 'center',
justifyContent: 'space-between'
},
containerError: {
width: 200,
height: 148,
alignItems: 'center',
justifyContent: 'space-between'
},
containerLoading: {
width: 200,
height: 100,
alignItems: 'center',
justifyContent: 'center'
}
});
var _default = exports.default = Placeholder;
//# sourceMappingURL=index.js.map