@sendbird/uikit-react-native-foundation
Version:
A foundational UI kit for building chat-enabled React Native apps.
66 lines (65 loc) • 1.97 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 _Text = _interopRequireDefault(require("../../components/Text"));
var _createStyleSheet = _interopRequireDefault(require("../../styles/createStyleSheet"));
var _useUIKitTheme = _interopRequireDefault(require("../../theme/useUIKitTheme"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const Badge = ({
count,
maxCount,
badgeColor,
textColor,
style,
size = 'default'
}) => {
const {
colors
} = (0, _useUIKitTheme.default)();
const isSmall = size === 'small';
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [isSmall ? styles.badgeSmall : styles.badgeDefault, {
backgroundColor: badgeColor ?? colors.ui.badge.default.none.background
}, count >= 10 && (isSmall ? styles.badgeSmallPadding : styles.badgeDefaultPadding), style]
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
caption1: true,
color: textColor ?? colors.ui.badge.default.none.text
}, (0, _uikitUtils.truncatedCount)(count, maxCount)));
};
const styles = (0, _createStyleSheet.default)({
badgeDefault: {
paddingTop: _reactNative.Platform.select({
ios: 2,
android: 2
}),
minWidth: 20,
minHeight: 20,
borderRadius: 99,
alignItems: 'center',
justifyContent: 'center'
},
badgeDefaultPadding: {
paddingHorizontal: 8
},
badgeSmall: {
paddingTop: _reactNative.Platform.select({
ios: 3,
android: 2
}),
minWidth: 16,
minHeight: 16,
borderRadius: 99,
alignItems: 'center',
justifyContent: 'center'
},
badgeSmallPadding: {
paddingHorizontal: 4
}
});
var _default = exports.default = Badge;
//# sourceMappingURL=index.js.map