UNPKG

@hackoregon/component-library

Version:

Official repo for Hack Oregon React component library

51 lines (45 loc) 1.76 kB
function _templateObject() { var data = _taggedTemplateLiteral(["\n font-family: Helvetica, Arial, sans-serif;\n font-size: 14px;\n position: absolute;\n padding: 4px;\n margin: 8px;\n background: rgba(0, 0, 0, 0.75);\n color: #ffffff;\n max-width: 250px;\n z-index: 9;\n pointer-events: none;\n"]); _templateObject = function _templateObject() { return data; }; return data; } function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } import React from "react"; import { string, number, arrayOf, oneOfType, shape } from "prop-types"; import { css } from "emotion"; import { get } from "lodash"; import window from "global/window"; var tooltip = css(_templateObject()); var MapTooltip = function MapTooltip(props) { var tooltipData = props.tooltipData; var x = tooltipData.x; var y = tooltipData.y; var xPosition = x < get(window, "innerWidth", 1000) * 0.66 ? x : x - get(window, "innerWidth", 1000) * 0.1; var yPostition = y < 375 ? y : y - 50; var tooltipContent = tooltipData.content.map(function (obj) { var value = obj.value ? obj.value : "No Data Available"; return React.createElement("div", { key: "".concat(obj.name, "-").concat(value) }, "".concat(obj.name, ": ").concat(value.toLocaleString())); }); return React.createElement("div", { className: tooltip, style: { left: xPosition, top: yPostition } }, tooltipContent); }; MapTooltip.propTypes = { tooltipData: shape({ x: number, y: number, content: arrayOf(shape({ name: string, value: oneOfType([number, string]) })) }) }; export default MapTooltip;