@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
40 lines • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
// (C) 2020 GoodData Corporation
var React = require("react");
var classNames = require("classnames");
var helpers_1 = require("./helpers");
var PositionTypes_1 = require("./PositionTypes");
function ColorLabels(colorLabelProps) {
var labels = colorLabelProps.labels;
return (React.createElement("div", { className: "labels" }, labels.map(function (item) {
var key = item.key, label = item.label, style = item.style;
return (React.createElement("span", { key: key, style: style }, label));
})));
}
exports.ColorLabels = ColorLabels;
function ColorBoxes(colorBoxProps) {
var boxes = colorBoxProps.boxes;
return (React.createElement("div", { className: "boxes" }, boxes.map(function (box) {
var classes = classNames("box", box.class);
var key = box.key, style = box.style;
return React.createElement("span", { className: classes, key: key, style: style });
})));
}
exports.ColorBoxes = ColorBoxes;
function ColorLegend(colorLegendProps) {
var data = colorLegendProps.data, format = colorLegendProps.format, numericSymbols = colorLegendProps.numericSymbols, _a = colorLegendProps.isSmall, isSmall = _a === void 0 ? false : _a, position = colorLegendProps.position;
if (!data.length) {
return null;
}
var config = helpers_1.getColorLegendConfiguration(data, format, numericSymbols, isSmall, position);
var classes = classNames.apply(void 0, config.classes);
var renderLabelsFirst = config.position === PositionTypes_1.TOP;
var boxes = config.boxes, labels = config.labels;
return (React.createElement("div", { className: classes },
renderLabelsFirst && React.createElement(ColorLabels, { labels: labels }),
React.createElement(ColorBoxes, { boxes: boxes }),
!renderLabelsFirst && React.createElement(ColorLabels, { labels: labels })));
}
exports.ColorLegend = ColorLegend;
//# sourceMappingURL=ColorLegend.js.map