{"version":3,"sources":["../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/component/Label.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/component/ResponsiveContainer.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/component/Text.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/component/DefaultLegendContent.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/component/Legend.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/component/DefaultTooltipContent.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/component/Tooltip.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/container/Surface.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/chart/generateCategoricalChart.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/component/LabelList.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/container/Layer.js"],"names":["_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_extends","assign","hasOwnProperty","getLabel","props","formatter","label","_isNil","children","_isFunction","getDeltaAngle","startAngle","endAngle","sign","mathSign","deltaAngle","Math","min","abs","renderRadialLabel","labelProps","attrs","position","viewBox","offset","className","_ref","cx","cy","innerRadius","outerRadius","clockWise","radius","labelAngle","direction","startPoint","polarToCartesian","endPoint","path","concat","x","y","id","uniqueId","React","createElement","dominantBaseline","classNames","d","xlinkHref","getAttrsOfPolarLabel","_ref2","midAngle","_polarToCartesian","_x","_y","textAnchor","verticalAnchor","r","_polarToCartesian2","getAttrsOfCartesianLabel","parentViewBox","_ref3","width","height","verticalSign","verticalOffset","verticalEnd","verticalStart","horizontalSign","horizontalOffset","horizontalEnd","horizontalStart","max","_attrs","_attrs2","_attrs3","sizeAttrs","_isObject","isNumber","isPercent","getPercentValue","isPolar","Label","content","_props$className","textBreakAll","isValidElement","cloneElement","isPolarLabel","filterProps","positionAttrs","Text","breakAll","displayName","defaultProps","parseViewBox","angle","top","left","labelViewBox","parseLabel","isNumOrStr","type","renderCallByParent","parentProps","checkPropsLabel","undefined","explicitChildren","findAllByType","map","child","index","implicitLabel","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_i","_s","next","done","err","ResponsiveContainer","forwardRef","ref","aspect","_ref$width","_ref$height","minWidth","minHeight","maxHeight","_ref$debounce","debounce","_useState","useState","containerWidth","containerHeight","_useState2","sizes","setSizes","containerRef","useRef","useImperativeHandle","_useState3","_useState4","mounted","setMounted","getContainerSize","current","clientWidth","clientHeight","updateDimensionsImmediate","newSize","oldWidth","oldHeight","handleResize","_debounce","renderChart","warn","calculatedWidth","calculatedHeight","useEffect","size","style","ReactResizeDetector","handleWidth","handleHeight","onResize","targetRef","_typeof","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","BREAKING_SPACES","calculateWordWidths","words","split","wordsWithComputedWidth","word","getStringSize","spaceWidth","calculateWordsByLines","initialWordsWithComputedWith","lineWidth","scaleToFit","shouldLimitLines","maxLines","text","calculate","reduce","currentLine","newLine","originalResult","findLongestLine","a","b","suffix","checkOverflow","tempText","doesOverflow","start","end","iterations","trimmedResult","middle","floor","prev","_checkOverflow","_checkOverflow2","doesPrevOverflow","_checkOverflow3","_checkOverflow4","doesMiddleOverflow","getWordsWithoutCalculate","getWordsByLines","needCalculate","Global","isSsr","wordWidths","wcw","sw","_Component","_super","_this","_len","args","_key","state","render","_this$props","dx","dy","lineHeight","capHeight","textProps","wordsByLines","startDy","reduceCSSCalc","transforms","transform","join","line","getDerivedStateFromProps","nextProps","prevState","prevWidth","prevScaleToFit","prevChildren","prevStyle","prevBreakAll","Component","SIZE","DefaultLegendContent","_PureComponent","renderIcon","data","inactiveColor","halfSize","sixthSize","thirdSize","color","inactive","strokeWidth","fill","stroke","strokeDasharray","payload","x1","y1","x2","y2","legendIcon","iconProps","Symbols","sizeType","renderItems","iconSize","layout","itemStyle","display","marginRight","svgStyle","verticalAlign","entry","_classNames","finalFormatter","adaptEventsOfChild","Surface","_this$props2","align","finalStyle","padding","margin","textAlign","PureComponent","defaultUniqBy","getUniqPayload","option","_uniqBy","renderContent","otherProps","EPS","Legend","wrapperNode","boxWidth","boxHeight","componentDidMount","updateBBox","componentDidUpdate","getBBox","getBoundingClientRect","getBBoxSnapshot","_this$state","getDefaultPosition","chartWidth","chartHeight","hPos","vPos","right","_box","bottom","_box2","_this$state2","onBBoxUpdate","_box3","setState","_this2","wrapperStyle","payloadUniqBy","outerStyle","node","getWithHeight","item","defaultFormatter","_isArray","DefaultTooltipContent","separator","itemSorter","listStyle","items","_sortBy","finalItemStyle","paddingTop","paddingBottom","formatted","_formatted","unit","wrapperClassName","contentStyle","labelClassName","labelStyle","labelFormatter","backgroundColor","border","whiteSpace","finalLabelStyle","hasLabel","finalLabel","wrapperCN","labelCN","CLS_PREFIX","dataKey","Tooltip","getTranslate","tooltipDimension","viewBoxDimension","allowEscapeViewBox","coordinate","restricted","unrestricted","tooltipBoundary","viewBoxBoundary","box","isAnimationActive","animationDuration","animationEasing","filterNull","finalPayload","hasPayload","_this$props3","active","pointerEvents","visibility","translateX","translateY","translateStyle","useTranslate3d","transition","cls","cursorStyle","cursor","trigger","others","svgView","layerClass","version","ORIENT_MAP","xAxis","yAxis","originCoordinate","isFinit","Number","isFinite","defer","requestAnimationFrame","setImmediate","setTimeout","deferClear","cancelAnimationFrame","clearImmediate","clearTimeout","calculateTooltipPos","rangeObj","getActiveCoordinate","tooltipTicks","activeIndex","find","tick","_angle","_radius","getDisplayedData","graphicalItems","dataStartIndex","dataEndIndex","itemsData","itemData","getTooltipContent","chartData","activeLabel","tooltipAxis","displayedData","hide","allowDuplicatedCategory","entries","findEntryInArray","getTooltipItem","getTooltipData","rangeData","chartX","chartY","pos","ticks","orderedTooltipTicks","axis","calculateActiveTickIndex","activePayload","activeCoordinate","activeTooltipIndex","getAxisMapByAxes","axes","axisType","axisIdKey","stackGroups","stackOffset","isCategorical","isCategoricalAxis","axisMap","_child$props","allowDataOverflow","scale","axisId","domain","duplicateDomain","categoricalDomain","getDomainOfDataByKey","duplicate","hasDuplicate","_range","parseDomainOfCategoryAxis","finalDomain","errorBarsDomain","parseErrorBarsOfAxis","hasStack","getDomainOfStackGroups","getDomainOfItemsWithSameAxis","detectReferenceElementsDomain","parseSpecifiedDomain","axisDomain","isDomainValidate","every","originalDomain","getAxisMapByItems","Axis","orientation","_get","getAxisMap","_ref4","_ref4$axisType","AxisComp","tooltipTicksGenerator","getAnyElementOfObject","getTicksOfAxis","tooltipAxisBandSize","getBandSizeOfAxis","createDefaultState","defaultShowTooltip","brushItem","findChildByType","Brush","startIndex","endIndex","isTooltipActive","hasGraphicalBarItem","some","getDisplayName","getAxisNameByLayout","numericAxisName","cateAxisName","calculateOffset","_ref5","prevLegendBBox","_ref5$xAxisMap","xAxisMap","_ref5$yAxisMap","yAxisMap","legendItem","offsetH","mirror","offsetV","brushBottom","appendOffsetOfLegend","generateCategoricalChart","_ref6","_class","_temp","chartName","GraphicalChild","_ref6$defaultTooltipE","defaultTooltipEventType","_ref6$validateTooltip","validateTooltipEventTypes","axisComponents","legendContent","formatAxisMap","getFormatItems","currentState","updateId","barSize","barGap","barCategoryGap","globalMaxBarSize","maxBarSize","_getAxisNameByLayout","hasBar","sizeList","getBarSizeList","formattedItems","_item$props","childMaxBarSize","numericAxisId","cateAxisId","axisObj","_objectSpread6","cateAxis","cateTicks","stackedData","getStackedDataOfItem","itemIsBar","bandSize","barPosition","_ref7","_getBandSizeOfAxis","barBandSize","getBarPosition","composedFn","getComposedData","_objectSpread7","childIndex","parseChildIndex","updateStateOfAxisMapsOffsetAndStackGroups","_ref8","validateWidthHeight","reverseStackOrder","_getAxisNameByLayout2","getStackGroupsByAxisId","legendBBox","replace","cateAxisMap","ticksObj","formattedGraphicalItems","CategoricalChartWrapper","_props","uniqueChartId","clipPathId","legendInstance","deferId","container","clearDeferId","handleLegendBBoxUpdate","handleReceiveSyncEvent","cId","chartId","syncId","applySyncEvent","bind","handleBrushChange","_ref9","triggerSyncEvent","handleMouseEnter","onMouseEnter","mouse","getMouseInfo","_nextState","triggeredAfterMouseMove","onMouseMove","nextState","handleItemMouseEnter","el","activeItem","tooltipPayload","tooltipPosition","handleItemMouseLeave","handleMouseMove","persist","handleMouseLeave","onMouseLeave","cancelThrottledTriggerAfterMouseMove","handleOuterEvent","eventName","getReactEventByType","event","changedTouches","handler","handleClick","onClick","_nextState2","handleMouseDown","onMouseDown","_nextState3","handleMouseUp","onMouseUp","_nextState4","handleTouchMove","handleTouchStart","handleTouchEnd","verticalCoordinatesGenerator","_ref10","getCoordinatesOfGrid","CartesianAxis","getTicks","horizontalCoordinatesGenerator","_ref11","axesTicksGenerator","renderCursor","element","tooltipEventType","getTooltipEventType","restProps","cursorComp","Curve","Cross","getCursorRectangle","Rectangle","_this$getCursorPoints","getCursorPoints","Sector","points","cursorProps","payloadIndex","renderPolarAxis","axisOption","renderXAxis","xAxisId","renderAxis","renderYAxis","yAxisId","renderGrid","_this$state3","yAxisWithFiniteDomain","_find","_every","renderPolarGrid","_element$props","radialLines","polarAngles","polarRadius","_this$state4","radiusAxisMap","angleAxisMap","radiusAxis","angleAxis","renderLegend","legendWidth","getLegendProps","legend","renderTooltip","tooltipItem","_this$state5","renderBrush","_this$state6","onChange","combineEventHandlers","renderReferenceElement","_assertThisInitialize","_this$state7","_element$props2","renderActivePoints","_ref12","activePoint","basePoint","isRange","_item$item$props","activeDot","dotProps","getMainColorOfGraphicItem","adaptEventHandlers","renderActiveDot","renderGraphicChild","filterFormatItem","_this$state8","_item$props2","baseLine","_item$item$props2","hasActive","itemEvents","onCLick","graphicalItem","findWithPayload","specifiedKey","renderCustomized","throttleDelay","_throttle","addListener","prevProps","removeListener","componentWillUnmount","cancel","_isBoolean","shared","eventType","containerOffset","getOffset","calculateChartCoordinate","inRange","_this$state9","xScale","yScale","xValue","invert","yValue","toolTipData","_this$state10","_this$state11","innerPoint","outerPoint","_cx","_cy","isInRange","_this$state12","inRangeOfSector","parseEventsOfWrapper","tooltipEvents","onTouchMove","onTouchStart","onTouchEnd","outerEvents","eventCenter","on","SYNC_EVENT","setMaxListeners","_maxListeners","emit","_this$props4","syncMethod","_this$state13","validateChartX","validateChartY","axisOptions","_this$props5","ticksGenerator","renderClipPath","_this$state$offset","getXScales","res","_ref13","_ref14","axisProps","getYScales","_ref15","_ref16","getXScaleByAxisId","_this$state$xAxisMap","_this$state$xAxisMap$","getYScaleByAxisId","_this$state$yAxisMap","_this$state$yAxisMap$","getItemByXY","chartXY","itemDisplayName","activeBarItem","isInRectangle","_activeBarItem","_this$props6","compact","CartesianGrid","once","ReferenceArea","ReferenceLine","ReferenceDot","XAxis","YAxis","Bar","Line","Area","Radar","RadialBar","Scatter","Pie","Funnel","PolarGrid","PolarAngleAxis","PolarRadiusAxis","Customized","renderByOrder","events","defaultState","prevData","prevHeight","prevLayout","prevStackOffset","prevMargin","shallowEqual","_defaultState","keepFromPrevState","updatesToState","newState","isChildrenEqual","hasGlobalData","newUpdateId","dot","Dot","Layer","valueAccessor","_last","LabelList","getValueByDataKey","idProps","parseLabelList","ckeckPropsLabel","explicitChilren","implicitLabelList"],"mappings":"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","file":"static/js/vendors~main~998ca193.b6c93bf7.chunk.js","sourcesContent":["import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React, { cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport { Text } from './Text';\nimport { findAllByType } from '../util/ReactUtils';\nimport { isNumOrStr, isNumber, isPercent, getPercentValue, uniqueId, mathSign } from '../util/DataUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\nimport { filterProps } from '../util/types';\n\nvar getLabel = function getLabel(props) {\n var value = props.value,\n formatter = props.formatter;\n var label = _isNil(props.children) ? value : props.children;\n\n if (_isFunction(formatter)) {\n return formatter(label);\n }\n\n return label;\n};\n\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n};\n\nvar renderRadialLabel = function renderRadialLabel(labelProps, label, attrs) {\n var position = labelProps.position,\n viewBox = labelProps.viewBox,\n offset = labelProps.offset,\n className = labelProps.className;\n var _ref = viewBox,\n cx = _ref.cx,\n cy = _ref.cy,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n clockWise = _ref.clockWise;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle(startAngle, endAngle);\n var sign = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n\n if (position === 'insideStart') {\n labelAngle = startAngle + sign * offset;\n direction = clockWise;\n } else if (position === 'insideEnd') {\n labelAngle = endAngle - sign * offset;\n direction = !clockWise;\n } else if (position === 'end') {\n labelAngle = endAngle + sign * offset;\n direction = clockWise;\n }\n\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = _isNil(labelProps.id) ? uniqueId('recharts-radial-line-') : labelProps.id;\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, attrs, {\n dominantBaseline: \"central\",\n className: classNames('recharts-radial-bar-label', className)\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: id,\n d: path\n })), /*#__PURE__*/React.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n};\n\nvar getAttrsOfPolarLabel = function getAttrsOfPolarLabel(props) {\n var viewBox = props.viewBox,\n offset = props.offset,\n position = props.position;\n var _ref2 = viewBox,\n cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var midAngle = (startAngle + endAngle) / 2;\n\n if (position === 'outside') {\n var _polarToCartesian = polarToCartesian(cx, cy, outerRadius + offset, midAngle),\n _x = _polarToCartesian.x,\n _y = _polarToCartesian.y;\n\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx ? 'start' : 'end',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'center') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'centerTop') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n\n if (position === 'centerBottom') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'end'\n };\n }\n\n var r = (innerRadius + outerRadius) / 2;\n\n var _polarToCartesian2 = polarToCartesian(cx, cy, r, midAngle),\n x = _polarToCartesian2.x,\n y = _polarToCartesian2.y;\n\n return {\n x: x,\n y: y,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n};\n\nvar getAttrsOfCartesianLabel = function getAttrsOfCartesianLabel(props) {\n var viewBox = props.viewBox,\n parentViewBox = props.parentViewBox,\n offset = props.offset,\n position = props.position;\n var _ref3 = viewBox,\n x = _ref3.x,\n y = _ref3.y,\n width = _ref3.width,\n height = _ref3.height; // Define vertical offsets and position inverts based on the value being positive or negative\n\n var verticalSign = height >= 0 ? 1 : -1;\n var verticalOffset = verticalSign * offset;\n var verticalEnd = verticalSign > 0 ? 'end' : 'start';\n var verticalStart = verticalSign > 0 ? 'start' : 'end'; // Define horizontal offsets and position inverts based on the value being positive or negative\n\n var horizontalSign = width >= 0 ? 1 : -1;\n var horizontalOffset = horizontalSign * offset;\n var horizontalEnd = horizontalSign > 0 ? 'end' : 'start';\n var horizontalStart = horizontalSign > 0 ? 'start' : 'end';\n\n if (position === 'top') {\n var attrs = {\n x: x + width / 2,\n y: y - verticalSign * offset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n };\n return _objectSpread(_objectSpread({}, attrs), parentViewBox ? {\n height: Math.max(y - parentViewBox.y, 0),\n width: width\n } : {});\n }\n\n if (position === 'bottom') {\n var _attrs = {\n x: x + width / 2,\n y: y + height + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n };\n return _objectSpread(_objectSpread({}, _attrs), parentViewBox ? {\n height: Math.max(parentViewBox.y + parentViewBox.height - (y + height), 0),\n width: width\n } : {});\n }\n\n if (position === 'left') {\n var _attrs2 = {\n x: x - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs2), parentViewBox ? {\n width: Math.max(_attrs2.x - parentViewBox.x, 0),\n height: height\n } : {});\n }\n\n if (position === 'right') {\n var _attrs3 = {\n x: x + width + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs3), parentViewBox ? {\n width: Math.max(parentViewBox.x + parentViewBox.width - _attrs3.x, 0),\n height: height\n } : {});\n }\n\n var sizeAttrs = parentViewBox ? {\n width: width,\n height: height\n } : {};\n\n if (position === 'insideLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n\n if (position === 'insideRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n\n if (position === 'insideTop') {\n return _objectSpread({\n x: x + width / 2,\n y: y + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideBottom') {\n return _objectSpread({\n x: x + width / 2,\n y: y + height - verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (position === 'insideTopLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideTopRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideBottomLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (position === 'insideBottomRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (_isObject(position) && (isNumber(position.x) || isPercent(position.x)) && (isNumber(position.y) || isPercent(position.y))) {\n return _objectSpread({\n x: x + getPercentValue(position.x, width),\n y: y + getPercentValue(position.y, height),\n textAnchor: 'end',\n verticalAnchor: 'end'\n }, sizeAttrs);\n }\n\n return _objectSpread({\n x: x + width / 2,\n y: y + height / 2,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n }, sizeAttrs);\n};\n\nvar isPolar = function isPolar(viewBox) {\n return isNumber(viewBox.cx);\n};\n\nexport function Label(props) {\n var viewBox = props.viewBox,\n position = props.position,\n value = props.value,\n children = props.children,\n content = props.content,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n textBreakAll = props.textBreakAll;\n\n if (!viewBox || _isNil(value) && _isNil(children) && ! /*#__PURE__*/isValidElement(content) && !_isFunction(content)) {\n return null;\n }\n\n if ( /*#__PURE__*/isValidElement(content)) {\n return /*#__PURE__*/cloneElement(content, props);\n }\n\n var label;\n\n if (_isFunction(content)) {\n label = /*#__PURE__*/createElement(content, props);\n\n if ( /*#__PURE__*/isValidElement(label)) {\n return label;\n }\n } else {\n label = getLabel(props);\n }\n\n var isPolarLabel = isPolar(viewBox);\n var attrs = filterProps(props, true);\n\n if (isPolarLabel && (position === 'insideStart' || position === 'insideEnd' || position === 'end')) {\n return renderRadialLabel(props, label, attrs);\n }\n\n var positionAttrs = isPolarLabel ? getAttrsOfPolarLabel(props) : getAttrsOfCartesianLabel(props);\n return /*#__PURE__*/React.createElement(Text, _extends({\n className: classNames('recharts-label', className)\n }, attrs, positionAttrs, {\n breakAll: textBreakAll\n }), label);\n}\nLabel.displayName = 'Label';\nLabel.defaultProps = {\n offset: 5\n};\n\nvar parseViewBox = function parseViewBox(props) {\n var cx = props.cx,\n cy = props.cy,\n angle = props.angle,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n r = props.r,\n radius = props.radius,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n x = props.x,\n y = props.y,\n top = props.top,\n left = props.left,\n width = props.width,\n height = props.height,\n clockWise = props.clockWise,\n labelViewBox = props.labelViewBox;\n\n if (labelViewBox) {\n return labelViewBox;\n }\n\n if (isNumber(width) && isNumber(height)) {\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n }\n\n if (isNumber(top) && isNumber(left)) {\n return {\n x: top,\n y: left,\n width: width,\n height: height\n };\n }\n }\n\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: 0,\n height: 0\n };\n }\n\n if (isNumber(cx) && isNumber(cy)) {\n return {\n cx: cx,\n cy: cy,\n startAngle: startAngle || angle || 0,\n endAngle: endAngle || angle || 0,\n innerRadius: innerRadius || 0,\n outerRadius: outerRadius || radius || r || 0,\n clockWise: clockWise\n };\n }\n\n if (props.viewBox) {\n return props.viewBox;\n }\n\n return {};\n};\n\nvar parseLabel = function parseLabel(label, viewBox) {\n if (!label) {\n return null;\n }\n\n if (label === true) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox\n });\n }\n\n if (isNumOrStr(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox,\n value: label\n });\n }\n\n if ( /*#__PURE__*/isValidElement(label)) {\n if (label.type === Label) {\n return /*#__PURE__*/cloneElement(label, {\n key: 'label-implicit',\n viewBox: viewBox\n });\n }\n\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isFunction(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(Label, _extends({\n viewBox: viewBox\n }, label, {\n key: \"label-implicit\"\n }));\n }\n\n return null;\n};\n\nvar renderCallByParent = function renderCallByParent(parentProps, viewBox) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n\n var children = parentProps.children;\n var parentViewBox = parseViewBox(parentProps);\n var explicitChildren = findAllByType(children, Label.displayName).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n viewBox: viewBox || parentViewBox,\n key: \"label-\".concat(index)\n });\n });\n\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n\n var implicitLabel = parseLabel(parentProps.label, viewBox || parentViewBox);\n return [implicitLabel].concat(_toConsumableArray(explicitChildren));\n};\n\nLabel.parseViewBox = parseViewBox;\nLabel.renderCallByParent = renderCallByParent;","import _debounce from \"lodash/debounce\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport classNames from 'classnames';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect } from 'react';\nimport ReactResizeDetector from 'react-resize-detector/build/withPolyfill';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n minWidth = _ref.minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className;\n\n var _useState = useState({\n containerWidth: -1,\n containerHeight: -1\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n\n var containerRef = useRef(null);\n useImperativeHandle(ref, function () {\n return containerRef;\n }, [containerRef]);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n mounted = _useState4[0],\n setMounted = _useState4[1];\n\n var getContainerSize = function getContainerSize() {\n if (!containerRef.current) {\n return null;\n }\n\n return {\n containerWidth: containerRef.current.clientWidth,\n containerHeight: containerRef.current.clientHeight\n };\n };\n\n var updateDimensionsImmediate = function updateDimensionsImmediate() {\n if (!mounted) {\n return;\n }\n\n var newSize = getContainerSize();\n\n if (newSize) {\n var oldWidth = sizes.containerWidth,\n oldHeight = sizes.containerHeight;\n var containerWidth = newSize.containerWidth,\n containerHeight = newSize.containerHeight;\n\n if (containerWidth !== oldWidth || containerHeight !== oldHeight) {\n setSizes({\n containerWidth: containerWidth,\n containerHeight: containerHeight\n });\n }\n }\n };\n\n var handleResize = debounce > 0 ? _debounce(updateDimensionsImmediate, debounce) : updateDimensionsImmediate;\n\n var renderChart = function renderChart() {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n } // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n\n\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n return /*#__PURE__*/cloneElement(children, {\n width: calculatedWidth,\n height: calculatedHeight\n });\n };\n\n useEffect(function () {\n if (mounted) {\n var size = getContainerSize();\n\n if (size) {\n setSizes(size);\n }\n }\n }, [mounted]);\n useEffect(function () {\n setMounted(true);\n }, []);\n var style = {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n };\n return /*#__PURE__*/React.createElement(ReactResizeDetector, {\n handleWidth: true,\n handleHeight: true,\n onResize: handleResize,\n targetRef: containerRef\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, id != null ? {\n id: \"\".concat(id)\n } : {}, {\n className: classNames('recharts-responsive-container', className),\n style: style,\n ref: containerRef\n }), renderChart()));\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isNil from \"lodash/isNil\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from 'react';\nimport reduceCSSCalc from 'reduce-css-calc';\nimport classNames from 'classnames';\nimport { isNumber, isNumOrStr } from '../util/DataUtils';\nimport { Global } from '../util/Global';\nimport { filterProps } from '../util/types';\nimport { getStringSize } from '../util/DOMUtils';\nvar BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\n\nvar calculateWordWidths = function calculateWordWidths(props) {\n try {\n var words = [];\n\n if (!_isNil(props.children)) {\n if (props.breakAll) {\n words = props.children.toString().split('');\n } else {\n words = props.children.toString().split(BREAKING_SPACES);\n }\n }\n\n var wordsWithComputedWidth = words.map(function (word) {\n return {\n word: word,\n width: getStringSize(word, props.style).width\n };\n });\n var spaceWidth = props.breakAll ? 0 : getStringSize(\"\\xA0\", props.style).width;\n return {\n wordsWithComputedWidth: wordsWithComputedWidth,\n spaceWidth: spaceWidth\n };\n } catch (e) {\n return null;\n }\n};\n\nvar calculateWordsByLines = function calculateWordsByLines(props, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) {\n var shouldLimitLines = isNumber(props.maxLines);\n var text = props.children;\n\n var calculate = function calculate() {\n var words = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return words.reduce(function (result, _ref) {\n var word = _ref.word,\n width = _ref.width;\n var currentLine = result[result.length - 1];\n\n if (currentLine && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < lineWidth)) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: width\n };\n result.push(newLine);\n }\n\n return result;\n }, []);\n };\n\n var originalResult = calculate(initialWordsWithComputedWith);\n\n var findLongestLine = function findLongestLine(words) {\n return words.reduce(function (a, b) {\n return a.width > b.width ? a : b;\n });\n };\n\n if (!shouldLimitLines) {\n return originalResult;\n }\n\n var suffix = '…';\n\n var checkOverflow = function checkOverflow(index) {\n var tempText = text.slice(0, index);\n var words = calculateWordWidths(_objectSpread(_objectSpread({}, props), {}, {\n children: tempText + suffix\n })).wordsWithComputedWidth;\n var result = calculate(words);\n var doesOverflow = result.length > props.maxLines || findLongestLine(result).width > lineWidth;\n return [doesOverflow, result];\n };\n\n var start = 0;\n var end = text.length - 1;\n var iterations = 0;\n var trimmedResult;\n\n while (start <= end && iterations <= text.length - 1) {\n var middle = Math.floor((start + end) / 2);\n var prev = middle - 1;\n\n var _checkOverflow = checkOverflow(prev),\n _checkOverflow2 = _slicedToArray(_checkOverflow, 2),\n doesPrevOverflow = _checkOverflow2[0],\n result = _checkOverflow2[1];\n\n var _checkOverflow3 = checkOverflow(middle),\n _checkOverflow4 = _slicedToArray(_checkOverflow3, 1),\n doesMiddleOverflow = _checkOverflow4[0];\n\n if (!doesPrevOverflow && !doesMiddleOverflow) {\n start = middle + 1;\n }\n\n if (doesPrevOverflow && doesMiddleOverflow) {\n end = middle - 1;\n }\n\n if (!doesPrevOverflow && doesMiddleOverflow) {\n trimmedResult = result;\n break;\n }\n\n iterations++;\n } // Fallback to originalResult (result without trimming) if we cannot find the\n // where to trim. This should not happen :tm:\n\n\n return trimmedResult || originalResult;\n};\n\nvar getWordsWithoutCalculate = function getWordsWithoutCalculate(children) {\n var words = !_isNil(children) ? children.toString().split(BREAKING_SPACES) : [];\n return [{\n words: words\n }];\n};\n\nvar getWordsByLines = function getWordsByLines(props, needCalculate) {\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if ((props.width || props.scaleToFit) && !Global.isSsr) {\n var wordsWithComputedWidth, spaceWidth;\n\n if (needCalculate) {\n var wordWidths = calculateWordWidths(props);\n\n if (wordWidths) {\n var wcw = wordWidths.wordsWithComputedWidth,\n sw = wordWidths.spaceWidth;\n wordsWithComputedWidth = wcw;\n spaceWidth = sw;\n } else {\n return getWordsWithoutCalculate(props.children);\n }\n\n return calculateWordsByLines(props, wordsWithComputedWidth, spaceWidth, props.width, props.scaleToFit);\n }\n }\n\n return getWordsWithoutCalculate(props.children);\n};\n\nexport var Text = /*#__PURE__*/function (_Component) {\n _inherits(Text, _Component);\n\n var _super = _createSuper(Text);\n\n function Text() {\n var _this;\n\n _classCallCheck(this, Text);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {};\n return _this;\n }\n\n _createClass(Text, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n dx = _this$props.dx,\n dy = _this$props.dy,\n textAnchor = _this$props.textAnchor,\n verticalAnchor = _this$props.verticalAnchor,\n scaleToFit = _this$props.scaleToFit,\n angle = _this$props.angle,\n lineHeight = _this$props.lineHeight,\n capHeight = _this$props.capHeight,\n className = _this$props.className,\n breakAll = _this$props.breakAll,\n textProps = _objectWithoutProperties(_this$props, [\"dx\", \"dy\", \"textAnchor\", \"verticalAnchor\", \"scaleToFit\", \"angle\", \"lineHeight\", \"capHeight\", \"className\", \"breakAll\"]);\n\n var wordsByLines = this.state.wordsByLines;\n\n if (!isNumOrStr(textProps.x) || !isNumOrStr(textProps.y)) {\n return null;\n }\n\n var x = textProps.x + (isNumber(dx) ? dx : 0);\n var y = textProps.y + (isNumber(dy) ? dy : 0);\n var startDy;\n\n switch (verticalAnchor) {\n case 'start':\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n\n case 'middle':\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n\n var transforms = [];\n\n if (scaleToFit) {\n var lineWidth = wordsByLines[0].width;\n var width = this.props.width;\n transforms.push(\"scale(\".concat((isNumber(width) ? width / lineWidth : 1) / lineWidth, \")\"));\n }\n\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x, \", \").concat(y, \")\"));\n }\n\n if (transforms.length) {\n textProps.transform = transforms.join(' ');\n }\n\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, filterProps(textProps, true), {\n x: x,\n y: y,\n className: classNames('recharts-text', className),\n textAnchor: textAnchor\n }), wordsByLines.map(function (line, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"tspan\", {\n x: x,\n dy: index === 0 ? startDy : lineHeight,\n key: index\n }, line.words.join(breakAll ? '' : ' '))\n );\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.width !== prevState.prevWidth || nextProps.scaleToFit !== prevState.prevScaleToFit || nextProps.children !== prevState.prevChildren || nextProps.style !== prevState.prevStyle || nextProps.breakAll !== prevState.prevBreakAll) {\n var needCalculate = nextProps.children !== prevState.prevChildren || nextProps.style !== prevState.prevStyle || nextProps.breakAll !== prevState.prevBreakAll;\n return {\n prevWidth: nextProps.width,\n prevScaleToFit: nextProps.scaleToFit,\n prevChildren: nextProps.children,\n prevStyle: nextProps.style,\n wordsByLines: getWordsByLines(nextProps, needCalculate)\n };\n }\n\n return null;\n }\n }]);\n\n return Text;\n}(Component);\nText.defaultProps = {\n x: 0,\n y: 0,\n lineHeight: '1em',\n capHeight: '0.71em',\n // Magic number from d3\n scaleToFit: false,\n textAnchor: 'start',\n verticalAnchor: 'end' // Maintain compat with existing charts / default SVG behavior\n\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Default Legend Content\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { Surface } from '../container/Surface';\nimport { Symbols } from '../shape/Symbols';\nimport { adaptEventsOfChild } from '../util/types';\nvar SIZE = 32;\nexport var DefaultLegendContent = /*#__PURE__*/function (_PureComponent) {\n _inherits(DefaultLegendContent, _PureComponent);\n\n var _super = _createSuper(DefaultLegendContent);\n\n function DefaultLegendContent() {\n _classCallCheck(this, DefaultLegendContent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DefaultLegendContent, [{\n key: \"renderIcon\",\n value:\n /**\n * Render the path of icon\n * @param {Object} data Data of each legend item\n * @return {String} Path element\n */\n function renderIcon(data) {\n var inactiveColor = this.props.inactiveColor;\n var halfSize = SIZE / 2;\n var sixthSize = SIZE / 6;\n var thirdSize = SIZE / 3;\n var color = data.inactive ? inactiveColor : data.color;\n\n if (data.type === 'plainline') {\n return /*#__PURE__*/React.createElement(\"line\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n strokeDasharray: data.payload.strokeDasharray,\n x1: 0,\n y1: halfSize,\n x2: SIZE,\n y2: halfSize,\n className: \"recharts-legend-icon\"\n });\n }\n\n if (data.type === 'line') {\n return /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n className: \"recharts-legend-icon\"\n });\n }\n\n if (data.type === 'rect') {\n return /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n fill: color,\n d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n className: \"recharts-legend-icon\"\n });\n }\n\n if ( /*#__PURE__*/React.isValidElement(data.legendIcon)) {\n var iconProps = _objectSpread({}, data);\n\n delete iconProps.legendIcon;\n return /*#__PURE__*/React.cloneElement(data.legendIcon, iconProps);\n }\n\n return /*#__PURE__*/React.createElement(Symbols, {\n fill: color,\n cx: halfSize,\n cy: halfSize,\n size: SIZE,\n sizeType: \"diameter\",\n type: data.type\n });\n }\n /**\n * Draw items of legend\n * @return {ReactElement} Items\n */\n\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this = this;\n\n var _this$props = this.props,\n payload = _this$props.payload,\n iconSize = _this$props.iconSize,\n layout = _this$props.layout,\n formatter = _this$props.formatter,\n inactiveColor = _this$props.inactiveColor;\n var viewBox = {\n x: 0,\n y: 0,\n width: SIZE,\n height: SIZE\n };\n var itemStyle = {\n display: layout === 'horizontal' ? 'inline-block' : 'block',\n marginRight: 10\n };\n var svgStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n marginRight: 4\n };\n return payload.map(function (entry, i) {\n var _classNames;\n\n var finalFormatter = entry.formatter || formatter;\n var className = classNames((_classNames = {\n 'recharts-legend-item': true\n }, _defineProperty(_classNames, \"legend-item-\".concat(i), true), _defineProperty(_classNames, \"inactive\", entry.inactive), _classNames));\n\n if (entry.type === 'none') {\n return null;\n }\n\n var color = entry.inactive ? inactiveColor : entry.color;\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: className,\n style: itemStyle,\n key: \"legend-item-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, adaptEventsOfChild(_this.props, entry, i)), /*#__PURE__*/React.createElement(Surface, {\n width: iconSize,\n height: iconSize,\n viewBox: viewBox,\n style: svgStyle\n }, _this.renderIcon(entry)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-legend-item-text\",\n style: {\n color: color\n }\n }, finalFormatter ? finalFormatter(entry.value, entry, i) : entry.value));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n layout = _this$props2.layout,\n align = _this$props2.align;\n\n if (!payload || !payload.length) {\n return null;\n }\n\n var finalStyle = {\n padding: 0,\n margin: 0,\n textAlign: layout === 'horizontal' ? align : 'left'\n };\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-default-legend\",\n style: finalStyle\n }, this.renderItems());\n }\n }]);\n\n return DefaultLegendContent;\n}(PureComponent);\nDefaultLegendContent.displayName = 'Legend';\nDefaultLegendContent.defaultProps = {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'middle',\n inactiveColor: '#ccc'\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * @fileOverview Legend\n */\nimport React, { PureComponent } from 'react';\nimport { DefaultLegendContent } from './DefaultLegendContent';\nimport { isNumber } from '../util/DataUtils';\n\nfunction defaultUniqBy(entry) {\n return entry.value;\n}\n\nfunction getUniqPayload(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n\n return payload;\n}\n\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n\n if (_isFunction(content)) {\n return /*#__PURE__*/React.createElement(content, props);\n }\n\n var ref = props.ref,\n otherProps = _objectWithoutProperties(props, [\"ref\"]);\n\n return /*#__PURE__*/React.createElement(DefaultLegendContent, otherProps);\n}\n\nvar EPS = 1;\nexport var Legend = /*#__PURE__*/function (_PureComponent) {\n _inherits(Legend, _PureComponent);\n\n var _super = _createSuper(Legend);\n\n function Legend() {\n var _this;\n\n _classCallCheck(this, Legend);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.wrapperNode = void 0;\n _this.state = {\n boxWidth: -1,\n boxHeight: -1\n };\n return _this;\n }\n\n _createClass(Legend, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"getBBox\",\n value: function getBBox() {\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n return this.wrapperNode.getBoundingClientRect();\n }\n\n return null;\n }\n }, {\n key: \"getBBoxSnapshot\",\n value: function getBBoxSnapshot() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight;\n\n if (boxWidth >= 0 && boxHeight >= 0) {\n return {\n width: boxWidth,\n height: boxHeight\n };\n }\n\n return null;\n }\n }, {\n key: \"getDefaultPosition\",\n value: function getDefaultPosition(style) {\n var _this$props = this.props,\n layout = _this$props.layout,\n align = _this$props.align,\n verticalAlign = _this$props.verticalAlign,\n margin = _this$props.margin,\n chartWidth = _this$props.chartWidth,\n chartHeight = _this$props.chartHeight;\n var hPos, vPos;\n\n if (!style || (style.left === undefined || style.left === null) && (style.right === undefined || style.right === null)) {\n if (align === 'center' && layout === 'vertical') {\n var _box = this.getBBoxSnapshot() || {\n width: 0\n };\n\n hPos = {\n left: ((chartWidth || 0) - _box.width) / 2\n };\n } else {\n hPos = align === 'right' ? {\n right: margin && margin.right || 0\n } : {\n left: margin && margin.left || 0\n };\n }\n }\n\n if (!style || (style.top === undefined || style.top === null) && (style.bottom === undefined || style.bottom === null)) {\n if (verticalAlign === 'middle') {\n var _box2 = this.getBBoxSnapshot() || {\n height: 0\n };\n\n vPos = {\n top: ((chartHeight || 0) - _box2.height) / 2\n };\n } else {\n vPos = verticalAlign === 'bottom' ? {\n bottom: margin && margin.bottom || 0\n } : {\n top: margin && margin.top || 0\n };\n }\n }\n\n return _objectSpread(_objectSpread({}, hPos), vPos);\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n var onBBoxUpdate = this.props.onBBoxUpdate;\n\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var _box3 = this.wrapperNode.getBoundingClientRect();\n\n if (Math.abs(_box3.width - boxWidth) > EPS || Math.abs(_box3.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: _box3.width,\n boxHeight: _box3.height\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(_box3);\n }\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(null);\n }\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n content = _this$props2.content,\n width = _this$props2.width,\n height = _this$props2.height,\n wrapperStyle = _this$props2.wrapperStyle,\n payloadUniqBy = _this$props2.payloadUniqBy,\n payload = _this$props2.payload;\n\n var outerStyle = _objectSpread(_objectSpread({\n position: 'absolute',\n width: width || 'auto',\n height: height || 'auto'\n }, this.getDefaultPosition(wrapperStyle)), wrapperStyle);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"recharts-legend-wrapper\",\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: getUniqPayload(payloadUniqBy, payload)\n })));\n }\n }], [{\n key: \"getWithHeight\",\n value: function getWithHeight(item, chartWidth) {\n var layout = item.props.layout;\n\n if (layout === 'vertical' && isNumber(item.props.height)) {\n return {\n height: item.props.height\n };\n }\n\n if (layout === 'horizontal') {\n return {\n width: item.props.width || chartWidth\n };\n }\n\n return null;\n }\n }]);\n\n return Legend;\n}(PureComponent);\nLegend.displayName = 'Legend';\nLegend.defaultProps = {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isNil from \"lodash/isNil\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { isNumOrStr } from '../util/DataUtils';\n\nfunction defaultFormatter(value) {\n return _isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(' ~ ') : value;\n}\n\nexport var DefaultTooltipContent = /*#__PURE__*/function (_PureComponent) {\n _inherits(DefaultTooltipContent, _PureComponent);\n\n var _super = _createSuper(DefaultTooltipContent);\n\n function DefaultTooltipContent() {\n _classCallCheck(this, DefaultTooltipContent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DefaultTooltipContent, [{\n key: \"renderContent\",\n value: function renderContent() {\n var _this$props = this.props,\n payload = _this$props.payload,\n separator = _this$props.separator,\n formatter = _this$props.formatter,\n itemStyle = _this$props.itemStyle,\n itemSorter = _this$props.itemSorter;\n\n if (payload && payload.length) {\n var listStyle = {\n padding: 0,\n margin: 0\n };\n var items = (itemSorter ? _sortBy(payload, itemSorter) : payload).map(function (entry, i) {\n if (entry.type === 'none') {\n return null;\n }\n\n var finalItemStyle = _objectSpread({\n display: 'block',\n paddingTop: 4,\n paddingBottom: 4,\n color: entry.color || '#000'\n }, itemStyle);\n\n var finalFormatter = entry.formatter || formatter || defaultFormatter;\n var name = entry.name,\n value = entry.value;\n\n if (finalFormatter) {\n var formatted = finalFormatter(value, name, entry, i, payload);\n\n if (Array.isArray(formatted)) {\n var _formatted = _slicedToArray(formatted, 2);\n\n value = _formatted[0];\n name = _formatted[1];\n } else {\n value = formatted;\n }\n }\n\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n className: \"recharts-tooltip-item\",\n key: \"tooltip-item-\".concat(i),\n style: finalItemStyle\n }, isNumOrStr(name) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-name\"\n }, name) : null, isNumOrStr(name) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-separator\"\n }, separator) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-value\"\n }, value), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-unit\"\n }, entry.unit || ''))\n );\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-tooltip-item-list\",\n style: listStyle\n }, items);\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n wrapperClassName = _this$props2.wrapperClassName,\n contentStyle = _this$props2.contentStyle,\n labelClassName = _this$props2.labelClassName,\n labelStyle = _this$props2.labelStyle,\n label = _this$props2.label,\n labelFormatter = _this$props2.labelFormatter,\n payload = _this$props2.payload;\n\n var finalStyle = _objectSpread({\n margin: 0,\n padding: 10,\n backgroundColor: '#fff',\n border: '1px solid #ccc',\n whiteSpace: 'nowrap'\n }, contentStyle);\n\n var finalLabelStyle = _objectSpread({\n margin: 0\n }, labelStyle);\n\n var hasLabel = !_isNil(label);\n var finalLabel = hasLabel ? label : '';\n var wrapperCN = classNames('recharts-default-tooltip', wrapperClassName);\n var labelCN = classNames('recharts-tooltip-label', labelClassName);\n\n if (hasLabel && labelFormatter && payload !== undefined && payload !== null) {\n finalLabel = labelFormatter(label, payload);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperCN,\n style: finalStyle\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: labelCN,\n style: finalLabelStyle\n }, /*#__PURE__*/React.isValidElement(finalLabel) ? finalLabel : \"\".concat(finalLabel)), this.renderContent());\n }\n }]);\n\n return DefaultTooltipContent;\n}(PureComponent);\nDefaultTooltipContent.displayName = 'DefaultTooltipContent';\nDefaultTooltipContent.defaultProps = {\n separator: ' : ',\n contentStyle: {},\n itemStyle: {},\n labelStyle: {}\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isNil from \"lodash/isNil\";\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Tooltip\n */\nimport React, { PureComponent } from 'react';\nimport { translateStyle } from 'react-smooth';\nimport classNames from 'classnames';\nimport { DefaultTooltipContent } from './DefaultTooltipContent';\nimport { Global } from '../util/Global';\nimport { isNumber } from '../util/DataUtils';\nvar CLS_PREFIX = 'recharts-tooltip-wrapper';\nvar EPS = 1;\n\nfunction defaultUniqBy(entry) {\n return entry.dataKey;\n}\n\nfunction getUniqPayload(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n\n return payload;\n}\n\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n\n if (_isFunction(content)) {\n return /*#__PURE__*/React.createElement(content, props);\n }\n\n return /*#__PURE__*/React.createElement(DefaultTooltipContent, props);\n}\n\nexport var Tooltip = /*#__PURE__*/function (_PureComponent) {\n _inherits(Tooltip, _PureComponent);\n\n var _super = _createSuper(Tooltip);\n\n function Tooltip() {\n var _this;\n\n _classCallCheck(this, Tooltip);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n boxWidth: -1,\n boxHeight: -1\n };\n _this.wrapperNode = void 0;\n\n _this.getTranslate = function (_ref) {\n var key = _ref.key,\n tooltipDimension = _ref.tooltipDimension,\n viewBoxDimension = _ref.viewBoxDimension;\n var _this$props = _this.props,\n allowEscapeViewBox = _this$props.allowEscapeViewBox,\n coordinate = _this$props.coordinate,\n offset = _this$props.offset,\n position = _this$props.position,\n viewBox = _this$props.viewBox;\n\n if (position && isNumber(position[key])) {\n return position[key];\n }\n\n var restricted = coordinate[key] - tooltipDimension - offset;\n var unrestricted = coordinate[key] + offset;\n\n if (allowEscapeViewBox[key]) {\n return unrestricted;\n }\n\n var tooltipBoundary = coordinate[key] + tooltipDimension + offset;\n var viewBoxBoundary = viewBox[key] + viewBoxDimension;\n\n if (tooltipBoundary > viewBoxBoundary) {\n return Math.max(restricted, viewBox[key]);\n }\n\n return Math.max(unrestricted, viewBox[key]);\n };\n\n return _this;\n }\n\n _createClass(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight;\n\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n\n if (Math.abs(box.width - boxWidth) > EPS || Math.abs(box.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: box.width,\n boxHeight: box.height\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames,\n _this2 = this;\n\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n isAnimationActive = _this$props2.isAnimationActive,\n animationDuration = _this$props2.animationDuration,\n animationEasing = _this$props2.animationEasing,\n filterNull = _this$props2.filterNull,\n payloadUniqBy = _this$props2.payloadUniqBy;\n var finalPayload = getUniqPayload(payloadUniqBy, filterNull && payload && payload.length ? payload.filter(function (entry) {\n return !_isNil(entry.value);\n }) : payload);\n var hasPayload = finalPayload && finalPayload.length;\n var _this$props3 = this.props,\n content = _this$props3.content,\n viewBox = _this$props3.viewBox,\n coordinate = _this$props3.coordinate,\n position = _this$props3.position,\n active = _this$props3.active,\n wrapperStyle = _this$props3.wrapperStyle;\n\n var outerStyle = _objectSpread({\n pointerEvents: 'none',\n visibility: active && hasPayload ? 'visible' : 'hidden',\n position: 'absolute',\n top: 0,\n left: 0\n }, wrapperStyle);\n\n var translateX, translateY;\n\n if (position && isNumber(position.x) && isNumber(position.y)) {\n translateX = position.x;\n translateY = position.y;\n } else {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n\n if (boxWidth > 0 && boxHeight > 0 && coordinate) {\n translateX = this.getTranslate({\n key: 'x',\n tooltipDimension: boxWidth,\n viewBoxDimension: viewBox.width\n });\n translateY = this.getTranslate({\n key: 'y',\n tooltipDimension: boxHeight,\n viewBoxDimension: viewBox.height\n });\n } else {\n outerStyle.visibility = 'hidden';\n }\n }\n\n outerStyle = _objectSpread(_objectSpread({}, translateStyle({\n transform: this.props.useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n })), outerStyle);\n\n if (isAnimationActive && active) {\n outerStyle = _objectSpread(_objectSpread({}, translateStyle({\n transition: \"transform \".concat(animationDuration, \"ms \").concat(animationEasing)\n })), outerStyle);\n }\n\n var cls = classNames(CLS_PREFIX, (_classNames = {}, _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-right\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX >= coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-left\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX < coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-bottom\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY >= coordinate.y), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-top\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY < coordinate.y), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: finalPayload\n })));\n }\n }]);\n\n return Tooltip;\n}(PureComponent);\nTooltip.displayName = 'Tooltip';\nTooltip.defaultProps = {\n active: false,\n allowEscapeViewBox: {\n x: false,\n y: false\n },\n offset: 10,\n viewBox: {\n x1: 0,\n x2: 0,\n y1: 0,\n y2: 0\n },\n coordinate: {\n x: 0,\n y: 0\n },\n cursorStyle: {},\n separator: ' : ',\n wrapperStyle: {},\n contentStyle: {},\n itemStyle: {},\n labelStyle: {},\n cursor: true,\n trigger: 'hover',\n isAnimationActive: !Global.isSsr,\n animationEasing: 'ease',\n animationDuration: 400,\n filterNull: true,\n useTranslate3d: false\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * @fileOverview Surface\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nexport function Surface(props) {\n var children = props.children,\n width = props.width,\n height = props.height,\n viewBox = props.viewBox,\n className = props.className,\n style = props.style,\n others = _objectWithoutProperties(props, [\"children\", \"width\", \"height\", \"viewBox\", \"className\", \"style\"]);\n\n var svgView = viewBox || {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n var layerClass = classNames('recharts-surface', className);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, filterProps(others, true, true), {\n className: layerClass,\n width: width,\n height: height,\n style: style,\n viewBox: \"\".concat(svgView.x, \" \").concat(svgView.y, \" \").concat(svgView.width, \" \").concat(svgView.height),\n version: \"1.1\"\n }), children);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _every from \"lodash/every\";\nimport _find from \"lodash/find\";\nimport _isFunction from \"lodash/isFunction\";\nimport _throttle from \"lodash/throttle\";\nimport _sortBy from \"lodash/sortBy\";\nimport _get from \"lodash/get\";\nimport _range from \"lodash/range\";\nimport _isNil from \"lodash/isNil\";\nimport _isBoolean from \"lodash/isBoolean\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component, cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport { Surface } from '../container/Surface';\nimport { Layer } from '../container/Layer';\nimport { Tooltip } from '../component/Tooltip';\nimport { Legend } from '../component/Legend';\nimport { Curve } from '../shape/Curve';\nimport { Cross } from '../shape/Cross';\nimport { Sector } from '../shape/Sector';\nimport { Dot } from '../shape/Dot';\nimport { isInRectangle, Rectangle } from '../shape/Rectangle';\nimport { findAllByType, findChildByType, getDisplayName, parseChildIndex, validateWidthHeight, isChildrenEqual, renderByOrder, getReactEventByType } from '../util/ReactUtils';\nimport { CartesianAxis } from '../cartesian/CartesianAxis';\nimport { Brush } from '../cartesian/Brush';\nimport { getOffset, calculateChartCoordinate } from '../util/DOMUtils';\nimport { getAnyElementOfObject, hasDuplicate, uniqueId, isNumber, findEntryInArray } from '../util/DataUtils';\nimport { calculateActiveTickIndex, getMainColorOfGraphicItem, getBarSizeList, getBarPosition, appendOffsetOfLegend, getLegendProps, combineEventHandlers, getTicksOfAxis, getCoordinatesOfGrid, getStackedDataOfItem, parseErrorBarsOfAxis, getBandSizeOfAxis, getStackGroupsByAxisId, isCategoricalAxis, getDomainOfItemsWithSameAxis, getDomainOfStackGroups, getDomainOfDataByKey, parseSpecifiedDomain, parseDomainOfCategoryAxis, getTooltipItem } from '../util/ChartUtils';\nimport { detectReferenceElementsDomain } from '../util/DetectReferenceElementsDomain';\nimport { inRangeOfSector, polarToCartesian } from '../util/PolarUtils';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { eventCenter, SYNC_EVENT } from '../util/Events';\nimport { filterProps, adaptEventHandlers } from '../util/types';\nvar ORIENT_MAP = {\n xAxis: ['bottom', 'top'],\n yAxis: ['left', 'right']\n};\nvar originCoordinate = {\n x: 0,\n y: 0\n}; // use legacy isFinite only if there is a problem (aka IE)\n// eslint-disable-next-line no-restricted-globals\n\nvar isFinit = Number.isFinite ? Number.isFinite : isFinite;\nvar defer = // eslint-disable-next-line no-nested-ternary\ntypeof requestAnimationFrame === 'function' ? requestAnimationFrame : typeof setImmediate === 'function' ? setImmediate : setTimeout;\nvar deferClear = // eslint-disable-next-line no-nested-ternary\ntypeof cancelAnimationFrame === 'function' ? cancelAnimationFrame : typeof clearImmediate === 'function' ? clearImmediate : clearTimeout;\n\nvar calculateTooltipPos = function calculateTooltipPos(rangeObj, layout) {\n if (layout === 'horizontal') {\n return rangeObj.x;\n }\n\n if (layout === 'vertical') {\n return rangeObj.y;\n }\n\n if (layout === 'centric') {\n return rangeObj.angle;\n }\n\n return rangeObj.radius;\n};\n\nvar getActiveCoordinate = function getActiveCoordinate(layout, tooltipTicks, activeIndex, rangeObj) {\n var entry = tooltipTicks.find(function (tick) {\n return tick && tick.index === activeIndex;\n });\n\n if (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.coordinate,\n y: rangeObj.y\n };\n }\n\n if (layout === 'vertical') {\n return {\n x: rangeObj.x,\n y: entry.coordinate\n };\n }\n\n if (layout === 'centric') {\n var _angle = entry.coordinate;\n var _radius = rangeObj.radius;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, _radius, _angle)), {}, {\n angle: _angle,\n radius: _radius\n });\n }\n\n var radius = entry.coordinate;\n var angle = rangeObj.angle;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, radius, angle)), {}, {\n angle: angle,\n radius: radius\n });\n }\n\n return originCoordinate;\n};\n\nvar getDisplayedData = function getDisplayedData(data, _ref, item) {\n var graphicalItems = _ref.graphicalItems,\n dataStartIndex = _ref.dataStartIndex,\n dataEndIndex = _ref.dataEndIndex;\n var itemsData = (graphicalItems || []).reduce(function (result, child) {\n var itemData = child.props.data;\n\n if (itemData && itemData.length) {\n return [].concat(_toConsumableArray(result), _toConsumableArray(itemData));\n }\n\n return result;\n }, []);\n\n if (itemsData && itemsData.length > 0) {\n return itemsData;\n }\n\n if (item && item.props && item.props.data && item.props.data.length > 0) {\n return item.props.data;\n }\n\n if (data && data.length && isNumber(dataStartIndex) && isNumber(dataEndIndex)) {\n return data.slice(dataStartIndex, dataEndIndex + 1);\n }\n\n return [];\n};\n/**\n * Get the content to be displayed in the tooltip\n * @param {Object} state Current state\n * @param {Array} chartData The data defined in chart\n * @param {Number} activeIndex Active index of data\n * @param {String} activeLabel Active label of data\n * @return {Array} The content of tooltip\n */\n\n\nvar getTooltipContent = function getTooltipContent(state, chartData, activeIndex, activeLabel) {\n var graphicalItems = state.graphicalItems,\n tooltipAxis = state.tooltipAxis;\n var displayedData = getDisplayedData(chartData, state);\n\n if (activeIndex < 0 || !graphicalItems || !graphicalItems.length || activeIndex >= displayedData.length) {\n return null;\n } // get data by activeIndex when the axis don't allow duplicated category\n\n\n return graphicalItems.reduce(function (result, child) {\n var hide = child.props.hide;\n\n if (hide) {\n return result;\n }\n\n var data = child.props.data;\n var payload;\n\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // graphic child has data props\n var entries = data === undefined ? displayedData : data;\n payload = findEntryInArray(entries, tooltipAxis.dataKey, activeLabel);\n } else {\n payload = data && data[activeIndex] || displayedData[activeIndex];\n }\n\n if (!payload) {\n return result;\n }\n\n return [].concat(_toConsumableArray(result), [getTooltipItem(child, payload)]);\n }, []);\n};\n/**\n * Returns tooltip data based on a mouse position (as a parameter or in state)\n * @param {Object} state current state\n * @param {Array} chartData the data defined in chart\n * @param {String} layout The layout type of chart\n * @param {Object} rangeObj { x, y } coordinates\n * @return {Object} Tooltip data data\n */\n\n\nvar getTooltipData = function getTooltipData(state, chartData, layout, rangeObj) {\n var rangeData = rangeObj || {\n x: state.chartX,\n y: state.chartY\n };\n var pos = calculateTooltipPos(rangeData, layout);\n var ticks = state.orderedTooltipTicks,\n axis = state.tooltipAxis,\n tooltipTicks = state.tooltipTicks;\n var activeIndex = calculateActiveTickIndex(pos, ticks, tooltipTicks, axis);\n\n if (activeIndex >= 0 && tooltipTicks) {\n var activeLabel = tooltipTicks[activeIndex] && tooltipTicks[activeIndex].value;\n var activePayload = getTooltipContent(state, chartData, activeIndex, activeLabel);\n var activeCoordinate = getActiveCoordinate(layout, ticks, activeIndex, rangeData);\n return {\n activeTooltipIndex: activeIndex,\n activeLabel: activeLabel,\n activePayload: activePayload,\n activeCoordinate: activeCoordinate\n };\n }\n\n return null;\n};\n/**\n * Get the configuration of axis by the options of axis instance\n * @param {Object} props Latest props\n * @param {Array} axes The instance of axes\n * @param {Array} graphicalItems The instances of item\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n\nvar getAxisMapByAxes = function getAxisMapByAxes(props, _ref2) {\n var axes = _ref2.axes,\n graphicalItems = _ref2.graphicalItems,\n axisType = _ref2.axisType,\n axisIdKey = _ref2.axisIdKey,\n stackGroups = _ref2.stackGroups,\n dataStartIndex = _ref2.dataStartIndex,\n dataEndIndex = _ref2.dataEndIndex;\n var layout = props.layout,\n children = props.children,\n stackOffset = props.stackOffset;\n var isCategorical = isCategoricalAxis(layout, axisType); // Eliminate duplicated axes\n\n var axisMap = axes.reduce(function (result, child) {\n var _child$props = child.props,\n type = _child$props.type,\n dataKey = _child$props.dataKey,\n allowDataOverflow = _child$props.allowDataOverflow,\n allowDuplicatedCategory = _child$props.allowDuplicatedCategory,\n scale = _child$props.scale,\n ticks = _child$props.ticks;\n var axisId = child.props[axisIdKey];\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId;\n }),\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n\n if (!result[axisId]) {\n var domain, duplicateDomain, categoricalDomain;\n\n if (dataKey) {\n // has dataKey in \n domain = getDomainOfDataByKey(displayedData, dataKey, type);\n\n if (type === 'category' && isCategorical) {\n // the field type is category data and this axis is catrgorical axis\n var duplicate = hasDuplicate(domain);\n\n if (allowDuplicatedCategory && duplicate) {\n duplicateDomain = domain; // When category axis has duplicated text, serial numbers are used to generate scale\n\n domain = _range(0, len);\n } else if (!allowDuplicatedCategory) {\n // remove duplicated category\n domain = parseDomainOfCategoryAxis(child.props.domain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n }\n } else if (type === 'category') {\n // the field type is category data and this axis is numerical axis\n if (!allowDuplicatedCategory) {\n domain = parseDomainOfCategoryAxis(child.props.domain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 || entry === '' || _isNil(entry) ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n } else {\n // eliminate undefined or null or empty string\n domain = domain.filter(function (entry) {\n return entry !== '' && !_isNil(entry);\n });\n }\n } else if (type === 'number') {\n // the field type is numerical\n var errorBarsDomain = parseErrorBarsOfAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), dataKey, axisType);\n\n if (errorBarsDomain) {\n domain = errorBarsDomain;\n }\n }\n\n if (isCategorical && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n } else if (isCategorical) {\n // the axis is a categorical axis\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack && type === 'number') {\n // when stackOffset is 'expand', the domain may be calculated as [0, 1.000000000002]\n domain = stackOffset === 'expand' ? [0, 1] : getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n } else {\n domain = getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), type, true);\n }\n\n if (type === 'number') {\n // To detect wether there is any reference lines whose props alwaysShow is true\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType, ticks);\n\n if (child.props.domain) {\n domain = parseSpecifiedDomain(child.props.domain, domain, allowDataOverflow);\n }\n } else if (type === 'category' && child.props.domain) {\n var axisDomain = child.props.domain;\n var isDomainValidate = domain.every(function (entry) {\n return axisDomain.indexOf(entry) >= 0;\n });\n\n if (isDomainValidate) {\n domain = axisDomain;\n }\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({}, child.props), {}, {\n axisType: axisType,\n domain: domain,\n categoricalDomain: categoricalDomain,\n duplicateDomain: duplicateDomain,\n originalDomain: child.props.domain,\n isCategorical: isCategorical,\n layout: layout\n })));\n }\n\n return result;\n }, {});\n return axisMap;\n};\n/**\n * Get the configuration of axis by the options of item,\n * this kind of axis does not display in chart\n * @param {Object} props Latest props\n * @param {Array} graphicalItems The instances of item\n * @param {ReactElement} Axis Axis Component\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n\nvar getAxisMapByItems = function getAxisMapByItems(props, _ref3) {\n var graphicalItems = _ref3.graphicalItems,\n Axis = _ref3.Axis,\n axisType = _ref3.axisType,\n axisIdKey = _ref3.axisIdKey,\n stackGroups = _ref3.stackGroups,\n dataStartIndex = _ref3.dataStartIndex,\n dataEndIndex = _ref3.dataEndIndex;\n var layout = props.layout,\n children = props.children;\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var isCategorical = isCategoricalAxis(layout, axisType);\n var index = -1; // The default type of x-axis is category axis,\n // The default contents of x-axis is the serial numbers of data\n // The default type of y-axis is number axis\n // The default contents of y-axis is the domain of data\n\n var axisMap = graphicalItems.reduce(function (result, child) {\n var axisId = child.props[axisIdKey];\n\n if (!result[axisId]) {\n index++;\n var domain;\n\n if (isCategorical) {\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack) {\n domain = getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n } else {\n domain = parseSpecifiedDomain(Axis.defaultProps.domain, getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), 'number'), Axis.defaultProps.allowDataOverflow);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({\n axisType: axisType\n }, Axis.defaultProps), {}, {\n hide: true,\n orientation: _get(ORIENT_MAP, \"\".concat(axisType, \".\").concat(index % 2), null),\n domain: domain,\n originalDomain: Axis.defaultProps.domain,\n isCategorical: isCategorical,\n layout: layout // specify scale when no Axis\n // scale: isCategorical ? 'band' : 'linear',\n\n })));\n }\n\n return result;\n }, {});\n return axisMap;\n};\n/**\n * Get the configuration of all x-axis or y-axis\n * @param {Object} props Latest props\n * @param {String} axisType The type of axis\n * @param {Array} graphicalItems The instances of item\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n\nvar getAxisMap = function getAxisMap(props, _ref4) {\n var _ref4$axisType = _ref4.axisType,\n axisType = _ref4$axisType === void 0 ? 'xAxis' : _ref4$axisType,\n AxisComp = _ref4.AxisComp,\n graphicalItems = _ref4.graphicalItems,\n stackGroups = _ref4.stackGroups,\n dataStartIndex = _ref4.dataStartIndex,\n dataEndIndex = _ref4.dataEndIndex;\n var children = props.children;\n var axisIdKey = \"\".concat(axisType, \"Id\"); // Get all the instance of Axis\n\n var axes = findAllByType(children, AxisComp);\n var axisMap = {};\n\n if (axes && axes.length) {\n axisMap = getAxisMapByAxes(props, {\n axes: axes,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n } else if (graphicalItems && graphicalItems.length) {\n axisMap = getAxisMapByItems(props, {\n Axis: AxisComp,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n }\n\n return axisMap;\n};\n\nvar tooltipTicksGenerator = function tooltipTicksGenerator(axisMap) {\n var axis = getAnyElementOfObject(axisMap);\n var tooltipTicks = getTicksOfAxis(axis, false, true);\n return {\n tooltipTicks: tooltipTicks,\n orderedTooltipTicks: _sortBy(tooltipTicks, function (o) {\n return o.coordinate;\n }),\n tooltipAxis: axis,\n tooltipAxisBandSize: getBandSizeOfAxis(axis, tooltipTicks)\n };\n};\n/**\n * Returns default, reset state for the categorical chart.\n * @param {Object} props Props object to use when creating the default state\n * @return {Object} Whole new state\n */\n\n\nvar createDefaultState = function createDefaultState(props) {\n var children = props.children,\n defaultShowTooltip = props.defaultShowTooltip;\n var brushItem = findChildByType(children, Brush.displayName);\n var startIndex = brushItem && brushItem.props && brushItem.props.startIndex || 0;\n var endIndex = brushItem && brushItem.props && brushItem.props.endIndex || props.data && props.data.length - 1 || 0;\n return {\n chartX: 0,\n chartY: 0,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n activeTooltipIndex: -1,\n isTooltipActive: !_isNil(defaultShowTooltip) ? defaultShowTooltip : false\n };\n};\n\nvar hasGraphicalBarItem = function hasGraphicalBarItem(graphicalItems) {\n if (!graphicalItems || !graphicalItems.length) {\n return false;\n }\n\n return graphicalItems.some(function (item) {\n var name = getDisplayName(item && item.type);\n return name && name.indexOf('Bar') >= 0;\n });\n};\n\nvar getAxisNameByLayout = function getAxisNameByLayout(layout) {\n if (layout === 'horizontal') {\n return {\n numericAxisName: 'yAxis',\n cateAxisName: 'xAxis'\n };\n }\n\n if (layout === 'vertical') {\n return {\n numericAxisName: 'xAxis',\n cateAxisName: 'yAxis'\n };\n }\n\n if (layout === 'centric') {\n return {\n numericAxisName: 'radiusAxis',\n cateAxisName: 'angleAxis'\n };\n }\n\n return {\n numericAxisName: 'angleAxis',\n cateAxisName: 'radiusAxis'\n };\n};\n/**\n * Calculate the offset of main part in the svg element\n * @param {Object} props Latest props\n * graphicalItems The instances of item\n * xAxisMap The configuration of x-axis\n * yAxisMap The configuration of y-axis\n * @param {Object} prevLegendBBox the boundary box of legend\n * @return {Object} The offset of main part in the svg element\n */\n\n\nvar calculateOffset = function calculateOffset(_ref5, prevLegendBBox) {\n var props = _ref5.props,\n graphicalItems = _ref5.graphicalItems,\n _ref5$xAxisMap = _ref5.xAxisMap,\n xAxisMap = _ref5$xAxisMap === void 0 ? {} : _ref5$xAxisMap,\n _ref5$yAxisMap = _ref5.yAxisMap,\n yAxisMap = _ref5$yAxisMap === void 0 ? {} : _ref5$yAxisMap;\n var width = props.width,\n height = props.height,\n children = props.children;\n var margin = props.margin || {};\n var brushItem = findChildByType(children, Brush.displayName);\n var legendItem = findChildByType(children, Legend.displayName);\n var offsetH = Object.keys(yAxisMap).reduce(function (result, id) {\n var entry = yAxisMap[id];\n var orientation = entry.orientation;\n\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, result[orientation] + entry.width));\n }\n\n return result;\n }, {\n left: margin.left || 0,\n right: margin.right || 0\n });\n var offsetV = Object.keys(xAxisMap).reduce(function (result, id) {\n var entry = xAxisMap[id];\n var orientation = entry.orientation;\n\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, _get(result, \"\".concat(orientation)) + entry.height));\n }\n\n return result;\n }, {\n top: margin.top || 0,\n bottom: margin.bottom || 0\n });\n\n var offset = _objectSpread(_objectSpread({}, offsetV), offsetH);\n\n var brushBottom = offset.bottom;\n\n if (brushItem) {\n offset.bottom += brushItem.props.height || Brush.defaultProps.height;\n }\n\n if (legendItem && prevLegendBBox) {\n offset = appendOffsetOfLegend(offset, graphicalItems, props, prevLegendBBox);\n }\n\n return _objectSpread(_objectSpread({\n brushBottom: brushBottom\n }, offset), {}, {\n width: width - offset.left - offset.right,\n height: height - offset.top - offset.bottom\n });\n};\n\nexport var generateCategoricalChart = function generateCategoricalChart(_ref6) {\n var _class, _temp;\n\n var chartName = _ref6.chartName,\n GraphicalChild = _ref6.GraphicalChild,\n _ref6$defaultTooltipE = _ref6.defaultTooltipEventType,\n defaultTooltipEventType = _ref6$defaultTooltipE === void 0 ? 'axis' : _ref6$defaultTooltipE,\n _ref6$validateTooltip = _ref6.validateTooltipEventTypes,\n validateTooltipEventTypes = _ref6$validateTooltip === void 0 ? ['axis'] : _ref6$validateTooltip,\n axisComponents = _ref6.axisComponents,\n legendContent = _ref6.legendContent,\n formatAxisMap = _ref6.formatAxisMap,\n defaultProps = _ref6.defaultProps;\n\n var getFormatItems = function getFormatItems(props, currentState) {\n var graphicalItems = currentState.graphicalItems,\n stackGroups = currentState.stackGroups,\n offset = currentState.offset,\n updateId = currentState.updateId,\n dataStartIndex = currentState.dataStartIndex,\n dataEndIndex = currentState.dataEndIndex;\n var barSize = props.barSize,\n layout = props.layout,\n barGap = props.barGap,\n barCategoryGap = props.barCategoryGap,\n globalMaxBarSize = props.maxBarSize;\n\n var _getAxisNameByLayout = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout.numericAxisName,\n cateAxisName = _getAxisNameByLayout.cateAxisName;\n\n var hasBar = hasGraphicalBarItem(graphicalItems);\n var sizeList = hasBar && getBarSizeList({\n barSize: barSize,\n stackGroups: stackGroups\n });\n var formattedItems = [];\n graphicalItems.forEach(function (item, index) {\n var displayedData = getDisplayedData(props.data, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, item);\n var _item$props = item.props,\n dataKey = _item$props.dataKey,\n childMaxBarSize = _item$props.maxBarSize;\n var numericAxisId = item.props[\"\".concat(numericAxisName, \"Id\")];\n var cateAxisId = item.props[\"\".concat(cateAxisName, \"Id\")];\n var axisObj = axisComponents.reduce(function (result, entry) {\n var _objectSpread6;\n\n var axisMap = currentState[\"\".concat(entry.axisType, \"Map\")];\n var id = item.props[\"\".concat(entry.axisType, \"Id\")];\n var axis = axisMap && axisMap[id];\n return _objectSpread(_objectSpread({}, result), {}, (_objectSpread6 = {}, _defineProperty(_objectSpread6, entry.axisType, axis), _defineProperty(_objectSpread6, \"\".concat(entry.axisType, \"Ticks\"), getTicksOfAxis(axis)), _objectSpread6));\n }, {});\n var cateAxis = axisObj[cateAxisName];\n var cateTicks = axisObj[\"\".concat(cateAxisName, \"Ticks\")];\n var stackedData = stackGroups && stackGroups[numericAxisId] && stackGroups[numericAxisId].hasStack && getStackedDataOfItem(item, stackGroups[numericAxisId].stackGroups);\n var itemIsBar = getDisplayName(item.type).indexOf('Bar') >= 0;\n var bandSize = getBandSizeOfAxis(cateAxis, cateTicks);\n var barPosition = [];\n\n if (itemIsBar) {\n var _ref7, _getBandSizeOfAxis;\n\n // 如果是bar,计算bar的位置\n var maxBarSize = _isNil(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var barBandSize = (_ref7 = (_getBandSizeOfAxis = getBandSizeOfAxis(cateAxis, cateTicks, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref7 !== void 0 ? _ref7 : 0;\n barPosition = getBarPosition({\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n bandSize: barBandSize !== bandSize ? barBandSize : bandSize,\n sizeList: sizeList[cateAxisId],\n maxBarSize: maxBarSize\n });\n\n if (barBandSize !== bandSize) {\n barPosition = barPosition.map(function (pos) {\n return _objectSpread(_objectSpread({}, pos), {}, {\n position: _objectSpread(_objectSpread({}, pos.position), {}, {\n offset: pos.position.offset - barBandSize / 2\n })\n });\n });\n }\n }\n\n var composedFn = item && item.type && item.type.getComposedData;\n\n if (composedFn) {\n var _objectSpread7;\n\n formattedItems.push({\n props: _objectSpread(_objectSpread({}, composedFn(_objectSpread(_objectSpread({}, axisObj), {}, {\n displayedData: displayedData,\n props: props,\n dataKey: dataKey,\n item: item,\n bandSize: bandSize,\n barPosition: barPosition,\n offset: offset,\n stackedData: stackedData,\n layout: layout,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))), {}, (_objectSpread7 = {\n key: item.key || \"item-\".concat(index)\n }, _defineProperty(_objectSpread7, numericAxisName, axisObj[numericAxisName]), _defineProperty(_objectSpread7, cateAxisName, axisObj[cateAxisName]), _defineProperty(_objectSpread7, \"animationId\", updateId), _objectSpread7)),\n childIndex: parseChildIndex(item, props.children),\n item: item\n });\n }\n });\n return formattedItems;\n };\n /**\n * The AxisMaps are expensive to render on large data sets\n * so provide the ability to store them in state and only update them when necessary\n * they are dependent upon the start and end index of\n * the brush so it's important that this method is called _after_\n * the state is updated with any new start/end indices\n *\n * @param {Object} props The props object to be used for updating the axismaps\n * dataStartIndex: The start index of the data series when a brush is applied\n * dataEndIndex: The end index of the data series when a brush is applied\n * updateId: The update id\n * @param {Object} prevState Prev state\n * @return {Object} state New state to set\n */\n\n\n var updateStateOfAxisMapsOffsetAndStackGroups = function updateStateOfAxisMapsOffsetAndStackGroups(_ref8, prevState) {\n var props = _ref8.props,\n dataStartIndex = _ref8.dataStartIndex,\n dataEndIndex = _ref8.dataEndIndex,\n updateId = _ref8.updateId;\n\n if (!validateWidthHeight({\n props: props\n })) {\n return null;\n }\n\n var children = props.children,\n layout = props.layout,\n stackOffset = props.stackOffset,\n data = props.data,\n reverseStackOrder = props.reverseStackOrder;\n\n var _getAxisNameByLayout2 = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout2.numericAxisName,\n cateAxisName = _getAxisNameByLayout2.cateAxisName;\n\n var graphicalItems = findAllByType(children, GraphicalChild);\n var stackGroups = getStackGroupsByAxisId(data, graphicalItems, \"\".concat(numericAxisName, \"Id\"), \"\".concat(cateAxisName, \"Id\"), stackOffset, reverseStackOrder);\n var axisObj = axisComponents.reduce(function (result, entry) {\n var name = \"\".concat(entry.axisType, \"Map\");\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, name, getAxisMap(props, _objectSpread(_objectSpread({}, entry), {}, {\n graphicalItems: graphicalItems,\n stackGroups: entry.axisType === numericAxisName && stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))));\n }, {});\n var offset = calculateOffset(_objectSpread(_objectSpread({}, axisObj), {}, {\n props: props,\n graphicalItems: graphicalItems\n }), prevState === null || prevState === void 0 ? void 0 : prevState.legendBBox);\n Object.keys(axisObj).forEach(function (key) {\n axisObj[key] = formatAxisMap(props, axisObj[key], offset, key.replace('Map', ''), chartName);\n });\n var cateAxisMap = axisObj[\"\".concat(cateAxisName, \"Map\")];\n var ticksObj = tooltipTicksGenerator(cateAxisMap);\n var formattedGraphicalItems = getFormatItems(props, _objectSpread(_objectSpread({}, axisObj), {}, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId,\n graphicalItems: graphicalItems,\n stackGroups: stackGroups,\n offset: offset\n }));\n return _objectSpread(_objectSpread({\n formattedGraphicalItems: formattedGraphicalItems,\n graphicalItems: graphicalItems,\n offset: offset,\n stackGroups: stackGroups\n }, ticksObj), axisObj);\n };\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(CategoricalChartWrapper, _Component);\n\n var _super = _createSuper(CategoricalChartWrapper);\n\n // todo join specific chart propTypes\n function CategoricalChartWrapper(_props) {\n var _this;\n\n _classCallCheck(this, CategoricalChartWrapper);\n\n _this = _super.call(this, _props);\n _this.uniqueChartId = void 0;\n _this.clipPathId = void 0;\n _this.legendInstance = void 0;\n _this.deferId = void 0;\n _this.container = void 0;\n\n _this.clearDeferId = function () {\n if (!_isNil(_this.deferId) && deferClear) {\n deferClear(_this.deferId);\n }\n\n _this.deferId = null;\n };\n\n _this.handleLegendBBoxUpdate = function (box) {\n if (box) {\n var _this$state = _this.state,\n dataStartIndex = _this$state.dataStartIndex,\n dataEndIndex = _this$state.dataEndIndex,\n updateId = _this$state.updateId;\n\n _this.setState(_objectSpread({\n legendBBox: box\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, _objectSpread(_objectSpread({}, _this.state), {}, {\n legendBBox: box\n }))));\n }\n };\n\n _this.handleReceiveSyncEvent = function (cId, chartId, data) {\n var syncId = _this.props.syncId;\n\n if (syncId === cId && chartId !== _this.uniqueChartId) {\n _this.clearDeferId();\n\n _this.deferId = defer && defer(_this.applySyncEvent.bind(_assertThisInitialized(_this), data));\n }\n };\n\n _this.handleBrushChange = function (_ref9) {\n var startIndex = _ref9.startIndex,\n endIndex = _ref9.endIndex;\n\n // Only trigger changes if the extents of the brush have actually changed\n if (startIndex !== _this.state.dataStartIndex || endIndex !== _this.state.dataEndIndex) {\n var updateId = _this.state.updateId;\n\n _this.setState(function () {\n return _objectSpread({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n updateId: updateId\n }, _this.state));\n });\n\n _this.triggerSyncEvent({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n });\n }\n };\n\n _this.handleMouseEnter = function (e) {\n var onMouseEnter = _this.props.onMouseEnter;\n\n var mouse = _this.getMouseInfo(e);\n\n if (mouse) {\n var _nextState = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n\n _this.setState(_nextState);\n\n _this.triggerSyncEvent(_nextState);\n\n if (_isFunction(onMouseEnter)) {\n onMouseEnter(_nextState, e);\n }\n }\n };\n\n _this.triggeredAfterMouseMove = function (e) {\n var onMouseMove = _this.props.onMouseMove;\n\n var mouse = _this.getMouseInfo(e);\n\n var nextState = mouse ? _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n }) : {\n isTooltipActive: false\n };\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseMove)) {\n onMouseMove(nextState, e);\n }\n };\n\n _this.handleItemMouseEnter = function (el) {\n _this.setState(function () {\n return {\n isTooltipActive: true,\n activeItem: el,\n activePayload: el.tooltipPayload,\n activeCoordinate: el.tooltipPosition || {\n x: el.cx,\n y: el.cy\n }\n };\n });\n };\n\n _this.handleItemMouseLeave = function () {\n _this.setState(function () {\n return {\n isTooltipActive: false\n };\n });\n };\n\n _this.handleMouseMove = function (e) {\n if (e && _isFunction(e.persist)) {\n e.persist();\n }\n\n _this.triggeredAfterMouseMove(e);\n };\n\n _this.handleMouseLeave = function (e) {\n var onMouseLeave = _this.props.onMouseLeave;\n var nextState = {\n isTooltipActive: false\n };\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseLeave)) {\n onMouseLeave(nextState, e);\n }\n\n _this.cancelThrottledTriggerAfterMouseMove();\n };\n\n _this.handleOuterEvent = function (e) {\n var eventName = getReactEventByType(e);\n\n var event = _get(_this.props, \"\".concat(eventName));\n\n if (eventName && _isFunction(event)) {\n var mouse;\n\n if (/.*touch.*/i.test(eventName)) {\n mouse = _this.getMouseInfo(e.changedTouches[0]);\n } else {\n mouse = _this.getMouseInfo(e);\n }\n\n var handler = event;\n handler(mouse, e);\n }\n };\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n\n var mouse = _this.getMouseInfo(e);\n\n if (mouse) {\n var _nextState2 = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n\n _this.setState(_nextState2);\n\n _this.triggerSyncEvent(_nextState2);\n\n if (_isFunction(onClick)) {\n onClick(_nextState2, e);\n }\n }\n };\n\n _this.handleMouseDown = function (e) {\n var onMouseDown = _this.props.onMouseDown;\n\n if (_isFunction(onMouseDown)) {\n var _nextState3 = _this.getMouseInfo(e);\n\n onMouseDown(_nextState3, e);\n }\n };\n\n _this.handleMouseUp = function (e) {\n var onMouseUp = _this.props.onMouseUp;\n\n if (_isFunction(onMouseUp)) {\n var _nextState4 = _this.getMouseInfo(e);\n\n onMouseUp(_nextState4, e);\n }\n };\n\n _this.handleTouchMove = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseMove(e.changedTouches[0]);\n }\n };\n\n _this.handleTouchStart = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseDown(e.changedTouches[0]);\n }\n };\n\n _this.handleTouchEnd = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseUp(e.changedTouches[0]);\n }\n };\n\n _this.verticalCoordinatesGenerator = function (_ref10) {\n var xAxis = _ref10.xAxis,\n width = _ref10.width,\n height = _ref10.height,\n offset = _ref10.offset;\n return getCoordinatesOfGrid(CartesianAxis.getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), xAxis), {}, {\n ticks: getTicksOfAxis(xAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.left, offset.left + offset.width);\n };\n\n _this.horizontalCoordinatesGenerator = function (_ref11) {\n var yAxis = _ref11.yAxis,\n width = _ref11.width,\n height = _ref11.height,\n offset = _ref11.offset;\n return getCoordinatesOfGrid(CartesianAxis.getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), yAxis), {}, {\n ticks: getTicksOfAxis(yAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.top, offset.top + offset.height);\n };\n\n _this.axesTicksGenerator = function (axis) {\n return getTicksOfAxis(axis, true);\n };\n\n _this.renderCursor = function (element) {\n var _this$state2 = _this.state,\n isTooltipActive = _this$state2.isTooltipActive,\n activeCoordinate = _this$state2.activeCoordinate,\n activePayload = _this$state2.activePayload,\n offset = _this$state2.offset,\n activeTooltipIndex = _this$state2.activeTooltipIndex;\n\n var tooltipEventType = _this.getTooltipEventType();\n\n if (!element || !element.props.cursor || !isTooltipActive || !activeCoordinate || chartName !== 'ScatterChart' && tooltipEventType !== 'axis') {\n return null;\n }\n\n var layout = _this.props.layout;\n var restProps;\n var cursorComp = Curve;\n\n if (chartName === 'ScatterChart') {\n restProps = activeCoordinate;\n cursorComp = Cross;\n } else if (chartName === 'BarChart') {\n restProps = _this.getCursorRectangle();\n cursorComp = Rectangle;\n } else if (layout === 'radial') {\n var _this$getCursorPoints = _this.getCursorPoints(),\n cx = _this$getCursorPoints.cx,\n cy = _this$getCursorPoints.cy,\n radius = _this$getCursorPoints.radius,\n startAngle = _this$getCursorPoints.startAngle,\n endAngle = _this$getCursorPoints.endAngle;\n\n restProps = {\n cx: cx,\n cy: cy,\n startAngle: startAngle,\n endAngle: endAngle,\n innerRadius: radius,\n outerRadius: radius\n };\n cursorComp = Sector;\n } else {\n restProps = {\n points: _this.getCursorPoints()\n };\n cursorComp = Curve;\n }\n\n var key = element.key || '_recharts-cursor';\n\n var cursorProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n stroke: '#ccc',\n pointerEvents: 'none'\n }, offset), restProps), filterProps(element.props.cursor)), {}, {\n payload: activePayload,\n payloadIndex: activeTooltipIndex,\n key: key,\n className: 'recharts-tooltip-cursor'\n });\n\n return /*#__PURE__*/isValidElement(element.props.cursor) ? /*#__PURE__*/cloneElement(element.props.cursor, cursorProps) : /*#__PURE__*/createElement(cursorComp, cursorProps);\n };\n\n _this.renderPolarAxis = function (element, displayName, index) {\n var axisType = _get(element, 'type.axisType');\n\n var axisMap = _get(_this.state, \"\".concat(axisType, \"Map\"));\n\n var axisOption = axisMap[element.props[\"\".concat(axisType, \"Id\")]];\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, axisOption), {}, {\n className: axisType,\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n ticks: getTicksOfAxis(axisOption, true)\n }));\n };\n\n _this.renderXAxis = function (element, displayName, index) {\n var xAxisMap = _this.state.xAxisMap;\n var axisObj = xAxisMap[element.props.xAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n };\n\n _this.renderYAxis = function (element, displayName, index) {\n var yAxisMap = _this.state.yAxisMap;\n var axisObj = yAxisMap[element.props.yAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n };\n\n _this.renderGrid = function (element) {\n var _this$state3 = _this.state,\n xAxisMap = _this$state3.xAxisMap,\n yAxisMap = _this$state3.yAxisMap,\n offset = _this$state3.offset;\n var _this$props = _this.props,\n width = _this$props.width,\n height = _this$props.height;\n var xAxis = getAnyElementOfObject(xAxisMap);\n\n var yAxisWithFiniteDomain = _find(yAxisMap, function (axis) {\n return _every(axis.domain, isFinit);\n });\n\n var yAxis = yAxisWithFiniteDomain || getAnyElementOfObject(yAxisMap);\n var props = element.props || {};\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || 'grid',\n x: isNumber(props.x) ? props.x : offset.left,\n y: isNumber(props.y) ? props.y : offset.top,\n width: isNumber(props.width) ? props.width : offset.width,\n height: isNumber(props.height) ? props.height : offset.height,\n xAxis: xAxis,\n yAxis: yAxis,\n offset: offset,\n chartWidth: width,\n chartHeight: height,\n verticalCoordinatesGenerator: props.verticalCoordinatesGenerator || _this.verticalCoordinatesGenerator,\n horizontalCoordinatesGenerator: props.horizontalCoordinatesGenerator || _this.horizontalCoordinatesGenerator\n });\n };\n\n _this.renderPolarGrid = function (element) {\n var _element$props = element.props,\n radialLines = _element$props.radialLines,\n polarAngles = _element$props.polarAngles,\n polarRadius = _element$props.polarRadius;\n var _this$state4 = _this.state,\n radiusAxisMap = _this$state4.radiusAxisMap,\n angleAxisMap = _this$state4.angleAxisMap;\n var radiusAxis = getAnyElementOfObject(radiusAxisMap);\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n var cx = angleAxis.cx,\n cy = angleAxis.cy,\n innerRadius = angleAxis.innerRadius,\n outerRadius = angleAxis.outerRadius;\n return /*#__PURE__*/cloneElement(element, {\n polarAngles: _isArray(polarAngles) ? polarAngles : getTicksOfAxis(angleAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n polarRadius: _isArray(polarRadius) ? polarRadius : getTicksOfAxis(radiusAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n key: element.key || 'polar-grid',\n radialLines: radialLines\n });\n };\n\n _this.renderLegend = function () {\n var formattedGraphicalItems = _this.state.formattedGraphicalItems;\n var _this$props2 = _this.props,\n children = _this$props2.children,\n width = _this$props2.width,\n height = _this$props2.height;\n var margin = _this.props.margin || {};\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var props = getLegendProps({\n children: children,\n formattedGraphicalItems: formattedGraphicalItems,\n legendWidth: legendWidth,\n legendContent: legendContent\n });\n\n if (!props) {\n return null;\n }\n\n var item = props.item,\n otherProps = _objectWithoutProperties(props, [\"item\"]);\n\n return /*#__PURE__*/cloneElement(item, _objectSpread(_objectSpread({}, otherProps), {}, {\n chartWidth: width,\n chartHeight: height,\n margin: margin,\n ref: function ref(legend) {\n _this.legendInstance = legend;\n },\n onBBoxUpdate: _this.handleLegendBBoxUpdate\n }));\n };\n\n _this.renderTooltip = function () {\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip.displayName);\n\n if (!tooltipItem) {\n return null;\n }\n\n var _this$state5 = _this.state,\n isTooltipActive = _this$state5.isTooltipActive,\n activeCoordinate = _this$state5.activeCoordinate,\n activePayload = _this$state5.activePayload,\n activeLabel = _this$state5.activeLabel,\n offset = _this$state5.offset;\n return /*#__PURE__*/cloneElement(tooltipItem, {\n viewBox: _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n }),\n active: isTooltipActive,\n label: activeLabel,\n payload: isTooltipActive ? activePayload : [],\n coordinate: activeCoordinate\n });\n };\n\n _this.renderBrush = function (element) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n data = _this$props3.data;\n var _this$state6 = _this.state,\n offset = _this$state6.offset,\n dataStartIndex = _this$state6.dataStartIndex,\n dataEndIndex = _this$state6.dataEndIndex,\n updateId = _this$state6.updateId; // TODO: update brush when children update\n\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || '_recharts-brush',\n onChange: combineEventHandlers(_this.handleBrushChange, null, element.props.onChange),\n data: data,\n x: isNumber(element.props.x) ? element.props.x : offset.left,\n y: isNumber(element.props.y) ? element.props.y : offset.top + offset.height + offset.brushBottom - (margin.bottom || 0),\n width: isNumber(element.props.width) ? element.props.width : offset.width,\n startIndex: dataStartIndex,\n endIndex: dataEndIndex,\n updateId: \"brush-\".concat(updateId)\n });\n };\n\n _this.renderReferenceElement = function (element, displayName, index) {\n if (!element) {\n return null;\n }\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n clipPathId = _assertThisInitialize.clipPathId;\n\n var _this$state7 = _this.state,\n xAxisMap = _this$state7.xAxisMap,\n yAxisMap = _this$state7.yAxisMap,\n offset = _this$state7.offset;\n var _element$props2 = element.props,\n xAxisId = _element$props2.xAxisId,\n yAxisId = _element$props2.yAxisId;\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n xAxis: xAxisMap[xAxisId],\n yAxis: yAxisMap[yAxisId],\n viewBox: {\n x: offset.left,\n y: offset.top,\n width: offset.width,\n height: offset.height\n },\n clipPathId: clipPathId\n });\n };\n\n _this.renderActivePoints = function (_ref12) {\n var item = _ref12.item,\n activePoint = _ref12.activePoint,\n basePoint = _ref12.basePoint,\n childIndex = _ref12.childIndex,\n isRange = _ref12.isRange;\n var result = [];\n var key = item.props.key;\n var _item$item$props = item.item.props,\n activeDot = _item$item$props.activeDot,\n dataKey = _item$item$props.dataKey;\n\n var dotProps = _objectSpread(_objectSpread({\n index: childIndex,\n dataKey: dataKey,\n cx: activePoint.x,\n cy: activePoint.y,\n r: 4,\n fill: getMainColorOfGraphicItem(item.item),\n strokeWidth: 2,\n stroke: '#fff',\n payload: activePoint.payload,\n value: activePoint.value,\n key: \"\".concat(key, \"-activePoint-\").concat(childIndex)\n }, filterProps(activeDot)), adaptEventHandlers(activeDot));\n\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, dotProps));\n\n if (basePoint) {\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, _objectSpread(_objectSpread({}, dotProps), {}, {\n cx: basePoint.x,\n cy: basePoint.y,\n key: \"\".concat(key, \"-basePoint-\").concat(childIndex)\n })));\n } else if (isRange) {\n result.push(null);\n }\n\n return result;\n };\n\n _this.renderGraphicChild = function (element, displayName, index) {\n var item = _this.filterFormatItem(element, displayName, index);\n\n if (!item) {\n return null;\n }\n\n var tooltipEventType = _this.getTooltipEventType();\n\n var _this$state8 = _this.state,\n isTooltipActive = _this$state8.isTooltipActive,\n tooltipAxis = _this$state8.tooltipAxis,\n activeTooltipIndex = _this$state8.activeTooltipIndex,\n activeLabel = _this$state8.activeLabel;\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip.displayName);\n var _item$props2 = item.props,\n points = _item$props2.points,\n isRange = _item$props2.isRange,\n baseLine = _item$props2.baseLine;\n var _item$item$props2 = item.item.props,\n activeDot = _item$item$props2.activeDot,\n hide = _item$item$props2.hide;\n var hasActive = !hide && isTooltipActive && tooltipItem && activeDot && activeTooltipIndex >= 0;\n var itemEvents = {};\n\n if (tooltipEventType !== 'axis' && tooltipItem && tooltipItem.props.trigger === 'click') {\n itemEvents = {\n onClick: combineEventHandlers(_this.handleItemMouseEnter, null, element.props.onCLick)\n };\n } else if (tooltipEventType !== 'axis') {\n itemEvents = {\n onMouseLeave: combineEventHandlers(_this.handleItemMouseLeave, null, element.props.onMouseLeave),\n onMouseEnter: combineEventHandlers(_this.handleItemMouseEnter, null, element.props.onMouseEnter)\n };\n }\n\n var graphicalItem = /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, item.props), itemEvents));\n\n function findWithPayload(entry) {\n // TODO needs to verify dataKey is Function\n return typeof tooltipAxis.dataKey === 'function' ? tooltipAxis.dataKey(entry.payload) : null;\n }\n\n if (hasActive) {\n var activePoint, basePoint;\n\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // number transform to string\n var specifiedKey = typeof tooltipAxis.dataKey === 'function' ? findWithPayload : 'payload.'.concat(tooltipAxis.dataKey.toString());\n activePoint = findEntryInArray(points, specifiedKey, activeLabel);\n basePoint = isRange && baseLine && findEntryInArray(baseLine, specifiedKey, activeLabel);\n } else {\n activePoint = points[activeTooltipIndex];\n basePoint = isRange && baseLine && baseLine[activeTooltipIndex];\n }\n\n if (!_isNil(activePoint)) {\n return [graphicalItem].concat(_toConsumableArray(_this.renderActivePoints({\n item: item,\n activePoint: activePoint,\n basePoint: basePoint,\n childIndex: activeTooltipIndex,\n isRange: isRange\n })));\n }\n }\n\n if (isRange) {\n return [graphicalItem, null, null];\n }\n\n return [graphicalItem, null];\n };\n\n _this.renderCustomized = function (element, displayName, index) {\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({\n key: \"recharts-customized-\".concat(index)\n }, _this.props), _this.state));\n };\n\n _this.uniqueChartId = _isNil(_props.id) ? uniqueId('recharts') : _props.id;\n _this.clipPathId = \"\".concat(_this.uniqueChartId, \"-clip\");\n\n if (_props.throttleDelay) {\n _this.triggeredAfterMouseMove = _throttle(_this.triggeredAfterMouseMove, _props.throttleDelay);\n }\n\n _this.state = {};\n return _this;\n }\n /* eslint-disable react/no-did-mount-set-state */\n\n\n _createClass(CategoricalChartWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_isNil(this.props.syncId)) {\n this.addListener();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // add syncId\n if (_isNil(prevProps.syncId) && !_isNil(this.props.syncId)) {\n this.addListener();\n } // remove syncId\n\n\n if (!_isNil(prevProps.syncId) && _isNil(this.props.syncId)) {\n this.removeListener();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDeferId();\n\n if (!_isNil(this.props.syncId)) {\n this.removeListener();\n }\n\n this.cancelThrottledTriggerAfterMouseMove();\n }\n }, {\n key: \"cancelThrottledTriggerAfterMouseMove\",\n value: function cancelThrottledTriggerAfterMouseMove() {\n if (typeof this.triggeredAfterMouseMove.cancel === 'function') {\n this.triggeredAfterMouseMove.cancel();\n }\n }\n }, {\n key: \"getTooltipEventType\",\n value: function getTooltipEventType() {\n var tooltipItem = findChildByType(this.props.children, Tooltip.displayName);\n\n if (tooltipItem && _isBoolean(tooltipItem.props.shared)) {\n var eventType = tooltipItem.props.shared ? 'axis' : 'item';\n return validateTooltipEventTypes.indexOf(eventType) >= 0 ? eventType : defaultTooltipEventType;\n }\n\n return defaultTooltipEventType;\n }\n /**\n * Get the information of mouse in chart, return null when the mouse is not in the chart\n * @param {Object} event The event object\n * @return {Object} Mouse data\n */\n\n }, {\n key: \"getMouseInfo\",\n value: function getMouseInfo(event) {\n if (!this.container) {\n return null;\n }\n\n var containerOffset = getOffset(this.container);\n var e = calculateChartCoordinate(event, containerOffset);\n var rangeObj = this.inRange(e.chartX, e.chartY);\n\n if (!rangeObj) {\n return null;\n }\n\n var _this$state9 = this.state,\n xAxisMap = _this$state9.xAxisMap,\n yAxisMap = _this$state9.yAxisMap;\n var tooltipEventType = this.getTooltipEventType();\n\n if (tooltipEventType !== 'axis' && xAxisMap && yAxisMap) {\n var xScale = getAnyElementOfObject(xAxisMap).scale;\n var yScale = getAnyElementOfObject(yAxisMap).scale;\n var xValue = xScale && xScale.invert ? xScale.invert(e.chartX) : null;\n var yValue = yScale && yScale.invert ? yScale.invert(e.chartY) : null;\n return _objectSpread(_objectSpread({}, e), {}, {\n xValue: xValue,\n yValue: yValue\n });\n }\n\n var toolTipData = getTooltipData(this.state, this.props.data, this.props.layout, rangeObj);\n\n if (toolTipData) {\n return _objectSpread(_objectSpread({}, e), toolTipData);\n }\n\n return null;\n }\n }, {\n key: \"getCursorRectangle\",\n value: function getCursorRectangle() {\n var layout = this.props.layout;\n var _this$state10 = this.state,\n activeCoordinate = _this$state10.activeCoordinate,\n offset = _this$state10.offset,\n tooltipAxisBandSize = _this$state10.tooltipAxisBandSize;\n var halfSize = tooltipAxisBandSize / 2;\n return {\n stroke: 'none',\n fill: '#ccc',\n x: layout === 'horizontal' ? activeCoordinate.x - halfSize : offset.left + 0.5,\n y: layout === 'horizontal' ? offset.top + 0.5 : activeCoordinate.y - halfSize,\n width: layout === 'horizontal' ? tooltipAxisBandSize : offset.width - 1,\n height: layout === 'horizontal' ? offset.height - 1 : tooltipAxisBandSize\n };\n }\n }, {\n key: \"getCursorPoints\",\n value: function getCursorPoints() {\n var layout = this.props.layout;\n var _this$state11 = this.state,\n activeCoordinate = _this$state11.activeCoordinate,\n offset = _this$state11.offset;\n var x1, y1, x2, y2;\n\n if (layout === 'horizontal') {\n x1 = activeCoordinate.x;\n x2 = x1;\n y1 = offset.top;\n y2 = offset.top + offset.height;\n } else if (layout === 'vertical') {\n y1 = activeCoordinate.y;\n y2 = y1;\n x1 = offset.left;\n x2 = offset.left + offset.width;\n } else if (!_isNil(activeCoordinate.cx) || !_isNil(activeCoordinate.cy)) {\n if (layout === 'centric') {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n innerRadius = activeCoordinate.innerRadius,\n outerRadius = activeCoordinate.outerRadius,\n angle = activeCoordinate.angle;\n var innerPoint = polarToCartesian(cx, cy, innerRadius, angle);\n var outerPoint = polarToCartesian(cx, cy, outerRadius, angle);\n x1 = innerPoint.x;\n y1 = innerPoint.y;\n x2 = outerPoint.x;\n y2 = outerPoint.y;\n } else {\n var _cx = activeCoordinate.cx,\n _cy = activeCoordinate.cy,\n radius = activeCoordinate.radius,\n startAngle = activeCoordinate.startAngle,\n endAngle = activeCoordinate.endAngle;\n var startPoint = polarToCartesian(_cx, _cy, radius, startAngle);\n var endPoint = polarToCartesian(_cx, _cy, radius, endAngle);\n return {\n points: [startPoint, endPoint],\n cx: _cx,\n cy: _cy,\n radius: radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n }\n }\n\n return [{\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }];\n }\n }, {\n key: \"inRange\",\n value: function inRange(x, y) {\n var layout = this.props.layout;\n\n if (layout === 'horizontal' || layout === 'vertical') {\n var offset = this.state.offset;\n var isInRange = x >= offset.left && x <= offset.left + offset.width && y >= offset.top && y <= offset.top + offset.height;\n return isInRange ? {\n x: x,\n y: y\n } : null;\n }\n\n var _this$state12 = this.state,\n angleAxisMap = _this$state12.angleAxisMap,\n radiusAxisMap = _this$state12.radiusAxisMap;\n\n if (angleAxisMap && radiusAxisMap) {\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n return inRangeOfSector({\n x: x,\n y: y\n }, angleAxis);\n }\n\n return null;\n }\n }, {\n key: \"parseEventsOfWrapper\",\n value: function parseEventsOfWrapper() {\n var children = this.props.children;\n var tooltipEventType = this.getTooltipEventType();\n var tooltipItem = findChildByType(children, Tooltip.displayName);\n var tooltipEvents = {};\n\n if (tooltipItem && tooltipEventType === 'axis') {\n if (tooltipItem.props.trigger === 'click') {\n tooltipEvents = {\n onClick: this.handleClick\n };\n } else {\n tooltipEvents = {\n onMouseEnter: this.handleMouseEnter,\n onMouseMove: this.handleMouseMove,\n onMouseLeave: this.handleMouseLeave,\n onTouchMove: this.handleTouchMove,\n onTouchStart: this.handleTouchStart,\n onTouchEnd: this.handleTouchEnd\n };\n }\n }\n\n var outerEvents = adaptEventHandlers(this.props, this.handleOuterEvent);\n return _objectSpread(_objectSpread({}, outerEvents), tooltipEvents);\n }\n /* eslint-disable no-underscore-dangle */\n\n }, {\n key: \"addListener\",\n value: function addListener() {\n eventCenter.on(SYNC_EVENT, this.handleReceiveSyncEvent);\n\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners + 1);\n }\n }\n }, {\n key: \"removeListener\",\n value: function removeListener() {\n eventCenter.removeListener(SYNC_EVENT, this.handleReceiveSyncEvent);\n\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners - 1);\n }\n }\n }, {\n key: \"triggerSyncEvent\",\n value: function triggerSyncEvent(data) {\n var syncId = this.props.syncId;\n\n if (!_isNil(syncId)) {\n eventCenter.emit(SYNC_EVENT, syncId, this.uniqueChartId, data);\n }\n }\n }, {\n key: \"applySyncEvent\",\n value: function applySyncEvent(data) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n syncMethod = _this$props4.syncMethod;\n var updateId = this.state.updateId;\n var dataStartIndex = data.dataStartIndex,\n dataEndIndex = data.dataEndIndex;\n\n if (!_isNil(data.dataStartIndex) || !_isNil(data.dataEndIndex)) {\n this.setState(_objectSpread({\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, this.state)));\n } else if (!_isNil(data.activeTooltipIndex)) {\n var chartX = data.chartX,\n chartY = data.chartY;\n var activeTooltipIndex = data.activeTooltipIndex;\n var _this$state13 = this.state,\n offset = _this$state13.offset,\n tooltipTicks = _this$state13.tooltipTicks;\n\n if (!offset) {\n return;\n }\n\n if (typeof syncMethod === 'function') {\n // Call a callback function. If there is an application specific algorithm\n activeTooltipIndex = syncMethod(tooltipTicks, data);\n } else if (syncMethod === 'value') {\n // Set activeTooltipIndex to the index with the same value as data.activeLabel\n // For loop instead of findIndex because the latter is very slow in some browsers\n activeTooltipIndex = -1; // in case we cannot find the element\n\n for (var i = 0; i < tooltipTicks.length; i++) {\n if (tooltipTicks[i].value === data.activeLabel) {\n activeTooltipIndex = i;\n break;\n }\n }\n }\n\n var viewBox = _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n }); // When a categotical chart is combined with another chart, the value of chartX\n // and chartY may beyond the boundaries.\n\n\n var validateChartX = Math.min(chartX, viewBox.x + viewBox.width);\n var validateChartY = Math.min(chartY, viewBox.y + viewBox.height);\n var activeLabel = tooltipTicks[activeTooltipIndex] && tooltipTicks[activeTooltipIndex].value;\n var activePayload = getTooltipContent(this.state, this.props.data, activeTooltipIndex);\n var activeCoordinate = tooltipTicks[activeTooltipIndex] ? {\n x: layout === 'horizontal' ? tooltipTicks[activeTooltipIndex].coordinate : validateChartX,\n y: layout === 'horizontal' ? validateChartY : tooltipTicks[activeTooltipIndex].coordinate\n } : originCoordinate;\n this.setState(_objectSpread(_objectSpread({}, data), {}, {\n activeLabel: activeLabel,\n activeCoordinate: activeCoordinate,\n activePayload: activePayload,\n activeTooltipIndex: activeTooltipIndex\n }));\n } else {\n this.setState(data);\n }\n }\n }, {\n key: \"filterFormatItem\",\n value: function filterFormatItem(item, displayName, childIndex) {\n var formattedGraphicalItems = this.state.formattedGraphicalItems;\n\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var entry = formattedGraphicalItems[i];\n\n if (entry.item === item || entry.props.key === item.key || displayName === getDisplayName(entry.item.type) && childIndex === entry.childIndex) {\n return entry;\n }\n }\n\n return null;\n }\n }, {\n key: \"renderAxis\",\n value:\n /**\n * Draw axis\n * @param {Object} axisOptions The options of axis\n * @param {Object} element The axis element\n * @param {String} displayName The display name of axis\n * @param {Number} index The index of element\n * @return {ReactElement} The instance of x-axes\n */\n function renderAxis(axisOptions, element, displayName, index) {\n var _this$props5 = this.props,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(CartesianAxis, _extends({}, axisOptions, {\n className: \"recharts-\".concat(axisOptions.axisType, \" \").concat(axisOptions.axisType),\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n ticksGenerator: this.axesTicksGenerator\n }));\n }\n /**\n * Draw grid\n * @param {ReactElement} element the grid item\n * @return {ReactElement} The instance of grid\n */\n\n }, {\n key: \"renderClipPath\",\n value: function renderClipPath() {\n var clipPathId = this.clipPathId;\n var _this$state$offset = this.state.offset,\n left = _this$state$offset.left,\n top = _this$state$offset.top,\n height = _this$state$offset.height,\n width = _this$state$offset.width;\n return /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n height: height,\n width: width\n })));\n }\n }, {\n key: \"getXScales\",\n value: function getXScales() {\n var xAxisMap = this.state.xAxisMap;\n return xAxisMap ? Object.entries(xAxisMap).reduce(function (res, _ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n axisId = _ref14[0],\n axisProps = _ref14[1];\n\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getYScales\",\n value: function getYScales() {\n var yAxisMap = this.state.yAxisMap;\n return yAxisMap ? Object.entries(yAxisMap).reduce(function (res, _ref15) {\n var _ref16 = _slicedToArray(_ref15, 2),\n axisId = _ref16[0],\n axisProps = _ref16[1];\n\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getXScaleByAxisId\",\n value: function getXScaleByAxisId(axisId) {\n var _this$state$xAxisMap, _this$state$xAxisMap$;\n\n return (_this$state$xAxisMap = this.state.xAxisMap) === null || _this$state$xAxisMap === void 0 ? void 0 : (_this$state$xAxisMap$ = _this$state$xAxisMap[axisId]) === null || _this$state$xAxisMap$ === void 0 ? void 0 : _this$state$xAxisMap$.scale;\n }\n }, {\n key: \"getYScaleByAxisId\",\n value: function getYScaleByAxisId(axisId) {\n var _this$state$yAxisMap, _this$state$yAxisMap$;\n\n return (_this$state$yAxisMap = this.state.yAxisMap) === null || _this$state$yAxisMap === void 0 ? void 0 : (_this$state$yAxisMap$ = _this$state$yAxisMap[axisId]) === null || _this$state$yAxisMap$ === void 0 ? void 0 : _this$state$yAxisMap$.scale;\n }\n }, {\n key: \"getItemByXY\",\n value: function getItemByXY(chartXY) {\n var formattedGraphicalItems = this.state.formattedGraphicalItems;\n\n if (formattedGraphicalItems && formattedGraphicalItems.length) {\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var graphicalItem = formattedGraphicalItems[i];\n var props = graphicalItem.props,\n item = graphicalItem.item;\n var itemDisplayName = getDisplayName(item.type);\n\n if (itemDisplayName === 'Bar') {\n var activeBarItem = (props.data || []).find(function (entry) {\n return isInRectangle(chartXY, entry);\n });\n\n if (activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: activeBarItem\n };\n }\n } else if (itemDisplayName === 'RadialBar') {\n var _activeBarItem = (props.data || []).find(function (entry) {\n return inRangeOfSector(chartXY, entry);\n });\n\n if (_activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: _activeBarItem\n };\n }\n }\n }\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n if (!validateWidthHeight(this)) {\n return null;\n }\n\n var _this$props6 = this.props,\n children = _this$props6.children,\n className = _this$props6.className,\n width = _this$props6.width,\n height = _this$props6.height,\n style = _this$props6.style,\n compact = _this$props6.compact,\n others = _objectWithoutProperties(_this$props6, [\"children\", \"className\", \"width\", \"height\", \"style\", \"compact\"]);\n\n var attrs = filterProps(others);\n var map = {\n CartesianGrid: {\n handler: this.renderGrid,\n once: true\n },\n ReferenceArea: {\n handler: this.renderReferenceElement\n },\n ReferenceLine: {\n handler: this.renderReferenceElement\n },\n ReferenceDot: {\n handler: this.renderReferenceElement\n },\n XAxis: {\n handler: this.renderXAxis\n },\n YAxis: {\n handler: this.renderYAxis\n },\n Brush: {\n handler: this.renderBrush,\n once: true\n },\n Bar: {\n handler: this.renderGraphicChild\n },\n Line: {\n handler: this.renderGraphicChild\n },\n Area: {\n handler: this.renderGraphicChild\n },\n Radar: {\n handler: this.renderGraphicChild\n },\n RadialBar: {\n handler: this.renderGraphicChild\n },\n Scatter: {\n handler: this.renderGraphicChild\n },\n Pie: {\n handler: this.renderGraphicChild\n },\n Funnel: {\n handler: this.renderGraphicChild\n },\n Tooltip: {\n handler: this.renderCursor,\n once: true\n },\n PolarGrid: {\n handler: this.renderPolarGrid,\n once: true\n },\n PolarAngleAxis: {\n handler: this.renderPolarAxis\n },\n PolarRadiusAxis: {\n handler: this.renderPolarAxis\n },\n Customized: {\n handler: this.renderCustomized\n }\n }; // The \"compact\" mode is mainly used as the panorama within Brush\n\n if (compact) {\n return /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height\n }), this.renderClipPath(), renderByOrder(children, map));\n }\n\n var events = this.parseEventsOfWrapper();\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames('recharts-wrapper', className),\n style: _objectSpread({\n position: 'relative',\n cursor: 'default',\n width: width,\n height: height\n }, style)\n }, events, {\n ref: function ref(node) {\n _this2.container = node;\n }\n }), /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height\n }), this.renderClipPath(), renderByOrder(children, map)), this.renderLegend(), this.renderTooltip());\n }\n }]);\n\n return CategoricalChartWrapper;\n }(Component), _class.displayName = chartName, _class.defaultProps = _objectSpread({\n layout: 'horizontal',\n stackOffset: 'none',\n barCategoryGap: '10%',\n barGap: 4,\n margin: {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n },\n reverseStackOrder: false,\n syncMethod: 'index'\n }, defaultProps), _class.getDerivedStateFromProps = function (nextProps, prevState) {\n var data = nextProps.data,\n children = nextProps.children,\n width = nextProps.width,\n height = nextProps.height,\n layout = nextProps.layout,\n stackOffset = nextProps.stackOffset,\n margin = nextProps.margin;\n\n if (_isNil(prevState.updateId)) {\n var defaultState = createDefaultState(nextProps);\n return _objectSpread(_objectSpread(_objectSpread({}, defaultState), {}, {\n updateId: 0\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, defaultState), {}, {\n updateId: 0\n }), prevState)), {}, {\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n\n if (data !== prevState.prevData || width !== prevState.prevWidth || height !== prevState.prevHeight || layout !== prevState.prevLayout || stackOffset !== prevState.prevStackOffset || !shallowEqual(margin, prevState.prevMargin)) {\n var _defaultState = createDefaultState(nextProps); // Fixes https://github.com/recharts/recharts/issues/2143\n\n\n var keepFromPrevState = {\n // (chartX, chartY) are (0,0) in default state, but we want to keep the last mouse position to avoid\n // any flickering\n chartX: prevState.chartX,\n chartY: prevState.chartY,\n // The tooltip should stay active when it was active in the previous render. If this is not\n // the case, the tooltip disappears and immediately re-appears, causing a flickering effect\n isTooltipActive: prevState.isTooltipActive\n };\n\n var updatesToState = _objectSpread(_objectSpread({}, getTooltipData(prevState, data, layout)), {}, {\n updateId: prevState.updateId + 1\n });\n\n var newState = _objectSpread(_objectSpread(_objectSpread({}, _defaultState), keepFromPrevState), updatesToState);\n\n return _objectSpread(_objectSpread(_objectSpread({}, newState), updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread({\n props: nextProps\n }, newState), prevState)), {}, {\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n\n if (!isChildrenEqual(children, prevState.prevChildren)) {\n // update configuration in chilren\n var hasGlobalData = !_isNil(data);\n var newUpdateId = hasGlobalData ? prevState.updateId : prevState.updateId + 1;\n return _objectSpread(_objectSpread({\n updateId: newUpdateId\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, prevState), {}, {\n updateId: newUpdateId\n }), prevState)), {}, {\n prevChildren: children\n });\n }\n\n return null;\n }, _class.renderActiveDot = function (option, props) {\n var dot;\n\n if ( /*#__PURE__*/isValidElement(option)) {\n dot = /*#__PURE__*/cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, props);\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-active-dot\",\n key: props.key\n }, dot);\n }, _temp;\n};","import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\nimport _last from \"lodash/last\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { cloneElement } from 'react';\nimport { Label } from './Label';\nimport { Layer } from '../container/Layer';\nimport { findAllByType } from '../util/ReactUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps } from '../util/types';\nvar defaultProps = {\n valueAccessor: function valueAccessor(entry) {\n return _isArray(entry.value) ? _last(entry.value) : entry.value;\n }\n};\nexport function LabelList(props) {\n var data = props.data,\n valueAccessor = props.valueAccessor,\n dataKey = props.dataKey,\n clockWise = props.clockWise,\n id = props.id,\n textBreakAll = props.textBreakAll,\n others = _objectWithoutProperties(props, [\"data\", \"valueAccessor\", \"dataKey\", \"clockWise\", \"id\", \"textBreakAll\"]);\n\n if (!data || !data.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-label-list\"\n }, data.map(function (entry, index) {\n var value = _isNil(dataKey) ? valueAccessor(entry, index) : getValueByDataKey(entry && entry.payload, dataKey);\n var idProps = _isNil(id) ? {} : {\n id: \"\".concat(id, \"-\").concat(index)\n };\n return /*#__PURE__*/React.createElement(Label, _extends({}, filterProps(entry, true), others, idProps, {\n parentViewBox: entry.parentViewBox,\n index: index,\n value: value,\n textBreakAll: textBreakAll,\n viewBox: Label.parseViewBox(_isNil(clockWise) ? entry : _objectSpread(_objectSpread({}, entry), {}, {\n clockWise: clockWise\n })),\n key: \"label-\".concat(index) // eslint-disable-line react/no-array-index-key\n\n }));\n }));\n}\nLabelList.displayName = 'LabelList';\n\nfunction parseLabelList(label, data) {\n if (!label) {\n return null;\n }\n\n if (label === true) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data\n });\n }\n\n if ( /*#__PURE__*/React.isValidElement(label) || _isFunction(label)) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data,\n content: label\n });\n }\n\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(LabelList, _extends({\n data: data\n }, label, {\n key: \"labelList-implicit\"\n }));\n }\n\n return null;\n}\n\nfunction renderCallByParent(parentProps, data) {\n var ckeckPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!parentProps || !parentProps.children && ckeckPropsLabel && !parentProps.label) {\n return null;\n }\n\n var children = parentProps.children;\n var explicitChilren = findAllByType(children, LabelList.displayName).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n data: data,\n key: \"labelList-\".concat(index)\n });\n });\n\n if (!ckeckPropsLabel) {\n return explicitChilren;\n }\n\n var implicitLabelList = parseLabelList(parentProps.label, data);\n return [implicitLabelList].concat(_toConsumableArray(explicitChilren));\n}\n\nLabelList.renderCallByParent = renderCallByParent;\nLabelList.defaultProps = defaultProps;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * @fileOverview Layer\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nexport function Layer(props) {\n var children = props.children,\n className = props.className,\n others = _objectWithoutProperties(props, [\"children\", \"className\"]);\n\n var layerClass = classNames('recharts-layer', className);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n className: layerClass\n }, filterProps(others, true)), children);\n}"],"sourceRoot":""}