@apptane/react-ui-charts
Version:
Chart components in Apptane React UI framework
246 lines (230 loc) • 32.8 kB
JavaScript
import _defineProperty from "@babel/runtime/helpers/defineProperty";
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
import { css } from "@emotion/react";
import { useCallback, useContext, useRef, useState } from "react";
import { ChartDatumContext } from "../parts/ChartDatumContext.js";
import { ChartEmptyBlock } from "../parts/ChartEmptyBlock.js";
import { ChartHeader } from "../parts/ChartHeader.js";
import { ChartLegend } from "../parts/ChartLegend.js";
import { ChartSliceContext } from "../parts/ChartSliceContext.js";
import { XYChartOverlay } from "./XYChartOverlay.js";
import { XYChartTooltip } from "./XYChartTooltip.js";
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
const StyleContainer = process.env.NODE_ENV === "production" ? {
name: "1mw8zfs",
styles: "position:relative;overflow:visible"
} : {
name: "198iflq-StyleContainer",
styles: "position:relative;overflow:visible;label:StyleContainer;",
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy94eS9YWUNoYXJ0UGFuZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYTBCIiwiZmlsZSI6Ii4uLy4uL3NyYy94eS9YWUNoYXJ0UGFuZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25TdHlsZSB9IGZyb20gXCJAYXBwdGFuZS9yZWFjdC11aS1jb3JlXCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBEYXR1bSwgRG9tYWluWFZhbHVlLCBEb21haW5ZVmFsdWUgfSBmcm9tIFwiLi4vY29tbW9uL1R5cGVzLmpzXCI7XG5pbXBvcnQgeyBDaGFydERhdHVtQ29udGV4dCB9IGZyb20gXCIuLi9wYXJ0cy9DaGFydERhdHVtQ29udGV4dC5qc1wiO1xuaW1wb3J0IHsgQ2hhcnRFbXB0eUJsb2NrIH0gZnJvbSBcIi4uL3BhcnRzL0NoYXJ0RW1wdHlCbG9jay5qc1wiO1xuaW1wb3J0IHsgQ2hhcnRIZWFkZXIgfSBmcm9tIFwiLi4vcGFydHMvQ2hhcnRIZWFkZXIuanNcIjtcbmltcG9ydCB7IENoYXJ0TGVnZW5kIH0gZnJvbSBcIi4uL3BhcnRzL0NoYXJ0TGVnZW5kLmpzXCI7XG5pbXBvcnQgeyBDaGFydFNsaWNlQ29udGV4dCB9IGZyb20gXCIuLi9wYXJ0cy9DaGFydFNsaWNlQ29udGV4dC5qc1wiO1xuaW1wb3J0IHsgWFlDaGFydERhdHVtLCBYWUNoYXJ0UGFuZVByb3BzQmFzZSwgWFlDaGFydFBhbmVQcm9wc0Jhc2VFeCB9IGZyb20gXCIuL1hZQ2hhcnQudHlwZXMuanNcIjtcbmltcG9ydCB7IFhZQ2hhcnRPdmVybGF5IH0gZnJvbSBcIi4vWFlDaGFydE92ZXJsYXkuanNcIjtcbmltcG9ydCB7IFhZQ2hhcnRUb29sdGlwIH0gZnJvbSBcIi4vWFlDaGFydFRvb2x0aXAuanNcIjtcblxuY29uc3QgU3R5bGVDb250YWluZXIgPSBjc3NgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5gO1xuXG5jb25zdCBTdHlsZVRvb2x0aXAgPSAoYW5pbWF0aW9uOiBBbmltYXRpb25TdHlsZSkgPT4gY3NzYFxuICA+IGRpdiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogJHthbmltYXRpb24uZGVsYXl9bXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHthbmltYXRpb24uZHVyYXRpb259bXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR7YW5pbWF0aW9uLmZ1bmN0aW9ufTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBwcmV2ZW50cyB0b29sdGlwIGZyb20gdHJpZ2dlcmluZyBvbk1vdXNlTGVhdmVcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbmA7XG5cbmNvbnN0IGdldFJlbGF0aXZlUG9zaXRpb24gPSAobm9kZTogRWxlbWVudCwgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHtcbiAgY29uc3QgeyBjbGllbnRYLCBjbGllbnRZIH0gPSBldmVudDtcbiAgY29uc3QgYm94ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgcmV0dXJuIFtjbGllbnRYIC0gYm94LmxlZnQsIGNsaWVudFkgLSBib3gudG9wXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBYWUNoYXJ0UGFuZTxYIGV4dGVuZHMgRG9tYWluWFZhbHVlLCBZIGV4dGVuZHMgRG9tYWluWVZhbHVlLCBEYXRhID0gdm9pZD4oe1xuICBjaGlsZHJlbixcbiAgY29tcG9uZW50SWQsXG4gIHRoZW1lLFxuICBjb2xvck1vZGUsXG4gIGhlaWdodCxcbiAgd2lkdGgsXG4gIGNvbXB1dGVkLFxuICBmaW5kRGF0dW0sXG4gIHNldFNsaWNlLFxuICBzY2FsZVgsXG4gIHNjYWxlWSxcbiAgaW52ZXJ0WCxcbiAgaW52ZXJ0WSxcbiAgY29tcHV0ZWREb21haW5YLFxuICBjb21wdXRlZERvbWFpblksXG4gIGZvcm1hdFhUb29sdGlwLFxuICBmb3JtYXRZVG9vbHRpcCxcbiAgZm9ybWF0VG9vbHRpcFZhbHVlLFxuICBoZWFkZXIsXG4gIGhlYWRlckhlaWdodCxcbiAgZXh0ZW50WCxcbiAgZXh0ZW50WSxcbiAgYXhpc1lXaWR0aCxcbiAgYXhpc1hUaXRsZSxcbiAgYXhpc1lUaXRsZSxcbiAgdG9vbHRpcFZpc2libGUsXG4gIHRvb2x0aXBUb3RhbFZpc2libGUsXG4gIHRvb2x0aXBPZmZzZXQsXG4gIGVtcHR5VGV4dCxcbiAgbGVnZW5kVmlzaWJsZSxcbiAgbGVnZW5kSW50ZXJhY3RpdmUsXG4gIGRlZnMsXG4gIG92ZXJsYXlzLFxuICBiYWNrZ3JvdW5kLFxufTogUmVhY3QuUHJvcHNXaXRoQ2hpbGRyZW48WFlDaGFydFBhbmVQcm9wc0Jhc2U8WCwgWSwgRGF0YT4gJiBYWUNoYXJ0UGFuZVByb3BzQmFzZUV4PFgsIFksIERhdGE+Pikge1xuICBjb25zdCB2aXN1YWxBcHBlYXJhbmNlID0gdGhlbWUuY2hhcnRzLnh5LmFwcGVhcmFuY2UodGhlbWUucGFsZXR0ZVtjb2xvck1vZGVdLCBjb2xvck1vZGUsIHVuZGVmaW5lZCwgXCJub25lXCIpO1xuXG4gIGNvbnN0IHNsaWNlID0gdXNlQ29udGV4dChDaGFydFNsaWNlQ29udGV4dCk7XG4gIGNvbnN0IFtjdXJyZW50RGF0dW1JZCwgc2V0Q3VycmVudERhdHVtSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBjb25zdCBzZWxlY3RNZXRyaWMgPSB1c2VDYWxsYmFjaygoZGF0dW06IERhdHVtPERhdGE+KSA9PiBzZXRDdXJyZW50RGF0dW1JZChkYXR1bS5pZCksIFtdKTtcbiAgY29uc3QgZGVzZWxlY3RNZXRyaWMgPSB1c2VDYWxsYmFjaygoKSA9PiBzZXRDdXJyZW50RGF0dW1JZCh1bmRlZmluZWQpLCBbXSk7XG5cbiAgY29uc3QgbGVnZW5kID1cbiAgICBjb21wdXRlZCAhPSBudWxsICYmIGxlZ2VuZFZpc2libGUgPyAoXG4gICAgICA8Q2hhcnRMZWdlbmQ8WFlDaGFydERhdHVtPFgsIFksIERhdGE+LCBEYXRhPlxuICAgICAgICB0aGVtZT17dGhlbWV9XG4gICAgICAgIGNvbG9yTW9kZT17Y29sb3JNb2RlfVxuICAgICAgICBkYXRhPXtjb21wdXRlZH1cbiAgICAgICAgc2VsZWN0ZWREYXR1bUlkPXtsZWdlbmRJbnRlcmFjdGl2ZSA/IGN1cnJlbnREYXR1bUlkIDogdW5kZWZpbmVkfVxuICAgICAgICBvbk1vdXNlRW50ZXI9e2xlZ2VuZEludGVyYWN0aXZlID8gc2VsZWN0TWV0cmljIDogdW5kZWZpbmVkfVxuICAgICAgICBvbk1vdXNlTGVhdmU9e2xlZ2VuZEludGVyYWN0aXZlID8gZGVzZWxlY3RNZXRyaWMgOiB1bmRlZmluZWR9XG4gICAgICAgIG9uQ2xpY2s9e2xlZ2VuZEludGVyYWN0aXZlID8gc2VsZWN0TWV0cmljIDogdW5kZWZpbmVkfVxuICAgICAgLz5cbiAgICApIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHRyYWNrZXJSZWYgPSB1c2VSZWY8U1ZHUmVjdEVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IG9uTW91c2VNb3ZlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICh0cmFja2VyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3QgW3gsIHldID0gZ2V0UmVsYXRpdmVQb3NpdGlvbih0cmFja2VyUmVmLmN1cnJlbnQsIGUpO1xuICAgICAgICBjb25zdCByeCA9IE1hdGgucm91bmQoeCk7XG4gICAgICAgIGNvbnN0IHJ5ID0gTWF0aC5yb3VuZCh5KTtcblxuICAgICAgICBjb25zdCBkeCA9IGludmVydFgocngpO1xuICAgICAgICBjb25zdCBkeSA9IGludmVydFkgIT0gbnVsbCA/IGludmVydFkocnkpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGNvbnN0IFtueCwgaXhdID0gY29tcHV0ZWREb21haW5YPy5maW5kTmVhcmVzdChkeCkgPz8gW3VuZGVmaW5lZCwgdW5kZWZpbmVkXTtcbiAgICAgICAgY29uc3QgW255LCBpeV0gPSBjb21wdXRlZERvbWFpblk/LmZpbmROZWFyZXN0KGR5KSA/PyBbdW5kZWZpbmVkLCB1bmRlZmluZWRdO1xuXG4gICAgICAgIC8vIGxvY2F0ZSBuZWFyZXN0IHNlcmllc1xuICAgICAgICBsZXQgZGF0dW1JZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAoY29tcHV0ZWQgIT0gbnVsbCAmJiBmaW5kRGF0dW0gIT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGRhdHVtID0gZmluZERhdHVtKHJ4LCByeSwgY29tcHV0ZWQsIGNvbXB1dGVkRG9tYWluWCwgY29tcHV0ZWREb21haW5ZLCBueCwgbnksIGl4LCBpeSk7XG4gICAgICAgICAgZGF0dW1JZCA9IGRhdHVtPy5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGZvcm1hdExhYmVsKG54OiBYIHwgdW5kZWZpbmVkLCBueTogWSB8IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgIGlmIChueCAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBzID0gZm9ybWF0WFRvb2x0aXAgIT0gbnVsbCA/IGZvcm1hdFhUb29sdGlwKG54KSA6IG54LnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKGF4aXNYVGl0bGUgPyBgJHtheGlzWFRpdGxlfTogJHtzfWAgOiBzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobnkgIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgcyA9IGZvcm1hdFlUb29sdGlwICE9IG51bGwgPyBmb3JtYXRZVG9vbHRpcChueSkgOiBueS50b0xvY2FsZVN0cmluZygpO1xuICAgICAgICAgICAgcGFydHMucHVzaChheGlzWVRpdGxlID8gYCR7YXhpc1lUaXRsZX06ICR7c31gIDogcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHBhcnRzLmpvaW4oXCIg4oCiIFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldEN1cnJlbnREYXR1bUlkKGRhdHVtSWQpO1xuICAgICAgICBzZXRTbGljZSgocHJldlNsaWNlKSA9PlxuICAgICAgICAgIHByZXZTbGljZT8uZG9tYWluWEluZGV4ID09PSBpeCAmJiBwcmV2U2xpY2U/LmRvbWFpbllJbmRleCA9PT0gaXlcbiAgICAgICAgICAgID8gcHJldlNsaWNlXG4gICAgICAgICAgICA6IG54ID09IG51bGwgJiYgbnkgPT0gbnVsbFxuICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIGxhYmVsOiBmb3JtYXRMYWJlbChueCwgbnkpLFxuICAgICAgICAgICAgICAgIHg6IG54ICE9IG51bGwgPyBzY2FsZVgobngpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHk6IG55ICE9IG51bGwgJiYgc2NhbGVZICE9IG51bGwgPyBzY2FsZVkobnkpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGRvbWFpblhJbmRleDogaXgsXG4gICAgICAgICAgICAgICAgZG9tYWluWUluZGV4OiBpeSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgY29tcHV0ZWQsXG4gICAgICBheGlzWFRpdGxlLFxuICAgICAgYXhpc1lUaXRsZSxcbiAgICAgIHNjYWxlWCxcbiAgICAgIHNjYWxlWSxcbiAgICAgIGludmVydFgsXG4gICAgICBpbnZlcnRZLFxuICAgICAgY29tcHV0ZWREb21haW5YLFxuICAgICAgY29tcHV0ZWREb21haW5ZLFxuICAgICAgZm9ybWF0WFRvb2x0aXAsXG4gICAgICBmb3JtYXRZVG9vbHRpcCxcbiAgICAgIGZpbmREYXR1bSxcbiAgICAgIHNldFNsaWNlLFxuICAgIF1cbiAgKTtcblxuICBjb25zdCBvbk1vdXNlTGVhdmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0Q3VycmVudERhdHVtSWQodW5kZWZpbmVkKTtcbiAgICBzZXRTbGljZSh1bmRlZmluZWQpO1xuICB9LCBbc2V0U2xpY2VdKTtcblxuICByZXR1cm4gKFxuICAgIDxDaGFydERhdHVtQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y3VycmVudERhdHVtSWR9PlxuICAgICAgPGRpdiBjc3M9e1N0eWxlQ29udGFpbmVyfSBzdHlsZT17eyBoZWlnaHQ6IGhlaWdodCB9fT5cbiAgICAgICAgPENoYXJ0SGVhZGVyIHRoZW1lPXt0aGVtZX0gY29sb3JNb2RlPXtjb2xvck1vZGV9IGhlYWRlcj17aGVhZGVyfSBsZWdlbmQ9e2xlZ2VuZH0gYXhpc1lUaXRsZT17YXhpc1lUaXRsZX0gLz5cbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgcm9sZT1cImltZ1wiIGhlaWdodD17ZXh0ZW50WX0gd2lkdGg9e3dpZHRofT5cbiAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgIDxmaWx0ZXIgeD17MH0geT17MH0gd2lkdGg9ezEuMn0gaGVpZ2h0PXsxfSBpZD17YCR7Y29tcG9uZW50SWR9LWF4aXMtbGFiZWwtYmFja2B9PlxuICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZENvbG9yPXtiYWNrZ3JvdW5kID8/IHZpc3VhbEFwcGVhcmFuY2UuYmFja30gcmVzdWx0PVwiYmdcIiAvPlxuICAgICAgICAgICAgICA8ZmVNZXJnZT5cbiAgICAgICAgICAgICAgICA8ZmVNZXJnZU5vZGUgaW49XCJiZ1wiIC8+XG4gICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPVwiU291cmNlR3JhcGhpY1wiIC8+XG4gICAgICAgICAgICAgIDwvZmVNZXJnZT5cbiAgICAgICAgICAgIDwvZmlsdGVyPlxuICAgICAgICAgICAgPGNsaXBQYXRoIGlkPXtgJHtjb21wb25lbnRJZH0tbWFpbi1jbGlwYH0+XG4gICAgICAgICAgICAgIDxyZWN0IHg9ezB9IHk9ezB9IHdpZHRoPXtleHRlbnRYfSBoZWlnaHQ9e2V4dGVudFl9IC8+XG4gICAgICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICAgICAge2RlZnN9XG4gICAgICAgICAgPC9kZWZzPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8ZyB0cmFuc2Zvcm09e2B0cmFuc2xhdGUoJHtheGlzWVdpZHRofSwwKWB9IGNsaXBQYXRoPXtgdXJsKCMke2NvbXBvbmVudElkfS1tYWluLWNsaXApYH0+XG4gICAgICAgICAgICB7b3ZlcmxheXM/Lm1hcCgob3ZlcmxheSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPFhZQ2hhcnRPdmVybGF5PFg+XG4gICAgICAgICAgICAgICAga2V5PXtgXyR7b3ZlcmxheS5pZCA/PyBpbmRleH1gfVxuICAgICAgICAgICAgICAgIHsuLi5vdmVybGF5fVxuICAgICAgICAgICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICAgICAgICAgICBjb2xvck1vZGU9e2NvbG9yTW9kZX1cbiAgICAgICAgICAgICAgICBzY2FsZVg9e3NjYWxlWH1cbiAgICAgICAgICAgICAgICB3aWR0aD17ZXh0ZW50WH1cbiAgICAgICAgICAgICAgICBoZWlnaHQ9e2V4dGVudFl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgIHJlZj17dHJhY2tlclJlZn1cbiAgICAgICAgICAgIHg9e2F4aXNZV2lkdGh9XG4gICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgd2lkdGg9e2V4dGVudFh9XG4gICAgICAgICAgICBoZWlnaHQ9e2V4dGVudFl9XG4gICAgICAgICAgICBvcGFjaXR5PXswfVxuICAgICAgICAgICAgZmlsbD1cInJlZFwiXG4gICAgICAgICAgICBvbk1vdXNlTW92ZT17b25Nb3VzZU1vdmV9XG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9e29uTW91c2VNb3ZlfVxuICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXtvbk1vdXNlTGVhdmV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICAgIHt0b29sdGlwVmlzaWJsZSAmJiBzbGljZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtTdHlsZVRvb2x0aXAodGhlbWUuY2hhcnRzLnh5LmFuaW1hdGlvbil9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBsZWZ0OiBheGlzWVdpZHRoLFxuICAgICAgICAgICAgICB0b3A6IGhlYWRlckhlaWdodCxcbiAgICAgICAgICAgICAgd2lkdGg6IGV4dGVudFgsXG4gICAgICAgICAgICAgIGhlaWdodDogZXh0ZW50WSxcbiAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgPFhZQ2hhcnRUb29sdGlwPFgsIFksIERhdGE+XG4gICAgICAgICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICAgICAgICAgY29sb3JNb2RlPXtjb2xvck1vZGV9XG4gICAgICAgICAgICAgIHNsaWNlPXtzbGljZX1cbiAgICAgICAgICAgICAgY29tcHV0ZWQ9e2NvbXB1dGVkfVxuICAgICAgICAgICAgICBkb21haW5YPXtjb21wdXRlZERvbWFpblh9XG4gICAgICAgICAgICAgIGRvbWFpblk9e2NvbXB1dGVkRG9tYWluWX1cbiAgICAgICAgICAgICAgZm9ybWF0PXtmb3JtYXRUb29sdGlwVmFsdWV9XG4gICAgICAgICAgICAgIHRvb2x0aXBUb3RhbFZpc2libGU9e3Rvb2x0aXBUb3RhbFZpc2libGV9XG4gICAgICAgICAgICAgIHdpZHRoPXtleHRlbnRYfVxuICAgICAgICAgICAgICBvZmZzZXQ9e3Rvb2x0aXBPZmZzZXR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7KGNvbXB1dGVkID09IG51bGwgfHwgY29tcHV0ZWQubGVuZ3RoID09IDApICYmIChcbiAgICAgICAgICA8Q2hhcnRFbXB0eUJsb2NrXG4gICAgICAgICAgICB0aGVtZT17dGhlbWV9XG4gICAgICAgICAgICBjb2xvck1vZGU9e2NvbG9yTW9kZX1cbiAgICAgICAgICAgIGJhY2tncm91bmQ9e2JhY2tncm91bmR9XG4gICAgICAgICAgICB3aWR0aD17ZXh0ZW50WH1cbiAgICAgICAgICAgIGhlaWdodD17ZXh0ZW50WX1cbiAgICAgICAgICAgIHBvc2l0aW9uPVwiYWJzb2x1dGVcIlxuICAgICAgICAgICAgdG9wPXtoZWFkZXJIZWlnaHR9XG4gICAgICAgICAgICBsZWZ0PXtheGlzWVdpZHRofT5cbiAgICAgICAgICAgIHtlbXB0eVRleHR9XG4gICAgICAgICAgPC9DaGFydEVtcHR5QmxvY2s+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L0NoYXJ0RGF0dW1Db250ZXh0LlByb3ZpZGVyPlxuICApO1xufVxuIl19 */",
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
};
const StyleTooltip = animation => /*#__PURE__*/css(">div{transition-delay:", animation.delay, "ms;transition-duration:", animation.duration, "ms;transition-timing-function:", animation.function, ";position:absolute;}pointer-events:none;position:absolute;" + (process.env.NODE_ENV === "production" ? "" : ";label:StyleTooltip;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy94eS9YWUNoYXJ0UGFuZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0J1RCIsImZpbGUiOiIuLi8uLi9zcmMveHkvWFlDaGFydFBhbmUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uU3R5bGUgfSBmcm9tIFwiQGFwcHRhbmUvcmVhY3QtdWktY29yZVwiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRGF0dW0sIERvbWFpblhWYWx1ZSwgRG9tYWluWVZhbHVlIH0gZnJvbSBcIi4uL2NvbW1vbi9UeXBlcy5qc1wiO1xuaW1wb3J0IHsgQ2hhcnREYXR1bUNvbnRleHQgfSBmcm9tIFwiLi4vcGFydHMvQ2hhcnREYXR1bUNvbnRleHQuanNcIjtcbmltcG9ydCB7IENoYXJ0RW1wdHlCbG9jayB9IGZyb20gXCIuLi9wYXJ0cy9DaGFydEVtcHR5QmxvY2suanNcIjtcbmltcG9ydCB7IENoYXJ0SGVhZGVyIH0gZnJvbSBcIi4uL3BhcnRzL0NoYXJ0SGVhZGVyLmpzXCI7XG5pbXBvcnQgeyBDaGFydExlZ2VuZCB9IGZyb20gXCIuLi9wYXJ0cy9DaGFydExlZ2VuZC5qc1wiO1xuaW1wb3J0IHsgQ2hhcnRTbGljZUNvbnRleHQgfSBmcm9tIFwiLi4vcGFydHMvQ2hhcnRTbGljZUNvbnRleHQuanNcIjtcbmltcG9ydCB7IFhZQ2hhcnREYXR1bSwgWFlDaGFydFBhbmVQcm9wc0Jhc2UsIFhZQ2hhcnRQYW5lUHJvcHNCYXNlRXggfSBmcm9tIFwiLi9YWUNoYXJ0LnR5cGVzLmpzXCI7XG5pbXBvcnQgeyBYWUNoYXJ0T3ZlcmxheSB9IGZyb20gXCIuL1hZQ2hhcnRPdmVybGF5LmpzXCI7XG5pbXBvcnQgeyBYWUNoYXJ0VG9vbHRpcCB9IGZyb20gXCIuL1hZQ2hhcnRUb29sdGlwLmpzXCI7XG5cbmNvbnN0IFN0eWxlQ29udGFpbmVyID0gY3NzYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuYDtcblxuY29uc3QgU3R5bGVUb29sdGlwID0gKGFuaW1hdGlvbjogQW5pbWF0aW9uU3R5bGUpID0+IGNzc2BcbiAgPiBkaXYge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6ICR7YW5pbWF0aW9uLmRlbGF5fW1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR7YW5pbWF0aW9uLmR1cmF0aW9ufW1zO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAke2FuaW1hdGlvbi5mdW5jdGlvbn07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gcHJldmVudHMgdG9vbHRpcCBmcm9tIHRyaWdnZXJpbmcgb25Nb3VzZUxlYXZlXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5gO1xuXG5jb25zdCBnZXRSZWxhdGl2ZVBvc2l0aW9uID0gKG5vZGU6IEVsZW1lbnQsIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB7XG4gIGNvbnN0IHsgY2xpZW50WCwgY2xpZW50WSB9ID0gZXZlbnQ7XG4gIGNvbnN0IGJveCA9IG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHJldHVybiBbY2xpZW50WCAtIGJveC5sZWZ0LCBjbGllbnRZIC0gYm94LnRvcF07XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gWFlDaGFydFBhbmU8WCBleHRlbmRzIERvbWFpblhWYWx1ZSwgWSBleHRlbmRzIERvbWFpbllWYWx1ZSwgRGF0YSA9IHZvaWQ+KHtcbiAgY2hpbGRyZW4sXG4gIGNvbXBvbmVudElkLFxuICB0aGVtZSxcbiAgY29sb3JNb2RlLFxuICBoZWlnaHQsXG4gIHdpZHRoLFxuICBjb21wdXRlZCxcbiAgZmluZERhdHVtLFxuICBzZXRTbGljZSxcbiAgc2NhbGVYLFxuICBzY2FsZVksXG4gIGludmVydFgsXG4gIGludmVydFksXG4gIGNvbXB1dGVkRG9tYWluWCxcbiAgY29tcHV0ZWREb21haW5ZLFxuICBmb3JtYXRYVG9vbHRpcCxcbiAgZm9ybWF0WVRvb2x0aXAsXG4gIGZvcm1hdFRvb2x0aXBWYWx1ZSxcbiAgaGVhZGVyLFxuICBoZWFkZXJIZWlnaHQsXG4gIGV4dGVudFgsXG4gIGV4dGVudFksXG4gIGF4aXNZV2lkdGgsXG4gIGF4aXNYVGl0bGUsXG4gIGF4aXNZVGl0bGUsXG4gIHRvb2x0aXBWaXNpYmxlLFxuICB0b29sdGlwVG90YWxWaXNpYmxlLFxuICB0b29sdGlwT2Zmc2V0LFxuICBlbXB0eVRleHQsXG4gIGxlZ2VuZFZpc2libGUsXG4gIGxlZ2VuZEludGVyYWN0aXZlLFxuICBkZWZzLFxuICBvdmVybGF5cyxcbiAgYmFja2dyb3VuZCxcbn06IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPFhZQ2hhcnRQYW5lUHJvcHNCYXNlPFgsIFksIERhdGE+ICYgWFlDaGFydFBhbmVQcm9wc0Jhc2VFeDxYLCBZLCBEYXRhPj4pIHtcbiAgY29uc3QgdmlzdWFsQXBwZWFyYW5jZSA9IHRoZW1lLmNoYXJ0cy54eS5hcHBlYXJhbmNlKHRoZW1lLnBhbGV0dGVbY29sb3JNb2RlXSwgY29sb3JNb2RlLCB1bmRlZmluZWQsIFwibm9uZVwiKTtcblxuICBjb25zdCBzbGljZSA9IHVzZUNvbnRleHQoQ2hhcnRTbGljZUNvbnRleHQpO1xuICBjb25zdCBbY3VycmVudERhdHVtSWQsIHNldEN1cnJlbnREYXR1bUlkXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgY29uc3Qgc2VsZWN0TWV0cmljID0gdXNlQ2FsbGJhY2soKGRhdHVtOiBEYXR1bTxEYXRhPikgPT4gc2V0Q3VycmVudERhdHVtSWQoZGF0dW0uaWQpLCBbXSk7XG4gIGNvbnN0IGRlc2VsZWN0TWV0cmljID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0Q3VycmVudERhdHVtSWQodW5kZWZpbmVkKSwgW10pO1xuXG4gIGNvbnN0IGxlZ2VuZCA9XG4gICAgY29tcHV0ZWQgIT0gbnVsbCAmJiBsZWdlbmRWaXNpYmxlID8gKFxuICAgICAgPENoYXJ0TGVnZW5kPFhZQ2hhcnREYXR1bTxYLCBZLCBEYXRhPiwgRGF0YT5cbiAgICAgICAgdGhlbWU9e3RoZW1lfVxuICAgICAgICBjb2xvck1vZGU9e2NvbG9yTW9kZX1cbiAgICAgICAgZGF0YT17Y29tcHV0ZWR9XG4gICAgICAgIHNlbGVjdGVkRGF0dW1JZD17bGVnZW5kSW50ZXJhY3RpdmUgPyBjdXJyZW50RGF0dW1JZCA6IHVuZGVmaW5lZH1cbiAgICAgICAgb25Nb3VzZUVudGVyPXtsZWdlbmRJbnRlcmFjdGl2ZSA/IHNlbGVjdE1ldHJpYyA6IHVuZGVmaW5lZH1cbiAgICAgICAgb25Nb3VzZUxlYXZlPXtsZWdlbmRJbnRlcmFjdGl2ZSA/IGRlc2VsZWN0TWV0cmljIDogdW5kZWZpbmVkfVxuICAgICAgICBvbkNsaWNrPXtsZWdlbmRJbnRlcmFjdGl2ZSA/IHNlbGVjdE1ldHJpYyA6IHVuZGVmaW5lZH1cbiAgICAgIC8+XG4gICAgKSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCB0cmFja2VyUmVmID0gdXNlUmVmPFNWR1JlY3RFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBvbk1vdXNlTW92ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChlOiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB7XG4gICAgICBpZiAodHJhY2tlclJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnN0IFt4LCB5XSA9IGdldFJlbGF0aXZlUG9zaXRpb24odHJhY2tlclJlZi5jdXJyZW50LCBlKTtcbiAgICAgICAgY29uc3QgcnggPSBNYXRoLnJvdW5kKHgpO1xuICAgICAgICBjb25zdCByeSA9IE1hdGgucm91bmQoeSk7XG5cbiAgICAgICAgY29uc3QgZHggPSBpbnZlcnRYKHJ4KTtcbiAgICAgICAgY29uc3QgZHkgPSBpbnZlcnRZICE9IG51bGwgPyBpbnZlcnRZKHJ5KSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBbbngsIGl4XSA9IGNvbXB1dGVkRG9tYWluWD8uZmluZE5lYXJlc3QoZHgpID8/IFt1bmRlZmluZWQsIHVuZGVmaW5lZF07XG4gICAgICAgIGNvbnN0IFtueSwgaXldID0gY29tcHV0ZWREb21haW5ZPy5maW5kTmVhcmVzdChkeSkgPz8gW3VuZGVmaW5lZCwgdW5kZWZpbmVkXTtcblxuICAgICAgICAvLyBsb2NhdGUgbmVhcmVzdCBzZXJpZXNcbiAgICAgICAgbGV0IGRhdHVtSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGNvbXB1dGVkICE9IG51bGwgJiYgZmluZERhdHVtICE9IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBkYXR1bSA9IGZpbmREYXR1bShyeCwgcnksIGNvbXB1dGVkLCBjb21wdXRlZERvbWFpblgsIGNvbXB1dGVkRG9tYWluWSwgbngsIG55LCBpeCwgaXkpO1xuICAgICAgICAgIGRhdHVtSWQgPSBkYXR1bT8uaWQ7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBmb3JtYXRMYWJlbChueDogWCB8IHVuZGVmaW5lZCwgbnk6IFkgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICBpZiAobnggIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgcyA9IGZvcm1hdFhUb29sdGlwICE9IG51bGwgPyBmb3JtYXRYVG9vbHRpcChueCkgOiBueC50b0xvY2FsZVN0cmluZygpO1xuICAgICAgICAgICAgcGFydHMucHVzaChheGlzWFRpdGxlID8gYCR7YXhpc1hUaXRsZX06ICR7c31gIDogcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG55ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBmb3JtYXRZVG9vbHRpcCAhPSBudWxsID8gZm9ybWF0WVRvb2x0aXAobnkpIDogbnkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goYXhpc1lUaXRsZSA/IGAke2F4aXNZVGl0bGV9OiAke3N9YCA6IHMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBwYXJ0cy5qb2luKFwiIOKAoiBcIik7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRDdXJyZW50RGF0dW1JZChkYXR1bUlkKTtcbiAgICAgICAgc2V0U2xpY2UoKHByZXZTbGljZSkgPT5cbiAgICAgICAgICBwcmV2U2xpY2U/LmRvbWFpblhJbmRleCA9PT0gaXggJiYgcHJldlNsaWNlPy5kb21haW5ZSW5kZXggPT09IGl5XG4gICAgICAgICAgICA/IHByZXZTbGljZVxuICAgICAgICAgICAgOiBueCA9PSBudWxsICYmIG55ID09IG51bGxcbiAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICBsYWJlbDogZm9ybWF0TGFiZWwobngsIG55KSxcbiAgICAgICAgICAgICAgICB4OiBueCAhPSBudWxsID8gc2NhbGVYKG54KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB5OiBueSAhPSBudWxsICYmIHNjYWxlWSAhPSBudWxsID8gc2NhbGVZKG55KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBkb21haW5YSW5kZXg6IGl4LFxuICAgICAgICAgICAgICAgIGRvbWFpbllJbmRleDogaXksXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIGNvbXB1dGVkLFxuICAgICAgYXhpc1hUaXRsZSxcbiAgICAgIGF4aXNZVGl0bGUsXG4gICAgICBzY2FsZVgsXG4gICAgICBzY2FsZVksXG4gICAgICBpbnZlcnRYLFxuICAgICAgaW52ZXJ0WSxcbiAgICAgIGNvbXB1dGVkRG9tYWluWCxcbiAgICAgIGNvbXB1dGVkRG9tYWluWSxcbiAgICAgIGZvcm1hdFhUb29sdGlwLFxuICAgICAgZm9ybWF0WVRvb2x0aXAsXG4gICAgICBmaW5kRGF0dW0sXG4gICAgICBzZXRTbGljZSxcbiAgICBdXG4gICk7XG5cbiAgY29uc3Qgb25Nb3VzZUxlYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEN1cnJlbnREYXR1bUlkKHVuZGVmaW5lZCk7XG4gICAgc2V0U2xpY2UodW5kZWZpbmVkKTtcbiAgfSwgW3NldFNsaWNlXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q2hhcnREYXR1bUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2N1cnJlbnREYXR1bUlkfT5cbiAgICAgIDxkaXYgY3NzPXtTdHlsZUNvbnRhaW5lcn0gc3R5bGU9e3sgaGVpZ2h0OiBoZWlnaHQgfX0+XG4gICAgICAgIDxDaGFydEhlYWRlciB0aGVtZT17dGhlbWV9IGNvbG9yTW9kZT17Y29sb3JNb2RlfSBoZWFkZXI9e2hlYWRlcn0gbGVnZW5kPXtsZWdlbmR9IGF4aXNZVGl0bGU9e2F4aXNZVGl0bGV9IC8+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHJvbGU9XCJpbWdcIiBoZWlnaHQ9e2V4dGVudFl9IHdpZHRoPXt3aWR0aH0+XG4gICAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICA8ZmlsdGVyIHg9ezB9IHk9ezB9IHdpZHRoPXsxLjJ9IGhlaWdodD17MX0gaWQ9e2Ake2NvbXBvbmVudElkfS1heGlzLWxhYmVsLWJhY2tgfT5cbiAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2RDb2xvcj17YmFja2dyb3VuZCA/PyB2aXN1YWxBcHBlYXJhbmNlLmJhY2t9IHJlc3VsdD1cImJnXCIgLz5cbiAgICAgICAgICAgICAgPGZlTWVyZ2U+XG4gICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPVwiYmdcIiAvPlxuICAgICAgICAgICAgICAgIDxmZU1lcmdlTm9kZSBpbj1cIlNvdXJjZUdyYXBoaWNcIiAvPlxuICAgICAgICAgICAgICA8L2ZlTWVyZ2U+XG4gICAgICAgICAgICA8L2ZpbHRlcj5cbiAgICAgICAgICAgIDxjbGlwUGF0aCBpZD17YCR7Y29tcG9uZW50SWR9LW1haW4tY2xpcGB9PlxuICAgICAgICAgICAgICA8cmVjdCB4PXswfSB5PXswfSB3aWR0aD17ZXh0ZW50WH0gaGVpZ2h0PXtleHRlbnRZfSAvPlxuICAgICAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgICAgIHtkZWZzfVxuICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPGcgdHJhbnNmb3JtPXtgdHJhbnNsYXRlKCR7YXhpc1lXaWR0aH0sMClgfSBjbGlwUGF0aD17YHVybCgjJHtjb21wb25lbnRJZH0tbWFpbi1jbGlwKWB9PlxuICAgICAgICAgICAge292ZXJsYXlzPy5tYXAoKG92ZXJsYXksIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxYWUNoYXJ0T3ZlcmxheTxYPlxuICAgICAgICAgICAgICAgIGtleT17YF8ke292ZXJsYXkuaWQgPz8gaW5kZXh9YH1cbiAgICAgICAgICAgICAgICB7Li4ub3ZlcmxheX1cbiAgICAgICAgICAgICAgICB0aGVtZT17dGhlbWV9XG4gICAgICAgICAgICAgICAgY29sb3JNb2RlPXtjb2xvck1vZGV9XG4gICAgICAgICAgICAgICAgc2NhbGVYPXtzY2FsZVh9XG4gICAgICAgICAgICAgICAgd2lkdGg9e2V4dGVudFh9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtleHRlbnRZfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICByZWY9e3RyYWNrZXJSZWZ9XG4gICAgICAgICAgICB4PXtheGlzWVdpZHRofVxuICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgIHdpZHRoPXtleHRlbnRYfVxuICAgICAgICAgICAgaGVpZ2h0PXtleHRlbnRZfVxuICAgICAgICAgICAgb3BhY2l0eT17MH1cbiAgICAgICAgICAgIGZpbGw9XCJyZWRcIlxuICAgICAgICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlfVxuICAgICAgICAgICAgb25Nb3VzZUVudGVyPXtvbk1vdXNlTW92ZX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17b25Nb3VzZUxlYXZlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICB7dG9vbHRpcFZpc2libGUgJiYgc2xpY2UgJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17U3R5bGVUb29sdGlwKHRoZW1lLmNoYXJ0cy54eS5hbmltYXRpb24pfVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgbGVmdDogYXhpc1lXaWR0aCxcbiAgICAgICAgICAgICAgdG9wOiBoZWFkZXJIZWlnaHQsXG4gICAgICAgICAgICAgIHdpZHRoOiBleHRlbnRYLFxuICAgICAgICAgICAgICBoZWlnaHQ6IGV4dGVudFksXG4gICAgICAgICAgICB9fT5cbiAgICAgICAgICAgIDxYWUNoYXJ0VG9vbHRpcDxYLCBZLCBEYXRhPlxuICAgICAgICAgICAgICB0aGVtZT17dGhlbWV9XG4gICAgICAgICAgICAgIGNvbG9yTW9kZT17Y29sb3JNb2RlfVxuICAgICAgICAgICAgICBzbGljZT17c2xpY2V9XG4gICAgICAgICAgICAgIGNvbXB1dGVkPXtjb21wdXRlZH1cbiAgICAgICAgICAgICAgZG9tYWluWD17Y29tcHV0ZWREb21haW5YfVxuICAgICAgICAgICAgICBkb21haW5ZPXtjb21wdXRlZERvbWFpbll9XG4gICAgICAgICAgICAgIGZvcm1hdD17Zm9ybWF0VG9vbHRpcFZhbHVlfVxuICAgICAgICAgICAgICB0b29sdGlwVG90YWxWaXNpYmxlPXt0b29sdGlwVG90YWxWaXNpYmxlfVxuICAgICAgICAgICAgICB3aWR0aD17ZXh0ZW50WH1cbiAgICAgICAgICAgICAgb2Zmc2V0PXt0b29sdGlwT2Zmc2V0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAgeyhjb21wdXRlZCA9PSBudWxsIHx8IGNvbXB1dGVkLmxlbmd0aCA9PSAwKSAmJiAoXG4gICAgICAgICAgPENoYXJ0RW1wdHlCbG9ja1xuICAgICAgICAgICAgdGhlbWU9e3RoZW1lfVxuICAgICAgICAgICAgY29sb3JNb2RlPXtjb2xvck1vZGV9XG4gICAgICAgICAgICBiYWNrZ3JvdW5kPXtiYWNrZ3JvdW5kfVxuICAgICAgICAgICAgd2lkdGg9e2V4dGVudFh9XG4gICAgICAgICAgICBoZWlnaHQ9e2V4dGVudFl9XG4gICAgICAgICAgICBwb3NpdGlvbj1cImFic29sdXRlXCJcbiAgICAgICAgICAgIHRvcD17aGVhZGVySGVpZ2h0fVxuICAgICAgICAgICAgbGVmdD17YXhpc1lXaWR0aH0+XG4gICAgICAgICAgICB7ZW1wdHlUZXh0fVxuICAgICAgICAgIDwvQ2hhcnRFbXB0eUJsb2NrPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9DaGFydERhdHVtQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn1cbiJdfQ== */");
const getRelativePosition = (node, event) => {
const {
clientX,
clientY
} = event;
const box = node.getBoundingClientRect();
return [clientX - box.left, clientY - box.top];
};
export function XYChartPane(_ref) {
let {
children,
componentId,
theme,
colorMode,
height,
width,
computed,
findDatum,
setSlice,
scaleX,
scaleY,
invertX,
invertY,
computedDomainX,
computedDomainY,
formatXTooltip,
formatYTooltip,
formatTooltipValue,
header,
headerHeight,
extentX,
extentY,
axisYWidth,
axisXTitle,
axisYTitle,
tooltipVisible,
tooltipTotalVisible,
tooltipOffset,
emptyText,
legendVisible,
legendInteractive,
defs,
overlays,
background
} = _ref;
const visualAppearance = theme.charts.xy.appearance(theme.palette[colorMode], colorMode, undefined, "none");
const slice = useContext(ChartSliceContext);
const [currentDatumId, setCurrentDatumId] = useState();
const selectMetric = useCallback(datum => setCurrentDatumId(datum.id), []);
const deselectMetric = useCallback(() => setCurrentDatumId(undefined), []);
const legend = computed != null && legendVisible ? _jsx(ChartLegend, {
theme: theme,
colorMode: colorMode,
data: computed,
selectedDatumId: legendInteractive ? currentDatumId : undefined,
onMouseEnter: legendInteractive ? selectMetric : undefined,
onMouseLeave: legendInteractive ? deselectMetric : undefined,
onClick: legendInteractive ? selectMetric : undefined
}) : undefined;
const trackerRef = useRef(null);
const onMouseMove = useCallback(e => {
if (trackerRef.current) {
var _computedDomainX$find, _computedDomainY$find;
const [x, y] = getRelativePosition(trackerRef.current, e);
const rx = Math.round(x);
const ry = Math.round(y);
const dx = invertX(rx);
const dy = invertY != null ? invertY(ry) : undefined;
const [nx, ix] = (_computedDomainX$find = computedDomainX === null || computedDomainX === void 0 ? void 0 : computedDomainX.findNearest(dx)) !== null && _computedDomainX$find !== void 0 ? _computedDomainX$find : [undefined, undefined];
const [ny, iy] = (_computedDomainY$find = computedDomainY === null || computedDomainY === void 0 ? void 0 : computedDomainY.findNearest(dy)) !== null && _computedDomainY$find !== void 0 ? _computedDomainY$find : [undefined, undefined]; // locate nearest series
let datumId;
if (computed != null && findDatum != null) {
const datum = findDatum(rx, ry, computed, computedDomainX, computedDomainY, nx, ny, ix, iy);
datumId = datum === null || datum === void 0 ? void 0 : datum.id;
}
function formatLabel(nx, ny) {
const parts = [];
if (nx != null) {
const s = formatXTooltip != null ? formatXTooltip(nx) : nx.toLocaleString();
parts.push(axisXTitle ? "".concat(axisXTitle, ": ").concat(s) : s);
}
if (ny != null) {
const s = formatYTooltip != null ? formatYTooltip(ny) : ny.toLocaleString();
parts.push(axisYTitle ? "".concat(axisYTitle, ": ").concat(s) : s);
}
return parts.join(" • ");
}
setCurrentDatumId(datumId);
setSlice(prevSlice => (prevSlice === null || prevSlice === void 0 ? void 0 : prevSlice.domainXIndex) === ix && (prevSlice === null || prevSlice === void 0 ? void 0 : prevSlice.domainYIndex) === iy ? prevSlice : nx == null && ny == null ? undefined : {
label: formatLabel(nx, ny),
x: nx != null ? scaleX(nx) : undefined,
y: ny != null && scaleY != null ? scaleY(ny) : undefined,
domainXIndex: ix,
domainYIndex: iy
});
}
}, [computed, axisXTitle, axisYTitle, scaleX, scaleY, invertX, invertY, computedDomainX, computedDomainY, formatXTooltip, formatYTooltip, findDatum, setSlice]);
const onMouseLeave = useCallback(() => {
setCurrentDatumId(undefined);
setSlice(undefined);
}, [setSlice]);
return _jsx(ChartDatumContext.Provider, {
value: currentDatumId,
children: _jsxs("div", {
css: StyleContainer,
style: {
height: height
},
children: [_jsx(ChartHeader, {
theme: theme,
colorMode: colorMode,
header: header,
legend: legend,
axisYTitle: axisYTitle
}), _jsxs("svg", {
xmlns: "http://www.w3.org/2000/svg",
role: "img",
height: extentY,
width: width,
children: [_jsxs("defs", {
children: [_jsxs("filter", {
x: 0,
y: 0,
width: 1.2,
height: 1,
id: "".concat(componentId, "-axis-label-back"),
children: [_jsx("feFlood", {
floodColor: background !== null && background !== void 0 ? background : visualAppearance.back,
result: "bg"
}), _jsxs("feMerge", {
children: [_jsx("feMergeNode", {
in: "bg"
}), _jsx("feMergeNode", {
in: "SourceGraphic"
})]
})]
}), _jsx("clipPath", {
id: "".concat(componentId, "-main-clip"),
children: _jsx("rect", {
x: 0,
y: 0,
width: extentX,
height: extentY
})
}), defs]
}), children, _jsx("g", {
transform: "translate(".concat(axisYWidth, ",0)"),
clipPath: "url(#".concat(componentId, "-main-clip)"),
children: overlays === null || overlays === void 0 ? void 0 : overlays.map((overlay, index) => {
var _overlay$id;
return _jsx(XYChartOverlay, _objectSpread(_objectSpread({}, overlay), {}, {
theme: theme,
colorMode: colorMode,
scaleX: scaleX,
width: extentX,
height: extentY
}), "_".concat((_overlay$id = overlay.id) !== null && _overlay$id !== void 0 ? _overlay$id : index));
})
}), _jsx("rect", {
ref: trackerRef,
x: axisYWidth,
y: 0,
width: extentX,
height: extentY,
opacity: 0,
fill: "red",
onMouseMove: onMouseMove,
onMouseEnter: onMouseMove,
onMouseLeave: onMouseLeave
})]
}), tooltipVisible && slice && _jsx("div", {
css: StyleTooltip(theme.charts.xy.animation),
style: {
left: axisYWidth,
top: headerHeight,
width: extentX,
height: extentY
},
children: _jsx(XYChartTooltip, {
theme: theme,
colorMode: colorMode,
slice: slice,
computed: computed,
domainX: computedDomainX,
domainY: computedDomainY,
format: formatTooltipValue,
tooltipTotalVisible: tooltipTotalVisible,
width: extentX,
offset: tooltipOffset
})
}), (computed == null || computed.length == 0) && _jsx(ChartEmptyBlock, {
theme: theme,
colorMode: colorMode,
background: background,
width: extentX,
height: extentY,
position: "absolute",
top: headerHeight,
left: axisYWidth,
children: emptyText
})]
})
});
}
//# sourceMappingURL=XYChartPane.js.map