UNPKG

cloudhubui

Version:

Various components to use in react projects

92 lines (71 loc) 5 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _styles = require("@material-ui/styles"); var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem")); var _ListItemIcon = _interopRequireDefault(require("@material-ui/core/ListItemIcon")); var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText")); var _ListItemAvatar = _interopRequireDefault(require("@material-ui/core/ListItemAvatar")); var _ListItemSecondaryAction = _interopRequireDefault(require("@material-ui/core/ListItemSecondaryAction")); var _Block = _interopRequireDefault(require("./Block")); var _ThemeContext = _interopRequireDefault(require("./theme/ThemeContext")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var getStyles = function getStyles(_ref) { var selected = _ref.selected, colors = _ref.colors, sizes = _ref.sizes; var useStyles = (0, _styles.makeStyles)({ listItem: { backgroundColor: selected ? colors.jungleGreen : 'transparent', color: selected ? colors.milkyWhite : colors.dark, fontSize: sizes.button, '& :hover': { backgroundColor: colors.jungleGreen, color: colors.milkyWhite } } }); return { useStyles: useStyles }; }; var MenuItem = function MenuItem(_ref2) { var icon = _ref2.icon, avatar = _ref2.avatar, primary = _ref2.primary, secondary = _ref2.secondary, action = _ref2.action, children = _ref2.children, selected = _ref2.selected, rest = _objectWithoutProperties(_ref2, ["icon", "avatar", "primary", "secondary", "action", "children", "selected"]); var _React$useContext = _react.default.useContext(_ThemeContext.default), colors = _React$useContext.colors, sizes = _React$useContext.sizes; var classes = getStyles({ selected: selected, colors: colors, sizes: sizes }).useStyles(); return /*#__PURE__*/_react.default.createElement(_Block.default, { flex: false, row: true, className: classes.listItem }, /*#__PURE__*/_react.default.createElement(_ListItem.default, rest, children || /*#__PURE__*/_react.default.createElement(_react.Fragment, null, icon && /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, icon), avatar && /*#__PURE__*/_react.default.createElement(_ListItemAvatar.default, null, avatar), /*#__PURE__*/_react.default.createElement(_ListItemText.default, { primary: primary, secondary: secondary }), action && /*#__PURE__*/_react.default.createElement(_ListItemSecondaryAction.default, null, action)))); }; MenuItem.defaultProps = { icon: null, button: true }; var _default = MenuItem; exports.default = _default;