UNPKG

@sendbird/uikit-react-native-foundation

Version:

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

81 lines (80 loc) 2.69 kB
"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 _Box = _interopRequireDefault(require("../../components/Box")); var _Divider = _interopRequireDefault(require("../../components/Divider")); var _Icon = _interopRequireDefault(require("../../components/Icon")); 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 MenuBar = ({ variant = 'default', disabled, visible = true, onPress, name, icon, iconColor, iconBackgroundColor, actionLabel, actionItem = null }) => { const { palette, colors } = (0, _useUIKitTheme.default)(); if (!visible) return null; return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, { disabled: disabled, onPress: onPress, style: styles.container }, icon && /*#__PURE__*/_react.default.createElement(_Icon.default, { icon: icon, size: variant === 'contained' ? 16 : 24, color: (0, _uikitUtils.conditionChaining)([variant === 'contained', iconColor], [palette.background50, iconColor, colors.primary]), containerStyle: [styles.icon, variant === 'contained' && styles.containedIcon, variant === 'contained' && { backgroundColor: iconBackgroundColor ?? palette.background400 }] }), /*#__PURE__*/_react.default.createElement(_Box.default, { flex: 1, alignItems: 'flex-start' }, /*#__PURE__*/_react.default.createElement(_Text.default, { subtitle2: true, numberOfLines: 1, style: styles.name }, name)), Boolean(actionLabel) && /*#__PURE__*/_react.default.createElement(_Text.default, { subtitle2: true, numberOfLines: 1, color: colors.onBackground02, style: styles.actionLabel }, actionLabel), actionItem), /*#__PURE__*/_react.default.createElement(_Divider.default, null)); }; const styles = (0, _createStyleSheet.default)({ container: { paddingVertical: 16, flexDirection: 'row', alignItems: 'center' }, name: { flex: 1, marginEnd: 8 }, icon: { marginEnd: 16 }, containedIcon: { borderRadius: 24, padding: 4 }, actionLabel: { marginEnd: 4 } }); var _default = exports.default = MenuBar; //# sourceMappingURL=index.js.map