UNPKG

@krowdy-ui/views

Version:

React components that implement Google's Material Design.

78 lines (76 loc) 2.22 kB
import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@krowdy-ui/core'; import Bar from './Bar'; var Column = function Column(_ref) { var candidates = _ref.candidates, index = _ref.index, divider = _ref.divider, maxCandidates = _ref.maxCandidates, pricePercent = _ref.pricePercent; var classes = useStyles({ pricePercent: pricePercent }); return /*#__PURE__*/React.createElement("div", { className: clsx(classes.columnContainer, index === 0 && classes.leftLine, index === divider - 1 && classes.rightLine, index > 0 && index < divider - 1 && classes.centerLine) }, /*#__PURE__*/React.createElement("div", { className: classes.containerBar }, candidates.map(function (candidate, index) { return /*#__PURE__*/React.createElement(Bar, { candidate: candidate, index: index, key: index, max: candidates.length, maxCandidates: maxCandidates }); }))); }; var useStyles = makeStyles(function (theme) { return { avatar: {}, centerLine: { borderLeft: "1px solid ".concat(theme.palette.grey[200]), borderRight: "1px solid ".concat(theme.palette.grey[200]) }, columnContainer: { '& $point': { backgroundColor: theme.palette.grey[300] }, '&:hover': { '& $avatar': { display: 'block' }, '& $point': { display: 'none' } }, alignItems: 'flex-end', display: 'flex', height: 'inherit', justifyContent: 'center', position: 'relative', width: function width(_ref2) { var pricePercent = _ref2.pricePercent; return "".concat(pricePercent, "%"); } }, containerBar: { display: 'flex', flexDirection: 'column-reverse', height: '100%', width: '100%' }, leftLine: { borderLeft: "2px solid ".concat(theme.palette.grey[200]), borderRight: "1px solid ".concat(theme.palette.grey[200]) }, point: {}, rightLine: { borderLeft: "1px solid ".concat(theme.palette.grey[200]), borderRight: "2px solid ".concat(theme.palette.grey[200]) } }; }, { name: 'Column' }); export default Column;