UNPKG

@visx/shape

Version:
67 lines (66 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = BarGroupHorizontal; var _classnames = _interopRequireDefault(require("classnames")); var _group = require("@visx/group"); var _Bar = _interopRequireDefault(require("./Bar")); var _getBandwidth = _interopRequireDefault(require("../util/getBandwidth")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function BarGroupHorizontal(_ref) { let { data, className, top, left, x = (/** val */) => 0, y0, y0Scale, y1Scale, xScale, color, keys, width, children, ...restProps } = _ref; const barHeight = (0, _getBandwidth.default)(y1Scale); const barGroups = data.map((group, i) => ({ index: i, y0: y0Scale(y0(group)) || 0, bars: keys.map((key, j) => { const value = group[key]; return { index: j, key, value, height: barHeight, x: x(value) || 0, y: y1Scale(key) || 0, color: color(key, j), width: xScale(value) || 0 }; }) })); if (children) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, { children: children(barGroups) }); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_group.Group, { className: (0, _classnames.default)('visx-bar-group-horizontal', className), top: top, left: left, children: barGroups.map(barGroup => /*#__PURE__*/(0, _jsxRuntime.jsx)(_group.Group, { top: barGroup.y0, children: barGroup.bars.map(bar => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Bar.default, { x: bar.x, y: bar.y, width: bar.width, height: bar.height, fill: bar.color, ...restProps }, `bar-group-bar-${barGroup.index}-${bar.index}-${bar.value}-${bar.key}`)) }, `bar-group-${barGroup.index}-${barGroup.y0}`)) }); }